@ai-development-environment/server 0.0.137 → 0.0.138

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 (369) hide show
  1. package/package.json +1 -1
  2. package/standalone/.next/BUILD_ID +1 -1
  3. package/standalone/.next/build-manifest.json +3 -3
  4. package/standalone/.next/prerender-manifest.json +3 -3
  5. package/standalone/.next/server/app/[locale]/(auth)/register/page.js.nft.json +1 -1
  6. package/standalone/.next/server/app/[locale]/(auth)/register/page_client-reference-manifest.js +1 -1
  7. package/standalone/.next/server/app/[locale]/(auth)/sign-in/page.js.nft.json +1 -1
  8. package/standalone/.next/server/app/[locale]/(auth)/sign-in/page_client-reference-manifest.js +1 -1
  9. package/standalone/.next/server/app/[locale]/(dashboard)/ai/costs/page.js.nft.json +1 -1
  10. package/standalone/.next/server/app/[locale]/(dashboard)/ai/costs/page_client-reference-manifest.js +1 -1
  11. package/standalone/.next/server/app/[locale]/(dashboard)/ai/drafts/new/page.js.nft.json +1 -1
  12. package/standalone/.next/server/app/[locale]/(dashboard)/ai/drafts/new/page_client-reference-manifest.js +1 -1
  13. package/standalone/.next/server/app/[locale]/(dashboard)/ai/drafts/page.js.nft.json +1 -1
  14. package/standalone/.next/server/app/[locale]/(dashboard)/ai/drafts/page_client-reference-manifest.js +1 -1
  15. package/standalone/.next/server/app/[locale]/(dashboard)/ai/plans/[runId]/page.js.nft.json +1 -1
  16. package/standalone/.next/server/app/[locale]/(dashboard)/ai/plans/[runId]/page_client-reference-manifest.js +1 -1
  17. package/standalone/.next/server/app/[locale]/(dashboard)/ai/plans/page.js.nft.json +1 -1
  18. package/standalone/.next/server/app/[locale]/(dashboard)/ai/plans/page_client-reference-manifest.js +1 -1
  19. package/standalone/.next/server/app/[locale]/(dashboard)/ai/sessions/[runId]/page.js.nft.json +1 -1
  20. package/standalone/.next/server/app/[locale]/(dashboard)/ai/sessions/[runId]/page_client-reference-manifest.js +1 -1
  21. package/standalone/.next/server/app/[locale]/(dashboard)/ai/sessions/page.js.nft.json +1 -1
  22. package/standalone/.next/server/app/[locale]/(dashboard)/ai/sessions/page_client-reference-manifest.js +1 -1
  23. package/standalone/.next/server/app/[locale]/(dashboard)/ai/skills/[skillId]/page.js.nft.json +1 -1
  24. package/standalone/.next/server/app/[locale]/(dashboard)/ai/skills/[skillId]/page_client-reference-manifest.js +1 -1
  25. package/standalone/.next/server/app/[locale]/(dashboard)/ai/skills/groups/[groupId]/page.js.nft.json +1 -1
  26. package/standalone/.next/server/app/[locale]/(dashboard)/ai/skills/groups/[groupId]/page_client-reference-manifest.js +1 -1
  27. package/standalone/.next/server/app/[locale]/(dashboard)/ai/skills/groups/page.js.nft.json +1 -1
  28. package/standalone/.next/server/app/[locale]/(dashboard)/ai/skills/groups/page_client-reference-manifest.js +1 -1
  29. package/standalone/.next/server/app/[locale]/(dashboard)/ai/skills/page.js.nft.json +1 -1
  30. package/standalone/.next/server/app/[locale]/(dashboard)/ai/skills/page_client-reference-manifest.js +1 -1
  31. package/standalone/.next/server/app/[locale]/(dashboard)/ai/skills/sync/[runId]/page.js.nft.json +1 -1
  32. package/standalone/.next/server/app/[locale]/(dashboard)/ai/skills/sync/[runId]/page_client-reference-manifest.js +1 -1
  33. package/standalone/.next/server/app/[locale]/(dashboard)/ai/usage/page.js.nft.json +1 -1
  34. package/standalone/.next/server/app/[locale]/(dashboard)/ai/usage/page_client-reference-manifest.js +1 -1
  35. package/standalone/.next/server/app/[locale]/(dashboard)/dashboard/action-center/page.js.nft.json +1 -1
  36. package/standalone/.next/server/app/[locale]/(dashboard)/dashboard/action-center/page_client-reference-manifest.js +1 -1
  37. package/standalone/.next/server/app/[locale]/(dashboard)/dashboard/agents/[id]/page.js.nft.json +1 -1
  38. package/standalone/.next/server/app/[locale]/(dashboard)/dashboard/agents/[id]/page_client-reference-manifest.js +1 -1
  39. package/standalone/.next/server/app/[locale]/(dashboard)/dashboard/agents/page.js.nft.json +1 -1
  40. package/standalone/.next/server/app/[locale]/(dashboard)/dashboard/agents/page_client-reference-manifest.js +1 -1
  41. package/standalone/.next/server/app/[locale]/(dashboard)/dashboard/apps/[appId]/page.js.nft.json +1 -1
  42. package/standalone/.next/server/app/[locale]/(dashboard)/dashboard/apps/[appId]/page_client-reference-manifest.js +1 -1
  43. package/standalone/.next/server/app/[locale]/(dashboard)/dashboard/apps/page.js.nft.json +1 -1
  44. package/standalone/.next/server/app/[locale]/(dashboard)/dashboard/apps/page_client-reference-manifest.js +1 -1
  45. package/standalone/.next/server/app/[locale]/(dashboard)/dashboard/builds/[buildId]/coverage/page.js.nft.json +1 -1
  46. package/standalone/.next/server/app/[locale]/(dashboard)/dashboard/builds/[buildId]/coverage/page_client-reference-manifest.js +1 -1
  47. package/standalone/.next/server/app/[locale]/(dashboard)/dashboard/builds/[buildId]/output/route.js.nft.json +1 -1
  48. package/standalone/.next/server/app/[locale]/(dashboard)/dashboard/builds/[buildId]/page.js.nft.json +1 -1
  49. package/standalone/.next/server/app/[locale]/(dashboard)/dashboard/builds/[buildId]/page_client-reference-manifest.js +1 -1
  50. package/standalone/.next/server/app/[locale]/(dashboard)/dashboard/builds/configurations/[configurationId]/page.js.nft.json +1 -1
  51. package/standalone/.next/server/app/[locale]/(dashboard)/dashboard/builds/configurations/[configurationId]/page_client-reference-manifest.js +1 -1
  52. package/standalone/.next/server/app/[locale]/(dashboard)/dashboard/builds/page.js.nft.json +1 -1
  53. package/standalone/.next/server/app/[locale]/(dashboard)/dashboard/builds/page_client-reference-manifest.js +1 -1
  54. package/standalone/.next/server/app/[locale]/(dashboard)/dashboard/changes/page.js.nft.json +1 -1
  55. package/standalone/.next/server/app/[locale]/(dashboard)/dashboard/changes/page_client-reference-manifest.js +1 -1
  56. package/standalone/.next/server/app/[locale]/(dashboard)/dashboard/codebases/[codebaseId]/page.js.nft.json +1 -1
  57. package/standalone/.next/server/app/[locale]/(dashboard)/dashboard/codebases/[codebaseId]/page_client-reference-manifest.js +1 -1
  58. package/standalone/.next/server/app/[locale]/(dashboard)/dashboard/codebases/page.js.nft.json +1 -1
  59. package/standalone/.next/server/app/[locale]/(dashboard)/dashboard/codebases/page_client-reference-manifest.js +1 -1
  60. package/standalone/.next/server/app/[locale]/(dashboard)/dashboard/codebases/repositories/[repositoryId]/page.js.nft.json +1 -1
  61. package/standalone/.next/server/app/[locale]/(dashboard)/dashboard/codebases/repositories/[repositoryId]/page_client-reference-manifest.js +1 -1
  62. package/standalone/.next/server/app/[locale]/(dashboard)/dashboard/commands/[commandId]/edit/page.js.nft.json +1 -1
  63. package/standalone/.next/server/app/[locale]/(dashboard)/dashboard/commands/[commandId]/edit/page_client-reference-manifest.js +1 -1
  64. package/standalone/.next/server/app/[locale]/(dashboard)/dashboard/commands/new/page.js.nft.json +1 -1
  65. package/standalone/.next/server/app/[locale]/(dashboard)/dashboard/commands/new/page_client-reference-manifest.js +1 -1
  66. package/standalone/.next/server/app/[locale]/(dashboard)/dashboard/commands/page.js.nft.json +1 -1
  67. package/standalone/.next/server/app/[locale]/(dashboard)/dashboard/commands/page_client-reference-manifest.js +1 -1
  68. package/standalone/.next/server/app/[locale]/(dashboard)/dashboard/commands/runs/[runId]/output/route.js.nft.json +1 -1
  69. package/standalone/.next/server/app/[locale]/(dashboard)/dashboard/commands/runs/[runId]/page.js.nft.json +1 -1
  70. package/standalone/.next/server/app/[locale]/(dashboard)/dashboard/commands/runs/[runId]/page_client-reference-manifest.js +1 -1
  71. package/standalone/.next/server/app/[locale]/(dashboard)/dashboard/jobs/[jobId]/page.js.nft.json +1 -1
  72. package/standalone/.next/server/app/[locale]/(dashboard)/dashboard/jobs/[jobId]/page_client-reference-manifest.js +1 -1
  73. package/standalone/.next/server/app/[locale]/(dashboard)/dashboard/notifications/page.js.nft.json +1 -1
  74. package/standalone/.next/server/app/[locale]/(dashboard)/dashboard/notifications/page_client-reference-manifest.js +1 -1
  75. package/standalone/.next/server/app/[locale]/(dashboard)/dashboard/workflows/[workflowId]/edit/page.js.nft.json +1 -1
  76. package/standalone/.next/server/app/[locale]/(dashboard)/dashboard/workflows/[workflowId]/edit/page_client-reference-manifest.js +1 -1
  77. package/standalone/.next/server/app/[locale]/(dashboard)/dashboard/workflows/[workflowId]/page.js.nft.json +1 -1
  78. package/standalone/.next/server/app/[locale]/(dashboard)/dashboard/workflows/[workflowId]/page_client-reference-manifest.js +1 -1
  79. package/standalone/.next/server/app/[locale]/(dashboard)/dashboard/workflows/new/page.js.nft.json +1 -1
  80. package/standalone/.next/server/app/[locale]/(dashboard)/dashboard/workflows/new/page_client-reference-manifest.js +1 -1
  81. package/standalone/.next/server/app/[locale]/(dashboard)/dashboard/workflows/page.js.nft.json +1 -1
  82. package/standalone/.next/server/app/[locale]/(dashboard)/dashboard/workflows/page_client-reference-manifest.js +1 -1
  83. package/standalone/.next/server/app/[locale]/(dashboard)/dashboard/workflows/runs/[runId]/page.js.nft.json +1 -1
  84. package/standalone/.next/server/app/[locale]/(dashboard)/dashboard/workflows/runs/[runId]/page_client-reference-manifest.js +1 -1
  85. package/standalone/.next/server/app/[locale]/(dashboard)/dashboard/worktrees/[worktreeId]/page.js.nft.json +1 -1
  86. package/standalone/.next/server/app/[locale]/(dashboard)/dashboard/worktrees/[worktreeId]/page_client-reference-manifest.js +1 -1
  87. package/standalone/.next/server/app/[locale]/(dashboard)/dashboard/worktrees/page.js.nft.json +1 -1
  88. package/standalone/.next/server/app/[locale]/(dashboard)/dashboard/worktrees/page_client-reference-manifest.js +1 -1
  89. package/standalone/.next/server/app/[locale]/(dashboard)/debugging/analytics-events/page.js.nft.json +1 -1
  90. package/standalone/.next/server/app/[locale]/(dashboard)/debugging/analytics-events/page_client-reference-manifest.js +1 -1
  91. package/standalone/.next/server/app/[locale]/(dashboard)/debugging/console-logs/page.js.nft.json +1 -1
  92. package/standalone/.next/server/app/[locale]/(dashboard)/debugging/console-logs/page_client-reference-manifest.js +1 -1
  93. package/standalone/.next/server/app/[locale]/(dashboard)/debugging/crashes/[crashId]/page.js.nft.json +1 -1
  94. package/standalone/.next/server/app/[locale]/(dashboard)/debugging/crashes/[crashId]/page_client-reference-manifest.js +1 -1
  95. package/standalone/.next/server/app/[locale]/(dashboard)/debugging/crashes/dsyms/[dsymId]/page.js.nft.json +1 -1
  96. package/standalone/.next/server/app/[locale]/(dashboard)/debugging/crashes/dsyms/[dsymId]/page_client-reference-manifest.js +1 -1
  97. package/standalone/.next/server/app/[locale]/(dashboard)/debugging/crashes/dsyms/page.js.nft.json +1 -1
  98. package/standalone/.next/server/app/[locale]/(dashboard)/debugging/crashes/dsyms/page_client-reference-manifest.js +1 -1
  99. package/standalone/.next/server/app/[locale]/(dashboard)/debugging/crashes/page.js.nft.json +1 -1
  100. package/standalone/.next/server/app/[locale]/(dashboard)/debugging/crashes/page_client-reference-manifest.js +1 -1
  101. package/standalone/.next/server/app/[locale]/(dashboard)/debugging/push-notifications/page.js.nft.json +1 -1
  102. package/standalone/.next/server/app/[locale]/(dashboard)/debugging/push-notifications/page_client-reference-manifest.js +1 -1
  103. package/standalone/.next/server/app/[locale]/(dashboard)/debugging/sse/[endpointId]/mocks/page.js.nft.json +1 -1
  104. package/standalone/.next/server/app/[locale]/(dashboard)/debugging/sse/[endpointId]/mocks/page_client-reference-manifest.js +1 -1
  105. package/standalone/.next/server/app/[locale]/(dashboard)/debugging/sse/[endpointId]/page.js.nft.json +1 -1
  106. package/standalone/.next/server/app/[locale]/(dashboard)/debugging/sse/[endpointId]/page_client-reference-manifest.js +1 -1
  107. package/standalone/.next/server/app/[locale]/(dashboard)/debugging/sse/breakpoints/page.js.nft.json +1 -1
  108. package/standalone/.next/server/app/[locale]/(dashboard)/debugging/sse/breakpoints/page_client-reference-manifest.js +1 -1
  109. package/standalone/.next/server/app/[locale]/(dashboard)/debugging/sse/history/[requestId]/page.js.nft.json +1 -1
  110. package/standalone/.next/server/app/[locale]/(dashboard)/debugging/sse/history/[requestId]/page_client-reference-manifest.js +1 -1
  111. package/standalone/.next/server/app/[locale]/(dashboard)/debugging/sse/history/page.js.nft.json +1 -1
  112. package/standalone/.next/server/app/[locale]/(dashboard)/debugging/sse/history/page_client-reference-manifest.js +1 -1
  113. package/standalone/.next/server/app/[locale]/(dashboard)/debugging/sse/new/page.js.nft.json +1 -1
  114. package/standalone/.next/server/app/[locale]/(dashboard)/debugging/sse/new/page_client-reference-manifest.js +1 -1
  115. package/standalone/.next/server/app/[locale]/(dashboard)/debugging/sse/page.js.nft.json +1 -1
  116. package/standalone/.next/server/app/[locale]/(dashboard)/debugging/sse/page_client-reference-manifest.js +1 -1
  117. package/standalone/.next/server/app/[locale]/(dashboard)/debugging/sse/storage/page.js.nft.json +1 -1
  118. package/standalone/.next/server/app/[locale]/(dashboard)/debugging/sse/storage/page_client-reference-manifest.js +1 -1
  119. package/standalone/.next/server/app/[locale]/(dashboard)/debugging/unified-events/page.js.nft.json +1 -1
  120. package/standalone/.next/server/app/[locale]/(dashboard)/debugging/unified-events/page_client-reference-manifest.js +1 -1
  121. package/standalone/.next/server/app/[locale]/(dashboard)/github/actions/page.js.nft.json +1 -1
  122. package/standalone/.next/server/app/[locale]/(dashboard)/github/actions/page_client-reference-manifest.js +1 -1
  123. package/standalone/.next/server/app/[locale]/(dashboard)/github/actions-cache/page.js.nft.json +1 -1
  124. package/standalone/.next/server/app/[locale]/(dashboard)/github/actions-cache/page_client-reference-manifest.js +1 -1
  125. package/standalone/.next/server/app/[locale]/(dashboard)/github/cache/entries/[id]/page.js.nft.json +1 -1
  126. package/standalone/.next/server/app/[locale]/(dashboard)/github/cache/entries/[id]/page_client-reference-manifest.js +1 -1
  127. package/standalone/.next/server/app/[locale]/(dashboard)/github/cache/page.js.nft.json +1 -1
  128. package/standalone/.next/server/app/[locale]/(dashboard)/github/cache/page_client-reference-manifest.js +1 -1
  129. package/standalone/.next/server/app/[locale]/(dashboard)/github/comments/page.js.nft.json +1 -1
  130. package/standalone/.next/server/app/[locale]/(dashboard)/github/comments/page_client-reference-manifest.js +1 -1
  131. package/standalone/.next/server/app/[locale]/(dashboard)/github/pull-requests/[owner]/[repository]/[number]/page.js.nft.json +1 -1
  132. package/standalone/.next/server/app/[locale]/(dashboard)/github/pull-requests/[owner]/[repository]/[number]/page_client-reference-manifest.js +1 -1
  133. package/standalone/.next/server/app/[locale]/(dashboard)/github/pull-requests/page.js.nft.json +1 -1
  134. package/standalone/.next/server/app/[locale]/(dashboard)/github/pull-requests/page_client-reference-manifest.js +1 -1
  135. package/standalone/.next/server/app/[locale]/(dashboard)/github/webhooks/page.js.nft.json +1 -1
  136. package/standalone/.next/server/app/[locale]/(dashboard)/github/webhooks/page_client-reference-manifest.js +1 -1
  137. package/standalone/.next/server/app/[locale]/(dashboard)/gitlab/cache/page.js.nft.json +1 -1
  138. package/standalone/.next/server/app/[locale]/(dashboard)/gitlab/cache/page_client-reference-manifest.js +1 -1
  139. package/standalone/.next/server/app/[locale]/(dashboard)/gitlab/comments/page.js.nft.json +1 -1
  140. package/standalone/.next/server/app/[locale]/(dashboard)/gitlab/comments/page_client-reference-manifest.js +1 -1
  141. package/standalone/.next/server/app/[locale]/(dashboard)/gitlab/merge-requests/[projectId]/[iid]/page.js.nft.json +1 -1
  142. package/standalone/.next/server/app/[locale]/(dashboard)/gitlab/merge-requests/[projectId]/[iid]/page_client-reference-manifest.js +1 -1
  143. package/standalone/.next/server/app/[locale]/(dashboard)/gitlab/merge-requests/page.js.nft.json +1 -1
  144. package/standalone/.next/server/app/[locale]/(dashboard)/gitlab/merge-requests/page_client-reference-manifest.js +1 -1
  145. package/standalone/.next/server/app/[locale]/(dashboard)/gitlab/pipelines/page.js.nft.json +1 -1
  146. package/standalone/.next/server/app/[locale]/(dashboard)/gitlab/pipelines/page_client-reference-manifest.js +1 -1
  147. package/standalone/.next/server/app/[locale]/(dashboard)/gitlab/webhooks/page.js.nft.json +1 -1
  148. package/standalone/.next/server/app/[locale]/(dashboard)/gitlab/webhooks/page_client-reference-manifest.js +1 -1
  149. package/standalone/.next/server/app/[locale]/(dashboard)/jira/cache/page.js.nft.json +1 -1
  150. package/standalone/.next/server/app/[locale]/(dashboard)/jira/cache/page_client-reference-manifest.js +1 -1
  151. package/standalone/.next/server/app/[locale]/(dashboard)/jira/cache/tickets/[issueKey]/page.js.nft.json +1 -1
  152. package/standalone/.next/server/app/[locale]/(dashboard)/jira/cache/tickets/[issueKey]/page_client-reference-manifest.js +1 -1
  153. package/standalone/.next/server/app/[locale]/(dashboard)/jira/tickets/[issueKey]/page.js.nft.json +1 -1
  154. package/standalone/.next/server/app/[locale]/(dashboard)/jira/tickets/[issueKey]/page_client-reference-manifest.js +1 -1
  155. package/standalone/.next/server/app/[locale]/(dashboard)/jira/tickets/page.js.nft.json +1 -1
  156. package/standalone/.next/server/app/[locale]/(dashboard)/jira/tickets/page_client-reference-manifest.js +1 -1
  157. package/standalone/.next/server/app/[locale]/(dashboard)/jira/webhooks/page.js.nft.json +1 -1
  158. package/standalone/.next/server/app/[locale]/(dashboard)/jira/webhooks/page_client-reference-manifest.js +1 -1
  159. package/standalone/.next/server/app/[locale]/(dashboard)/system/api-keys/page.js.nft.json +1 -1
  160. package/standalone/.next/server/app/[locale]/(dashboard)/system/api-keys/page_client-reference-manifest.js +1 -1
  161. package/standalone/.next/server/app/[locale]/(dashboard)/system/build-data/page.js.nft.json +1 -1
  162. package/standalone/.next/server/app/[locale]/(dashboard)/system/build-data/page_client-reference-manifest.js +1 -1
  163. package/standalone/.next/server/app/[locale]/(dashboard)/system/connected-applications/page.js.nft.json +1 -1
  164. package/standalone/.next/server/app/[locale]/(dashboard)/system/connected-applications/page_client-reference-manifest.js +1 -1
  165. package/standalone/.next/server/app/[locale]/(dashboard)/system/credentials/page.js.nft.json +1 -1
  166. package/standalone/.next/server/app/[locale]/(dashboard)/system/credentials/page_client-reference-manifest.js +1 -1
  167. package/standalone/.next/server/app/[locale]/(dashboard)/system/devices/[id]/page.js.nft.json +1 -1
  168. package/standalone/.next/server/app/[locale]/(dashboard)/system/devices/[id]/page_client-reference-manifest.js +1 -1
  169. package/standalone/.next/server/app/[locale]/(dashboard)/system/devices/enroll/page.js.nft.json +1 -1
  170. package/standalone/.next/server/app/[locale]/(dashboard)/system/devices/enroll/page_client-reference-manifest.js +1 -1
  171. package/standalone/.next/server/app/[locale]/(dashboard)/system/devices/page.js.nft.json +1 -1
  172. package/standalone/.next/server/app/[locale]/(dashboard)/system/devices/page_client-reference-manifest.js +1 -1
  173. package/standalone/.next/server/app/[locale]/(dashboard)/system/polling/page.js.nft.json +1 -1
  174. package/standalone/.next/server/app/[locale]/(dashboard)/system/polling/page_client-reference-manifest.js +1 -1
  175. package/standalone/.next/server/app/[locale]/(dashboard)/system/prepare/page.js.nft.json +1 -1
  176. package/standalone/.next/server/app/[locale]/(dashboard)/system/prepare/page_client-reference-manifest.js +1 -1
  177. package/standalone/.next/server/app/[locale]/(dashboard)/system/provisioning-profiles/[profileId]/page.js.nft.json +1 -1
  178. package/standalone/.next/server/app/[locale]/(dashboard)/system/provisioning-profiles/[profileId]/page_client-reference-manifest.js +1 -1
  179. package/standalone/.next/server/app/[locale]/(dashboard)/system/provisioning-profiles/page.js.nft.json +1 -1
  180. package/standalone/.next/server/app/[locale]/(dashboard)/system/provisioning-profiles/page_client-reference-manifest.js +1 -1
  181. package/standalone/.next/server/app/[locale]/(dashboard)/system/settings/page.js.nft.json +1 -1
  182. package/standalone/.next/server/app/[locale]/(dashboard)/system/settings/page_client-reference-manifest.js +1 -1
  183. package/standalone/.next/server/app/[locale]/(dashboard)/system/status/page.js.nft.json +1 -1
  184. package/standalone/.next/server/app/[locale]/(dashboard)/system/status/page_client-reference-manifest.js +1 -1
  185. package/standalone/.next/server/app/[locale]/(dashboard)/system/tailscale/page.js.nft.json +1 -1
  186. package/standalone/.next/server/app/[locale]/(dashboard)/system/tailscale/page_client-reference-manifest.js +1 -1
  187. package/standalone/.next/server/app/[locale]/(dashboard)/system/tools/page.js.nft.json +1 -1
  188. package/standalone/.next/server/app/[locale]/(dashboard)/system/tools/page_client-reference-manifest.js +1 -1
  189. package/standalone/.next/server/app/[locale]/(dashboard)/system/users/page.js.nft.json +1 -1
  190. package/standalone/.next/server/app/[locale]/(dashboard)/system/users/page_client-reference-manifest.js +1 -1
  191. package/standalone/.next/server/app/[locale]/(mcp)/mcp/consent/page.js.nft.json +1 -1
  192. package/standalone/.next/server/app/[locale]/(mcp)/mcp/consent/page_client-reference-manifest.js +1 -1
  193. package/standalone/.next/server/app/[locale]/(mcp)/mcp/sign-in/page.js.nft.json +1 -1
  194. package/standalone/.next/server/app/[locale]/(mcp)/mcp/sign-in/page_client-reference-manifest.js +1 -1
  195. package/standalone/.next/server/app/[locale]/page.js.nft.json +1 -1
  196. package/standalone/.next/server/app/[locale]/page_client-reference-manifest.js +1 -1
  197. package/standalone/.next/server/app/_global-error.html +1 -1
  198. package/standalone/.next/server/app/_global-error.rsc +1 -1
  199. package/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  200. package/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  201. package/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  202. package/standalone/.next/server/app/_not-found.html +1 -1
  203. package/standalone/.next/server/app/_not-found.rsc +1 -1
  204. package/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +1 -1
  205. package/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  206. package/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
  207. package/standalone/.next/server/app/api/agent/build-artifact-transfers/[transferId]/complete/route.js +1 -1
  208. package/standalone/.next/server/app/api/agent/build-artifact-transfers/[transferId]/complete/route.js.nft.json +1 -1
  209. package/standalone/.next/server/app/api/agent/build-artifact-transfers/[transferId]/download/route.js +1 -1
  210. package/standalone/.next/server/app/api/agent/build-artifact-transfers/[transferId]/download/route.js.nft.json +1 -1
  211. package/standalone/.next/server/app/api/agent/build-artifact-transfers/[transferId]/route.js +1 -1
  212. package/standalone/.next/server/app/api/agent/build-artifact-transfers/[transferId]/route.js.nft.json +1 -1
  213. package/standalone/.next/server/app/api/agent/build-artifact-transfers/[transferId]/upload/route.js +1 -1
  214. package/standalone/.next/server/app/api/agent/build-artifact-transfers/[transferId]/upload/route.js.nft.json +1 -1
  215. package/standalone/.next/server/app/api/agent/dsyms/[dsymId]/dwarf/route.js.nft.json +1 -1
  216. package/standalone/.next/server/app/api/agent/run-attachments/[attachmentId]/route.js +1 -1
  217. package/standalone/.next/server/app/api/agent/run-attachments/[attachmentId]/route.js.nft.json +1 -1
  218. package/standalone/.next/server/app/api/build-artifact-uploads/[uploadId]/route.js +1 -1
  219. package/standalone/.next/server/app/api/build-artifact-uploads/[uploadId]/route.js.nft.json +1 -1
  220. package/standalone/.next/server/app/api/codebases/by-path/route.js.nft.json +1 -1
  221. package/standalone/.next/server/app/api/codebases/route.js.nft.json +1 -1
  222. package/standalone/.next/server/app/api/crash-files/dsyms/[dsymId]/route.js.nft.json +1 -1
  223. package/standalone/.next/server/app/api/crash-files/reports/[crashId]/route.js.nft.json +1 -1
  224. package/standalone/.next/server/app/api/dsyms/route.js.nft.json +1 -1
  225. package/standalone/.next/server/app/api/dsyms/uploads/[uploadId]/complete/route.js.nft.json +1 -1
  226. package/standalone/.next/server/app/api/dsyms/uploads/[uploadId]/route.js.nft.json +1 -1
  227. package/standalone/.next/server/app/api/dsyms/uploads/route.js.nft.json +1 -1
  228. package/standalone/.next/server/app/api/graphql/route.js +1 -1
  229. package/standalone/.next/server/app/api/graphql/route.js.nft.json +1 -1
  230. package/standalone/.next/server/app/api/ios/apns-devices/route.js +2 -2
  231. package/standalone/.next/server/app/api/ios/apns-devices/route.js.nft.json +1 -1
  232. package/standalone/.next/server/app/api/ios/devices/export.tsv/route.js.nft.json +1 -1
  233. package/standalone/.next/server/app/api/ios/enrollment/start/route.js.nft.json +1 -1
  234. package/standalone/.next/server/app/api/ios/notification-devices/route.js +2 -2
  235. package/standalone/.next/server/app/api/ios/notification-devices/route.js.nft.json +1 -1
  236. package/standalone/.next/server/app/api/mcp/route.js.nft.json +1 -1
  237. package/standalone/.next/server/app/api/openapi.json/route.js.nft.json +1 -1
  238. package/standalone/.next/server/app/api/public/builds/[buildId]/artifacts/[artifactId]/manifest.plist/route.js.nft.json +1 -1
  239. package/standalone/.next/server/app/api/public/builds/[buildId]/artifacts/[artifactId]/route.js.nft.json +1 -1
  240. package/standalone/.next/server/app/api/public/crashes/route.js.nft.json +1 -1
  241. package/standalone/.next/server/app/api/public/github/webhook/route.js.nft.json +1 -1
  242. package/standalone/.next/server/app/api/public/gitlab/webhook/route.js.nft.json +1 -1
  243. package/standalone/.next/server/app/api/public/ios/enrollment-profile/route.js.nft.json +1 -1
  244. package/standalone/.next/server/app/api/public/ios/profile-response/route.js.nft.json +1 -1
  245. package/standalone/.next/server/app/api/public/jira/webhook/route.js.nft.json +1 -1
  246. package/standalone/.next/server/app/api/public/sse/[token]/route.js.nft.json +1 -1
  247. package/standalone/.next/server/app/api/run-attachments/[attachmentId]/route.js.nft.json +1 -1
  248. package/standalone/.next/server/app/api/run-attachments/route.js.nft.json +1 -1
  249. package/standalone/.next/server/app/api/sse/history/export/route.js.nft.json +1 -1
  250. package/standalone/.next/server/app/api/telemetry/analytics-events/route.js.nft.json +1 -1
  251. package/standalone/.next/server/app/api/telemetry/console-logs/route.js.nft.json +1 -1
  252. package/standalone/.next/server/app/api/telemetry/export/route.js.nft.json +1 -1
  253. package/standalone/.next/server/app/api/tools/call/route.js.nft.json +1 -1
  254. package/standalone/.next/server/app/api/tools/catalog/route.js.nft.json +1 -1
  255. package/standalone/.next/server/app/api/worktrees/[worktreeId]/diff-image/route.js.nft.json +1 -1
  256. package/standalone/.next/server/chunks/{[root-of-the-server]__013jjy8_tp5xo._.js → [root-of-the-server]__00iwkfurpc0x0._.js} +1 -1
  257. package/standalone/.next/server/chunks/{[root-of-the-server]__06f1gskg4t5ra._.js → [root-of-the-server]__085kh_xzq74pi._.js} +1 -1
  258. package/standalone/.next/server/chunks/{[root-of-the-server]__0ls_xfg-o69ws._.js → [root-of-the-server]__0b95wr93hpccm._.js} +1 -1
  259. package/standalone/.next/server/chunks/{[root-of-the-server]__0dy3_w5i5avqu._.js → [root-of-the-server]__0dqcl3ne9jy6j._.js} +1 -1
  260. package/standalone/.next/server/chunks/{[root-of-the-server]__0ihief9wd15j-._.js → [root-of-the-server]__0ernvc_drsyur._.js} +1 -1
  261. package/standalone/.next/server/chunks/{[root-of-the-server]__0nazqxkz69cb-._.js → [root-of-the-server]__0gdpss1ozbpj6._.js} +1 -1
  262. package/standalone/.next/server/chunks/{[root-of-the-server]__0fdv7ezffrnb8._.js → [root-of-the-server]__0n0aoxk6qal2q._.js} +1 -1
  263. package/standalone/.next/server/chunks/{[root-of-the-server]__103-o8iatm04o._.js → [root-of-the-server]__0pb0of35lhv4r._.js} +2 -2
  264. package/standalone/.next/server/chunks/{[root-of-the-server]__0jo85vtp06p8k._.js → [root-of-the-server]__0pb4bln2irwf1._.js} +1 -1
  265. package/standalone/.next/server/chunks/{[root-of-the-server]__0mf1u6efc98j1._.js → [root-of-the-server]__0q_f0b_y6m06s._.js} +1 -1
  266. package/standalone/.next/server/chunks/{[root-of-the-server]__0867t3wdit4oo._.js → [root-of-the-server]__0r5hav-f6hg4y._.js} +2 -2
  267. package/standalone/.next/server/chunks/{[root-of-the-server]__0te36hr8zjt5a._.js → [root-of-the-server]__0rfsymbgl5zmz._.js} +2 -2
  268. package/standalone/.next/server/chunks/{[root-of-the-server]__0mjmd0-g6img6._.js → [root-of-the-server]__0twikyj29lh-8._.js} +1 -1
  269. package/standalone/.next/server/chunks/{[root-of-the-server]__0jqrn7hnkezim._.js → [root-of-the-server]__0uj03p6vvvoox._.js} +1 -1
  270. package/standalone/.next/server/chunks/{[root-of-the-server]__02w866s8cv03o._.js → [root-of-the-server]__0vqqb799ovs3f._.js} +2 -2
  271. package/standalone/.next/server/chunks/{[root-of-the-server]__0o0xdssylq9hn._.js → [root-of-the-server]__0wpet49k-mtfs._.js} +2 -2
  272. package/standalone/.next/server/chunks/[root-of-the-server]__0zdbzx4i-waj1._.js +3 -0
  273. package/standalone/.next/server/chunks/{[root-of-the-server]__064yhuqdlomcc._.js → [root-of-the-server]__0zo4-ogstcigk._.js} +1 -1
  274. package/standalone/.next/server/chunks/{[root-of-the-server]__02inw6-w863p6._.js → [root-of-the-server]__1-80xb-l8bnx8._.js} +1 -1
  275. package/standalone/.next/server/chunks/[root-of-the-server]__10hjc82wl2rrg._.js +3 -0
  276. package/standalone/.next/server/chunks/[root-of-the-server]__13a6nglsddnmp._.js +3 -0
  277. package/standalone/.next/server/chunks/{[root-of-the-server]__016k_dvgtq4np._.js → [root-of-the-server]__15rnf_muhindu._.js} +2 -2
  278. package/standalone/.next/server/chunks/{[root-of-the-server]__01uprimny6xf6._.js → [root-of-the-server]__17e3j_fplgxlt._.js} +1 -1
  279. package/standalone/.next/server/chunks/{[root-of-the-server]__0lfp2twrecdmg._.js → [root-of-the-server]__18549u75hk0zc._.js} +1 -1
  280. package/standalone/.next/server/chunks/{[root-of-the-server]__0q00u15k45x_y._.js → [root-of-the-server]__1aktlm6bxadr9._.js} +1 -1
  281. package/standalone/.next/server/chunks/[root-of-the-server]__1cdu86kwjpucp._.js +3 -0
  282. package/standalone/.next/server/chunks/[root-of-the-server]__1fyo1xks_hnke._.js +3 -0
  283. package/standalone/.next/server/chunks/[root-of-the-server]__1h19tyu2_us3g._.js +3 -0
  284. package/standalone/.next/server/chunks/[root-of-the-server]__1jv6n33tz33mq._.js +3 -0
  285. package/standalone/.next/server/chunks/[root-of-the-server]__1nz79np-vsmai._.js +3 -0
  286. package/standalone/.next/server/chunks/[root-of-the-server]__1p7-v5i6_c02i._.js +3 -0
  287. package/standalone/.next/server/chunks/[root-of-the-server]__1qkmdb5cuuvm2._.js +3 -0
  288. package/standalone/.next/server/chunks/[root-of-the-server]__1w7ym0rrtb0i-._.js +3 -0
  289. package/standalone/.next/server/chunks/[root-of-the-server]__1ymepgwm4cf20._.js +3 -0
  290. package/standalone/.next/server/chunks/[root-of-the-server]__20in07t-hzagn._.js +3 -0
  291. package/standalone/.next/server/chunks/_00m3rl49dioc5._.js +2 -2
  292. package/standalone/.next/server/chunks/_01xc_0zvoyeyx._.js +34 -6
  293. package/standalone/.next/server/chunks/_02hp9azf0wdup._.js +1 -1
  294. package/standalone/.next/server/chunks/_093bw72t0qhum._.js +1 -1
  295. package/standalone/.next/server/chunks/_0d-5v8n_htaud._.js +1 -1
  296. package/standalone/.next/server/chunks/_0d7kp9zewgzo1._.js +2 -2
  297. package/standalone/.next/server/chunks/_0dudkod891pw5._.js +3 -3
  298. package/standalone/.next/server/chunks/_0j7luifqpmd6_._.js +2 -2
  299. package/standalone/.next/server/chunks/_0locehugaxjku._.js +2 -2
  300. package/standalone/.next/server/chunks/_0w3t6yq0vzl4e._.js +1 -1
  301. package/standalone/.next/server/chunks/_0y5_6jpmf7x6s._.js +29 -1
  302. package/standalone/.next/server/chunks/_0zco7_ov6mcxo._.js +2 -2
  303. package/standalone/.next/server/chunks/_115xin0kz2fip._.js +3 -3
  304. package/standalone/.next/server/chunks/_12hy44_5ttvdf._.js +1 -1
  305. package/standalone/.next/server/chunks/_16ok4m6i7ixom._.js +1 -1
  306. package/standalone/.next/server/chunks/_19p9fduxrv2k5._.js +1 -1
  307. package/standalone/.next/server/chunks/_1_s18hw5f5luk._.js +1 -1
  308. package/standalone/.next/server/chunks/_1f-fkpn7r9h91._.js +3 -3
  309. package/standalone/.next/server/chunks/_1l_e477qf2_nl._.js +2 -2
  310. package/standalone/.next/server/chunks/_1m_66q0249ksj._.js +34 -6
  311. package/standalone/.next/server/chunks/_1tf-vrjf16ebm._.js +1 -1
  312. package/standalone/.next/server/chunks/_1uio0t8zcf1gc._.js +1 -1
  313. package/standalone/.next/server/chunks/_1wrauglm0po8g._.js +2 -2
  314. package/standalone/.next/server/chunks/_20mbq9d_-vcjz._.js +1 -1
  315. package/standalone/.next/server/chunks/src_services_0shipcub2yhy6._.js +1 -1
  316. package/standalone/.next/server/chunks/ssr/_0-efhkzh6ytuc._.js +4 -1
  317. package/standalone/.next/server/chunks/ssr/_01tmqlwi5urdh._.js +4 -1
  318. package/standalone/.next/server/chunks/ssr/_05hrnr_dqieci._.js +4 -1
  319. package/standalone/.next/server/chunks/ssr/_09frr_x9sj064._.js +5 -5
  320. package/standalone/.next/server/chunks/ssr/_0b_41u6xr2bpb._.js +4 -1
  321. package/standalone/.next/server/chunks/ssr/_0wpoapzcyfgyq._.js +5 -5
  322. package/standalone/.next/server/chunks/ssr/_0x-yk4-j0jzr_._.js +5 -5
  323. package/standalone/.next/server/chunks/ssr/_10ljfb0azxzug._.js +4 -1
  324. package/standalone/.next/server/chunks/ssr/_18-1310mrai6k._.js +1 -1
  325. package/standalone/.next/server/chunks/ssr/messages_de_json_[json]_cjs_1uig1ud36h5oz._.js +1 -1
  326. package/standalone/.next/server/chunks/ssr/messages_en_json_[json]_cjs_206072-e4clp3._.js +1 -1
  327. package/standalone/.next/server/chunks/ssr/messages_es_json_[json]_cjs_082yukd_h99n8._.js +1 -1
  328. package/standalone/.next/server/chunks/ssr/messages_fr_json_[json]_cjs_0j6-w0ix_w_ac._.js +1 -1
  329. package/standalone/.next/server/chunks/ssr/src_components_github_merge-pull-request-button_tsx_0ie9278wjani8._.js +4 -4
  330. package/standalone/.next/server/chunks/ssr/src_components_runs_run-detail-page_tsx_0eje87-gx_hru._.js +1 -1
  331. package/standalone/.next/server/chunks/ssr/src_components_telemetry_telemetry-page_tsx_0yzdpy67zpdxv._.js +12 -12
  332. package/standalone/.next/server/middleware-build-manifest.js +3 -3
  333. package/standalone/.next/server/pages/404.html +1 -1
  334. package/standalone/.next/server/pages/500.html +1 -1
  335. package/standalone/.next/server/preview-props.json +3 -3
  336. package/standalone/.next/server/server-reference-manifest.js +1 -1
  337. package/standalone/.next/server/server-reference-manifest.json +1 -1
  338. package/standalone/.next/static/chunks/0ntk3pefienee.js +74 -0
  339. package/standalone/.next/static/chunks/{3_jy_qgwcgmn3.js → 14kti20ptdk3_.js} +1 -1
  340. package/standalone/.next/static/chunks/19qk_mg79rhyl.css +1 -0
  341. package/standalone/.next/static/chunks/{3_zfruxk01zuz.js → 1e332a5q9nxel.js} +5 -2
  342. package/standalone/.next/static/chunks/28saicmp1_h9d.js +6 -0
  343. package/standalone/.next/static/chunks/{0-5ysfaxu6aan.js → 2d07_4-p-edmw.js} +8 -5
  344. package/standalone/.next/static/chunks/{32mx1gp4arbt_.js → 2efwkyl82sglw.js} +5 -5
  345. package/standalone/.next/static/chunks/{42k7pln5sl3oz.js → 2yh26beqzug_m.js} +4 -1
  346. package/standalone/.next/static/chunks/{2r8eetg_rh89t.js → 2za-zornp6w1i.js} +7 -4
  347. package/standalone/.next/static/chunks/{0uyjb26ic9ght.js → 3_q7pq1wb2d40.js} +8 -5
  348. package/standalone/.next/static/chunks/{0j0ja7mw0m3um.js → 3kdlr1xpqonpk.js} +4 -4
  349. package/standalone/packages/agent-contract/src/runs.test.ts +85 -1
  350. package/standalone/packages/agent-contract/src/runs.ts +71 -0
  351. package/standalone/.next/server/chunks/[root-of-the-server]__0yel_6ygv-b1q._.js +0 -3
  352. package/standalone/.next/server/chunks/[root-of-the-server]__11maut7kzgbir._.js +0 -3
  353. package/standalone/.next/server/chunks/[root-of-the-server]__13gc7j8v7vuh0._.js +0 -3
  354. package/standalone/.next/server/chunks/[root-of-the-server]__1a8-wn63eojbf._.js +0 -3
  355. package/standalone/.next/server/chunks/[root-of-the-server]__1ezzodrqye_k8._.js +0 -3
  356. package/standalone/.next/server/chunks/[root-of-the-server]__1iz-2u-1z1_wl._.js +0 -3
  357. package/standalone/.next/server/chunks/[root-of-the-server]__1j1n2lzndr33r._.js +0 -3
  358. package/standalone/.next/server/chunks/[root-of-the-server]__1muq_0k53s3ch._.js +0 -3
  359. package/standalone/.next/server/chunks/[root-of-the-server]__1p4d5mk5s-hn3._.js +0 -3
  360. package/standalone/.next/server/chunks/[root-of-the-server]__1qlb8l11-wp5b._.js +0 -3
  361. package/standalone/.next/server/chunks/[root-of-the-server]__1qpqa-yffw6l1._.js +0 -3
  362. package/standalone/.next/server/chunks/[root-of-the-server]__1r8sh0sbv66af._.js +0 -3
  363. package/standalone/.next/server/chunks/[root-of-the-server]__1rvzmcinwhc9f._.js +0 -3
  364. package/standalone/.next/static/chunks/0nab6cwtymfd9.js +0 -6
  365. package/standalone/.next/static/chunks/2sxkr-ertr4d-.js +0 -74
  366. package/standalone/.next/static/chunks/3x93y46q6oe51.css +0 -1
  367. /package/standalone/.next/static/{QCl5bKQ9cBiF-g9fxs6IK → _Jso-9p3y6xgFDkMzfmcW}/_buildManifest.js +0 -0
  368. /package/standalone/.next/static/{QCl5bKQ9cBiF-g9fxs6IK → _Jso-9p3y6xgFDkMzfmcW}/_clientMiddlewareManifest.js +0 -0
  369. /package/standalone/.next/static/{QCl5bKQ9cBiF-g9fxs6IK → _Jso-9p3y6xgFDkMzfmcW}/_ssgManifest.js +0 -0
@@ -1,6 +1,11 @@
1
1
  import { describe, expect, test } from "vitest";
2
2
 
3
- import { parseRunSessionReadPayload } from "./runs";
3
+ import {
4
+ getRunSessionInfo,
5
+ mergeRunSessionInfo,
6
+ normalizeRunSessionInfo,
7
+ parseRunSessionReadPayload,
8
+ } from "./runs";
4
9
 
5
10
  describe("run session read payload contract", () => {
6
11
  test("accepts a well-formed Claude/Codex request", () => {
@@ -52,3 +57,82 @@ describe("run session read payload contract", () => {
52
57
  ).toThrow(/folder/);
53
58
  });
54
59
  });
60
+
61
+ describe("run session information", () => {
62
+ test.each([
63
+ [
64
+ { path: "/custom/codex/archived_sessions/session.jsonl", cwd: "/repo" },
65
+ {
66
+ nativeTranscriptPath: "/custom/codex/archived_sessions/session.jsonl",
67
+ workingDirectory: "/repo",
68
+ },
69
+ ],
70
+ [
71
+ { cwd: "/claude/repo", sessionId: "claude-session" },
72
+ { workingDirectory: "/claude/repo" },
73
+ ],
74
+ [
75
+ { location: { directory: "/opencode/repo" }, id: "session" },
76
+ { workingDirectory: "/opencode/repo" },
77
+ ],
78
+ ])(
79
+ "projects known historical provider fields without exposing other metadata",
80
+ (raw, expected) => {
81
+ expect(
82
+ getRunSessionInfo(JSON.stringify({ ...raw, secret: "private" })),
83
+ ).toEqual(expected);
84
+ },
85
+ );
86
+
87
+ test.each([
88
+ null,
89
+ undefined,
90
+ "not json",
91
+ "null",
92
+ "[]",
93
+ { aideSessionInfo: [] },
94
+ ])("handles missing or malformed metadata (%s)", (value) =>
95
+ expect(getRunSessionInfo(value)).toBeNull(),
96
+ );
97
+
98
+ test("preserves exact paths and ignores unknown or invalid fields", () => {
99
+ expect(
100
+ normalizeRunSessionInfo({
101
+ nativeTranscriptPath: "/a directory/session.jsonl",
102
+ activityLogPath: 123,
103
+ workingDirectory: "",
104
+ secret: "private",
105
+ }),
106
+ ).toEqual({ nativeTranscriptPath: "/a directory/session.jsonl" });
107
+ });
108
+
109
+ test("partial reports preserve known locations and internal import digests", () => {
110
+ const metadata = {
111
+ importedHistoryDigest: "history",
112
+ importedSnapshotDigest: "snapshot",
113
+ aideSessionInfo: {
114
+ nativeTranscriptPath: "/sessions/session.jsonl",
115
+ workingDirectory: "/repo",
116
+ },
117
+ };
118
+ expect(
119
+ mergeRunSessionInfo(JSON.stringify(metadata), {
120
+ activityLogPath: "/aide/events.jsonl",
121
+ }),
122
+ ).toEqual({
123
+ ...metadata,
124
+ aideSessionInfo: {
125
+ ...metadata.aideSessionInfo,
126
+ activityLogPath: "/aide/events.jsonl",
127
+ },
128
+ });
129
+ expect(
130
+ getRunSessionInfo(
131
+ mergeRunSessionInfo(
132
+ { path: "/old/session.jsonl" },
133
+ { nativeTranscriptPath: null },
134
+ ),
135
+ ),
136
+ ).toEqual({ nativeTranscriptPath: null });
137
+ });
138
+ });
@@ -27,6 +27,77 @@ export type RunSessionReadResult = {
27
27
  contentBase64: string;
28
28
  };
29
29
 
30
+ /** Known locations on the agent host, reported without exposing provider metadata. */
31
+ export type RunSessionInfo = {
32
+ nativeTranscriptPath?: string | null;
33
+ activityLogPath?: string | null;
34
+ workingDirectory?: string | null;
35
+ };
36
+
37
+ /** Accept old JSON metadata as well as the objects received from agents. */
38
+ export function runMetadataRecord(value: unknown): Record<string, unknown> {
39
+ if (typeof value === "string") {
40
+ try {
41
+ return runMetadataRecord(JSON.parse(value));
42
+ } catch {
43
+ return {};
44
+ }
45
+ }
46
+ return value && typeof value === "object" && !Array.isArray(value)
47
+ ? (value as Record<string, unknown>)
48
+ : {};
49
+ }
50
+
51
+ /** Only these fields are safe to expose as session information. */
52
+ export function normalizeRunSessionInfo(value: unknown): RunSessionInfo {
53
+ const record = runMetadataRecord(value);
54
+ const result: RunSessionInfo = {};
55
+ for (const key of [
56
+ "nativeTranscriptPath",
57
+ "activityLogPath",
58
+ "workingDirectory",
59
+ ] as const) {
60
+ const entry = record[key];
61
+ if (entry === null || (typeof entry === "string" && entry.trim())) {
62
+ result[key] = entry;
63
+ }
64
+ }
65
+ return result;
66
+ }
67
+
68
+ /** Project historical Codex/Claude/OpenCode metadata as well as normalized reports. */
69
+ export function getRunSessionInfo(value: unknown): RunSessionInfo | null {
70
+ const metadata = runMetadataRecord(value);
71
+ const location = runMetadataRecord(metadata.location);
72
+ const legacy = normalizeRunSessionInfo({
73
+ nativeTranscriptPath: metadata.path,
74
+ workingDirectory: metadata.cwd ?? location.directory,
75
+ });
76
+ const result = {
77
+ ...legacy,
78
+ ...normalizeRunSessionInfo(metadata.aideSessionInfo),
79
+ };
80
+ return Object.keys(result).length ? result : null;
81
+ }
82
+
83
+ /** Omitted fields retain their known values; explicit null clears one field. */
84
+ export function mergeRunSessionInfo(
85
+ metadata: unknown,
86
+ update?: RunSessionInfo | null,
87
+ ): Record<string, unknown> {
88
+ const record = runMetadataRecord(metadata);
89
+ const sessionInfo = {
90
+ ...getRunSessionInfo(record),
91
+ ...normalizeRunSessionInfo(update),
92
+ };
93
+ return {
94
+ ...record,
95
+ ...(Object.keys(sessionInfo).length
96
+ ? { aideSessionInfo: sessionInfo }
97
+ : {}),
98
+ };
99
+ }
100
+
30
101
  function objectValue(value: unknown, name: string): Record<string, unknown> {
31
102
  if (!value || typeof value !== "object" || Array.isArray(value)) {
32
103
  throw new Error(`${name} must be an object`);
@@ -1,3 +0,0 @@
1
- module.exports=[99859,e=>{e.v(s=>Promise.all(["server/chunks/[externals]_node_module_144_b5-cfhhcc._.js"].map(s=>e.l(s))).then(()=>s(844376)))},887901,e=>{e.q("/server/assets/emscripten-module.36lwdl6kya6ey.wasm")},413928,e=>{e.q("/server/assets/index.02244y059umwk.js")}];
2
-
3
- //# sourceMappingURL=%5Broot-of-the-server%5D__0yel_6ygv-b1q._.js.map
@@ -1,3 +0,0 @@
1
- module.exports=[99859,e=>{e.v(s=>Promise.all(["server/chunks/[externals]_node_module_144_b5-cfhhcc._.js"].map(s=>e.l(s))).then(()=>s(844376)))},924026,e=>{e.q("/server/assets/emscripten-module.1_tc_cdxgmego.wasm")},851896,e=>{e.q("/server/assets/index.15ba-lh2znkfd.js")}];
2
-
3
- //# sourceMappingURL=%5Broot-of-the-server%5D__11maut7kzgbir._.js.map
@@ -1,3 +0,0 @@
1
- module.exports=[99859,e=>{e.v(s=>Promise.all(["server/chunks/[externals]_node_module_144_b5-cfhhcc._.js"].map(s=>e.l(s))).then(()=>s(844376)))},8283,e=>{e.q("/server/assets/emscripten-module.0vk4jof8ie0ry.wasm")},7140,e=>{e.q("/server/assets/index.03s4u1zz6e64w.js")}];
2
-
3
- //# sourceMappingURL=%5Broot-of-the-server%5D__13gc7j8v7vuh0._.js.map
@@ -1,3 +0,0 @@
1
- module.exports=[99859,e=>{e.v(s=>Promise.all(["server/chunks/[externals]_node_module_144_b5-cfhhcc._.js"].map(s=>e.l(s))).then(()=>s(844376)))},8283,e=>{e.q("/server/assets/emscripten-module.0vk4jof8ie0ry.wasm")},7140,e=>{e.q("/server/assets/index.03s4u1zz6e64w.js")}];
2
-
3
- //# sourceMappingURL=%5Broot-of-the-server%5D__1a8-wn63eojbf._.js.map
@@ -1,3 +0,0 @@
1
- module.exports=[99859,e=>{e.v(s=>Promise.all(["server/chunks/[externals]_node_module_144_b5-cfhhcc._.js"].map(s=>e.l(s))).then(()=>s(844376)))},984626,e=>{e.q("/server/assets/emscripten-module.3shzu8mkdo6i9.wasm")},91036,e=>{e.q("/server/assets/index.1y6imhmp-jiyx.js")}];
2
-
3
- //# sourceMappingURL=%5Broot-of-the-server%5D__1ezzodrqye_k8._.js.map
@@ -1,3 +0,0 @@
1
- module.exports=[99859,e=>{e.v(s=>Promise.all(["server/chunks/[externals]_node_module_144_b5-cfhhcc._.js"].map(s=>e.l(s))).then(()=>s(844376)))},924026,e=>{e.q("/server/assets/emscripten-module.1_tc_cdxgmego.wasm")},851896,e=>{e.q("/server/assets/index.15ba-lh2znkfd.js")}];
2
-
3
- //# sourceMappingURL=%5Broot-of-the-server%5D__1iz-2u-1z1_wl._.js.map
@@ -1,3 +0,0 @@
1
- module.exports=[99859,e=>{e.v(s=>Promise.all(["server/chunks/[externals]_node_module_144_b5-cfhhcc._.js"].map(s=>e.l(s))).then(()=>s(844376)))},887901,e=>{e.q("/server/assets/emscripten-module.36lwdl6kya6ey.wasm")},413928,e=>{e.q("/server/assets/index.02244y059umwk.js")}];
2
-
3
- //# sourceMappingURL=%5Broot-of-the-server%5D__1j1n2lzndr33r._.js.map
@@ -1,3 +0,0 @@
1
- module.exports=[99859,e=>{e.v(s=>Promise.all(["server/chunks/[externals]_node_module_144_b5-cfhhcc._.js"].map(s=>e.l(s))).then(()=>s(844376)))},924026,e=>{e.q("/server/assets/emscripten-module.1_tc_cdxgmego.wasm")},851896,e=>{e.q("/server/assets/index.15ba-lh2znkfd.js")}];
2
-
3
- //# sourceMappingURL=%5Broot-of-the-server%5D__1muq_0k53s3ch._.js.map
@@ -1,3 +0,0 @@
1
- module.exports=[99859,e=>{e.v(s=>Promise.all(["server/chunks/[externals]_node_module_144_b5-cfhhcc._.js"].map(s=>e.l(s))).then(()=>s(844376)))},984626,e=>{e.q("/server/assets/emscripten-module.3shzu8mkdo6i9.wasm")},91036,e=>{e.q("/server/assets/index.1y6imhmp-jiyx.js")}];
2
-
3
- //# sourceMappingURL=%5Broot-of-the-server%5D__1p4d5mk5s-hn3._.js.map
@@ -1,3 +0,0 @@
1
- module.exports=[99859,e=>{e.v(s=>Promise.all(["server/chunks/[externals]_node_module_144_b5-cfhhcc._.js"].map(s=>e.l(s))).then(()=>s(844376)))},984626,e=>{e.q("/server/assets/emscripten-module.3shzu8mkdo6i9.wasm")},91036,e=>{e.q("/server/assets/index.1y6imhmp-jiyx.js")}];
2
-
3
- //# sourceMappingURL=%5Broot-of-the-server%5D__1qlb8l11-wp5b._.js.map
@@ -1,3 +0,0 @@
1
- module.exports=[12202,e=>{e.v(s=>Promise.all(["server/chunks/[externals]_@napi-rs_keyring_1c9bdy7supgiw._.js"].map(s=>e.l(s))).then(()=>s(228907)))},408839,e=>{e.v(s=>Promise.all(["server/chunks/0d-b_@prisma_client_runtime_query_compiler_fast_bg_sqlite_mjs_15lig9wyfhsnp._.js"].map(s=>e.l(s))).then(()=>s(53315)))},900998,e=>{e.v(s=>Promise.all(["server/chunks/19bi_client_runtime_query_compiler_fast_bg_sqlite_wasm-base64_mjs_1jb9bv_6v15kv._.js"].map(s=>e.l(s))).then(()=>s(699802)))},323970,e=>{e.v(e=>Promise.resolve().then(()=>e(522734)))},916005,e=>{e.v(e=>Promise.resolve().then(()=>e(951615)))},70729,e=>{e.v(e=>Promise.resolve().then(()=>e(666680)))},589793,e=>{e.v(e=>Promise.resolve().then(()=>e(814747)))},108981,e=>{e.v(s=>Promise.all(["server/chunks/node_modules_@apollo_server_dist_esm_plugin_cacheControl_index_17bp7gz3802_i.js","server/chunks/node_modules_lru-cache_dist_esm_node_index_min_06o5vd0muxl4y.js"].map(s=>e.l(s))).then(()=>s(50037)))},296341,e=>{e.v(s=>Promise.all(["server/chunks/1q96_modules_@apollo_server_dist_esm_plugin_disableSuggestions_index_12vh8ff6zlooa.js"].map(s=>e.l(s))).then(()=>s(369115)))},837353,e=>{e.v(s=>Promise.all(["server/chunks/node_modules_@apollo_server_dist_esm_plugin_0_6-i74pa62pb._.js","server/chunks/1q96_modules_@apollo_usage-reporting-protobuf_generated_esm_protobuf_0b8vfc2luhqpr.js","server/chunks/node_modules_0rbpgq61x905e._.js"].map(s=>e.l(s))).then(()=>s(310428)))},218035,e=>{e.v(e=>Promise.resolve().then(()=>e(292646)))},197318,e=>{e.v(s=>Promise.all(["server/chunks/[root-of-the-server]__1m-hvjskj5o40._.js","server/chunks/node_modules_@apollo_server_dist_esm_plugin_schemaReporting_index_1jhdyzzxl3h2s.js"].map(s=>e.l(s))).then(()=>s(45733)))},727515,e=>{e.v(s=>Promise.all(["server/chunks/[root-of-the-server]__1m-hvjskj5o40._.js","server/chunks/node_modules_0rbpgq61x905e._.js","server/chunks/node_modules_lru-cache_dist_esm_node_index_min_06o5vd0muxl4y.js","server/chunks/1q96_modules_@apollo_usage-reporting-protobuf_generated_esm_protobuf_0b8vfc2luhqpr.js","server/chunks/node_modules_0bi7_en2lz8ru._.js","server/chunks/node_modules_@apollo_server_dist_esm_plugin_usageReporting_index_1j48-tot6rg7k.js"].map(s=>e.l(s))).then(()=>s(974801)))},916473,e=>{e.v(s=>Promise.all(["server/chunks/1daa_@better-auth_kysely-adapter_dist_bun-sqlite-dialect-DN2jcl8c_mjs_1y_0hufcp9p52._.js"].map(s=>e.l(s))).then(()=>s(769229)))},220309,e=>{e.v(s=>Promise.all(["server/chunks/1daa_@better-auth_kysely-adapter_dist_d1-sqlite-dialect-BgJMzZQp_mjs_05agnix_1osww._.js"].map(s=>e.l(s))).then(()=>s(867830)))},209477,e=>{e.v(s=>Promise.all(["server/chunks/1q96_modules_@better-auth_kysely-adapter_dist_node-sqlite-dialect_mjs_05ltt5i9n0aiv._.js"].map(s=>e.l(s))).then(()=>s(689127)))},563921,e=>{e.v(s=>Promise.all(["server/chunks/node_modules_@better-auth_memory-adapter_dist_index_mjs_0dgcqiz_5ztcg._.js"].map(s=>e.l(s))).then(()=>s(268905)))},738080,e=>{e.v(e=>Promise.resolve().then(()=>e(395292)))},250588,e=>{e.v(s=>Promise.all(["server/chunks/[root-of-the-server]__1p4d5mk5s-hn3._.js","server/chunks/1daa_@jitl_quickjs-wasmfile-debug-asyncify_dist_emscripten-module_mjs_1u58-9adqn6w8._.js"].map(s=>e.l(s))).then(()=>s(452979)))},465520,e=>{e.v(s=>Promise.all(["server/chunks/node_modules_@jitl_quickjs-wasmfile-debug-asyncify_dist_ffi_mjs_144ckx_tzsgl1._.js"].map(s=>e.l(s))).then(()=>s(437918)))},591520,e=>{e.v(s=>Promise.all(["server/chunks/[root-of-the-server]__1muq_0k53s3ch._.js","server/chunks/1daa_@jitl_quickjs-wasmfile-debug-sync_dist_emscripten-module_mjs_1bzxzsrsqxzni._.js"].map(s=>e.l(s))).then(()=>s(355384)))},835153,e=>{e.v(s=>Promise.all(["server/chunks/node_modules_@jitl_quickjs-wasmfile-debug-sync_dist_ffi_mjs_06ojbau9to8x7._.js"].map(s=>e.l(s))).then(()=>s(896934)))},529413,e=>{e.v(s=>Promise.all(["server/chunks/[root-of-the-server]__1r8sh0sbv66af._.js","server/chunks/10en_quickjs-wasmfile-release-asyncify_dist_emscripten-module_mjs_03sll5sedny5x._.js"].map(s=>e.l(s))).then(()=>s(790919)))},329313,e=>{e.v(s=>Promise.all(["server/chunks/node_modules_@jitl_quickjs-wasmfile-release-asyncify_dist_ffi_mjs_1cj0ga-6g3kdf._.js"].map(s=>e.l(s))).then(()=>s(497569)))},674591,e=>{e.v(s=>Promise.all(["server/chunks/[root-of-the-server]__0q00u15k45x_y._.js","server/chunks/1daa_@jitl_quickjs-wasmfile-release-sync_dist_emscripten-module_mjs_1c2h9b11ej8t4._.js"].map(s=>e.l(s))).then(()=>s(984782)))},175367,e=>{e.v(s=>Promise.all(["server/chunks/node_modules_@jitl_quickjs-wasmfile-release-sync_dist_ffi_mjs_0ge8g9fjyto_2._.js"].map(s=>e.l(s))).then(()=>s(644796)))},713662,e=>{e.v(s=>Promise.all(["server/chunks/node_modules_@opentelemetry_api_dist_index_mjs_0ejic5e-zwrkj._.js"].map(s=>e.l(s))).then(()=>s(845519)))},246120,e=>{e.v(s=>Promise.all(["server/chunks/node_modules_better-auth_dist_adapters_kysely-adapter_index_mjs_1u-8gniqb8hyv._.js"].map(s=>e.l(s))).then(()=>s(69580)))},450257,e=>{e.v(s=>Promise.all(["server/chunks/node_modules_better-auth_dist_plugins_organization_index_mjs_0qxx2xv45iv92._.js"].map(s=>e.l(s))).then(()=>s(224100)))},628028,e=>{e.v(s=>Promise.all(["server/chunks/1q96_modules_extended-markdown-adf-parser_dist_js-yaml-GWBS3D3U_mjs_1anug9s_tnqyv._.js"].map(s=>e.l(s))).then(()=>s(591073)))},899105,e=>{e.v(e=>Promise.resolve().then(()=>e(186846)))},669208,e=>{e.v(s=>Promise.all(["server/chunks/node_modules_jose_dist_webapi_index_0x18k7qr6ro1u.js"].map(s=>e.l(s))).then(()=>s(612867)))},6878,e=>{e.v(s=>Promise.all(["server/chunks/[externals]_next_dist_server_app-render_1yoqe3gkwr3dg._.js","server/chunks/node_modules_next_dist_0ku_biribeqcf._.js","server/chunks/node_modules_next_1_14bcs2pb4w8._.js"].map(s=>e.l(s))).then(()=>s(493458)))},969484,e=>{e.v(s=>Promise.all(["server/chunks/node_modules_quickjs-emscripten-core_dist_module-ES6BEMUI_mjs_145exi1-hp4s5._.js"].map(s=>e.l(s))).then(()=>s(807057)))},706986,e=>{e.v(s=>Promise.all(["server/chunks/1q96_modules_quickjs-emscripten-core_dist_module-asyncify-2EFITU5U_mjs_0eswnkgcpc-zg._.js"].map(s=>e.l(s))).then(()=>s(741366)))},328373,e=>{e.v(e=>Promise.resolve().then(()=>e(163853)))},168784,e=>{e.v(e=>Promise.resolve().then(()=>e(933416)))}];
2
-
3
- //# sourceMappingURL=%5Broot-of-the-server%5D__1qpqa-yffw6l1._.js.map
@@ -1,3 +0,0 @@
1
- module.exports=[99859,e=>{e.v(s=>Promise.all(["server/chunks/[externals]_node_module_144_b5-cfhhcc._.js"].map(s=>e.l(s))).then(()=>s(844376)))},8283,e=>{e.q("/server/assets/emscripten-module.0vk4jof8ie0ry.wasm")},7140,e=>{e.q("/server/assets/index.03s4u1zz6e64w.js")}];
2
-
3
- //# sourceMappingURL=%5Broot-of-the-server%5D__1r8sh0sbv66af._.js.map
@@ -1,3 +0,0 @@
1
- module.exports=[99859,e=>{e.v(s=>Promise.all(["server/chunks/[externals]_node_module_144_b5-cfhhcc._.js"].map(s=>e.l(s))).then(()=>s(844376)))},887901,e=>{e.q("/server/assets/emscripten-module.36lwdl6kya6ey.wasm")},413928,e=>{e.q("/server/assets/index.02244y059umwk.js")}];
2
-
3
- //# sourceMappingURL=%5Broot-of-the-server%5D__1rvzmcinwhc9f._.js.map
@@ -1,6 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,662663,e=>{"use strict";var t=e.i(843476);class s extends Error{code;fieldKey;constructor(e,t){super(`Invalid form answer (${e}): ${t}`),this.code=e,this.fieldKey=t}}function a(e){if(!e||"object"!=typeof e||Array.isArray(e))throw Error("Invalid form object");return e}function n(e,t){return"external"===e.type||!e.when||e.when.every(e=>{let s=t[e.key];if(void 0===s)return!1;let a=Array.isArray(s)?s.includes(String(e.value)):s===e.value;return"eq"===e.op?a:!a})}var r=e.i(948148),l=e.i(257428),i=e.i(793479),o=e.i(624687),d=e.i(967489);function u(e,t){let s=Object.create(null);for(let a of e){if(!n(a,s))continue;let e=Object.hasOwn(t,a.key)?t[a.key]:"external"!==a.type?a.default:void 0;void 0!==e&&(s[a.key]=e)}return s}function c({fields:e,draft:s,onChange:a,readOnly:h=!1}){let p=(0,r.f)("runs.form"),m=u(e,h?Object.assign(Object.fromEntries(e.map(e=>[e.key,void 0])),s):s),f=(e,t)=>a({...s,[e]:t});return(0,t.jsx)("div",{className:"space-y-5",children:e.map(e=>{if("hidden"in e&&e.hidden||!n(e,m))return null;let s=m[e.key],a=e.title||e.key,r="required"in e&&e.required,u="options"in e?e.options:void 0,c=Array.isArray(s)?s:[],x=`native-field-${e.key}`;return(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsxs)("label",{className:"block font-medium",htmlFor:x,children:[a,r?` (${p("required")})`:""]}),e.description&&(0,t.jsx)("p",{className:"text-sm text-muted-foreground",children:e.description}),h?(0,t.jsx)("p",{className:"whitespace-pre-wrap text-sm",children:void 0===s?"—":"boolean"==typeof s?p(s?"yes":"no"):Array.isArray(s)?s.map(e=>u?.find(t=>t.value===e)?.label??e).join(", "):u?.find(e=>e.value===s)?.label??String(s)}):"external"===e.type?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("a",{className:"text-primary underline",href:e.url,target:"_blank",rel:"noopener noreferrer",children:p("openLink")}),(0,t.jsxs)("label",{className:"flex items-center gap-2",children:[(0,t.jsx)(l.f,{id:x,checked:!0===s,onCheckedChange:t=>f(e.key,!0===t||void 0)}),p("acknowledge")]})]}):"boolean"===e.type?(0,t.jsxs)(d.d,{value:"boolean"==typeof s?String(s):"",onValueChange:t=>f(e.key,"unset"===t?void 0:"true"===t),children:[(0,t.jsx)(d.P,{id:x,"aria-label":a,children:(0,t.jsx)(d.U,{placeholder:p("choose")})}),(0,t.jsxs)(d.r,{children:[!r&&(0,t.jsx)(d.T,{value:"unset",children:p("unanswered")}),(0,t.jsx)(d.T,{value:"true",children:p("yes")}),(0,t.jsx)(d.T,{value:"false",children:p("no")})]})]}):"number"===e.type||"integer"===e.type?(0,t.jsx)(i.f,{id:x,"aria-label":a,type:"number",step:"integer"===e.type?1:"any",min:e.minimum,max:e.maximum,required:r,value:"number"==typeof s?s:"",onChange:t=>f(e.key,""===t.target.value?void 0:Number(t.target.value))}):"multiselect"===e.type?(0,t.jsxs)(t.Fragment,{children:[e.options.map(s=>(0,t.jsxs)("label",{className:"flex items-start gap-3 rounded-lg border p-3",children:[(0,t.jsx)(l.f,{checked:c.includes(s.value),onCheckedChange:t=>f(e.key,t?[...c,s.value]:c.filter(e=>e!==s.value))}),(0,t.jsxs)("span",{children:[(0,t.jsx)("span",{className:"block font-medium",children:s.label}),s.description&&(0,t.jsx)("span",{className:"text-sm text-muted-foreground",children:s.description})]})]},s.value)),e.custom&&(0,t.jsx)(o.f,{"aria-label":p("custom"),placeholder:p("customMultiple"),value:c.filter(t=>!e.options.some(e=>e.value===t)).join("\n"),onChange:t=>f(e.key,[...c.filter(t=>e.options.some(e=>e.value===t)),...t.target.value.split("\n").filter(Boolean)])})]}):"string"===e.type?(0,t.jsxs)(t.Fragment,{children:[e.options?.map(a=>(0,t.jsxs)("label",{className:"flex items-start gap-3 rounded-lg border p-3",children:[(0,t.jsx)(l.f,{checked:s===a.value,onCheckedChange:t=>f(e.key,t?a.value:void 0)}),(0,t.jsxs)("span",{children:[(0,t.jsx)("span",{className:"block font-medium",children:a.label}),a.description&&(0,t.jsx)("span",{className:"text-sm text-muted-foreground",children:a.description})]})]},a.value)),(!e.options||e.custom)&&(0,t.jsx)(i.f,{id:x,"aria-label":a,required:r,type:"email"===e.format?"email":"uri"===e.format?"url":"date"===e.format?"date":"text",placeholder:e.placeholder??(e.options?p("custom"):void 0),minLength:e.minLength,maxLength:e.maxLength,pattern:e.pattern,value:"string"!=typeof s||e.options?.some(e=>e.value===s)?"":s,onChange:t=>f(e.key,t.target.value||void 0)})]}):null]},e.key)})})}var h=e.i(724913),p=e.i(944887),m=e.i(271645),f=e.i(853138),x=e.i(876561),v=e.i(489002),g=e.i(55677),j=e.i(762368),b=e.i(829600),y=e.i(120283),w=e.i(328523),k=e.i(515281),N=e.i(21357),S=e.i(395925),C=e.i(566595),$=e.i(730274),A=e.i(759659),I=e.i(861745),R=e.i(340953),E=e.i(816484);e.i(983632);var T=e.i(26692),D=e.i(142811),M=e.i(929592),O=e.i(487486),P=e.i(519455),_=e.i(515288),L=e.i(776639),q=e.i(755146),F=e.i(110204),U=e.i(677572),W=e.i(987968),z=e.i(784774),B=e.i(520133),K=e.i(637611),V=e.i(767648),J=e.i(266136),G=e.i(975157),Y=e.i(171502),H=e.i(42629),X=e.i(689664),Q=e.i(716327),Z=e.i(452330),ee=e.i(508734),et=e.i(462777),es=e.i(779432),ea=e.i(271567),en=e.i(456420);let er={name:"brain",size:24,node:[["path",{d:"M12 18V5",key:"adv99a"}],["path",{d:"M15 13a4.17 4.17 0 01-3-4 4.17 4.17 0 01-3 4",key:"5nuw1p"}],["path",{d:"M17.707 6.294A3 3 0 1012 5a3 3 0 10-5.707 1.294",key:"18ldcf"}],["path",{d:"M17.996 5.125a4 4 0 012.526 5.77",key:"1sdu8q"}],["path",{d:"M18 18a4 4 0 002-7.465",key:"7xqqvr"}],["path",{d:"M19.967 17.482a4 4 0 11-7.967.517 4 4 0 11-7.967-.517",key:"t46ysz"}],["path",{d:"M6 18a4 4 0 01-2-7.465",key:"1y2m15"}],["path",{d:"M6.004 5.125a4 4 0 00-2.526 5.77",key:"3cw1ss"}]]};er.node;let el=(0,en.f)(er);var ei=e.i(551757),eo=e.i(559092),ed=e.i(235056);let eu={name:"file-diff",size:24,node:[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M9 10h6",key:"9gxzsh"}],["path",{d:"M12 13V7",key:"h0r20n"}],["path",{d:"M9 17h6",key:"r8uit2"}]]};eu.node;let ec=(0,en.f)(eu);var eh=e.i(671028),ep=e.i(91511);let em={name:"info",size:24,node:[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 16v-4",key:"1dtifu"}],["path",{d:"M12 8h.01",key:"e9boi3"}]]};em.node;let ef=(0,en.f)(em),ex={name:"list-checks",size:24,node:[["path",{d:"M13 5h8",key:"a7qcls"}],["path",{d:"M13 12h8",key:"h98zly"}],["path",{d:"M13 19h8",key:"c3s6r1"}],["path",{d:"m3 17 2 2 4-4",key:"1jhpwq"}],["path",{d:"m3 7 2 2 4-4",key:"1obspn"}]]};ex.node;let ev=(0,en.f)(ex),eg={name:"message-square",size:24,node:[["path",{d:"M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z",key:"18887p"}]]};eg.node;let ej=(0,en.f)(eg);var eb=e.i(869309),ey=e.i(841220),ew=e.i(250832),ek=e.i(604139),eN=e.i(594831),eS=e.i(747925);function eC(e){return e&&"object"==typeof e&&!Array.isArray(e)?e:{}}function e$(e){return"string"==typeof e&&e.trim()?e:null}function eA(e){return"number"==typeof e&&Number.isFinite(e)?e:null}function eI(e){return eC(e.raw)}function eR(e){let t=eI(e).method;return"string"==typeof t&&t.length?t:null}function eE(e){return eC(eI(e).params)}function eT(e){let t=eI(e),s=e$(t.type);return s&&t.properties?s:null}function eD(e){return eC(eI(e).properties)}function eM(e){let t=eI(e),s=e$(t.type);return!s||eT(e)||eR(e)?null:(void 0!==t.session_id||void 0!==t.uuid||void 0!==t.message||void 0!==t.subtype)&&["system","user","assistant","result"].includes(s)?t:null}function eO(e){return e.split(/[/._-]/).flatMap(e=>e.replace(/([a-z0-9])([A-Z])/g,"$1 $2").replace(/([A-Za-z])([0-9])/g,"$1 $2").replace(/([A-Z]+)([A-Z][a-z])/g,"$1 $2").split(" ")).filter(e=>/[a-z0-9]/i.test(e)).map(e=>e[0].toUpperCase()+e.slice(1)).join(" ")}function eP(e){let t=e$(e);return t?(t.includes("-")?t.split("-").pop():t).slice(0,8):""}function e_(e){return e.replace(/\.0$/,"")}function eL(e){return e<1e3?`${Math.round(e)}ms`:e<6e4?`${e_((e/1e3).toFixed(1))}s`:`${e_((e/6e4).toFixed(1))}m`}function eq(e){let t=e>0&&e<.01?6:2;return`$${e.toFixed(t).replace(/0+$/,"").replace(/\.$/,"")}`}function eF(e,t=180){let s=e.replace(/\s+/g," ").trim();return s.length>t?`${s.slice(0,t-1)}…`:s}function eU(e){let t=e$(e);if(t)return t;if("number"==typeof e&&Number.isFinite(e))return String(e);if("boolean"==typeof e)return e?"Yes":"No";if(Array.isArray(e)&&e.length)return e.map(e=>e$(e)??eY(e,240)).filter(Boolean).join(", ");let s=eC(e);return Object.keys(s).length?eY(s,500):null}function eW(e){return e$(eC(eE(e).item).type)}let ez=[[/reason|think/i,el],[/command|exec|shell|bash|terminal/i,ek.f],[/file|patch|edit|diff|apply/i,ec],[/websearch|web_search|search/i,ep.f],[/todo|plan/i,ev],[/mcp|tool/i,eS.f],[/message/i,ej],[/error|fail/i,f.f]],eB=[[/tokenusage/i,eh.f],[/mcpserver/i,ey.f],[/settings/i,ew.f],[/^turn\/started/i,N.f],[/^turn\/completed/i,ei.f],[/status/i,es.f],[/requestuserinput|question/i,ed.f],[/disconnect/i,eN.f],[/serverconnect|connected/i,eb.f],[/plan/i,g.f]],eK=[[/question/i,ed.f],[/command|terminal|exec|bash/i,ek.f],[/tool/i,eS.f],[/file|diff|patch|edit/i,ec],[/reason|think/i,el],[/usage|token|cost/i,eh.f],[/status/i,es.f],[/web|search/i,ep.f],[/plan/i,g.f],[/result|complete|success|finish/i,ei.f],[/user/i,ej],[/assistant|agent|message|text/i,ea.f],[/error|fail/i,f.f],[/system|init|hook/i,ef]];function eV(e,t){for(let[s,a]of e)if(s.test(t))return a;return null}function eJ(e){let t=(Array.isArray(e.commandActions)?e.commandActions.map(eC):[]).map(e=>e$(e.command)).find(e=>!!e),s=e$(e.text)??t??e$(e.command)??e$(e.message)??eG(e.summary)??eG(e.content);if(s)return s.replace(/\s+/g," ").trim();let a=e$(e.type);return a?eO(a):""}function eG(e){if(!Array.isArray(e))return null;for(let t of e){let e=e$(t);if(e)return e;let s=eC(t),a=e$(s.text)??e$(s.content);if(a)return a}return null}function eY(e,t=160){let s;try{s=JSON.stringify(e)??""}catch{s=String(e)}return"{}"===(s=s.replace(/\s+/g," ").trim())||"null"===s||""===s?"":s.length>t?`${s.slice(0,t-1)}…`:s}function eH(e,t=new Set){let s=[];for(let[a,n]of Object.entries(e))if(!t.has(a))if("string"==typeof n){let e=n.trim();e&&s.push({label:eO(a),value:e})}else"number"==typeof n&&Number.isFinite(n)?s.push({label:eO(a),value:String(n)}):"boolean"==typeof n&&s.push({label:eO(a),value:n?"Yes":"No"});return s}function eX(e,t,s){for(let[a,n]of[["Total tokens",t.total??t.total_tokens],["Input tokens",t.input??t.input_tokens],["Output tokens",t.output??t.output_tokens],["Reasoning tokens",t.reasoning??t.reasoning_tokens],["Cache read tokens",eC(t.cache).read??t.cache_read_input_tokens],["Cache write tokens",eC(t.cache).write??t.cache_creation_input_tokens]]){let t=eA(n);null!==t&&e.push({label:a,value:s(t)})}}function eQ(e){let t=eC(e.message).content;return Array.isArray(t)?t.map(eC):[]}function eZ(e,t){let s=function(e){let t=eR(e);if(t){let s=eW(e);return s?eV(ez,s)??eo.f:eV(eB,t)??ea.f}let s=eT(e);if(s){let t=eD(e);if("message.part.updated"===s){let e=eC(t.part),s=e$(e.type)??"";if("tool"===s){let t=e$(e.tool)??"";return eV(ez,t)??eV(eK,t)??eS.f}return eV(eK,s)??eo.f}return"message.updated"===s?"user"===(e$(eC(t.info).role)??"message")?ej:ea.f:eV(eK,s)??ea.f}let a=eM(e);if(a){let t=e$(a.type)??e.type,s=e$(a.subtype)??"";return"result"===t?!0===a.is_error?f.f:ei.f:"user"===t&&void 0!==eC(a.tool_use_result).stdout?ek.f:"system"===t&&"init"===s?ew.f:"system"===t&&"hook_response"===s?"success"===a.outcome?ei.f:f.f:eV(eK,`${t} ${s}`)??ea.f}return eV(eK,e.type)??ea.f}(e),a=eR(e),n=new Intl.NumberFormat(t??"en-US"),r=e=>n.format(e);if(a){let t=function(e,t,s){if(/tokenusage/i.test(e)){let e,a=eC(t.tokenUsage??t.usage),n=eC(a.total??a),r=eA(n.inputTokens)??0,l=eA(n.outputTokens)??0,i=eA(n.totalTokens)??r+l,o=eA(n.cachedInputTokens),d=eA(n.reasoningOutputTokens),u=eA(a.modelContextWindow),c=[`↑${s(r)}`,`↓${s(l)}`,s(i)];u&&c.push(`${(e=Math.abs(u))>=1e6?`${e_((u/1e6).toFixed(1))}M`:e>=1e3?`${e_((u/1e3).toFixed(1))}K`:String(u)} ctx`);let h=[{label:"Total",value:s(i)},{label:"Input",value:s(r)},{label:"Output",value:s(l)}];return null!==o&&h.push({label:"Cached",value:s(o)}),null!==d&&h.push({label:"Reasoning",value:s(d)}),null!==u&&h.push({label:"Context window",value:s(u)}),{line:c.join(" · "),detailRows:h}}if(/^thread\/status/i.test(e)){let e=eC(t.status),s=e$(e.type)??"",a=Array.isArray(e.activeFlags)?e.activeFlags.map(e=>eO(String(e))):[],n=[eO(s),...a].filter(Boolean).join(" · "),r=s?[{label:"Status",value:eO(s)}]:[];return a.length&&r.push({label:"Flags",value:a.join(", ")}),{line:n,detailRows:r}}if("turn/diff/updated"===e){let e,a,n,r,l,i,o=e$(t.diff)??"";return o?(e=[...o.matchAll(/^diff --git a\/(.+) b\/(.+)$/gm)].map(e=>e[2]),n=(a=o.split("\n")).filter(e=>e.startsWith("+")&&!e.startsWith("+++")).length,r=a.filter(e=>e.startsWith("-")&&!e.startsWith("---")).length,l=`${s(e.length)} ${1===e.length?"file":"files"} changed`,i=[{label:"Files",value:e.length?e.join("\n"):"Unknown"},{label:"Additions",value:s(n)},{label:"Deletions",value:s(r)}],{line:`${l} \xb7 +${s(n)} -${s(r)}`,detailRows:i}):{line:"No file changes",detailRows:[]}}if(/^turn\//i.test(e)){let e=eC(t.turn),s=e$(e.status),a=eA(e.durationMs),n=[eP(e.id)];s&&n.push(eO(s)),a&&n.push(eL(a));let r=[];return e.id&&r.push({label:"Turn",value:eP(e.id)}),s&&r.push({label:"Status",value:eO(s)}),null!==a&&r.push({label:"Duration",value:eL(a)}),e$(e.error)&&r.push({label:"Error",value:e$(e.error)}),{line:n.filter(Boolean).join(" · "),detailRows:r}}if(/settings/i.test(e)){let e=eC(t.threadSettings??t.settings),s=eC(e.sandboxPolicy),a=eC(e.collaborationMode),n=e$(e.model),r=e$(e.effort),l=e$(a.mode),i=[n,r,l].filter(Boolean).join(" · "),o=[];return n&&o.push({label:"Model",value:n}),e$(e.modelProvider)&&o.push({label:"Provider",value:e$(e.modelProvider)}),r&&o.push({label:"Effort",value:eO(r)}),l&&o.push({label:"Mode",value:eO(l)}),e$(e.approvalPolicy)&&o.push({label:"Approval",value:eO(e$(e.approvalPolicy))}),e$(s.type)&&o.push({label:"Sandbox",value:eO(e$(s.type))}),"boolean"==typeof s.networkAccess&&o.push({label:"Network access",value:s.networkAccess?"Yes":"No"}),e$(e.personality)&&o.push({label:"Personality",value:eO(e$(e.personality))}),e$(e.cwd)&&o.push({label:"Working directory",value:e$(e.cwd)}),{line:i,detailRows:o}}if(/mcpserver/i.test(e)){let e=e$(t.name)??"",s=e$(t.status)??"",a=e$(t.failureReason)??e$(t.error),n=[e,eO(s),a].filter(Boolean).join(" · "),r=[];return e&&r.push({label:"Server",value:e}),s&&r.push({label:"Status",value:eO(s)}),a&&r.push({label:"Failure",value:a}),{line:n,detailRows:r}}if(/\/delta$/i.test(e))return{line:(e$(t.delta)??"").replace(/\s+/g," ").trim(),detailRows:[]};if(e.startsWith("item/")&&t.item){let e=eC(t.item);if("commandExecution"===e.type){let t=eJ(e),a=e$(e.status),n=eA(e.exitCode),r=eA(e.durationMs),l=[];return a&&l.push({label:"Status",value:eO(a)}),null!==n&&l.push({label:"Exit code",value:s(n)}),null!==r&&l.push({label:"Duration",value:eL(r)}),e$(e.cwd)&&l.push({label:"Working directory",value:e$(e.cwd)}),t&&l.push({label:"Command",value:t}),e$(e.aggregatedOutput)&&l.push({label:"Output",value:e$(e.aggregatedOutput)}),{line:t,detailRows:l}}if("fileChange"===e.type){let t=Array.isArray(e.changes)?e.changes:[],a=t.map(e=>{let t=eC(e),s=eC(t.kind);return{label:e$(t.path)??"File",value:eO(e$(s.type)??"changed")}});return e$(e.status)&&a.unshift({label:"Status",value:eO(e$(e.status))}),{line:`${s(t.length)} ${1===t.length?"file":"files"} changed`,detailRows:a}}let a=eH(e,new Set(["id"]));return{line:eJ(e),detailRows:a}}if(/disconnect/i.test(e)){let e=e$(t.message)??"";return{line:e,detailRows:e?[{label:"Message",value:e}]:[]}}return null}(a,eE(e),r),n=t?.line||eY(eE(e))||e.summary||"";return{icon:s,methodTitle:eO(a),line:n,detailRows:t?.detailRows??[]}}let l=eT(e);if(l)return{icon:s,...function(e,t,s){let a=eD(e);if("session.status"===t){let e=e$(eC(a.status).type)??"Unknown";return{methodTitle:"Session Status",line:eO(e),detailRows:[{label:"Status",value:eO(e)}]}}if("session.diff"===t){let e=Array.isArray(a.diff)?a.diff:[],t=0,n=0,r=[];for(let[a,l]of e.entries()){let e=eC(l);t+=eA(e.additions)??0,n+=eA(e.deletions)??0;let i=e$(e.file)??e$(e.path)??`File ${a+1}`,o=[null!==eA(e.additions)?`+${s(eA(e.additions))}`:null,null!==eA(e.deletions)?`-${s(eA(e.deletions))}`:null,e$(e.status)?eO(e$(e.status)):null].filter(Boolean).join(" · ");r.push({label:i,value:o||"Changed"})}return{methodTitle:"Session Diff",line:e.length?`${s(e.length)} ${1===e.length?"file":"files"} \xb7 +${s(t)} -${s(n)}`:"No file changes",detailRows:r}}if("session.updated"===t){let e=eC(a.info),t=eC(e.model),n=eC(e.tokens),r=e$(e.title),l=e$(t.id),i=e$(e.agent),o=eA(e.cost),d=[];return r&&d.push({label:"Title",value:r}),e$(e.slug)&&d.push({label:"Slug",value:e$(e.slug)}),l&&d.push({label:"Model",value:l}),e$(t.providerID)&&d.push({label:"Provider",value:e$(t.providerID)}),e$(t.variant)&&d.push({label:"Variant",value:e$(t.variant)}),i&&d.push({label:"Agent",value:i}),e$(e.version)&&d.push({label:"OpenCode version",value:e$(e.version)}),e$(e.directory)&&d.push({label:"Working directory",value:e$(e.directory)}),eX(d,n,s),null!==o&&d.push({label:"Reported cost",value:eq(o)}),{methodTitle:"Session Updated",line:[r,l,i,o?eq(o):null].filter(Boolean).join(" · "),detailRows:d}}if("message.updated"===t){let e=eC(a.info),t=e$(e.role)??"message",n=eC(e.model),r=e$(e.modelID)??e$(n.modelID),l=e$(e.providerID)??e$(n.providerID),i=e$(e.finish),o=e$(e.agent),d=eC(e.tokens),u=eA(d.total),c=eA(e.cost),h=eC(e.error),p=e$(e.error)??e$(h.message)??e$(eC(h.data).message),m=[{label:"Role",value:eO(t)}];return r&&m.push({label:"Model",value:r}),l&&m.push({label:"Provider",value:l}),o&&m.push({label:"Agent",value:o}),e$(e.mode)&&m.push({label:"Mode",value:eO(e$(e.mode))}),i&&m.push({label:"Finish reason",value:eO(i)}),eX(m,d,s),null!==c&&m.push({label:"Reported cost",value:eq(c)}),p&&m.push({label:"Error",value:p}),{methodTitle:`${eO(t)} Message`,line:[r,o,p?"Failed":i?eO(i):"Started",null!==u&&u>0?`${s(u)} tokens`:null,c?eq(c):null].filter(Boolean).join(" · "),detailRows:m}}if("message.part.delta"===t){let e=e$(a.delta)??"",t=e$(a.field),s=[];return t&&s.push({label:"Field",value:eO(t)}),e&&s.push({label:"Text",value:e}),{methodTitle:"Message Text Delta",line:eF(e),detailRows:s}}if("message.part.updated"===t){let t=eC(a.part),n=e$(t.type)??"part";if("text"===n||"reasoning"===n){let s=e$(t.text)??e.detailMarkdown??e.summary;return{methodTitle:eO(n),line:eF(s),detailRows:s?[{label:"Text",value:s}]:[]}}if("tool"===n){let e=e$(t.tool)??"Tool",a=eC(t.state),n=eC(a.input),r=eC(a.metadata),l=eC(a.time),i=e$(a.status),o=e$(n.command),d=e$(a.title)??o,u=eA(l.start),c=eA(l.end),h=null!==u&&null!==c?c-u:null,p=eA(r.exit),m=e$(a.output)??e$(r.output),f=[{label:"Tool",value:eO(e)}];i&&f.push({label:"Status",value:eO(i)}),d&&f.push({label:"Title",value:d}),o&&o!==d&&f.push({label:"Command",value:o}),null!==h&&f.push({label:"Duration",value:eL(h)}),null!==p&&f.push({label:"Exit code",value:s(p)});let x=eU(n);return x&&!o&&f.push({label:"Input",value:x}),m&&f.push({label:"Output",value:m}),{methodTitle:`${eO(e)} Tool`,line:[d??eO(e),i?eO(i):null,null!==h?eL(h):null,null!==p?`exit ${s(p)}`:null].filter(Boolean).join(" · "),detailRows:f}}if("step-start"===n){let e=eP(t.snapshot);return{methodTitle:"Step Started",line:e?`Snapshot ${e}`:"Started",detailRows:e?[{label:"Snapshot",value:e$(t.snapshot)}]:[]}}if("step-finish"===n){let e=e$(t.reason),a=eC(t.tokens),n=eA(a.input),r=eA(a.output),l=eA(a.reasoning),i=eA(t.cost),o=[];return e&&o.push({label:"Finish reason",value:eO(e)}),eX(o,a,s),null!==i&&o.push({label:"Reported cost",value:eq(i)}),e$(t.snapshot)&&o.push({label:"Snapshot",value:e$(t.snapshot)}),{methodTitle:"Step Finished",line:[e?eO(e):"Finished",null!==n?`↑${s(n)}`:null,null!==r?`↓${s(r)}`:null,l?`${s(l)} reasoning`:null,i?eq(i):null].filter(Boolean).join(" · "),detailRows:o}}return{methodTitle:eO(n),line:eO(n),detailRows:eH(t,new Set(["id","messageID","sessionID"]))}}return{methodTitle:eO(t),line:eY(a)||e.summary||"",detailRows:eH(a)}}(e,l,r)};let i=eM(e);return i?{icon:s,...function(e,t,s){let a=e$(t.type)??e.type.toLowerCase(),n=e$(t.subtype);if("system"===a&&"init"===n){let e=Array.isArray(t.mcp_servers)?t.mcp_servers:[],a=Array.isArray(t.tools)?t.tools:[],n=Array.isArray(t.agents)?t.agents:[],r=Array.isArray(t.skills)?t.skills:[],l=Array.isArray(t.plugins)?t.plugins:[],i=e$(t.model),o=e$(t.claude_code_version),d=e$(t.permissionMode),u=[];return i&&u.push({label:"Model",value:i}),o&&u.push({label:"Claude Code version",value:o}),d&&u.push({label:"Permission mode",value:eO(d)}),e$(t.cwd)&&u.push({label:"Working directory",value:e$(t.cwd)}),a.length&&u.push({label:"Tools",value:`${s(a.length)} available`}),n.length&&u.push({label:"Agents",value:n.map(String).join(", ")}),r.length&&u.push({label:"Skills",value:`${s(r.length)} loaded`}),l.length&&u.push({label:"Plugins",value:`${s(l.length)} loaded`}),e.length&&u.push({label:"MCP servers",value:e.map(e=>{let t=eC(e);return[e$(t.name),e$(t.status)&&eO(e$(t.status))].filter(Boolean).join(" · ")}).join(", ")}),{methodTitle:"Claude Initialization",line:[i,o?`v${o}`:null,d&&eO(d)].filter(Boolean).join(" · "),detailRows:u}}if("system"===a&&n?.startsWith("hook_")){let e=e$(t.hook_name)??e$(t.hook_event)??"Hook",a=e$(t.outcome),r=eA(t.exit_code),l="hook_started"===n?"Started":a?eO(a):"Response",i=[{label:"Hook",value:e},{label:"Status",value:l}];return e$(t.hook_event)&&i.push({label:"Event",value:eO(e$(t.hook_event))}),null!==r&&i.push({label:"Exit code",value:s(r)}),e$(t.stdout)&&i.push({label:"Output",value:e$(t.stdout)}),e$(t.stderr)&&i.push({label:"Error output",value:e$(t.stderr)}),{methodTitle:"hook_started"===n?"Hook Started":"Hook Response",line:[e,l,null!==r?`exit ${s(r)}`:null].filter(Boolean).join(" · "),detailRows:i}}if("system"===a&&"status"===n){let e=e$(t.status)??"Unknown";return{methodTitle:"Claude Status",line:eO(e),detailRows:[{label:"Status",value:eO(e)}]}}if("user"===a){let s=eQ(t).find(e=>"tool_result"===e$(e.type)),a=eC(t.tool_use_result);if(s||Object.keys(a).length){let t=e$(a.stdout)??e$(s?.content)??e.summary,n=e$(a.stderr),r=s?.is_error===!0||!!n,l=[];return e$(s?.tool_use_id)&&l.push({label:"Tool call",value:eP(s?.tool_use_id)}),l.push({label:"Status",value:r?"Failed":"Completed"}),t&&l.push({label:"Output",value:t}),n&&l.push({label:"Error output",value:n}),"boolean"==typeof a.interrupted&&l.push({label:"Interrupted",value:a.interrupted?"Yes":"No"}),{methodTitle:"Tool Result",line:eF(t||(r?"Tool failed":"Tool completed")),detailRows:l}}}if("assistant"===a){let a=eC(t.message),n=eQ(t),r=n.find(e=>"tool_use"===e$(e.type)),l=n.find(e=>"text"===e$(e.type)),i=eC(a.usage),o=[];if(e$(a.model)&&o.push({label:"Model",value:e$(a.model)}),eX(o,i,s),r){let e=e$(r.name)??"Tool",t=eU(r.input);return t&&o.push({label:"Input",value:t}),{methodTitle:`${eO(e)} Tool Call`,line:[e,t].filter(Boolean).join(" · "),detailRows:o}}return{methodTitle:"Assistant Message",line:eF(e$(l?.text)??e.summary),detailRows:o}}if("result"===a){let e=eC(t.usage),a=eA(t.duration_ms),n=eA(t.duration_api_ms),r=eA(t.ttft_ms),l=eA(t.num_turns),i=eA(t.total_cost_usd),o=!0===t.is_error?"Failed":eO(e$(t.subtype)??"Completed"),d=[{label:"Status",value:o}];return null!==a&&d.push({label:"Duration",value:eL(a)}),null!==n&&d.push({label:"API duration",value:eL(n)}),null!==r&&d.push({label:"Time to first token",value:eL(r)}),null!==l&&d.push({label:"Turns",value:s(l)}),e$(t.stop_reason)&&d.push({label:"Stop reason",value:eO(e$(t.stop_reason))}),eX(d,e,s),null!==i&&d.push({label:"Reported cost",value:eq(i)}),{methodTitle:"Result",line:[o,null!==a?eL(a):null,null!==l?`${s(l)} ${1===l?"turn":"turns"}`:null,null!==i?eq(i):null].filter(Boolean).join(" · "),detailRows:d}}return{methodTitle:n?eO(`Claude ${n}`):null,line:eF(e.summary||eY(t)),detailRows:eH(t,new Set(["uuid","session_id"]))}}(e,i,r)}:{icon:s,methodTitle:null,line:e.summary??"",detailRows:[]}}function e0(e){return eC(eD(e).part)}function e1(e){return"message.part.delta"===eT(e)?e$(eD(e).partID):e$(e0(e).id)}function e2(e){return e$(eD(e).messageID)??e$(e0(e).messageID)}function e4(e,t){let s=e.children.map(e=>e$(eD(e).delta)??"").join("");return{...e.head,type:t,summary:s,detailMarkdown:s,raw:e.children.map(e=>e.raw)}}var e3=e.i(569936),e7=e.i(772382),e5=e.i(918789),e6=e.i(742531);function e8({value:e,copy:s=!1,showActions:a=!0,raw:n,onRawChange:r}){let[l,i]=(0,m.useState)(!1),o=n??l;return(0,t.jsxs)("div",{className:"space-y-3",children:[a&&(0,t.jsx)(e9,{copy:s,onRawChange:r??i,raw:o,value:e}),o?(0,t.jsx)("pre",{className:"max-h-[36rem] overflow-auto rounded-lg border bg-muted/40 p-4 text-xs whitespace-pre-wrap",children:e}):(0,t.jsx)("div",{className:"prose prose-sm dark:prose-invert max-w-none overflow-hidden rounded-lg border p-4 break-words [&_pre]:max-w-full [&_pre]:overflow-x-auto [&_table]:block [&_table]:max-w-full [&_table]:overflow-x-auto",children:(0,t.jsx)(e5.f,{remarkPlugins:[e6.f],children:e})})]})}function e9({value:e,copy:s=!1,raw:a,onRawChange:n}){let[r,l]=(0,m.useState)(!1);return(0,t.jsxs)("div",{className:"flex justify-end gap-2",children:[(0,t.jsxs)(P.K,{onClick:()=>n(!a),size:"sm",type:"button",variant:"outline",children:[a?(0,t.jsx)(e7.f,{}):(0,t.jsx)(Z.f,{})," ",a?"Rendered":"Raw"]}),s&&(0,t.jsxs)(P.K,{onClick:()=>{navigator.clipboard.writeText(e).then(()=>{l(!0),window.setTimeout(()=>l(!1),1500)})},size:"sm",type:"button",variant:"outline",children:[r?(0,t.jsx)(X.f,{}):(0,t.jsx)(e3.f,{})," ",r?"Copied":"Copy"]})]})}var te=e.i(11037);let tt="bg-muted/10 px-4 py-3 align-top break-words whitespace-normal";function ts(e,t){let s=new Set(e);return s.has(t)?s.delete(t):s.add(t),s}function ta({value:e,action:s}){let a=(0,r.f)("runs"),[n,l]=(0,m.useState)(!1),i=JSON.stringify(e,null,2);return(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[s,(0,t.jsxs)(P.K,{onClick:()=>void(0,et.d)(i).then(()=>{l(!0),window.setTimeout(()=>l(!1),1500)}),size:"xs",type:"button",variant:"outline",children:[n?(0,t.jsx)(X.f,{}):(0,t.jsx)(ee.f,{})," ",a(n?"copied":"copy")]})]}),(0,t.jsx)("pre",{className:"max-h-96 overflow-auto rounded bg-muted p-3 text-xs break-words whitespace-pre-wrap",children:i})]})}function tn({rows:e}){return e.length>=3?(0,t.jsx)("div",{className:"overflow-hidden rounded-md border",children:(0,t.jsx)("table",{className:"w-full table-fixed text-xs",children:(0,t.jsx)("tbody",{className:"divide-y",children:e.map((e,s)=>(0,t.jsxs)("tr",{className:"align-top",children:[(0,t.jsx)("th",{className:"w-40 bg-muted/30 px-3 py-2 text-left font-medium break-words text-muted-foreground",children:e.label}),(0,t.jsx)("td",{className:"min-w-0 px-3 py-2 break-words whitespace-pre-wrap",children:e.value})]},`${e.label}:${s}`))})})}):(0,t.jsx)("dl",{className:"grid grid-cols-[minmax(6rem,auto)_1fr] gap-x-4 gap-y-1 text-xs",children:e.map((e,s)=>(0,t.jsxs)(m.Fragment,{children:[(0,t.jsx)("dt",{className:"break-words text-muted-foreground",children:e.label}),(0,t.jsx)("dd",{className:"min-w-0 break-words whitespace-pre-wrap",children:e.value})]},`${e.label}:${s}`))})}function tr({event:e,showRaw:s,onToggleRaw:a}){let n=(0,r.f)("runs"),l=eZ(e,(0,I.X)()).detailRows,i=e.detailMarkdown?.trim()?e.detailMarkdown:null,o=l.length>0||!!i,d=null!==e.raw&&void 0!==e.raw;if(!o&&!d)return(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:n("noDetail")});if(!o)return(0,t.jsx)(ta,{value:e.raw});let u=d?(0,t.jsxs)(P.K,{onClick:a,size:"xs",type:"button",variant:"outline",children:[(0,t.jsx)(Z.f,{})," ",n(s?"rendered":"raw")]}):null;return(0,t.jsx)("div",{className:"space-y-2",children:s&&d?(0,t.jsx)(ta,{action:u,value:e.raw}):(0,t.jsxs)(t.Fragment,{children:[u,(0,t.jsxs)("div",{className:"space-y-3",children:[l.length>0&&(0,t.jsx)(tn,{rows:l}),i&&(0,t.jsx)(e8,{showActions:!1,value:i})]})]})})}function tl({event:e,title:s,line:a,indent:n=!1,expanded:r,onToggle:l,showRaw:i,onToggleRaw:o}){let d=eZ(e,(0,I.X)()).icon;return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)(z.N,{"aria-expanded":r,className:(0,G.f)("cursor-pointer",e.supersededAt&&"opacity-60"),onClick:l,children:[(0,t.jsx)(z.d,{className:"h-8 py-1",children:(0,t.jsxs)("span",{className:(0,G.f)("flex items-center gap-1",n&&"pl-5"),children:[(0,t.jsx)(Q.f,{className:(0,G.f)("size-3 transition-transform",r&&"rotate-180")}),(0,t.jsx)(d,{className:"size-3.5 shrink-0"})]})}),(0,t.jsx)(z.d,{className:"h-8 max-w-0 py-1 text-xs",children:(0,t.jsx)("span",{className:"block min-w-0 truncate",children:a})}),(0,t.jsx)(z.d,{className:"h-8 overflow-hidden py-1",children:(0,t.jsx)(O.f,{className:"h-5 max-w-full text-[10px]",variant:"outline",children:(0,t.jsx)("span",{className:"min-w-0 truncate",children:s})})}),(0,t.jsx)(z.d,{className:"h-8 py-1",children:(0,t.jsx)(E.f,{className:"text-xs",kind:"time",value:e.createdAt})})]}),r&&(0,t.jsx)(z.N,{className:"hover:bg-transparent",children:(0,t.jsx)(z.d,{className:tt,colSpan:4,children:(0,t.jsx)("div",{className:(0,G.f)("w-full min-w-0 space-y-2 break-words",n&&"pl-5"),children:(0,t.jsx)(tr,{event:e,onToggleRaw:o,showRaw:i})})})})]})}function ti({events:e}){let s=(0,r.f)("runs"),a=(0,I.X)(),n=(0,te.f)(),l=(0,m.useMemo)(()=>(function(e){let t=[],s=new Map,a=new Map,n=new Map,r=new Map,l=new Map,i=new Set;for(let t of e){if("thread/tokenUsage/updated"===eR(t)){let e=eE(t),s=e$(e.turnId)??e$(e.threadId)??"thread";l.set(s,t.id)}let e=eT(t);if("message.part.delta"===e){let e=e2(t),s=e1(t);if(e&&s){let t=n.get(e)??[];t.includes(s)||t.push(s),n.set(e,t)}}else if("message.updated"===e){let e=eC(eD(t).info),s=e$(e.id),a=e$(e.finish);s&&a&&r.set(s,a)}}for(let o of e){let e=eR(o);if("thread/tokenUsage/updated"===e){let e=eE(o),t=e$(e.turnId)??e$(e.threadId)??"thread";if(l.get(t)!==o.id)continue}if("turn/diff/updated"===e){let e=eE(o),t=`${e$(e.turnId)??"turn"}\0${e$(e.diff)??""}`;if(i.has(t))continue;i.add(t)}let d=e?.startsWith("item/")?function(e){let t=eE(e);return e$(eC(t.item).id)??e$(t.itemId)}(o):null;if("item/started"===e&&d){let e={kind:"group",key:`group:${o.id}`,head:o,representative:o,children:[o],detailMode:"representative"};t.push(e),s.set(d,e);continue}if(d&&s.has(d)){let t=s.get(d);t.children.push(o),"item/completed"===e&&(t.representative=o,s.delete(d));continue}let u=eT(o),c=e1(o),h="message.part.delta"===u,p="message.part.updated"===u&&"tool"===e$(e0(o).type);if(c&&(h||p)){let e=a.get(c);if(e){if(e.children.push(o),h){let t=e2(o),s=t?n.get(t)??[]:[],a=t?r.get(t):null;e.representative=e4(e,"tool-calls"!==a&&1===s.length&&a||s.length>1&&s.at(-1)===c?"ASSISTANT_MESSAGE":"REASONING")}else e.representative=o;continue}let s={kind:"group",key:`opencode:${c}`,head:o,representative:o,children:[o],detailMode:"representative"};if(h){let e=e2(o),t=e?n.get(e)??[]:[],a=e?r.get(e):null;s.representative=e4(s,"tool-calls"!==a&&1===t.length&&a||t.length>1&&t.at(-1)===c?"ASSISTANT_MESSAGE":"REASONING")}t.push(s),a.set(c,s);continue}t.push({kind:"single",key:o.id,event:o})}return t.filter(e=>{if("group"!==e.kind)return!0;let t=eC(eE(e.representative).item);return!!("reasoning"!==t.type||eG(t.summary)||eG(t.content))||e.children.some(e=>e$(eE(e).delta))})})(e),[e]),[i,o]=(0,m.useState)(new Set),[d,u]=(0,m.useState)(new Set),c=e=>o(t=>ts(t,e)),h=e=>u(t=>ts(t,e));return e.length?(0,t.jsx)(t.Fragment,{children:l.map(e=>{if("single"===e.kind){let s=eZ(e.event,a);return(0,t.jsx)(tl,{event:e.event,expanded:i.has(e.key),line:s.line||e.event.summary,onToggle:()=>c(e.key),onToggleRaw:()=>h(e.event.id),showRaw:d.has(e.event.id),title:s.methodTitle??n.eventType(e.event.type)},e.key)}let s=eZ(e.representative,a),r=i.has(e.key),l=s.icon;return(0,t.jsxs)(m.Fragment,{children:[(0,t.jsxs)(z.N,{"aria-expanded":r,className:"cursor-pointer",onClick:()=>c(e.key),children:[(0,t.jsx)(z.d,{className:"h-8 py-1",children:(0,t.jsxs)("span",{className:"flex items-center gap-1",children:[(0,t.jsx)(Q.f,{className:(0,G.f)("size-3 transition-transform",r&&"rotate-180")}),(0,t.jsx)(l,{className:"size-3.5 shrink-0"})]})}),(0,t.jsx)(z.d,{className:"h-8 max-w-0 py-1 text-xs",children:(0,t.jsxs)("span",{className:"flex items-center gap-2",children:[(0,t.jsx)("span",{className:"min-w-0 truncate",children:s.line||e.representative.summary}),"children"===e.detailMode&&(0,t.jsx)("span",{className:"shrink-0 text-muted-foreground",children:e.children.length})]})}),(0,t.jsx)(z.d,{className:"h-8 overflow-hidden py-1",children:(0,t.jsx)(O.f,{className:"h-5 max-w-full text-[10px]",variant:"outline",children:(0,t.jsx)("span",{className:"min-w-0 truncate",children:function(e){let t=eW(e);if("agentMessage"===t){let t=e$(eC(eE(e).item).phase);if("commentary"===t)return"Commentary";if("final_answer"===t)return"Final Answer"}if(t)return eO(t);if("message.part.updated"===eT(e)){let t=eC(eD(e).part),s=e$(t.type);if("tool"===s)return`${eO(e$(t.tool)??"Tool")} Tool`;if(s)return eO(s)}let s=eR(e);return s?eO(s):(0,V.B)(e.type)}(e.representative)})})}),(0,t.jsx)(z.d,{className:"h-8 py-1",children:(0,t.jsx)(E.f,{className:"text-xs",kind:"time",value:e.head.createdAt})})]}),r&&"representative"===e.detailMode&&(0,t.jsx)(z.N,{className:"hover:bg-transparent",children:(0,t.jsx)(z.d,{className:tt,colSpan:4,children:(0,t.jsx)("div",{className:"w-full min-w-0 space-y-2 break-words",children:(0,t.jsx)(tr,{event:e.representative,onToggleRaw:()=>h(e.key),showRaw:d.has(e.key)})})})}),r&&"children"===e.detailMode&&e.children.map(e=>{let s=eZ(e,a);return(0,t.jsx)(tl,{event:e,expanded:i.has(e.id),indent:!0,line:s.line||e.summary,onToggle:()=>c(e.id),onToggleRaw:()=>h(e.id),showRaw:d.has(e.id),title:s.methodTitle??n.eventType(e.type)},e.id)})]},e.key)})}):(0,t.jsx)(z.N,{children:(0,t.jsx)(z.d,{className:"h-20 text-center text-muted-foreground",colSpan:4,children:s("noActivity")})})}var to=e.i(867927);function td(e){return e&&"object"==typeof e&&!Array.isArray(e)?e:{}}function tu({calls:e}){let s=(0,r.f)("runs"),a=(0,I.X)(),n=(0,te.f)(),l=(0,m.useMemo)(()=>{let t=new Map;for(let s of e){let e=function(e){let t=td(e.input),s=td(td(t.params).item);if("string"==typeof s.type)return s.type;let a=td(td(t.properties).part),n=td(t.message).content,r=Array.isArray(n)?n.map(td).find(e=>"tool_use"===e.type):void 0,l=String(a.tool??r?.name??t.name??e.name);return/^mcp[_.]/i.test(l)?"mcpToolCall":/^(bash|shell|terminal|commandExecution|exec_command|write_stdin)$/i.test(l)?"commandExecution":/^(edit|write|multiedit|apply_patch|patch|fileChange)$/i.test(l)?"fileChange":/^(read|read_file|fileRead)$/i.test(l)?"fileRead":/^(glob|grep|fileSearch)$/i.test(l)?"fileSearch":/^(websearch|web_search|webfetch|web_fetch)$/i.test(l)?"webSearch":l}(s),a=t.get(e)??[];a.push(s),t.set(e,a)}return[...t]},[e]);return(0,t.jsx)("div",{className:"min-w-0 max-w-full space-y-2",children:l.map(([e,r])=>(0,t.jsxs)("details",{className:"group/tool-type min-w-0 max-w-full overflow-hidden rounded-lg border",children:[(0,t.jsxs)("summary",{className:"flex min-w-0 cursor-pointer list-none items-center gap-2 p-3 [&::-webkit-details-marker]:hidden",children:[(0,t.jsx)(to.f,{className:"size-4 shrink-0 transition-transform group-open/tool-type:rotate-90"}),(0,t.jsx)(eS.f,{className:"size-4 shrink-0 text-muted-foreground"}),(0,t.jsx)("span",{className:"min-w-0 flex-1 break-words font-medium [overflow-wrap:anywhere]",children:s.has(`toolCallTypes.${e}`)?s(`toolCallTypes.${e}`):eO(e)}),(0,t.jsx)(O.f,{className:"shrink-0 tabular-nums",variant:"secondary",children:r.length.toLocaleString(a)})]}),(0,t.jsx)("div",{className:"min-w-0 space-y-2 border-t p-3",children:r.map(a=>{let r=function(e,t){let s=/^(agent|task)$/i.test(t);if(!s&&!["webSearch","commandExecution","fileChange","fileRead"].includes(t))return e.name;let a=td(e.input),n=td(td(a.params).item),r=td(td(a.properties).part),l=td(a.message).content,i=Array.isArray(l)?l.map(td).find(e=>"tool_use"===e.type):void 0,o="commandExecution"===t?["command","cmd"]:"fileChange"===t||"fileRead"===t?["file_path","filePath","path"]:s?["prompt"]:[];for(let e of[td(n.action),n,td(td(r.state).input),td(i?.input),td(a.input),a]){for(let t of o){let s=e[t];if("string"==typeof s&&s.trim())return s.trim()}if("webSearch"!==t)continue;let s=Array.isArray(e.queries)?e.queries.filter(e=>"string"==typeof e&&!!e.trim()):[];if(s.length)return s.map(e=>e.trim()).join(" · ");if("string"==typeof e.query&&e.query.trim())return e.query.trim()}return e.name}(a,e),l=/^(agent|task)$/i.test(e)&&r!==a.name?`${r.replace(/\s+/g," ").slice(0,160).trimEnd()}…`:r;return(0,t.jsxs)("details",{className:(0,G.f)("group/tool-call min-w-0 max-w-full overflow-hidden rounded-lg border",a.supersededAt&&"opacity-60"),children:[(0,t.jsxs)("summary",{className:"flex min-w-0 cursor-pointer list-none flex-wrap items-center gap-2 p-3 [&::-webkit-details-marker]:hidden",children:[(0,t.jsx)(to.f,{className:"size-4 shrink-0 transition-transform group-open/tool-call:rotate-90"}),(0,t.jsx)("span",{className:"min-w-0 flex-1 truncate",title:r,children:l}),(0,t.jsx)(O.f,{className:"shrink-0",variant:"outline",children:n.toolCallStatus(a.status)}),a.supersededAt&&(0,t.jsx)(O.f,{className:"shrink-0",variant:"outline",children:s("superseded")})]}),(0,t.jsx)("pre",{className:"m-3 max-h-96 min-w-0 max-w-full overflow-auto rounded bg-muted p-3 text-xs whitespace-pre-wrap [overflow-wrap:anywhere]",children:JSON.stringify({name:a.name,input:a.input,output:a.output,error:a.error},null,2)})]},a.id)})})]},e))})}var tc=e.i(95417),th=e.i(441621),tp=e.i(482022),tm=e.i(747047),tf=e.i(653269),tx=e.i(320228),tv=e.i(501416),tg=e.i(547),tj=e.i(940276),tb=e.i(474040),ty=e.i(145634);function tw({worktreeId:e}){let s=(0,r.f)("runs"),a=(0,r.f)("worktrees"),n=(0,r.f)("worktreeDetail"),[l,i]=(0,m.useState)(null),[o,d]=(0,m.useState)([]),[u,c]=(0,m.useState)(null),[h,f]=(0,m.useState)(!0),[x,v]=(0,m.useState)(!1),[g,j]=(0,m.useState)(null),b=(0,m.useRef)(50),y=(0,m.useRef)(null),w=(0,m.useRef)(null),k=(0,m.useCallback)(()=>w.current?.refresh()??Promise.resolve(),[]),N=(0,m.useCallback)(async t=>{y.current?.abort(),y.current=null,v(!1);try{let s=await (0,K.W)(tg.WORKTREE_DETAIL_OVERVIEW_QUERY,{worktreeId:e,buildFirst:Math.min(200,b.current),includeCoverage:!1,includeQueue:!1},{signal:t});if(t.aborted)return;let a=await (0,th.f)(e,s.builds??{items:[],nextCursor:null},b.current,t);if(t.aborted)return;i(s.worktreeOverview),d(a.items),c(a.nextCursor),j(null)}catch(e){if(t.aborted)return;j(e instanceof Error?e.message:String(e))}finally{t.aborted||f(!1)}},[e]),S=(0,m.useCallback)(async()=>{if(!u||y.current)return;let t=new AbortController;y.current=t,v(!0);try{let s=await (0,K.W)(`query RunWorktreeBuilds($worktreeId: ID!, $after: ID!) {
2
- builds(first: 50, after: $after, worktreeId: $worktreeId) {
3
- items { ${tm.f} }
4
- nextCursor
5
- }
6
- }`,{worktreeId:e,after:u},{signal:t.signal});if(t.signal.aborted)return;d(e=>{let t=new Set(e.map(e=>e.id)),a=[...e,...s.builds.items.filter(e=>!t.has(e.id))];return b.current=Math.max(50,a.length),a}),c(s.builds.nextCursor),j(null)}catch(e){if(t.signal.aborted)return;j(e instanceof Error?e.message:String(e))}finally{y.current===t&&(y.current=null),t.signal.aborted||v(!1)}},[u,e]);(0,m.useEffect)(()=>{b.current=50;let e=(0,p.f)(N);w.current=e;let t=(0,K.g)(()=>void e.refresh());return()=>{e.dispose(),t(),y.current?.abort(),y.current=null,w.current===e&&(w.current=null)}},[N]),(0,m.useEffect)(()=>{let t=window.setTimeout(()=>void k(),0),s=window.setInterval(()=>void k(),3e4),a=(0,K.p)(),n=a.subscribe({query:"subscription RunWorktreeChanged { worktreeOverviewChanged { worktreeId } }"},{next:t=>{let s=t.data?.worktreeOverviewChanged;s&&s.worktreeId&&s.worktreeId!==e||k()},error:()=>void 0,complete:()=>void 0}),r=a.subscribe({query:"subscription RunWorktreeBuildsChanged($worktreeId: ID!) { buildsChanged(worktreeId: $worktreeId) { id } }",variables:{worktreeId:e}},{next:()=>void k(),error:()=>void 0,complete:()=>void 0});return()=>{window.clearTimeout(t),window.clearInterval(s),n(),r()}},[k,e]);let C=(0,m.useMemo)(()=>l?(0,tj.j)(l,e):null,[l,e]);if(h&&!C)return null;if(!C)return g?(0,t.jsx)(M.J,{children:(0,t.jsx)(M.p,{children:s("worktreeDataUnavailable")})}):null;let{agentGroup:$,group:A,worktree:I}=C,R=!I.hasStagedChanges&&!I.hasUnstagedChanges,E=async()=>void await k();return(0,t.jsxs)(t.Fragment,{children:[g&&(0,t.jsx)(M.J,{children:(0,t.jsx)(M.p,{children:g})}),(0,t.jsxs)(_.N,{children:[(0,t.jsx)(_.Y,{children:(0,t.jsx)(_.v,{children:n("actions")})}),(0,t.jsxs)(_.O,{className:"space-y-3",children:[(0,t.jsx)(tb.E,{group:A,onCompleted:E,overview:l,worktree:I}),(0,t.jsx)(tv.f,{sessionData:{worktree:{id:I.id,path:I.folder,branch:I.branch,baseBranch:I.baseBranch,headSha:I.headSha},codebase:{id:A.codebase.id,folder:A.codebase.folder},repo:{id:A.repository.id,name:A.repository.name,url:A.repository.displayOrigin,displayOrigin:A.repository.displayOrigin}},workflows:A.quickActions??[],worktreeId:I.id}),(0,t.jsx)(tf.f,{agentCapabilities:$.agent.capabilities,worktreeId:I.id})]})]}),(0,t.jsxs)(_.N,{children:[(0,t.jsxs)(_.Y,{className:"flex-row items-center justify-between gap-3",children:[(0,t.jsx)(_.v,{children:s("worktreeStatus")}),(0,t.jsx)(P.K,{asChild:!0,size:"sm",variant:"outline",children:(0,t.jsxs)(B.L,{href:(0,tj.P)(I.id),children:[(0,t.jsx)(tp.f,{})," ",s("openWorktree")]})})]}),(0,t.jsxs)(_.O,{className:"space-y-4",children:[(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,t.jsx)(O.f,{variant:R?"secondary":"destructive",children:a(R?"clean":"dirty")}),(0,t.jsx)(tb._,{worktree:I}),(0,t.jsx)(O.f,{variant:"AVAILABLE"===I.availability?"outline":"destructive",children:I.availability})]}),(0,t.jsxs)(tx.X,{className:"grid-cols-1 md:grid-cols-2 xl:grid-cols-3",children:[(0,t.jsx)(tx.v,{label:a("branch"),mono:!0,children:I.branch??a("detached")}),(0,t.jsx)(tx.v,{label:a("baseBranch"),mono:!0,children:I.baseBranchOverride??I.baseBranch??"—"}),(0,t.jsx)(tx.v,{label:a("path"),mono:!0,children:(0,ty.f)(I.folder,$.agent.baseRepoDirectory)}),(0,t.jsx)(tx.v,{label:n("upstream"),mono:!0,children:I.upstream??"—"}),(0,t.jsx)(tx.v,{label:n("head"),mono:!0,children:I.headSha??"—"}),(0,t.jsxs)(tx.v,{label:n("agent"),children:[$.agent.name," · ",$.agent.hostname]}),(0,t.jsx)(tx.v,{label:n("baseStatus"),children:(0,t.jsx)(tb.s,{worktree:I})}),(0,t.jsx)(tx.v,{className:"md:col-span-2",label:a("pullRequest"),children:(0,t.jsx)("span",{className:"flex flex-wrap items-center gap-2",children:(0,t.jsx)(tb.f,{onPipelinesChanged:E,worktree:I})})})]})]})]}),(0,t.jsx)(tg.WorktreeBuildTable,{builds:o,loadingMore:x,nextCursor:u,onError:j,onLoadMore:S,onReload:E})]})}var tk=e.i(814760);let tN=["CLAUDE","CODEX","OPENCODE"],tS=["CLAUDE","CODEX"];function tC(e,t){let s=URL.createObjectURL(e),a=document.createElement("a");a.href=s,a.download=t,document.body.appendChild(a),a.click(),a.remove(),URL.revokeObjectURL(s)}function t$({value:e}){let s=(0,te.f)(),a=`/ai/${"PLAN"===e.kind?"plans":"sessions"}/${e.id}`;return(0,t.jsxs)(B.L,{className:"flex items-center gap-2 rounded-lg border p-3 hover:bg-muted/50",href:a,children:[(0,t.jsx)(y.f,{className:"size-4"}),(0,t.jsxs)("span",{className:"font-mono",children:["PLAN"===e.kind?"Plan":"Session"," #",e.displayNumber]}),e.followUpMode&&(0,t.jsx)(O.f,{variant:"outline",children:s.followUpMode(e.followUpMode)}),(0,t.jsx)(O.f,{className:"ml-auto",variant:"secondary",children:s.status(e.status)})]})}function tA(e){return!e||"object"!=typeof e||Array.isArray(e)?{}:Object.fromEntries(Object.entries(e).map(([e,t])=>{let s=t&&"object"==typeof t&&!Array.isArray(t)?t:{};return[e,Array.isArray(s.answers)?s.answers.map(String):"string"==typeof s.answer?[s.answer]:[]]}))}function tI(e,t=[]){return!e||"object"!=typeof e||Array.isArray(e)?{}:Object.fromEntries([...t.map(e=>[e.key,void 0]),...Object.entries(e).flatMap(([e,t])=>t&&"object"==typeof t&&"value"in t?[[e,t.value]]:[])])}function tR({batch:e,editable:o,onAnswered:d}){let h=(0,r.f)("runs"),p=(0,D.F)(),x=(0,B.U)(),[v,g]=(0,m.useState)({}),[j,b]=(0,m.useState)(()=>tI(e.answerRevisions.at(-1)?.answers,e.questions.flatMap(e=>e.field?[e.field]:[]))),[y,w]=(0,m.useState)({}),[N,C]=(0,m.useState)(!1),[A,I]=(0,m.useState)(null),[R,q]=(0,m.useState)(!1),[U,z]=(0,m.useState)(!1),[V,J]=(0,m.useState)(!1),[G,Y]=(0,m.useState)(!0),H=e.questions.flatMap(e=>e.field?[e.field]:[]),X=()=>{let e=Object.fromEntries(Object.entries(u(H,j)).map(([e,t])=>[e,{value:t}]));return Object.fromEntries(Object.entries(function(e,t){let r=a(t),l=new Set(e.map(e=>e.key));if(l.size!==e.length)throw Error("Duplicate form field key");for(let e of Object.keys(r))if(!l.has(e))throw new s("unknown",e);let i=Object.create(null),o=new Set;for(let t of e){if("external"!==t.type){for(let e of t.when??[])if(!o.has(e.key))throw Error("Form conditions must reference an earlier field")}let e=Object.hasOwn(r,t.key),l=e?a(r[t.key]).value:void 0;if(n(t,i))!function(e,t){let a=t=>{throw new s(t,e.key)};if("external"===e.type){!0!==t&&a("external");return}if(void 0===t){e.required&&a("required");return}if("string"===e.type){if("string"!=typeof t)return a("type");if(e.required&&!t.length&&a("required"),void 0!==e.minLength&&t.length<e.minLength&&a("minLength"),void 0!==e.maxLength&&t.length>e.maxLength&&a("maxLength"),void 0!==e.pattern){let s=!1;try{s=new RegExp(e.pattern).test(t)}catch{}s||a("pattern")}"email"!==e.format||/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(t)||a("format"),"uri"!==e.format||URL.canParse(t)||a("format"),"date"===e.format&&(!/^\d{4}-\d{2}-\d{2}$/.test(t)||Number.isNaN(Date.parse(t))||new Date(t).toISOString().slice(0,10)!==t)&&a("format"),"date-time"===e.format&&Number.isNaN(Date.parse(t))&&a("format"),!e.options||e.custom||e.options.some(e=>e.value===t)||a("option")}else if("number"===e.type||"integer"===e.type){if("number"!=typeof t||!Number.isFinite(t)||"integer"===e.type&&!Number.isInteger(t))return a("type");void 0!==e.minimum&&t<e.minimum&&a("minimum"),void 0!==e.maximum&&t>e.maximum&&a("maximum")}else if("boolean"===e.type)"boolean"!=typeof t&&a("type");else if("multiselect"===e.type){if(!Array.isArray(t)||!t.every(e=>"string"==typeof e))return a("type");e.required&&!t.length&&a("required"),void 0!==e.minItems&&t.length<e.minItems&&a("minItems"),void 0!==e.maxItems&&t.length>e.maxItems&&a("maxItems"),!e.custom&&t.some(t=>!e.options.some(e=>e.value===t))&&a("option")}}(t,l),void 0!==l&&(i[t.key]=l);else if(e)throw new s("inactive",t.key);o.add(t.key)}return i}(H,e)).map(([e,t])=>[e,{value:t}]))},Q=e=>e instanceof s?h("form.invalidAnswer",{field:H.find(t=>t.key===e.fieldKey)?.title??e.fieldKey,reason:h(`form.errors.${e.code}`)}):e instanceof Error?e.message:String(e),Z=async()=>{C(!0),I(null);try{await (0,K.W)("mutation CancelForm($batchId: ID!) { cancelRunQuestion(batchId: $batchId) { id } }",{batchId:e.id}),await d()}catch(e){I(Q(e))}finally{C(!1)}},ee=async()=>{C(!0),I(null);try{let t=H.length?X():Object.fromEntries(e.questions.map(e=>{let t=[...v[e.id]??[]];return y[e.id]?.trim()&&t.push(y[e.id].trim()),[e.id,{answers:t}]}));await (0,K.W)("mutation AnswerQuestion($batchId: ID!, $answers: JSON!) { answerRunQuestion(batchId: $batchId, answers: $answers) { id } }",{batchId:e.id,answers:t}),await d()}catch(e){I(Q(e))}finally{C(!1)}},et=e.answerRevisions.at(-1);(0,m.useEffect)(()=>{if(!R)return;if(e.revisionPreparedAt){let t=window.setTimeout(()=>{let t=tA(et?.answers),s={},a={};for(let n of e.questions){let e=new Set(n.options.map(({label:e})=>e));s[n.id]=(t[n.id]??[]).filter(t=>e.has(t)),a[n.id]=(t[n.id]??[]).filter(t=>!e.has(t)).join("\n")}g(s),w(a),b(tI(et?.answers,e.questions.flatMap(e=>e.field?[e.field]:[]))),q(!1),z(!0)},0);return()=>window.clearTimeout(t)}let t=window.setInterval(()=>void d(),1e3);return()=>window.clearInterval(t)},[e.questions,e.revisionPreparedAt,et?.answers,d,R]);let es=async()=>{q(!0),I(null);try{await (0,K.W)("mutation PrepareAnswerRevision($batchId: ID!) { prepareRunAnswerRevision(batchId: $batchId) { id } }",{batchId:e.id}),await d()}catch(e){q(!1),I(e instanceof Error?e.message:String(e))}},ea=async()=>{C(!0),I(null);try{let t=H.length?X():Object.fromEntries(e.questions.map(e=>{let t=[...v[e.id]??[]];return y[e.id]?.trim()&&t.push(y[e.id].trim()),[e.id,{answers:t}]})),s=await (0,K.W)("mutation ReviseAnswer($batchId: ID!, $answers: JSON!, $stash: Boolean!, $rollback: Boolean!) { reviseRunAnswer(batchId: $batchId, answers: $answers, stash: $stash, rollback: $rollback) { id kind } }",{batchId:e.id,answers:t,stash:G&&V,rollback:G});z(!1),x.push(`/ai/${"PLAN"===s.reviseRunAnswer.kind?"plans":"sessions"}/${s.reviseRunAnswer.id}`)}catch(e){I(Q(e))}finally{C(!1)}},en=H.length?(0,t.jsx)(c,{fields:H,draft:j,onChange:b}):e.questions.map(e=>(0,t.jsxs)("div",{className:"space-y-3",children:[e.header&&(0,t.jsx)(O.f,{variant:"outline",children:e.header}),(0,t.jsx)("p",{className:"font-medium",children:e.prompt}),(0,t.jsx)("div",{className:"space-y-2",children:e.options.map(s=>{let a=v[e.id]?.includes(s.label)??!1;return(0,t.jsxs)("label",{className:"flex items-start gap-3 rounded-lg border p-3",children:[(0,t.jsx)(l.f,{checked:a,onCheckedChange:t=>g(a=>{let n=new Set(a[e.id]??[]);return e.multiSelect||n.clear(),t?n.add(s.label):n.delete(s.label),{...a,[e.id]:[...n]}})}),(0,t.jsxs)("span",{children:[(0,t.jsx)("span",{className:"block font-medium",children:s.label}),s.description&&(0,t.jsx)("span",{className:"text-sm text-muted-foreground",children:s.description})]})]},s.id)})}),e.allowCustom&&(0,t.jsx)(i.f,{"aria-label":h("customAnswer"),onChange:t=>w(s=>({...s,[e.id]:t.target.value})),placeholder:h("customAnswer"),value:y[e.id]??""})]},e.id)),er=tA(et?.answers);return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)(_.N,{className:"PENDING"===e.status?"border-primary/50":void 0,children:[(0,t.jsx)(_.Y,{children:(0,t.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)(_.v,{className:"flex items-center gap-2 text-base",children:"CANCELLED"===e.status?h("form.cancelled"):"PENDING"===e.status?h("answerNeeded"):h("answeredQuestions")}),(0,t.jsx)(_.u,{children:(0,t.jsx)(E.f,{value:e.createdAt})})]}),"ANSWERED"===e.status&&o&&(0,t.jsxs)(P.K,{disabled:R,onClick:()=>void es(),size:"sm",variant:"outline",children:[R?(0,t.jsx)(W.f,{}):(0,t.jsx)(k.f,{})," ",R?h("prepareRevision"):h("editAnswer")]})]})}),(0,t.jsxs)(_.O,{className:"space-y-5",children:[(A||e.error)&&(0,t.jsx)(M.J,{variant:"destructive",children:(0,t.jsx)(M.p,{children:A||e.error})}),"PENDING"===e.status?en:H.length?(0,t.jsx)(c,{fields:H,draft:tI(et?.answers,H),onChange:()=>void 0,readOnly:!0}):(0,t.jsx)("div",{className:"divide-y rounded-lg border",children:e.questions.map(e=>(0,t.jsxs)("div",{className:"space-y-2 p-3",children:[(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[e.header&&(0,t.jsx)(O.f,{variant:"outline",children:e.header}),(0,t.jsx)("p",{className:"font-medium",children:e.prompt})]}),(0,t.jsx)("div",{className:"space-y-1.5",children:(er[e.id]??[]).length?er[e.id].map(s=>{let a=e.options.find(e=>e.label===s)?.description;return(0,t.jsxs)("p",{className:"text-sm",children:[(0,t.jsx)("span",{className:"mr-2 text-xs font-medium uppercase tracking-wide text-muted-foreground",children:h("answer")}),(0,t.jsx)("span",{className:"font-semibold",children:s}),a&&(0,t.jsxs)("span",{className:"text-muted-foreground",children:[" — ",a]})]},s)}):(0,t.jsx)("span",{className:"text-sm text-muted-foreground",children:"—"})})]},e.id))}),"PENDING"===e.status&&(0,t.jsxs)("div",{className:"flex gap-2",children:[(0,t.jsxs)(P.K,{disabled:N,onClick:()=>void ee(),children:[N?(0,t.jsx)(W.f,{}):(0,t.jsx)($.f,{})," ",h("submitAnswers")]}),!!H.length&&(0,t.jsx)(P.K,{disabled:N,variant:"outline",onClick:()=>void Z(),children:h("form.cancel")})]})]})]}),(0,t.jsx)(L.N,{onOpenChange:z,open:U,children:(0,t.jsxs)(L.d,{className:"sm:max-w-3xl",children:[(0,t.jsxs)(L.s,{children:[(0,t.jsx)(L.F,{children:h("editAnswer")}),(0,t.jsx)(L.C,{children:G?h("revisionDescription"):h("revisionDescriptionNoRollback")})]}),G&&e.pushedCommitWarning&&(0,t.jsxs)(M.J,{variant:"destructive",children:[(0,t.jsx)(f.f,{}),(0,t.jsx)(M.p,{children:e.pushedCommitWarning})]}),(0,t.jsxs)("label",{className:"flex items-start gap-3 rounded-lg border p-3",children:[(0,t.jsx)(l.f,{checked:G,className:"mt-0.5",onCheckedChange:e=>Y(!!e)}),(0,t.jsxs)("span",{children:[(0,t.jsx)("span",{className:"block font-medium",children:h("rollbackChanges")}),(0,t.jsx)("span",{className:"text-sm text-muted-foreground",children:h("rollbackChangesHint")})]})]}),G&&(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(F.f,{children:h("rollbackDiff")}),e.rollbackPatch?(0,t.jsx)(T.f,{className:"max-h-64 overflow-y-auto",labels:p,patch:e.rollbackPatch}):(0,t.jsx)("p",{className:"rounded-lg border p-3 text-sm text-muted-foreground",children:h("noRollbackChanges")})]}),(0,t.jsx)("div",{className:"space-y-5",children:en}),G&&(0,t.jsxs)("label",{className:"flex items-center gap-3 rounded-lg border p-3",children:[(0,t.jsx)(l.f,{checked:V,onCheckedChange:e=>J(!!e)}),(0,t.jsx)("span",{children:h("stashBeforeRollback")})]}),(0,t.jsx)(L.c,{showCloseButton:!0,children:(0,t.jsxs)(P.K,{disabled:N,onClick:()=>void ea(),variant:G?"destructive":"default",children:[N?(0,t.jsx)(W.f,{}):G?(0,t.jsx)(S.f,{}):(0,t.jsx)($.f,{})," ",h("confirmRevision")]})})]})})]})}e.s(["RunDetailPage",0,function({children:e,runId:s}){let a=(0,r.f)("runs"),n=(0,r.f)("common"),u=(0,te.f)(),c=(0,D.F)(),k=(0,I.X)(),X=(0,B.U)(),[Q,Z]=(0,m.useState)(null);(0,h.S)(["ai",Q?.kind==="PLAN"?"plans":"sessions",Q?.id],Q?`${"PLAN"===Q.kind?a("plan"):a("session")} #${Q.displayNumber}`:void 0);let[ee,et]=(0,m.useState)([]),[es,ea]=(0,m.useState)(""),en=(0,m.useRef)(es);(0,m.useEffect)(()=>{en.current=es},[es]);let er=(0,m.useRef)([]),el=(0,m.useRef)(new Map),ei=(0,m.useRef)(null),eo=(0,m.useRef)(null),ed=(0,m.useRef)(null),eu=(0,m.useRef)(null),[ec,eh]=(0,m.useState)(!1),[ep,em]=(0,m.useState)(!1),ef=(0,m.useRef)(0),ex=(0,m.useRef)(-1),ev=(0,m.useRef)(0),[eg,ej]=(0,m.useState)(!1),[eb,ey]=(0,m.useState)(!1),[ew,ek]=(0,m.useState)(null),[eN,eS]=(0,m.useState)(!0);(0,h.F)(["ai","plans",s],!!ew||!eN&&!Q),(0,h.F)(["ai","sessions",s],!!ew||!eN&&!Q);let[eC,e$]=(0,m.useState)(null),[eA,eI]=(0,m.useState)(""),[eR,eE]=(0,m.useState)([]),[eT,eD]=(0,m.useState)("RESUME"),[eM,eO]=(0,m.useState)(""),[eP,e_]=(0,m.useState)(""),eL=(0,m.useRef)(null),[eq,eF]=(0,m.useState)(""),[eU,eW]=(0,m.useState)("auto"),[ez,eB]=(0,m.useState)(!1),[eK,eV]=(0,m.useState)([]),[eJ,eG]=(0,m.useState)([]),[eY,eH]=(0,m.useState)([]),[eX,eQ]=(0,m.useState)("NORMALIZED"),[eZ,e0]=(0,m.useState)(!1),[e1,e2]=(0,m.useState)(!1),[e4,e3]=(0,m.useState)(!1),[e7,e5]=(0,m.useState)([]),e6=(0,m.useRef)(null),tt=(0,m.useRef)(!0),ts=(0,m.useCallback)(()=>{let e=e6.current;e&&(tt.current=e.scrollHeight-e.scrollTop-e.clientHeight<=24)},[]);(0,m.useEffect)(()=>{let e=e6.current;e&&tt.current&&(e.scrollTop=e.scrollHeight)},[ee]);let ta=(0,m.useCallback)(async e=>{let t,a,n,r=[],l=-1;for(;;){let e=(await (0,K.W)(`query RunActivityExport($runId: ID!, $afterSequence: Int!) { runEvents(runId: $runId, afterSequence: $afterSequence, first: 500, includeSuperseded: true) { ${H.q} } }`,{runId:s,afterSequence:l})).runEvents;if(r.push(...e),e.length<500)break;l=e[e.length-1].sequence}let i=new Date().toISOString().replace(/[:.]/g,"-"),o=`run-${s}-activity-${i}`;"json"===e?(t=JSON.stringify(r.map(e=>({id:e.id,sequence:e.sequence,type:e.type,summary:e.summary,detailMarkdown:e.detailMarkdown,raw:e.raw,createdAt:e.createdAt,supersededAt:e.supersededAt})),null,2),a="application/json",n=`${o}.json`):"jsonl"===e?(t=r.filter(e=>null!==e.raw&&void 0!==e.raw).map(e=>JSON.stringify(e.raw)).join("\n"),a="application/x-ndjson",n=`run-${s}-session-${i}.jsonl`):(t=r.map(e=>{let t=[`## ${e.summary}`,"",`- **Type:** ${e.type}`,`- **Time:** ${e.createdAt}`];return e.supersededAt&&t.push(`- **Superseded:** ${e.supersededAt}`),e.detailMarkdown&&t.push("",e.detailMarkdown),null!==e.raw&&void 0!==e.raw&&t.push("","```json",JSON.stringify(e.raw,null,2),"```"),t.join("\n")}).join("\n\n---\n\n"),a="text/markdown",n=`${o}.md`),tC(new Blob([t],{type:a}),n)},[s]),tn=(0,m.useCallback)(async()=>{let{filename:e,contentBase64:t}=(await (0,K.W)("query RunNativeSessionFile($runId: ID!) { runNativeSessionFile(runId: $runId) { filename contentBase64 } }",{runId:s})).runNativeSessionFile,a=atob(t),n=new Uint8Array(a.length);for(let e=0;e<a.length;e+=1)n[e]=a.charCodeAt(e);tC(new Blob([n],{type:"application/x-ndjson"}),e)},[s]),tr=(0,m.useCallback)(()=>eo.current?.refresh()??Promise.resolve(),[]),tl=(0,m.useCallback)(()=>ei.current?.refresh()??Promise.resolve(),[]),to=(0,m.useCallback)(async e=>{let t=ev.current,a=ef.current,n=ex.current!==a;try{let r=await (0,K.W)(`query AgentRunDetail($id: ID!, $includeCatalog: Boolean!) { agentRun(id: $id) { ${H.b} } runProviderCatalog(runId: $id) @include(if: $includeCatalog) { key label available supportsWebSearch supportsPause supportsSteering supportsResume supportsNativeDelete models { id label efforts group } } }`,{id:s,includeCatalog:n},{signal:e});if(e.aborted)return;t===ev.current&&Z(r.agentRun),n&&(eH(r.runProviderCatalog),ex.current=a),r.agentRun&&eL.current!==s&&(eL.current=s,e_(r.agentRun.provider),eF(r.agentRun.model),eW(r.agentRun.effort??"auto"),eB(r.agentRun.webSearchEnabled)),ek(null)}catch(t){e.aborted||ek(t instanceof Error?t.message:String(t))}finally{e.aborted||eS(!1)}},[s]),td=(0,m.useCallback)(e=>{er.current=[...new Map(e.map(e=>[e.id,e])).values()].sort((e,t)=>e.sequence-t.sequence),et(er.current)},[]),th=(0,m.useCallback)(async e=>{let t=JSON.stringify([s,es.trim()]),a=ed.current!==t;a&&(er.current=[],el.current.clear());let n=[],r=a?-1:(er.current[0]?.sequence??0)-1,l=er.current[0]?.sequence;el.current.clear();try{for(;;){let t=await (0,K.W)(`query RunActivity($runId: ID!, $search: String, $afterSequence: Int!, $first: Int!, $latest: Boolean!) { runEvents(runId: $runId, search: $search, afterSequence: $afterSequence, first: $first, latest: $latest) { ${H.q} } }`,{runId:s,search:es.trim()||null,afterSequence:r,first:a?200:500,latest:a},{signal:e});if(e.aborted)return;let l=t.runEvents;if(n.push(...l),a||l.length<500)break;let i=l.at(-1).sequence;if(i<=r)break;r=i}if(!a&&void 0!==l&&(er.current[0]?.sequence??l)<l)return void tl();a&&eh(200===n.length&&n[0].sequence>0),ed.current=t,td([...n,...el.current.values()])}catch(t){e.aborted||ek(t instanceof Error?t.message:String(t))}},[td,tl,s,es]),tp=async()=>{if(eu.current||!er.current.length)return;let e=new AbortController;eu.current=e,em(!0);try{let t=await (0,K.W)(`query RunActivityOlder($runId: ID!, $search: String, $before: Int!) { runEvents(runId: $runId, search: $search, beforeSequence: $before, first: 200) { ${H.q} } }`,{runId:s,search:es.trim()||null,before:er.current[0].sequence},{signal:e.signal});if(e.signal.aborted)return;tt.current=!1,td([...er.current,...t.runEvents]),eh(200===t.runEvents.length&&t.runEvents[0].sequence>0)}catch(t){e.signal.aborted||ek(t instanceof Error?t.message:String(t))}finally{eu.current===e&&(eu.current=null),e.signal.aborted||em(!1)}};(0,m.useEffect)(()=>{ex.current=-1;let e=(0,p.f)(to);eo.current=e;let t=window.setTimeout(()=>void e.refresh(),0),s=(0,K.g)(()=>{++ef.current,e.refresh()});return()=>{window.clearTimeout(t),e.dispose(),s(),eo.current===e&&(eo.current=null)}},[to]),(0,m.useEffect)(()=>{let e=(0,p.f)(th);ei.current=e;let t=window.setTimeout(()=>void e.refresh(),150),s=()=>{"hidden"!==document.visibilityState&&e.refresh()},a=(0,K.g)(s);return window.addEventListener("focus",s),document.addEventListener("visibilitychange",s),()=>{window.clearTimeout(t),e.dispose(),a(),eu.current?.abort(),eu.current=null,window.removeEventListener("focus",s),document.removeEventListener("visibilitychange",s),ei.current===e&&(ei.current=null)}},[th]),(0,m.useEffect)(()=>{let e=(0,K.p)(),t=e.subscribe({query:`subscription RunChanged($runId: ID!) { agentRunChanged(runId: $runId) { ${H.b} } }`,variables:{runId:s}},{next:e=>{let t=e.data?.agentRunChanged;t&&(++ev.current,Z(t))},error:()=>void 0,complete:()=>void 0}),a=e.subscribe({query:`subscription RunEvent($runId: ID!) { runEventAdded(runId: $runId) { ${H.q} } }`,variables:{runId:s}},{next:e=>{let t=e.data?.runEventAdded;t&&(en.current.trim()?tl():(el.current.set(t.id,t),td([...(ed.current===JSON.stringify([s,""])?er.current:[]).filter(e=>e.id!==t.id),t])))},error:()=>void 0,complete:()=>void 0}),n=e.subscribe({query:"subscription RunQuestion($runId: ID!) { runQuestionChanged(runId: $runId) { id } }",variables:{runId:s}},{next:()=>void tr(),error:()=>void 0,complete:()=>void 0});return()=>{t(),a(),n()}},[td,tr,tl,s]);let tm=async e=>{e$(e);try{let t="play"===e?"mutation Play($id: ID!, $mcpPresetIds: [ID!]!) { playPlan(planId: $id, mcpPresetIds: $mcpPresetIds) { id } }":`mutation Lifecycle($id: ID!) { ${e}AgentRun(id: $id) { id } }`;await (0,K.W)(t,{id:s,..."play"===e?{mcpPresetIds:e7}:{}}),await tr(),"play"===e&&(e3(!1),e5([]))}catch(e){ek(e instanceof Error?e.message:String(e))}finally{e$(null)}},tf=async(e,t)=>{if(e.length){e$("upload");try{let s=[];for(let t of e){let e=await fetch("/api/run-attachments",{method:"POST",headers:{"content-type":t.type||"application/octet-stream","x-attachment-filename":encodeURIComponent(t.name)},body:t}),n=await e.json();if(!e.ok)throw Error(n.error||a("uploadFailed"));s.push({...n,downloadPath:`/api/run-attachments/${n.id}`,createdAt:new Date().toISOString()})}t(e=>[...e,...s])}catch(e){ek(e instanceof Error?e.message:String(e))}finally{e$(null)}}},tx=async()=>{e$("steer");try{await (0,K.W)("mutation Steer($id: ID!, $prompt: String!, $attachments: [ID!]!) { steerAgentRun(id: $id, prompt: $prompt, attachmentIds: $attachments) { id } }",{id:s,prompt:eA,attachments:eR.map(({id:e})=>e)}),eI(""),eE([]),await tr()}catch(e){ek(e instanceof Error?e.message:String(e))}finally{e$(null)}},tv=async()=>{if(Q?.worktreeId){e$("follow");try{let e="RESEND"!==eT||eM.trim()?eM:Q.initialPrompt,t=await (0,K.W)("mutation FollowUp($sourceId: ID!, $input: RunConfigurationInput!) { createRunFollowUp(sourceId: $sourceId, input: $input) { id kind } }",{sourceId:Q.id,input:{kind:Q.kind,worktreeId:Q.worktreeId,jiraIssueKey:Q.jiraIssueKey,provider:eP,model:eq,effort:"auto"===eU?null:eU,webSearchEnabled:ez,prompt:e,attachmentIds:eJ.map(({id:e})=>e),mcpPresetIds:eK,followUpMode:eT,contextMode:eP===Q.provider?"NATIVE":eX}});X.push(`/ai/${"PLAN"===t.createRunFollowUp.kind?"plans":"sessions"}/${t.createRunFollowUp.id}`)}catch(e){ek(e instanceof Error?e.message:String(e))}finally{e$(null),e2(!1)}}},tg=async()=>{try{await (0,K.W)("mutation DeleteRun($id: ID!) { deleteAgentRuns(ids: [$id]) }",{id:s}),X.push(Q?.kind==="PLAN"?"/ai/plans":"/ai/sessions")}catch(e){ek(e instanceof Error?e.message:String(e))}},tj=(0,m.useMemo)(()=>Q?[Q.sourcePlan,Q.parentRun,Q.playedSession,...Q.followUps].filter(e=>!!e&&e.id!==Q.id):[],[Q]);if(eN)return(0,t.jsxs)("p",{className:"flex gap-2 text-muted-foreground",children:[(0,t.jsx)(W.f,{})," ",a("loading")]});if(!Q)return(0,t.jsx)(M.J,{variant:"destructive",children:(0,t.jsx)(M.p,{children:ew??a("runNotFound")})});let tb=Q.worktree?.highlightColor,ty=new Intl.NumberFormat(k,{style:"currency",currency:"USD",maximumFractionDigits:4}),tA=["COMPLETED","CANCELLED","FAILED"].includes(Q.status),tI=[!Q.sourcePlan&&null!==Q.sourcePlanNumber?`${a("plan")} #${Q.sourcePlanNumber}`:null,!Q.parentRun&&null!==Q.parentRunNumber?`${a("parentRun")} #${Q.parentRunNumber}`:null,"PLAN"===Q.kind&&!Q.playedSession&&null!==Q.playedSessionNumber?`${a("session")} #${Q.playedSessionNumber}`:null].filter(e=>!!e),tE=[...Q.checkpoints].reverse().find(({diffPatch:e})=>e)?.diffPatch,tT=eY.find(({key:e})=>e===eP),tD=eY.find(({key:e})=>e===Q.provider),tM=e=>null===e?"—":`≈${ty.format(e)}`,tO=[!1,!0].map(e=>Q.modelUsage.filter(t=>t.superseded===e).reduce((t,s)=>({input:t.input+s.inputTokens,output:t.output+s.outputTokens,cacheRead:t.cacheRead+s.cacheReadTokens,cacheWrite:t.cacheWrite+s.cacheWriteTokens,reported:t.reported+(s.estimatedCost??0),catalog:t.catalog+(s.catalogCost??0),hasReported:t.hasReported||null!==s.estimatedCost,hasCatalog:t.hasCatalog||null!==s.catalogCost,superseded:e}),{input:0,output:0,cacheRead:0,cacheWrite:0,reported:0,catalog:0,hasReported:!1,hasCatalog:!1,superseded:e}));return(0,t.jsxs)("div",{className:"min-w-0 space-y-5",children:[(0,t.jsxs)("div",{className:(0,G.f)("space-y-4",tb&&"rounded-lg border-l-4 p-4",tb&&Y.x[tb],tb&&Y._[tb]),children:[(0,t.jsxs)("div",{className:"flex flex-wrap items-start justify-between gap-3",children:[(0,t.jsxs)("div",{children:[(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,t.jsxs)("h1",{className:"text-2xl font-semibold",children:["PLAN"===Q.kind?a("plan"):a("session")," ",(0,t.jsxs)("span",{className:"font-mono",children:["#",Q.displayNumber]})]}),(0,t.jsx)(O.f,{children:u.status(Q.status)}),(0,t.jsx)(O.f,{variant:"outline",children:u.phase(Q.phase)}),(0,t.jsx)(O.f,{variant:"secondary",children:(0,V.G)(Q.provider)}),"IMPORTED"===Q.origin&&(0,t.jsx)(O.f,{variant:"outline",children:a("imported")})]}),(0,t.jsxs)("p",{className:"mt-1 text-sm text-muted-foreground",children:[Q.repositoryName," · ",Q.branch??a("detached")," ·"," ",(0,t.jsx)(E.f,{value:Q.createdAt})]})]}),(0,t.jsxs)("div",{className:"flex flex-wrap gap-2",children:["MANAGED"===Q.origin&&"IN_PROGRESS"===Q.status&&tD?.supportsPause&&(0,t.jsxs)(P.K,{disabled:!!eC,onClick:()=>void tm("pause"),variant:"outline",children:["pause"===eC?(0,t.jsx)(W.f,{}):(0,t.jsx)(w.f,{})," ",a("pause")]}),"MANAGED"===Q.origin&&"PAUSED"===Q.status&&(0,t.jsxs)(P.K,{disabled:!!eC,onClick:()=>void tm("continue"),children:[(0,t.jsx)(S.f,{})," ",a("continue")]}),"MANAGED"===Q.origin&&!tA&&(0,t.jsxs)(P.K,{disabled:!!eC,onClick:()=>void tm("cancel"),variant:"destructive",children:[(0,t.jsx)(v.f,{})," ",a("cancel")]}),"PLAN"===Q.kind&&"COMPLETED"===Q.status&&!Q.playedAt&&(0,t.jsxs)(P.K,{disabled:!!eC||!Q.finalOutput,onClick:()=>{e5([]),e3(!0)},children:[(0,t.jsx)(N.f,{})," ",a("play")]}),(0,t.jsxs)(P.K,{onClick:()=>void(0,K.W)("mutation Archive($id: ID!, $archived: Boolean!) { archiveAgentRuns(ids: [$id], archived: $archived) }",{id:Q.id,archived:!Q.archivedAt}).then(tr),variant:"outline",children:[(0,t.jsx)(x.f,{})," ",Q.archivedAt?a("restore"):a("archive")]}),(0,t.jsxs)(P.K,{disabled:!tD?.supportsNativeDelete,onClick:()=>e0(!0),variant:"destructive",children:[(0,t.jsx)(A.f,{})," ",a("delete")]})]})]}),ew&&(0,t.jsx)(M.J,{variant:"destructive",children:(0,t.jsx)(M.p,{children:ew})}),Q.error&&(0,t.jsxs)(M.J,{variant:"destructive",children:[(0,t.jsx)(f.f,{}),(0,t.jsx)(M.p,{children:Q.error})]}),"IMPORTED_ACTIVE_COLLISION"===Q.phase&&(0,t.jsxs)(M.J,{variant:"destructive",children:[(0,t.jsx)(f.f,{}),(0,t.jsx)(M.p,{children:a("importedCollisionWarning")})]})]}),e,(tj.length>0||tI.length>0)&&(0,t.jsxs)(_.N,{children:[(0,t.jsxs)(_.Y,{children:[(0,t.jsx)(_.v,{children:a("linkedItems")}),(0,t.jsx)(_.u,{children:a("linkedItemsDescription")})]}),(0,t.jsxs)(_.O,{className:"grid gap-2 md:grid-cols-2",children:[tj.map(e=>(0,t.jsx)(t$,{value:e},e.id)),tI.map(e=>(0,t.jsxs)("div",{className:"flex items-center gap-2 rounded-lg border border-dashed p-3 text-muted-foreground",children:[(0,t.jsx)(y.f,{className:"size-4"}),(0,t.jsx)("span",{className:"font-mono",children:e}),(0,t.jsx)(O.f,{className:"ml-auto",variant:"outline",children:a("deleted")})]},e))]})]}),(0,t.jsxs)(_.N,{children:[(0,t.jsx)(_.Y,{children:(0,t.jsxs)("div",{className:"flex items-center justify-between gap-3",children:[(0,t.jsx)(_.v,{children:a("prompt")}),(0,t.jsx)(e9,{copy:!0,onRawChange:ej,raw:eg,value:Q.initialPrompt})]})}),(0,t.jsxs)(_.O,{className:"space-y-4",children:[(0,t.jsx)(e8,{onRawChange:ej,raw:eg,showActions:!1,value:Q.initialPrompt}),Q.inputs[0]?.attachments.length?(0,t.jsx)("div",{className:"flex flex-wrap gap-2",children:Q.inputs[0].attachments.map(e=>(0,t.jsx)(P.K,{asChild:!0,size:"sm",variant:"outline",children:(0,t.jsxs)("a",{download:!0,href:e.downloadPath,children:[(0,t.jsx)(b.f,{})," ",e.filename]})},e.id))}):null]})]}),(0,t.jsxs)(_.N,{className:"min-w-0",children:[(0,t.jsxs)(_.Y,{children:[(0,t.jsx)(_.v,{children:a("usageCost")}),(0,t.jsx)(_.u,{children:a("estimatedCost")})]}),(0,t.jsxs)(_.O,{className:"min-w-0 space-y-4",children:[(0,t.jsx)("div",{className:"grid gap-3 sm:grid-cols-2 lg:grid-cols-4",children:[[a("reportedCost"),tM(Q.estimatedCost)],[a("catalogCost"),tM(Q.catalogCost)],[a("inputTokens"),Q.inputTokens.toLocaleString(k)],[a("outputTokens"),Q.outputTokens.toLocaleString(k)],[a("cacheReadTokens"),Q.cacheReadTokens.toLocaleString(k)],[a("cacheWriteTokens"),Q.cacheWriteTokens.toLocaleString(k)],[a("reasoningTokens"),Q.reasoningTokens.toLocaleString(k)],[a("toolCalls"),Q.toolCallCount.toLocaleString(k)]].map(([e,s])=>(0,t.jsxs)("div",{className:"rounded-lg border p-3",children:[(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:e}),(0,t.jsx)("p",{className:"mt-1 text-xl font-semibold tabular-nums",children:s})]},e))}),Q.modelUsage.some(({superseded:e})=>e)&&(0,t.jsxs)(z.s,{children:[(0,t.jsx)(z.E,{children:(0,t.jsxs)(z.N,{children:[(0,t.jsx)(z.V,{children:a("usageState")}),(0,t.jsx)(z.V,{children:a("inputTokens")}),(0,t.jsx)(z.V,{children:a("outputTokens")}),(0,t.jsx)(z.V,{children:a("cacheReadTokens")}),(0,t.jsx)(z.V,{children:a("cacheWriteTokens")}),(0,t.jsx)(z.V,{children:a("reportedCost")}),(0,t.jsx)(z.V,{children:a("catalogCost")})]})}),(0,t.jsx)(z.z,{children:tO.map(e=>(0,t.jsxs)(z.N,{children:[(0,t.jsx)(z.d,{children:e.superseded?a("superseded"):a("activeUsage")}),(0,t.jsx)(z.d,{children:e.input.toLocaleString(k)}),(0,t.jsx)(z.d,{children:e.output.toLocaleString(k)}),(0,t.jsx)(z.d,{children:e.cacheRead.toLocaleString(k)}),(0,t.jsx)(z.d,{children:e.cacheWrite.toLocaleString(k)}),(0,t.jsx)(z.d,{children:tM(e.hasReported?e.reported:null)}),(0,t.jsx)(z.d,{children:tM(e.hasCatalog?e.catalog:null)})]},String(e.superseded)))})]}),Q.modelUsage.length>0&&(0,t.jsxs)(z.s,{children:[(0,t.jsx)(z.E,{children:(0,t.jsxs)(z.N,{children:[(0,t.jsx)(z.V,{children:a("model")}),(0,t.jsx)(z.V,{children:a("inputTokens")}),(0,t.jsx)(z.V,{children:a("outputTokens")}),(0,t.jsx)(z.V,{children:a("cacheReadTokens")}),(0,t.jsx)(z.V,{children:a("cacheWriteTokens")}),(0,t.jsx)(z.V,{children:a("reportedCost")}),(0,t.jsx)(z.V,{children:a("catalogCost")})]})}),(0,t.jsx)(z.z,{children:Q.modelUsage.map(e=>(0,t.jsxs)(z.N,{children:[(0,t.jsxs)(z.d,{children:[e.model,e.superseded&&(0,t.jsx)(O.f,{className:"ml-2",variant:"outline",children:a("superseded")})]}),(0,t.jsx)(z.d,{children:e.inputTokens.toLocaleString(k)}),(0,t.jsx)(z.d,{children:e.outputTokens.toLocaleString(k)}),(0,t.jsx)(z.d,{children:e.cacheReadTokens.toLocaleString(k)}),(0,t.jsx)(z.d,{children:e.cacheWriteTokens.toLocaleString(k)}),(0,t.jsx)(z.d,{children:tM(e.estimatedCost)}),(0,t.jsx)(z.d,{children:tM(e.catalogCost)})]},e.id))})]}),Q.toolCalls.length>0&&(0,t.jsxs)("div",{className:"min-w-0",children:[(0,t.jsx)("h3",{className:"mb-2 font-medium",children:a("toolCalls")}),(0,t.jsx)(tu,{calls:Q.toolCalls})]})]})]}),(0,t.jsxs)(_.N,{className:"gap-0 overflow-hidden py-0",children:[(0,t.jsx)(_.Y,{className:"border-b py-3",children:(0,t.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-3",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)(_.v,{children:a("activity")}),(0,t.jsx)(_.u,{children:a("activityDescription")})]}),(0,t.jsxs)("div",{className:"flex w-full items-center gap-2 sm:w-auto",children:[(0,t.jsxs)("div",{className:"relative w-full sm:w-64",children:[(0,t.jsx)(C.f,{className:"absolute top-1.5 left-2.5 size-4 text-muted-foreground"}),(0,t.jsx)(i.f,{"aria-label":a("searchActivity"),className:"h-7 pl-8 text-xs",onChange:e=>ea(e.target.value),placeholder:a("searchActivity"),value:es})]}),(0,t.jsxs)(q.G,{children:[(0,t.jsx)(q.X,{asChild:!0,children:(0,t.jsxs)(P.K,{className:"shrink-0",size:"xs",variant:"outline",children:[(0,t.jsx)(j.f,{})," ",a("export")]})}),(0,t.jsxs)(q.L,{align:"end",className:"w-72",children:[(0,t.jsx)(q.r,{onClick:()=>void ta("json").catch(e=>ek(e instanceof Error?e.message:String(e))),children:a("exportJson")}),(0,t.jsx)(q.r,{onClick:()=>void ta("markdown").catch(e=>ek(e instanceof Error?e.message:String(e))),children:a("exportMarkdown")}),Q&&tN.includes(Q.provider)&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(q.U,{}),(0,t.jsx)(q.r,{onClick:()=>void ta("jsonl").catch(e=>ek(e instanceof Error?e.message:String(e))),children:a("exportSession",{tool:(0,V.G)(Q.provider)})}),tS.includes(Q.provider)&&Q.agentId&&(0,t.jsx)(q.r,{onClick:()=>void tn().catch(e=>ek(e instanceof Error?e.message:String(e))),children:a("exportSessionFile",{tool:(0,V.G)(Q.provider)})})]})]})]})]})]})}),ec&&(0,t.jsxs)(P.K,{disabled:ep,onClick:()=>void tp(),size:"sm",variant:"ghost",children:[ep&&(0,t.jsx)(W.f,{}),n("loadMore")]}),(0,t.jsx)("div",{className:"h-[24rem] overflow-y-auto",onScroll:ts,ref:e6,children:(0,t.jsxs)(z.s,{className:"table-fixed",children:[(0,t.jsx)(z.E,{className:"sticky top-0 z-10 bg-card",children:(0,t.jsxs)(z.N,{children:[(0,t.jsx)(z.V,{className:"h-7 w-10"}),(0,t.jsx)(z.V,{className:"h-7",children:a("activity")}),(0,t.jsx)(z.V,{className:"h-7 w-40",children:a("status")}),(0,t.jsx)(z.V,{className:"h-7 w-24",children:a("age")})]})}),(0,t.jsx)(z.z,{children:(0,t.jsx)(ti,{events:ee})})]})})]}),Q.finalOutput&&tA&&(0,t.jsxs)(_.N,{children:[(0,t.jsx)(_.Y,{children:(0,t.jsxs)("div",{className:"flex items-center justify-between gap-3",children:[(0,t.jsx)(_.v,{children:"PLAN"===Q.kind?a("plan"):a("summary")}),(0,t.jsx)(e9,{copy:!0,onRawChange:ey,raw:eb,value:Q.finalOutput})]})}),(0,t.jsx)(_.O,{children:(0,t.jsx)(e8,{onRawChange:ey,raw:eb,showActions:!1,value:Q.finalOutput})})]}),"MANAGED"===Q.origin&&"IN_PROGRESS"===Q.status&&tD?.supportsSteering&&(0,t.jsxs)(_.N,{children:[(0,t.jsxs)(_.Y,{children:[(0,t.jsx)(_.v,{children:a("steer")}),(0,t.jsx)(_.u,{children:a("steerDescription")})]}),(0,t.jsxs)(_.O,{className:"space-y-3",children:[(0,t.jsx)(o.f,{onChange:e=>eI(e.target.value),placeholder:a("steerPlaceholder"),value:eA}),(0,t.jsx)(tc.f,{attachments:eR,compact:!0,onFiles:e=>tf(e,eE),onRemove:e=>eE(t=>t.filter(t=>t.id!==e)),uploading:"upload"===eC}),(0,t.jsx)("div",{className:"flex justify-end",children:(0,t.jsxs)(P.K,{disabled:!eA.trim()||!!eC,onClick:()=>void tx(),children:["steer"===eC?(0,t.jsx)(W.f,{}):(0,t.jsx)($.f,{})," ",a("send")]})})]})]}),Q.questionBatches.map(e=>(0,t.jsx)(tR,{batch:e,editable:"MANAGED"===Q.origin&&!e.supersededAt&&!!e.checkpoint,onAnswered:tr},e.id)),(0,t.jsxs)(_.N,{children:[(0,t.jsxs)(_.Y,{children:[(0,t.jsx)(_.v,{children:a("followUp")}),(0,t.jsx)(_.u,{children:a("followUpDescription")})]}),(0,t.jsxs)(_.O,{className:"space-y-4",children:[(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-3",children:[(0,t.jsx)(U.i,{onValueChange:e=>{let t=e??"RESUME";eD(t),"RESEND"===t&&eO(Q.initialPrompt)},value:eT,children:(0,t.jsxs)(U.U,{"aria-label":a("followUp"),children:[(0,t.jsx)(U.k,{disabled:eP===Q.provider&&!tT?.supportsResume,value:"RESUME",children:a("resume")}),(0,t.jsx)(U.k,{value:"FRESH",children:a("fresh")}),(0,t.jsx)(U.k,{value:"RESEND",children:a("resend")})]})}),(0,t.jsx)("div",{className:"min-w-0 flex-1",children:(0,t.jsx)(tk.f,{catalog:eY,effort:eU,model:eq,onEffortChange:eW,onModelChange:eF,onProviderChange:e=>{let t=eY.find(({key:t})=>t===e);e_(e),eF(""),eW("auto"),eB(!!t?.supportsWebSearch)},provider:eP})})]}),"RESUME"===eT&&eP!==Q.provider&&(0,t.jsx)(M.J,{children:(0,t.jsxs)(M.p,{className:"flex flex-wrap items-center gap-3",children:[(0,t.jsxs)(d.d,{onValueChange:e=>eQ(e??"NORMALIZED"),value:eX,children:[(0,t.jsx)(d.P,{className:"w-56 shrink-0",children:(0,t.jsx)(d.U,{})}),(0,t.jsxs)(d.r,{children:[(0,t.jsx)(d.T,{value:"NORMALIZED",children:a("normalizedContext")}),(0,t.jsx)(d.T,{value:"SUMMARY",children:a("summaryOnly")})]})]}),(0,t.jsx)("span",{className:"min-w-0 flex-1",children:a("crossProviderWarning")})]})}),(0,t.jsx)(o.f,{className:"min-h-28",onChange:e=>eO(e.target.value),placeholder:"RESEND"===eT?a("resendPrompt"):a("followUpPrompt"),value:eM}),(0,t.jsx)(tc.f,{attachments:eJ,compact:!0,onFiles:e=>tf(e,eG),onRemove:e=>eG(t=>t.filter(t=>t.id!==e)),uploading:"upload"===eC}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(F.f,{children:a("mcpPresets")}),(0,t.jsx)(J.S,{kind:Q.kind,onChange:eV,selectedIds:eK})]}),(0,t.jsxs)("div",{className:"flex flex-wrap items-center justify-end gap-4",children:[(0,t.jsxs)("label",{className:"flex items-center gap-2",children:[(0,t.jsx)(l.f,{checked:ez,disabled:!tT?.supportsWebSearch,onCheckedChange:e=>eB(!!e)}),a("webSearch")]}),(0,t.jsxs)(P.K,{disabled:!eM.trim()||!!eC||!eq||!tT?.available,onClick:()=>"PAUSED"===Q.status&&"SESSION"===Q.kind?e2(!0):void tv(),children:["follow"===eC?(0,t.jsx)(W.f,{}):(0,t.jsx)(y.f,{})," ",a("startFollowUp")]})]})]})]}),Q.worktreeId&&(0,t.jsx)(tw,{worktreeId:Q.worktreeId}),Q.checkpoints.length>0&&(0,t.jsxs)(_.N,{children:[(0,t.jsxs)(_.Y,{children:[(0,t.jsx)(_.v,{children:a("changesSnapshots")}),(0,t.jsx)(_.u,{children:a("changesSnapshotsDescription")})]}),(0,t.jsxs)(_.O,{className:"space-y-3",children:["PLAN"===Q.kind&&tE&&(0,t.jsxs)(M.J,{variant:"destructive",children:[(0,t.jsx)(f.f,{}),(0,t.jsx)(M.p,{children:a("planMutationWarning")})]}),tE&&(0,t.jsx)(T.f,{labels:c,patch:tE}),Q.checkpoints.map(e=>(0,t.jsxs)("details",{className:"rounded-lg border p-3",children:[(0,t.jsxs)("summary",{className:"cursor-pointer",children:[(0,t.jsx)(g.f,{className:"mr-2 inline size-4"}),u.checkpointKind(e.kind)," ·"," ",(0,t.jsx)(E.f,{value:e.createdAt}),e.branch&&(0,t.jsx)(O.f,{className:"ml-2",variant:"outline",children:e.branch})]}),(0,t.jsxs)("div",{className:"mt-3 space-y-2 text-sm",children:[(0,t.jsxs)("p",{className:"font-mono text-xs",children:["HEAD ",e.headSha??"—"]}),e.diffPatch?(0,t.jsx)(T.f,{labels:c,patch:e.diffPatch}):e.diffSummary?(0,t.jsx)("pre",{className:"overflow-auto rounded bg-muted p-3 text-xs whitespace-pre-wrap",children:e.diffSummary}):(0,t.jsx)("p",{className:"text-muted-foreground",children:a("noChanges")}),e.stashRef&&(0,t.jsxs)("p",{className:"font-mono text-xs",children:[a("stashCreated"),": ",e.stashRef]}),e.refName&&(0,t.jsx)("p",{className:"font-mono text-xs text-muted-foreground",children:e.refName})]})]},e.id))]})]}),(0,t.jsx)(R.f,{actionLabel:a("delete"),cancelLabel:a("cancel"),description:a("deleteDescription"),onConfirm:tg,onOpenChange:e0,open:eZ,title:a("deleteTitle")}),(0,t.jsx)(L.N,{onOpenChange:e=>{e3(e),e||e5([])},open:e4,children:(0,t.jsxs)(L.d,{className:"sm:max-w-2xl",children:[(0,t.jsxs)(L.s,{children:[(0,t.jsx)(L.F,{children:a("playPlan")}),(0,t.jsx)(L.C,{children:a("playPlanDescription")})]}),(0,t.jsx)(J.S,{kind:"SESSION",onChange:e5,selectedIds:e7}),(0,t.jsxs)(L.c,{children:[(0,t.jsx)(P.K,{onClick:()=>e3(!1),variant:"outline",children:a("cancel")}),(0,t.jsxs)(P.K,{disabled:!!eC,onClick:()=>void tm("play"),children:["play"===eC?(0,t.jsx)(W.f,{}):(0,t.jsx)(N.f,{})," ",a("play")]})]})]})}),(0,t.jsx)(R.f,{actionLabel:a("cancelAndTransfer"),cancelLabel:a("cancel"),description:a("pausedFollowUpDescription"),onConfirm:tv,onOpenChange:e2,open:e1,title:a("pausedFollowUpTitle")})]})}],662663)}]);