@mndrk/agx 2.0.16 → 2.0.18

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 (182) hide show
  1. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/BUILD_ID +1 -1
  2. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/app-path-routes-manifest.json +1 -0
  3. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/build-manifest.json +2 -2
  4. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/prerender-manifest.json +3 -3
  5. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/routes-manifest.json +6 -0
  6. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/_global-error.html +2 -2
  7. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/_global-error.rsc +1 -1
  8. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  9. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  10. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  11. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  12. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  13. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/_not-found.html +2 -2
  14. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/_not-found.rsc +1 -1
  15. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/_not-found.segments/_full.segment.rsc +1 -1
  16. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  17. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/_not-found.segments/_index.segment.rsc +1 -1
  18. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  19. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  20. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
  21. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/agents.html +2 -2
  22. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/agents.rsc +1 -1
  23. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/agents.segments/_full.segment.rsc +1 -1
  24. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/agents.segments/_head.segment.rsc +1 -1
  25. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/agents.segments/_index.segment.rsc +1 -1
  26. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/agents.segments/_tree.segment.rsc +1 -1
  27. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/agents.segments/agents/__PAGE__.segment.rsc +1 -1
  28. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/agents.segments/agents.segment.rsc +1 -1
  29. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/chat/route.js +1 -1
  30. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/chat/route.js.nft.json +1 -1
  31. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/file-search/route.js.nft.json +1 -1
  32. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/health/route.js.nft.json +1 -1
  33. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/learnings/route.js.nft.json +1 -1
  34. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/logs/stream/route.js.nft.json +1 -1
  35. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/memories/route.js.nft.json +1 -1
  36. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/orchestrator/tasks/[taskId]/cancel/route.js.nft.json +1 -1
  37. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/orchestrator/tasks/[taskId]/signal/route.js.nft.json +1 -1
  38. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/orchestrator/tasks/[taskId]/start/route.js.nft.json +1 -1
  39. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/orchestrator/tasks/[taskId]/status/route.js.nft.json +1 -1
  40. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/participants/route.js.nft.json +1 -1
  41. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/processes/route/app-paths-manifest.json +3 -0
  42. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/processes/route/build-manifest.json +11 -0
  43. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/processes/route/server-reference-manifest.json +4 -0
  44. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/processes/route.js +8 -0
  45. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/processes/route.js.map +5 -0
  46. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/processes/route.js.nft.json +1 -0
  47. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/processes/route_client-reference-manifest.js +2 -0
  48. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/projects/[id]/migrate-v1/route.js.nft.json +1 -1
  49. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/projects/[id]/migrate-v2/route.js.nft.json +1 -1
  50. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/projects/[id]/route.js.nft.json +1 -1
  51. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/projects/route.js.nft.json +1 -1
  52. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/queue/complete/route.js.nft.json +1 -1
  53. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/queue/route.js.nft.json +1 -1
  54. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/comments/[commentId]/route.js.nft.json +1 -1
  55. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/comments/route.js.nft.json +1 -1
  56. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/costs/route.js.nft.json +1 -1
  57. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/dependencies/route.js.nft.json +1 -1
  58. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/events/route.js.nft.json +1 -1
  59. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/history/route.js.nft.json +1 -1
  60. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/metrics/route.js.nft.json +1 -1
  61. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/pause/route.js.nft.json +1 -1
  62. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/replan/route.js.nft.json +1 -1
  63. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/restart/route.js.nft.json +1 -1
  64. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/resume/route.js.nft.json +1 -1
  65. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/rollback/route.js.nft.json +1 -1
  66. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/route.js.nft.json +1 -1
  67. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/start/route.js.nft.json +1 -1
  68. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/stop/route.js.nft.json +1 -1
  69. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/heartbeat/route.js.nft.json +1 -1
  70. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/history/route.js.nft.json +1 -1
  71. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/logs/route.js.nft.json +1 -1
  72. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/logs/stream/route.js.nft.json +1 -1
  73. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/nodes/[nodeId]/comments/route.js.nft.json +1 -1
  74. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/nodes/[nodeId]/complete/route.js.nft.json +1 -1
  75. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/nodes/[nodeId]/fail/route.js.nft.json +1 -1
  76. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/nodes/[nodeId]/resume/route.js.nft.json +1 -1
  77. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/nodes/[nodeId]/start/route.js.nft.json +1 -1
  78. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/nodes/[nodeId]/stop/route.js.nft.json +1 -1
  79. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/nodes/[nodeId]/verify/route.js.nft.json +1 -1
  80. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/route.js.nft.json +1 -1
  81. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/assign-orphans/route.js.nft.json +1 -1
  82. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/route.js.nft.json +1 -1
  83. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/stream/route.js.nft.json +1 -1
  84. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/teams/[id]/agents/route.js.nft.json +1 -1
  85. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/teams/[id]/route.js.nft.json +1 -1
  86. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/teams/route.js.nft.json +1 -1
  87. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/user-settings/route.js.nft.json +1 -1
  88. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/board.html +2 -2
  89. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/board.rsc +1 -1
  90. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/board.segments/_full.segment.rsc +1 -1
  91. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/board.segments/_head.segment.rsc +1 -1
  92. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/board.segments/_index.segment.rsc +1 -1
  93. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/board.segments/_tree.segment.rsc +1 -1
  94. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/board.segments/board/__PAGE__.segment.rsc +1 -1
  95. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/board.segments/board.segment.rsc +1 -1
  96. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/execution-graph.html +2 -2
  97. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/execution-graph.rsc +1 -1
  98. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/execution-graph.segments/_full.segment.rsc +1 -1
  99. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/execution-graph.segments/_head.segment.rsc +1 -1
  100. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/execution-graph.segments/_index.segment.rsc +1 -1
  101. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/execution-graph.segments/_tree.segment.rsc +1 -1
  102. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/execution-graph.segments/execution-graph/__PAGE__.segment.rsc +1 -1
  103. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/execution-graph.segments/execution-graph.segment.rsc +1 -1
  104. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/index.html +2 -2
  105. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/index.rsc +1 -1
  106. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/index.segments/__PAGE__.segment.rsc +1 -1
  107. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/index.segments/_full.segment.rsc +1 -1
  108. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/index.segments/_head.segment.rsc +1 -1
  109. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/index.segments/_index.segment.rsc +1 -1
  110. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/index.segments/_tree.segment.rsc +1 -1
  111. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/orphans.html +1 -1
  112. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/orphans.rsc +1 -1
  113. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/orphans.segments/_full.segment.rsc +1 -1
  114. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/orphans.segments/_head.segment.rsc +1 -1
  115. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/orphans.segments/_index.segment.rsc +1 -1
  116. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/orphans.segments/_tree.segment.rsc +1 -1
  117. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/orphans.segments/projects/orphans/__PAGE__.segment.rsc +1 -1
  118. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/orphans.segments/projects/orphans.segment.rsc +1 -1
  119. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/orphans.segments/projects.segment.rsc +1 -1
  120. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects.html +2 -2
  121. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects.rsc +1 -1
  122. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects.segments/_full.segment.rsc +1 -1
  123. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects.segments/_head.segment.rsc +1 -1
  124. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects.segments/_index.segment.rsc +1 -1
  125. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects.segments/_tree.segment.rsc +1 -1
  126. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects.segments/projects/__PAGE__.segment.rsc +1 -1
  127. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects.segments/projects.segment.rsc +1 -1
  128. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/settings.html +2 -2
  129. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/settings.rsc +1 -1
  130. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/settings.segments/_full.segment.rsc +1 -1
  131. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/settings.segments/_head.segment.rsc +1 -1
  132. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/settings.segments/_index.segment.rsc +1 -1
  133. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/settings.segments/_tree.segment.rsc +1 -1
  134. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +1 -1
  135. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/settings.segments/settings.segment.rsc +1 -1
  136. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/status.html +2 -2
  137. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/status.rsc +1 -1
  138. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/status.segments/_full.segment.rsc +1 -1
  139. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/status.segments/_head.segment.rsc +1 -1
  140. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/status.segments/_index.segment.rsc +1 -1
  141. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/status.segments/_tree.segment.rsc +1 -1
  142. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/status.segments/status/__PAGE__.segment.rsc +1 -1
  143. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/status.segments/status.segment.rsc +1 -1
  144. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/welcome.html +2 -2
  145. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/welcome.rsc +1 -1
  146. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/welcome.segments/_full.segment.rsc +1 -1
  147. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/welcome.segments/_head.segment.rsc +1 -1
  148. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/welcome.segments/_index.segment.rsc +1 -1
  149. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/welcome.segments/_tree.segment.rsc +1 -1
  150. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/welcome.segments/welcome/__PAGE__.segment.rsc +1 -1
  151. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/welcome.segments/welcome.segment.rsc +1 -1
  152. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app-paths-manifest.json +1 -0
  153. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/7e210_Agents_agx-cloud__next-internal_server_app_api_processes_route_actions_3d9dbdd8.js +3 -0
  154. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/Projects_Agents_agx-cloud_ef3cf579._.js +7 -7
  155. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/Projects_Agents_agx-cloud_lib_6041e016._.js +14 -3
  156. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/Projects_Agents_agx-cloud_lib_6a5d1c80._.js +25 -14
  157. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/Projects_Agents_agx-cloud_lib_7eefb426._.js +9 -9
  158. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/Projects_Agents_agx-cloud_lib_8c82981b._.js +14 -3
  159. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/{[root-of-the-server]__42ab2b45._.js → [root-of-the-server]__39768bc0._.js} +35 -34
  160. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/[root-of-the-server]__481a7f9c._.js +4 -0
  161. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/[root-of-the-server]__5ad371f3._.js +7 -7
  162. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/[root-of-the-server]__d339de9d._.js +15 -15
  163. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ae43b_next_dist_esm_build_templates_app-route_122e31fe.js +16 -16
  164. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/middleware-manifest.json +5 -5
  165. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/pages/404.html +1 -1
  166. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/pages/500.html +2 -2
  167. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/server-reference-manifest.js +1 -1
  168. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/server-reference-manifest.json +1 -1
  169. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/app/api/chat/route.ts +5 -3
  170. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/app/api/processes/route.ts +6 -0
  171. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/lib/agent-process-registry.ts +126 -0
  172. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/lib/cli-runner.ts +7 -0
  173. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/lib/sqlite-query-adapter.ts +15 -0
  174. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/lib/stream-multiplexer.ts +24 -0
  175. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/tsconfig.tsbuildinfo +1 -1
  176. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/worker/index.js +20 -3
  177. package/lib/cli/runCli.js +4 -0
  178. package/lib/commands/update.js +51 -0
  179. package/package.json +1 -1
  180. /package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/{cQx_idFVUUY_8HM8dQbVC → 1H85C8T4JXGTcuoMfgKmi}/_buildManifest.js +0 -0
  181. /package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/{cQx_idFVUUY_8HM8dQbVC → 1H85C8T4JXGTcuoMfgKmi}/_clientMiddlewareManifest.json +0 -0
  182. /package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/{cQx_idFVUUY_8HM8dQbVC → 1H85C8T4JXGTcuoMfgKmi}/_ssgManifest.js +0 -0
@@ -1,19 +1,19 @@
1
- module.exports=[93695,(e,t,a)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},18622,(e,t,a)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,t,a)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,t,a)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},14747,(e,t,a)=>{t.exports=e.x("path",()=>require("path"))},46786,(e,t,a)=>{t.exports=e.x("os",()=>require("os"))},22734,(e,t,a)=>{t.exports=e.x("fs",()=>require("fs"))},17920,(e,t,a)=>{t.exports=e.x("better-sqlite3-e930ad348bee7320",()=>require("better-sqlite3-e930ad348bee7320"))},33405,(e,t,a)=>{t.exports=e.x("child_process",()=>require("child_process"))},14189,e=>{"use strict";var t=e.i(33405);let a=e=>"string"==typeof e&&e.trim().length>0,r=e=>({push:e,flush:()=>{}}),i=e=>{let t="",r=0,i=!1,s=t=>{let s=t.trim();if(s)try{let t=JSON.parse(s);i=!0;let n=(e=>{if(!e||"object"!=typeof e)return"";if("assistant"===e.type)return(Array.isArray(e?.message?.content)?e.message.content:[]).flatMap(e=>e?.type==="text"&&a(e.text)?[e.text]:[]).join("");let t=e?.event;return"stream_event"===e.type&&t?.type==="content_block_delta"&&t?.delta?.type==="text_delta"&&a(t?.delta?.text)?t.delta.text:""})(t);if(!n||t?.type==="assistant"&&r>0)return;r+=n.length,e(n)}catch{i||e(`${t}
2
- `)}};return{push:e=>{for(t+=e;;){let e=t.indexOf("\n");if(-1===e)break;s(t.slice(0,e)),t=t.slice(e+1)}},flush:()=>{t.trim()&&s(t),t=""}}},s=e=>{let t="",r=!1,i="",s=t=>{let s=t.trim();if(s)try{let t=JSON.parse(s);r=!0,t?.type==="message"&&t?.role==="assistant"&&a(t?.content)&&((t,a)=>{if(t){if(a){if(i&&t.startsWith(i)){let a=t.slice(i.length);a&&e(a),i=t;return}e(t),i+=t;return}if(i&&t.startsWith(i)){let a=t.slice(i.length);a&&e(a),i=t;return}i||(e(t),i=t)}})(t.content,t?.delta===!0)}catch{r||e(`${t}
3
- `)}};return{push:e=>{for(t+=e;;){let e=t.indexOf("\n");if(-1===e)break;s(t.slice(0,e)),t=t.slice(e+1)}},flush:()=>{t.trim()&&s(t),t=""}}},n=e=>{let t="",r=!1,i=new Set,s=t=>{let s=t.trim();if(s)try{let t=JSON.parse(s);if(r=!0,t?.type==="item.completed"&&a(t?.item?.id)){if(i.has(t.item.id))return;i.add(t.item.id)}let n=t&&"object"==typeof t?"item.completed"===t.type&&t.item?.type==="agent_message"&&a(t.item?.text)?t.item.text:"item.delta"===t.type&&t.item?.type==="agent_message"&&a(t.delta?.text)?t.delta.text:"":"";n&&e(n)}catch{r||e(`${t}
4
- `)}};return{push:e=>{for(t+=e;;){let e=t.indexOf("\n");if(-1===e)break;s(t.slice(0,e)),t=t.slice(e+1)}},flush:()=>{t.trim()&&s(t),t=""}}},o=e=>{let t="",a=!1,r=[/^Thinking\.\.\./,/^<think>/i],i=[/\.\.\.done thinking\.?\s*/,/<\/think>/i];return{push:s=>{t+=s,(()=>{for(;t.length>0;){if(a){let e=-1,r=0;for(let a of i){let i=t.match(a);i&&void 0!==i.index&&(i.index,i[0].length,(-1===e||i.index<e)&&(e=i.index,r=i[0].length))}if(-1!==e){t=t.slice(e+r),a=!1,t=t.replace(/^\s*\n*/,"");continue}return}for(let i of r){let r=t.match(i);if(r&&void 0!==r.index){let i=t.slice(0,r.index);i&&e.push(i),t=t.slice(r.index+r[0].length),a=!0;break}}if(a)continue;let s=Math.max(0,t.length-30);s>0&&(e.push(t.slice(0,s)),t=t.slice(s));return}})()},flush:()=>{!a&&t&&e.push(t),t="",e.flush()}}};async function l({command:e,args:a,timeoutMs:r,signal:i,onDelta:s,onLog:n}){await new Promise((o,l)=>{n&&n("stderr",`$ ${e} ${a.map(e=>e.length>80?e.slice(0,80)+"…":e).join(" ")}
5
- `);let d=(0,t.spawn)(e,a,{stdio:["ignore","pipe","pipe"],env:{...process.env,CLAUDECODE:void 0}}),p=!1,m="",c=!1,E=e=>{p||(p=!0,clearTimeout(u),i&&i.removeEventListener("abort",T),e?l(e):o())},T=()=>{d.kill("SIGTERM"),E(Error("Chat request aborted."))};i&&i.addEventListener("abort",T,{once:!0});let u=setTimeout(()=>{c=!0,d.kill("SIGKILL"),E(Error(`CLI request timed out after ${r}ms.`))},r);d.stdout.on("data",e=>{let t=e.toString();m+=t,s(t),n&&n("stdout",t)}),d.stderr.on("data",e=>{let t=e.toString();m+=t,n&&n("stderr",t)}),d.on("error",e=>E(e)),d.on("close",(e,t)=>{if(!p&&!c){if(0===e)return void E();E(Error(`CLI command failed (exit=${e??"unknown"} signal=${t??"none"}).${m.trim()?` ${m.trim()}`:""}`))}})})}async function d({provider:e,model:a,prompt:d,identity:p,self:m,skills:c,systemContext:E,signal:T,onDelta:u,onLog:_}){let f,g,N,L,h=(f=!1,g=!1,N="",L=/^(?:```|~~~|#{1,6}\s|>\s|[-*+]\s|\d+\.\s)/,e=>{let t=e.replace(/\u001B\[[0-9;]*[A-Za-z]/g,"").replace(/\r\n/g,"\n").replace(/\r/g,"\n").replace(/[ \t]+\n/g,"\n").replace(/\n{3,}/g,"\n\n");if(!t.trim())return t.includes("\n")&&!f?(f=!0,"\n"):"";let a=f?t.replace(/^\n+/,"\n"):t,r=a.trimStart(),i=L.test(r),s=g&&i&&!f,n=g&&!f&&!s&&!/^\s/.test(a)&&/[.!?)]/.test(N)&&/^[A-Z0-9`(]/.test(a),o=s?`
1
+ module.exports=[93695,(e,t,a)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},18622,(e,t,a)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,t,a)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,t,a)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},14747,(e,t,a)=>{t.exports=e.x("path",()=>require("path"))},46786,(e,t,a)=>{t.exports=e.x("os",()=>require("os"))},22734,(e,t,a)=>{t.exports=e.x("fs",()=>require("fs"))},17920,(e,t,a)=>{t.exports=e.x("better-sqlite3-e930ad348bee7320",()=>require("better-sqlite3-e930ad348bee7320"))},33405,(e,t,a)=>{t.exports=e.x("child_process",()=>require("child_process"))},14189,e=>{"use strict";var t=e.i(33405);let a=e=>"string"==typeof e&&e.trim().length>0,i=e=>({push:e,flush:()=>{}}),r=e=>{let t="",i=0,r=!1,s=t=>{let s=t.trim();if(s)try{let t=JSON.parse(s);r=!0;let n=(e=>{if(!e||"object"!=typeof e)return"";if("assistant"===e.type)return(Array.isArray(e?.message?.content)?e.message.content:[]).flatMap(e=>e?.type==="text"&&a(e.text)?[e.text]:[]).join("");let t=e?.event;return"stream_event"===e.type&&t?.type==="content_block_delta"&&t?.delta?.type==="text_delta"&&a(t?.delta?.text)?t.delta.text:""})(t);if(!n||t?.type==="assistant"&&i>0)return;i+=n.length,e(n)}catch{r||e(`${t}
2
+ `)}};return{push:e=>{for(t+=e;;){let e=t.indexOf("\n");if(-1===e)break;s(t.slice(0,e)),t=t.slice(e+1)}},flush:()=>{t.trim()&&s(t),t=""}}},s=e=>{let t="",i=!1,r="",s=t=>{let s=t.trim();if(s)try{let t=JSON.parse(s);i=!0,t?.type==="message"&&t?.role==="assistant"&&a(t?.content)&&((t,a)=>{if(t){if(a){if(r&&t.startsWith(r)){let a=t.slice(r.length);a&&e(a),r=t;return}e(t),r+=t;return}if(r&&t.startsWith(r)){let a=t.slice(r.length);a&&e(a),r=t;return}r||(e(t),r=t)}})(t.content,t?.delta===!0)}catch{i||e(`${t}
3
+ `)}};return{push:e=>{for(t+=e;;){let e=t.indexOf("\n");if(-1===e)break;s(t.slice(0,e)),t=t.slice(e+1)}},flush:()=>{t.trim()&&s(t),t=""}}},n=e=>{let t="",i=!1,r=new Set,s=t=>{let s=t.trim();if(s)try{let t=JSON.parse(s);if(i=!0,t?.type==="item.completed"&&a(t?.item?.id)){if(r.has(t.item.id))return;r.add(t.item.id)}let n=t&&"object"==typeof t?"item.completed"===t.type&&t.item?.type==="agent_message"&&a(t.item?.text)?t.item.text:"item.delta"===t.type&&t.item?.type==="agent_message"&&a(t.delta?.text)?t.delta.text:"":"";n&&e(n)}catch{i||e(`${t}
4
+ `)}};return{push:e=>{for(t+=e;;){let e=t.indexOf("\n");if(-1===e)break;s(t.slice(0,e)),t=t.slice(e+1)}},flush:()=>{t.trim()&&s(t),t=""}}},o=e=>{let t="",a=!1,i=[/^Thinking\.\.\./,/^<think>/i],r=[/\.\.\.done thinking\.?\s*/,/<\/think>/i];return{push:s=>{t+=s,(()=>{for(;t.length>0;){if(a){let e=-1,i=0;for(let a of r){let r=t.match(a);r&&void 0!==r.index&&(r.index,r[0].length,(-1===e||r.index<e)&&(e=r.index,i=r[0].length))}if(-1!==e){t=t.slice(e+i),a=!1,t=t.replace(/^\s*\n*/,"");continue}return}for(let r of i){let i=t.match(r);if(i&&void 0!==i.index){let r=t.slice(0,i.index);r&&e.push(r),t=t.slice(i.index+i[0].length),a=!0;break}}if(a)continue;let s=Math.max(0,t.length-30);s>0&&(e.push(t.slice(0,s)),t=t.slice(s));return}})()},flush:()=>{!a&&t&&e.push(t),t="",e.flush()}}};async function d({command:e,args:a,timeoutMs:i,signal:r,onDelta:s,onLog:n,onSpawn:o}){await new Promise((d,l)=>{n&&n("stderr",`$ ${e} ${a.map(e=>e.length>80?e.slice(0,80)+"…":e).join(" ")}
5
+ `);let p=(0,t.spawn)(e,a,{stdio:["ignore","pipe","pipe"],env:{...process.env,CLAUDECODE:void 0}}),m=!1,c="",E=!1,T=e=>{m||(m=!0,clearTimeout(_),r&&r.removeEventListener("abort",u),e?l(e):d())},u=()=>{p.kill("SIGTERM"),T(Error("Chat request aborted."))};r&&r.addEventListener("abort",u,{once:!0}),o&&p.pid&&o(p.pid);let _=setTimeout(()=>{E=!0,p.kill("SIGKILL"),T(Error(`CLI request timed out after ${i}ms.`))},i);p.stdout.on("data",e=>{let t=e.toString();c+=t,s(t),n&&n("stdout",t)}),p.stderr.on("data",e=>{let t=e.toString();c+=t,n&&n("stderr",t)}),p.on("error",e=>T(e)),p.on("close",(e,t)=>{if(!m&&!E){if(0===e)return void T();T(Error(`CLI command failed (exit=${e??"unknown"} signal=${t??"none"}).${c.trim()?` ${c.trim()}`:""}`))}})})}async function l({provider:e,model:a,prompt:l,identity:p,self:m,skills:c,systemContext:E,signal:T,onDelta:u,onLog:_,onSpawn:f}){let g,N,h,L,R=(g=!1,N=!1,h="",L=/^(?:```|~~~|#{1,6}\s|>\s|[-*+]\s|\d+\.\s)/,e=>{let t=e.replace(/\u001B\[[0-9;]*[A-Za-z]/g,"").replace(/\r\n/g,"\n").replace(/\r/g,"\n").replace(/[ \t]+\n/g,"\n").replace(/\n{3,}/g,"\n\n");if(!t.trim())return t.includes("\n")&&!g?(g=!0,"\n"):"";let a=g?t.replace(/^\n+/,"\n"):t,i=a.trimStart(),r=L.test(i),s=N&&r&&!g,n=N&&!g&&!s&&!/^\s/.test(a)&&/[.!?)]/.test(h)&&/^[A-Z0-9`(]/.test(a),o=s?`
6
6
 
7
7
  ${a}`:n?`
8
- ${a}`:a;f=o.endsWith("\n"),g=g||o.trim().length>0;let l=o.replace(/\s+$/g,"");return l.length>0&&(N=l[l.length-1]??N),o}),R=e=>{let t=h(e);t&&u(t)},y=[],A=[];E&&A.push(E),p&&A.push(`<identity>
8
+ ${a}`:a;g=o.endsWith("\n"),N=N||o.trim().length>0;let d=o.replace(/\s+$/g,"");return d.length>0&&(h=d[d.length-1]??h),o}),A=e=>{let t=R(e);t&&u(t)},y=[],O=[];E&&O.push(E),p&&O.push(`<identity>
9
9
  ${p}
10
- </identity>`),m&&A.push(`<self>
10
+ </identity>`),m&&O.push(`<self>
11
11
  ${m}
12
- </self>`),c&&A.push(`<skills>
12
+ </self>`),c&&O.push(`<skills>
13
13
  ${c}
14
- </skills>`);let O=A.length>0?A.join("\n\n"):void 0;if((e=>{try{return 0===(0,t.spawnSync)("bash",["-lc","command -v agx >/dev/null 2>&1"],{encoding:"utf8"}).status}catch{return!1}})(0)){let t=O?`${O}
14
+ </skills>`);let S=O.length>0?O.join("\n\n"):void 0;if((e=>{try{return 0===(0,t.spawnSync)("bash",["-lc","command -v agx >/dev/null 2>&1"],{encoding:"utf8"}).status}catch{return!1}})(0)){let t=S?`${S}
15
15
 
16
- ${d}`:d;y.push(function({provider:e,model:t,prompt:a}){let r=[e,"-y","--print","--prompt",a];return t&&r.push("--model",t),{command:"agx",args:r,parser:"raw"}}({provider:e,model:a,prompt:t}))}if(0===y.length)throw Error(`No CLI runner available for provider "${e}". Install agx or provider CLI.`);let S=null;for(let e of y){let t="claude-stream-json"===e.parser?i(R):"codex-json"===e.parser?n(R):"gemini-stream-json"===e.parser?s(R):r(R),a=e.filterThoughts?o(t):t;try{await l({command:e.command,args:e.args,timeoutMs:6e5,signal:T,onDelta:a.push,onLog:_}),a.flush();return}catch(e){S=e instanceof Error?e:Error(String(e))}}throw S||Error("CLI execution failed.")}e.s(["runCliResponse",()=>d],14189)},64246,e=>{"use strict";var t=e.i(17920),a=e.i(22734),r=e.i(14747),i=e.i(46786);let s=process.env.AGX_GROUP_CHAT_DIR?.trim()||r.default.join(i.default.homedir(),".agx","group-chat"),n=r.default.join(s,"history.sqlite"),o="global",l=new Set(["ack","working","done","clarify","blocked"]),d={ack:new Set(["ack","working"]),working:new Set(["ack","working","done","clarify","blocked"]),done:new Set(["done","ack","working"]),clarify:new Set(["ack","clarify","working"]),blocked:new Set(["ack","blocked","working"])};class p extends Error{status;constructor(e,t){super(e),this.name="ReactionStoreError",this.status=t}}function m(e,t){return e.prepare(`PRAGMA table_info(${t})`).all().some(e=>"thread_id"===e.name)}let c=async e=>{await a.promises.mkdir(s,{recursive:!0});let r=new t.default(n);r.pragma("journal_mode = WAL");try{return r.exec(`
16
+ ${l}`:l;y.push(function({provider:e,model:t,prompt:a}){let i=[e,"-y","--print","--prompt",a];return t&&i.push("--model",t),{command:"agx",args:i,parser:"raw"}}({provider:e,model:a,prompt:t}))}if(0===y.length)throw Error(`No CLI runner available for provider "${e}". Install agx or provider CLI.`);let I=null;for(let e of y){let t="claude-stream-json"===e.parser?r(A):"codex-json"===e.parser?n(A):"gemini-stream-json"===e.parser?s(A):i(A),a=e.filterThoughts?o(t):t;try{await d({command:e.command,args:e.args,timeoutMs:6e5,signal:T,onDelta:a.push,onLog:_,onSpawn:f}),a.flush();return}catch(e){I=e instanceof Error?e:Error(String(e))}}throw I||Error("CLI execution failed.")}e.s(["runCliResponse",()=>l],14189)},64246,e=>{"use strict";var t=e.i(17920),a=e.i(22734),i=e.i(14747),r=e.i(46786);let s=process.env.AGX_GROUP_CHAT_DIR?.trim()||i.default.join(r.default.homedir(),".agx","group-chat"),n=i.default.join(s,"history.sqlite"),o="global",d=new Set(["ack","working","done","clarify","blocked"]),l={ack:new Set(["ack","working"]),working:new Set(["ack","working","done","clarify","blocked"]),done:new Set(["done","ack","working"]),clarify:new Set(["ack","clarify","working"]),blocked:new Set(["ack","blocked","working"])};class p extends Error{status;constructor(e,t){super(e),this.name="ReactionStoreError",this.status=t}}function m(e,t){return e.prepare(`PRAGMA table_info(${t})`).all().some(e=>"thread_id"===e.name)}let c=async e=>{await a.promises.mkdir(s,{recursive:!0});let i=new t.default(n);i.pragma("journal_mode = WAL");try{return i.exec(`
17
17
  CREATE TABLE IF NOT EXISTS messages (
18
18
  thread_id TEXT NOT NULL,
19
19
  id TEXT NOT NULL,
@@ -48,7 +48,7 @@ ${d}`:d;y.push(function({provider:e,model:t,prompt:a}){let r=[e,"-y","--print","
48
48
  updated_at INTEGER NOT NULL,
49
49
  PRIMARY KEY (thread_id, message_id)
50
50
  );
51
- `),m(r,"messages")||r.exec(`
51
+ `),m(i,"messages")||i.exec(`
52
52
  ALTER TABLE messages RENAME TO messages_legacy;
53
53
  CREATE TABLE messages (
54
54
  thread_id TEXT NOT NULL,
@@ -63,7 +63,7 @@ ${d}`:d;y.push(function({provider:e,model:t,prompt:a}){let r=[e,"-y","--print","
63
63
  SELECT '${o}', id, role, participant_id, content, timestamp
64
64
  FROM messages_legacy;
65
65
  DROP TABLE messages_legacy;
66
- `),m(r,"message_reactions")||r.exec(`
66
+ `),m(i,"message_reactions")||i.exec(`
67
67
  ALTER TABLE message_reactions RENAME TO message_reactions_legacy;
68
68
  CREATE TABLE message_reactions (
69
69
  thread_id TEXT NOT NULL,
@@ -79,7 +79,7 @@ ${d}`:d;y.push(function({provider:e,model:t,prompt:a}){let r=[e,"-y","--print","
79
79
  SELECT '${o}', message_id, participant_id, type, reason, blocker_code, updated_at
80
80
  FROM message_reactions_legacy;
81
81
  DROP TABLE message_reactions_legacy;
82
- `),m(r,"logs")||r.exec(`
82
+ `),m(i,"logs")||i.exec(`
83
83
  ALTER TABLE logs RENAME TO logs_legacy;
84
84
  CREATE TABLE logs (
85
85
  id INTEGER PRIMARY KEY AUTOINCREMENT,
@@ -93,12 +93,12 @@ ${d}`:d;y.push(function({provider:e,model:t,prompt:a}){let r=[e,"-y","--print","
93
93
  SELECT '${o}', participant_id, stream, line, timestamp
94
94
  FROM logs_legacy;
95
95
  DROP TABLE logs_legacy;
96
- `),new Set(r.prepare("PRAGMA table_info(messages)").all().map(e=>e.name)).has("root_message_id")||r.exec(`
96
+ `),new Set(i.prepare("PRAGMA table_info(messages)").all().map(e=>e.name)).has("root_message_id")||i.exec(`
97
97
  ALTER TABLE messages ADD COLUMN root_message_id TEXT;
98
98
  ALTER TABLE messages ADD COLUMN parent_message_id TEXT;
99
99
  ALTER TABLE messages ADD COLUMN depth INTEGER NOT NULL DEFAULT 0;
100
100
  CREATE INDEX IF NOT EXISTS idx_messages_root ON messages(thread_id, root_message_id);
101
- `),new Set(r.prepare("PRAGMA table_info(messages)").all().map(e=>e.name)).has("thread_status")||r.exec(`
101
+ `),new Set(i.prepare("PRAGMA table_info(messages)").all().map(e=>e.name)).has("thread_status")||i.exec(`
102
102
  ALTER TABLE messages ADD COLUMN thread_status TEXT;
103
103
  ALTER TABLE messages ADD COLUMN outcome_note TEXT;
104
104
  `),!function(e){let t=!!e.prepare("SELECT 1 FROM sqlite_master WHERE type = ? AND name = ? LIMIT 1").get("table","messages_fts");if(e.exec(`
@@ -119,21 +119,21 @@ ${d}`:d;y.push(function({provider:e,model:t,prompt:a}){let r=[e,"-y","--print","
119
119
  INSERT INTO messages_fts(messages_fts, rowid, content) VALUES('delete', old.rowid, old.content);
120
120
  INSERT INTO messages_fts(rowid, content) VALUES (new.rowid, new.content);
121
121
  END;
122
- `),0===e.prepare("SELECT COUNT(*) as count FROM messages").get().count)return;let a=e.prepare("SELECT COUNT(*) as count FROM messages_fts").get().count;t&&0!==a||e.exec("INSERT INTO messages_fts(rowid, content) SELECT rowid, content FROM messages;")}(r),r.exec(`
122
+ `),0===e.prepare("SELECT COUNT(*) as count FROM messages").get().count)return;let a=e.prepare("SELECT COUNT(*) as count FROM messages_fts").get().count;t&&0!==a||e.exec("INSERT INTO messages_fts(rowid, content) SELECT rowid, content FROM messages;")}(i),i.exec(`
123
123
  CREATE INDEX IF NOT EXISTS idx_messages_thread_ts ON messages(thread_id, timestamp ASC);
124
124
  CREATE INDEX IF NOT EXISTS idx_reactions_thread_message ON message_reactions(thread_id, message_id, updated_at ASC);
125
125
  CREATE INDEX IF NOT EXISTS idx_logs_thread_ts ON logs(thread_id, timestamp ASC);
126
- `),e(r)}finally{r.close()}};function E(e){let t=new Map;for(let a of e){let e=t.get(a.message_id);e||(e=new Map,t.set(a.message_id,e));let r=e.get(a.type);r||(r={type:a.type,count:0,participantIds:[]},e.set(a.type,r)),r.count+=1,r.participantIds.push(a.participant_id)}let a=new Map;for(let[e,r]of t.entries()){let t=Array.from(r.values()).sort((e,t)=>t.count!==e.count?t.count-e.count:e.type.localeCompare(t.type));a.set(e,t)}return a}function T(e,t,a){if(a&&0===a.length)return new Map;if(a){let r=a.map(()=>"?").join(", ");return E(e.prepare(`SELECT message_id, participant_id, type
126
+ `),e(i)}finally{i.close()}};function E(e){let t=new Map;for(let a of e){let e=t.get(a.message_id);e||(e=new Map,t.set(a.message_id,e));let i=e.get(a.type);i||(i={type:a.type,count:0,participantIds:[]},e.set(a.type,i)),i.count+=1,i.participantIds.push(a.participant_id)}let a=new Map;for(let[e,i]of t.entries()){let t=Array.from(i.values()).sort((e,t)=>t.count!==e.count?t.count-e.count:e.type.localeCompare(t.type));a.set(e,t)}return a}function T(e,t,a){if(a&&0===a.length)return new Map;if(a){let i=a.map(()=>"?").join(", ");return E(e.prepare(`SELECT message_id, participant_id, type
127
127
  FROM message_reactions
128
- WHERE thread_id = ? AND message_id IN (${r})
128
+ WHERE thread_id = ? AND message_id IN (${i})
129
129
  ORDER BY updated_at ASC`).all(t,...a))}return E(e.prepare(`SELECT message_id, participant_id, type
130
130
  FROM message_reactions
131
131
  WHERE thread_id = ?
132
132
  ORDER BY updated_at ASC`).all(t))}function u(e){if("string"!=typeof e)return null;let t=e.trim();return t.length>0?t:null}async function _(e){let t=e.trim()||o;return c(e=>{let a=e.prepare(`SELECT id, role, participant_id, content, timestamp, root_message_id, parent_message_id, depth, thread_status, outcome_note
133
133
  FROM messages
134
134
  WHERE thread_id = ?
135
- ORDER BY timestamp ASC`).all(t),r=T(e,t);return a.map(e=>({id:e.id,role:e.role,participantId:e.participant_id,content:e.content,timestamp:e.timestamp,reactions:r.get(e.id),rootMessageId:e.root_message_id,parentMessageId:e.parent_message_id,depth:e.depth,...e.thread_status?{threadStatus:e.thread_status}:{},...e.outcome_note?{outcomeNote:e.outcome_note}:{}}))})}async function f(e,t){if(0===t.length)return;let a=e.trim()||o;await c(e=>{let r=e.prepare(`INSERT OR REPLACE INTO messages (thread_id, id, role, participant_id, content, timestamp, root_message_id, parent_message_id, depth, thread_status, outcome_note)
136
- VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`);e.transaction(e=>{for(let t of e)r.run(a,t.id,t.role,t.participantId,t.content,t.timestamp,t.rootMessageId??null,t.parentMessageId??null,t.depth??0,t.threadStatus??null,t.outcomeNote??null)})(t)})}async function g(e,t,a,r){let i=e.trim()||o;await c(e=>{e.prepare("UPDATE messages SET thread_status = ?, outcome_note = ? WHERE thread_id = ? AND id = ?").run(a,r,i,t)})}async function N(e){let t=e.trim()||o;await c(e=>{e.transaction(t=>{e.prepare("DELETE FROM message_reactions WHERE thread_id = ?").run(t),e.prepare("DELETE FROM messages WHERE thread_id = ?").run(t)})(t)})}async function L(e,t){let a=e.trim()||o,r=t.trim();r&&await c(e=>{e.transaction((t,a)=>{e.prepare(`DELETE FROM message_reactions
135
+ ORDER BY timestamp ASC`).all(t),i=T(e,t);return a.map(e=>({id:e.id,role:e.role,participantId:e.participant_id,content:e.content,timestamp:e.timestamp,reactions:i.get(e.id),rootMessageId:e.root_message_id,parentMessageId:e.parent_message_id,depth:e.depth,...e.thread_status?{threadStatus:e.thread_status}:{},...e.outcome_note?{outcomeNote:e.outcome_note}:{}}))})}async function f(e,t){if(0===t.length)return;let a=e.trim()||o;await c(e=>{let i=e.prepare(`INSERT OR REPLACE INTO messages (thread_id, id, role, participant_id, content, timestamp, root_message_id, parent_message_id, depth, thread_status, outcome_note)
136
+ VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`);e.transaction(e=>{for(let t of e)i.run(a,t.id,t.role,t.participantId,t.content,t.timestamp,t.rootMessageId??null,t.parentMessageId??null,t.depth??0,t.threadStatus??null,t.outcomeNote??null)})(t)})}async function g(e,t,a,i){let r=e.trim()||o;await c(e=>{e.prepare("UPDATE messages SET thread_status = ?, outcome_note = ? WHERE thread_id = ? AND id = ?").run(a,i,r,t)})}async function N(e){let t=e.trim()||o;await c(e=>{e.transaction(t=>{e.prepare("DELETE FROM message_reactions WHERE thread_id = ?").run(t),e.prepare("DELETE FROM messages WHERE thread_id = ?").run(t)})(t)})}async function h(e,t){let a=e.trim()||o,i=t.trim();i&&await c(e=>{e.transaction((t,a)=>{e.prepare(`DELETE FROM message_reactions
137
137
  WHERE thread_id = ?
138
138
  AND message_id IN (
139
139
  SELECT id
@@ -142,37 +142,37 @@ ${d}`:d;y.push(function({provider:e,model:t,prompt:a}){let r=[e,"-y","--print","
142
142
  AND (id = ? OR root_message_id = ?)
143
143
  )`).run(t,t,a,a),e.prepare(`DELETE FROM messages
144
144
  WHERE thread_id = ?
145
- AND (id = ? OR root_message_id = ?)`).run(t,a,a)})(a,r)})}async function h(e){let t=e.query.trim();if(!t)return{results:[],total:0};let a="string"==typeof e.threadId&&e.threadId.trim()||null,r=Number.isFinite(e.limit)?Number(e.limit):20,i=Number.isFinite(e.offset)?Number(e.offset):0,s=Math.min(Math.max(Math.trunc(r),1),100),n=Math.max(Math.trunc(i),0);return c(e=>{let r=["messages_fts MATCH ?"],i=[t];a&&(r.push("m.thread_id = ?"),i.push(a));let o=r.join(" AND "),l=e.prepare(`SELECT m.thread_id, m.id, m.role, m.participant_id, m.timestamp, m.root_message_id,
145
+ AND (id = ? OR root_message_id = ?)`).run(t,a,a)})(a,i)})}async function L(e){let t=e.query.trim();if(!t)return{results:[],total:0};let a="string"==typeof e.threadId&&e.threadId.trim()||null,i=Number.isFinite(e.limit)?Number(e.limit):20,r=Number.isFinite(e.offset)?Number(e.offset):0,s=Math.min(Math.max(Math.trunc(i),1),100),n=Math.max(Math.trunc(r),0);return c(e=>{let i=["messages_fts MATCH ?"],r=[t];a&&(i.push("m.thread_id = ?"),r.push(a));let o=i.join(" AND "),d=e.prepare(`SELECT m.thread_id, m.id, m.role, m.participant_id, m.timestamp, m.root_message_id,
146
146
  snippet(messages_fts, 0, '<mark>', '</mark>', '...', 32) AS snippet,
147
147
  bm25(messages_fts) as rank
148
148
  FROM messages_fts
149
149
  JOIN messages m ON messages_fts.rowid = m.rowid
150
150
  WHERE ${o}
151
151
  ORDER BY rank ASC, m.timestamp DESC
152
- LIMIT ? OFFSET ?`).all(...i,s,n),d=e.prepare(`SELECT COUNT(*) as total
152
+ LIMIT ? OFFSET ?`).all(...r,s,n),l=e.prepare(`SELECT COUNT(*) as total
153
153
  FROM messages_fts
154
154
  JOIN messages m ON messages_fts.rowid = m.rowid
155
- WHERE ${o}`).get(...i);return{results:l.map(e=>({threadId:e.thread_id,messageId:e.id,role:e.role,participantId:e.participant_id,snippet:e.snippet,timestamp:e.timestamp,rootMessageId:e.root_message_id})),total:d?.total??0}})}async function R(e){let t=e.threadId?.trim()||o,a=e.messageId?.trim(),r=e.participantId?.trim(),i=e.type;if(!a)throw new p("messageId is required",400);if(!r)throw new p("participantId is required",400);if(!l.has(i))throw new p(`Invalid reaction type: ${String(i)}`,400);let s=u(e.reason),n=u(e.blockerCode),m="clarify"===i||"blocked"===i;if(m&&!s)throw new p(`"${i}" reactions require a reason`,400);let E=m?s:null,_="blocked"===i?n:null;return c(e=>{var s;if(!e.prepare("SELECT 1 FROM messages WHERE thread_id = ? AND id = ? LIMIT 1").get(t,a))throw new p(`Message not found: ${a}`,404);let n=e.prepare(`SELECT type, reason, blocker_code
155
+ WHERE ${o}`).get(...r);return{results:d.map(e=>({threadId:e.thread_id,messageId:e.id,role:e.role,participantId:e.participant_id,snippet:e.snippet,timestamp:e.timestamp,rootMessageId:e.root_message_id})),total:l?.total??0}})}async function R(e){let t=e.threadId?.trim()||o,a=e.messageId?.trim(),i=e.participantId?.trim(),r=e.type;if(!a)throw new p("messageId is required",400);if(!i)throw new p("participantId is required",400);if(!d.has(r))throw new p(`Invalid reaction type: ${String(r)}`,400);let s=u(e.reason),n=u(e.blockerCode),m="clarify"===r||"blocked"===r;if(m&&!s)throw new p(`"${r}" reactions require a reason`,400);let E=m?s:null,_="blocked"===r?n:null;return c(e=>{var s;if(!e.prepare("SELECT 1 FROM messages WHERE thread_id = ? AND id = ? LIMIT 1").get(t,a))throw new p(`Message not found: ${a}`,404);let n=e.prepare(`SELECT type, reason, blocker_code
156
156
  FROM message_reactions
157
- WHERE thread_id = ? AND message_id = ? AND participant_id = ?`).get(t,a,r);if(s=n?.type??null,!(!s||d[s].has(i)))throw new p(`Cannot transition reaction from "${n.type}" to "${i}"`,409);if(n&&n.type===i&&u(n.reason)===E&&u(n.blocker_code)===_)return{updated:!1,reactions:T(e,t,[a]).get(a)??[]};let o=Date.now();return e.prepare(`INSERT INTO message_reactions (thread_id, message_id, participant_id, type, reason, blocker_code, updated_at)
157
+ WHERE thread_id = ? AND message_id = ? AND participant_id = ?`).get(t,a,i);if(s=n?.type??null,!(!s||l[s].has(r)))throw new p(`Cannot transition reaction from "${n.type}" to "${r}"`,409);if(n&&n.type===r&&u(n.reason)===E&&u(n.blocker_code)===_)return{updated:!1,reactions:T(e,t,[a]).get(a)??[]};let o=Date.now();return e.prepare(`INSERT INTO message_reactions (thread_id, message_id, participant_id, type, reason, blocker_code, updated_at)
158
158
  VALUES (?, ?, ?, ?, ?, ?, ?)
159
159
  ON CONFLICT(thread_id, message_id, participant_id)
160
160
  DO UPDATE SET
161
161
  type = excluded.type,
162
162
  reason = excluded.reason,
163
163
  blocker_code = excluded.blocker_code,
164
- updated_at = excluded.updated_at`).run(t,a,r,i,E,_,o),{updated:!0,reactions:T(e,t,[a]).get(a)??[]}})}async function y(e,t){if(0===t.length)return;let a=e.trim()||o;return c(e=>{let r=e.prepare("INSERT INTO logs (thread_id, participant_id, stream, line, timestamp) VALUES (?, ?, ?, ?, ?)");e.transaction(()=>{for(let e of t)r.run(a,e.participantId,e.stream,e.line,e.timestamp)})()})}async function A(e){let t=e.trim()||o;return c(e=>e.prepare(`SELECT id, participant_id, stream, line, timestamp
164
+ updated_at = excluded.updated_at`).run(t,a,i,r,E,_,o),{updated:!0,reactions:T(e,t,[a]).get(a)??[]}})}async function A(e,t){if(0===t.length)return;let a=e.trim()||o;return c(e=>{let i=e.prepare("INSERT INTO logs (thread_id, participant_id, stream, line, timestamp) VALUES (?, ?, ?, ?, ?)");e.transaction(()=>{for(let e of t)i.run(a,e.participantId,e.stream,e.line,e.timestamp)})()})}async function y(e){let t=e.trim()||o;return c(e=>e.prepare(`SELECT id, participant_id, stream, line, timestamp
165
165
  FROM logs
166
166
  WHERE thread_id = ?
167
- ORDER BY timestamp ASC, id ASC`).all(t))}async function O(e){let t=e.trim()||o;return c(e=>{e.prepare("DELETE FROM logs WHERE thread_id = ?").run(t)})}async function S(e,t=3e5){let a=e.trim()||o,r=Number.isFinite(t)?Math.max(t,1):3e5,i=Date.now(),s=i-r;return c(e=>({updated:e.prepare(`UPDATE message_reactions
167
+ ORDER BY timestamp ASC, id ASC`).all(t))}async function O(e){let t=e.trim()||o;return c(e=>{e.prepare("DELETE FROM logs WHERE thread_id = ?").run(t)})}async function S(e,t=3e5){let a=e.trim()||o,i=Number.isFinite(t)?Math.max(t,1):3e5,r=Date.now(),s=r-i;return c(e=>({updated:e.prepare(`UPDATE message_reactions
168
168
  SET type = 'blocked',
169
169
  reason = 'stale_timeout',
170
170
  blocker_code = 'stale_timeout',
171
171
  updated_at = ?
172
- WHERE thread_id = ? AND type = 'working' AND updated_at <= ?`).run(i,a,s).changes}))}async function I(e,t,a){let r=e.trim()||o;return c(e=>{e.prepare(`INSERT INTO task_drafts (thread_id, message_id, data, updated_at)
172
+ WHERE thread_id = ? AND type = 'working' AND updated_at <= ?`).run(r,a,s).changes}))}async function I(e,t,a){let i=e.trim()||o;return c(e=>{e.prepare(`INSERT INTO task_drafts (thread_id, message_id, data, updated_at)
173
173
  VALUES (?, ?, ?, ?)
174
174
  ON CONFLICT(thread_id, message_id)
175
- DO UPDATE SET data = excluded.data, updated_at = excluded.updated_at`).run(r,t,JSON.stringify(a),Date.now())})}async function x(e){let t=e.trim()||o;return c(e=>{let a=e.prepare("SELECT message_id, data FROM task_drafts WHERE thread_id = ?").all(t),r={};for(let e of a)r[e.message_id]=JSON.parse(e.data);return r})}e.s(["ReactionStoreError",()=>p,"clearHistory",()=>N,"clearLogs",()=>O,"clearRootThread",()=>L,"loadHistory",()=>_,"loadLogs",()=>A,"loadTaskDrafts",()=>x,"saveLogs",()=>y,"saveMessages",()=>f,"saveTaskDraft",()=>I,"searchMessages",()=>h,"setReaction",()=>R,"sweepStaleWorkingReactions",()=>S,"updateMessageStatus",()=>g])},24868,(e,t,a)=>{t.exports=e.x("fs/promises",()=>require("fs/promises"))},13466,e=>{"use strict";var t=e.i(17920),a=e.i(22734),r=e.i(14747),i=e.i(46786);let s=process.env.AGX_GROUP_CHAT_DIR?.trim()||r.default.join(i.default.homedir(),".agx","group-chat"),n=r.default.join(s,"history.sqlite"),o=process.env.AGX_AGENTS_DIR?.trim()||r.default.join(i.default.homedir(),".agx","agents");function l(){(0,a.mkdirSync)(s,{recursive:!0});let e=new t.default(n);e.pragma("journal_mode = WAL"),e.exec(`
175
+ DO UPDATE SET data = excluded.data, updated_at = excluded.updated_at`).run(i,t,JSON.stringify(a),Date.now())})}async function x(e){let t=e.trim()||o;return c(e=>{let a=e.prepare("SELECT message_id, data FROM task_drafts WHERE thread_id = ?").all(t),i={};for(let e of a)i[e.message_id]=JSON.parse(e.data);return i})}e.s(["ReactionStoreError",()=>p,"clearHistory",()=>N,"clearLogs",()=>O,"clearRootThread",()=>h,"loadHistory",()=>_,"loadLogs",()=>y,"loadTaskDrafts",()=>x,"saveLogs",()=>A,"saveMessages",()=>f,"saveTaskDraft",()=>I,"searchMessages",()=>L,"setReaction",()=>R,"sweepStaleWorkingReactions",()=>S,"updateMessageStatus",()=>g])},24868,(e,t,a)=>{t.exports=e.x("fs/promises",()=>require("fs/promises"))},13466,e=>{"use strict";var t=e.i(17920),a=e.i(22734),i=e.i(14747),r=e.i(46786);let s=process.env.AGX_GROUP_CHAT_DIR?.trim()||i.default.join(r.default.homedir(),".agx","group-chat"),n=i.default.join(s,"history.sqlite"),o=process.env.AGX_AGENTS_DIR?.trim()||i.default.join(r.default.homedir(),".agx","agents");function d(){(0,a.mkdirSync)(s,{recursive:!0});let e=new t.default(n);e.pragma("journal_mode = WAL"),e.exec(`
176
176
  CREATE TABLE IF NOT EXISTS participants (
177
177
  id TEXT PRIMARY KEY,
178
178
  name TEXT NOT NULL,
@@ -184,8 +184,8 @@ ${d}`:d;y.push(function({provider:e,model:t,prompt:a}){let r=[e,"-y","--print","
184
184
  color TEXT NOT NULL,
185
185
  sort_order INTEGER NOT NULL DEFAULT 0
186
186
  );
187
- `);let i=e.prepare("PRAGMA table_info(participants)").all();return i.some(e=>"persona"===e.name)&&(e.exec("ALTER TABLE participants RENAME COLUMN persona TO identity"),e.exec("ALTER TABLE participants RENAME COLUMN persona_file TO identity_file")),i.some(e=>"identity_file"===e.name)||i.some(e=>"persona_file"===e.name)||e.exec("ALTER TABLE participants ADD COLUMN identity_file TEXT"),i.some(e=>"skills_json"===e.name)||e.exec("ALTER TABLE participants ADD COLUMN skills_json TEXT"),i.some(e=>"variables_json"===e.name)||e.exec("ALTER TABLE participants ADD COLUMN variables_json TEXT"),i.some(e=>"sort_order"===e.name)||(e.exec("ALTER TABLE participants ADD COLUMN sort_order INTEGER NOT NULL DEFAULT 0"),e.exec("UPDATE participants SET sort_order = rowid")),!function(e){let t=e.prepare("SELECT id, name, provider FROM participants").all();if(0===t.length)return;let i=new Set(t.map(e=>e.id)),s=new Map(t.map(e=>[e.id,e.id])),n=[];for(let e of t){let t=(e.name||"").trim().toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").replace(/--+/g,"-");if(!t||e.id===t||e.id!==e.provider)continue;i.delete(e.id);let a=function(e,t){if(!t.has(e))return e;let a=2,r=`${e}-${a}`;for(;t.has(r);)a+=1,r=`${e}-${a}`;return r}(t,i);i.add(a),s.set(e.id,a),n.push({from:e.id,to:a,name:e.name})}let l=t.map(e=>({id:s.get(e.id)||e.id,provider:e.provider})),d=new Set(l.map(e=>e.id)),p=new Map;for(let e of l){let t=e.provider.trim();if(!t)continue;let a=p.get(t)||new Set;a.add(e.id),p.set(t,a)}let m=[];for(let[e,t]of p){if(1!==t.size)continue;let[a]=Array.from(t);a&&e!==a&&(d.has(e)||m.push({from:e,to:a}))}if(0===n.length&&0===m.length)return;let c=new Map;for(let e of n)c.set(e.from,e.to);for(let e of m)c.set(e.from,e.to);let E=Array.from(c.entries()).map(([e,t])=>({from:e,to:t})),T=new Set(e.prepare("SELECT name FROM sqlite_master WHERE type = 'table'").all().map(e=>e.name));for(let t of(e.transaction((t,a)=>{let r=e.prepare("UPDATE participants SET id = ? WHERE id = ?"),i=T.has("messages")?e.prepare("UPDATE messages SET participant_id = ? WHERE participant_id = ?"):null,s=T.has("logs")?e.prepare("UPDATE logs SET participant_id = ? WHERE participant_id = ?"):null,n=T.has("message_reactions")?e.prepare("UPDATE message_reactions SET participant_id = ? WHERE participant_id = ?"):null;for(let e of t)r.run(e.to,e.from);for(let e of a)i?.run(e.to,e.from),s?.run(e.to,e.from),n?.run(e.to,e.from)})(n.map(e=>({from:e.from,to:e.to})),E),n))!function(e,t,i){if(!e||!t||e===t)return;let s=r.default.join(o,e),n=r.default.join(o,t);if(!(0,a.existsSync)(s)||(0,a.existsSync)(n))return;(0,a.mkdirSync)(o,{recursive:!0}),(0,a.renameSync)(s,n);let l=r.default.join(n,"identity.json");if((0,a.existsSync)(l))try{let e={...JSON.parse((0,a.readFileSync)(l,"utf8")),name:"string"==typeof i&&i.trim()?i.trim():t};(0,a.writeFileSync)(l,`${JSON.stringify(e,null,2)}
188
- `,"utf8")}catch{}}(t.from,t.to,t.name)}(e),e}function d(){let e=l();try{return e.prepare("SELECT id, name, provider, model, identity, identity_file, skills_json, variables_json, color, sort_order FROM participants ORDER BY sort_order ASC, rowid ASC").all().map(e=>({id:e.id,name:e.name,provider:e.provider,model:e.model,color:e.color,...e.identity?{identity:e.identity}:{},...e.identity_file?{identityFile:e.identity_file}:{},...e.variables_json?(()=>{try{let t=JSON.parse(e.variables_json);if(t&&"object"==typeof t&&!Array.isArray(t))return{variables:t};return{}}catch{return{}}})():{},...e.skills_json?{skills:(()=>{try{let t=JSON.parse(e.skills_json);if(!Array.isArray(t))return[];return t.map(e=>"string"==typeof e?{file:e,condition:""}:e)}catch{return[]}})()}:{}}))}finally{e.close()}}function p(e){let t=l();try{t.prepare("INSERT OR REPLACE INTO participants (id, name, provider, model, identity, identity_file, skills_json, variables_json, color) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)").run(e.id,e.name,e.provider,e.model,e.identity??null,e.identityFile??null,e.skills&&e.skills.length>0?JSON.stringify(e.skills):null,e.variables&&Object.keys(e.variables).length>0?JSON.stringify(e.variables):null,e.color)}finally{t.close()}}function m(e){let t=l();try{t.prepare("UPDATE participants SET name = ?, provider = ?, model = ?, identity = ?, identity_file = ?, skills_json = ?, variables_json = ?, color = ? WHERE id = ?").run(e.name,e.provider,e.model,e.identity??null,e.identityFile??null,e.skills&&e.skills.length>0?JSON.stringify(e.skills):null,e.variables&&Object.keys(e.variables).length>0?JSON.stringify(e.variables):null,e.color,e.id)}finally{t.close()}}function c(e){let t=l();try{let a=t.prepare("UPDATE participants SET sort_order = ? WHERE id = ?");t.transaction(e=>{for(let t=0;t<e.length;t++)a.run(t,e[t])})(e)}finally{t.close()}}function E(e){let t=l();try{t.prepare("DELETE FROM participants WHERE id = ?").run(e)}finally{t.close()}}e.s(["addParticipant",()=>p,"loadParticipants",()=>d,"removeParticipant",()=>E,"reorderParticipants",()=>c,"updateParticipant",()=>m])},3994,e=>{"use strict";var t=e.i(17920),a=e.i(22734),r=e.i(14747),i=e.i(46786);let s=process.env.AGX_GROUP_CHAT_DIR?.trim()||r.default.join(i.default.homedir(),".agx","group-chat"),n=r.default.join(s,"history.sqlite"),o=r.default.join(s,"uploads");function l(){let e=new t.default(n);return e.pragma("journal_mode = WAL"),e}function d(e){if(e.exec(`
187
+ `);let r=e.prepare("PRAGMA table_info(participants)").all();return r.some(e=>"persona"===e.name)&&(e.exec("ALTER TABLE participants RENAME COLUMN persona TO identity"),e.exec("ALTER TABLE participants RENAME COLUMN persona_file TO identity_file")),r.some(e=>"identity_file"===e.name)||r.some(e=>"persona_file"===e.name)||e.exec("ALTER TABLE participants ADD COLUMN identity_file TEXT"),r.some(e=>"skills_json"===e.name)||e.exec("ALTER TABLE participants ADD COLUMN skills_json TEXT"),r.some(e=>"variables_json"===e.name)||e.exec("ALTER TABLE participants ADD COLUMN variables_json TEXT"),r.some(e=>"sort_order"===e.name)||(e.exec("ALTER TABLE participants ADD COLUMN sort_order INTEGER NOT NULL DEFAULT 0"),e.exec("UPDATE participants SET sort_order = rowid")),!function(e){let t=e.prepare("SELECT id, name, provider FROM participants").all();if(0===t.length)return;let r=new Set(t.map(e=>e.id)),s=new Map(t.map(e=>[e.id,e.id])),n=[];for(let e of t){let t=(e.name||"").trim().toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").replace(/--+/g,"-");if(!t||e.id===t||e.id!==e.provider)continue;r.delete(e.id);let a=function(e,t){if(!t.has(e))return e;let a=2,i=`${e}-${a}`;for(;t.has(i);)a+=1,i=`${e}-${a}`;return i}(t,r);r.add(a),s.set(e.id,a),n.push({from:e.id,to:a,name:e.name})}let d=t.map(e=>({id:s.get(e.id)||e.id,provider:e.provider})),l=new Set(d.map(e=>e.id)),p=new Map;for(let e of d){let t=e.provider.trim();if(!t)continue;let a=p.get(t)||new Set;a.add(e.id),p.set(t,a)}let m=[];for(let[e,t]of p){if(1!==t.size)continue;let[a]=Array.from(t);a&&e!==a&&(l.has(e)||m.push({from:e,to:a}))}if(0===n.length&&0===m.length)return;let c=new Map;for(let e of n)c.set(e.from,e.to);for(let e of m)c.set(e.from,e.to);let E=Array.from(c.entries()).map(([e,t])=>({from:e,to:t})),T=new Set(e.prepare("SELECT name FROM sqlite_master WHERE type = 'table'").all().map(e=>e.name));for(let t of(e.transaction((t,a)=>{let i=e.prepare("UPDATE participants SET id = ? WHERE id = ?"),r=T.has("messages")?e.prepare("UPDATE messages SET participant_id = ? WHERE participant_id = ?"):null,s=T.has("logs")?e.prepare("UPDATE logs SET participant_id = ? WHERE participant_id = ?"):null,n=T.has("message_reactions")?e.prepare("UPDATE message_reactions SET participant_id = ? WHERE participant_id = ?"):null;for(let e of t)i.run(e.to,e.from);for(let e of a)r?.run(e.to,e.from),s?.run(e.to,e.from),n?.run(e.to,e.from)})(n.map(e=>({from:e.from,to:e.to})),E),n))!function(e,t,r){if(!e||!t||e===t)return;let s=i.default.join(o,e),n=i.default.join(o,t);if(!(0,a.existsSync)(s)||(0,a.existsSync)(n))return;(0,a.mkdirSync)(o,{recursive:!0}),(0,a.renameSync)(s,n);let d=i.default.join(n,"identity.json");if((0,a.existsSync)(d))try{let e={...JSON.parse((0,a.readFileSync)(d,"utf8")),name:"string"==typeof r&&r.trim()?r.trim():t};(0,a.writeFileSync)(d,`${JSON.stringify(e,null,2)}
188
+ `,"utf8")}catch{}}(t.from,t.to,t.name)}(e),e}function l(){let e=d();try{return e.prepare("SELECT id, name, provider, model, identity, identity_file, skills_json, variables_json, color, sort_order FROM participants ORDER BY sort_order ASC, rowid ASC").all().map(e=>({id:e.id,name:e.name,provider:e.provider,model:e.model,color:e.color,...e.identity?{identity:e.identity}:{},...e.identity_file?{identityFile:e.identity_file}:{},...e.variables_json?(()=>{try{let t=JSON.parse(e.variables_json);if(t&&"object"==typeof t&&!Array.isArray(t))return{variables:t};return{}}catch{return{}}})():{},...e.skills_json?{skills:(()=>{try{let t=JSON.parse(e.skills_json);if(!Array.isArray(t))return[];return t.map(e=>"string"==typeof e?{file:e,condition:""}:e)}catch{return[]}})()}:{}}))}finally{e.close()}}function p(e){let t=d();try{t.prepare("INSERT OR REPLACE INTO participants (id, name, provider, model, identity, identity_file, skills_json, variables_json, color) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)").run(e.id,e.name,e.provider,e.model,e.identity??null,e.identityFile??null,e.skills&&e.skills.length>0?JSON.stringify(e.skills):null,e.variables&&Object.keys(e.variables).length>0?JSON.stringify(e.variables):null,e.color)}finally{t.close()}}function m(e){let t=d();try{t.prepare("UPDATE participants SET name = ?, provider = ?, model = ?, identity = ?, identity_file = ?, skills_json = ?, variables_json = ?, color = ? WHERE id = ?").run(e.name,e.provider,e.model,e.identity??null,e.identityFile??null,e.skills&&e.skills.length>0?JSON.stringify(e.skills):null,e.variables&&Object.keys(e.variables).length>0?JSON.stringify(e.variables):null,e.color,e.id)}finally{t.close()}}function c(e){let t=d();try{let a=t.prepare("UPDATE participants SET sort_order = ? WHERE id = ?");t.transaction(e=>{for(let t=0;t<e.length;t++)a.run(t,e[t])})(e)}finally{t.close()}}function E(e){let t=d();try{t.prepare("DELETE FROM participants WHERE id = ?").run(e)}finally{t.close()}}e.s(["addParticipant",()=>p,"loadParticipants",()=>l,"removeParticipant",()=>E,"reorderParticipants",()=>c,"updateParticipant",()=>m])},3994,e=>{"use strict";var t=e.i(17920),a=e.i(22734),i=e.i(14747),r=e.i(46786);let s=process.env.AGX_GROUP_CHAT_DIR?.trim()||i.default.join(r.default.homedir(),".agx","group-chat"),n=i.default.join(s,"history.sqlite"),o=i.default.join(s,"uploads");function d(){let e=new t.default(n);return e.pragma("journal_mode = WAL"),e}function l(e){if(e.exec(`
189
189
  CREATE TABLE IF NOT EXISTS attachments (
190
190
  id TEXT PRIMARY KEY,
191
191
  message_id TEXT,
@@ -197,9 +197,10 @@ ${d}`:d;y.push(function({provider:e,model:t,prompt:a}){let r=[e,"-y","--print","
197
197
  created_at INTEGER NOT NULL
198
198
  );
199
199
  CREATE INDEX IF NOT EXISTS idx_attachments_message ON attachments(message_id);
200
- `),!e.prepare("PRAGMA table_info(attachments)").all().some(e=>"disk_name"===e.name)){e.exec("ALTER TABLE attachments ADD COLUMN disk_name TEXT NOT NULL DEFAULT ''");let t=e.prepare("SELECT id, filename FROM attachments WHERE disk_name = ''").all(),a=e.prepare("UPDATE attachments SET disk_name = ? WHERE id = ?");for(let e of t){let t=e.filename.includes(".")?"."+e.filename.split(".").pop().toLowerCase():"";a.run(e.id+t,e.id)}}}async function p(e){await a.promises.mkdir(o,{recursive:!0});let t=e.filename.includes(".")?"."+e.filename.split(".").pop().toLowerCase():"",i=e.id+t,s=r.default.join(o,i);await a.promises.writeFile(s,e.data);let n=l();try{d(n),n.prepare(`INSERT INTO attachments (id, disk_name, filename, mime_type, size, status, created_at)
201
- VALUES (?, ?, ?, ?, ?, 'uploaded', ?)`).run(e.id,i,e.filename,e.mimeType,e.size,Date.now())}finally{n.close()}return{id:e.id,filename:e.filename,mimeType:e.mimeType,size:e.size,status:"uploaded",url:`/api/attachments/${e.id}`}}async function m(e,t){if(0===t.length)return[];let a=l();try{d(a);let i=t.map(()=>"?").join(", ");return a.prepare(`UPDATE attachments SET message_id = ? WHERE id IN (${i})`).run(e,...t),a.prepare(`SELECT id, disk_name, filename, mime_type, size, status FROM attachments WHERE id IN (${i})`).all(...t).map(e=>({id:e.id,filename:e.filename,mimeType:e.mime_type,size:e.size,status:e.status,url:`/api/attachments/${e.id}`,diskPath:r.default.join(o,e.disk_name||e.id)}))}finally{a.close()}}async function c(e){let t=r.default.join(o,e);try{await a.promises.unlink(t)}catch{}let i=l();try{return d(i),i.prepare("DELETE FROM attachments WHERE id = ?").run(e).changes>0}finally{i.close()}}async function E(e){let t=l();try{d(t);let a=t.prepare("SELECT filename, disk_name, mime_type, size FROM attachments WHERE id = ?").get(e);if(!a)return null;let i=a.disk_name||e;return{filename:a.filename,mimeType:a.mime_type,size:a.size,diskPath:r.default.join(o,i)}}finally{t.close()}}async function T(e){if(0===e.length)return new Map;let t=l();try{d(t);let a=e.map(()=>"?").join(", "),r=t.prepare(`SELECT id, message_id, filename, mime_type, size, status
200
+ `),!e.prepare("PRAGMA table_info(attachments)").all().some(e=>"disk_name"===e.name)){e.exec("ALTER TABLE attachments ADD COLUMN disk_name TEXT NOT NULL DEFAULT ''");let t=e.prepare("SELECT id, filename FROM attachments WHERE disk_name = ''").all(),a=e.prepare("UPDATE attachments SET disk_name = ? WHERE id = ?");for(let e of t){let t=e.filename.includes(".")?"."+e.filename.split(".").pop().toLowerCase():"";a.run(e.id+t,e.id)}}}async function p(e){await a.promises.mkdir(o,{recursive:!0});let t=e.filename.includes(".")?"."+e.filename.split(".").pop().toLowerCase():"",r=e.id+t,s=i.default.join(o,r);await a.promises.writeFile(s,e.data);let n=d();try{l(n),n.prepare(`INSERT INTO attachments (id, disk_name, filename, mime_type, size, status, created_at)
201
+ VALUES (?, ?, ?, ?, ?, 'uploaded', ?)`).run(e.id,r,e.filename,e.mimeType,e.size,Date.now())}finally{n.close()}return{id:e.id,filename:e.filename,mimeType:e.mimeType,size:e.size,status:"uploaded",url:`/api/attachments/${e.id}`}}async function m(e,t){if(0===t.length)return[];let a=d();try{l(a);let r=t.map(()=>"?").join(", ");return a.prepare(`UPDATE attachments SET message_id = ? WHERE id IN (${r})`).run(e,...t),a.prepare(`SELECT id, disk_name, filename, mime_type, size, status FROM attachments WHERE id IN (${r})`).all(...t).map(e=>({id:e.id,filename:e.filename,mimeType:e.mime_type,size:e.size,status:e.status,url:`/api/attachments/${e.id}`,diskPath:i.default.join(o,e.disk_name||e.id)}))}finally{a.close()}}async function c(e){let t=i.default.join(o,e);try{await a.promises.unlink(t)}catch{}let r=d();try{return l(r),r.prepare("DELETE FROM attachments WHERE id = ?").run(e).changes>0}finally{r.close()}}async function E(e){let t=d();try{l(t);let a=t.prepare("SELECT filename, disk_name, mime_type, size FROM attachments WHERE id = ?").get(e);if(!a)return null;let r=a.disk_name||e;return{filename:a.filename,mimeType:a.mime_type,size:a.size,diskPath:i.default.join(o,r)}}finally{t.close()}}async function T(e){if(0===e.length)return new Map;let t=d();try{l(t);let a=e.map(()=>"?").join(", "),i=t.prepare(`SELECT id, message_id, filename, mime_type, size, status
202
202
  FROM attachments
203
- WHERE message_id IN (${a})`).all(...e),i=new Map;for(let e of r){let t={id:e.id,filename:e.filename,mimeType:e.mime_type,size:e.size,status:e.status,url:`/api/attachments/${e.id}`},a=i.get(e.message_id)||[];a.push(t),i.set(e.message_id,a)}return i}finally{t.close()}}async function u(){let e=Date.now()-864e5,t=l();try{d(t);let i=t.prepare("SELECT id, disk_name FROM attachments WHERE message_id IS NULL AND created_at < ?").all(e);for(let{id:e,disk_name:t}of i){let i=r.default.join(o,t||e);try{await a.promises.unlink(i)}catch{}}if(i.length>0){let e=i.map(()=>"?").join(", ");t.prepare(`DELETE FROM attachments WHERE id IN (${e})`).run(...i.map(e=>e.id))}return i.length}finally{t.close()}}e.s(["createAttachment",()=>p,"deleteAttachment",()=>c,"finalizeAttachments",()=>m,"gcOrphanedAttachments",()=>u,"getAttachmentMeta",()=>E,"getAttachmentsForMessages",()=>T])}];
203
+ WHERE message_id IN (${a})`).all(...e),r=new Map;for(let e of i){let t={id:e.id,filename:e.filename,mimeType:e.mime_type,size:e.size,status:e.status,url:`/api/attachments/${e.id}`},a=r.get(e.message_id)||[];a.push(t),r.set(e.message_id,a)}return r}finally{t.close()}}async function u(){let e=Date.now()-864e5,t=d();try{l(t);let r=t.prepare("SELECT id, disk_name FROM attachments WHERE message_id IS NULL AND created_at < ?").all(e);for(let{id:e,disk_name:t}of r){let r=i.default.join(o,t||e);try{await a.promises.unlink(r)}catch{}}if(r.length>0){let e=r.map(()=>"?").join(", ");t.prepare(`DELETE FROM attachments WHERE id IN (${e})`).run(...r.map(e=>e.id))}return r.length}finally{t.close()}}e.s(["createAttachment",()=>p,"deleteAttachment",()=>c,"finalizeAttachments",()=>m,"gcOrphanedAttachments",()=>u,"getAttachmentMeta",()=>E,"getAttachmentsForMessages",()=>T])},68650,e=>{"use strict";var t=e.i(74949);function a(e){return{threadId:e.thread_id,agentId:e.agent_id,pid:e.pid,state:e.state,sinceMessageId:e.since_message_id,startedAt:e.started_at,lastActivity:e.last_activity}}function i(e){(0,t.getSQLiteDb)().prepare(`INSERT OR REPLACE INTO agent_processes (thread_id, agent_id, pid, state, since_message_id, started_at, last_activity)
204
+ VALUES (?, ?, ?, ?, ?, ?, ?)`).run(e.threadId,e.agentId,e.pid,e.state,e.sinceMessageId,e.startedAt,e.lastActivity)}function r(e,a,i){let r=[],s=[];void 0!==i.state&&(r.push("state = ?"),s.push(i.state)),void 0!==i.lastActivity&&(r.push("last_activity = ?"),s.push(i.lastActivity)),void 0!==i.pid&&(r.push("pid = ?"),s.push(i.pid)),0===r.length||(0,t.getSQLiteDb)().prepare(`UPDATE agent_processes SET ${r.join(", ")} WHERE thread_id = ? AND agent_id = ?`).run(...s,e,a)}function s(e,a){(0,t.getSQLiteDb)().prepare("DELETE FROM agent_processes WHERE thread_id = ? AND agent_id = ?").run(e,a)}function n(){return(0,t.getSQLiteDb)().prepare("SELECT * FROM agent_processes").all().map(a)}e.s(["getAll",()=>n,"register",()=>i,"remove",()=>s,"update",()=>r])}];
204
205
 
205
- //# sourceMappingURL=%5Broot-of-the-server%5D__42ab2b45._.js.map
206
+ //# sourceMappingURL=%5Broot-of-the-server%5D__39768bc0._.js.map
@@ -0,0 +1,4 @@
1
+ module.exports=[18622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},24725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},93695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},14747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},46786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},22734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},17920,(e,t,r)=>{t.exports=e.x("better-sqlite3-e930ad348bee7320",()=>require("better-sqlite3-e930ad348bee7320"))},33405,(e,t,r)=>{t.exports=e.x("child_process",()=>require("child_process"))},68650,e=>{"use strict";var t=e.i(74949);function r(e){return{threadId:e.thread_id,agentId:e.agent_id,pid:e.pid,state:e.state,sinceMessageId:e.since_message_id,startedAt:e.started_at,lastActivity:e.last_activity}}function a(e){(0,t.getSQLiteDb)().prepare(`INSERT OR REPLACE INTO agent_processes (thread_id, agent_id, pid, state, since_message_id, started_at, last_activity)
2
+ VALUES (?, ?, ?, ?, ?, ?, ?)`).run(e.threadId,e.agentId,e.pid,e.state,e.sinceMessageId,e.startedAt,e.lastActivity)}function s(e,r,a){let s=[],n=[];void 0!==a.state&&(s.push("state = ?"),n.push(a.state)),void 0!==a.lastActivity&&(s.push("last_activity = ?"),n.push(a.lastActivity)),void 0!==a.pid&&(s.push("pid = ?"),n.push(a.pid)),0===s.length||(0,t.getSQLiteDb)().prepare(`UPDATE agent_processes SET ${s.join(", ")} WHERE thread_id = ? AND agent_id = ?`).run(...n,e,r)}function n(e,r){(0,t.getSQLiteDb)().prepare("DELETE FROM agent_processes WHERE thread_id = ? AND agent_id = ?").run(e,r)}function i(){return(0,t.getSQLiteDb)().prepare("SELECT * FROM agent_processes").all().map(r)}e.s(["getAll",()=>i,"register",()=>a,"remove",()=>n,"update",()=>s])},75068,e=>{"use strict";var t=e.i(11794),r=e.i(41852),a=e.i(19309),s=e.i(90850),n=e.i(24918),i=e.i(84604),o=e.i(37756),l=e.i(90661),d=e.i(90315),p=e.i(9168),u=e.i(12965),c=e.i(43715),h=e.i(79218),x=e.i(66263),g=e.i(15255),v=e.i(93695);e.i(65858);var R=e.i(95175),E=e.i(12244),f=e.i(68650);async function A(){return E.NextResponse.json((0,f.getAll)())}e.s(["GET",()=>A],17074);var _=e.i(17074);let m=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/processes/route",pathname:"/api/processes",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/Projects/Agents/agx-cloud/app/api/processes/route.ts",nextConfigOutput:"standalone",userland:_}),{workAsyncStorage:w,workUnitAsyncStorage:y,serverHooks:C}=m;function b(){return(0,a.patchFetch)({workAsyncStorage:w,workUnitAsyncStorage:y})}async function T(e,t,a){m.isDev&&(0,s.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let E="/api/processes/route";E=E.replace(/\/index$/,"")||"/";let f=await m.prepare(e,t,{srcPage:E,multiZoneDraftMode:!1});if(!f)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:A,params:_,nextConfig:w,parsedUrl:y,isDraftMode:C,prerenderManifest:b,routerServerContext:T,isOnDemandRevalidate:N,revalidateOnlyGenerated:S,resolvedPathname:q,clientReferenceManifest:P,serverActionsManifest:O}=f,I=(0,o.normalizeAppPath)(E),k=!!(b.dynamicRoutes[I]||b.routes[q]),D=async()=>((null==T?void 0:T.render404)?await T.render404(e,t,y,!1):t.end("This page could not be found"),null);if(k&&!C){let e=!!b.routes[q],t=b.dynamicRoutes[I];if(t&&!1===t.fallback&&!e){if(w.experimental.adapterPath)return await D();throw new v.NoFallbackError}}let j=null;!k||m.isDev||C||(j="/index"===(j=q)?"/":j);let H=!0===m.isDev||!k,U=k&&!H;O&&P&&(0,i.setManifestsSingleton)({page:E,clientReferenceManifest:P,serverActionsManifest:O});let M=e.method||"GET",L=(0,n.getTracer)(),F=L.getActiveScopeSpan(),$={params:_,prerenderManifest:b,renderOpts:{experimental:{authInterrupts:!!w.experimental.authInterrupts},cacheComponents:!!w.cacheComponents,supportsDynamicResponse:H,incrementalCache:(0,s.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:w.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,s)=>m.onRequestError(e,t,a,s,T)},sharedContext:{buildId:A}},K=new l.NodeNextRequest(e),B=new l.NodeNextResponse(t),G=d.NextRequestAdapter.fromNodeNextRequest(K,(0,d.signalFromNodeResponse)(t));try{let i=async e=>m.handle(G,$).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=L.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==p.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let a=r.get("next.route");if(a){let t=`${M} ${a}`;e.setAttributes({"next.route":a,"http.route":a,"next.span_name":t}),e.updateName(t)}else e.updateName(`${M} ${E}`)}),o=!!(0,s.getRequestMeta)(e,"minimalMode"),l=async s=>{var n,l;let d=async({previousCacheEntry:r})=>{try{if(!o&&N&&S&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let n=await i(s);e.fetchMetrics=$.renderOpts.fetchMetrics;let l=$.renderOpts.pendingWaitUntil;l&&a.waitUntil&&(a.waitUntil(l),l=void 0);let d=$.renderOpts.collectedTags;if(!k)return await (0,c.sendResponse)(K,B,n,$.renderOpts.pendingWaitUntil),null;{let e=await n.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(n.headers);d&&(t[g.NEXT_CACHE_TAGS_HEADER]=d),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==$.renderOpts.collectedRevalidate&&!($.renderOpts.collectedRevalidate>=g.INFINITE_CACHE)&&$.renderOpts.collectedRevalidate,a=void 0===$.renderOpts.collectedExpire||$.renderOpts.collectedExpire>=g.INFINITE_CACHE?void 0:$.renderOpts.collectedExpire;return{value:{kind:R.CachedRouteKind.APP_ROUTE,status:n.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==r?void 0:r.isStale)&&await m.onRequestError(e,t,{routerKind:"App Router",routePath:E,routeType:"route",revalidateReason:(0,u.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:N})},!1,T),t}},p=await m.handleResponse({req:e,nextConfig:w,cacheKey:j,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:b,isRoutePPREnabled:!1,isOnDemandRevalidate:N,revalidateOnlyGenerated:S,responseGenerator:d,waitUntil:a.waitUntil,isMinimalMode:o});if(!k)return null;if((null==p||null==(n=p.value)?void 0:n.kind)!==R.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==p||null==(l=p.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});o||t.setHeader("x-nextjs-cache",N?"REVALIDATED":p.isMiss?"MISS":p.isStale?"STALE":"HIT"),C&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let v=(0,h.fromNodeOutgoingHttpHeaders)(p.value.headers);return o&&k||v.delete(g.NEXT_CACHE_TAGS_HEADER),!p.cacheControl||t.getHeader("Cache-Control")||v.get("Cache-Control")||v.set("Cache-Control",(0,x.getCacheControlHeader)(p.cacheControl)),await (0,c.sendResponse)(K,B,new Response(p.value.body,{headers:v,status:p.value.status||200})),null};F?await l(F):await L.withPropagatedContext(e.headers,()=>L.trace(p.BaseServerSpan.handleRequest,{spanName:`${M} ${E}`,kind:n.SpanKind.SERVER,attributes:{"http.method":M,"http.target":e.url}},l))}catch(t){if(t instanceof v.NoFallbackError||await m.onRequestError(e,t,{routerKind:"App Router",routePath:I,routeType:"route",revalidateReason:(0,u.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:N})},!1,T),k)throw t;return await (0,c.sendResponse)(K,B,new Response(null,{status:500})),null}}e.s(["handler",()=>T,"patchFetch",()=>b,"routeModule",()=>m,"serverHooks",()=>C,"workAsyncStorage",()=>w,"workUnitAsyncStorage",()=>y],75068)}];
3
+
4
+ //# sourceMappingURL=%5Broot-of-the-server%5D__481a7f9c._.js.map
@@ -1,19 +1,19 @@
1
1
  module.exports=[18622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},24725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},93695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},14747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},46786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},22734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},17920,(e,t,r)=>{t.exports=e.x("better-sqlite3-e930ad348bee7320",()=>require("better-sqlite3-e930ad348bee7320"))},33405,(e,t,r)=>{t.exports=e.x("child_process",()=>require("child_process"))},14189,e=>{"use strict";var t=e.i(33405);let r=e=>"string"==typeof e&&e.trim().length>0,a=e=>({push:e,flush:()=>{}}),s=e=>{let t="",a=0,s=!1,i=t=>{let i=t.trim();if(i)try{let t=JSON.parse(i);s=!0;let n=(e=>{if(!e||"object"!=typeof e)return"";if("assistant"===e.type)return(Array.isArray(e?.message?.content)?e.message.content:[]).flatMap(e=>e?.type==="text"&&r(e.text)?[e.text]:[]).join("");let t=e?.event;return"stream_event"===e.type&&t?.type==="content_block_delta"&&t?.delta?.type==="text_delta"&&r(t?.delta?.text)?t.delta.text:""})(t);if(!n||t?.type==="assistant"&&a>0)return;a+=n.length,e(n)}catch{s||e(`${t}
2
2
  `)}};return{push:e=>{for(t+=e;;){let e=t.indexOf("\n");if(-1===e)break;i(t.slice(0,e)),t=t.slice(e+1)}},flush:()=>{t.trim()&&i(t),t=""}}},i=e=>{let t="",a=!1,s="",i=t=>{let i=t.trim();if(i)try{let t=JSON.parse(i);a=!0,t?.type==="message"&&t?.role==="assistant"&&r(t?.content)&&((t,r)=>{if(t){if(r){if(s&&t.startsWith(s)){let r=t.slice(s.length);r&&e(r),s=t;return}e(t),s+=t;return}if(s&&t.startsWith(s)){let r=t.slice(s.length);r&&e(r),s=t;return}s||(e(t),s=t)}})(t.content,t?.delta===!0)}catch{a||e(`${t}
3
3
  `)}};return{push:e=>{for(t+=e;;){let e=t.indexOf("\n");if(-1===e)break;i(t.slice(0,e)),t=t.slice(e+1)}},flush:()=>{t.trim()&&i(t),t=""}}},n=e=>{let t="",a=!1,s=new Set,i=t=>{let i=t.trim();if(i)try{let t=JSON.parse(i);if(a=!0,t?.type==="item.completed"&&r(t?.item?.id)){if(s.has(t.item.id))return;s.add(t.item.id)}let n=t&&"object"==typeof t?"item.completed"===t.type&&t.item?.type==="agent_message"&&r(t.item?.text)?t.item.text:"item.delta"===t.type&&t.item?.type==="agent_message"&&r(t.delta?.text)?t.delta.text:"":"";n&&e(n)}catch{a||e(`${t}
4
- `)}};return{push:e=>{for(t+=e;;){let e=t.indexOf("\n");if(-1===e)break;i(t.slice(0,e)),t=t.slice(e+1)}},flush:()=>{t.trim()&&i(t),t=""}}},o=e=>{let t="",r=!1,a=[/^Thinking\.\.\./,/^<think>/i],s=[/\.\.\.done thinking\.?\s*/,/<\/think>/i];return{push:i=>{t+=i,(()=>{for(;t.length>0;){if(r){let e=-1,a=0;for(let r of s){let s=t.match(r);s&&void 0!==s.index&&(s.index,s[0].length,(-1===e||s.index<e)&&(e=s.index,a=s[0].length))}if(-1!==e){t=t.slice(e+a),r=!1,t=t.replace(/^\s*\n*/,"");continue}return}for(let s of a){let a=t.match(s);if(a&&void 0!==a.index){let s=t.slice(0,a.index);s&&e.push(s),t=t.slice(a.index+a[0].length),r=!0;break}}if(r)continue;let i=Math.max(0,t.length-30);i>0&&(e.push(t.slice(0,i)),t=t.slice(i));return}})()},flush:()=>{!r&&t&&e.push(t),t="",e.flush()}}};async function l({command:e,args:r,timeoutMs:a,signal:s,onDelta:i,onLog:n}){await new Promise((o,l)=>{n&&n("stderr",`$ ${e} ${r.map(e=>e.length>80?e.slice(0,80)+"…":e).join(" ")}
5
- `);let d=(0,t.spawn)(e,r,{stdio:["ignore","pipe","pipe"],env:{...process.env,CLAUDECODE:void 0}}),p=!1,c="",u=!1,m=e=>{p||(p=!0,clearTimeout(T),s&&s.removeEventListener("abort",E),e?l(e):o())},E=()=>{d.kill("SIGTERM"),m(Error("Chat request aborted."))};s&&s.addEventListener("abort",E,{once:!0});let T=setTimeout(()=>{u=!0,d.kill("SIGKILL"),m(Error(`CLI request timed out after ${a}ms.`))},a);d.stdout.on("data",e=>{let t=e.toString();c+=t,i(t),n&&n("stdout",t)}),d.stderr.on("data",e=>{let t=e.toString();c+=t,n&&n("stderr",t)}),d.on("error",e=>m(e)),d.on("close",(e,t)=>{if(!p&&!u){if(0===e)return void m();m(Error(`CLI command failed (exit=${e??"unknown"} signal=${t??"none"}).${c.trim()?` ${c.trim()}`:""}`))}})})}async function d({provider:e,model:r,prompt:d,identity:p,self:c,skills:u,systemContext:m,signal:E,onDelta:T,onLog:g}){let _,f,h,N,R=(_=!1,f=!1,h="",N=/^(?:```|~~~|#{1,6}\s|>\s|[-*+]\s|\d+\.\s)/,e=>{let t=e.replace(/\u001B\[[0-9;]*[A-Za-z]/g,"").replace(/\r\n/g,"\n").replace(/\r/g,"\n").replace(/[ \t]+\n/g,"\n").replace(/\n{3,}/g,"\n\n");if(!t.trim())return t.includes("\n")&&!_?(_=!0,"\n"):"";let r=_?t.replace(/^\n+/,"\n"):t,a=r.trimStart(),s=N.test(a),i=f&&s&&!_,n=f&&!_&&!i&&!/^\s/.test(r)&&/[.!?)]/.test(h)&&/^[A-Z0-9`(]/.test(r),o=i?`
4
+ `)}};return{push:e=>{for(t+=e;;){let e=t.indexOf("\n");if(-1===e)break;i(t.slice(0,e)),t=t.slice(e+1)}},flush:()=>{t.trim()&&i(t),t=""}}},o=e=>{let t="",r=!1,a=[/^Thinking\.\.\./,/^<think>/i],s=[/\.\.\.done thinking\.?\s*/,/<\/think>/i];return{push:i=>{t+=i,(()=>{for(;t.length>0;){if(r){let e=-1,a=0;for(let r of s){let s=t.match(r);s&&void 0!==s.index&&(s.index,s[0].length,(-1===e||s.index<e)&&(e=s.index,a=s[0].length))}if(-1!==e){t=t.slice(e+a),r=!1,t=t.replace(/^\s*\n*/,"");continue}return}for(let s of a){let a=t.match(s);if(a&&void 0!==a.index){let s=t.slice(0,a.index);s&&e.push(s),t=t.slice(a.index+a[0].length),r=!0;break}}if(r)continue;let i=Math.max(0,t.length-30);i>0&&(e.push(t.slice(0,i)),t=t.slice(i));return}})()},flush:()=>{!r&&t&&e.push(t),t="",e.flush()}}};async function l({command:e,args:r,timeoutMs:a,signal:s,onDelta:i,onLog:n,onSpawn:o}){await new Promise((l,d)=>{n&&n("stderr",`$ ${e} ${r.map(e=>e.length>80?e.slice(0,80)+"…":e).join(" ")}
5
+ `);let p=(0,t.spawn)(e,r,{stdio:["ignore","pipe","pipe"],env:{...process.env,CLAUDECODE:void 0}}),c=!1,u="",m=!1,E=e=>{c||(c=!0,clearTimeout(g),s&&s.removeEventListener("abort",T),e?d(e):l())},T=()=>{p.kill("SIGTERM"),E(Error("Chat request aborted."))};s&&s.addEventListener("abort",T,{once:!0}),o&&p.pid&&o(p.pid);let g=setTimeout(()=>{m=!0,p.kill("SIGKILL"),E(Error(`CLI request timed out after ${a}ms.`))},a);p.stdout.on("data",e=>{let t=e.toString();u+=t,i(t),n&&n("stdout",t)}),p.stderr.on("data",e=>{let t=e.toString();u+=t,n&&n("stderr",t)}),p.on("error",e=>E(e)),p.on("close",(e,t)=>{if(!c&&!m){if(0===e)return void E();E(Error(`CLI command failed (exit=${e??"unknown"} signal=${t??"none"}).${u.trim()?` ${u.trim()}`:""}`))}})})}async function d({provider:e,model:r,prompt:d,identity:p,self:c,skills:u,systemContext:m,signal:E,onDelta:T,onLog:g,onSpawn:_}){let f,h,N,R,y=(f=!1,h=!1,N="",R=/^(?:```|~~~|#{1,6}\s|>\s|[-*+]\s|\d+\.\s)/,e=>{let t=e.replace(/\u001B\[[0-9;]*[A-Za-z]/g,"").replace(/\r\n/g,"\n").replace(/\r/g,"\n").replace(/[ \t]+\n/g,"\n").replace(/\n{3,}/g,"\n\n");if(!t.trim())return t.includes("\n")&&!f?(f=!0,"\n"):"";let r=f?t.replace(/^\n+/,"\n"):t,a=r.trimStart(),s=R.test(a),i=h&&s&&!f,n=h&&!f&&!i&&!/^\s/.test(r)&&/[.!?)]/.test(N)&&/^[A-Z0-9`(]/.test(r),o=i?`
6
6
 
7
7
  ${r}`:n?`
8
- ${r}`:r;_=o.endsWith("\n"),f=f||o.trim().length>0;let l=o.replace(/\s+$/g,"");return l.length>0&&(h=l[l.length-1]??h),o}),y=e=>{let t=R(e);t&&T(t)},A=[],L=[];m&&L.push(m),p&&L.push(`<identity>
8
+ ${r}`:r;f=o.endsWith("\n"),h=h||o.trim().length>0;let l=o.replace(/\s+$/g,"");return l.length>0&&(N=l[l.length-1]??N),o}),A=e=>{let t=y(e);t&&T(t)},L=[],O=[];m&&O.push(m),p&&O.push(`<identity>
9
9
  ${p}
10
- </identity>`),c&&L.push(`<self>
10
+ </identity>`),c&&O.push(`<self>
11
11
  ${c}
12
- </self>`),u&&L.push(`<skills>
12
+ </self>`),u&&O.push(`<skills>
13
13
  ${u}
14
- </skills>`);let O=L.length>0?L.join("\n\n"):void 0;if((e=>{try{return 0===(0,t.spawnSync)("bash",["-lc","command -v agx >/dev/null 2>&1"],{encoding:"utf8"}).status}catch{return!1}})(0)){let t=O?`${O}
14
+ </skills>`);let S=O.length>0?O.join("\n\n"):void 0;if((e=>{try{return 0===(0,t.spawnSync)("bash",["-lc","command -v agx >/dev/null 2>&1"],{encoding:"utf8"}).status}catch{return!1}})(0)){let t=S?`${S}
15
15
 
16
- ${d}`:d;A.push(function({provider:e,model:t,prompt:r}){let a=[e,"-y","--print","--prompt",r];return t&&a.push("--model",t),{command:"agx",args:a,parser:"raw"}}({provider:e,model:r,prompt:t}))}if(0===A.length)throw Error(`No CLI runner available for provider "${e}". Install agx or provider CLI.`);let S=null;for(let e of A){let t="claude-stream-json"===e.parser?s(y):"codex-json"===e.parser?n(y):"gemini-stream-json"===e.parser?i(y):a(y),r=e.filterThoughts?o(t):t;try{await l({command:e.command,args:e.args,timeoutMs:6e5,signal:E,onDelta:r.push,onLog:g}),r.flush();return}catch(e){S=e instanceof Error?e:Error(String(e))}}throw S||Error("CLI execution failed.")}e.s(["runCliResponse",()=>d],14189)},64246,e=>{"use strict";var t=e.i(17920),r=e.i(22734),a=e.i(14747),s=e.i(46786);let i=process.env.AGX_GROUP_CHAT_DIR?.trim()||a.default.join(s.default.homedir(),".agx","group-chat"),n=a.default.join(i,"history.sqlite"),o="global",l=new Set(["ack","working","done","clarify","blocked"]),d={ack:new Set(["ack","working"]),working:new Set(["ack","working","done","clarify","blocked"]),done:new Set(["done","ack","working"]),clarify:new Set(["ack","clarify","working"]),blocked:new Set(["ack","blocked","working"])};class p extends Error{status;constructor(e,t){super(e),this.name="ReactionStoreError",this.status=t}}function c(e,t){return e.prepare(`PRAGMA table_info(${t})`).all().some(e=>"thread_id"===e.name)}let u=async e=>{await r.promises.mkdir(i,{recursive:!0});let a=new t.default(n);a.pragma("journal_mode = WAL");try{return a.exec(`
16
+ ${d}`:d;L.push(function({provider:e,model:t,prompt:r}){let a=[e,"-y","--print","--prompt",r];return t&&a.push("--model",t),{command:"agx",args:a,parser:"raw"}}({provider:e,model:r,prompt:t}))}if(0===L.length)throw Error(`No CLI runner available for provider "${e}". Install agx or provider CLI.`);let I=null;for(let e of L){let t="claude-stream-json"===e.parser?s(A):"codex-json"===e.parser?n(A):"gemini-stream-json"===e.parser?i(A):a(A),r=e.filterThoughts?o(t):t;try{await l({command:e.command,args:e.args,timeoutMs:6e5,signal:E,onDelta:r.push,onLog:g,onSpawn:_}),r.flush();return}catch(e){I=e instanceof Error?e:Error(String(e))}}throw I||Error("CLI execution failed.")}e.s(["runCliResponse",()=>d],14189)},64246,e=>{"use strict";var t=e.i(17920),r=e.i(22734),a=e.i(14747),s=e.i(46786);let i=process.env.AGX_GROUP_CHAT_DIR?.trim()||a.default.join(s.default.homedir(),".agx","group-chat"),n=a.default.join(i,"history.sqlite"),o="global",l=new Set(["ack","working","done","clarify","blocked"]),d={ack:new Set(["ack","working"]),working:new Set(["ack","working","done","clarify","blocked"]),done:new Set(["done","ack","working"]),clarify:new Set(["ack","clarify","working"]),blocked:new Set(["ack","blocked","working"])};class p extends Error{status;constructor(e,t){super(e),this.name="ReactionStoreError",this.status=t}}function c(e,t){return e.prepare(`PRAGMA table_info(${t})`).all().some(e=>"thread_id"===e.name)}let u=async e=>{await r.promises.mkdir(i,{recursive:!0});let a=new t.default(n);a.pragma("journal_mode = WAL");try{return a.exec(`
17
17
  CREATE TABLE IF NOT EXISTS messages (
18
18
  thread_id TEXT NOT NULL,
19
19
  id TEXT NOT NULL,
@@ -1,19 +1,19 @@
1
1
  module.exports=[18622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},24725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},93695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},14747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},46786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},22734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},17920,(e,t,r)=>{t.exports=e.x("better-sqlite3-e930ad348bee7320",()=>require("better-sqlite3-e930ad348bee7320"))},33405,(e,t,r)=>{t.exports=e.x("child_process",()=>require("child_process"))},14189,e=>{"use strict";var t=e.i(33405);let r=e=>"string"==typeof e&&e.trim().length>0,a=e=>({push:e,flush:()=>{}}),s=e=>{let t="",a=0,s=!1,i=t=>{let i=t.trim();if(i)try{let t=JSON.parse(i);s=!0;let n=(e=>{if(!e||"object"!=typeof e)return"";if("assistant"===e.type)return(Array.isArray(e?.message?.content)?e.message.content:[]).flatMap(e=>e?.type==="text"&&r(e.text)?[e.text]:[]).join("");let t=e?.event;return"stream_event"===e.type&&t?.type==="content_block_delta"&&t?.delta?.type==="text_delta"&&r(t?.delta?.text)?t.delta.text:""})(t);if(!n||t?.type==="assistant"&&a>0)return;a+=n.length,e(n)}catch{s||e(`${t}
2
2
  `)}};return{push:e=>{for(t+=e;;){let e=t.indexOf("\n");if(-1===e)break;i(t.slice(0,e)),t=t.slice(e+1)}},flush:()=>{t.trim()&&i(t),t=""}}},i=e=>{let t="",a=!1,s="",i=t=>{let i=t.trim();if(i)try{let t=JSON.parse(i);a=!0,t?.type==="message"&&t?.role==="assistant"&&r(t?.content)&&((t,r)=>{if(t){if(r){if(s&&t.startsWith(s)){let r=t.slice(s.length);r&&e(r),s=t;return}e(t),s+=t;return}if(s&&t.startsWith(s)){let r=t.slice(s.length);r&&e(r),s=t;return}s||(e(t),s=t)}})(t.content,t?.delta===!0)}catch{a||e(`${t}
3
3
  `)}};return{push:e=>{for(t+=e;;){let e=t.indexOf("\n");if(-1===e)break;i(t.slice(0,e)),t=t.slice(e+1)}},flush:()=>{t.trim()&&i(t),t=""}}},n=e=>{let t="",a=!1,s=new Set,i=t=>{let i=t.trim();if(i)try{let t=JSON.parse(i);if(a=!0,t?.type==="item.completed"&&r(t?.item?.id)){if(s.has(t.item.id))return;s.add(t.item.id)}let n=t&&"object"==typeof t?"item.completed"===t.type&&t.item?.type==="agent_message"&&r(t.item?.text)?t.item.text:"item.delta"===t.type&&t.item?.type==="agent_message"&&r(t.delta?.text)?t.delta.text:"":"";n&&e(n)}catch{a||e(`${t}
4
- `)}};return{push:e=>{for(t+=e;;){let e=t.indexOf("\n");if(-1===e)break;i(t.slice(0,e)),t=t.slice(e+1)}},flush:()=>{t.trim()&&i(t),t=""}}},o=e=>{let t="",r=!1,a=[/^Thinking\.\.\./,/^<think>/i],s=[/\.\.\.done thinking\.?\s*/,/<\/think>/i];return{push:i=>{t+=i,(()=>{for(;t.length>0;){if(r){let e=-1,a=0;for(let r of s){let s=t.match(r);s&&void 0!==s.index&&(s.index,s[0].length,(-1===e||s.index<e)&&(e=s.index,a=s[0].length))}if(-1!==e){t=t.slice(e+a),r=!1,t=t.replace(/^\s*\n*/,"");continue}return}for(let s of a){let a=t.match(s);if(a&&void 0!==a.index){let s=t.slice(0,a.index);s&&e.push(s),t=t.slice(a.index+a[0].length),r=!0;break}}if(r)continue;let i=Math.max(0,t.length-30);i>0&&(e.push(t.slice(0,i)),t=t.slice(i));return}})()},flush:()=>{!r&&t&&e.push(t),t="",e.flush()}}};async function l({command:e,args:r,timeoutMs:a,signal:s,onDelta:i,onLog:n}){await new Promise((o,l)=>{n&&n("stderr",`$ ${e} ${r.map(e=>e.length>80?e.slice(0,80)+"…":e).join(" ")}
5
- `);let d=(0,t.spawn)(e,r,{stdio:["ignore","pipe","pipe"],env:{...process.env,CLAUDECODE:void 0}}),p=!1,c="",u=!1,m=e=>{p||(p=!0,clearTimeout(T),s&&s.removeEventListener("abort",E),e?l(e):o())},E=()=>{d.kill("SIGTERM"),m(Error("Chat request aborted."))};s&&s.addEventListener("abort",E,{once:!0});let T=setTimeout(()=>{u=!0,d.kill("SIGKILL"),m(Error(`CLI request timed out after ${a}ms.`))},a);d.stdout.on("data",e=>{let t=e.toString();c+=t,i(t),n&&n("stdout",t)}),d.stderr.on("data",e=>{let t=e.toString();c+=t,n&&n("stderr",t)}),d.on("error",e=>m(e)),d.on("close",(e,t)=>{if(!p&&!u){if(0===e)return void m();m(Error(`CLI command failed (exit=${e??"unknown"} signal=${t??"none"}).${c.trim()?` ${c.trim()}`:""}`))}})})}async function d({provider:e,model:r,prompt:d,identity:p,self:c,skills:u,systemContext:m,signal:E,onDelta:T,onLog:f}){let g,_,h,N,R=(g=!1,_=!1,h="",N=/^(?:```|~~~|#{1,6}\s|>\s|[-*+]\s|\d+\.\s)/,e=>{let t=e.replace(/\u001B\[[0-9;]*[A-Za-z]/g,"").replace(/\r\n/g,"\n").replace(/\r/g,"\n").replace(/[ \t]+\n/g,"\n").replace(/\n{3,}/g,"\n\n");if(!t.trim())return t.includes("\n")&&!g?(g=!0,"\n"):"";let r=g?t.replace(/^\n+/,"\n"):t,a=r.trimStart(),s=N.test(a),i=_&&s&&!g,n=_&&!g&&!i&&!/^\s/.test(r)&&/[.!?)]/.test(h)&&/^[A-Z0-9`(]/.test(r),o=i?`
4
+ `)}};return{push:e=>{for(t+=e;;){let e=t.indexOf("\n");if(-1===e)break;i(t.slice(0,e)),t=t.slice(e+1)}},flush:()=>{t.trim()&&i(t),t=""}}},o=e=>{let t="",r=!1,a=[/^Thinking\.\.\./,/^<think>/i],s=[/\.\.\.done thinking\.?\s*/,/<\/think>/i];return{push:i=>{t+=i,(()=>{for(;t.length>0;){if(r){let e=-1,a=0;for(let r of s){let s=t.match(r);s&&void 0!==s.index&&(s.index,s[0].length,(-1===e||s.index<e)&&(e=s.index,a=s[0].length))}if(-1!==e){t=t.slice(e+a),r=!1,t=t.replace(/^\s*\n*/,"");continue}return}for(let s of a){let a=t.match(s);if(a&&void 0!==a.index){let s=t.slice(0,a.index);s&&e.push(s),t=t.slice(a.index+a[0].length),r=!0;break}}if(r)continue;let i=Math.max(0,t.length-30);i>0&&(e.push(t.slice(0,i)),t=t.slice(i));return}})()},flush:()=>{!r&&t&&e.push(t),t="",e.flush()}}};async function d({command:e,args:r,timeoutMs:a,signal:s,onDelta:i,onLog:n,onSpawn:o}){await new Promise((d,l)=>{n&&n("stderr",`$ ${e} ${r.map(e=>e.length>80?e.slice(0,80)+"…":e).join(" ")}
5
+ `);let p=(0,t.spawn)(e,r,{stdio:["ignore","pipe","pipe"],env:{...process.env,CLAUDECODE:void 0}}),c=!1,u="",m=!1,E=e=>{c||(c=!0,clearTimeout(f),s&&s.removeEventListener("abort",T),e?l(e):d())},T=()=>{p.kill("SIGTERM"),E(Error("Chat request aborted."))};s&&s.addEventListener("abort",T,{once:!0}),o&&p.pid&&o(p.pid);let f=setTimeout(()=>{m=!0,p.kill("SIGKILL"),E(Error(`CLI request timed out after ${a}ms.`))},a);p.stdout.on("data",e=>{let t=e.toString();u+=t,i(t),n&&n("stdout",t)}),p.stderr.on("data",e=>{let t=e.toString();u+=t,n&&n("stderr",t)}),p.on("error",e=>E(e)),p.on("close",(e,t)=>{if(!c&&!m){if(0===e)return void E();E(Error(`CLI command failed (exit=${e??"unknown"} signal=${t??"none"}).${u.trim()?` ${u.trim()}`:""}`))}})})}async function l({provider:e,model:r,prompt:l,identity:p,self:c,skills:u,systemContext:m,signal:E,onDelta:T,onLog:f,onSpawn:g}){let _,h,N,R,y=(_=!1,h=!1,N="",R=/^(?:```|~~~|#{1,6}\s|>\s|[-*+]\s|\d+\.\s)/,e=>{let t=e.replace(/\u001B\[[0-9;]*[A-Za-z]/g,"").replace(/\r\n/g,"\n").replace(/\r/g,"\n").replace(/[ \t]+\n/g,"\n").replace(/\n{3,}/g,"\n\n");if(!t.trim())return t.includes("\n")&&!_?(_=!0,"\n"):"";let r=_?t.replace(/^\n+/,"\n"):t,a=r.trimStart(),s=R.test(a),i=h&&s&&!_,n=h&&!_&&!i&&!/^\s/.test(r)&&/[.!?)]/.test(N)&&/^[A-Z0-9`(]/.test(r),o=i?`
6
6
 
7
7
  ${r}`:n?`
8
- ${r}`:r;g=o.endsWith("\n"),_=_||o.trim().length>0;let l=o.replace(/\s+$/g,"");return l.length>0&&(h=l[l.length-1]??h),o}),y=e=>{let t=R(e);t&&T(t)},L=[],A=[];m&&A.push(m),p&&A.push(`<identity>
8
+ ${r}`:r;_=o.endsWith("\n"),h=h||o.trim().length>0;let d=o.replace(/\s+$/g,"");return d.length>0&&(N=d[d.length-1]??N),o}),L=e=>{let t=y(e);t&&T(t)},A=[],O=[];m&&O.push(m),p&&O.push(`<identity>
9
9
  ${p}
10
- </identity>`),c&&A.push(`<self>
10
+ </identity>`),c&&O.push(`<self>
11
11
  ${c}
12
- </self>`),u&&A.push(`<skills>
12
+ </self>`),u&&O.push(`<skills>
13
13
  ${u}
14
- </skills>`);let O=A.length>0?A.join("\n\n"):void 0;if((e=>{try{return 0===(0,t.spawnSync)("bash",["-lc","command -v agx >/dev/null 2>&1"],{encoding:"utf8"}).status}catch{return!1}})(0)){let t=O?`${O}
14
+ </skills>`);let S=O.length>0?O.join("\n\n"):void 0;if((e=>{try{return 0===(0,t.spawnSync)("bash",["-lc","command -v agx >/dev/null 2>&1"],{encoding:"utf8"}).status}catch{return!1}})(0)){let t=S?`${S}
15
15
 
16
- ${d}`:d;L.push(function({provider:e,model:t,prompt:r}){let a=[e,"-y","--print","--prompt",r];return t&&a.push("--model",t),{command:"agx",args:a,parser:"raw"}}({provider:e,model:r,prompt:t}))}if(0===L.length)throw Error(`No CLI runner available for provider "${e}". Install agx or provider CLI.`);let S=null;for(let e of L){let t="claude-stream-json"===e.parser?s(y):"codex-json"===e.parser?n(y):"gemini-stream-json"===e.parser?i(y):a(y),r=e.filterThoughts?o(t):t;try{await l({command:e.command,args:e.args,timeoutMs:6e5,signal:E,onDelta:r.push,onLog:f}),r.flush();return}catch(e){S=e instanceof Error?e:Error(String(e))}}throw S||Error("CLI execution failed.")}e.s(["runCliResponse",()=>d],14189)},64246,e=>{"use strict";var t=e.i(17920),r=e.i(22734),a=e.i(14747),s=e.i(46786);let i=process.env.AGX_GROUP_CHAT_DIR?.trim()||a.default.join(s.default.homedir(),".agx","group-chat"),n=a.default.join(i,"history.sqlite"),o="global",l=new Set(["ack","working","done","clarify","blocked"]),d={ack:new Set(["ack","working"]),working:new Set(["ack","working","done","clarify","blocked"]),done:new Set(["done","ack","working"]),clarify:new Set(["ack","clarify","working"]),blocked:new Set(["ack","blocked","working"])};class p extends Error{status;constructor(e,t){super(e),this.name="ReactionStoreError",this.status=t}}function c(e,t){return e.prepare(`PRAGMA table_info(${t})`).all().some(e=>"thread_id"===e.name)}let u=async e=>{await r.promises.mkdir(i,{recursive:!0});let a=new t.default(n);a.pragma("journal_mode = WAL");try{return a.exec(`
16
+ ${l}`:l;A.push(function({provider:e,model:t,prompt:r}){let a=[e,"-y","--print","--prompt",r];return t&&a.push("--model",t),{command:"agx",args:a,parser:"raw"}}({provider:e,model:r,prompt:t}))}if(0===A.length)throw Error(`No CLI runner available for provider "${e}". Install agx or provider CLI.`);let I=null;for(let e of A){let t="claude-stream-json"===e.parser?s(L):"codex-json"===e.parser?n(L):"gemini-stream-json"===e.parser?i(L):a(L),r=e.filterThoughts?o(t):t;try{await d({command:e.command,args:e.args,timeoutMs:6e5,signal:E,onDelta:r.push,onLog:f,onSpawn:g}),r.flush();return}catch(e){I=e instanceof Error?e:Error(String(e))}}throw I||Error("CLI execution failed.")}e.s(["runCliResponse",()=>l],14189)},64246,e=>{"use strict";var t=e.i(17920),r=e.i(22734),a=e.i(14747),s=e.i(46786);let i=process.env.AGX_GROUP_CHAT_DIR?.trim()||a.default.join(s.default.homedir(),".agx","group-chat"),n=a.default.join(i,"history.sqlite"),o="global",d=new Set(["ack","working","done","clarify","blocked"]),l={ack:new Set(["ack","working"]),working:new Set(["ack","working","done","clarify","blocked"]),done:new Set(["done","ack","working"]),clarify:new Set(["ack","clarify","working"]),blocked:new Set(["ack","blocked","working"])};class p extends Error{status;constructor(e,t){super(e),this.name="ReactionStoreError",this.status=t}}function c(e,t){return e.prepare(`PRAGMA table_info(${t})`).all().some(e=>"thread_id"===e.name)}let u=async e=>{await r.promises.mkdir(i,{recursive:!0});let a=new t.default(n);a.pragma("journal_mode = WAL");try{return a.exec(`
17
17
  CREATE TABLE IF NOT EXISTS messages (
18
18
  thread_id TEXT NOT NULL,
19
19
  id TEXT NOT NULL,
@@ -142,19 +142,19 @@ ${d}`:d;L.push(function({provider:e,model:t,prompt:r}){let a=[e,"-y","--print","
142
142
  AND (id = ? OR root_message_id = ?)
143
143
  )`).run(t,t,r,r),e.prepare(`DELETE FROM messages
144
144
  WHERE thread_id = ?
145
- AND (id = ? OR root_message_id = ?)`).run(t,r,r)})(r,a)})}async function R(e){let t=e.query.trim();if(!t)return{results:[],total:0};let r="string"==typeof e.threadId&&e.threadId.trim()||null,a=Number.isFinite(e.limit)?Number(e.limit):20,s=Number.isFinite(e.offset)?Number(e.offset):0,i=Math.min(Math.max(Math.trunc(a),1),100),n=Math.max(Math.trunc(s),0);return u(e=>{let a=["messages_fts MATCH ?"],s=[t];r&&(a.push("m.thread_id = ?"),s.push(r));let o=a.join(" AND "),l=e.prepare(`SELECT m.thread_id, m.id, m.role, m.participant_id, m.timestamp, m.root_message_id,
145
+ AND (id = ? OR root_message_id = ?)`).run(t,r,r)})(r,a)})}async function R(e){let t=e.query.trim();if(!t)return{results:[],total:0};let r="string"==typeof e.threadId&&e.threadId.trim()||null,a=Number.isFinite(e.limit)?Number(e.limit):20,s=Number.isFinite(e.offset)?Number(e.offset):0,i=Math.min(Math.max(Math.trunc(a),1),100),n=Math.max(Math.trunc(s),0);return u(e=>{let a=["messages_fts MATCH ?"],s=[t];r&&(a.push("m.thread_id = ?"),s.push(r));let o=a.join(" AND "),d=e.prepare(`SELECT m.thread_id, m.id, m.role, m.participant_id, m.timestamp, m.root_message_id,
146
146
  snippet(messages_fts, 0, '<mark>', '</mark>', '...', 32) AS snippet,
147
147
  bm25(messages_fts) as rank
148
148
  FROM messages_fts
149
149
  JOIN messages m ON messages_fts.rowid = m.rowid
150
150
  WHERE ${o}
151
151
  ORDER BY rank ASC, m.timestamp DESC
152
- LIMIT ? OFFSET ?`).all(...s,i,n),d=e.prepare(`SELECT COUNT(*) as total
152
+ LIMIT ? OFFSET ?`).all(...s,i,n),l=e.prepare(`SELECT COUNT(*) as total
153
153
  FROM messages_fts
154
154
  JOIN messages m ON messages_fts.rowid = m.rowid
155
- WHERE ${o}`).get(...s);return{results:l.map(e=>({threadId:e.thread_id,messageId:e.id,role:e.role,participantId:e.participant_id,snippet:e.snippet,timestamp:e.timestamp,rootMessageId:e.root_message_id})),total:d?.total??0}})}async function y(e){let t=e.threadId?.trim()||o,r=e.messageId?.trim(),a=e.participantId?.trim(),s=e.type;if(!r)throw new p("messageId is required",400);if(!a)throw new p("participantId is required",400);if(!l.has(s))throw new p(`Invalid reaction type: ${String(s)}`,400);let i=T(e.reason),n=T(e.blockerCode),c="clarify"===s||"blocked"===s;if(c&&!i)throw new p(`"${s}" reactions require a reason`,400);let m=c?i:null,f="blocked"===s?n:null;return u(e=>{var i;if(!e.prepare("SELECT 1 FROM messages WHERE thread_id = ? AND id = ? LIMIT 1").get(t,r))throw new p(`Message not found: ${r}`,404);let n=e.prepare(`SELECT type, reason, blocker_code
155
+ WHERE ${o}`).get(...s);return{results:d.map(e=>({threadId:e.thread_id,messageId:e.id,role:e.role,participantId:e.participant_id,snippet:e.snippet,timestamp:e.timestamp,rootMessageId:e.root_message_id})),total:l?.total??0}})}async function y(e){let t=e.threadId?.trim()||o,r=e.messageId?.trim(),a=e.participantId?.trim(),s=e.type;if(!r)throw new p("messageId is required",400);if(!a)throw new p("participantId is required",400);if(!d.has(s))throw new p(`Invalid reaction type: ${String(s)}`,400);let i=T(e.reason),n=T(e.blockerCode),c="clarify"===s||"blocked"===s;if(c&&!i)throw new p(`"${s}" reactions require a reason`,400);let m=c?i:null,f="blocked"===s?n:null;return u(e=>{var i;if(!e.prepare("SELECT 1 FROM messages WHERE thread_id = ? AND id = ? LIMIT 1").get(t,r))throw new p(`Message not found: ${r}`,404);let n=e.prepare(`SELECT type, reason, blocker_code
156
156
  FROM message_reactions
157
- WHERE thread_id = ? AND message_id = ? AND participant_id = ?`).get(t,r,a);if(i=n?.type??null,!(!i||d[i].has(s)))throw new p(`Cannot transition reaction from "${n.type}" to "${s}"`,409);if(n&&n.type===s&&T(n.reason)===m&&T(n.blocker_code)===f)return{updated:!1,reactions:E(e,t,[r]).get(r)??[]};let o=Date.now();return e.prepare(`INSERT INTO message_reactions (thread_id, message_id, participant_id, type, reason, blocker_code, updated_at)
157
+ WHERE thread_id = ? AND message_id = ? AND participant_id = ?`).get(t,r,a);if(i=n?.type??null,!(!i||l[i].has(s)))throw new p(`Cannot transition reaction from "${n.type}" to "${s}"`,409);if(n&&n.type===s&&T(n.reason)===m&&T(n.blocker_code)===f)return{updated:!1,reactions:E(e,t,[r]).get(r)??[]};let o=Date.now();return e.prepare(`INSERT INTO message_reactions (thread_id, message_id, participant_id, type, reason, blocker_code, updated_at)
158
158
  VALUES (?, ?, ?, ?, ?, ?, ?)
159
159
  ON CONFLICT(thread_id, message_id, participant_id)
160
160
  DO UPDATE SET
@@ -172,7 +172,7 @@ ${d}`:d;L.push(function({provider:e,model:t,prompt:r}){let a=[e,"-y","--print","
172
172
  WHERE thread_id = ? AND type = 'working' AND updated_at <= ?`).run(s,r,i).changes}))}async function I(e,t,r){let a=e.trim()||o;return u(e=>{e.prepare(`INSERT INTO task_drafts (thread_id, message_id, data, updated_at)
173
173
  VALUES (?, ?, ?, ?)
174
174
  ON CONFLICT(thread_id, message_id)
175
- DO UPDATE SET data = excluded.data, updated_at = excluded.updated_at`).run(a,t,JSON.stringify(r),Date.now())})}async function x(e){let t=e.trim()||o;return u(e=>{let r=e.prepare("SELECT message_id, data FROM task_drafts WHERE thread_id = ?").all(t),a={};for(let e of r)a[e.message_id]=JSON.parse(e.data);return a})}e.s(["ReactionStoreError",()=>p,"clearHistory",()=>h,"clearLogs",()=>O,"clearRootThread",()=>N,"loadHistory",()=>f,"loadLogs",()=>A,"loadTaskDrafts",()=>x,"saveLogs",()=>L,"saveMessages",()=>g,"saveTaskDraft",()=>I,"searchMessages",()=>R,"setReaction",()=>y,"sweepStaleWorkingReactions",()=>S,"updateMessageStatus",()=>_])},13466,e=>{"use strict";var t=e.i(17920),r=e.i(22734),a=e.i(14747),s=e.i(46786);let i=process.env.AGX_GROUP_CHAT_DIR?.trim()||a.default.join(s.default.homedir(),".agx","group-chat"),n=a.default.join(i,"history.sqlite"),o=process.env.AGX_AGENTS_DIR?.trim()||a.default.join(s.default.homedir(),".agx","agents");function l(){(0,r.mkdirSync)(i,{recursive:!0});let e=new t.default(n);e.pragma("journal_mode = WAL"),e.exec(`
175
+ DO UPDATE SET data = excluded.data, updated_at = excluded.updated_at`).run(a,t,JSON.stringify(r),Date.now())})}async function x(e){let t=e.trim()||o;return u(e=>{let r=e.prepare("SELECT message_id, data FROM task_drafts WHERE thread_id = ?").all(t),a={};for(let e of r)a[e.message_id]=JSON.parse(e.data);return a})}e.s(["ReactionStoreError",()=>p,"clearHistory",()=>h,"clearLogs",()=>O,"clearRootThread",()=>N,"loadHistory",()=>f,"loadLogs",()=>A,"loadTaskDrafts",()=>x,"saveLogs",()=>L,"saveMessages",()=>g,"saveTaskDraft",()=>I,"searchMessages",()=>R,"setReaction",()=>y,"sweepStaleWorkingReactions",()=>S,"updateMessageStatus",()=>_])},13466,e=>{"use strict";var t=e.i(17920),r=e.i(22734),a=e.i(14747),s=e.i(46786);let i=process.env.AGX_GROUP_CHAT_DIR?.trim()||a.default.join(s.default.homedir(),".agx","group-chat"),n=a.default.join(i,"history.sqlite"),o=process.env.AGX_AGENTS_DIR?.trim()||a.default.join(s.default.homedir(),".agx","agents");function d(){(0,r.mkdirSync)(i,{recursive:!0});let e=new t.default(n);e.pragma("journal_mode = WAL"),e.exec(`
176
176
  CREATE TABLE IF NOT EXISTS participants (
177
177
  id TEXT PRIMARY KEY,
178
178
  name TEXT NOT NULL,
@@ -184,8 +184,8 @@ ${d}`:d;L.push(function({provider:e,model:t,prompt:r}){let a=[e,"-y","--print","
184
184
  color TEXT NOT NULL,
185
185
  sort_order INTEGER NOT NULL DEFAULT 0
186
186
  );
187
- `);let s=e.prepare("PRAGMA table_info(participants)").all();return s.some(e=>"persona"===e.name)&&(e.exec("ALTER TABLE participants RENAME COLUMN persona TO identity"),e.exec("ALTER TABLE participants RENAME COLUMN persona_file TO identity_file")),s.some(e=>"identity_file"===e.name)||s.some(e=>"persona_file"===e.name)||e.exec("ALTER TABLE participants ADD COLUMN identity_file TEXT"),s.some(e=>"skills_json"===e.name)||e.exec("ALTER TABLE participants ADD COLUMN skills_json TEXT"),s.some(e=>"variables_json"===e.name)||e.exec("ALTER TABLE participants ADD COLUMN variables_json TEXT"),s.some(e=>"sort_order"===e.name)||(e.exec("ALTER TABLE participants ADD COLUMN sort_order INTEGER NOT NULL DEFAULT 0"),e.exec("UPDATE participants SET sort_order = rowid")),!function(e){let t=e.prepare("SELECT id, name, provider FROM participants").all();if(0===t.length)return;let s=new Set(t.map(e=>e.id)),i=new Map(t.map(e=>[e.id,e.id])),n=[];for(let e of t){let t=(e.name||"").trim().toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").replace(/--+/g,"-");if(!t||e.id===t||e.id!==e.provider)continue;s.delete(e.id);let r=function(e,t){if(!t.has(e))return e;let r=2,a=`${e}-${r}`;for(;t.has(a);)r+=1,a=`${e}-${r}`;return a}(t,s);s.add(r),i.set(e.id,r),n.push({from:e.id,to:r,name:e.name})}let l=t.map(e=>({id:i.get(e.id)||e.id,provider:e.provider})),d=new Set(l.map(e=>e.id)),p=new Map;for(let e of l){let t=e.provider.trim();if(!t)continue;let r=p.get(t)||new Set;r.add(e.id),p.set(t,r)}let c=[];for(let[e,t]of p){if(1!==t.size)continue;let[r]=Array.from(t);r&&e!==r&&(d.has(e)||c.push({from:e,to:r}))}if(0===n.length&&0===c.length)return;let u=new Map;for(let e of n)u.set(e.from,e.to);for(let e of c)u.set(e.from,e.to);let m=Array.from(u.entries()).map(([e,t])=>({from:e,to:t})),E=new Set(e.prepare("SELECT name FROM sqlite_master WHERE type = 'table'").all().map(e=>e.name));for(let t of(e.transaction((t,r)=>{let a=e.prepare("UPDATE participants SET id = ? WHERE id = ?"),s=E.has("messages")?e.prepare("UPDATE messages SET participant_id = ? WHERE participant_id = ?"):null,i=E.has("logs")?e.prepare("UPDATE logs SET participant_id = ? WHERE participant_id = ?"):null,n=E.has("message_reactions")?e.prepare("UPDATE message_reactions SET participant_id = ? WHERE participant_id = ?"):null;for(let e of t)a.run(e.to,e.from);for(let e of r)s?.run(e.to,e.from),i?.run(e.to,e.from),n?.run(e.to,e.from)})(n.map(e=>({from:e.from,to:e.to})),m),n))!function(e,t,s){if(!e||!t||e===t)return;let i=a.default.join(o,e),n=a.default.join(o,t);if(!(0,r.existsSync)(i)||(0,r.existsSync)(n))return;(0,r.mkdirSync)(o,{recursive:!0}),(0,r.renameSync)(i,n);let l=a.default.join(n,"identity.json");if((0,r.existsSync)(l))try{let e={...JSON.parse((0,r.readFileSync)(l,"utf8")),name:"string"==typeof s&&s.trim()?s.trim():t};(0,r.writeFileSync)(l,`${JSON.stringify(e,null,2)}
188
- `,"utf8")}catch{}}(t.from,t.to,t.name)}(e),e}function d(){let e=l();try{return e.prepare("SELECT id, name, provider, model, identity, identity_file, skills_json, variables_json, color, sort_order FROM participants ORDER BY sort_order ASC, rowid ASC").all().map(e=>({id:e.id,name:e.name,provider:e.provider,model:e.model,color:e.color,...e.identity?{identity:e.identity}:{},...e.identity_file?{identityFile:e.identity_file}:{},...e.variables_json?(()=>{try{let t=JSON.parse(e.variables_json);if(t&&"object"==typeof t&&!Array.isArray(t))return{variables:t};return{}}catch{return{}}})():{},...e.skills_json?{skills:(()=>{try{let t=JSON.parse(e.skills_json);if(!Array.isArray(t))return[];return t.map(e=>"string"==typeof e?{file:e,condition:""}:e)}catch{return[]}})()}:{}}))}finally{e.close()}}function p(e){let t=l();try{t.prepare("INSERT OR REPLACE INTO participants (id, name, provider, model, identity, identity_file, skills_json, variables_json, color) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)").run(e.id,e.name,e.provider,e.model,e.identity??null,e.identityFile??null,e.skills&&e.skills.length>0?JSON.stringify(e.skills):null,e.variables&&Object.keys(e.variables).length>0?JSON.stringify(e.variables):null,e.color)}finally{t.close()}}function c(e){let t=l();try{t.prepare("UPDATE participants SET name = ?, provider = ?, model = ?, identity = ?, identity_file = ?, skills_json = ?, variables_json = ?, color = ? WHERE id = ?").run(e.name,e.provider,e.model,e.identity??null,e.identityFile??null,e.skills&&e.skills.length>0?JSON.stringify(e.skills):null,e.variables&&Object.keys(e.variables).length>0?JSON.stringify(e.variables):null,e.color,e.id)}finally{t.close()}}function u(e){let t=l();try{let r=t.prepare("UPDATE participants SET sort_order = ? WHERE id = ?");t.transaction(e=>{for(let t=0;t<e.length;t++)r.run(t,e[t])})(e)}finally{t.close()}}function m(e){let t=l();try{t.prepare("DELETE FROM participants WHERE id = ?").run(e)}finally{t.close()}}e.s(["addParticipant",()=>p,"loadParticipants",()=>d,"removeParticipant",()=>m,"reorderParticipants",()=>u,"updateParticipant",()=>c])},84210,e=>{"use strict";var t=e.i(11794),r=e.i(41852),a=e.i(19309),s=e.i(90850),i=e.i(24918),n=e.i(84604),o=e.i(37756),l=e.i(90661),d=e.i(90315),p=e.i(9168),c=e.i(12965),u=e.i(43715),m=e.i(79218),E=e.i(66263),T=e.i(15255),f=e.i(93695);e.i(65858);var g=e.i(95175),_=e.i(12244),h=e.i(64246),N=e.i(13466),R=e.i(14189);async function y(e){try{let t,{threadId:r,rootMessageId:a,activeParticipantIds:s}=await e.json();if(!r||!a)return _.NextResponse.json({error:"threadId and rootMessageId are required"},{status:400});let i=await (0,h.loadHistory)(r),n=i.find(e=>e.id===a);if(!n)return _.NextResponse.json({error:"Root message not found"},{status:404});let o=i.filter(e=>e.rootMessageId===a).sort((e,t)=>e.timestamp-t.timestamp),l=[n,...o],d=(0,N.loadParticipants)(),p=Array.isArray(s),c=function(e){if(!Array.isArray(e))return[];let t=new Set,r=[];for(let a of e){if("string"!=typeof a)continue;let e=a.trim();!e||t.has(e)||(t.add(e),r.push(e))}return r}(s),u=p?new Set(c):null,m=(null===u?d:d.filter(e=>u.has(e.id)))[0];if(!m)return _.NextResponse.json({error:"No active agents configured for this workspace"},{status:400});let E=Object.fromEntries(d.map(e=>[e.id,e])),T=l.map(e=>{let t="user"===e.role?"User":e.participantId?E[e.participantId]?.name||e.participantId:"Assistant";return`${t}: ${e.content}`}).join("\n\n"),f=`Read the following conversation and extract a list of actionable tasks that were discussed. Order them by execution sequence — tasks that others depend on should come first.
187
+ `);let s=e.prepare("PRAGMA table_info(participants)").all();return s.some(e=>"persona"===e.name)&&(e.exec("ALTER TABLE participants RENAME COLUMN persona TO identity"),e.exec("ALTER TABLE participants RENAME COLUMN persona_file TO identity_file")),s.some(e=>"identity_file"===e.name)||s.some(e=>"persona_file"===e.name)||e.exec("ALTER TABLE participants ADD COLUMN identity_file TEXT"),s.some(e=>"skills_json"===e.name)||e.exec("ALTER TABLE participants ADD COLUMN skills_json TEXT"),s.some(e=>"variables_json"===e.name)||e.exec("ALTER TABLE participants ADD COLUMN variables_json TEXT"),s.some(e=>"sort_order"===e.name)||(e.exec("ALTER TABLE participants ADD COLUMN sort_order INTEGER NOT NULL DEFAULT 0"),e.exec("UPDATE participants SET sort_order = rowid")),!function(e){let t=e.prepare("SELECT id, name, provider FROM participants").all();if(0===t.length)return;let s=new Set(t.map(e=>e.id)),i=new Map(t.map(e=>[e.id,e.id])),n=[];for(let e of t){let t=(e.name||"").trim().toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").replace(/--+/g,"-");if(!t||e.id===t||e.id!==e.provider)continue;s.delete(e.id);let r=function(e,t){if(!t.has(e))return e;let r=2,a=`${e}-${r}`;for(;t.has(a);)r+=1,a=`${e}-${r}`;return a}(t,s);s.add(r),i.set(e.id,r),n.push({from:e.id,to:r,name:e.name})}let d=t.map(e=>({id:i.get(e.id)||e.id,provider:e.provider})),l=new Set(d.map(e=>e.id)),p=new Map;for(let e of d){let t=e.provider.trim();if(!t)continue;let r=p.get(t)||new Set;r.add(e.id),p.set(t,r)}let c=[];for(let[e,t]of p){if(1!==t.size)continue;let[r]=Array.from(t);r&&e!==r&&(l.has(e)||c.push({from:e,to:r}))}if(0===n.length&&0===c.length)return;let u=new Map;for(let e of n)u.set(e.from,e.to);for(let e of c)u.set(e.from,e.to);let m=Array.from(u.entries()).map(([e,t])=>({from:e,to:t})),E=new Set(e.prepare("SELECT name FROM sqlite_master WHERE type = 'table'").all().map(e=>e.name));for(let t of(e.transaction((t,r)=>{let a=e.prepare("UPDATE participants SET id = ? WHERE id = ?"),s=E.has("messages")?e.prepare("UPDATE messages SET participant_id = ? WHERE participant_id = ?"):null,i=E.has("logs")?e.prepare("UPDATE logs SET participant_id = ? WHERE participant_id = ?"):null,n=E.has("message_reactions")?e.prepare("UPDATE message_reactions SET participant_id = ? WHERE participant_id = ?"):null;for(let e of t)a.run(e.to,e.from);for(let e of r)s?.run(e.to,e.from),i?.run(e.to,e.from),n?.run(e.to,e.from)})(n.map(e=>({from:e.from,to:e.to})),m),n))!function(e,t,s){if(!e||!t||e===t)return;let i=a.default.join(o,e),n=a.default.join(o,t);if(!(0,r.existsSync)(i)||(0,r.existsSync)(n))return;(0,r.mkdirSync)(o,{recursive:!0}),(0,r.renameSync)(i,n);let d=a.default.join(n,"identity.json");if((0,r.existsSync)(d))try{let e={...JSON.parse((0,r.readFileSync)(d,"utf8")),name:"string"==typeof s&&s.trim()?s.trim():t};(0,r.writeFileSync)(d,`${JSON.stringify(e,null,2)}
188
+ `,"utf8")}catch{}}(t.from,t.to,t.name)}(e),e}function l(){let e=d();try{return e.prepare("SELECT id, name, provider, model, identity, identity_file, skills_json, variables_json, color, sort_order FROM participants ORDER BY sort_order ASC, rowid ASC").all().map(e=>({id:e.id,name:e.name,provider:e.provider,model:e.model,color:e.color,...e.identity?{identity:e.identity}:{},...e.identity_file?{identityFile:e.identity_file}:{},...e.variables_json?(()=>{try{let t=JSON.parse(e.variables_json);if(t&&"object"==typeof t&&!Array.isArray(t))return{variables:t};return{}}catch{return{}}})():{},...e.skills_json?{skills:(()=>{try{let t=JSON.parse(e.skills_json);if(!Array.isArray(t))return[];return t.map(e=>"string"==typeof e?{file:e,condition:""}:e)}catch{return[]}})()}:{}}))}finally{e.close()}}function p(e){let t=d();try{t.prepare("INSERT OR REPLACE INTO participants (id, name, provider, model, identity, identity_file, skills_json, variables_json, color) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)").run(e.id,e.name,e.provider,e.model,e.identity??null,e.identityFile??null,e.skills&&e.skills.length>0?JSON.stringify(e.skills):null,e.variables&&Object.keys(e.variables).length>0?JSON.stringify(e.variables):null,e.color)}finally{t.close()}}function c(e){let t=d();try{t.prepare("UPDATE participants SET name = ?, provider = ?, model = ?, identity = ?, identity_file = ?, skills_json = ?, variables_json = ?, color = ? WHERE id = ?").run(e.name,e.provider,e.model,e.identity??null,e.identityFile??null,e.skills&&e.skills.length>0?JSON.stringify(e.skills):null,e.variables&&Object.keys(e.variables).length>0?JSON.stringify(e.variables):null,e.color,e.id)}finally{t.close()}}function u(e){let t=d();try{let r=t.prepare("UPDATE participants SET sort_order = ? WHERE id = ?");t.transaction(e=>{for(let t=0;t<e.length;t++)r.run(t,e[t])})(e)}finally{t.close()}}function m(e){let t=d();try{t.prepare("DELETE FROM participants WHERE id = ?").run(e)}finally{t.close()}}e.s(["addParticipant",()=>p,"loadParticipants",()=>l,"removeParticipant",()=>m,"reorderParticipants",()=>u,"updateParticipant",()=>c])},84210,e=>{"use strict";var t=e.i(11794),r=e.i(41852),a=e.i(19309),s=e.i(90850),i=e.i(24918),n=e.i(84604),o=e.i(37756),d=e.i(90661),l=e.i(90315),p=e.i(9168),c=e.i(12965),u=e.i(43715),m=e.i(79218),E=e.i(66263),T=e.i(15255),f=e.i(93695);e.i(65858);var g=e.i(95175),_=e.i(12244),h=e.i(64246),N=e.i(13466),R=e.i(14189);async function y(e){try{let t,{threadId:r,rootMessageId:a,activeParticipantIds:s}=await e.json();if(!r||!a)return _.NextResponse.json({error:"threadId and rootMessageId are required"},{status:400});let i=await (0,h.loadHistory)(r),n=i.find(e=>e.id===a);if(!n)return _.NextResponse.json({error:"Root message not found"},{status:404});let o=i.filter(e=>e.rootMessageId===a).sort((e,t)=>e.timestamp-t.timestamp),d=[n,...o],l=(0,N.loadParticipants)(),p=Array.isArray(s),c=function(e){if(!Array.isArray(e))return[];let t=new Set,r=[];for(let a of e){if("string"!=typeof a)continue;let e=a.trim();!e||t.has(e)||(t.add(e),r.push(e))}return r}(s),u=p?new Set(c):null,m=(null===u?l:l.filter(e=>u.has(e.id)))[0];if(!m)return _.NextResponse.json({error:"No active agents configured for this workspace"},{status:400});let E=Object.fromEntries(l.map(e=>[e.id,e])),T=d.map(e=>{let t="user"===e.role?"User":e.participantId?E[e.participantId]?.name||e.participantId:"Assistant";return`${t}: ${e.content}`}).join("\n\n"),f=`Read the following conversation and extract a list of actionable tasks that were discussed. Order them by execution sequence — tasks that others depend on should come first.
189
189
 
190
190
  For each task, provide:
191
191
  - "title": a concise title (under 80 characters)
@@ -196,6 +196,6 @@ Return ONLY a valid JSON array of objects with "title", "description", and "depe
196
196
 
197
197
  ---
198
198
  ${T}
199
- ---`,g="";await (0,R.runCliResponse)({provider:m.provider,model:m.model,prompt:f,identity:m.identity,onDelta:e=>{g+=e}});let y=g=g.trim(),L=g.match(/```(?:json)?\s*([\s\S]*?)```/);L&&(y=L[1].trim());try{if(t=JSON.parse(y),!Array.isArray(t))throw Error("Not an array")}catch{return _.NextResponse.json({error:"Failed to parse tasks from LLM response",raw:g},{status:500})}let A=t.filter(e=>e.title&&e.description).slice(0,20),O=A.map(()=>crypto.randomUUID()),S=A.map((e,t)=>({id:O[t],title:e.title.slice(0,200),description:e.description,dependsOn:(e.depends_on||[]).filter(e=>e>=0&&e<A.length&&e!==t).map(e=>O[e])}));return _.NextResponse.json({ok:!0,tasks:S})}catch(e){return console.error("Task extraction error:",e),_.NextResponse.json({error:e instanceof Error?e.message:"Unknown error"},{status:500})}}e.s(["POST",()=>y],16492);var L=e.i(16492);let A=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/tasks/extract/route",pathname:"/api/tasks/extract",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/Projects/Agents/agx-cloud/app/api/tasks/extract/route.ts",nextConfigOutput:"standalone",userland:L}),{workAsyncStorage:O,workUnitAsyncStorage:S,serverHooks:I}=A;function x(){return(0,a.patchFetch)({workAsyncStorage:O,workUnitAsyncStorage:S})}async function w(e,t,a){A.isDev&&(0,s.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let _="/api/tasks/extract/route";_=_.replace(/\/index$/,"")||"/";let h=await A.prepare(e,t,{srcPage:_,multiZoneDraftMode:!1});if(!h)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:N,params:R,nextConfig:y,parsedUrl:L,isDraftMode:O,prerenderManifest:S,routerServerContext:I,isOnDemandRevalidate:x,revalidateOnlyGenerated:w,resolvedPathname:C,clientReferenceManifest:v,serverActionsManifest:k}=h,U=(0,o.normalizeAppPath)(_),M=!!(S.dynamicRoutes[U]||S.routes[C]),b=async()=>((null==I?void 0:I.render404)?await I.render404(e,t,L,!1):t.end("This page could not be found"),null);if(M&&!O){let e=!!S.routes[C],t=S.dynamicRoutes[U];if(t&&!1===t.fallback&&!e){if(y.experimental.adapterPath)return await b();throw new f.NoFallbackError}}let D=null;!M||A.isDev||O||(D="/index"===(D=C)?"/":D);let X=!0===A.isDev||!M,j=M&&!X;k&&v&&(0,n.setManifestsSingleton)({page:_,clientReferenceManifest:v,serverActionsManifest:k});let F=e.method||"GET",P=(0,i.getTracer)(),$=P.getActiveScopeSpan(),H={params:R,prerenderManifest:S,renderOpts:{experimental:{authInterrupts:!!y.experimental.authInterrupts},cacheComponents:!!y.cacheComponents,supportsDynamicResponse:X,incrementalCache:(0,s.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:y.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,s)=>A.onRequestError(e,t,a,s,I)},sharedContext:{buildId:N}},B=new l.NodeNextRequest(e),q=new l.NodeNextResponse(t),G=d.NextRequestAdapter.fromNodeNextRequest(B,(0,d.signalFromNodeResponse)(t));try{let n=async e=>A.handle(G,H).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=P.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==p.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let a=r.get("next.route");if(a){let t=`${F} ${a}`;e.setAttributes({"next.route":a,"http.route":a,"next.span_name":t}),e.updateName(t)}else e.updateName(`${F} ${_}`)}),o=!!(0,s.getRequestMeta)(e,"minimalMode"),l=async s=>{var i,l;let d=async({previousCacheEntry:r})=>{try{if(!o&&x&&w&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let i=await n(s);e.fetchMetrics=H.renderOpts.fetchMetrics;let l=H.renderOpts.pendingWaitUntil;l&&a.waitUntil&&(a.waitUntil(l),l=void 0);let d=H.renderOpts.collectedTags;if(!M)return await (0,u.sendResponse)(B,q,i,H.renderOpts.pendingWaitUntil),null;{let e=await i.blob(),t=(0,m.toNodeOutgoingHttpHeaders)(i.headers);d&&(t[T.NEXT_CACHE_TAGS_HEADER]=d),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==H.renderOpts.collectedRevalidate&&!(H.renderOpts.collectedRevalidate>=T.INFINITE_CACHE)&&H.renderOpts.collectedRevalidate,a=void 0===H.renderOpts.collectedExpire||H.renderOpts.collectedExpire>=T.INFINITE_CACHE?void 0:H.renderOpts.collectedExpire;return{value:{kind:g.CachedRouteKind.APP_ROUTE,status:i.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==r?void 0:r.isStale)&&await A.onRequestError(e,t,{routerKind:"App Router",routePath:_,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:j,isOnDemandRevalidate:x})},!1,I),t}},p=await A.handleResponse({req:e,nextConfig:y,cacheKey:D,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:S,isRoutePPREnabled:!1,isOnDemandRevalidate:x,revalidateOnlyGenerated:w,responseGenerator:d,waitUntil:a.waitUntil,isMinimalMode:o});if(!M)return null;if((null==p||null==(i=p.value)?void 0:i.kind)!==g.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==p||null==(l=p.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});o||t.setHeader("x-nextjs-cache",x?"REVALIDATED":p.isMiss?"MISS":p.isStale?"STALE":"HIT"),O&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let f=(0,m.fromNodeOutgoingHttpHeaders)(p.value.headers);return o&&M||f.delete(T.NEXT_CACHE_TAGS_HEADER),!p.cacheControl||t.getHeader("Cache-Control")||f.get("Cache-Control")||f.set("Cache-Control",(0,E.getCacheControlHeader)(p.cacheControl)),await (0,u.sendResponse)(B,q,new Response(p.value.body,{headers:f,status:p.value.status||200})),null};$?await l($):await P.withPropagatedContext(e.headers,()=>P.trace(p.BaseServerSpan.handleRequest,{spanName:`${F} ${_}`,kind:i.SpanKind.SERVER,attributes:{"http.method":F,"http.target":e.url}},l))}catch(t){if(t instanceof f.NoFallbackError||await A.onRequestError(e,t,{routerKind:"App Router",routePath:U,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:j,isOnDemandRevalidate:x})},!1,I),M)throw t;return await (0,u.sendResponse)(B,q,new Response(null,{status:500})),null}}e.s(["handler",()=>w,"patchFetch",()=>x,"routeModule",()=>A,"serverHooks",()=>I,"workAsyncStorage",()=>O,"workUnitAsyncStorage",()=>S],84210)}];
199
+ ---`,g="";await (0,R.runCliResponse)({provider:m.provider,model:m.model,prompt:f,identity:m.identity,onDelta:e=>{g+=e}});let y=g=g.trim(),L=g.match(/```(?:json)?\s*([\s\S]*?)```/);L&&(y=L[1].trim());try{if(t=JSON.parse(y),!Array.isArray(t))throw Error("Not an array")}catch{return _.NextResponse.json({error:"Failed to parse tasks from LLM response",raw:g},{status:500})}let A=t.filter(e=>e.title&&e.description).slice(0,20),O=A.map(()=>crypto.randomUUID()),S=A.map((e,t)=>({id:O[t],title:e.title.slice(0,200),description:e.description,dependsOn:(e.depends_on||[]).filter(e=>e>=0&&e<A.length&&e!==t).map(e=>O[e])}));return _.NextResponse.json({ok:!0,tasks:S})}catch(e){return console.error("Task extraction error:",e),_.NextResponse.json({error:e instanceof Error?e.message:"Unknown error"},{status:500})}}e.s(["POST",()=>y],16492);var L=e.i(16492);let A=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/tasks/extract/route",pathname:"/api/tasks/extract",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/Projects/Agents/agx-cloud/app/api/tasks/extract/route.ts",nextConfigOutput:"standalone",userland:L}),{workAsyncStorage:O,workUnitAsyncStorage:S,serverHooks:I}=A;function x(){return(0,a.patchFetch)({workAsyncStorage:O,workUnitAsyncStorage:S})}async function w(e,t,a){A.isDev&&(0,s.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let _="/api/tasks/extract/route";_=_.replace(/\/index$/,"")||"/";let h=await A.prepare(e,t,{srcPage:_,multiZoneDraftMode:!1});if(!h)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:N,params:R,nextConfig:y,parsedUrl:L,isDraftMode:O,prerenderManifest:S,routerServerContext:I,isOnDemandRevalidate:x,revalidateOnlyGenerated:w,resolvedPathname:C,clientReferenceManifest:v,serverActionsManifest:k}=h,U=(0,o.normalizeAppPath)(_),M=!!(S.dynamicRoutes[U]||S.routes[C]),b=async()=>((null==I?void 0:I.render404)?await I.render404(e,t,L,!1):t.end("This page could not be found"),null);if(M&&!O){let e=!!S.routes[C],t=S.dynamicRoutes[U];if(t&&!1===t.fallback&&!e){if(y.experimental.adapterPath)return await b();throw new f.NoFallbackError}}let D=null;!M||A.isDev||O||(D="/index"===(D=C)?"/":D);let X=!0===A.isDev||!M,j=M&&!X;k&&v&&(0,n.setManifestsSingleton)({page:_,clientReferenceManifest:v,serverActionsManifest:k});let F=e.method||"GET",P=(0,i.getTracer)(),$=P.getActiveScopeSpan(),H={params:R,prerenderManifest:S,renderOpts:{experimental:{authInterrupts:!!y.experimental.authInterrupts},cacheComponents:!!y.cacheComponents,supportsDynamicResponse:X,incrementalCache:(0,s.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:y.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,s)=>A.onRequestError(e,t,a,s,I)},sharedContext:{buildId:N}},B=new d.NodeNextRequest(e),q=new d.NodeNextResponse(t),G=l.NextRequestAdapter.fromNodeNextRequest(B,(0,l.signalFromNodeResponse)(t));try{let n=async e=>A.handle(G,H).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=P.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==p.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let a=r.get("next.route");if(a){let t=`${F} ${a}`;e.setAttributes({"next.route":a,"http.route":a,"next.span_name":t}),e.updateName(t)}else e.updateName(`${F} ${_}`)}),o=!!(0,s.getRequestMeta)(e,"minimalMode"),d=async s=>{var i,d;let l=async({previousCacheEntry:r})=>{try{if(!o&&x&&w&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let i=await n(s);e.fetchMetrics=H.renderOpts.fetchMetrics;let d=H.renderOpts.pendingWaitUntil;d&&a.waitUntil&&(a.waitUntil(d),d=void 0);let l=H.renderOpts.collectedTags;if(!M)return await (0,u.sendResponse)(B,q,i,H.renderOpts.pendingWaitUntil),null;{let e=await i.blob(),t=(0,m.toNodeOutgoingHttpHeaders)(i.headers);l&&(t[T.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==H.renderOpts.collectedRevalidate&&!(H.renderOpts.collectedRevalidate>=T.INFINITE_CACHE)&&H.renderOpts.collectedRevalidate,a=void 0===H.renderOpts.collectedExpire||H.renderOpts.collectedExpire>=T.INFINITE_CACHE?void 0:H.renderOpts.collectedExpire;return{value:{kind:g.CachedRouteKind.APP_ROUTE,status:i.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==r?void 0:r.isStale)&&await A.onRequestError(e,t,{routerKind:"App Router",routePath:_,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:j,isOnDemandRevalidate:x})},!1,I),t}},p=await A.handleResponse({req:e,nextConfig:y,cacheKey:D,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:S,isRoutePPREnabled:!1,isOnDemandRevalidate:x,revalidateOnlyGenerated:w,responseGenerator:l,waitUntil:a.waitUntil,isMinimalMode:o});if(!M)return null;if((null==p||null==(i=p.value)?void 0:i.kind)!==g.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==p||null==(d=p.value)?void 0:d.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});o||t.setHeader("x-nextjs-cache",x?"REVALIDATED":p.isMiss?"MISS":p.isStale?"STALE":"HIT"),O&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let f=(0,m.fromNodeOutgoingHttpHeaders)(p.value.headers);return o&&M||f.delete(T.NEXT_CACHE_TAGS_HEADER),!p.cacheControl||t.getHeader("Cache-Control")||f.get("Cache-Control")||f.set("Cache-Control",(0,E.getCacheControlHeader)(p.cacheControl)),await (0,u.sendResponse)(B,q,new Response(p.value.body,{headers:f,status:p.value.status||200})),null};$?await d($):await P.withPropagatedContext(e.headers,()=>P.trace(p.BaseServerSpan.handleRequest,{spanName:`${F} ${_}`,kind:i.SpanKind.SERVER,attributes:{"http.method":F,"http.target":e.url}},d))}catch(t){if(t instanceof f.NoFallbackError||await A.onRequestError(e,t,{routerKind:"App Router",routePath:U,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:j,isOnDemandRevalidate:x})},!1,I),M)throw t;return await (0,u.sendResponse)(B,q,new Response(null,{status:500})),null}}e.s(["handler",()=>w,"patchFetch",()=>x,"routeModule",()=>A,"serverHooks",()=>I,"workAsyncStorage",()=>O,"workUnitAsyncStorage",()=>S],84210)}];
200
200
 
201
201
  //# sourceMappingURL=%5Broot-of-the-server%5D__d339de9d._.js.map