commandmate 0.49.2 → 0.49.3

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 (704) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/app-build-manifest.json +241 -234
  3. package/.next/app-path-routes-manifest.json +19 -18
  4. package/.next/build-manifest.json +2 -2
  5. package/.next/prerender-manifest.json +3 -3
  6. package/.next/required-server-files.json +1 -1
  7. package/.next/routes-manifest.json +8 -0
  8. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  9. package/.next/server/app/api/agents/update/route_client-reference-manifest.js +1 -1
  10. package/.next/server/app/api/agents/versions/route_client-reference-manifest.js +1 -1
  11. package/.next/server/app/api/app/release-notes/route_client-reference-manifest.js +1 -1
  12. package/.next/server/app/api/app/update/route_client-reference-manifest.js +1 -1
  13. package/.next/server/app/api/app/update-check/route_client-reference-manifest.js +1 -1
  14. package/.next/server/app/api/auth/login/route_client-reference-manifest.js +1 -1
  15. package/.next/server/app/api/auth/logout/route_client-reference-manifest.js +1 -1
  16. package/.next/server/app/api/auth/status/route_client-reference-manifest.js +1 -1
  17. package/.next/server/app/api/capabilities/route.js +1 -1
  18. package/.next/server/app/api/capabilities/route_client-reference-manifest.js +1 -1
  19. package/.next/server/app/api/daily-summary/route.js +1 -1
  20. package/.next/server/app/api/daily-summary/route.js.nft.json +1 -1
  21. package/.next/server/app/api/daily-summary/route_client-reference-manifest.js +1 -1
  22. package/.next/server/app/api/daily-summary/status/route.js +1 -1
  23. package/.next/server/app/api/daily-summary/status/route.js.nft.json +1 -1
  24. package/.next/server/app/api/daily-summary/status/route_client-reference-manifest.js +1 -1
  25. package/.next/server/app/api/external-apps/[id]/health/route_client-reference-manifest.js +1 -1
  26. package/.next/server/app/api/external-apps/[id]/route_client-reference-manifest.js +1 -1
  27. package/.next/server/app/api/external-apps/route_client-reference-manifest.js +1 -1
  28. package/.next/server/app/api/fs/browse/route_client-reference-manifest.js +1 -1
  29. package/.next/server/app/api/fs/recent-paths/route_client-reference-manifest.js +1 -1
  30. package/.next/server/app/api/hooks/agent-event/route.js +2 -2
  31. package/.next/server/app/api/hooks/agent-event/route.js.nft.json +1 -1
  32. package/.next/server/app/api/hooks/agent-event/route_client-reference-manifest.js +1 -1
  33. package/.next/server/app/api/hooks/claude-done/route.js +2 -2
  34. package/.next/server/app/api/hooks/claude-done/route.js.nft.json +1 -1
  35. package/.next/server/app/api/hooks/claude-done/route_client-reference-manifest.js +1 -1
  36. package/.next/server/app/api/hooks/permission-request/route.js +1 -1
  37. package/.next/server/app/api/hooks/permission-request/route.js.nft.json +1 -1
  38. package/.next/server/app/api/hooks/permission-request/route_client-reference-manifest.js +1 -1
  39. package/.next/server/app/api/metrics/vibe/route_client-reference-manifest.js +1 -1
  40. package/.next/server/app/api/ollama/models/route_client-reference-manifest.js +1 -1
  41. package/.next/server/app/api/push/escalation/route.js +1 -1
  42. package/.next/server/app/api/push/escalation/route.js.nft.json +1 -1
  43. package/.next/server/app/api/push/escalation/route_client-reference-manifest.js +1 -1
  44. package/.next/server/app/api/push/subscriptions/route.js +1 -1
  45. package/.next/server/app/api/push/subscriptions/route_client-reference-manifest.js +1 -1
  46. package/.next/server/app/api/push/vapid/route.js +1 -1
  47. package/.next/server/app/api/push/vapid/route.js.nft.json +1 -1
  48. package/.next/server/app/api/push/vapid/route_client-reference-manifest.js +1 -1
  49. package/.next/server/app/api/relays/[relayId]/cancel/route.js +4 -1
  50. package/.next/server/app/api/relays/[relayId]/cancel/route.js.nft.json +1 -1
  51. package/.next/server/app/api/relays/[relayId]/cancel/route_client-reference-manifest.js +1 -1
  52. package/.next/server/app/api/relays/[relayId]/resolve/route.js +1 -0
  53. package/.next/server/app/api/relays/[relayId]/resolve/route.js.nft.json +1 -0
  54. package/.next/server/app/api/relays/[relayId]/resolve/route_client-reference-manifest.js +1 -0
  55. package/.next/server/app/api/relays/[relayId]/route.js +1 -1
  56. package/.next/server/app/api/relays/[relayId]/route.js.nft.json +1 -1
  57. package/.next/server/app/api/relays/[relayId]/route_client-reference-manifest.js +1 -1
  58. package/.next/server/app/api/relays/route.js +4 -1
  59. package/.next/server/app/api/relays/route.js.nft.json +1 -1
  60. package/.next/server/app/api/relays/route_client-reference-manifest.js +1 -1
  61. package/.next/server/app/api/remote/pair/route_client-reference-manifest.js +1 -1
  62. package/.next/server/app/api/repositories/[id]/route_client-reference-manifest.js +1 -1
  63. package/.next/server/app/api/repositories/clone/[jobId]/route.js +1 -1
  64. package/.next/server/app/api/repositories/clone/[jobId]/route.js.nft.json +1 -1
  65. package/.next/server/app/api/repositories/clone/[jobId]/route_client-reference-manifest.js +1 -1
  66. package/.next/server/app/api/repositories/clone/route.js +1 -1
  67. package/.next/server/app/api/repositories/clone/route.js.nft.json +1 -1
  68. package/.next/server/app/api/repositories/clone/route_client-reference-manifest.js +1 -1
  69. package/.next/server/app/api/repositories/excluded/route_client-reference-manifest.js +1 -1
  70. package/.next/server/app/api/repositories/restore/route.js +1 -1
  71. package/.next/server/app/api/repositories/restore/route.js.nft.json +1 -1
  72. package/.next/server/app/api/repositories/restore/route_client-reference-manifest.js +1 -1
  73. package/.next/server/app/api/repositories/route.js +1 -1
  74. package/.next/server/app/api/repositories/route.js.nft.json +1 -1
  75. package/.next/server/app/api/repositories/route_client-reference-manifest.js +1 -1
  76. package/.next/server/app/api/repositories/scan/route.js +1 -1
  77. package/.next/server/app/api/repositories/scan/route.js.nft.json +1 -1
  78. package/.next/server/app/api/repositories/scan/route_client-reference-manifest.js +1 -1
  79. package/.next/server/app/api/repositories/sync/route.js +1 -1
  80. package/.next/server/app/api/repositories/sync/route.js.nft.json +1 -1
  81. package/.next/server/app/api/repositories/sync/route_client-reference-manifest.js +1 -1
  82. package/.next/server/app/api/repositories/validate-path/route_client-reference-manifest.js +1 -1
  83. package/.next/server/app/api/settings/default-agents/route.js +1 -1
  84. package/.next/server/app/api/settings/default-agents/route.js.nft.json +1 -1
  85. package/.next/server/app/api/settings/default-agents/route_client-reference-manifest.js +1 -1
  86. package/.next/server/app/api/settings/default-surface-mode/route_client-reference-manifest.js +1 -1
  87. package/.next/server/app/api/sidebar/group-order/route_client-reference-manifest.js +1 -1
  88. package/.next/server/app/api/skills/[id]/route_client-reference-manifest.js +1 -1
  89. package/.next/server/app/api/skills/installations/route_client-reference-manifest.js +1 -1
  90. package/.next/server/app/api/skills/operations/route_client-reference-manifest.js +1 -1
  91. package/.next/server/app/api/skills/reindex/route_client-reference-manifest.js +1 -1
  92. package/.next/server/app/api/skills/route_client-reference-manifest.js +1 -1
  93. package/.next/server/app/api/slash-commands/route_client-reference-manifest.js +1 -1
  94. package/.next/server/app/api/tasks/[taskId]/cancel/route_client-reference-manifest.js +1 -1
  95. package/.next/server/app/api/tasks/[taskId]/route.js +1 -1
  96. package/.next/server/app/api/tasks/[taskId]/route_client-reference-manifest.js +1 -1
  97. package/.next/server/app/api/templates/[id]/route_client-reference-manifest.js +1 -1
  98. package/.next/server/app/api/templates/route_client-reference-manifest.js +1 -1
  99. package/.next/server/app/api/verification/runs/[runId]/route.js +1 -1
  100. package/.next/server/app/api/verification/runs/[runId]/route_client-reference-manifest.js +1 -1
  101. package/.next/server/app/api/verification/runs/route.js +1 -1
  102. package/.next/server/app/api/verification/runs/route_client-reference-manifest.js +1 -1
  103. package/.next/server/app/api/worktrees/[id]/auto-yes/route.js +1 -1
  104. package/.next/server/app/api/worktrees/[id]/auto-yes/route.js.nft.json +1 -1
  105. package/.next/server/app/api/worktrees/[id]/auto-yes/route_client-reference-manifest.js +1 -1
  106. package/.next/server/app/api/worktrees/[id]/capture/route.js +1 -1
  107. package/.next/server/app/api/worktrees/[id]/capture/route.js.nft.json +1 -1
  108. package/.next/server/app/api/worktrees/[id]/capture/route_client-reference-manifest.js +1 -1
  109. package/.next/server/app/api/worktrees/[id]/clear-composer/route.js +1 -1
  110. package/.next/server/app/api/worktrees/[id]/clear-composer/route.js.nft.json +1 -1
  111. package/.next/server/app/api/worktrees/[id]/clear-composer/route_client-reference-manifest.js +1 -1
  112. package/.next/server/app/api/worktrees/[id]/cli-reference/route.js +1 -1
  113. package/.next/server/app/api/worktrees/[id]/cli-reference/route_client-reference-manifest.js +1 -1
  114. package/.next/server/app/api/worktrees/[id]/cli-tool/route.js +1 -1
  115. package/.next/server/app/api/worktrees/[id]/cli-tool/route_client-reference-manifest.js +1 -1
  116. package/.next/server/app/api/worktrees/[id]/cmate/schedules/route.js +2 -2
  117. package/.next/server/app/api/worktrees/[id]/cmate/schedules/route.js.nft.json +1 -1
  118. package/.next/server/app/api/worktrees/[id]/cmate/schedules/route_client-reference-manifest.js +1 -1
  119. package/.next/server/app/api/worktrees/[id]/current-output/route.js +1 -1
  120. package/.next/server/app/api/worktrees/[id]/current-output/route.js.nft.json +1 -1
  121. package/.next/server/app/api/worktrees/[id]/current-output/route_client-reference-manifest.js +1 -1
  122. package/.next/server/app/api/worktrees/[id]/direct-input/route.js +1 -1
  123. package/.next/server/app/api/worktrees/[id]/direct-input/route.js.nft.json +1 -1
  124. package/.next/server/app/api/worktrees/[id]/direct-input/route_client-reference-manifest.js +1 -1
  125. package/.next/server/app/api/worktrees/[id]/env/route.js +1 -1
  126. package/.next/server/app/api/worktrees/[id]/env/route_client-reference-manifest.js +1 -1
  127. package/.next/server/app/api/worktrees/[id]/execution-logs/[logId]/route.js +1 -1
  128. package/.next/server/app/api/worktrees/[id]/execution-logs/[logId]/route_client-reference-manifest.js +1 -1
  129. package/.next/server/app/api/worktrees/[id]/execution-logs/route.js +2 -2
  130. package/.next/server/app/api/worktrees/[id]/execution-logs/route.js.nft.json +1 -1
  131. package/.next/server/app/api/worktrees/[id]/execution-logs/route_client-reference-manifest.js +1 -1
  132. package/.next/server/app/api/worktrees/[id]/files/[...path]/route_client-reference-manifest.js +1 -1
  133. package/.next/server/app/api/worktrees/[id]/git/branch/create/route.js +1 -1
  134. package/.next/server/app/api/worktrees/[id]/git/branch/create/route_client-reference-manifest.js +1 -1
  135. package/.next/server/app/api/worktrees/[id]/git/branch/delete/route.js +1 -1
  136. package/.next/server/app/api/worktrees/[id]/git/branch/delete/route_client-reference-manifest.js +1 -1
  137. package/.next/server/app/api/worktrees/[id]/git/branches/route.js +1 -1
  138. package/.next/server/app/api/worktrees/[id]/git/branches/route_client-reference-manifest.js +1 -1
  139. package/.next/server/app/api/worktrees/[id]/git/checkout/route.js +1 -1
  140. package/.next/server/app/api/worktrees/[id]/git/checkout/route_client-reference-manifest.js +1 -1
  141. package/.next/server/app/api/worktrees/[id]/git/commit/route.js +1 -1
  142. package/.next/server/app/api/worktrees/[id]/git/commit/route_client-reference-manifest.js +1 -1
  143. package/.next/server/app/api/worktrees/[id]/git/diff/route.js +1 -1
  144. package/.next/server/app/api/worktrees/[id]/git/diff/route_client-reference-manifest.js +1 -1
  145. package/.next/server/app/api/worktrees/[id]/git/fetch/route.js +1 -1
  146. package/.next/server/app/api/worktrees/[id]/git/fetch/route_client-reference-manifest.js +1 -1
  147. package/.next/server/app/api/worktrees/[id]/git/log/route.js +1 -1
  148. package/.next/server/app/api/worktrees/[id]/git/log/route_client-reference-manifest.js +1 -1
  149. package/.next/server/app/api/worktrees/[id]/git/pull/route.js +1 -1
  150. package/.next/server/app/api/worktrees/[id]/git/pull/route_client-reference-manifest.js +1 -1
  151. package/.next/server/app/api/worktrees/[id]/git/push/route.js +1 -1
  152. package/.next/server/app/api/worktrees/[id]/git/push/route_client-reference-manifest.js +1 -1
  153. package/.next/server/app/api/worktrees/[id]/git/reset/route.js +1 -1
  154. package/.next/server/app/api/worktrees/[id]/git/reset/route_client-reference-manifest.js +1 -1
  155. package/.next/server/app/api/worktrees/[id]/git/revert/route.js +1 -1
  156. package/.next/server/app/api/worktrees/[id]/git/revert/route_client-reference-manifest.js +1 -1
  157. package/.next/server/app/api/worktrees/[id]/git/show/[commitHash]/route.js +1 -1
  158. package/.next/server/app/api/worktrees/[id]/git/show/[commitHash]/route_client-reference-manifest.js +1 -1
  159. package/.next/server/app/api/worktrees/[id]/git/stage/route.js +1 -1
  160. package/.next/server/app/api/worktrees/[id]/git/stage/route_client-reference-manifest.js +1 -1
  161. package/.next/server/app/api/worktrees/[id]/git/staged/route.js +1 -1
  162. package/.next/server/app/api/worktrees/[id]/git/staged/route_client-reference-manifest.js +1 -1
  163. package/.next/server/app/api/worktrees/[id]/git/stash/[index]/route.js +1 -1
  164. package/.next/server/app/api/worktrees/[id]/git/stash/[index]/route_client-reference-manifest.js +1 -1
  165. package/.next/server/app/api/worktrees/[id]/git/stash/apply/route.js +1 -1
  166. package/.next/server/app/api/worktrees/[id]/git/stash/apply/route_client-reference-manifest.js +1 -1
  167. package/.next/server/app/api/worktrees/[id]/git/stash/pop/route.js +1 -1
  168. package/.next/server/app/api/worktrees/[id]/git/stash/pop/route_client-reference-manifest.js +1 -1
  169. package/.next/server/app/api/worktrees/[id]/git/stash/push/route.js +1 -1
  170. package/.next/server/app/api/worktrees/[id]/git/stash/push/route_client-reference-manifest.js +1 -1
  171. package/.next/server/app/api/worktrees/[id]/git/stash/route.js +1 -1
  172. package/.next/server/app/api/worktrees/[id]/git/stash/route_client-reference-manifest.js +1 -1
  173. package/.next/server/app/api/worktrees/[id]/git/status/route.js +1 -1
  174. package/.next/server/app/api/worktrees/[id]/git/status/route_client-reference-manifest.js +1 -1
  175. package/.next/server/app/api/worktrees/[id]/git/unstage/route.js +1 -1
  176. package/.next/server/app/api/worktrees/[id]/git/unstage/route_client-reference-manifest.js +1 -1
  177. package/.next/server/app/api/worktrees/[id]/git/working-diff/route.js +1 -1
  178. package/.next/server/app/api/worktrees/[id]/git/working-diff/route_client-reference-manifest.js +1 -1
  179. package/.next/server/app/api/worktrees/[id]/instances/notes/route.js +1 -1
  180. package/.next/server/app/api/worktrees/[id]/instances/notes/route_client-reference-manifest.js +1 -1
  181. package/.next/server/app/api/worktrees/[id]/instances/opencode/route.js +1 -1
  182. package/.next/server/app/api/worktrees/[id]/instances/opencode/route.js.nft.json +1 -1
  183. package/.next/server/app/api/worktrees/[id]/instances/opencode/route_client-reference-manifest.js +1 -1
  184. package/.next/server/app/api/worktrees/[id]/interrupt/route.js +1 -1
  185. package/.next/server/app/api/worktrees/[id]/interrupt/route.js.nft.json +1 -1
  186. package/.next/server/app/api/worktrees/[id]/interrupt/route_client-reference-manifest.js +1 -1
  187. package/.next/server/app/api/worktrees/[id]/kill-session/route.js +2 -2
  188. package/.next/server/app/api/worktrees/[id]/kill-session/route.js.nft.json +1 -1
  189. package/.next/server/app/api/worktrees/[id]/kill-session/route_client-reference-manifest.js +1 -1
  190. package/.next/server/app/api/worktrees/[id]/logs/[filename]/route_client-reference-manifest.js +1 -1
  191. package/.next/server/app/api/worktrees/[id]/logs/route_client-reference-manifest.js +1 -1
  192. package/.next/server/app/api/worktrees/[id]/marp-render/route.js +1 -1
  193. package/.next/server/app/api/worktrees/[id]/marp-render/route_client-reference-manifest.js +1 -1
  194. package/.next/server/app/api/worktrees/[id]/memos/[memoId]/route.js +1 -1
  195. package/.next/server/app/api/worktrees/[id]/memos/[memoId]/route_client-reference-manifest.js +1 -1
  196. package/.next/server/app/api/worktrees/[id]/memos/route.js +1 -1
  197. package/.next/server/app/api/worktrees/[id]/memos/route_client-reference-manifest.js +1 -1
  198. package/.next/server/app/api/worktrees/[id]/messages/route.js +1 -1
  199. package/.next/server/app/api/worktrees/[id]/messages/route_client-reference-manifest.js +1 -1
  200. package/.next/server/app/api/worktrees/[id]/opencode/diff/route_client-reference-manifest.js +1 -1
  201. package/.next/server/app/api/worktrees/[id]/opencode/session/route.js +1 -1
  202. package/.next/server/app/api/worktrees/[id]/opencode/session/route.js.nft.json +1 -1
  203. package/.next/server/app/api/worktrees/[id]/opencode/session/route_client-reference-manifest.js +1 -1
  204. package/.next/server/app/api/worktrees/[id]/opencode/share/route.js +1 -1
  205. package/.next/server/app/api/worktrees/[id]/opencode/share/route.js.nft.json +1 -1
  206. package/.next/server/app/api/worktrees/[id]/opencode/share/route_client-reference-manifest.js +1 -1
  207. package/.next/server/app/api/worktrees/[id]/prompt-response/route.js +1 -1
  208. package/.next/server/app/api/worktrees/[id]/prompt-response/route.js.nft.json +1 -1
  209. package/.next/server/app/api/worktrees/[id]/prompt-response/route_client-reference-manifest.js +1 -1
  210. package/.next/server/app/api/worktrees/[id]/prompt-response/strict/route.js +1 -1
  211. package/.next/server/app/api/worktrees/[id]/prompt-response/strict/route.js.nft.json +1 -1
  212. package/.next/server/app/api/worktrees/[id]/prompt-response/strict/route_client-reference-manifest.js +1 -1
  213. package/.next/server/app/api/worktrees/[id]/resolve-target/route.js +1 -1
  214. package/.next/server/app/api/worktrees/[id]/resolve-target/route_client-reference-manifest.js +1 -1
  215. package/.next/server/app/api/worktrees/[id]/respond/route.js +1 -1
  216. package/.next/server/app/api/worktrees/[id]/respond/route.js.nft.json +1 -1
  217. package/.next/server/app/api/worktrees/[id]/respond/route_client-reference-manifest.js +1 -1
  218. package/.next/server/app/api/worktrees/[id]/route.js +1 -1
  219. package/.next/server/app/api/worktrees/[id]/route.js.nft.json +1 -1
  220. package/.next/server/app/api/worktrees/[id]/route_client-reference-manifest.js +1 -1
  221. package/.next/server/app/api/worktrees/[id]/schedules/[scheduleId]/route.js +2 -2
  222. package/.next/server/app/api/worktrees/[id]/schedules/[scheduleId]/route.js.nft.json +1 -1
  223. package/.next/server/app/api/worktrees/[id]/schedules/[scheduleId]/route_client-reference-manifest.js +1 -1
  224. package/.next/server/app/api/worktrees/[id]/schedules/active/route.js +2 -2
  225. package/.next/server/app/api/worktrees/[id]/schedules/active/route.js.nft.json +1 -1
  226. package/.next/server/app/api/worktrees/[id]/schedules/active/route_client-reference-manifest.js +1 -1
  227. package/.next/server/app/api/worktrees/[id]/schedules/route.js +2 -2
  228. package/.next/server/app/api/worktrees/[id]/schedules/route.js.nft.json +1 -1
  229. package/.next/server/app/api/worktrees/[id]/schedules/route_client-reference-manifest.js +1 -1
  230. package/.next/server/app/api/worktrees/[id]/search/route_client-reference-manifest.js +1 -1
  231. package/.next/server/app/api/worktrees/[id]/send/route.js +1 -144
  232. package/.next/server/app/api/worktrees/[id]/send/route.js.nft.json +1 -1
  233. package/.next/server/app/api/worktrees/[id]/send/route_client-reference-manifest.js +1 -1
  234. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/git-workflow/route.js +3 -3
  235. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/git-workflow/route.js.nft.json +1 -1
  236. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/git-workflow/route_client-reference-manifest.js +1 -1
  237. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/install/route_client-reference-manifest.js +1 -1
  238. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/plan/route_client-reference-manifest.js +1 -1
  239. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/uninstall/route_client-reference-manifest.js +1 -1
  240. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/uninstall-plan/route_client-reference-manifest.js +1 -1
  241. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/update/route_client-reference-manifest.js +1 -1
  242. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/update-plan/route_client-reference-manifest.js +1 -1
  243. package/.next/server/app/api/worktrees/[id]/skills/route.js +1 -1
  244. package/.next/server/app/api/worktrees/[id]/skills/route_client-reference-manifest.js +1 -1
  245. package/.next/server/app/api/worktrees/[id]/slash-commands/route.js +1 -1
  246. package/.next/server/app/api/worktrees/[id]/slash-commands/route_client-reference-manifest.js +1 -1
  247. package/.next/server/app/api/worktrees/[id]/special-keys/route.js +1 -1
  248. package/.next/server/app/api/worktrees/[id]/special-keys/route.js.nft.json +1 -1
  249. package/.next/server/app/api/worktrees/[id]/special-keys/route_client-reference-manifest.js +1 -1
  250. package/.next/server/app/api/worktrees/[id]/tasks/route.js +1 -1
  251. package/.next/server/app/api/worktrees/[id]/tasks/route_client-reference-manifest.js +1 -1
  252. package/.next/server/app/api/worktrees/[id]/terminal/route.js +2 -2
  253. package/.next/server/app/api/worktrees/[id]/terminal/route.js.nft.json +1 -1
  254. package/.next/server/app/api/worktrees/[id]/terminal/route_client-reference-manifest.js +1 -1
  255. package/.next/server/app/api/worktrees/[id]/timers/history/route.js +1 -1
  256. package/.next/server/app/api/worktrees/[id]/timers/history/route_client-reference-manifest.js +1 -1
  257. package/.next/server/app/api/worktrees/[id]/timers/route.js +1 -1
  258. package/.next/server/app/api/worktrees/[id]/timers/route.js.nft.json +1 -1
  259. package/.next/server/app/api/worktrees/[id]/timers/route_client-reference-manifest.js +1 -1
  260. package/.next/server/app/api/worktrees/[id]/todos/[todoId]/route_client-reference-manifest.js +1 -1
  261. package/.next/server/app/api/worktrees/[id]/todos/route_client-reference-manifest.js +1 -1
  262. package/.next/server/app/api/worktrees/[id]/tree/[...path]/route_client-reference-manifest.js +1 -1
  263. package/.next/server/app/api/worktrees/[id]/tree/route_client-reference-manifest.js +1 -1
  264. package/.next/server/app/api/worktrees/[id]/upload/[...path]/route_client-reference-manifest.js +1 -1
  265. package/.next/server/app/api/worktrees/[id]/verify/config/route.js +1 -1
  266. package/.next/server/app/api/worktrees/[id]/verify/config/route_client-reference-manifest.js +1 -1
  267. package/.next/server/app/api/worktrees/[id]/verify/route_client-reference-manifest.js +1 -1
  268. package/.next/server/app/api/worktrees/[id]/verify/runs/[runId]/cancel/route_client-reference-manifest.js +1 -1
  269. package/.next/server/app/api/worktrees/[id]/verify/runs/[runId]/route.js +1 -1
  270. package/.next/server/app/api/worktrees/[id]/verify/runs/[runId]/route_client-reference-manifest.js +1 -1
  271. package/.next/server/app/api/worktrees/[id]/verify/runs/route.js +1 -1
  272. package/.next/server/app/api/worktrees/[id]/verify/runs/route_client-reference-manifest.js +1 -1
  273. package/.next/server/app/api/worktrees/[id]/viewed/route.js +1 -1
  274. package/.next/server/app/api/worktrees/[id]/viewed/route_client-reference-manifest.js +1 -1
  275. package/.next/server/app/api/worktrees/apply-default-agents/route_client-reference-manifest.js +1 -1
  276. package/.next/server/app/api/worktrees/route.js +1 -1
  277. package/.next/server/app/api/worktrees/route.js.nft.json +1 -1
  278. package/.next/server/app/api/worktrees/route_client-reference-manifest.js +1 -1
  279. package/.next/server/app/login/page_client-reference-manifest.js +1 -1
  280. package/.next/server/app/manifest.webmanifest/route_client-reference-manifest.js +1 -1
  281. package/.next/server/app/more/page_client-reference-manifest.js +1 -1
  282. package/.next/server/app/offline/page_client-reference-manifest.js +1 -1
  283. package/.next/server/app/page_client-reference-manifest.js +1 -1
  284. package/.next/server/app/proxy/[...path]/route_client-reference-manifest.js +1 -1
  285. package/.next/server/app/repositories/page_client-reference-manifest.js +1 -1
  286. package/.next/server/app/review/page_client-reference-manifest.js +1 -1
  287. package/.next/server/app/sessions/page_client-reference-manifest.js +1 -1
  288. package/.next/server/app/skills/[skillId]/page_client-reference-manifest.js +1 -1
  289. package/.next/server/app/skills/installed/page_client-reference-manifest.js +1 -1
  290. package/.next/server/app/skills/page_client-reference-manifest.js +1 -1
  291. package/.next/server/app/worktrees/[id]/files/[...path]/page_client-reference-manifest.js +1 -1
  292. package/.next/server/app/worktrees/[id]/page.js +10 -10
  293. package/.next/server/app/worktrees/[id]/page_client-reference-manifest.js +1 -1
  294. package/.next/server/app/worktrees/[id]/terminal/page_client-reference-manifest.js +1 -1
  295. package/.next/server/app-paths-manifest.json +19 -18
  296. package/.next/server/chunks/1308.js +1 -0
  297. package/.next/server/chunks/1656.js +2 -2
  298. package/.next/server/chunks/1957.js +2 -2
  299. package/.next/server/chunks/2119.js +1 -1
  300. package/.next/server/chunks/2445.js +1 -1
  301. package/.next/server/chunks/2897.js +1 -1
  302. package/.next/server/chunks/3417.js +1 -1
  303. package/.next/server/chunks/3801.js +7 -7
  304. package/.next/server/chunks/4207.js +1 -1
  305. package/.next/server/chunks/4490.js +1 -0
  306. package/.next/server/chunks/4911.js +1 -1
  307. package/.next/server/chunks/4936.js +1 -1
  308. package/.next/server/chunks/5209.js +2 -2
  309. package/.next/server/chunks/5350.js +212 -0
  310. package/.next/server/chunks/5354.js +1 -1
  311. package/.next/server/chunks/6130.js +1 -1
  312. package/.next/server/chunks/6401.js +1 -1
  313. package/.next/server/chunks/7023.js +3 -3
  314. package/.next/server/chunks/7905.js +1 -1
  315. package/.next/server/chunks/7926.js +1 -0
  316. package/.next/server/chunks/8581.js +1 -1
  317. package/.next/server/chunks/8728.js +2 -2
  318. package/.next/server/chunks/8782.js +1 -1
  319. package/.next/server/chunks/8807.js +89 -88
  320. package/.next/server/chunks/8918.js +3 -3
  321. package/.next/server/chunks/9169.js +1 -0
  322. package/.next/server/chunks/9390.js +1 -1
  323. package/.next/server/chunks/9584.js +1 -1
  324. package/.next/server/chunks/9627.js +5 -5
  325. package/.next/server/chunks/9702.js +1 -0
  326. package/.next/server/chunks/9731.js +3 -3
  327. package/.next/server/middleware-manifest.json +5 -5
  328. package/.next/server/pages/500.html +1 -1
  329. package/.next/server/server-reference-manifest.json +1 -1
  330. package/.next/static/chunks/{2407-07a237575e1ceb9e.js → 2407-87ec01332344ec2b.js} +1 -1
  331. package/.next/static/chunks/3931-3ef48b8d97357282.js +1 -0
  332. package/.next/static/chunks/app/api/agents/update/route-96fc12d400b49b13.js +1 -0
  333. package/.next/static/chunks/app/api/agents/versions/route-96fc12d400b49b13.js +1 -0
  334. package/.next/static/chunks/app/api/app/release-notes/route-96fc12d400b49b13.js +1 -0
  335. package/.next/static/chunks/app/api/app/update/route-96fc12d400b49b13.js +1 -0
  336. package/.next/static/chunks/app/api/app/update-check/route-96fc12d400b49b13.js +1 -0
  337. package/.next/static/chunks/app/api/auth/login/route-96fc12d400b49b13.js +1 -0
  338. package/.next/static/chunks/app/api/auth/logout/route-96fc12d400b49b13.js +1 -0
  339. package/.next/static/chunks/app/api/auth/status/route-96fc12d400b49b13.js +1 -0
  340. package/.next/static/chunks/app/api/capabilities/route-96fc12d400b49b13.js +1 -0
  341. package/.next/static/chunks/app/api/daily-summary/route-96fc12d400b49b13.js +1 -0
  342. package/.next/static/chunks/app/api/daily-summary/status/route-96fc12d400b49b13.js +1 -0
  343. package/.next/static/chunks/app/api/external-apps/[id]/health/route-96fc12d400b49b13.js +1 -0
  344. package/.next/static/chunks/app/api/external-apps/[id]/route-96fc12d400b49b13.js +1 -0
  345. package/.next/static/chunks/app/api/external-apps/route-96fc12d400b49b13.js +1 -0
  346. package/.next/static/chunks/app/api/fs/browse/route-96fc12d400b49b13.js +1 -0
  347. package/.next/static/chunks/app/api/fs/recent-paths/route-96fc12d400b49b13.js +1 -0
  348. package/.next/static/chunks/app/api/hooks/agent-event/route-96fc12d400b49b13.js +1 -0
  349. package/.next/static/chunks/app/api/hooks/claude-done/route-96fc12d400b49b13.js +1 -0
  350. package/.next/static/chunks/app/api/hooks/permission-request/route-96fc12d400b49b13.js +1 -0
  351. package/.next/static/chunks/app/api/metrics/vibe/route-96fc12d400b49b13.js +1 -0
  352. package/.next/static/chunks/app/api/ollama/models/route-96fc12d400b49b13.js +1 -0
  353. package/.next/static/chunks/app/api/push/escalation/route-96fc12d400b49b13.js +1 -0
  354. package/.next/static/chunks/app/api/push/subscriptions/route-96fc12d400b49b13.js +1 -0
  355. package/.next/static/chunks/app/api/push/vapid/route-96fc12d400b49b13.js +1 -0
  356. package/.next/static/chunks/app/api/relays/[relayId]/cancel/route-96fc12d400b49b13.js +1 -0
  357. package/.next/static/chunks/app/api/relays/[relayId]/resolve/route-96fc12d400b49b13.js +1 -0
  358. package/.next/static/chunks/app/api/relays/[relayId]/route-96fc12d400b49b13.js +1 -0
  359. package/.next/static/chunks/app/api/relays/route-96fc12d400b49b13.js +1 -0
  360. package/.next/static/chunks/app/api/remote/pair/route-96fc12d400b49b13.js +1 -0
  361. package/.next/static/chunks/app/api/repositories/[id]/route-96fc12d400b49b13.js +1 -0
  362. package/.next/static/chunks/app/api/repositories/clone/[jobId]/route-96fc12d400b49b13.js +1 -0
  363. package/.next/static/chunks/app/api/repositories/clone/route-96fc12d400b49b13.js +1 -0
  364. package/.next/static/chunks/app/api/repositories/excluded/route-96fc12d400b49b13.js +1 -0
  365. package/.next/static/chunks/app/api/repositories/restore/route-96fc12d400b49b13.js +1 -0
  366. package/.next/static/chunks/app/api/repositories/route-96fc12d400b49b13.js +1 -0
  367. package/.next/static/chunks/app/api/repositories/scan/route-96fc12d400b49b13.js +1 -0
  368. package/.next/static/chunks/app/api/repositories/sync/route-96fc12d400b49b13.js +1 -0
  369. package/.next/static/chunks/app/api/repositories/validate-path/route-96fc12d400b49b13.js +1 -0
  370. package/.next/static/chunks/app/api/settings/default-agents/route-96fc12d400b49b13.js +1 -0
  371. package/.next/static/chunks/app/api/settings/default-surface-mode/route-96fc12d400b49b13.js +1 -0
  372. package/.next/static/chunks/app/api/sidebar/group-order/route-96fc12d400b49b13.js +1 -0
  373. package/.next/static/chunks/app/api/skills/[id]/route-96fc12d400b49b13.js +1 -0
  374. package/.next/static/chunks/app/api/skills/installations/route-96fc12d400b49b13.js +1 -0
  375. package/.next/static/chunks/app/api/skills/operations/route-96fc12d400b49b13.js +1 -0
  376. package/.next/static/chunks/app/api/skills/reindex/route-96fc12d400b49b13.js +1 -0
  377. package/.next/static/chunks/app/api/skills/route-96fc12d400b49b13.js +1 -0
  378. package/.next/static/chunks/app/api/slash-commands/route-96fc12d400b49b13.js +1 -0
  379. package/.next/static/chunks/app/api/tasks/[taskId]/cancel/route-96fc12d400b49b13.js +1 -0
  380. package/.next/static/chunks/app/api/tasks/[taskId]/route-96fc12d400b49b13.js +1 -0
  381. package/.next/static/chunks/app/api/templates/[id]/route-96fc12d400b49b13.js +1 -0
  382. package/.next/static/chunks/app/api/templates/route-96fc12d400b49b13.js +1 -0
  383. package/.next/static/chunks/app/api/verification/runs/[runId]/route-96fc12d400b49b13.js +1 -0
  384. package/.next/static/chunks/app/api/verification/runs/route-96fc12d400b49b13.js +1 -0
  385. package/.next/static/chunks/app/api/worktrees/[id]/auto-yes/route-96fc12d400b49b13.js +1 -0
  386. package/.next/static/chunks/app/api/worktrees/[id]/capture/route-96fc12d400b49b13.js +1 -0
  387. package/.next/static/chunks/app/api/worktrees/[id]/clear-composer/route-96fc12d400b49b13.js +1 -0
  388. package/.next/static/chunks/app/api/worktrees/[id]/cli-reference/route-96fc12d400b49b13.js +1 -0
  389. package/.next/static/chunks/app/api/worktrees/[id]/cli-tool/route-96fc12d400b49b13.js +1 -0
  390. package/.next/static/chunks/app/api/worktrees/[id]/cmate/schedules/route-96fc12d400b49b13.js +1 -0
  391. package/.next/static/chunks/app/api/worktrees/[id]/current-output/route-96fc12d400b49b13.js +1 -0
  392. package/.next/static/chunks/app/api/worktrees/[id]/direct-input/route-96fc12d400b49b13.js +1 -0
  393. package/.next/static/chunks/app/api/worktrees/[id]/env/route-96fc12d400b49b13.js +1 -0
  394. package/.next/static/chunks/app/api/worktrees/[id]/execution-logs/[logId]/route-96fc12d400b49b13.js +1 -0
  395. package/.next/static/chunks/app/api/worktrees/[id]/execution-logs/route-96fc12d400b49b13.js +1 -0
  396. package/.next/static/chunks/app/api/worktrees/[id]/files/[...path]/route-96fc12d400b49b13.js +1 -0
  397. package/.next/static/chunks/app/api/worktrees/[id]/git/branch/create/route-96fc12d400b49b13.js +1 -0
  398. package/.next/static/chunks/app/api/worktrees/[id]/git/branch/delete/route-96fc12d400b49b13.js +1 -0
  399. package/.next/static/chunks/app/api/worktrees/[id]/git/branches/route-96fc12d400b49b13.js +1 -0
  400. package/.next/static/chunks/app/api/worktrees/[id]/git/checkout/route-96fc12d400b49b13.js +1 -0
  401. package/.next/static/chunks/app/api/worktrees/[id]/git/commit/route-96fc12d400b49b13.js +1 -0
  402. package/.next/static/chunks/app/api/worktrees/[id]/git/diff/route-96fc12d400b49b13.js +1 -0
  403. package/.next/static/chunks/app/api/worktrees/[id]/git/fetch/route-96fc12d400b49b13.js +1 -0
  404. package/.next/static/chunks/app/api/worktrees/[id]/git/log/route-96fc12d400b49b13.js +1 -0
  405. package/.next/static/chunks/app/api/worktrees/[id]/git/pull/route-96fc12d400b49b13.js +1 -0
  406. package/.next/static/chunks/app/api/worktrees/[id]/git/push/route-96fc12d400b49b13.js +1 -0
  407. package/.next/static/chunks/app/api/worktrees/[id]/git/reset/route-96fc12d400b49b13.js +1 -0
  408. package/.next/static/chunks/app/api/worktrees/[id]/git/revert/route-96fc12d400b49b13.js +1 -0
  409. package/.next/static/chunks/app/api/worktrees/[id]/git/show/[commitHash]/route-96fc12d400b49b13.js +1 -0
  410. package/.next/static/chunks/app/api/worktrees/[id]/git/stage/route-96fc12d400b49b13.js +1 -0
  411. package/.next/static/chunks/app/api/worktrees/[id]/git/staged/route-96fc12d400b49b13.js +1 -0
  412. package/.next/static/chunks/app/api/worktrees/[id]/git/stash/[index]/route-96fc12d400b49b13.js +1 -0
  413. package/.next/static/chunks/app/api/worktrees/[id]/git/stash/apply/route-96fc12d400b49b13.js +1 -0
  414. package/.next/static/chunks/app/api/worktrees/[id]/git/stash/pop/route-96fc12d400b49b13.js +1 -0
  415. package/.next/static/chunks/app/api/worktrees/[id]/git/stash/push/route-96fc12d400b49b13.js +1 -0
  416. package/.next/static/chunks/app/api/worktrees/[id]/git/stash/route-96fc12d400b49b13.js +1 -0
  417. package/.next/static/chunks/app/api/worktrees/[id]/git/status/route-96fc12d400b49b13.js +1 -0
  418. package/.next/static/chunks/app/api/worktrees/[id]/git/unstage/route-96fc12d400b49b13.js +1 -0
  419. package/.next/static/chunks/app/api/worktrees/[id]/git/working-diff/route-96fc12d400b49b13.js +1 -0
  420. package/.next/static/chunks/app/api/worktrees/[id]/instances/notes/route-96fc12d400b49b13.js +1 -0
  421. package/.next/static/chunks/app/api/worktrees/[id]/instances/opencode/route-96fc12d400b49b13.js +1 -0
  422. package/.next/static/chunks/app/api/worktrees/[id]/interrupt/route-96fc12d400b49b13.js +1 -0
  423. package/.next/static/chunks/app/api/worktrees/[id]/kill-session/route-96fc12d400b49b13.js +1 -0
  424. package/.next/static/chunks/app/api/worktrees/[id]/logs/[filename]/route-96fc12d400b49b13.js +1 -0
  425. package/.next/static/chunks/app/api/worktrees/[id]/logs/route-96fc12d400b49b13.js +1 -0
  426. package/.next/static/chunks/app/api/worktrees/[id]/marp-render/route-96fc12d400b49b13.js +1 -0
  427. package/.next/static/chunks/app/api/worktrees/[id]/memos/[memoId]/route-96fc12d400b49b13.js +1 -0
  428. package/.next/static/chunks/app/api/worktrees/[id]/memos/route-96fc12d400b49b13.js +1 -0
  429. package/.next/static/chunks/app/api/worktrees/[id]/messages/route-96fc12d400b49b13.js +1 -0
  430. package/.next/static/chunks/app/api/worktrees/[id]/opencode/diff/route-96fc12d400b49b13.js +1 -0
  431. package/.next/static/chunks/app/api/worktrees/[id]/opencode/session/route-96fc12d400b49b13.js +1 -0
  432. package/.next/static/chunks/app/api/worktrees/[id]/opencode/share/route-96fc12d400b49b13.js +1 -0
  433. package/.next/static/chunks/app/api/worktrees/[id]/prompt-response/route-96fc12d400b49b13.js +1 -0
  434. package/.next/static/chunks/app/api/worktrees/[id]/prompt-response/strict/route-96fc12d400b49b13.js +1 -0
  435. package/.next/static/chunks/app/api/worktrees/[id]/resolve-target/route-96fc12d400b49b13.js +1 -0
  436. package/.next/static/chunks/app/api/worktrees/[id]/respond/route-96fc12d400b49b13.js +1 -0
  437. package/.next/static/chunks/app/api/worktrees/[id]/route-96fc12d400b49b13.js +1 -0
  438. package/.next/static/chunks/app/api/worktrees/[id]/schedules/[scheduleId]/route-96fc12d400b49b13.js +1 -0
  439. package/.next/static/chunks/app/api/worktrees/[id]/schedules/active/route-96fc12d400b49b13.js +1 -0
  440. package/.next/static/chunks/app/api/worktrees/[id]/schedules/route-96fc12d400b49b13.js +1 -0
  441. package/.next/static/chunks/app/api/worktrees/[id]/search/route-96fc12d400b49b13.js +1 -0
  442. package/.next/static/chunks/app/api/worktrees/[id]/send/route-96fc12d400b49b13.js +1 -0
  443. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/git-workflow/route-96fc12d400b49b13.js +1 -0
  444. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/install/route-96fc12d400b49b13.js +1 -0
  445. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/plan/route-96fc12d400b49b13.js +1 -0
  446. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/uninstall/route-96fc12d400b49b13.js +1 -0
  447. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/uninstall-plan/route-96fc12d400b49b13.js +1 -0
  448. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/update/route-96fc12d400b49b13.js +1 -0
  449. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/update-plan/route-96fc12d400b49b13.js +1 -0
  450. package/.next/static/chunks/app/api/worktrees/[id]/skills/route-96fc12d400b49b13.js +1 -0
  451. package/.next/static/chunks/app/api/worktrees/[id]/slash-commands/route-96fc12d400b49b13.js +1 -0
  452. package/.next/static/chunks/app/api/worktrees/[id]/special-keys/route-96fc12d400b49b13.js +1 -0
  453. package/.next/static/chunks/app/api/worktrees/[id]/tasks/route-96fc12d400b49b13.js +1 -0
  454. package/.next/static/chunks/app/api/worktrees/[id]/terminal/route-96fc12d400b49b13.js +1 -0
  455. package/.next/static/chunks/app/api/worktrees/[id]/timers/history/route-96fc12d400b49b13.js +1 -0
  456. package/.next/static/chunks/app/api/worktrees/[id]/timers/route-96fc12d400b49b13.js +1 -0
  457. package/.next/static/chunks/app/api/worktrees/[id]/todos/[todoId]/route-96fc12d400b49b13.js +1 -0
  458. package/.next/static/chunks/app/api/worktrees/[id]/todos/route-96fc12d400b49b13.js +1 -0
  459. package/.next/static/chunks/app/api/worktrees/[id]/tree/[...path]/route-96fc12d400b49b13.js +1 -0
  460. package/.next/static/chunks/app/api/worktrees/[id]/tree/route-96fc12d400b49b13.js +1 -0
  461. package/.next/static/chunks/app/api/worktrees/[id]/upload/[...path]/route-96fc12d400b49b13.js +1 -0
  462. package/.next/static/chunks/app/api/worktrees/[id]/verify/config/route-96fc12d400b49b13.js +1 -0
  463. package/.next/static/chunks/app/api/worktrees/[id]/verify/route-96fc12d400b49b13.js +1 -0
  464. package/.next/static/chunks/app/api/worktrees/[id]/verify/runs/[runId]/cancel/route-96fc12d400b49b13.js +1 -0
  465. package/.next/static/chunks/app/api/worktrees/[id]/verify/runs/[runId]/route-96fc12d400b49b13.js +1 -0
  466. package/.next/static/chunks/app/api/worktrees/[id]/verify/runs/route-96fc12d400b49b13.js +1 -0
  467. package/.next/static/chunks/app/api/worktrees/[id]/viewed/route-96fc12d400b49b13.js +1 -0
  468. package/.next/static/chunks/app/api/worktrees/apply-default-agents/route-96fc12d400b49b13.js +1 -0
  469. package/.next/static/chunks/app/api/worktrees/route-96fc12d400b49b13.js +1 -0
  470. package/.next/static/chunks/app/{layout-4f64316957b0a8e5.js → layout-b9d8aef70e4f17b2.js} +1 -1
  471. package/.next/static/chunks/app/manifest.webmanifest/route-96fc12d400b49b13.js +1 -0
  472. package/.next/static/chunks/app/proxy/[...path]/route-96fc12d400b49b13.js +1 -0
  473. package/.next/static/chunks/app/worktrees/[id]/layout-96fc12d400b49b13.js +1 -0
  474. package/.next/static/chunks/app/worktrees/[id]/page-f6a151304860b549.js +1 -0
  475. package/.next/trace +13 -13
  476. package/.next/types/app/api/relays/[relayId]/resolve/route.ts +347 -0
  477. package/.next/types/routes.d.ts +2 -1
  478. package/.next/types/validator.ts +9 -0
  479. package/dist/cli/commands/prompt.d.ts.map +1 -1
  480. package/dist/cli/commands/prompt.js +2 -1
  481. package/dist/cli/commands/relays.d.ts +2 -0
  482. package/dist/cli/commands/relays.d.ts.map +1 -1
  483. package/dist/cli/commands/relays.js +142 -5
  484. package/dist/cli/commands/report.d.ts +7 -2
  485. package/dist/cli/commands/report.d.ts.map +1 -1
  486. package/dist/cli/commands/report.js +19 -6
  487. package/dist/cli/commands/respond-strict.d.ts.map +1 -1
  488. package/dist/cli/commands/respond-strict.js +9 -2
  489. package/dist/cli/commands/task.d.ts +22 -0
  490. package/dist/cli/commands/task.d.ts.map +1 -1
  491. package/dist/cli/commands/task.js +26 -18
  492. package/dist/cli/types/api-responses.d.ts +52 -0
  493. package/dist/cli/types/api-responses.d.ts.map +1 -1
  494. package/dist/cli/utils/api-client-deadline.d.ts +28 -0
  495. package/dist/cli/utils/api-client-deadline.d.ts.map +1 -0
  496. package/dist/cli/utils/api-client-deadline.js +46 -0
  497. package/dist/cli/utils/api-client-errors.d.ts +118 -0
  498. package/dist/cli/utils/api-client-errors.d.ts.map +1 -0
  499. package/dist/cli/utils/api-client-errors.js +210 -0
  500. package/dist/cli/utils/api-client.d.ts +3 -133
  501. package/dist/cli/utils/api-client.d.ts.map +1 -1
  502. package/dist/cli/utils/api-client.js +30 -257
  503. package/dist/lib/cli-tools/types.d.ts +6 -0
  504. package/dist/lib/cli-tools/types.d.ts.map +1 -1
  505. package/dist/server/locales/en/worktree.json +7 -0
  506. package/dist/server/locales/ja/worktree.json +7 -0
  507. package/dist/server/src/lib/cli-tools/claude.js +8 -2
  508. package/dist/server/src/lib/cli-tools/command-code.js +7 -15
  509. package/dist/server/src/lib/cli-tools/copilot.js +154 -25
  510. package/dist/server/src/lib/cli-tools/opencode.js +157 -6
  511. package/dist/server/src/lib/cli-tools/prompt-wait-dialog.js +115 -0
  512. package/dist/server/src/lib/cli-tools/submit-composer-read.js +41 -8
  513. package/dist/server/src/lib/cli-tools/submit-verified-sender-composer.js +78 -0
  514. package/dist/server/src/lib/cli-tools/submit-verified-sender-lock.js +116 -0
  515. package/dist/server/src/lib/cli-tools/submit-verified-sender-report.js +250 -0
  516. package/dist/server/src/lib/cli-tools/submit-verified-sender-shared.js +106 -0
  517. package/dist/server/src/lib/cli-tools/submit-verified-sender.js +94 -295
  518. package/dist/server/src/lib/cli-tools/vibe-local.js +87 -0
  519. package/dist/server/src/lib/db/chat-db.js +14 -1
  520. package/dist/server/src/lib/db/db-instance.js +114 -2
  521. package/dist/server/src/lib/db/migrations/index.js +2 -0
  522. package/dist/server/src/lib/db/migrations/runner.js +1 -1
  523. package/dist/server/src/lib/db/migrations/v63-session-relays-delivery-attempt.js +61 -0
  524. package/dist/server/src/lib/db/relay-bind-db-base.js +89 -0
  525. package/dist/server/src/lib/db/relay-bind-db-delivery.js +223 -0
  526. package/dist/server/src/lib/db/relay-bind-db-pending.js +183 -0
  527. package/dist/server/src/lib/db/relay-bind-db.js +88 -167
  528. package/dist/server/src/lib/db/relay-db-base.js +20 -0
  529. package/dist/server/src/lib/db/relay-db-count.js +49 -0
  530. package/dist/server/src/lib/db/relay-db-delivery.js +104 -0
  531. package/dist/server/src/lib/db/relay-db-hold.js +250 -0
  532. package/dist/server/src/lib/db/relay-db.js +33 -92
  533. package/dist/server/src/lib/detection/tools/opencode/composer-own-text.js +119 -0
  534. package/dist/server/src/lib/detection/tools/opencode/readiness.js +62 -0
  535. package/dist/server/src/lib/detection/tools/vibe-local/readiness.js +70 -0
  536. package/dist/server/src/lib/relay/relay-bound-reply.js +20 -9
  537. package/dist/server/src/lib/relay/relay-delivery.js +359 -79
  538. package/dist/server/src/lib/relay/relay-messages.js +13 -0
  539. package/dist/server/src/lib/relay/relay-system-line.js +28 -15
  540. package/dist/server/src/lib/relay/types.js +14 -2
  541. package/dist/server/src/lib/session/claude-session.js +4 -1
  542. package/dist/server/src/lib/session/current-output-builder.js +7 -5
  543. package/dist/server/src/lib/session/instance-input-lock.js +47 -2
  544. package/dist/server/src/lib/session/prompt-submit-receipt.js +87 -18
  545. package/dist/server/src/lib/session/prompt-waiting-guard.js +8 -2
  546. package/dist/server/src/lib/session/respond-target.js +82 -0
  547. package/dist/server/src/lib/session/send-attempt-state.js +130 -3
  548. package/dist/server/src/lib/session/send-user-message.js +78 -7
  549. package/dist/server/src/lib/session/structured-prompt.js +12 -7
  550. package/dist/server/src/lib/session/worktree-session-reconcile.js +10 -0
  551. package/dist/server/src/lib/session-key-sender.js +6 -1
  552. package/package.json +1 -1
  553. package/release-notes/0.49.3.json +52 -0
  554. package/.next/server/chunks/1062.js +0 -1
  555. package/.next/server/chunks/110.js +0 -1
  556. package/.next/server/chunks/2422.js +0 -1
  557. package/.next/server/chunks/3756.js +0 -1
  558. package/.next/server/chunks/5630.js +0 -1
  559. package/.next/server/chunks/6808.js +0 -4
  560. package/.next/server/chunks/9198.js +0 -144
  561. package/.next/static/chunks/3931-61ad1a4fc0208d0e.js +0 -1
  562. package/.next/static/chunks/app/api/agents/update/route-a4f129c451de7859.js +0 -1
  563. package/.next/static/chunks/app/api/agents/versions/route-a4f129c451de7859.js +0 -1
  564. package/.next/static/chunks/app/api/app/release-notes/route-a4f129c451de7859.js +0 -1
  565. package/.next/static/chunks/app/api/app/update/route-a4f129c451de7859.js +0 -1
  566. package/.next/static/chunks/app/api/app/update-check/route-a4f129c451de7859.js +0 -1
  567. package/.next/static/chunks/app/api/auth/login/route-a4f129c451de7859.js +0 -1
  568. package/.next/static/chunks/app/api/auth/logout/route-a4f129c451de7859.js +0 -1
  569. package/.next/static/chunks/app/api/auth/status/route-a4f129c451de7859.js +0 -1
  570. package/.next/static/chunks/app/api/capabilities/route-a4f129c451de7859.js +0 -1
  571. package/.next/static/chunks/app/api/daily-summary/route-a4f129c451de7859.js +0 -1
  572. package/.next/static/chunks/app/api/daily-summary/status/route-a4f129c451de7859.js +0 -1
  573. package/.next/static/chunks/app/api/external-apps/[id]/health/route-a4f129c451de7859.js +0 -1
  574. package/.next/static/chunks/app/api/external-apps/[id]/route-a4f129c451de7859.js +0 -1
  575. package/.next/static/chunks/app/api/external-apps/route-a4f129c451de7859.js +0 -1
  576. package/.next/static/chunks/app/api/fs/browse/route-a4f129c451de7859.js +0 -1
  577. package/.next/static/chunks/app/api/fs/recent-paths/route-a4f129c451de7859.js +0 -1
  578. package/.next/static/chunks/app/api/hooks/agent-event/route-a4f129c451de7859.js +0 -1
  579. package/.next/static/chunks/app/api/hooks/claude-done/route-a4f129c451de7859.js +0 -1
  580. package/.next/static/chunks/app/api/hooks/permission-request/route-a4f129c451de7859.js +0 -1
  581. package/.next/static/chunks/app/api/metrics/vibe/route-a4f129c451de7859.js +0 -1
  582. package/.next/static/chunks/app/api/ollama/models/route-a4f129c451de7859.js +0 -1
  583. package/.next/static/chunks/app/api/push/escalation/route-a4f129c451de7859.js +0 -1
  584. package/.next/static/chunks/app/api/push/subscriptions/route-a4f129c451de7859.js +0 -1
  585. package/.next/static/chunks/app/api/push/vapid/route-a4f129c451de7859.js +0 -1
  586. package/.next/static/chunks/app/api/relays/[relayId]/cancel/route-a4f129c451de7859.js +0 -1
  587. package/.next/static/chunks/app/api/relays/[relayId]/route-a4f129c451de7859.js +0 -1
  588. package/.next/static/chunks/app/api/relays/route-a4f129c451de7859.js +0 -1
  589. package/.next/static/chunks/app/api/remote/pair/route-a4f129c451de7859.js +0 -1
  590. package/.next/static/chunks/app/api/repositories/[id]/route-a4f129c451de7859.js +0 -1
  591. package/.next/static/chunks/app/api/repositories/clone/[jobId]/route-a4f129c451de7859.js +0 -1
  592. package/.next/static/chunks/app/api/repositories/clone/route-a4f129c451de7859.js +0 -1
  593. package/.next/static/chunks/app/api/repositories/excluded/route-a4f129c451de7859.js +0 -1
  594. package/.next/static/chunks/app/api/repositories/restore/route-a4f129c451de7859.js +0 -1
  595. package/.next/static/chunks/app/api/repositories/route-a4f129c451de7859.js +0 -1
  596. package/.next/static/chunks/app/api/repositories/scan/route-a4f129c451de7859.js +0 -1
  597. package/.next/static/chunks/app/api/repositories/sync/route-a4f129c451de7859.js +0 -1
  598. package/.next/static/chunks/app/api/repositories/validate-path/route-a4f129c451de7859.js +0 -1
  599. package/.next/static/chunks/app/api/settings/default-agents/route-a4f129c451de7859.js +0 -1
  600. package/.next/static/chunks/app/api/settings/default-surface-mode/route-a4f129c451de7859.js +0 -1
  601. package/.next/static/chunks/app/api/sidebar/group-order/route-a4f129c451de7859.js +0 -1
  602. package/.next/static/chunks/app/api/skills/[id]/route-a4f129c451de7859.js +0 -1
  603. package/.next/static/chunks/app/api/skills/installations/route-a4f129c451de7859.js +0 -1
  604. package/.next/static/chunks/app/api/skills/operations/route-a4f129c451de7859.js +0 -1
  605. package/.next/static/chunks/app/api/skills/reindex/route-a4f129c451de7859.js +0 -1
  606. package/.next/static/chunks/app/api/skills/route-a4f129c451de7859.js +0 -1
  607. package/.next/static/chunks/app/api/slash-commands/route-a4f129c451de7859.js +0 -1
  608. package/.next/static/chunks/app/api/tasks/[taskId]/cancel/route-a4f129c451de7859.js +0 -1
  609. package/.next/static/chunks/app/api/tasks/[taskId]/route-a4f129c451de7859.js +0 -1
  610. package/.next/static/chunks/app/api/templates/[id]/route-a4f129c451de7859.js +0 -1
  611. package/.next/static/chunks/app/api/templates/route-a4f129c451de7859.js +0 -1
  612. package/.next/static/chunks/app/api/verification/runs/[runId]/route-a4f129c451de7859.js +0 -1
  613. package/.next/static/chunks/app/api/verification/runs/route-a4f129c451de7859.js +0 -1
  614. package/.next/static/chunks/app/api/worktrees/[id]/auto-yes/route-a4f129c451de7859.js +0 -1
  615. package/.next/static/chunks/app/api/worktrees/[id]/capture/route-a4f129c451de7859.js +0 -1
  616. package/.next/static/chunks/app/api/worktrees/[id]/clear-composer/route-a4f129c451de7859.js +0 -1
  617. package/.next/static/chunks/app/api/worktrees/[id]/cli-reference/route-a4f129c451de7859.js +0 -1
  618. package/.next/static/chunks/app/api/worktrees/[id]/cli-tool/route-a4f129c451de7859.js +0 -1
  619. package/.next/static/chunks/app/api/worktrees/[id]/cmate/schedules/route-a4f129c451de7859.js +0 -1
  620. package/.next/static/chunks/app/api/worktrees/[id]/current-output/route-a4f129c451de7859.js +0 -1
  621. package/.next/static/chunks/app/api/worktrees/[id]/direct-input/route-a4f129c451de7859.js +0 -1
  622. package/.next/static/chunks/app/api/worktrees/[id]/env/route-a4f129c451de7859.js +0 -1
  623. package/.next/static/chunks/app/api/worktrees/[id]/execution-logs/[logId]/route-a4f129c451de7859.js +0 -1
  624. package/.next/static/chunks/app/api/worktrees/[id]/execution-logs/route-a4f129c451de7859.js +0 -1
  625. package/.next/static/chunks/app/api/worktrees/[id]/files/[...path]/route-a4f129c451de7859.js +0 -1
  626. package/.next/static/chunks/app/api/worktrees/[id]/git/branch/create/route-a4f129c451de7859.js +0 -1
  627. package/.next/static/chunks/app/api/worktrees/[id]/git/branch/delete/route-a4f129c451de7859.js +0 -1
  628. package/.next/static/chunks/app/api/worktrees/[id]/git/branches/route-a4f129c451de7859.js +0 -1
  629. package/.next/static/chunks/app/api/worktrees/[id]/git/checkout/route-a4f129c451de7859.js +0 -1
  630. package/.next/static/chunks/app/api/worktrees/[id]/git/commit/route-a4f129c451de7859.js +0 -1
  631. package/.next/static/chunks/app/api/worktrees/[id]/git/diff/route-a4f129c451de7859.js +0 -1
  632. package/.next/static/chunks/app/api/worktrees/[id]/git/fetch/route-a4f129c451de7859.js +0 -1
  633. package/.next/static/chunks/app/api/worktrees/[id]/git/log/route-a4f129c451de7859.js +0 -1
  634. package/.next/static/chunks/app/api/worktrees/[id]/git/pull/route-a4f129c451de7859.js +0 -1
  635. package/.next/static/chunks/app/api/worktrees/[id]/git/push/route-a4f129c451de7859.js +0 -1
  636. package/.next/static/chunks/app/api/worktrees/[id]/git/reset/route-a4f129c451de7859.js +0 -1
  637. package/.next/static/chunks/app/api/worktrees/[id]/git/revert/route-a4f129c451de7859.js +0 -1
  638. package/.next/static/chunks/app/api/worktrees/[id]/git/show/[commitHash]/route-a4f129c451de7859.js +0 -1
  639. package/.next/static/chunks/app/api/worktrees/[id]/git/stage/route-a4f129c451de7859.js +0 -1
  640. package/.next/static/chunks/app/api/worktrees/[id]/git/staged/route-a4f129c451de7859.js +0 -1
  641. package/.next/static/chunks/app/api/worktrees/[id]/git/stash/[index]/route-a4f129c451de7859.js +0 -1
  642. package/.next/static/chunks/app/api/worktrees/[id]/git/stash/apply/route-a4f129c451de7859.js +0 -1
  643. package/.next/static/chunks/app/api/worktrees/[id]/git/stash/pop/route-a4f129c451de7859.js +0 -1
  644. package/.next/static/chunks/app/api/worktrees/[id]/git/stash/push/route-a4f129c451de7859.js +0 -1
  645. package/.next/static/chunks/app/api/worktrees/[id]/git/stash/route-a4f129c451de7859.js +0 -1
  646. package/.next/static/chunks/app/api/worktrees/[id]/git/status/route-a4f129c451de7859.js +0 -1
  647. package/.next/static/chunks/app/api/worktrees/[id]/git/unstage/route-a4f129c451de7859.js +0 -1
  648. package/.next/static/chunks/app/api/worktrees/[id]/git/working-diff/route-a4f129c451de7859.js +0 -1
  649. package/.next/static/chunks/app/api/worktrees/[id]/instances/notes/route-a4f129c451de7859.js +0 -1
  650. package/.next/static/chunks/app/api/worktrees/[id]/instances/opencode/route-a4f129c451de7859.js +0 -1
  651. package/.next/static/chunks/app/api/worktrees/[id]/interrupt/route-a4f129c451de7859.js +0 -1
  652. package/.next/static/chunks/app/api/worktrees/[id]/kill-session/route-a4f129c451de7859.js +0 -1
  653. package/.next/static/chunks/app/api/worktrees/[id]/logs/[filename]/route-a4f129c451de7859.js +0 -1
  654. package/.next/static/chunks/app/api/worktrees/[id]/logs/route-a4f129c451de7859.js +0 -1
  655. package/.next/static/chunks/app/api/worktrees/[id]/marp-render/route-a4f129c451de7859.js +0 -1
  656. package/.next/static/chunks/app/api/worktrees/[id]/memos/[memoId]/route-a4f129c451de7859.js +0 -1
  657. package/.next/static/chunks/app/api/worktrees/[id]/memos/route-a4f129c451de7859.js +0 -1
  658. package/.next/static/chunks/app/api/worktrees/[id]/messages/route-a4f129c451de7859.js +0 -1
  659. package/.next/static/chunks/app/api/worktrees/[id]/opencode/diff/route-a4f129c451de7859.js +0 -1
  660. package/.next/static/chunks/app/api/worktrees/[id]/opencode/session/route-a4f129c451de7859.js +0 -1
  661. package/.next/static/chunks/app/api/worktrees/[id]/opencode/share/route-a4f129c451de7859.js +0 -1
  662. package/.next/static/chunks/app/api/worktrees/[id]/prompt-response/route-a4f129c451de7859.js +0 -1
  663. package/.next/static/chunks/app/api/worktrees/[id]/prompt-response/strict/route-a4f129c451de7859.js +0 -1
  664. package/.next/static/chunks/app/api/worktrees/[id]/resolve-target/route-a4f129c451de7859.js +0 -1
  665. package/.next/static/chunks/app/api/worktrees/[id]/respond/route-a4f129c451de7859.js +0 -1
  666. package/.next/static/chunks/app/api/worktrees/[id]/route-a4f129c451de7859.js +0 -1
  667. package/.next/static/chunks/app/api/worktrees/[id]/schedules/[scheduleId]/route-a4f129c451de7859.js +0 -1
  668. package/.next/static/chunks/app/api/worktrees/[id]/schedules/active/route-a4f129c451de7859.js +0 -1
  669. package/.next/static/chunks/app/api/worktrees/[id]/schedules/route-a4f129c451de7859.js +0 -1
  670. package/.next/static/chunks/app/api/worktrees/[id]/search/route-a4f129c451de7859.js +0 -1
  671. package/.next/static/chunks/app/api/worktrees/[id]/send/route-a4f129c451de7859.js +0 -1
  672. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/git-workflow/route-a4f129c451de7859.js +0 -1
  673. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/install/route-a4f129c451de7859.js +0 -1
  674. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/plan/route-a4f129c451de7859.js +0 -1
  675. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/uninstall/route-a4f129c451de7859.js +0 -1
  676. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/uninstall-plan/route-a4f129c451de7859.js +0 -1
  677. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/update/route-a4f129c451de7859.js +0 -1
  678. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/update-plan/route-a4f129c451de7859.js +0 -1
  679. package/.next/static/chunks/app/api/worktrees/[id]/skills/route-a4f129c451de7859.js +0 -1
  680. package/.next/static/chunks/app/api/worktrees/[id]/slash-commands/route-a4f129c451de7859.js +0 -1
  681. package/.next/static/chunks/app/api/worktrees/[id]/special-keys/route-a4f129c451de7859.js +0 -1
  682. package/.next/static/chunks/app/api/worktrees/[id]/tasks/route-a4f129c451de7859.js +0 -1
  683. package/.next/static/chunks/app/api/worktrees/[id]/terminal/route-a4f129c451de7859.js +0 -1
  684. package/.next/static/chunks/app/api/worktrees/[id]/timers/history/route-a4f129c451de7859.js +0 -1
  685. package/.next/static/chunks/app/api/worktrees/[id]/timers/route-a4f129c451de7859.js +0 -1
  686. package/.next/static/chunks/app/api/worktrees/[id]/todos/[todoId]/route-a4f129c451de7859.js +0 -1
  687. package/.next/static/chunks/app/api/worktrees/[id]/todos/route-a4f129c451de7859.js +0 -1
  688. package/.next/static/chunks/app/api/worktrees/[id]/tree/[...path]/route-a4f129c451de7859.js +0 -1
  689. package/.next/static/chunks/app/api/worktrees/[id]/tree/route-a4f129c451de7859.js +0 -1
  690. package/.next/static/chunks/app/api/worktrees/[id]/upload/[...path]/route-a4f129c451de7859.js +0 -1
  691. package/.next/static/chunks/app/api/worktrees/[id]/verify/config/route-a4f129c451de7859.js +0 -1
  692. package/.next/static/chunks/app/api/worktrees/[id]/verify/route-a4f129c451de7859.js +0 -1
  693. package/.next/static/chunks/app/api/worktrees/[id]/verify/runs/[runId]/cancel/route-a4f129c451de7859.js +0 -1
  694. package/.next/static/chunks/app/api/worktrees/[id]/verify/runs/[runId]/route-a4f129c451de7859.js +0 -1
  695. package/.next/static/chunks/app/api/worktrees/[id]/verify/runs/route-a4f129c451de7859.js +0 -1
  696. package/.next/static/chunks/app/api/worktrees/[id]/viewed/route-a4f129c451de7859.js +0 -1
  697. package/.next/static/chunks/app/api/worktrees/apply-default-agents/route-a4f129c451de7859.js +0 -1
  698. package/.next/static/chunks/app/api/worktrees/route-a4f129c451de7859.js +0 -1
  699. package/.next/static/chunks/app/manifest.webmanifest/route-a4f129c451de7859.js +0 -1
  700. package/.next/static/chunks/app/proxy/[...path]/route-a4f129c451de7859.js +0 -1
  701. package/.next/static/chunks/app/worktrees/[id]/layout-a4f129c451de7859.js +0 -1
  702. package/.next/static/chunks/app/worktrees/[id]/page-33afc6aa96289fb0.js +0 -1
  703. /package/.next/static/{yGatWDsS532awSs51kXyd → LNfVZiq6FZwKsV7L9Mi6M}/_buildManifest.js +0 -0
  704. /package/.next/static/{yGatWDsS532awSs51kXyd → LNfVZiq6FZwKsV7L9Mi6M}/_ssgManifest.js +0 -0
@@ -1,10 +1,10 @@
1
- "use strict";exports.id=8918,exports.ids=[8918],exports.modules={12462:(a,b,c)=>{c.d(b,{fT:()=>n,o4:()=>o});var d=c(31990),e=c(56791),f=c(43015),g=c(82450),h=c(15194),i=c(42422),j=c(72626),k=c(85038);let l=(0,j.h)("assistant-response-saver");function m(a){let b=a.split("\n"),c=b.length;for(;c>0&&""===b[c-1].trim();)c--;return c}async function n(a){let{worktreeId:b,cliToolId:f}=a,g=a.instanceId??f;try{if((0,h.VA)(f))return null;let i=await (0,d.Wh)(b,f,1e4,a.instanceId);if(!i)return null;let j=m(i),{getDbInstance:n}=await Promise.resolve().then(c.bind(c,88807)),o=n(),p=(0,e.getSessionState)(o,b,g)?.lastCapturedLine||0;if(j<=p)return null;if(!(0,k.fp)(a))return l.info("transcript:cursor-advance-refused",{worktreeId:b,instanceId:g,generation:(0,k.Bh)()?.generation}),null;return(0,e.updateSessionState)(o,b,f,j,a.instanceId),l.info("transcript:cursor-advanced",{worktreeId:b,instanceId:g,from:p,to:j}),j}catch(a){return l.debug("transcript:cursor-advance-failed",{worktreeId:b,instanceId:g,error:a instanceof Error?a.message:String(a)}),null}}async function o(a,b,c,j,k){let n=k??c;try{let o;if((0,h.VA)(c))return null;let p=(0,e.getSessionState)(a,b,n),q=p?.lastCapturedLine||0;try{o=await (0,d.Wh)(b,c,1e4,k)}catch{return l.info("failed-to-capture"),null}if(!o)return null;let r=o.split("\n"),s=m(o),{bufferReset:t,reason:u}=s>0&&q>25&&s+25<q?{bufferReset:!0,reason:"shrink"}:s>0&&q>50&&s<50?{bufferReset:!0,reason:"restart"}:{bufferReset:!1,reason:null};t&&l.info("buffer:reset-detected",{reason:u,currentLineCount:s,lastCapturedLine:q});let v=t?0:q;if(!t&&s<=q)return s<q&&((0,e.updateSessionState)(a,b,c,s,k),l.info("position:corrected-stale",{from:q,to:s})),null;let w=r.slice(v).join("\n"),x=r.length>=1e4,y="codex"===c&&function(a,b){let c=(0,i.Zu)(a);return c>=0&&b>=c}(r,v)?"":function(a,b,c){switch(b){case"claude":return(0,g.NN)(a);case"gemini":return(0,g.IS)(a);case"opencode":return(0,g.aW)(a);case"copilot":return(0,g.LH)(a);case"codex":case"command-code":case"antigravity":case"vibe-local":return(0,g.Te)(a,b,c);default:return a.trim()}}(w,c,x?void 0:r);if(!y||""===y.trim())return(0,e.updateSessionState)(a,b,c,s,k),l.debug("response:empty-after-clean",{currentLineCount:s}),null;let z=new Date(j.getTime()-1),A=(0,e.createMessage)(a,{worktreeId:b,role:"assistant",content:y,messageType:"normal",timestamp:z,cliToolId:c,instanceId:n});return(0,e.updateSessionState)(a,b,c,s,k),(0,f.broadcastMessage)("message",{worktreeId:b,message:A}),l.info("response:saved",{fromLine:q,toLine:s}),A}catch(a){return l.error("error:",{error:a instanceof Error?a.message:String(a)}),null}}},13033:(a,b,c)=>{c.d(b,{IW:()=>h,IZ:()=>l,K0:()=>g,Uz:()=>m,l1:()=>f,o0:()=>i,q1:()=>n,tb:()=>k,vQ:()=>j});var d=c(42422);let e=(0,c(36925).v)("__tuiResponseAccumulator",()=>new Map);function f(a){return(0,d._A)((0,d.aJ)(a)).replace(/^\u2503\s?/,"").replace(/\s*\u2503$/,"").trim()}function g(a){let b=a.split("\n"),c=[];for(let a of b){let b=f(a);!(!b||d.sx.some(a=>a.test(b)))&&(d.Md.test(b)||c.push(b))}return c}function h(a){return a.replace(/[\u2500-\u257F]/g,"").replace(/\s{2,}/g," ").trim()}function i(a){let b=(0,d.aJ)(a).split("\n");if((0,d.gT)(b))return[];let c=(0,d.wv)(b),e=c>=0?b.slice(0,c):b,f=[],g=!1;for(let a of e){if(d.JN.test(a)){g=!1;continue}if(d.y.test(a))g=!0;else if(g){if(d.Fg.test(a))continue;g=!1}let b=h(a);b&&(d.J7.some(a=>a.test(b))||f.push(b))}return f}function j(a,b){if(0===a.length||0===b.length)return 0;let c=Math.min(a.length,b.length);for(let d=c;d>=1;d--){let c=a.slice(-d),e=b.slice(0,d),f=!0;for(let a=0;a<d;a++)if(c[a]!==e[a]){f=!1;break}if(f)return d}return 0}function k(a){e.set(a,{lines:[],lastFingerprint:[],pollCount:0})}function l(a,b,c="opencode"){let d=e.get(a);if(!d)return;let f="copilot"===c?i(b):g(b);if(0!==f.length){if(d.pollCount++,0===d.lines.length)d.lines=[...f];else{let a=j(d.lastFingerprint,f);if(a>0){let b=f.slice(a);d.lines.push(...b)}else d.lines.push(...f)}d.lastFingerprint=f.slice(-10)}}function m(a){let b=e.get(a);return b&&0!==b.lines.length?b.lines.join("\n"):""}function n(a){e.delete(a)}},18201:(a,b,c)=>{c.d(b,{Ce:()=>i,pk:()=>g});var d=c(72626),e=c(85038);let f=(0,d.h)("lib/history/user-turn-recorder");function g(a){return a.replace(/\r\n?/g,"\n").split("\n").map(a=>a.replace(/[ \t ]+$/u,"")).join("\n").trim()}function h(a){return{worktreeId:a.worktreeId,cliToolId:a.cliToolId,instanceId:a.instanceId??a.cliToolId}}async function i(a,b,d,j,k={}){let l=a.instanceId??a.cliToolId,m=g(d);if(0===b.length||0===m.length)return{outcome:"skipped",messageId:null,timestampMs:null};try{let[{getDbInstance:i},n,{broadcastMessage:o}]=await Promise.all([Promise.resolve().then(c.bind(c,88807)),Promise.resolve().then(c.bind(c,52660)),Promise.resolve().then(c.bind(c,43015))]),p=i(),q=n.findMessageByRequestId(p,a.worktreeId,b);if(q)return{outcome:"already-recorded",messageId:q.id,timestampMs:q.timestamp.getTime()};if(!(0,e.fp)(a))return f.info("user-turn-record-refused",{...h(a),requestId:b,generation:(0,e.Bh)()?.generation}),{outcome:"refused",messageId:null,timestampMs:null};let r=j>0?j:Date.now(),s=function(a,b,c,d,e,i,j,k){var l,m,n;let o=Math.min(j-12e4,k.adoptionFromMs??1/0),p=(l=a.findUnkeyedUserMessages(b,{worktreeId:c.worktreeId,cliToolId:c.cliToolId,instanceId:d,fromMs:o,toMs:j+12e4,includeRelayDelivered:!0}),m=i,n=j,l.filter(a=>g(a.content)===m).sort((a,b)=>Math.abs(a.timestamp.getTime()-n)-Math.abs(b.timestamp.getTime()-n)));for(let d of p)if(!d.requestId&&a.setMessageRequestId(b,d.id,e))return f.info("user-turn-adopted",{...h(c),requestId:e,messageId:d.id,driftMs:d.timestamp.getTime()-j}),{outcome:"adopted",messageId:d.id,timestampMs:d.timestamp.getTime()};let q=p.find(a=>a.requestId);return q?(f.info("user-turn-already-relayed",{...h(c),requestId:e,messageId:q.id,relayRequestId:q.requestId??null,driftMs:q.timestamp.getTime()-j}),{outcome:"already-recorded",messageId:q.id,timestampMs:q.timestamp.getTime()}):null}(n,p,a,l,b,m,r,k);if(s)return s;let t=n.createMessage(p,{worktreeId:a.worktreeId,role:"user",content:d,messageType:"normal",timestamp:new Date(r),cliToolId:a.cliToolId,instanceId:l,requestId:b});return o("message",{worktreeId:a.worktreeId,message:t}),f.info("user-turn-recorded",{...h(a),requestId:b,contentLength:d.length}),{outcome:"inserted",messageId:t.id,timestampMs:r}}catch(c){return f.error("user-turn-record-failed",{...h(a),requestId:b,error:c instanceof Error?c.message:String(c)}),{outcome:"failed",messageId:null,timestampMs:null}}}},28918:(a,b,c)=>{c.r(b),c.d(b,{captureStructuredHistoryTurn:()=>a3,hasStructuredHistoryTranscript:()=>a4,isPullTranscriptHistory:()=>a0,isStructuredHistoryWriterLive:()=>a2,resetStructuredHistoryCaptureQueue:()=>aZ});var d=c(72626),e=c(33198),f=c(32301),g=c(71133),h=c(36925),i=c(79748),j=c(21820),k=c(33873),l=c(24455);let m=(0,d.h)("lib/history/transcript-tail");async function n(a){let b;try{b=await (0,i.open)(a,"r");let{size:c}=await b.stat(),d=Math.max(0,c-4194304),e=c-d;if(e<=0)return"";let f=Buffer.alloc(e),{bytesRead:g}=await b.read(f,0,e,d),h=f.subarray(0,g).toString("utf8");if(0===d)return h;let j=h.indexOf("\n");return -1===j?"":h.slice(j+1)}catch(b){return m.warn("transcript-tail-read-failed",{path:a,error:b instanceof Error?b.message:String(b)}),null}finally{await b?.close().catch(()=>{})}}var o=c(18201),p=c(12462),q=c(86594),r=c(16659),s=c(57510),t=c(27128);let u=["sessions"],v=".jsonl";function w(a){return(0,t.Wv)(a,200)}let x=new Set(["ContextCompaction"]),y={CommandExecution:"exec",FileChange:"edit",McpToolCall:"mcp",ImageView:"view",Extension:"extension"};function z(a){return a.text?.trim()??""}let A=(0,d.h)("lib/hooks/sources/codex/history"),B=/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,C=(0,h.v)("__codexTranscriptSessions",()=>new Map),D=(0,h.v)("__codexTranscriptPaths",()=>new Map);async function E(a){return(0,r.Lz)(a,C,(0,l.v7)(a.worktreeId,a.cliToolId,a.instanceId),A,"codex-transcript-session-lookup-failed")}function F(a=process.env){let b=a.CODEX_HOME;return"string"==typeof b&&b.length>0?b:(0,k.join)((0,j.homedir)(),".codex")}function G(a){return(0,k.join)(a,...u)}async function H(a,b,c=4){return B.test(b)?I(G(a),b,c):null}async function I(a,b,c){let d;if(c<=0)return null;try{d=await (0,i.readdir)(a,{withFileTypes:!0})}catch{return null}let e=[];for(let c of d){if(c.isFile()){var f;if(f=c.name,f.startsWith("rollout-")&&f.endsWith(`-${b}${v}`))return(0,k.join)(a,c.name);continue}c.isDirectory()&&e.push(c.name)}for(let d of(e.sort((a,b)=>a<b?1:a>b?-1:0),e)){let e=await I((0,k.join)(a,d),b,c-1);if(e)return e}return null}async function J(a,b={},c){let d=a.instanceId??a.cliToolId;try{let e=b.codexHome??F(),f=await E(a);if(!f)return A.debug("codex-transcript-unavailable",{worktreeId:a.worktreeId,instanceId:d,reason:"no-session-pointer"}),!1;let g=await M(e,f);if(!g)return A.debug("codex-transcript-unavailable",{worktreeId:a.worktreeId,instanceId:d,sessionId:f,reason:"no-file"}),!1;let h=await n(g);if(null===h)return!1;let i=function(a){let b=[],c=0;for(let d of a.split("\n")){let a;if(0===d.trim().length)continue;try{a=JSON.parse(d)}catch{c+=1;continue}let e=function(a){if(!(0,s.Qd)(a))return null;let b=(0,s.O2)(a,"type");if(!b)return null;let c=(0,s.Qd)(a.payload)?a.payload:null,d=c?(0,s.O2)(c,"type"):null,e=(0,s.O2)(a,"timestamp"),f=e?Date.parse(e):NaN;return{type:b,payloadType:d,turnId:c?(0,s.O2)(c,"turn_id"):null,sessionId:c?(0,s.O2)(c,"session_id")??(0,s.O2)(c,"thread_id"):null,timestampMs:Number.isFinite(f)?f:null,item:c&&"item_completed"===d?function(a){var b,c;if(!(0,s.Qd)(a))return null;let d=(0,s.O2)(a,"type");return d?{type:d,id:(0,s.O2)(a,"id"),text:(b=d,c=a,"UserMessage"===b||"AgentMessage"===b?function(a){if(!Array.isArray(a))return null;let b="";for(let c of a){if(!(0,s.Qd)(c))continue;let a=(0,s.O2)(c,"text");a&&(b+=a)}return b.length>0?b:null}(c.content):"Reasoning"===b?function(a){if(!Array.isArray(a))return null;let b=a.filter(a=>"string"==typeof a&&""!==a);return b.length>0?b.join("\n\n"):null}(c.summary_text):null),phase:(0,s.O2)(a,"phase"),detail:function(a,b){if("CommandExecution"===a){let a=function(a){if(!Array.isArray(a))return null;let b=[];for(let c of a){if(!(0,s.Qd)(c))continue;let a=(0,s.O2)(c,"cmd");a&&b.push(a)}return b.length>0?b.join(" ; "):null}(b.parsed_cmd);if(a)return w((0,t.PB)(a));let c=function(a){if(!Array.isArray(a))return null;let b=a.filter(a=>"string"==typeof a);return b.length>0?b.join(" "):null}(b.command);return c?w((0,t.PB)(c)):null}if("FileChange"===a){let a=b.changes;if(!(0,s.Qd)(a))return null;let c=Object.keys(a);return c.length>0?w(c.join(", ")):null}if("McpToolCall"===a){let a=(0,s.O2)(b,"server"),c=(0,s.O2)(b,"tool");return a||c?w([a,c].filter(Boolean).join(".")):null}if("ImageView"===a){let a=(0,s.O2)(b,"path");return a?w(a):null}if("Extension"===a){let a=(0,s.O2)(b,"query")??(0,s.O2)(b,"action");return a?w((0,t.PB)(a)):null}return null}(d,a)}:null}(c.item):null}}(a);e?b.push(e):c+=1}return{records:b,malformedLines:c}}(h),j=function(a,b){let c=new Map,d=0,e=0,f=null;for(let g of a){if("session_meta"===g.type&&g.sessionId&&(f=g.sessionId),"response_item"===g.type){d+=1;continue}let a=g.turnId;if(!a){e+=1;continue}let h=c.get(a);if(h||(h={sessionId:g.sessionId??f??b,turnId:a,startedAt:g.timestampMs??0,prompts:[],items:[],started:!1,closed:!1,overflowed:!1},c.set(a,h)),"task_started"===g.payloadType){h.started=!0;continue}if("task_complete"===g.payloadType){h.closed=!0;continue}let i=g.item;if(i){if("UserMessage"===i.type){i.id&&i.text&&h.prompts.push({itemId:i.id,text:i.text,timestampMs:g.timestampMs??h.startedAt});continue}if(h.items.length>=2048){h.overflowed=!0;continue}h.items.push(i)}}return{turns:[...c.values()],duplicateStreamRecords:d,turnlessRecords:e}}(i.records,f);if(0===j.turns.length)return A.info("codex-transcript-no-turn",{worktreeId:a.worktreeId,instanceId:d,path:g,records:i.records.length,malformedLines:i.malformedLines,duplicateStreamRecords:j.duplicateStreamRecords}),!1;i.malformedLines>0&&A.info("codex-transcript-partial-read",{worktreeId:a.worktreeId,instanceId:d,path:g,malformedLines:i.malformedLines,turnlessRecords:j.turnlessRecords,duplicateStreamRecords:j.duplicateStreamRecords});let k=await L(a,j.turns);if(0===k.turns.length)return A.debug("codex-transcript-turns-already-saved",{worktreeId:a.worktreeId,instanceId:d,turnsInWindow:j.turns.length}),await (0,p.fT)(a),!0;k.turns.length>1&&A.info("codex-transcript-backfilling-turns",{worktreeId:a.worktreeId,instanceId:d,path:g,pendingTurns:k.turns.length,turnsInWindow:j.turns.length,anchored:k.anchored});let l=[];for(let b=0;b<k.turns.length;b+=1){let c=0===b?k.previousStartedAt:k.turns[b-1].startedAt;l.push(await N(a,k.turns[b],c))}let m={path:g,firstRecordAt:function(a){for(let b of a)if(null!==b.timestampMs)return b.timestampMs;return null}(i.records),turnlessRecords:j.turnlessRecords,malformedLines:i.malformedLines},o=function(a){let b=new Map;for(let c of a){if("response_item"===c.type)continue;let a=c.turnId;a&&null!==c.timestampMs&&c.timestampMs>(b.get(a)??0)&&b.set(a,c.timestampMs)}return b}(i.records),q=!1;for(let b=0;b<k.turns.length;b+=1){let d=k.turns[b];q=await O(a,d,function(a){let b=[],c=new Set,d=0,e=0,f=a.items.some(a=>"AgentMessage"===a.type&&"final_answer"===a.phase&&z(a).length>0);for(let g of a.items){if("AgentMessage"===g.type){let a=z(g);if(0===a.length)continue;let c=f&&"commentary"===g.phase;b.push({kind:c?"reasoning":"prose",text:a}),d+=1;continue}if("Reasoning"===g.type){let a=g.text?.trim()??"";if(0===a.length)continue;b.push({kind:"aside",text:function(a){let b=a.trim().split("\n").map(a=>a.length>0?`> ${a}`:">").join("\n");return`> **Thinking**
1
+ "use strict";exports.id=8918,exports.ids=[8918],exports.modules={12462:(a,b,c)=>{c.d(b,{fT:()=>n,o4:()=>o});var d=c(31990),e=c(56791),f=c(43015),g=c(82450),h=c(15194),i=c(54490),j=c(72626),k=c(85038);let l=(0,j.h)("assistant-response-saver");function m(a){let b=a.split("\n"),c=b.length;for(;c>0&&""===b[c-1].trim();)c--;return c}async function n(a){let{worktreeId:b,cliToolId:f}=a,g=a.instanceId??f;try{if((0,h.VA)(f))return null;let i=await (0,d.Wh)(b,f,1e4,a.instanceId);if(!i)return null;let j=m(i),{getDbInstance:n}=await Promise.resolve().then(c.bind(c,88807)),o=n(),p=(0,e.getSessionState)(o,b,g)?.lastCapturedLine||0;if(j<=p)return null;if(!(0,k.fp)(a))return l.info("transcript:cursor-advance-refused",{worktreeId:b,instanceId:g,generation:(0,k.Bh)()?.generation}),null;return(0,e.updateSessionState)(o,b,f,j,a.instanceId),l.info("transcript:cursor-advanced",{worktreeId:b,instanceId:g,from:p,to:j}),j}catch(a){return l.debug("transcript:cursor-advance-failed",{worktreeId:b,instanceId:g,error:a instanceof Error?a.message:String(a)}),null}}async function o(a,b,c,j,k){let n=k??c;try{let o;if((0,h.VA)(c))return null;let p=(0,e.getSessionState)(a,b,n),q=p?.lastCapturedLine||0;try{o=await (0,d.Wh)(b,c,1e4,k)}catch{return l.info("failed-to-capture"),null}if(!o)return null;let r=o.split("\n"),s=m(o),{bufferReset:t,reason:u}=s>0&&q>25&&s+25<q?{bufferReset:!0,reason:"shrink"}:s>0&&q>50&&s<50?{bufferReset:!0,reason:"restart"}:{bufferReset:!1,reason:null};t&&l.info("buffer:reset-detected",{reason:u,currentLineCount:s,lastCapturedLine:q});let v=t?0:q;if(!t&&s<=q)return s<q&&((0,e.updateSessionState)(a,b,c,s,k),l.info("position:corrected-stale",{from:q,to:s})),null;let w=r.slice(v).join("\n"),x=r.length>=1e4,y="codex"===c&&function(a,b){let c=(0,i.Zu)(a);return c>=0&&b>=c}(r,v)?"":function(a,b,c){switch(b){case"claude":return(0,g.NN)(a);case"gemini":return(0,g.IS)(a);case"opencode":return(0,g.aW)(a);case"copilot":return(0,g.LH)(a);case"codex":case"command-code":case"antigravity":case"vibe-local":return(0,g.Te)(a,b,c);default:return a.trim()}}(w,c,x?void 0:r);if(!y||""===y.trim())return(0,e.updateSessionState)(a,b,c,s,k),l.debug("response:empty-after-clean",{currentLineCount:s}),null;let z=new Date(j.getTime()-1),A=(0,e.createMessage)(a,{worktreeId:b,role:"assistant",content:y,messageType:"normal",timestamp:z,cliToolId:c,instanceId:n});return(0,e.updateSessionState)(a,b,c,s,k),(0,f.broadcastMessage)("message",{worktreeId:b,message:A}),l.info("response:saved",{fromLine:q,toLine:s}),A}catch(a){return l.error("error:",{error:a instanceof Error?a.message:String(a)}),null}}},13033:(a,b,c)=>{c.d(b,{IW:()=>h,IZ:()=>l,K0:()=>g,Uz:()=>m,l1:()=>f,o0:()=>i,q1:()=>n,tb:()=>k,vQ:()=>j});var d=c(54490);let e=(0,c(36925).v)("__tuiResponseAccumulator",()=>new Map);function f(a){return(0,d._A)((0,d.aJ)(a)).replace(/^\u2503\s?/,"").replace(/\s*\u2503$/,"").trim()}function g(a){let b=a.split("\n"),c=[];for(let a of b){let b=f(a);!(!b||d.sx.some(a=>a.test(b)))&&(d.Md.test(b)||c.push(b))}return c}function h(a){return a.replace(/[\u2500-\u257F]/g,"").replace(/\s{2,}/g," ").trim()}function i(a){let b=(0,d.aJ)(a).split("\n");if((0,d.gT)(b))return[];let c=(0,d.wv)(b),e=c>=0?b.slice(0,c):b,f=[],g=!1;for(let a of e){if(d.JN.test(a)){g=!1;continue}if(d.y.test(a))g=!0;else if(g){if(d.Fg.test(a))continue;g=!1}let b=h(a);b&&(d.J7.some(a=>a.test(b))||f.push(b))}return f}function j(a,b){if(0===a.length||0===b.length)return 0;let c=Math.min(a.length,b.length);for(let d=c;d>=1;d--){let c=a.slice(-d),e=b.slice(0,d),f=!0;for(let a=0;a<d;a++)if(c[a]!==e[a]){f=!1;break}if(f)return d}return 0}function k(a){e.set(a,{lines:[],lastFingerprint:[],pollCount:0})}function l(a,b,c="opencode"){let d=e.get(a);if(!d)return;let f="copilot"===c?i(b):g(b);if(0!==f.length){if(d.pollCount++,0===d.lines.length)d.lines=[...f];else{let a=j(d.lastFingerprint,f);if(a>0){let b=f.slice(a);d.lines.push(...b)}else d.lines.push(...f)}d.lastFingerprint=f.slice(-10)}}function m(a){let b=e.get(a);return b&&0!==b.lines.length?b.lines.join("\n"):""}function n(a){e.delete(a)}},18201:(a,b,c)=>{c.d(b,{Ce:()=>i,pk:()=>g});var d=c(72626),e=c(85038);let f=(0,d.h)("lib/history/user-turn-recorder");function g(a){return a.replace(/\r\n?/g,"\n").split("\n").map(a=>a.replace(/[ \t ]+$/u,"")).join("\n").trim()}function h(a){return{worktreeId:a.worktreeId,cliToolId:a.cliToolId,instanceId:a.instanceId??a.cliToolId}}async function i(a,b,d,j,k={}){let l=a.instanceId??a.cliToolId,m=g(d);if(0===b.length||0===m.length)return{outcome:"skipped",messageId:null,timestampMs:null};try{let[{getDbInstance:i},n,{broadcastMessage:o}]=await Promise.all([Promise.resolve().then(c.bind(c,88807)),Promise.resolve().then(c.bind(c,52660)),Promise.resolve().then(c.bind(c,43015))]),p=i(),q=n.findMessageByRequestId(p,a.worktreeId,b);if(q)return{outcome:"already-recorded",messageId:q.id,timestampMs:q.timestamp.getTime()};if(!(0,e.fp)(a))return f.info("user-turn-record-refused",{...h(a),requestId:b,generation:(0,e.Bh)()?.generation}),{outcome:"refused",messageId:null,timestampMs:null};let r=j>0?j:Date.now(),s=function(a,b,c,d,e,i,j,k){var l,m,n;let o=Math.min(j-12e4,k.adoptionFromMs??1/0),p=(l=a.findUnkeyedUserMessages(b,{worktreeId:c.worktreeId,cliToolId:c.cliToolId,instanceId:d,fromMs:o,toMs:j+12e4,includeRelayDelivered:!0}),m=i,n=j,l.filter(a=>g(a.content)===m).sort((a,b)=>Math.abs(a.timestamp.getTime()-n)-Math.abs(b.timestamp.getTime()-n)));for(let d of p)if(!d.requestId&&a.setMessageRequestId(b,d.id,e))return f.info("user-turn-adopted",{...h(c),requestId:e,messageId:d.id,driftMs:d.timestamp.getTime()-j}),{outcome:"adopted",messageId:d.id,timestampMs:d.timestamp.getTime()};let q=p.find(a=>a.requestId);return q?(f.info("user-turn-already-relayed",{...h(c),requestId:e,messageId:q.id,relayRequestId:q.requestId??null,driftMs:q.timestamp.getTime()-j}),{outcome:"already-recorded",messageId:q.id,timestampMs:q.timestamp.getTime()}):null}(n,p,a,l,b,m,r,k);if(s)return s;let t=n.createMessage(p,{worktreeId:a.worktreeId,role:"user",content:d,messageType:"normal",timestamp:new Date(r),cliToolId:a.cliToolId,instanceId:l,requestId:b});return o("message",{worktreeId:a.worktreeId,message:t}),f.info("user-turn-recorded",{...h(a),requestId:b,contentLength:d.length}),{outcome:"inserted",messageId:t.id,timestampMs:r}}catch(c){return f.error("user-turn-record-failed",{...h(a),requestId:b,error:c instanceof Error?c.message:String(c)}),{outcome:"failed",messageId:null,timestampMs:null}}}},28918:(a,b,c)=>{c.r(b),c.d(b,{captureStructuredHistoryTurn:()=>a3,hasStructuredHistoryTranscript:()=>a4,isPullTranscriptHistory:()=>a0,isStructuredHistoryWriterLive:()=>a2,resetStructuredHistoryCaptureQueue:()=>aZ});var d=c(72626),e=c(33198),f=c(32301),g=c(71133),h=c(36925),i=c(79748),j=c(21820),k=c(33873),l=c(24455);let m=(0,d.h)("lib/history/transcript-tail");async function n(a){let b;try{b=await (0,i.open)(a,"r");let{size:c}=await b.stat(),d=Math.max(0,c-4194304),e=c-d;if(e<=0)return"";let f=Buffer.alloc(e),{bytesRead:g}=await b.read(f,0,e,d),h=f.subarray(0,g).toString("utf8");if(0===d)return h;let j=h.indexOf("\n");return -1===j?"":h.slice(j+1)}catch(b){return m.warn("transcript-tail-read-failed",{path:a,error:b instanceof Error?b.message:String(b)}),null}finally{await b?.close().catch(()=>{})}}var o=c(18201),p=c(12462),q=c(86594),r=c(16659),s=c(57510),t=c(27128);let u=["sessions"],v=".jsonl";function w(a){return(0,t.Wv)(a,200)}let x=new Set(["ContextCompaction"]),y={CommandExecution:"exec",FileChange:"edit",McpToolCall:"mcp",ImageView:"view",Extension:"extension"};function z(a){return a.text?.trim()??""}let A=(0,d.h)("lib/hooks/sources/codex/history"),B=/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,C=(0,h.v)("__codexTranscriptSessions",()=>new Map),D=(0,h.v)("__codexTranscriptPaths",()=>new Map);async function E(a){return(0,r.Lz)(a,C,(0,l.v7)(a.worktreeId,a.cliToolId,a.instanceId),A,"codex-transcript-session-lookup-failed")}function F(a=process.env){let b=a.CODEX_HOME;return"string"==typeof b&&b.length>0?b:(0,k.join)((0,j.homedir)(),".codex")}function G(a){return(0,k.join)(a,...u)}async function H(a,b,c=4){return B.test(b)?I(G(a),b,c):null}async function I(a,b,c){let d;if(c<=0)return null;try{d=await (0,i.readdir)(a,{withFileTypes:!0})}catch{return null}let e=[];for(let c of d){if(c.isFile()){var f;if(f=c.name,f.startsWith("rollout-")&&f.endsWith(`-${b}${v}`))return(0,k.join)(a,c.name);continue}c.isDirectory()&&e.push(c.name)}for(let d of(e.sort((a,b)=>a<b?1:a>b?-1:0),e)){let e=await I((0,k.join)(a,d),b,c-1);if(e)return e}return null}async function J(a,b={},c){let d=a.instanceId??a.cliToolId;try{let e=b.codexHome??F(),f=await E(a);if(!f)return A.debug("codex-transcript-unavailable",{worktreeId:a.worktreeId,instanceId:d,reason:"no-session-pointer"}),!1;let g=await M(e,f);if(!g)return A.debug("codex-transcript-unavailable",{worktreeId:a.worktreeId,instanceId:d,sessionId:f,reason:"no-file"}),!1;let h=await n(g);if(null===h)return!1;let i=function(a){let b=[],c=0;for(let d of a.split("\n")){let a;if(0===d.trim().length)continue;try{a=JSON.parse(d)}catch{c+=1;continue}let e=function(a){if(!(0,s.Qd)(a))return null;let b=(0,s.O2)(a,"type");if(!b)return null;let c=(0,s.Qd)(a.payload)?a.payload:null,d=c?(0,s.O2)(c,"type"):null,e=(0,s.O2)(a,"timestamp"),f=e?Date.parse(e):NaN;return{type:b,payloadType:d,turnId:c?(0,s.O2)(c,"turn_id"):null,sessionId:c?(0,s.O2)(c,"session_id")??(0,s.O2)(c,"thread_id"):null,timestampMs:Number.isFinite(f)?f:null,item:c&&"item_completed"===d?function(a){var b,c;if(!(0,s.Qd)(a))return null;let d=(0,s.O2)(a,"type");return d?{type:d,id:(0,s.O2)(a,"id"),text:(b=d,c=a,"UserMessage"===b||"AgentMessage"===b?function(a){if(!Array.isArray(a))return null;let b="";for(let c of a){if(!(0,s.Qd)(c))continue;let a=(0,s.O2)(c,"text");a&&(b+=a)}return b.length>0?b:null}(c.content):"Reasoning"===b?function(a){if(!Array.isArray(a))return null;let b=a.filter(a=>"string"==typeof a&&""!==a);return b.length>0?b.join("\n\n"):null}(c.summary_text):null),phase:(0,s.O2)(a,"phase"),detail:function(a,b){if("CommandExecution"===a){let a=function(a){if(!Array.isArray(a))return null;let b=[];for(let c of a){if(!(0,s.Qd)(c))continue;let a=(0,s.O2)(c,"cmd");a&&b.push(a)}return b.length>0?b.join(" ; "):null}(b.parsed_cmd);if(a)return w((0,t.PB)(a));let c=function(a){if(!Array.isArray(a))return null;let b=a.filter(a=>"string"==typeof a);return b.length>0?b.join(" "):null}(b.command);return c?w((0,t.PB)(c)):null}if("FileChange"===a){let a=b.changes;if(!(0,s.Qd)(a))return null;let c=Object.keys(a);return c.length>0?w(c.join(", ")):null}if("McpToolCall"===a){let a=(0,s.O2)(b,"server"),c=(0,s.O2)(b,"tool");return a||c?w([a,c].filter(Boolean).join(".")):null}if("ImageView"===a){let a=(0,s.O2)(b,"path");return a?w(a):null}if("Extension"===a){let a=(0,s.O2)(b,"query")??(0,s.O2)(b,"action");return a?w((0,t.PB)(a)):null}return null}(d,a)}:null}(c.item):null}}(a);e?b.push(e):c+=1}return{records:b,malformedLines:c}}(h),j=function(a,b){let c=new Map,d=0,e=0,f=null;for(let g of a){if("session_meta"===g.type&&g.sessionId&&(f=g.sessionId),"response_item"===g.type){d+=1;continue}let a=g.turnId;if(!a){e+=1;continue}let h=c.get(a);if(h||(h={sessionId:g.sessionId??f??b,turnId:a,startedAt:g.timestampMs??0,prompts:[],items:[],started:!1,closed:!1,overflowed:!1},c.set(a,h)),"task_started"===g.payloadType){h.started=!0;continue}if("task_complete"===g.payloadType){h.closed=!0;continue}let i=g.item;if(i){if("UserMessage"===i.type){i.id&&i.text&&h.prompts.push({itemId:i.id,text:i.text,timestampMs:g.timestampMs??h.startedAt});continue}if(h.items.length>=2048){h.overflowed=!0;continue}h.items.push(i)}}return{turns:[...c.values()],duplicateStreamRecords:d,turnlessRecords:e}}(i.records,f);if(0===j.turns.length)return A.info("codex-transcript-no-turn",{worktreeId:a.worktreeId,instanceId:d,path:g,records:i.records.length,malformedLines:i.malformedLines,duplicateStreamRecords:j.duplicateStreamRecords}),!1;i.malformedLines>0&&A.info("codex-transcript-partial-read",{worktreeId:a.worktreeId,instanceId:d,path:g,malformedLines:i.malformedLines,turnlessRecords:j.turnlessRecords,duplicateStreamRecords:j.duplicateStreamRecords});let k=await L(a,j.turns);if(0===k.turns.length)return A.debug("codex-transcript-turns-already-saved",{worktreeId:a.worktreeId,instanceId:d,turnsInWindow:j.turns.length}),await (0,p.fT)(a),!0;k.turns.length>1&&A.info("codex-transcript-backfilling-turns",{worktreeId:a.worktreeId,instanceId:d,path:g,pendingTurns:k.turns.length,turnsInWindow:j.turns.length,anchored:k.anchored});let l=[];for(let b=0;b<k.turns.length;b+=1){let c=0===b?k.previousStartedAt:k.turns[b-1].startedAt;l.push(await N(a,k.turns[b],c))}let m={path:g,firstRecordAt:function(a){for(let b of a)if(null!==b.timestampMs)return b.timestampMs;return null}(i.records),turnlessRecords:j.turnlessRecords,malformedLines:i.malformedLines},o=function(a){let b=new Map;for(let c of a){if("response_item"===c.type)continue;let a=c.turnId;a&&null!==c.timestampMs&&c.timestampMs>(b.get(a)??0)&&b.set(a,c.timestampMs)}return b}(i.records),q=!1;for(let b=0;b<k.turns.length;b+=1){let d=k.turns[b];q=await O(a,d,function(a){let b=[],c=new Set,d=0,e=0,f=a.items.some(a=>"AgentMessage"===a.type&&"final_answer"===a.phase&&z(a).length>0);for(let g of a.items){if("AgentMessage"===g.type){let a=z(g);if(0===a.length)continue;let c=f&&"commentary"===g.phase;b.push({kind:c?"reasoning":"prose",text:a}),d+=1;continue}if("Reasoning"===g.type){let a=g.text?.trim()??"";if(0===a.length)continue;b.push({kind:"aside",text:function(a){let b=a.trim().split("\n").map(a=>a.length>0?`> ${a}`:">").join("\n");return`> **Thinking**
2
2
  >
3
3
  ${b}`}(a)});continue}if(g.type in y){b.push({kind:"tool",text:function(a){let b=y[a.type]??a.type;return a.detail?`- \`${b}\` — ${a.detail}`:`- \`${b}\``}(g)}),e+=1;continue}x.has(g.type)||c.add(g.type)}let g=(0,t.t3)(b).body;return!a.started&&g.length>0&&(g="_(head truncated)_\n\n"+g),g=(0,t.mg)(g,2e5,"\n\n_(truncated)_"),{sessionId:a.sessionId,turnId:a.turnId,body:g,headless:!a.started,textBlocks:d,toolBlocks:e,unknownBlockTypes:[...c]}}(d),(0,r.Ty)(d,l[b],o.get(d.turnId)??0,(0,r.Hz)(k.turns,l,b)),m,c)}return q&&await (0,p.fT)(a),q}catch(b){return A.error("codex-transcript-capture-failed",{worktreeId:a.worktreeId,instanceId:d,error:b instanceof Error?b.message:String(b)}),!1}}async function K(a,b={}){try{let c=await E(a);if(!c)return null;return await M(b.codexHome??F(),c)}catch{return null}}async function L(a,b){return(0,r.bk)(a,b,a=>(0,q.ZS)(a.turnId))}async function M(a,b){let c=`${a}\0${b}`,d=D.get(c);if(d&&await (0,r.Jj)(d))return d;d&&D.delete(c);let e=await H(a,b);if(!e)return null;let f=(0,r.sx)(G(a),v,e);return f?(D.set(c,f),f):null}async function N(a,b,c=0){let d=a.instanceId??a.cliToolId,e={outcome:"skipped",messageId:null,timestampMs:null},f=c>0?{adoptionFromMs:c}:{};for(let c of b.prompts){let g=await (0,o.Ce)(a,(0,q.Ac)(c.itemId),c.text,c.timestampMs,f);if("failed"===g.outcome){A.warn("codex-transcript-user-turn-failed",{worktreeId:a.worktreeId,instanceId:d,sessionId:b.sessionId,turnId:b.turnId,promptItemId:c.itemId});continue}e=g}return e}async function O(a,b,d,e,f,g){let h=a.instanceId??a.cliToolId;if(g&&(g.outcome=void 0),!b.closed)return g&&(g.outcome="not_yet_closed"),A.info("codex-transcript-turn-open",{worktreeId:a.worktreeId,instanceId:h,sessionId:d.sessionId,turnId:d.turnId,items:b.items.length}),!1;if(0===d.body.length)return A.info("codex-transcript-turn-empty",{worktreeId:a.worktreeId,instanceId:h,sessionId:d.sessionId,turnId:d.turnId}),!1;d.unknownBlockTypes.length>0&&A.info("codex-transcript-unknown-items",{worktreeId:a.worktreeId,instanceId:h,sessionId:d.sessionId,turnId:d.turnId,itemTypes:d.unknownBlockTypes}),b.overflowed&&A.info("codex-transcript-turn-overflowed",{worktreeId:a.worktreeId,instanceId:h,sessionId:d.sessionId,turnId:d.turnId});let i=(0,q.ZS)(d.turnId),[{getDbInstance:j},{createMessage:k,findMessageByRequestId:l},{broadcastMessage:m}]=await Promise.all([Promise.resolve().then(c.bind(c,88807)),Promise.resolve().then(c.bind(c,56791)),Promise.resolve().then(c.bind(c,43015))]),n=j();if(l(n,a.worktreeId,i))return A.debug("codex-transcript-turn-already-saved",{worktreeId:a.worktreeId,instanceId:h,requestId:i}),!0;if(d.headless&&A.info("codex-transcript-turn-headless",{worktreeId:a.worktreeId,instanceId:h,sessionId:d.sessionId,turnId:d.turnId,path:f.path,windowBytes:4194304,windowFirstRecordAt:f.firstRecordAt,turnlessRecords:f.turnlessRecords,malformedLines:f.malformedLines,promptsInWindow:b.prompts.length,itemsInWindow:b.items.length}),!(0,r.Qb)(a,A,"codex-transcript-write-refused","reply-row"))return!1;let o=k(n,{worktreeId:a.worktreeId,role:"assistant",content:d.body,messageType:"normal",timestamp:new Date(e>0?e:Date.now()),cliToolId:a.cliToolId,instanceId:h,requestId:i});return m("message",{worktreeId:a.worktreeId,message:o}),A.info("codex-transcript-turn-saved",{worktreeId:a.worktreeId,instanceId:h,sessionId:d.sessionId,requestId:i,path:f.path,bodyLength:d.body.length,textBlocks:d.textBlocks,toolBlocks:d.toolBlocks,prompts:b.prompts.length}),!0}let P=[".system_generated","logs","transcript_full.jsonl"],Q="MODEL",R="PLANNER_RESPONSE",S=new Set(["RUN_COMMAND","VIEW_FILE","LIST_DIRECTORY","GREP_SEARCH","SEARCH_WEB","CODE_ACTION","GENERATE_IMAGE","GENERIC"]),T=new Set(["CHECKPOINT","CONVERSATION_HISTORY","SYSTEM_MESSAGE","EPHEMERAL_MESSAGE","ERROR_MESSAGE"]);function U(a){return a.closed||a.superseded}function V(a){let b=[],c=new Set,d=0,e=0;for(let f of a.records){if(f.source===Q&&f.type===R){let a=f.thinking?.trim()??"";a.length>0&&b.push({kind:"aside",text:function(a){let b=a.trim().split("\n").map(a=>a.length>0?`> ${a}`:">").join("\n");return`> **Thinking**
4
4
  >
5
5
  ${b}`}(a)});let c=f.content?.trim()??"";for(let a of(c.length>0&&(b.push({kind:"prose",text:c}),d+=1),f.toolCalls))b.push({kind:"tool",text:a.detail?`- \`${a.name}\` — ${a.detail}`:`- \`${a.name}\``}),e+=1;continue}if(f.source===Q){S.has(f.type)||c.add(f.type);continue}T.has(f.type)||c.add(f.type)}let f=(0,t.t3)(b).body;return f=(0,t.mg)(f,2e5,"\n\n_(truncated)_"),{conversationId:a.conversationId,stepIndex:a.stepIndex,body:f,textBlocks:d,toolBlocks:e,unknownRecordTypes:[...c]}}function W(a){let b=0;for(let c of a.records)null!==c.timestampMs&&c.timestampMs>b&&(b=c.timestampMs);return b}function X(a,b){let c=W(a),d={confirmed:!1,lastRecordAt:c,stopAt:b};return U(a)?c<=0?{...d,reason:"no-timestamped-record"}:null===b?{...d,reason:"no-stop-event"}:b<Math.max(c,a.startedAt)?{...d,reason:"stop-before-last-record"}:{confirmed:!0,reason:"stop-after-last-record",lastRecordAt:c,stopAt:b}:{...d,reason:"turn-open"}}let Y=(0,d.h)("lib/hooks/sources/antigravity/history"),Z=[".gemini","antigravity-cli"],$=/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,_=(0,h.v)("__antigravityTranscriptConversations",()=>new Map),aa=(0,h.v)("__antigravityUnsettledTurns",()=>new Map);function ab(a){return(0,l.v7)(a.worktreeId,a.cliToolId,a.instanceId)}function ac(a,b,c,d){let e=aa.get(a);if(e&&e.conversationId!==b&&aa.delete(a),d){let b=aa.get(a);return b&&(b.steps=b.steps.filter(a=>a!==c),0===b.steps.length&&aa.delete(a)),null}let f=aa.get(a)??{conversationId:b,steps:[]};return(aa.set(a,f),f.steps.includes(c)||(f.steps.push(c),f.steps.length<=16))?null:f.steps.shift()??null}async function ad(a){try{let b=(await Promise.resolve().then(c.bind(c,95375))).getLastStopEventAt;if("function"!=typeof b)return null;return b(a.worktreeId,a.cliToolId,a.instanceId)??null}catch(b){return Y.debug("antigravity-transcript-stop-lookup-failed",{worktreeId:a.worktreeId,instanceId:a.instanceId??a.cliToolId,error:b instanceof Error?b.message:String(b)}),null}}async function ae(a){return(0,r.Lz)(a,_,ab(a),Y,"antigravity-transcript-conversation-lookup-failed")}function af(a=(0,j.homedir)()){return(0,k.join)(a,...Z)}function ag(a){return(0,k.join)(a,"brain")}async function ah(a,b={},c){let d=a.instanceId??a.cliToolId;try{let e=b.antigravityHome??af(),f=await ae(a);if(!f)return Y.debug("antigravity-transcript-unavailable",{worktreeId:a.worktreeId,instanceId:d,reason:"no-conversation-pointer"}),!1;let g=await ak(e,f);if(!g)return Y.debug("antigravity-transcript-unavailable",{worktreeId:a.worktreeId,instanceId:d,conversationId:f,reason:"no-file"}),!1;let h=await n(g);if(null===h)return!1;let i=function(a){let b=[],c=0;for(let d of a.split("\n")){let a;if(0===d.trim().length)continue;try{a=JSON.parse(d)}catch{c+=1;continue}let e=function(a){if(!(0,s.Qd)(a))return null;let b=a.step_index;if("number"!=typeof b||!Number.isInteger(b)||b<0)return null;let c=(0,s.O2)(a,"source"),d=(0,s.O2)(a,"type");if(!c||!d)return null;let e=(0,s.O2)(a,"created_at"),f=e?Date.parse(e):NaN,g=[];if(Array.isArray(a.tool_calls))for(let b of a.tool_calls){let a=function(a){var b;if(!(0,s.Qd)(a))return null;let c=(0,s.O2)(a,"name");if(!c)return null;let d=(0,s.Qd)(a.args)?a.args:null,e=d?(0,s.O2)(d,"toolAction")??(0,s.O2)(d,"toolSummary"):null;return{name:c,detail:e?(b=(0,t.PB)(e),(0,t.Wv)(b,200)):null}}(b);a&&g.push(a)}return{stepIndex:b,source:c,type:d,status:(0,s.O2)(a,"status"),timestampMs:Number.isFinite(f)?f:null,content:(0,s.O2)(a,"content"),thinking:(0,s.O2)(a,"thinking"),toolCalls:g}}(a);e?b.push(e):c+=1}return{records:b,malformedLines:c}}(h),j=function(a,b){let c=[],d=0;for(let g of a){var e,f;if(e=g,"USER_EXPLICIT"===e.source&&"USER_INPUT"===e.type){let a=g.content?function(a){let b=a.indexOf("<USER_REQUEST>");if(-1===b)return null;let c=b+14,d=a.indexOf("</USER_REQUEST>",c);if(-1===d)return null;let e=a.slice(c,d).trim();return e.length>0?e:null}(g.content):null,d=g.timestampMs??0;c.push({conversationId:b,stepIndex:g.stepIndex,startedAt:d,prompt:a?{stepIndex:g.stepIndex,text:a,timestampMs:g.timestampMs??d}:null,records:[],closed:!1,superseded:!1,overflowed:!1});continue}let a=c.at(-1);if(!a){d+=1;continue}if(g.source===Q&&(a.closed=(f=g).source===Q&&f.type===R&&!(f.toolCalls.length>0)&&(f.content??"").trim().length>0),a.records.length>=2048){a.overflowed=!0;continue}a.records.push(g)}for(let a=0;a<c.length-1;a+=1)c[a].superseded=!0;return{turns:c,preludeRecords:d}}(i.records,f);if(0===j.turns.length)return Y.info("antigravity-transcript-no-turn",{worktreeId:a.worktreeId,instanceId:d,path:g,records:i.records.length,malformedLines:i.malformedLines,preludeRecords:j.preludeRecords}),!1;i.malformedLines>0&&Y.info("antigravity-transcript-partial-read",{worktreeId:a.worktreeId,instanceId:d,path:g,malformedLines:i.malformedLines,preludeRecords:j.preludeRecords});let k=ab(a),l=await ad(a);if(!(0,r.Qb)(a,Y,"antigravity-transcript-write-refused","follow-list"))return!1;let m=new Map;for(let a of j.turns)m.set(a.stepIndex,X(a,l));let o=j.turns[j.turns.length-1],q=m.get(o.stepIndex)??X(o,l),u=function(a,b,c){let d=aa.get(a);if(!d||d.conversationId!==b)return[];let e=d.steps.filter(a=>!c.has(a));return 0===e.length?[]:(d.steps=d.steps.filter(a=>c.has(a)),0===d.steps.length&&aa.delete(a),e)}(k,f,new Set(j.turns.map(a=>a.stepIndex)));u.length>0&&Y.info("antigravity-transcript-unsettled-out-of-window",{worktreeId:a.worktreeId,instanceId:d,conversationId:f,steps:u,turnsInWindow:j.turns.length});let v=await aj(a,j.turns);if(!(0,r.Qb)(a,Y,"antigravity-transcript-write-refused","follow-list"))return!1;let w=j.turns.slice(0,j.turns.length-v.turns.length);if(await an(a,function(a,b){let c=a.slice(-3);if(0===b.length)return c;let d=new Set(c.map(a=>a.stepIndex)),e=new Set(b),f=a.filter(a=>e.has(a.stepIndex)&&!d.has(a.stepIndex));return 0===f.length?c:[...f,...c]}(w,function(a,b){let c=aa.get(a);return c?c.conversationId!==b?(aa.delete(a),[]):c.steps:[]}(k,f)),g,{instanceKey:k,conversationId:f,completions:m}),0===v.turns.length)return Y.debug("antigravity-transcript-turns-already-saved",{worktreeId:a.worktreeId,instanceId:d,turnsInWindow:j.turns.length}),await (0,p.fT)(a),ap(c,o,q),!0;v.turns.length>1&&Y.info("antigravity-transcript-backfilling-turns",{worktreeId:a.worktreeId,instanceId:d,path:g,pendingTurns:v.turns.length,turnsInWindow:j.turns.length,anchored:v.anchored});let x=[];for(let b=0;b<v.turns.length;b+=1){let c=0===b?v.previousStartedAt:v.turns[b-1].startedAt;x.push(await al(a,v.turns[b],c))}let y=!1;for(let b=0;b<v.turns.length;b+=1){let d=v.turns[b];if(y=await aq(a,d,V(d),(0,r.Ty)(d,x[b],W(d),(0,r.Hz)(v.turns,x,b)),g,c)){if(!(0,r.Qb)(a,Y,"antigravity-transcript-write-refused","follow-list"))return y;ao(a,k,d,m.get(d.stepIndex)??X(d,l))}}return y&&(await (0,p.fT)(a),ap(c,o,q)),y}catch(b){return Y.error("antigravity-transcript-capture-failed",{worktreeId:a.worktreeId,instanceId:d,error:b instanceof Error?b.message:String(b)}),!1}}async function ai(a,b={}){try{let c=await ae(a);if(!c)return null;return await ak(b.antigravityHome??af(),c)}catch{return null}}async function aj(a,b){return(0,r.bk)(a,b,a=>(0,q.O1)(a.conversationId,a.stepIndex))}async function ak(a,b){let c=$.test(b)?(0,k.join)(ag(a),b,...P):null;if(!c)return null;let d=(0,r.sx)(ag(a),".jsonl",c);return d&&await (0,r.Jj)(d)?d:null}async function al(a,b,c=0){let d={outcome:"skipped",messageId:null,timestampMs:null},e=b.prompt;if(!e)return d;let f=await (0,o.Ce)(a,(0,q.jN)(b.conversationId,e.stepIndex),e.text,e.timestampMs,c>0?{adoptionFromMs:c}:{});return"failed"===f.outcome?(Y.warn("antigravity-transcript-user-turn-failed",{worktreeId:a.worktreeId,instanceId:a.instanceId??a.cliToolId,conversationId:b.conversationId,stepIndex:e.stepIndex}),d):f}async function am(a,b,d,e){let f=a.instanceId??a.cliToolId,g=b.content;if("string"!=typeof g)return!1;let h=g.length;if(d.body.length<=h)return!1;let[{getDbInstance:i},{updateMessageContent:j},{broadcastMessage:k}]=await Promise.all([Promise.resolve().then(c.bind(c,88807)),Promise.resolve().then(c.bind(c,56791)),Promise.resolve().then(c.bind(c,43015))]);return!!(0,r.Qb)(a,Y,"antigravity-transcript-write-refused","grow")&&(j(i(),b.id,d.body),k("message_updated",{worktreeId:a.worktreeId,message:{...b,content:d.body}}),Y.info("antigravity-transcript-turn-updated",{worktreeId:a.worktreeId,instanceId:f,conversationId:d.conversationId,stepIndex:d.stepIndex,requestId:b.requestId,path:e,previousLength:h,bodyLength:d.body.length,textBlocks:d.textBlocks,toolBlocks:d.toolBlocks}),!0)}async function an(a,b,d,e){if(0===b.length)return 0;let[{getDbInstance:f},{findMessageByRequestId:g}]=await Promise.all([Promise.resolve().then(c.bind(c,88807)),Promise.resolve().then(c.bind(c,56791))]),h=f(),i=0;for(let c of b){if(!(0,r.Qb)(a,Y,"antigravity-transcript-write-refused","follow-list"))break;let b=g(h,a.worktreeId,(0,q.O1)(c.conversationId,c.stepIndex));if(!b){ac(e.instanceKey,e.conversationId,c.stepIndex,!0);continue}ao(a,e.instanceKey,c,e.completions.get(c.stepIndex)??X(c,null)),U(c)&&await am(a,b,V(c),d)&&(i+=1)}return i}function ao(a,b,c,d){let e=ac(b,c.conversationId,c.stepIndex,d.confirmed);null!==e&&Y.info("antigravity-transcript-unsettled-evicted",{worktreeId:a.worktreeId,instanceId:a.instanceId??a.cliToolId,conversationId:c.conversationId,step:e,limit:16})}function ap(a,b,c){a&&(a.completion=c.confirmed?"settled":"provisional",a.completionKey=c.confirmed?`${(0,q.O1)(b.conversationId,b.stepIndex)}@${c.lastRecordAt}`:void 0,a.completionReason=c.reason)}async function aq(a,b,d,e,f,g){let h=a.instanceId??a.cliToolId;if(g&&(g.outcome=void 0),!U(b))return g&&(g.outcome="not_yet_closed"),Y.info("antigravity-transcript-turn-open",{worktreeId:a.worktreeId,instanceId:h,conversationId:d.conversationId,stepIndex:d.stepIndex,records:b.records.length,textBlocks:d.textBlocks,toolBlocks:d.toolBlocks}),!1;if(0===d.body.length)return Y.info("antigravity-transcript-turn-empty",{worktreeId:a.worktreeId,instanceId:h,conversationId:d.conversationId,stepIndex:d.stepIndex,records:b.records.length}),!1;d.unknownRecordTypes.length>0&&Y.info("antigravity-transcript-unknown-records",{worktreeId:a.worktreeId,instanceId:h,conversationId:d.conversationId,stepIndex:d.stepIndex,recordTypes:d.unknownRecordTypes}),b.overflowed&&Y.info("antigravity-transcript-turn-overflowed",{worktreeId:a.worktreeId,instanceId:h,conversationId:d.conversationId,stepIndex:d.stepIndex});let i=(0,q.O1)(d.conversationId,d.stepIndex),[{getDbInstance:j},{createMessage:k,findMessageByRequestId:l},{broadcastMessage:m}]=await Promise.all([Promise.resolve().then(c.bind(c,88807)),Promise.resolve().then(c.bind(c,56791)),Promise.resolve().then(c.bind(c,43015))]),n=j(),o=l(n,a.worktreeId,i);if(o)return Y.debug("antigravity-transcript-turn-already-saved",{worktreeId:a.worktreeId,instanceId:h,requestId:i}),await am(a,o,d,f),!0;if(!(0,r.Qb)(a,Y,"antigravity-transcript-write-refused","reply-row"))return!1;let p=k(n,{worktreeId:a.worktreeId,role:"assistant",content:d.body,messageType:"normal",timestamp:new Date(e>0?e:Date.now()),cliToolId:a.cliToolId,instanceId:h,requestId:i});return m("message",{worktreeId:a.worktreeId,message:p}),Y.info("antigravity-transcript-turn-saved",{worktreeId:a.worktreeId,instanceId:h,conversationId:d.conversationId,requestId:i,path:f,bodyLength:d.body.length,textBlocks:d.textBlocks,toolBlocks:d.toolBlocks}),!0}let ar=[".commandcode","projects"],as=".jsonl",at="message",au=["command","file_path","path","pattern","query","url","description"];function av(a){return!(a.type!==at||"user"!==a.role||a.isMeta||!a.id||a.blocks.some(a=>"tool_result"===a.type))&&a.text.trim().length>0}function aw(a){return a.closed||a.superseded}let ax=new Set(["tool_result"]);function ay(a){let b=[],c=new Set,d=0,e=0;for(let f of a.blocks){if("text"===f.type){let a=f.text?.trim()??"";if(0===a.length)continue;b.push({kind:"prose",text:a}),d+=1;continue}if("thinking"===f.type){let a=f.text?.trim()??"";if(0===a.length)continue;b.push({kind:"aside",text:function(a){let b=a.trim().split("\n").map(a=>a.length>0?`> ${a}`:">").join("\n");return`> **Thinking**
6
6
  >
7
- ${b}`}(a)});continue}if("tool_use"===f.type){b.push({kind:"tool",text:function(a){let b=a.toolName??"tool";return a.toolDetail?`- \`${b}\` — ${a.toolDetail}`:`- \`${b}\``}(f)}),e+=1;continue}ax.has(f.type)||c.add(f.type)}let f=(0,t.t3)(b).body;return f=(0,t.mg)(f,2e5,"\n\n_(truncated)_"),{sessionId:a.sessionId,promptId:a.promptId,body:f,textBlocks:d,toolBlocks:e,unknownBlockTypes:[...c]}}let az=(0,d.h)("lib/hooks/sources/command-code/history"),aA=/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,aB=(0,h.v)("__commandCodeTranscriptSessions",()=>new Map),aC=(0,h.v)("__commandCodeTranscriptPaths",()=>new Map);async function aD(a){return(0,r.Lz)(a,aB,(0,l.v7)(a.worktreeId,a.cliToolId,a.instanceId),az,"command-code-transcript-session-lookup-failed")}function aE(a){return(0,k.join)(a,...ar)}async function aF(a,b){let c;if(!aA.test(b))return null;let d=aE(a);try{c=await (0,i.readdir)(d,{withFileTypes:!0})}catch{return null}let e=[];for(let a of c){if(!a.isDirectory())continue;let b=0;try{b=(await (0,i.stat)((0,k.join)(d,a.name))).mtimeMs}catch{}e.push({name:a.name,modifiedAt:b})}e.sort((a,b)=>b.modifiedAt-a.modifiedAt);let f=`${b}${as}`;for(let a of e){let b=(0,k.join)(d,a.name,f);if(await (0,r.Jj)(b))return b}return null}async function aG(a,b,c){let d=a.instanceId??a.cliToolId;try{let e=b.commandCodeHome??(0,j.homedir)(),f=await aD(a),g=await aJ(e,b,f);if(!g)return az.debug("command-code-transcript-unavailable",{worktreeId:a.worktreeId,instanceId:d,sessionId:f,reason:f?"no-file":"no-session-pointer"}),!1;let h=await n(g);if(null===h)return!1;let i=function(a){let b=[],c=0,d=null,e=null,f=null;for(let g of a.split("\n")){let a;if(0===g.trim().length)continue;try{a=JSON.parse(g)}catch{c+=1;continue}let h=function(a){if(!(0,s.Qd)(a))return null;let b=(0,s.O2)(a,"type");if(!b)return null;let c="session"===b,d=(0,s.Qd)(a.message)?a.message:null,e=d&&(0,s.Qd)(d.meta)?d.meta:null,f=d?.content,g=[],h="";if("string"==typeof f)h=f;else if(Array.isArray(f))for(let a of f){let b=function(a){if(!(0,s.Qd)(a))return null;let b=(0,s.O2)(a,"type");if(!b)return null;if("tool_use"===b)return{type:b,text:null,toolName:(0,s.O2)(a,"name"),toolDetail:function(a){if(!(0,s.Qd)(a))return null;for(let c of au){let d=(0,s.O2)(a,c);if(d){var b;return b=(0,t.PB)(d),(0,t.Wv)(b,200)}}return null}(a.input)};let c="text"===b?(0,s.O2)(a,"text")??"":"thinking"===b?(0,s.O2)(a,"thinking")??"":null;return{type:b,text:c,toolName:null,toolDetail:null}}(a);b&&(g.push(b),"text"===b.type&&b.text&&(h+=b.text))}let i=(0,s.O2)(a,"timestamp"),j=i?Date.parse(i):NaN,k=e&&"number"==typeof e.createdAt?e.createdAt:null;return{type:b,id:c?null:(0,s.O2)(a,"id"),parentId:(0,s.O2)(a,"parentId"),role:d?(0,s.O2)(d,"role"):null,sessionId:c?(0,s.O2)(a,"id"):null,cwd:c?(0,s.O2)(a,"cwd"):null,parentSession:c?(0,s.O2)(a,"parentSession"):null,source:e?(0,s.O2)(e,"source"):null,isMeta:e?.isMeta===!0,isSummary:e?.isSummary===!0,isAutomated:e?.isAutomated===!0,timestampMs:null!==k&&Number.isFinite(k)?k:Number.isFinite(j)?j:null,blocks:g,text:h}}(a);if(!h){c+=1;continue}b.push(h),h.sessionId&&(d=h.sessionId,e=h.cwd,f=h.parentSession)}return{records:b,malformedLines:c,sessionId:d,cwd:e,parentSession:f}}(h),k=function(a,b){let c=[],d=new Set,e=null,f=0,g=0,h=0,i=b;for(let b of a){if(b.sessionId){i=b.sessionId;continue}if(b.type!==at){h+=1,b.id&&d.add(b.id);continue}if(null===b.parentId||d.has(b.parentId)||(g+=1),b.id&&d.add(b.id),av(b)){e=function(a,b){return{sessionId:b,promptId:a.id,startedAt:a.timestampMs??0,promptText:a.text,promptIsOperatorInput:!!av(a)&&!a.isSummary&&!a.isAutomated&&"user"===a.source,blocks:[],assistantRecords:0,closed:!1,superseded:!1,overflowed:!1}}(b,i),c.push(e);continue}if("assistant"===b.role){if(!e){f+=1;continue}for(let a of(e.assistantRecords+=1,e.closed=!(b.type!==at||"assistant"!==b.role||b.blocks.some(a=>"tool_use"===a.type))&&b.blocks.some(a=>"text"===a.type&&(a.text??"").trim().length>0),b.blocks)){if(e.blocks.length>=2048){e.overflowed=!0;break}e.blocks.push(a)}}}for(let a=0;a<c.length-1;a+=1)c[a].superseded=!0;return{turns:c,orphanedAssistantRecords:f,unresolvedParentRecords:g,nonMessageRecords:h}}(i.records,i.sessionId??f??"");if(0===k.turns.length)return az.info("command-code-transcript-no-turn",{worktreeId:a.worktreeId,instanceId:d,path:g,records:i.records.length,malformedLines:i.malformedLines,orphanedAssistantRecords:k.orphanedAssistantRecords}),!1;(i.malformedLines>0||k.orphanedAssistantRecords>0||null!==i.parentSession)&&az.info("command-code-transcript-partial-read",{worktreeId:a.worktreeId,instanceId:d,path:g,malformedLines:i.malformedLines,orphanedAssistantRecords:k.orphanedAssistantRecords,unresolvedParentRecords:k.unresolvedParentRecords,nonMessageRecords:k.nonMessageRecords,parentSession:i.parentSession});let l=await aH(a,k.turns);if(await aN(a,k.turns.slice(0,k.turns.length-l.turns.length).slice(-aL),g),0===l.turns.length)return az.debug("command-code-transcript-turns-already-saved",{worktreeId:a.worktreeId,instanceId:d,turnsInWindow:k.turns.length}),await (0,p.fT)(a),!0;l.turns.length>1&&az.info("command-code-transcript-backfilling-turns",{worktreeId:a.worktreeId,instanceId:d,path:g,pendingTurns:l.turns.length,turnsInWindow:k.turns.length,anchored:l.anchored});let m=[];for(let b=0;b<l.turns.length;b+=1){let c=0===b?l.previousStartedAt:l.turns[b-1].startedAt;m.push(await aK(a,l.turns[b],c))}let o=function(a){let b=new Map,c=null;for(let d of a)if(!d.sessionId&&d.type===at){if(av(d)){c=d.id;continue}"assistant"===d.role&&null!==c&&null!==d.timestampMs&&d.timestampMs>(b.get(c)??0)&&b.set(c,d.timestampMs)}return b}(i.records),q=!1;for(let b=0;b<l.turns.length;b+=1){let d=l.turns[b];q=await aO(a,d,ay(d),(0,r.Ty)(d,m[b],o.get(d.promptId)??0,(0,r.Hz)(l.turns,m,b)),g,c)}return q&&await (0,p.fT)(a),q}catch(b){return az.error("command-code-transcript-capture-failed",{worktreeId:a.worktreeId,instanceId:d,error:b instanceof Error?b.message:String(b)}),!1}}async function aH(a,b){return(0,r.bk)(a,b,a=>(0,q.sT)(a.promptId))}async function aI(a,b){try{let c=b.commandCodeHome??(0,j.homedir)();return await aJ(c,b,await aD(a))}catch{return null}}async function aJ(a,b,c){let d=b.transcriptPathHint;if("string"==typeof d&&d.length>0){let b=(0,r.sx)(aE(a),as,d);if(b&&await (0,r.Jj)(b))return b}if(!c)return null;let e=`${a}\0${c}`,f=aC.get(e);if(f&&await (0,r.Jj)(f))return f;let g=await aF(a,c);return g?aC.set(e,g):aC.delete(e),g}async function aK(a,b,c=0){let d=a.instanceId??a.cliToolId;if(!b.promptIsOperatorInput)return az.debug("command-code-transcript-user-turn-skipped",{worktreeId:a.worktreeId,instanceId:d,promptId:b.promptId,reason:"not-operator-input"}),{outcome:"skipped",messageId:null,timestampMs:null};let e=await (0,o.Ce)(a,(0,q.TW)(b.promptId),b.promptText,b.startedAt,c>0?{adoptionFromMs:c}:{});return"failed"===e.outcome&&az.warn("command-code-transcript-user-turn-failed",{worktreeId:a.worktreeId,instanceId:d,sessionId:b.sessionId,promptId:b.promptId}),e}let aL=3;async function aM(a,b,c,d){return(0,r.c_)(a,b,c,d,az,"command-code-transcript-turn-updated")}async function aN(a,b,c){return(0,r.NF)(a,b,c,{isWritable:aw,requestIdOf:a=>(0,q.sT)(a.promptId),render:ay,grow:aM})}async function aO(a,b,d,e,f,g){let h=a.instanceId??a.cliToolId;if(g&&(g.outcome=void 0),!aw(b))return g&&(g.outcome="not_yet_closed"),az.info("command-code-transcript-turn-open",{worktreeId:a.worktreeId,instanceId:h,sessionId:d.sessionId,promptId:d.promptId,assistantRecords:b.assistantRecords,textBlocks:d.textBlocks,toolBlocks:d.toolBlocks}),!1;if(0===d.body.length)return az.info("command-code-transcript-turn-empty",{worktreeId:a.worktreeId,instanceId:h,sessionId:d.sessionId,promptId:d.promptId}),!1;d.unknownBlockTypes.length>0&&az.info("command-code-transcript-unknown-blocks",{worktreeId:a.worktreeId,instanceId:h,sessionId:d.sessionId,blockTypes:d.unknownBlockTypes});let i=(0,q.sT)(d.promptId),[{getDbInstance:j},{createMessage:k,findMessageByRequestId:l},{broadcastMessage:m}]=await Promise.all([Promise.resolve().then(c.bind(c,88807)),Promise.resolve().then(c.bind(c,56791)),Promise.resolve().then(c.bind(c,43015))]),n=j(),o=l(n,a.worktreeId,i);if(o)return az.debug("command-code-transcript-turn-already-saved",{worktreeId:a.worktreeId,instanceId:h,requestId:i}),await aM(a,o,d,f),!0;if(!(0,r.Qb)(a,az,"command-code-transcript-write-refused","reply-row"))return!1;let p=k(n,{worktreeId:a.worktreeId,role:"assistant",content:d.body,messageType:"normal",timestamp:new Date(e>0?e:Date.now()),cliToolId:a.cliToolId,instanceId:h,requestId:i});return m("message",{worktreeId:a.worktreeId,message:p}),az.info("command-code-transcript-turn-saved",{worktreeId:a.worktreeId,instanceId:h,sessionId:d.sessionId,requestId:i,path:f,bodyLength:d.body.length,textBlocks:d.textBlocks,toolBlocks:d.toolBlocks}),!0}var aP=c(70997),aQ=c(2734),aR=c(76835),aS=c(28862),aT=c(70096),aU=c(43925),aV=c(85038);let aW=(0,d.h)("lib/polling/structured-history-gate"),aX=(0,h.v)("__structuredHistoryCaptureQueue",()=>new Map),aY=(0,h.v)("__structuredHistoryAnnouncedCompletions",()=>new Map);function aZ(){aX.clear(),aY.clear()}let a$={[aP.v]:{capture:(a,b,c)=>(0,g.K$)(a,b,c),locate:(a,b)=>(0,g.Oi)(a,b)},[aQ.c]:{capture:(a,b,c)=>J(a,b,c),locate:(a,b)=>K(a,b)},[aR.F]:{capture:(a,b,c)=>ah(a,b,c),locate:(a,b)=>ai(a,b)},[aS.k]:{capture:(a,b,c)=>aG(a,b,c),locate:(a,b)=>aI(a,b)}};function a_(a){try{return(0,aT.VM)(a).capabilities.transcriptHistory??null}catch(b){return aW.warn("structured-history-capability-unavailable",{cliToolId:a,error:b instanceof Error?b.message:String(b)}),null}}function a0(a){return"pull"===a_(a)}let a1={opencode:a=>(0,e.f4)(a),"opencode-v2":a=>(0,f.rE)(a)};function a2(a,b,c){if("push"!==a_(b))return!1;try{return(a1[b]??e.f4)({worktreeId:a,cliToolId:b,instanceId:c??b})}catch(d){return aW.warn("structured-history-gate-unavailable",{worktreeId:a,cliToolId:b,instanceId:c??b,error:d instanceof Error?d.message:String(d)}),!1}}async function a3(a,b,c,d,e){if(e&&(e.outcome="unavailable"),!a0(b))return!1;let f=a$[b];if(!f)return aW.warn("structured-history-reader-missing",{worktreeId:a,cliToolId:b,instanceId:c??b}),!1;let g=c??b,h=`${a}\u0000${b}\u0000${g}`;var i=async()=>{let c={};try{let j=await f.capture({worktreeId:a,cliToolId:b,instanceId:g},d,c),k=c.completion??"settled";e&&(e.outcome=j?"captured":c.outcome??"unavailable",e.completion=k,e.completionKey=c.completionKey,e.completionReason=c.completionReason);let l=(0,aV.pP)(a,b,g);if(j&&"settled"===k&&!(0,aV._B)(l))aW.info("structured-history-completion-refused",{worktreeId:a,cliToolId:b,instanceId:g,generation:(0,aV.Bh)()?.generation});else if(j&&"settled"===k){var i;i=c.completionKey,(void 0===i||aY.get(h)!==i&&(aY.set(h,i),1))&&(0,aU.vQ)(a,b,g,!0)}else j&&aW.info("structured-history-capture-provisional",{worktreeId:a,cliToolId:b,instanceId:g,reason:c.completionReason??"unknown"});return j}catch(c){return aW.warn("structured-history-capture-unavailable",{worktreeId:a,cliToolId:b,instanceId:g,error:c instanceof Error?c.message:String(c)}),!1}};let j=(aX.get(h)??Promise.resolve()).then(i,i),k=j.then(()=>void 0,()=>void 0);return aX.set(h,k),k.then(()=>{aX.get(h)===k&&aX.delete(h)}),j}async function a4(a,b,c,d){let e=a0(b)?a$[b]:void 0;if(!e)return!1;try{let f=await e.locate({worktreeId:a,cliToolId:b,instanceId:c??b},d);return null!==f}catch(d){return aW.warn("structured-history-locate-unavailable",{worktreeId:a,cliToolId:b,instanceId:c??b,error:d instanceof Error?d.message:String(d)}),!1}}},31990:(a,b,c)=>{c.d(b,{Wh:()=>V,WD:()=>W,Lw:()=>$,Qj:()=>U,K1:()=>T,N5:()=>Z,UM:()=>Y,eB:()=>X});var d=c(8360),e=c(72626),f=c(79892);let g={streamingOutput:!1,explicitResize:!1,snapshotFallback:!0};class h{async unsubscribe(){}}class i{async ensureSession(a,b){await (0,f.N)(a)||await (0,f.jw)(a,b)}async sessionExists(a){return(0,f.N)(a)}async sendInput(a,b){await (0,f.V1)(a,b)}async sendSpecialKey(a,b){if("Escape"!==b&&"C-c"!==b&&"C-d"!==b&&"C-m"!==b&&"Enter"!==b)throw Error(`Unsupported special key for PollingTmuxTransport: ${b}`);await (0,f.ds)(a,b)}async resize(){throw Error("PollingTmuxTransport does not support explicit resize")}async captureSnapshot(a,b){return(0,f.Xg)(a,b)}async subscribe(){return new h}getCapabilities(){return g}async killSession(a){return(0,f.fY)(a)}}let j=null;var k=c(93997),l=c(79646),m=c(28354),n=c(31442),o=c(29021),p=c(21820),q=c(33873),r=c(16983);let s="cm-live-restore.sh",t="cm-live-delegate.sh",u="cm-auto-popup.sh",v=`#!/bin/sh
7
+ ${b}`}(a)});continue}if("tool_use"===f.type){b.push({kind:"tool",text:function(a){let b=a.toolName??"tool";return a.toolDetail?`- \`${b}\` — ${a.toolDetail}`:`- \`${b}\``}(f)}),e+=1;continue}ax.has(f.type)||c.add(f.type)}let f=(0,t.t3)(b).body;return f=(0,t.mg)(f,2e5,"\n\n_(truncated)_"),{sessionId:a.sessionId,promptId:a.promptId,body:f,textBlocks:d,toolBlocks:e,unknownBlockTypes:[...c]}}let az=(0,d.h)("lib/hooks/sources/command-code/history"),aA=/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,aB=(0,h.v)("__commandCodeTranscriptSessions",()=>new Map),aC=(0,h.v)("__commandCodeTranscriptPaths",()=>new Map);async function aD(a){return(0,r.Lz)(a,aB,(0,l.v7)(a.worktreeId,a.cliToolId,a.instanceId),az,"command-code-transcript-session-lookup-failed")}function aE(a){return(0,k.join)(a,...ar)}async function aF(a,b){let c;if(!aA.test(b))return null;let d=aE(a);try{c=await (0,i.readdir)(d,{withFileTypes:!0})}catch{return null}let e=[];for(let a of c){if(!a.isDirectory())continue;let b=0;try{b=(await (0,i.stat)((0,k.join)(d,a.name))).mtimeMs}catch{}e.push({name:a.name,modifiedAt:b})}e.sort((a,b)=>b.modifiedAt-a.modifiedAt);let f=`${b}${as}`;for(let a of e){let b=(0,k.join)(d,a.name,f);if(await (0,r.Jj)(b))return b}return null}async function aG(a,b,c){let d=a.instanceId??a.cliToolId;try{let e=b.commandCodeHome??(0,j.homedir)(),f=await aD(a),g=await aJ(e,b,f);if(!g)return az.debug("command-code-transcript-unavailable",{worktreeId:a.worktreeId,instanceId:d,sessionId:f,reason:f?"no-file":"no-session-pointer"}),!1;let h=await n(g);if(null===h)return!1;let i=function(a){let b=[],c=0,d=null,e=null,f=null;for(let g of a.split("\n")){let a;if(0===g.trim().length)continue;try{a=JSON.parse(g)}catch{c+=1;continue}let h=function(a){if(!(0,s.Qd)(a))return null;let b=(0,s.O2)(a,"type");if(!b)return null;let c="session"===b,d=(0,s.Qd)(a.message)?a.message:null,e=d&&(0,s.Qd)(d.meta)?d.meta:null,f=d?.content,g=[],h="";if("string"==typeof f)h=f;else if(Array.isArray(f))for(let a of f){let b=function(a){if(!(0,s.Qd)(a))return null;let b=(0,s.O2)(a,"type");if(!b)return null;if("tool_use"===b)return{type:b,text:null,toolName:(0,s.O2)(a,"name"),toolDetail:function(a){if(!(0,s.Qd)(a))return null;for(let c of au){let d=(0,s.O2)(a,c);if(d){var b;return b=(0,t.PB)(d),(0,t.Wv)(b,200)}}return null}(a.input)};let c="text"===b?(0,s.O2)(a,"text")??"":"thinking"===b?(0,s.O2)(a,"thinking")??"":null;return{type:b,text:c,toolName:null,toolDetail:null}}(a);b&&(g.push(b),"text"===b.type&&b.text&&(h+=b.text))}let i=(0,s.O2)(a,"timestamp"),j=i?Date.parse(i):NaN,k=e&&"number"==typeof e.createdAt?e.createdAt:null;return{type:b,id:c?null:(0,s.O2)(a,"id"),parentId:(0,s.O2)(a,"parentId"),role:d?(0,s.O2)(d,"role"):null,sessionId:c?(0,s.O2)(a,"id"):null,cwd:c?(0,s.O2)(a,"cwd"):null,parentSession:c?(0,s.O2)(a,"parentSession"):null,source:e?(0,s.O2)(e,"source"):null,isMeta:e?.isMeta===!0,isSummary:e?.isSummary===!0,isAutomated:e?.isAutomated===!0,timestampMs:null!==k&&Number.isFinite(k)?k:Number.isFinite(j)?j:null,blocks:g,text:h}}(a);if(!h){c+=1;continue}b.push(h),h.sessionId&&(d=h.sessionId,e=h.cwd,f=h.parentSession)}return{records:b,malformedLines:c,sessionId:d,cwd:e,parentSession:f}}(h),k=function(a,b){let c=[],d=new Set,e=null,f=0,g=0,h=0,i=b;for(let b of a){if(b.sessionId){i=b.sessionId;continue}if(b.type!==at){h+=1,b.id&&d.add(b.id);continue}if(null===b.parentId||d.has(b.parentId)||(g+=1),b.id&&d.add(b.id),av(b)){e=function(a,b){return{sessionId:b,promptId:a.id,startedAt:a.timestampMs??0,promptText:a.text,promptIsOperatorInput:!!av(a)&&!a.isSummary&&!a.isAutomated&&"user"===a.source,blocks:[],assistantRecords:0,closed:!1,superseded:!1,overflowed:!1}}(b,i),c.push(e);continue}if("assistant"===b.role){if(!e){f+=1;continue}for(let a of(e.assistantRecords+=1,e.closed=!(b.type!==at||"assistant"!==b.role||b.blocks.some(a=>"tool_use"===a.type))&&b.blocks.some(a=>"text"===a.type&&(a.text??"").trim().length>0),b.blocks)){if(e.blocks.length>=2048){e.overflowed=!0;break}e.blocks.push(a)}}}for(let a=0;a<c.length-1;a+=1)c[a].superseded=!0;return{turns:c,orphanedAssistantRecords:f,unresolvedParentRecords:g,nonMessageRecords:h}}(i.records,i.sessionId??f??"");if(0===k.turns.length)return az.info("command-code-transcript-no-turn",{worktreeId:a.worktreeId,instanceId:d,path:g,records:i.records.length,malformedLines:i.malformedLines,orphanedAssistantRecords:k.orphanedAssistantRecords}),!1;(i.malformedLines>0||k.orphanedAssistantRecords>0||null!==i.parentSession)&&az.info("command-code-transcript-partial-read",{worktreeId:a.worktreeId,instanceId:d,path:g,malformedLines:i.malformedLines,orphanedAssistantRecords:k.orphanedAssistantRecords,unresolvedParentRecords:k.unresolvedParentRecords,nonMessageRecords:k.nonMessageRecords,parentSession:i.parentSession});let l=await aH(a,k.turns);if(await aN(a,k.turns.slice(0,k.turns.length-l.turns.length).slice(-aL),g),0===l.turns.length)return az.debug("command-code-transcript-turns-already-saved",{worktreeId:a.worktreeId,instanceId:d,turnsInWindow:k.turns.length}),await (0,p.fT)(a),!0;l.turns.length>1&&az.info("command-code-transcript-backfilling-turns",{worktreeId:a.worktreeId,instanceId:d,path:g,pendingTurns:l.turns.length,turnsInWindow:k.turns.length,anchored:l.anchored});let m=[];for(let b=0;b<l.turns.length;b+=1){let c=0===b?l.previousStartedAt:l.turns[b-1].startedAt;m.push(await aK(a,l.turns[b],c))}let o=function(a){let b=new Map,c=null;for(let d of a)if(!d.sessionId&&d.type===at){if(av(d)){c=d.id;continue}"assistant"===d.role&&null!==c&&null!==d.timestampMs&&d.timestampMs>(b.get(c)??0)&&b.set(c,d.timestampMs)}return b}(i.records),q=!1;for(let b=0;b<l.turns.length;b+=1){let d=l.turns[b];q=await aO(a,d,ay(d),(0,r.Ty)(d,m[b],o.get(d.promptId)??0,(0,r.Hz)(l.turns,m,b)),g,c)}return q&&await (0,p.fT)(a),q}catch(b){return az.error("command-code-transcript-capture-failed",{worktreeId:a.worktreeId,instanceId:d,error:b instanceof Error?b.message:String(b)}),!1}}async function aH(a,b){return(0,r.bk)(a,b,a=>(0,q.sT)(a.promptId))}async function aI(a,b){try{let c=b.commandCodeHome??(0,j.homedir)();return await aJ(c,b,await aD(a))}catch{return null}}async function aJ(a,b,c){let d=b.transcriptPathHint;if("string"==typeof d&&d.length>0){let b=(0,r.sx)(aE(a),as,d);if(b&&await (0,r.Jj)(b))return b}if(!c)return null;let e=`${a}\0${c}`,f=aC.get(e);if(f&&await (0,r.Jj)(f))return f;let g=await aF(a,c);return g?aC.set(e,g):aC.delete(e),g}async function aK(a,b,c=0){let d=a.instanceId??a.cliToolId;if(!b.promptIsOperatorInput)return az.debug("command-code-transcript-user-turn-skipped",{worktreeId:a.worktreeId,instanceId:d,promptId:b.promptId,reason:"not-operator-input"}),{outcome:"skipped",messageId:null,timestampMs:null};let e=await (0,o.Ce)(a,(0,q.TW)(b.promptId),b.promptText,b.startedAt,c>0?{adoptionFromMs:c}:{});return"failed"===e.outcome&&az.warn("command-code-transcript-user-turn-failed",{worktreeId:a.worktreeId,instanceId:d,sessionId:b.sessionId,promptId:b.promptId}),e}let aL=3;async function aM(a,b,c,d){return(0,r.c_)(a,b,c,d,az,"command-code-transcript-turn-updated")}async function aN(a,b,c){return(0,r.NF)(a,b,c,{isWritable:aw,requestIdOf:a=>(0,q.sT)(a.promptId),render:ay,grow:aM})}async function aO(a,b,d,e,f,g){let h=a.instanceId??a.cliToolId;if(g&&(g.outcome=void 0),!aw(b))return g&&(g.outcome="not_yet_closed"),az.info("command-code-transcript-turn-open",{worktreeId:a.worktreeId,instanceId:h,sessionId:d.sessionId,promptId:d.promptId,assistantRecords:b.assistantRecords,textBlocks:d.textBlocks,toolBlocks:d.toolBlocks}),!1;if(0===d.body.length)return az.info("command-code-transcript-turn-empty",{worktreeId:a.worktreeId,instanceId:h,sessionId:d.sessionId,promptId:d.promptId}),!1;d.unknownBlockTypes.length>0&&az.info("command-code-transcript-unknown-blocks",{worktreeId:a.worktreeId,instanceId:h,sessionId:d.sessionId,blockTypes:d.unknownBlockTypes});let i=(0,q.sT)(d.promptId),[{getDbInstance:j},{createMessage:k,findMessageByRequestId:l},{broadcastMessage:m}]=await Promise.all([Promise.resolve().then(c.bind(c,88807)),Promise.resolve().then(c.bind(c,56791)),Promise.resolve().then(c.bind(c,43015))]),n=j(),o=l(n,a.worktreeId,i);if(o)return az.debug("command-code-transcript-turn-already-saved",{worktreeId:a.worktreeId,instanceId:h,requestId:i}),await aM(a,o,d,f),!0;if(!(0,r.Qb)(a,az,"command-code-transcript-write-refused","reply-row"))return!1;let p=k(n,{worktreeId:a.worktreeId,role:"assistant",content:d.body,messageType:"normal",timestamp:new Date(e>0?e:Date.now()),cliToolId:a.cliToolId,instanceId:h,requestId:i});return m("message",{worktreeId:a.worktreeId,message:p}),az.info("command-code-transcript-turn-saved",{worktreeId:a.worktreeId,instanceId:h,sessionId:d.sessionId,requestId:i,path:f,bodyLength:d.body.length,textBlocks:d.textBlocks,toolBlocks:d.toolBlocks}),!0}var aP=c(70997),aQ=c(2734),aR=c(76835),aS=c(28862),aT=c(70096),aU=c(43925),aV=c(85038);let aW=(0,d.h)("lib/polling/structured-history-gate"),aX=(0,h.v)("__structuredHistoryCaptureQueue",()=>new Map),aY=(0,h.v)("__structuredHistoryAnnouncedCompletions",()=>new Map);function aZ(){aX.clear(),aY.clear()}let a$={[aP.v]:{capture:(a,b,c)=>(0,g.K$)(a,b,c),locate:(a,b)=>(0,g.Oi)(a,b)},[aQ.c]:{capture:(a,b,c)=>J(a,b,c),locate:(a,b)=>K(a,b)},[aR.F]:{capture:(a,b,c)=>ah(a,b,c),locate:(a,b)=>ai(a,b)},[aS.k]:{capture:(a,b,c)=>aG(a,b,c),locate:(a,b)=>aI(a,b)}};function a_(a){try{return(0,aT.VM)(a).capabilities.transcriptHistory??null}catch(b){return aW.warn("structured-history-capability-unavailable",{cliToolId:a,error:b instanceof Error?b.message:String(b)}),null}}function a0(a){return"pull"===a_(a)}let a1={opencode:a=>(0,e.f4)(a),"opencode-v2":a=>(0,f.rE)(a)};function a2(a,b,c){if("push"!==a_(b))return!1;try{return(a1[b]??e.f4)({worktreeId:a,cliToolId:b,instanceId:c??b})}catch(d){return aW.warn("structured-history-gate-unavailable",{worktreeId:a,cliToolId:b,instanceId:c??b,error:d instanceof Error?d.message:String(d)}),!1}}async function a3(a,b,c,d,e){if(e&&(e.outcome="unavailable"),!a0(b))return!1;let f=a$[b];if(!f)return aW.warn("structured-history-reader-missing",{worktreeId:a,cliToolId:b,instanceId:c??b}),!1;let g=c??b,h=`${a}\u0000${b}\u0000${g}`;var i=async()=>{let c={};try{let j=await f.capture({worktreeId:a,cliToolId:b,instanceId:g},d,c),k=c.completion??"settled";e&&(e.outcome=j?"captured":c.outcome??"unavailable",e.completion=k,e.completionKey=c.completionKey,e.completionReason=c.completionReason);let l=(0,aV.pP)(a,b,g);if(j&&"settled"===k&&!(0,aV._B)(l))aW.info("structured-history-completion-refused",{worktreeId:a,cliToolId:b,instanceId:g,generation:(0,aV.Bh)()?.generation});else if(j&&"settled"===k){var i;i=c.completionKey,(void 0===i||aY.get(h)!==i&&(aY.set(h,i),1))&&(0,aU.vQ)(a,b,g,!0)}else j&&aW.info("structured-history-capture-provisional",{worktreeId:a,cliToolId:b,instanceId:g,reason:c.completionReason??"unknown"});return j}catch(c){return aW.warn("structured-history-capture-unavailable",{worktreeId:a,cliToolId:b,instanceId:g,error:c instanceof Error?c.message:String(c)}),!1}};let j=(aX.get(h)??Promise.resolve()).then(i,i),k=j.then(()=>void 0,()=>void 0);return aX.set(h,k),k.then(()=>{aX.get(h)===k&&aX.delete(h)}),j}async function a4(a,b,c,d){let e=a0(b)?a$[b]:void 0;if(!e)return!1;try{let f=await e.locate({worktreeId:a,cliToolId:b,instanceId:c??b},d);return null!==f}catch(d){return aW.warn("structured-history-locate-unavailable",{worktreeId:a,cliToolId:b,instanceId:c??b,error:d instanceof Error?d.message:String(d)}),!1}}},31990:(a,b,c)=>{c.d(b,{Wh:()=>V,WD:()=>W,Lw:()=>$,Qj:()=>U,K1:()=>T,N5:()=>Z,UM:()=>Y,eB:()=>X});var d=c(12693),e=c(72626),f=c(79892);let g={streamingOutput:!1,explicitResize:!1,snapshotFallback:!0};class h{async unsubscribe(){}}class i{async ensureSession(a,b){await (0,f.N)(a)||await (0,f.jw)(a,b)}async sessionExists(a){return(0,f.N)(a)}async sendInput(a,b){await (0,f.V1)(a,b)}async sendSpecialKey(a,b){if("Escape"!==b&&"C-c"!==b&&"C-d"!==b&&"C-m"!==b&&"Enter"!==b)throw Error(`Unsupported special key for PollingTmuxTransport: ${b}`);await (0,f.ds)(a,b)}async resize(){throw Error("PollingTmuxTransport does not support explicit resize")}async captureSnapshot(a,b){return(0,f.Xg)(a,b)}async subscribe(){return new h}getCapabilities(){return g}async killSession(a){return(0,f.fY)(a)}}let j=null;var k=c(93997),l=c(79646),m=c(28354),n=c(31442),o=c(29021),p=c(21820),q=c(33873),r=c(16983);let s="cm-live-restore.sh",t="cm-live-delegate.sh",u="cm-auto-popup.sh",v=`#!/bin/sh
8
8
  # CommandMate live-attach restore (Issue #2317) — generated file, edits are overwritten.
9
9
  #
10
10
  # sh ~/.commandmate/bin/${s} <session> [control_mode] [width] [height]
@@ -108,4 +108,4 @@ else
108
108
  fi
109
109
  `;function z(a,b){let c,d=(0,q.join)((0,q.join)((0,p.homedir)(),".commandmate","bin"),a);if((0,o.mkdirSync)((0,q.dirname)(d),{recursive:!0}),(0,o.existsSync)(d))try{c=(0,o.readFileSync)(d,"utf-8")}catch{c=void 0}return c!==b&&(0,o.writeFileSync)(d,b,{mode:493}),(0,o.chmodSync)(d,493),d}var A=c(83598),B=c(36925);let C=(0,m.promisify)(l.execFile),D=(0,e.h)("tmux-session-hooks"),E=(0,B.v)("__cmEnsuredSessionHooks",()=>new Set);async function F(a){if((0,n.N_)(a)&&!E.has(a)){E.add(a);try{if((0,n.gM)()&&(0,n.n9)(a)){z(s,v);let b=(0,n.Rr)(a,z(t,x));b&&await C("tmux",b,{timeout:5e3})}else await C("tmux",(0,n.g4)(a),{timeout:5e3});if((0,n.jx)()){let b=(0,n.Ls)(a,z(u,y));b&&await C("tmux",b,{timeout:5e3})}else await C("tmux",(0,n.sL)(a),{timeout:5e3})}catch(b){D.debug("session-hooks:reconcile-failed",{sessionName:a,error:b instanceof Error?b.message:String(b)})}}}async function G(a){try{if(!await (0,A.Us)(a)||await (0,A.Fh)(a))return!1;for(let b of(0,n.RS)(a))await C("tmux",b,{timeout:5e3});return D.info("session-hooks:geometry-restored",{sessionName:a}),!0}catch(b){return D.debug("session-hooks:geometry-restore-failed",{sessionName:a,error:b instanceof Error?b.message:String(b)}),!1}}let H=(0,m.promisify)(l.execFile),I=(0,e.h)("tmux-session-status"),J=(0,B.v)("__cmPublishedTmuxStatus",()=>new Map),K=(0,B.v)("__cmClearedTmuxStatus",()=>new Set);async function L(a){let{sessionName:b,worktreeId:c,cliToolId:d,instanceId:e,status:f}=a;if(!(0,n.om)())return K.has(b)||(K.add(b),await N(b)),"disabled";let g=J.get(b);if(g&&g.status===f&&g.worktreeId===c&&g.cliToolId===d&&g.instanceId===e)return"unchanged";let h=(a.now??new Date).toISOString(),i=[[n.eC,f],[n.jp,c],[n.wv,d],[n.L0,e],[n.tx,h]];try{for(let[a,c]of i)await H("tmux",(0,n.ND)(b,a,c),{timeout:5e3});return J.set(b,{status:f,worktreeId:c,cliToolId:d,instanceId:e}),await M(b),"written"}catch(a){return J.delete(b),I.debug("session-status:write-failed",{sessionName:b,error:a instanceof Error?a.message:String(a)}),"error"}}async function M(a){try{let{stdout:b}=await H("tmux",(0,n.Ys)(a,"status-right"),{timeout:5e3}),c=b.trim();if(""!==c&&!c.includes(n.lY))return I.debug("session-status:status-right-user-owned",{sessionName:a,existing:c}),!1;return""===c&&await H("tmux",(0,n.KB)(a,n.lY),{timeout:5e3}),!0}catch(b){return I.debug("session-status:status-right-failed",{sessionName:a,error:b instanceof Error?b.message:String(b)}),!1}}async function N(a){for(let b of(J.delete(a),n.bq))try{await H("tmux",(0,n.cD)(a,b),{timeout:5e3})}catch{}try{let{stdout:b}=await H("tmux",(0,n.Ys)(a,"status-right"),{timeout:5e3});b.includes(n.lY)&&await H("tmux",(0,n.$D)(a),{timeout:5e3})}catch{}}let O=(0,e.h)("cli-session");function P(a){globalThis.__captureFrameMetaSink?.getStore()?.(a)}function Q(a){globalThis.__captureHeadCutSink?.getStore()?.(a)}function R(){return j||(j=new i),j}function S(a,b,c){let e=d.CLIToolManager.getInstance().getTool(b),f=e.getSessionName(a,c);return{cliTool:e,sessionName:f}}async function T(a,b,c){let{sessionName:d}=S(a,b,c);return R().sessionExists(d)}async function U(a,b,c){let{sessionName:d}=S(a,b,c);return(0,f.p$)(d)}async function V(a,b,c=1e3,d){let e=O.withContext({worktreeId:a,cliToolId:b});e.debug("captureSessionOutput:start",{requestedLines:c});let{cliTool:f,sessionName:g}=S(a,b,d),h=R();try{let a=await (0,k.aq)(g,c,async()=>{if(!await h.sessionExists(g))throw Error(`${f.name} session ${g} does not exist`);return await h.captureSnapshot(g,{startLine:-k.xE})},P,Q);return e.debug("captureSessionOutput:success",{actualLines:a.split("\n").length,lastFewLines:a.split("\n").slice(-3).join(" | ")}),a}catch(b){let a=b instanceof Error?b.message:String(b);if(a.includes("does not exist"))throw e.debug("captureSessionOutput:sessionNotFound",{sessionName:g}),b;throw e.error("captureSessionOutput:failed",{error:a}),Error(`Failed to capture ${f.name} output: ${a}`)}}async function W(a,b,c=5e3,d){let e=O.withContext({worktreeId:a,cliToolId:b});e.debug("captureSessionOutputFresh:start",{requestedLines:c});let{cliTool:f,sessionName:g}=S(a,b,d),h=R(),i=(0,k.XD)(g),j=Date.now();try{let a=await h.captureSnapshot(g,{startLine:-c});a.length>0?(0,k.Ws)(g,i)&&(0,k.vF)(g,a,c,j):(0,k.gm)(g),P({fetchStartedAt:j,source:"fetched"});let b=globalThis.__captureHeadCutSink?.getStore();return b&&b((0,k.AW)(a,c)),(0,k.wd)(a,c)}catch(b){(0,k.gm)(g);let a=b instanceof Error?b.message:String(b);throw e.error("captureSessionOutputFresh:failed",{error:a}),Error(`Failed to capture ${f.name} output: ${a}`)}}async function X(a,b,c,d){if("Up"!==c&&"Down"!==c&&"Enter"!==c)throw Error(`Unsupported answer key: ${String(c)}`);let{sessionName:e}=S(a,b,d);try{await (0,f.KB)(e,[c])}finally{(0,k.gm)(e)}}async function Y(a,b,c){let{sessionName:d}=S(a,b,c);return(0,f.Hg)(d)}async function Z(a){await F(a.sessionName),(0,n.n9)(a.sessionName)&&await G(a.sessionName),await L(a)}function $(a){J.delete(a),K.delete(a),E.delete(a),(0,A.G9)(a)}},71133:(a,b,c)=>{c.d(b,{K$:()=>u,Oi:()=>w,readClaudeTurnProgress:()=>x});var d=c(36925),e=c(79748),f=c(21820),g=c(33873),h=c(24455),i=c(18201),j=c(12462),k=c(72626),l=c(86594),m=c(16659),n=c(30451);let o=(0,k.h)("lib/hooks/sources/claude/history"),p="_(The beginning of this reply is not shown: the turn runs further back than the 64 MiB of transcript that is read.)_",q=".jsonl",r=(0,d.v)("__claudeTranscriptSessions",()=>new Map);async function s(a){return(0,m.Lz)(a,r,(0,h.v7)(a.worktreeId,a.cliToolId,a.instanceId),o,"claude-transcript-session-lookup-failed")}function t(a){return(0,g.join)(a,...n.lc)}async function u(a,b,c){let d=a.instanceId??a.cliToolId;try{let e=b.homeDir??(0,f.homedir)();if("string"!=typeof b.worktreePath||0===b.worktreePath.length)return!1;let g=await s(a),h=await z(e,b,g);if(!h)return o.debug("claude-transcript-unavailable",{worktreeId:a.worktreeId,instanceId:d,sessionId:g,reason:g?"no-file":"no-session-pointer"}),!1;let i=await C(a,h,g??"");if(null===i)return!1;let{parsed:k,built:l}=i;if(0===l.turns.length){let b=l.orphanedAssistantRecords;if(o.warn("claude-transcript-no-turn",{worktreeId:a.worktreeId,instanceId:d,path:h,records:k.records.length,malformedLines:k.malformedLines,orphanedAssistantRecords:b,...b>0?{readBytes:i.size-i.startByte,size:i.size}:{}}),b>0&&i.reachedLimit)return await F(a,k.records,g??"",h,c);return!1}(k.malformedLines>0||l.orphanedAssistantRecords>0)&&o.info("claude-transcript-partial-read",{worktreeId:a.worktreeId,instanceId:d,path:h,malformedLines:k.malformedLines,orphanedAssistantRecords:l.orphanedAssistantRecords,sidechainRecords:l.sidechainRecords});let p=await v(a,l.turns);if(await I(a,l.turns.slice(0,l.turns.length-p.turns.length).slice(-G),h),0===p.turns.length)return o.debug("claude-transcript-turns-already-saved",{worktreeId:a.worktreeId,instanceId:d,turnsInWindow:l.turns.length}),await (0,j.fT)(a),!0;p.turns.length>1&&o.info("claude-transcript-backfilling-turns",{worktreeId:a.worktreeId,instanceId:d,path:h,pendingTurns:p.turns.length,turnsInWindow:l.turns.length,anchored:p.anchored});let q=[];for(let b=0;b<p.turns.length;b+=1){let c=0===b?p.previousStartedAt:p.turns[b-1].startedAt;q.push(await y(a,p.turns[b],c))}let r=function(a){let b=new Map,c=null;for(let d of a)if(!d.isSidechain){if((0,n.Yx)(d)){c=d.uuid;continue}"assistant"===d.type&&null!==c&&null!==d.timestampMs&&d.timestampMs>(b.get(c)??0)&&b.set(c,d.timestampMs)}return b}(k.records),t=!1;for(let b=0;b<p.turns.length;b+=1){let d=p.turns[b];t=await J(a,d,(0,n.SS)(d),(0,m.Ty)(d,q[b],r.get(d.promptUuid)??0,(0,m.Hz)(p.turns,q,b)),h,c)}return t&&await (0,j.fT)(a),t}catch(b){return o.error("claude-transcript-capture-failed",{worktreeId:a.worktreeId,instanceId:d,error:b instanceof Error?b.message:String(b)}),!1}}async function v(a,b){return(0,m.bk)(a,b,a=>(0,l.qe)(a.promptUuid))}async function w(a,b){try{let c=b.homeDir??(0,f.homedir)();if("string"!=typeof b.worktreePath||0===b.worktreePath.length)return null;return await z(c,b,await s(a))}catch{return null}}async function x(a,b){let c=a.instanceId??a.cliToolId;try{var d;let e=b.homeDir??(0,f.homedir)();if("string"!=typeof b.worktreePath||0===b.worktreePath.length)return null;let g=await s(a),h=await z(e,b,g);if(!h)return null;let i=await A(h);if(null===i)return null;let j=(0,n.aw)(i.text),k=(0,n.Jd)(j.records,g??""),m=k.turns.at(-1);if(m){let a=(0,n.SS)(m);if(0===a.body.length)return null;return{turnKey:(0,l.qe)(a.promptUuid),body:a.body,partial:!1}}if(0===k.orphanedAssistantRecords)return null;let p=function(a,b){let c=[],d=0,e=!1;for(let b of a){if((0,n.Yx)(b))break;if(!b.isSidechain&&"assistant"===b.type)for(let a of(d+=1,b.blocks)){if(c.length>=n.rd){e=!0;break}c.push(a)}}return{sessionId:b,promptUuid:`partial:${b}`,startedAt:0,promptText:"",promptIsOperatorInput:!1,blocks:c,assistantRecords:d,closed:!1,superseded:!1,stopReasonObserved:!1,overflowed:e}}(j.records,g??""),q=(0,n.SS)(p);if(0===q.body.length)return null;return o.info("claude-transcript-progress-headless",{worktreeId:a.worktreeId,instanceId:c,path:h,orphanedAssistantRecords:k.orphanedAssistantRecords,malformedLines:j.malformedLines}),{turnKey:(d=g??"",(0,l.qe)(`${l.ST}${d}`)),body:q.body,partial:!0}}catch(b){return o.debug("claude-transcript-progress-failed",{worktreeId:a.worktreeId,instanceId:c,error:b instanceof Error?b.message:String(b)}),null}}async function y(a,b,c=0){let d=a.instanceId??a.cliToolId;if(!b.promptIsOperatorInput)return o.debug("claude-transcript-user-turn-skipped",{worktreeId:a.worktreeId,instanceId:d,promptUuid:b.promptUuid,reason:"not-operator-input"}),{outcome:"skipped",messageId:null,timestampMs:null};let e=await (0,i.Ce)(a,(0,l.H_)(b.promptUuid),b.promptText,b.startedAt,c>0?{adoptionFromMs:c}:{});return"failed"===e.outcome&&o.warn("claude-transcript-user-turn-failed",{worktreeId:a.worktreeId,instanceId:d,sessionId:b.sessionId,promptUuid:b.promptUuid}),e}async function z(a,b,c){var d;if(c){let e=(d=b.worktreePath,(0,g.join)(t(a),(0,n.jA)(d),`${c}${q}`));if(await (0,m.Jj)(e))return e}let e=b.transcriptPathHint;if("string"==typeof e&&e.length>0){let b=(0,m.sx)(t(a),q,e);if(b&&await (0,m.Jj)(b))return b}return null}async function A(a){let b;try{b=await (0,e.open)(a,"r");let{size:c}=await b.stat(),d=Math.max(0,c-4194304),f=c-d;if(f<=0)return{text:"",size:c,startByte:0};let g=Buffer.alloc(f),{bytesRead:h}=await b.read(g,0,f,d),i=g.subarray(0,h);if(0===d)return{text:i.toString("utf8"),size:c,startByte:0};let j=i.indexOf(10);if(-1===j)return{text:"",size:c,startByte:c};return{text:i.subarray(j+1).toString("utf8"),size:c,startByte:d+j+1}}catch(b){return o.warn("claude-transcript-read-failed",{path:a,error:b instanceof Error?b.message:String(b)}),null}finally{await b?.close().catch(()=>{})}}async function B(a,b,c){let d=c-b,e=Buffer.alloc(d),{bytesRead:f}=await a.read(e,0,d,b);if(f!==d)return null;if(0===b)return{text:e.toString("utf8"),startByte:0};let g=e.indexOf(10);return -1===g?{text:"",startByte:c}:{text:e.subarray(g+1).toString("utf8"),startByte:b+g+1}}async function C(a,b,c){let d=await A(b);if(null===d)return null;let e=(0,n.aw)(d.text),f=(0,n.Jd)(e.records,c),g={parsed:e,built:f,size:d.size,startByte:d.startByte,reachedLimit:!1};return f.turns.length>0||0===f.orphanedAssistantRecords||0===d.startByte?g:await D(a,b,c,g)??g}async function D(a,b,c,d){let f,{size:g}=d;try{f=await (0,e.open)(b,"r");let h=d.parsed.records,i=d.parsed.malformedLines,j=d.built,k=d.startByte,l=4194304,m=null;for(;0===j.turns.length&&k>0&&l<0x4000000;){l*=2;let a=await B(f,Math.max(0,g-l),k);if(null===a)return null;let b=(0,n.aw)(a.text);h=[...b.records,...h],i+=b.malformedLines,k=a.startByte;let d=(j=(0,n.Jd)(h,c)).turns.at(-1);d&&(m=function(a,b,c){let{text:d}=a;for(let e=d.indexOf(b);-1!==e;e=d.indexOf(b,e+b.length)){let f=d.lastIndexOf("\n",e)+1,g=d.indexOf("\n",e),h=null;try{h=(0,n.ID)(JSON.parse(d.slice(f,-1===g?d.length:g)))}catch{}if(h?.uuid===b)return c-a.startByte-Buffer.byteLength(d.slice(0,f),"utf8")}return null}(a,d.promptUuid,g))}return o.info("claude-transcript-window-extended",{worktreeId:a.worktreeId,instanceId:a.instanceId??a.cliToolId,path:b,fromBytes:4194304,toBytes:l,size:g,promptOffsetFromEnd:m,records:h.length}),{parsed:{records:h,malformedLines:i},built:j,size:g,startByte:k,reachedLimit:0===j.turns.length&&k>0}}catch(a){return o.warn("claude-transcript-read-failed",{path:b,error:a instanceof Error?a.message:String(a)}),null}finally{await f?.close().catch(()=>{})}}let E={outcome:"skipped",messageId:null,timestampMs:null};async function F(a,b,c,d,e){var f;let g,h=a.instanceId??a.cliToolId,i=(0,n.JU)(b,c);if(null===i)return o.debug("claude-transcript-headless-unkeyed",{worktreeId:a.worktreeId,instanceId:h,path:d}),!1;let{turn:k}=i,q=(0,n.SS)(k);o.info("claude-transcript-headless-turn",{worktreeId:a.worktreeId,instanceId:h,sessionId:k.sessionId,requestId:(0,l.qe)(k.promptUuid),path:d,assistantRecords:k.assistantRecords,overflowed:k.overflowed});let r=await J(a,k,0===q.body.length?q:(f=q,(g=`${p}
110
110
 
111
- ${f.body}`).length>n.ui&&(g=g.slice(0,n.ui-n.KJ.length)+n.KJ),{...f,body:g}),(0,m.Ty)(k,E,i.lastRecordAt,null),d,e);return r&&await (0,j.fT)(a),r}let G=3;async function H(a,b,c,d){return(0,m.c_)(a,b,c,d,o,"claude-transcript-turn-updated")}async function I(a,b,c){return(0,m.NF)(a,b,c,{isWritable:n.Oc,requestIdOf:a=>(0,l.qe)(a.promptUuid),render:n.SS,grow:H})}async function J(a,b,d,e,f,g){let h=a.instanceId??a.cliToolId;if(g&&(g.outcome=void 0),!(0,n.Oc)(b))return g&&(g.outcome="not_yet_closed"),o.info("claude-transcript-turn-open",{worktreeId:a.worktreeId,instanceId:h,sessionId:d.sessionId,promptUuid:d.promptUuid,assistantRecords:b.assistantRecords,textBlocks:d.textBlocks,toolBlocks:d.toolBlocks}),!1;if(0===d.body.length)return o.info("claude-transcript-turn-empty",{worktreeId:a.worktreeId,instanceId:h,sessionId:d.sessionId,promptUuid:d.promptUuid}),!1;d.unknownBlockTypes.length>0&&o.info("claude-transcript-unknown-blocks",{worktreeId:a.worktreeId,instanceId:h,sessionId:d.sessionId,blockTypes:d.unknownBlockTypes});let i=(0,l.qe)(d.promptUuid),[{getDbInstance:j},{createMessage:k,findMessageByRequestId:p},{broadcastMessage:q}]=await Promise.all([Promise.resolve().then(c.bind(c,88807)),Promise.resolve().then(c.bind(c,56791)),Promise.resolve().then(c.bind(c,43015))]),r=j(),s=p(r,a.worktreeId,i);if(s)return o.debug("claude-transcript-turn-already-saved",{worktreeId:a.worktreeId,instanceId:h,requestId:i}),await H(a,s,d,f),!0;if(!(0,m.Qb)(a,o,"claude-transcript-write-refused","reply-row"))return!1;let t=k(r,{worktreeId:a.worktreeId,role:"assistant",content:d.body,messageType:"normal",timestamp:new Date(e>0?e:Date.now()),cliToolId:a.cliToolId,instanceId:h,requestId:i});return q("message",{worktreeId:a.worktreeId,message:t}),o.info("claude-transcript-turn-saved",{worktreeId:a.worktreeId,instanceId:h,sessionId:d.sessionId,requestId:i,path:f,bodyLength:d.body.length,textBlocks:d.textBlocks,toolBlocks:d.toolBlocks}),!0}},82450:(a,b,c)=>{c.d(b,{IS:()=>i,LH:()=>o,NN:()=>h,Sj:()=>r,Te:()=>q,aW:()=>p});var d=c(42422),e=c(13033),f=c(96486),g=c(56263);function h(a){let b=(0,d.aJ)(a).split("\n"),c=(0,d.GT)(b),e=c>=0?b.slice(0,c):b,f=-1;for(let a=e.length-1;a>=0;a--)if(/^❯\s+\S/.test(e[a])){f=a;break}let g=f>=0?f+1:0,h=e.slice(g),i=[/CLAUDE_HOOKS_/,/\/bin\/claude/,/^claude\s*$/,/@.*\s+%\s*$/,/^[^⏺]*curl.*POST/,/^[^⏺]*Content-Type/,/^[^⏺]*export\s+CLAUDE_/,/^\s*$/,/^[╭╮╰╯│─\s]+$/,/^[│╭╮╰╯].*[│╭╮╰╯]$/,/Claude Code v[\d.]+/,/^Tips for getting started/,/^Welcome back/,/Run \/init to create/,/^Recent activity/,/^No recent activity/,/▐▛███▜▌|▝▜█████▛▘|▘▘ ▝▝/,/^\s*Opus \d+\.\d+\s*·\s*Claude Max/,/\.com's Organization/,/\?\s*for shortcuts\s*$/,/^─{10,}$/,/^❯\s*$/,d.fW],j=[];for(let a of h)!i.some(b=>b.test(a))&&a.trim()&&j.push(a);return j.join("\n").trim()}function i(a){let b=(0,d.aJ)(a).split("\n"),c=[],e=[/^maenokota@.*%/,/^zsh:/,/^feature-issue-\d+/,/^\s*$/],f=!1,g=[];for(let a of b){if(a.includes("✦")){f=!0;let b=a.indexOf("✦"),c=a.substring(b+1).trim();c&&g.push(c);continue}if(f){if(e.some(b=>b.test(a)))continue;g.push(a)}}if(g.length>0)return g.join("\n").trim();for(let a of b)e.some(b=>b.test(a))||c.push(a);return c.join("\n").trim()}let j=RegExp(`^●\\s+(?:${d.Jr})[\\s:]`),k=/^\$\s+[A-Z][A-Za-z]*(?:\s|$)/,l=/^\d+\s+lines\.\.\.$/,m=/^[◐◑◒◓]/,n=/^(?:git\s+--no-pager|git\s+(?:log|diff|show|status|branch|remote|fetch|pull|push|merge|rebase|checkout|reset|stash|tag|config|clone|init|add|commit|rm|mv|bisect|grep|ls-files|rev-parse|describe|shortlog|blame|reflog|cherry-pick|revert|submodule|worktree)\b|npm\s+|npx\s+|yarn\s+|pnpm\s+|cargo\s+|pip\s+|rustc\s+|cmake\s+|docker\s+|kubectl\s+|aws\s+|gcloud\s+|az\s+|terraform\s+|ansible\s+|curl\s+|wget\s+|ssh\s+|scp\s+|rsync\s+|grep\s+|sed\s+|awk\s+|mkdir\s+|rm\s+|cp\s+|mv\s+|chmod\s+|chown\s+)/;function o(a){let b=(0,d.aJ)(a).split("\n"),c=(0,d.wv)(b),f=c>=0?b.slice(0,c):b,g=-1;for(let a=f.length-1;a>=0;a--){let b=(0,e.IW)(f[a]);if(b&&/^❯\s+\S/.test(b)){g=a;break}}let h=g>=0?g+1:0;if(g>=0)for(;h<f.length&&d.Fg.test(f[h]);)h++;let i=f.slice(h),o=[],p=!1,q=!1;for(let a of i){if(d.JN.test(a))continue;let b=(0,e.IW)(a);if(!b){p=!1,q=!1;continue}if(d.J7.some(a=>a.test(b)))continue;if(k.test(b)){q=!0,p=!1;continue}if(j.test(b))continue;if(m.test(b)){p=!0,q=!1;continue}if(!(l.test(b)||n.test(b))){if(/^❯\s*/.test(b)){p=!1,q=!1;continue}if(!/^[│└]/.test(b)){if(/^●/.test(b)){p=!1,q=!1,o.push(b.replace(/^●\s*/,""));continue}p||q||o.push(b)}}}return o.join("\n").trim()}function p(a){let b=a.split("\n"),c=[];for(let a=0;a<b.length;a++){let f=(0,e.l1)(b[a]);f&&d.Md.test(f)&&c.push(a)}let f=0;c.length>=2&&(f=c[c.length-2]+1);let g=[];for(let a=f;a<b.length;a++){let c=(0,e.l1)(b[a]);!(!c||d.sx.some(a=>a.test(c)))&&(d.Md.test(c)||g.push(c))}return g.join("\n").trim()}function q(a,b,c){if(c&&(0,f.K)(b,c))return"";let e=a.split("\n"),g=function(a,b){switch(b){case"codex":return(0,d.Zu)(a);case"command-code":return(0,d.I$)(a);default:return -1}}(e,b),h=g>=0?e.slice(0,g):e,{skipPatterns:i}=(0,d._X)(b),j=[];for(let a of h){let b=(0,d.aJ)(a);b.trim()&&(i.some(a=>a.test(b))||j.push(b))}return j.join("\n").trim()}function r(a,b=g.Rf,c=g.ky){if(!a||a.length<=b)return a;let d=c+"\n",e=b-d.length;if(e<=0)return c.slice(0,b);let f=a.length-e;if(f>0&&f<a.length){let b=a.charCodeAt(f);b>=56320&&b<=57343&&(f+=1)}return d+a.slice(f)}},96486:(a,b,c)=>{c.d(b,{K:()=>h});var d=c(42422);let e=/^ctx:\d+%\s*[>❯]/,f=/^ctx:\d+%\s*[>❯]\s*\S/,g=/>_ OpenAI Codex \(v\d/;function h(a,b){switch(a){case"codex":let c=(0,d.Zu)(b);if(c<0||(0,d.Nc)(b,c,b.length,!0)>=0)return!1;for(let a=0;a<c;a++)if(g.test((0,d.aJ)(b[a])))return!0;return!1;case"vibe-local":let h=!1;for(let a of b){let b=(0,d.aJ)(a);if(e.test(b)){if(f.test(b))return!1;h=!0}}return h;default:return!1}}}};
111
+ ${f.body}`).length>n.ui&&(g=g.slice(0,n.ui-n.KJ.length)+n.KJ),{...f,body:g}),(0,m.Ty)(k,E,i.lastRecordAt,null),d,e);return r&&await (0,j.fT)(a),r}let G=3;async function H(a,b,c,d){return(0,m.c_)(a,b,c,d,o,"claude-transcript-turn-updated")}async function I(a,b,c){return(0,m.NF)(a,b,c,{isWritable:n.Oc,requestIdOf:a=>(0,l.qe)(a.promptUuid),render:n.SS,grow:H})}async function J(a,b,d,e,f,g){let h=a.instanceId??a.cliToolId;if(g&&(g.outcome=void 0),!(0,n.Oc)(b))return g&&(g.outcome="not_yet_closed"),o.info("claude-transcript-turn-open",{worktreeId:a.worktreeId,instanceId:h,sessionId:d.sessionId,promptUuid:d.promptUuid,assistantRecords:b.assistantRecords,textBlocks:d.textBlocks,toolBlocks:d.toolBlocks}),!1;if(0===d.body.length)return o.info("claude-transcript-turn-empty",{worktreeId:a.worktreeId,instanceId:h,sessionId:d.sessionId,promptUuid:d.promptUuid}),!1;d.unknownBlockTypes.length>0&&o.info("claude-transcript-unknown-blocks",{worktreeId:a.worktreeId,instanceId:h,sessionId:d.sessionId,blockTypes:d.unknownBlockTypes});let i=(0,l.qe)(d.promptUuid),[{getDbInstance:j},{createMessage:k,findMessageByRequestId:p},{broadcastMessage:q}]=await Promise.all([Promise.resolve().then(c.bind(c,88807)),Promise.resolve().then(c.bind(c,56791)),Promise.resolve().then(c.bind(c,43015))]),r=j(),s=p(r,a.worktreeId,i);if(s)return o.debug("claude-transcript-turn-already-saved",{worktreeId:a.worktreeId,instanceId:h,requestId:i}),await H(a,s,d,f),!0;if(!(0,m.Qb)(a,o,"claude-transcript-write-refused","reply-row"))return!1;let t=k(r,{worktreeId:a.worktreeId,role:"assistant",content:d.body,messageType:"normal",timestamp:new Date(e>0?e:Date.now()),cliToolId:a.cliToolId,instanceId:h,requestId:i});return q("message",{worktreeId:a.worktreeId,message:t}),o.info("claude-transcript-turn-saved",{worktreeId:a.worktreeId,instanceId:h,sessionId:d.sessionId,requestId:i,path:f,bodyLength:d.body.length,textBlocks:d.textBlocks,toolBlocks:d.toolBlocks}),!0}},82450:(a,b,c)=>{c.d(b,{IS:()=>i,LH:()=>o,NN:()=>h,Sj:()=>r,Te:()=>q,aW:()=>p});var d=c(54490),e=c(13033),f=c(96486),g=c(56263);function h(a){let b=(0,d.aJ)(a).split("\n"),c=(0,d.GT)(b),e=c>=0?b.slice(0,c):b,f=-1;for(let a=e.length-1;a>=0;a--)if(/^❯\s+\S/.test(e[a])){f=a;break}let g=f>=0?f+1:0,h=e.slice(g),i=[/CLAUDE_HOOKS_/,/\/bin\/claude/,/^claude\s*$/,/@.*\s+%\s*$/,/^[^⏺]*curl.*POST/,/^[^⏺]*Content-Type/,/^[^⏺]*export\s+CLAUDE_/,/^\s*$/,/^[╭╮╰╯│─\s]+$/,/^[│╭╮╰╯].*[│╭╮╰╯]$/,/Claude Code v[\d.]+/,/^Tips for getting started/,/^Welcome back/,/Run \/init to create/,/^Recent activity/,/^No recent activity/,/▐▛███▜▌|▝▜█████▛▘|▘▘ ▝▝/,/^\s*Opus \d+\.\d+\s*·\s*Claude Max/,/\.com's Organization/,/\?\s*for shortcuts\s*$/,/^─{10,}$/,/^❯\s*$/,d.fW],j=[];for(let a of h)!i.some(b=>b.test(a))&&a.trim()&&j.push(a);return j.join("\n").trim()}function i(a){let b=(0,d.aJ)(a).split("\n"),c=[],e=[/^maenokota@.*%/,/^zsh:/,/^feature-issue-\d+/,/^\s*$/],f=!1,g=[];for(let a of b){if(a.includes("✦")){f=!0;let b=a.indexOf("✦"),c=a.substring(b+1).trim();c&&g.push(c);continue}if(f){if(e.some(b=>b.test(a)))continue;g.push(a)}}if(g.length>0)return g.join("\n").trim();for(let a of b)e.some(b=>b.test(a))||c.push(a);return c.join("\n").trim()}let j=RegExp(`^●\\s+(?:${d.Jr})[\\s:]`),k=/^\$\s+[A-Z][A-Za-z]*(?:\s|$)/,l=/^\d+\s+lines\.\.\.$/,m=/^[◐◑◒◓]/,n=/^(?:git\s+--no-pager|git\s+(?:log|diff|show|status|branch|remote|fetch|pull|push|merge|rebase|checkout|reset|stash|tag|config|clone|init|add|commit|rm|mv|bisect|grep|ls-files|rev-parse|describe|shortlog|blame|reflog|cherry-pick|revert|submodule|worktree)\b|npm\s+|npx\s+|yarn\s+|pnpm\s+|cargo\s+|pip\s+|rustc\s+|cmake\s+|docker\s+|kubectl\s+|aws\s+|gcloud\s+|az\s+|terraform\s+|ansible\s+|curl\s+|wget\s+|ssh\s+|scp\s+|rsync\s+|grep\s+|sed\s+|awk\s+|mkdir\s+|rm\s+|cp\s+|mv\s+|chmod\s+|chown\s+)/;function o(a){let b=(0,d.aJ)(a).split("\n"),c=(0,d.wv)(b),f=c>=0?b.slice(0,c):b,g=-1;for(let a=f.length-1;a>=0;a--){let b=(0,e.IW)(f[a]);if(b&&/^❯\s+\S/.test(b)){g=a;break}}let h=g>=0?g+1:0;if(g>=0)for(;h<f.length&&d.Fg.test(f[h]);)h++;let i=f.slice(h),o=[],p=!1,q=!1;for(let a of i){if(d.JN.test(a))continue;let b=(0,e.IW)(a);if(!b){p=!1,q=!1;continue}if(d.J7.some(a=>a.test(b)))continue;if(k.test(b)){q=!0,p=!1;continue}if(j.test(b))continue;if(m.test(b)){p=!0,q=!1;continue}if(!(l.test(b)||n.test(b))){if(/^❯\s*/.test(b)){p=!1,q=!1;continue}if(!/^[│└]/.test(b)){if(/^●/.test(b)){p=!1,q=!1,o.push(b.replace(/^●\s*/,""));continue}p||q||o.push(b)}}}return o.join("\n").trim()}function p(a){let b=a.split("\n"),c=[];for(let a=0;a<b.length;a++){let f=(0,e.l1)(b[a]);f&&d.Md.test(f)&&c.push(a)}let f=0;c.length>=2&&(f=c[c.length-2]+1);let g=[];for(let a=f;a<b.length;a++){let c=(0,e.l1)(b[a]);!(!c||d.sx.some(a=>a.test(c)))&&(d.Md.test(c)||g.push(c))}return g.join("\n").trim()}function q(a,b,c){if(c&&(0,f.K)(b,c))return"";let e=a.split("\n"),g=function(a,b){switch(b){case"codex":return(0,d.Zu)(a);case"command-code":return(0,d.I$)(a);default:return -1}}(e,b),h=g>=0?e.slice(0,g):e,{skipPatterns:i}=(0,d._X)(b),j=[];for(let a of h){let b=(0,d.aJ)(a);b.trim()&&(i.some(a=>a.test(b))||j.push(b))}return j.join("\n").trim()}function r(a,b=g.Rf,c=g.ky){if(!a||a.length<=b)return a;let d=c+"\n",e=b-d.length;if(e<=0)return c.slice(0,b);let f=a.length-e;if(f>0&&f<a.length){let b=a.charCodeAt(f);b>=56320&&b<=57343&&(f+=1)}return d+a.slice(f)}},96486:(a,b,c)=>{c.d(b,{K:()=>h});var d=c(54490);let e=/^ctx:\d+%\s*[>❯]/,f=/^ctx:\d+%\s*[>❯]\s*\S/,g=/>_ OpenAI Codex \(v\d/;function h(a,b){switch(a){case"codex":let c=(0,d.Zu)(b);if(c<0||(0,d.Nc)(b,c,b.length,!0)>=0)return!1;for(let a=0;a<c;a++)if(g.test((0,d.aJ)(b[a])))return!0;return!1;case"vibe-local":let h=!1;for(let a of b){let b=(0,d.aJ)(a);if(e.test(b)){if(f.test(b))return!1;h=!0}}return h;default:return!1}}}};
@@ -0,0 +1 @@
1
+ "use strict";exports.id=9169,exports.ids=[9169],exports.modules={2669:(a,b,c)=>{c.d(b,{JI:()=>n,M7:()=>d,Sr:()=>h,Zf:()=>f,c7:()=>e,lU:()=>k,mR:()=>j,qO:()=>i,su:()=>m,wQ:()=>l});let d="SESSION_STARTING",e="SESSION_START_FAILED",f="SESSION_START_UNAVAILABLE",g=[d,e];class h extends Error{constructor(a,b,c){super(`${a} did not reach its input prompt within ${Math.round(c/1e3)}s (initialization timeout). The tmux session '${b}' and its process are still running, so this is a slow start, not a failed one — the message was not delivered, but nothing needs repairing. Retry the send in a few seconds, or run \`commandmate capture <worktree-id>\` to see what it is waiting on.`),this.toolName=a,this.sessionName=b,this.timeoutMs=c,this.code=d,this.name="SessionStartTimeoutError"}}function i(a,b){return`${a} exited before reaching its input prompt: the tmux session '${b}' is back at a shell, so this is not a slow start and waiting will not help. The message was not delivered. Run \`commandmate capture <worktree-id>\` to see why it exited (for example a startup dialog answered with exit, or a missing login), fix that, then send again.`}class j extends Error{constructor(a,b,c){super(`${a} reported an error while starting in tmux session '${b}': "${c}". Retrying will not help until that is resolved; run \`commandmate capture <worktree-id>\` to see the session output.`),this.toolName=a,this.sessionName=b,this.detectedPattern=c,this.code=e,this.name="SessionStartFailedError"}}class k extends Error{constructor(a,b=`${a} is not installed. Please install it first.`){super(b),this.toolName=a,this.code=f,this.name="SessionStartUnavailableError"}}function l(a){return o(a)===d}function m(a){let b=o(a);return void 0!==b&&g.includes(b)}function n(a){return o(a)===f}function o(a){if("object"!=typeof a||null===a)return;let b=a.code;return"string"==typeof b?b:void 0}},36261:(a,b,c)=>{c.d(b,{_W:()=>E,cx:()=>y,_0:()=>A,Jp:()=>B,_v:()=>x,Te:()=>C,Bf:()=>t,wN:()=>s,M_:()=>D,Uh:()=>G,O_:()=>I,yk:()=>F,fK:()=>z,jG:()=>H});var d=c(72626),e=c(24455),f=c(36925);let g=(0,d.h)("waiting-episode-state"),h=(0,f.v)("__sessionWaitingEpisodes",()=>new Map),i=(0,f.v)("__sessionWaitingTransitionListeners",()=>new Set),j=(0,f.v)("__sessionWaitingEpisodeMeta",()=>new WeakMap),k=(0,f.v)("__sessionWaitingEpisodeVersions",()=>new Map),l=(0,f.v)("__sessionWaitingEpisodeLastClosed",()=>new Map),m=(0,f.v)("__sessionWaitingEpisodeSeq",()=>({value:0,nonce:Math.random().toString(36).slice(2,10)})),n=(0,f.v)("__sessionWaitingEpisodeListeners",()=>new Set),o={kind:"unattributed",generation:{kind:"none"},lastClosedTurnId:null};function p(){return m.value+=1,`wep-${m.nonce}-${m.value}`}function q(a){return(0,e.v7)(a.worktreeId,a.cliToolId,a.instanceId)}function r(a){k.set(a,(k.get(a)??0)+1)}function s(a){return i.add(a),()=>{i.delete(a)}}function t(a){return n.add(a),()=>{n.delete(a)}}function u(a){let{cause:b,episodeId:c,previousEpisodeId:d,closeReason:e,...f}=a;for(let b of i)try{b(f)}catch(b){v(a,b)}for(let b of n)try{b(a)}catch(b){v(a,b)}}function v(a,b){g.error("waiting-transition-listener-failed",{worktreeId:a.worktreeId,cliToolId:a.cliToolId,instanceId:a.instanceId??a.cliToolId,waiting:a.waiting,error:b instanceof Error?b.message:String(b)})}function w(a){let b=j.get(a);return void 0===b&&(b={episodeId:p(),openedAt:a.since,boundAt:a.since,binding:o,openedBy:"legacy-edge",promptScreenKey:null},j.set(a,b)),b}function x(a,b,c){let d=h.get((0,e.v7)(a,b,c));if(void 0===d)return null;let f=w(d);return{since:d.since,kind:d.kind,...f,binding:f.binding}}function y(a,b,c){return k.get((0,e.v7)(a,b,c))??0}function z(a){let b=`${a}${e.CS}`,c=new Map;for(let[a,d]of k)a.startsWith(b)&&c.set(a,d);return c}function A(a,b,c){return l.get((0,e.v7)(a,b,c))??null}function B(a,b,c){return h.get((0,e.v7)(a,b,c))??null}function C(a){let b=`${a}${e.CS}`;for(let a of h.keys())if(a.startsWith(b))return!0;return!1}function D(a,b,c){let d=q(a),e={since:b.since,kind:b.kind},f={episodeId:p(),openedAt:c,boundAt:c,binding:b.binding,openedBy:b.openedBy,promptScreenKey:b.promptScreenKey??null};return h.set(d,e),j.set(e,f),r(d),u({worktreeId:a.worktreeId,cliToolId:a.cliToolId,instanceId:a.instanceId,waiting:!0,since:e.since,kind:e.kind,at:c,cause:"opened",episodeId:f.episodeId,previousEpisodeId:null,closeReason:null}),{...e,...f}}function E(a,b,c,d){let e=q(a),f=h.get(e);if(void 0===f)return!1;let g=w(f);return g.episodeId===b&&(h.delete(e),l.set(e,{at:d,promptScreenKey:g.promptScreenKey}),r(e),u({worktreeId:a.worktreeId,cliToolId:a.cliToolId,instanceId:a.instanceId,waiting:!1,since:null,kind:null,at:d,cause:"closed",episodeId:null,previousEpisodeId:g.episodeId,closeReason:c}),!0)}function F(a,b,c,d,e){let f=q(a),g=h.get(f);if(void 0===g)return null;let i=w(g);if(i.episodeId!==b)return null;l.set(f,{at:e,promptScreenKey:i.promptScreenKey});let k={since:c.since,kind:c.kind},m={episodeId:p(),openedAt:e,boundAt:e,binding:c.binding,openedBy:c.openedBy,promptScreenKey:c.promptScreenKey??null};return h.set(f,k),j.set(k,m),r(f),u({worktreeId:a.worktreeId,cliToolId:a.cliToolId,instanceId:a.instanceId,waiting:!0,since:k.since,kind:k.kind,at:e,cause:"replaced",episodeId:m.episodeId,previousEpisodeId:i.episodeId,closeReason:d}),{...k,...m}}function G(a,b,c,d){let e=q(a),f=h.get(e);if(void 0===f)return!1;let g=w(f);return g.episodeId===b&&(g.binding=c,g.boundAt=d,r(e),!0)}function H(a,b,c){let d=h.get(q(a));return void 0!==d&&w(d).episodeId===b&&(d.kind=c,!0)}function I(a){globalThis.__sessionWaitingEpisodeBindingResolver=a}(0,d.h)("waiting-episode-state")}};
@@ -1,2 +1,2 @@
1
1
  "use strict";exports.id=9390,exports.ids=[9390],exports.modules={2466:(a,b,c)=>{c.d(b,{Gb:()=>e,ek:()=>i,u_:()=>h});var d=c(13287);let e=200;function f(a){return"object"==typeof a&&null!==a&&!Array.isArray(a)}function g(a,b){if("string"!=typeof a)return null;let c=a.trim();return""===c?null:c.slice(0,b)}function h(a){if(!f(a)||!Array.isArray(a.questions)||0===a.questions.length||a.questions.length>20)return null;let b=[];for(let c of a.questions){let a=function(a){if(!f(a))return null;let b=g(a.question,1e3);if(null===b||!Array.isArray(a.options)||0===a.options.length||a.options.length>20)return null;let c=[];for(let b of a.options){let a=function(a){if(!f(a))return null;let b=g(a.label,e);return null===b?null:{label:b,description:g(a.description,500)}}(b);if(null===a)return null;c.push(a)}return{question:b,header:g(a.header,64),multiSelect:!0===a.multiSelect,choices:c}}(c);if(null===a)return null;b.push(a)}return b}function i(a){if(!f(a)||a.tool_name!==d.k$)return null;let b=h(a.tool_input);return null===b?null:{questions:b,promptId:g(a.prompt_id,256)}}},18529:(a,b,c)=>{c.d(b,{$x:()=>t,Lj:()=>u,Q1:()=>s,QH:()=>v});var d=c(29021),e=c(21820),f=c(33873),g=c(8004),h=c(24455),i=c(72626),j=c(43252),k=c(79827),l=c(36925);let m=(0,i.h)("lib/hooks/sources/opencode/launch-settings"),n=(0,l.v)("__opencodeLaunchSettings",()=>new Map);function o(a){return(0,h.v7)(a.worktreeId,a.cliToolId,a.instanceId)}function p(){let a=(0,f.join)((0,e.homedir)(),".commandmate","opencode-launch-settings.json");return(0,g.T)(process.env.CM_OPENCODE_LAUNCH_SETTINGS_FILE,a,"CM_OPENCODE_LAUNCH_SETTINGS_FILE")}function q(){try{let a=JSON.parse((0,d.readFileSync)(p(),"utf8"));if("object"!=typeof a||null===a||Array.isArray(a))return{};let b={};for(let[c,d]of Object.entries(a)){let a=(0,k.ZH)(d);(0,k.Mj)(a)&&(b[c]=a)}return b}catch{return{}}}function r(a){let b=p();try{(0,d.mkdirSync)((0,f.dirname)(b),{recursive:!0}),(0,d.writeFileSync)(b,`${JSON.stringify(a,null,2)}
2
- `,{mode:384})}catch(a){m.warn("opencode-launch-settings-write-failed",{path:b,error:a instanceof Error?a.message:String(a)})}}function s(a){let b=o(a),c=n.get(b);if(c)return c;let d=q()[b];return d?(n.set(b,d),d):{...k.gF}}function t(a,b){let c=o(a),d=(0,k.ZH)(b??{}),e=q();return(0,k.Mj)(d)?(n.set(c,d),e[c]=d,r(e)):(n.delete(c),c in e&&(delete e[c],r(e))),d}function u(a){let b=(0,k.ZH)(a??{}),c=[];b.agent&&c.push(`--agent ${(0,j.ZL)(b.agent)}`);let d=(0,k.sw)(b);return d&&c.push(`--model ${(0,j.ZL)(d)}`),c.length>0?` ${c.join(" ")}`:""}function v(a){let b=(0,k.ZH)(a??{}),c={};return b.agent&&(c.agent=b.agent),b.providerId&&b.modelId&&(c.model={providerID:b.providerId,modelID:b.modelId}),b.variant&&(c.variant=b.variant),Object.keys(c).length>0?c:null}},27128:(a,b,c)=>{function d(a){return a.replace(/\s+/g," ").trim()}function e(a,b){return a.length<=b?a:`${a.slice(0,b-1)}…`}function f(a,b,c){return a.length<=b?a:a.slice(0,b-c.length)+c}function g(a){return a.split("\n").map(a=>a.length>0?`> ${a}`:">").join("\n")}function h(a){let b=[],c=[],d=[];for(let e of a)0!==e.text.length&&("tool"===e.kind?d.push(e.text):"reasoning"===e.kind?c.push(e.text):b.push(e.text));let e=b.join("\n\n"),f=0===c.length?"":[`> **Thinking (${c.length})**`,">",c.map(g).join("\n>\n")].join("\n"),h=0===d.length?"":[`> **Tool calls (${d.length})**`,">",...d.map(g)].join("\n");return{body:[e,f,h].filter(a=>a.length>0).join("\n\n"),prose:e,reasoningLog:f,reasoningBlocks:c.length,toolLog:h,toolCalls:d.length}}c.d(b,{PB:()=>d,Wv:()=>e,mg:()=>f,t3:()=>h})},33198:(a,b,c)=>{c.d(b,{FN:()=>S,lf:()=>K,ym:()=>O,hS:()=>M,f4:()=>N,wb:()=>J,bP:()=>Q,yn:()=>L,H1:()=>P});var d=c(72626),e=c(24455),f=c(3161),g=c(95375),h=c(27939),i=c(62171),j=c(57510),k=c(49791),l=c(86594),m=c(98322),n=c(36925);let o=(0,d.h)("lib/hooks/sources/opencode/history"),p=(0,n.v)("__opencodeTranscripts",()=>new Map);function q(a){return(0,e.v7)(a.worktreeId,a.cliToolId,a.instanceId)}function r(a){let b=q(a),c=p.get(b);return c||(c=new Map,p.set(b,c)),c}async function s(a,b){try{let{emitChatTurnProgress:d}=await Promise.all([c.e(1356),c.e(1503),c.e(1634),c.e(1191),c.e(8791),c.e(7491),c.e(1719),c.e(3505),c.e(2119),c.e(2445),c.e(3480),c.e(252),c.e(8800),c.e(7905),c.e(255),c.e(9731),c.e(8728),c.e(1601),c.e(8918),c.e(610),c.e(1656),c.e(5630)]).then(c.bind(c,55283));await d({worktreeId:a.worktreeId,cliToolId:a.cliToolId,instanceId:a.instanceId??a.cliToolId},()=>{let a=(0,m.JZ)(b);return 0===a.body.length?null:{turnKey:(0,l.jT)(a.userMessageId),body:a.body,partial:!1}})}catch(b){o.debug("opencode-transcript-progress-failed",{worktreeId:a.worktreeId,instanceId:a.instanceId??a.cliToolId,error:b instanceof Error?b.message:String(b)})}}function t(a){return"number"==typeof a&&Number.isFinite(a)?a:null}async function u(a,b,c=Date.now()){let d=p.get(q(a)),e=d?.get(b);return!!e&&!!d&&(d.delete(b),v(a,(0,m.JZ)(e),Math.max(e.startedAt,c),"stream"))}async function v(a,b,d,e){let f=a.instanceId??a.cliToolId;try{if(0===b.body.length)return o.info("opencode-transcript-turn-empty",{worktreeId:a.worktreeId,instanceId:f,sessionId:b.sessionId,origin:e}),!1;b.unknownPartTypes.length>0&&o.info("opencode-transcript-unknown-parts",{worktreeId:a.worktreeId,instanceId:f,sessionId:b.sessionId,partTypes:b.unknownPartTypes});let g=(0,l.jT)(b.userMessageId),[{getDbInstance:h},{createMessage:i,findMessageByRequestId:j},{broadcastMessage:k}]=await Promise.all([Promise.resolve().then(c.bind(c,88807)),Promise.resolve().then(c.bind(c,56791)),Promise.all([c.e(1356),c.e(1503),c.e(1191),c.e(8791),c.e(7491),c.e(1719),c.e(3505),c.e(2119),c.e(2445),c.e(8728)]).then(c.bind(c,43015))]),m=h();if(j(m,a.worktreeId,g))return o.debug("opencode-transcript-turn-already-saved",{worktreeId:a.worktreeId,instanceId:f,requestId:g,origin:e}),!1;let n=i(m,{worktreeId:a.worktreeId,role:"assistant",content:b.body,messageType:"normal",timestamp:new Date(d>0?d:Date.now()),cliToolId:a.cliToolId,instanceId:f,requestId:g});return k("message",{worktreeId:a.worktreeId,message:n}),o.info("opencode-transcript-turn-saved",{worktreeId:a.worktreeId,instanceId:f,sessionId:b.sessionId,requestId:g,origin:e,bodyLength:b.body.length,textParts:b.textParts,toolParts:b.toolParts}),!0}catch(c){return o.error("opencode-transcript-write-failed",{worktreeId:a.worktreeId,instanceId:f,sessionId:b.sessionId,origin:e,error:c instanceof Error?c.message:String(c)}),!1}}async function w(a,b,c){let d=a.instanceId??a.cliToolId;try{let e=await (0,k.EI)(b,c);if(null===e)return o.info("opencode-transcript-backfill-unavailable",{worktreeId:a.worktreeId,instanceId:d,port:b,sessionId:c}),0;let f=(0,m.ed)(e,c),g=[...f].sort((a,b)=>b.startedAt-a.startedAt),h=g.slice(0,50);g.length>h.length&&o.warn("opencode-transcript-backfill-truncated",{worktreeId:a.worktreeId,instanceId:d,sessionId:c,examined:h.length,skipped:g.length-h.length,limit:50});let i=function(a){let b=new Map;if(!Array.isArray(a))return b;for(let c of a){if(!(0,j.Qd)(c))continue;let a=(0,j.Qd)(c.info)?c.info:null;if(!a||"assistant"!==a.role)continue;let d=(0,j.O2)(a,m.Pv);if(!d)continue;let e=(0,j.Qd)(a.time)?a.time:null,f=t(e?.completed)??t(e?.created)??null;null!==f&&f>(b.get(d)??0)&&b.set(d,f)}return b}(e),l=0;for(let b of[...h].reverse())await v(a,(0,m.JZ)(b),Math.max(b.startedAt,i.get(b.userMessageId)??0),"backfill")&&(l+=1);return o.info("opencode-transcript-backfill-done",{worktreeId:a.worktreeId,instanceId:d,port:b,sessionId:c,turns:f.length,written:l}),l}catch(e){return o.error("opencode-transcript-backfill-failed",{worktreeId:a.worktreeId,instanceId:d,port:b,sessionId:c,error:e instanceof Error?e.message:String(e)}),0}}var x=c(75356),y=c(98211),z=c(90488),A=c(84574);function B(a){let b=(0,j.Qd)(a.properties)?a.properties:{};return(0,j.NZ)(b,["sessionID"])}function C(a,b){for(;a.size>b;){let b=a.keys().next();if(b.done)break;a.delete(b.value)}}let D=(0,d.h)("lib/hooks/sources/opencode/subscription"),E=[1e3,2e3,4e3,8e3,15e3,3e4],F=(0,n.v)("__opencodeSubscriptions",()=>new Map),G=(0,n.v)("__opencodeDroppedLiveness",()=>new Map),H=(0,n.v)("__opencodeProbedActivity",()=>new Map);function I(a){return(0,e.v7)(a.worktreeId,a.cliToolId,a.instanceId)}function J(a){return F.has(I(a))}function K(a){let b=I(a);return F.get(b)?.liveness??G.get(b)??{state:"unknown"}}function L(a,b,c){H.set(I(a),{activity:b,at:c})}function M(a){return H.get(I(a))??null}function N(a){return"live"===K(a).state}function O(a){return F.get(I(a))?.gate.primarySession()??null}function P(a,b,c){let d=F.get(I(a));if(!d)return{seen:Promise.resolve(!1),cancel:()=>{}};let e=()=>{},f=new Promise(a=>{e=a}),g=d.idleWaiters.get(b)??new Set;d.idleWaiters.set(b,g);let h=null,i=a=>{g.delete(i)&&(0===g.size&&d.idleWaiters.delete(b),null!==h&&clearTimeout(h),e(a))};return g.add(i),h=setTimeout(()=>i(!1),c),h.unref?.(),{seen:f,cancel:()=>i(!1)}}async function Q(a,b,c,d={}){let e=I(a),f=F.get(e);if(f)return R(f);G.delete(e),H.delete(e);let g=d.port??(0,A.hC)(a);if(null===g)return D.info("opencode-subscription-skipped-no-port",{worktreeId:a.worktreeId,instanceId:a.instanceId??a.cliToolId}),{close:async()=>{},liveness:{state:"unknown"}};let h={key:e,target:a,port:g,onEvent:b,normalize:c,gate:function(a=64,b=512,c=64){let d=new Map,e=new Set,f=new Set,g=null,h=(b,c)=>{d.delete(b),d.set(b,c),C(d,a)},i=()=>null!==g&&"busy"===d.get(g),k=a=>{var b;h(a,"busy"),b=a,!f.has(b)&&g!==b&&(i()||(g=b))};return{observe(a,l){let m=function(a){let b=(0,j.Qd)(a.properties)?a.properties:{},c=(0,j.Qd)(b.info)?b.info:null;return null!==c&&(0,j.NZ)(c,["parentID"])?(0,j.NZ)(c,["id"])??(0,j.NZ)(b,["sessionID"]):null}(l);if(null!==m&&(f.add(m),C(f,c),g===m&&(g=null)),"message.updated"===a){let{role:a,id:c}=function(a){let b=(0,j.Qd)(a.properties)?a.properties:{};return{role:(0,j.NZ)(b,["info","role"]),id:(0,j.NZ)(b,["info","id"])}}(l);if("user"!==a||null===c)return{kind:"ignored"};let d=B(l)??"";return e.has(c)?{kind:"suppressed",sessionId:d,reason:"already-announced"}:(e.add(c),C(e,b),{kind:"announced",sessionId:d,messageId:c})}if("session.status"===a){if("busy"!==function(a){let b=(0,j.Qd)(a.properties)?a.properties:{};return(0,j.NZ)(b,["status","type"])}(l))return{kind:"ignored"};let a=B(l);return null===a?{kind:"ignored"}:(k(a),{kind:"armed",sessionId:a})}if("session.error"===a){let a=B(l);return null===a?{kind:"ignored"}:{kind:"failed",sessionId:a,errorName:function(a){let b=(0,j.Qd)(a.properties)?a.properties:{};return(0,j.NZ)(b,["error","name"])}(l)}}if("session.idle"!==a)return{kind:"ignored"};let n=B(l);if(null===n)return{kind:"ignored"};if(f.has(n)||null!==g&&n!==g&&i())return h(n,"idle"),{kind:"suppressed",sessionId:n,reason:"foreign-session"};let o=d.get(n);return void 0===o?{kind:"suppressed",sessionId:n,reason:"never-armed"}:"idle"===o?{kind:"suppressed",sessionId:n,reason:"already-completed"}:(h(n,"idle"),{kind:"completed",sessionId:n})},isArmed:a=>"busy"===d.get(a),arm(a){k(a)},armedSessions:()=>[...d.entries()].filter(([,a])=>"busy"===a).map(([a])=>a),primarySession:()=>g,reset(){d.clear(),g=null}}}(),resync:d.resync??"none",seenDecisions:new Set,idleWaiters:new Map,announcedUpdates:new Set,streamController:new AbortController,lifetimeController:new AbortController,serverVersion:null,liveness:{state:"unknown"},closed:!1,watchdog:null};return F.set(e,h),D.info("opencode-subscription-opened",{worktreeId:a.worktreeId,instanceId:a.instanceId??a.cliToolId,port:g}),V(h),R(h)}function R(a){return{close:async()=>{await S(a.target)},get liveness(){return a.liveness}}}async function S(a){let b=I(a);G.delete(b),H.delete(b);let c=F.get(b);if(c){for(let a of(c.closed=!0,T(c),[...c.idleWaiters.values()]))for(let b of[...a])b(!1);c.idleWaiters.clear(),c.streamController.abort(),c.lifetimeController.abort(),F.delete(b),(0,f.cI)(a),p.delete(q(a)),(0,i.WC)(a),D.info("opencode-subscription-closed",{worktreeId:a.worktreeId,instanceId:a.instanceId??a.cliToolId,port:c.port})}}function T(a){null!==a.watchdog&&(clearTimeout(a.watchdog),a.watchdog=null)}function U(a){T(a);let b=setTimeout(()=>{a.closed||(D.warn("opencode-subscription-heartbeat-lost",{worktreeId:a.target.worktreeId,instanceId:a.target.instanceId??a.target.cliToolId,port:a.port,afterMs:3e4}),a.streamController.abort())},3e4);b.unref?.(),a.watchdog=b}async function V(a){let b=0;for(;!a.closed;){a.streamController=new AbortController;let c=a.gate.armedSessions();a.gate.reset();let d="stream-ended";try{let e=await W(a);if(a.closed)break;if("changed"===e)return;if("unreachable"===e)d="health-unreachable";else{let d=await (0,k.mi)(a.port,a.streamController.signal);for await(let e of(a.liveness={state:"live",lastHeartbeatAt:Date.now()},U(a),await X(a),await Y(a,c),await Z(a),b=0,d))b=0,U(a),function(a,b){let c=(0,j.O2)(b,"type");("server.heartbeat"===c||"server.connected"===c)&&(a.liveness={state:"live",lastHeartbeatAt:Date.now()}),$(a,b,Date.now())}(a,e)}}catch(a){d=a instanceof Error?a.message:String(a)}finally{T(a)}if(a.closed)break;a.liveness={state:"lost",since:Date.now(),reason:d},D.warn("opencode-subscription-disconnected",{worktreeId:a.target.worktreeId,instanceId:a.target.instanceId??a.target.cliToolId,port:a.port,reason:d,attempt:b}),await function(a,b){return new Promise(c=>{if(b.aborted)return void c();let d=()=>{clearTimeout(e),c()};b.addEventListener("abort",d,{once:!0});let e=setTimeout(()=>{b.removeEventListener("abort",d),c()},a);e.unref?.()})}(function(a){let b=Math.min(a,E.length-1);return E[b]}(b),a.lifetimeController.signal),b+=1}}async function W(a){var b,c;let d=await (0,k.sc)(a.port);if("healthy"!==d.kind)return D.info("opencode-subscription-health-unavailable",{worktreeId:a.target.worktreeId,instanceId:a.target.instanceId??a.target.cliToolId,port:a.port,outcome:d.kind,status:"rejected"===d.kind?d.status:void 0}),"unreachable";let e=d.health.version;return null===a.serverVersion||null===e?(a.serverVersion??=e,"same"):e===a.serverVersion?"same":(b=a,c=e,D.warn("opencode-subscription-port-identity-changed",{worktreeId:b.target.worktreeId,instanceId:b.target.instanceId??b.target.cliToolId,port:b.port,reason:"port_identity_changed",expectedVersion:b.serverVersion,observedVersion:c}),b.closed=!0,T(b),b.streamController.abort(),b.lifetimeController.abort(),b.liveness={state:"lost",since:Date.now(),reason:"port_identity_changed"},F.delete(b.key),G.set(b.key,b.liveness),"changed")}async function X(a){let b=Date.now(),[c,d]=await Promise.all([(0,k.Li)(a.port),(0,k.er)(a.port)]),e=(c,d)=>{let e=c.slice(0,50);for(let f of(c.length>e.length&&D.warn("opencode-resync-truncated",{worktreeId:a.target.worktreeId,instanceId:a.target.instanceId??a.target.cliToolId,type:d,examined:e.length,skipped:c.length-e.length,limit:50}),e)){let c=(0,j.O2)(f,"id");!c||a.seenDecisions.has(c)||$(a,{id:`resync_${c}`,type:d,properties:f},b)}};e(c,"permission.asked"),e(d,"question.asked")}async function Y(a,b){if("session-status-poll"!==a.resync)return;let c=await (0,k.mY)(a.port);if(null===c)return void D.info("opencode-resync-status-unavailable",{worktreeId:a.target.worktreeId,instanceId:a.target.instanceId??a.target.cliToolId,port:a.port});let d=[];for(let[b,e]of Object.entries(c))"busy"===e&&(a.gate.arm(b),d.push(b));let e=[];for(let d of b)"idle"===c[d]&&(a.gate.arm(d),e.push(d),$(a,{id:`resync_idle_${d}`,type:"session.idle",properties:{sessionID:d}},Date.now()));(d.length>0||e.length>0)&&D.info("opencode-turn-state-recovered",{worktreeId:a.target.worktreeId,instanceId:a.target.instanceId??a.target.cliToolId,port:a.port,rearmed:d,synthesized:e,primarySession:a.gate.primarySession()})}async function Z(a){try{let b=(0,h.KA)(a.target)?.sessionId??null,c=a.gate.primarySession()??b;if(!c)return;await w(a.target,a.port,c)}catch(b){D.warn("opencode-history-recovery-failed",{worktreeId:a.target.worktreeId,instanceId:a.target.instanceId??a.target.cliToolId,port:a.port,error:b instanceof Error?b.message:String(b)})}}function $(a,b,c){var d,e;let h=(0,j.O2)(b,"type");if("message.part.updated"===h){let a=(0,x.Zu)(b),c=(0,x.Dp)(b);a&&c&&(0,y.XL)(a,c)}if("session.updated"===h){let d=(0,f.Tv)(b,c);d&&(0,f.G1)(a.target,d)}if(("session.updated"===h||"message.updated"===h)&&(0,g.recordAgentReportedEffort)(a.target.worktreeId,a.target.cliToolId,a.target.instanceId,(0,x.Jd)(b)),("message.updated"===h||"message.part.updated"===h)&&function(a,b,c){try{let d=(0,j.O2)(b,"type"),e=(0,j.Qd)(b.properties)?b.properties:{},f=(0,j.O2)(e,"sessionID");if(!f)return;if("message.updated"===d){let b=(0,j.Qd)(e.info)?e.info:null;if(!b||"assistant"!==b.role)return;let d=(0,j.O2)(b,"parentID");if(!d)return;let g=r(a),h=g.get(f),i=h?.userMessageId===d?h:(0,m.lp)(f,d,c);if(i!==h)for(h&&o.info("opencode-transcript-turn-superseded",{worktreeId:a.worktreeId,instanceId:a.instanceId??a.cliToolId,sessionId:f,abandoned:h.userMessageId}),g.set(f,i);g.size>16;){let b=g.keys().next();if(b.done)break;g.delete(b.value),o.info("opencode-transcript-turn-evicted",{worktreeId:a.worktreeId,instanceId:a.instanceId??a.cliToolId,sessionId:b.value,reason:"max-open-turns"})}let k=(0,j.O2)(b,"id");k&&(0,m.ZG)(i,k);return}if("message.part.updated"!==d)return;let g=(0,m.TB)(e.part);if(!g)return;let h=r(a).get(f);if(!h||!(0,m.QT)(h,g.messageId))return void o.debug("opencode-transcript-part-unattached",{worktreeId:a.worktreeId,instanceId:a.instanceId??a.cliToolId,sessionId:f,partType:g.type,reason:h?"foreign-message":"no-open-turn"});(0,m.yG)(h,g)||o.warn("opencode-transcript-turn-overflow",{worktreeId:a.worktreeId,instanceId:a.instanceId??a.cliToolId,sessionId:f,partType:g.type}),s(a,h)}catch(b){o.error("opencode-transcript-record-failed",{worktreeId:a.worktreeId,instanceId:a.instanceId??a.cliToolId,error:b instanceof Error?b.message:String(b)})}}(a.target,b,c),("session.diff"===h||"session.updated"===h||"message.updated"===h)&&(0,i.hf)(a.target,b,c),"installation.update-available"===h&&function(a,b,c){let d=(0,j.Qd)(b.properties)?b.properties:{},e=(0,j.O2)(d,"version");if(e){if(a.announcedUpdates.has(e))return D.info("opencode-update-available-repeat-dropped",{worktreeId:a.target.worktreeId,instanceId:a.target.instanceId??a.target.cliToolId,version:e});a.announcedUpdates.add(e),D.info("opencode-update-available",{worktreeId:a.target.worktreeId,instanceId:a.target.instanceId??a.target.cliToolId,version:e}),(0,z.BF)(a.target,a.target.instanceId??a.target.cliToolId,e,c)}}(a,b,c),"session.idle"===h){let c=(0,j.O2)((0,j.Qd)(b.properties)?b.properties:{},"sessionID");if(c){let b=a.idleWaiters.get(c);if(b)for(let a of[...b])a(!0);u(a.target,c)}}let k=a.gate.observe(h,b);"failed"===k.kind&&D.warn("opencode-session-error",{worktreeId:a.target.worktreeId,instanceId:a.target.instanceId??a.target.cliToolId,sessionId:k.sessionId,errorName:k.errorName});let l=null;try{l=a.normalize({payload:b,receivedAt:c})}catch(a){D.error("opencode-normalize-threw",{type:h,error:a instanceof Error?a.message:String(a)});return}if(!l)return;let n=(d=l.event,e=k,"stop"===d&&"completed"!==e.kind?"suppressed"===e.kind?e.reason:"not-a-turn-end":"user_prompt_submit"===d&&"announced"!==e.kind?"suppressed"===e.kind?e.reason:"not-a-new-prompt":null);if(null!==n)return void D.info("opencode-repeat-suppressed",{worktreeId:a.target.worktreeId,instanceId:a.target.instanceId??a.target.cliToolId,sessionId:l.conversationId,event:l.event,reason:n});!function(a,b){let c=(0,j.O2)(b,"type");if("permission.asked"!==c&&"question.asked"!==c)return;let d=(0,j.Qd)(b.properties)?b.properties:{},e=(0,j.O2)(d,"id");if(e)for(a.seenDecisions.add(e);a.seenDecisions.size>256;){let b=a.seenDecisions.values().next();if(b.done)break;a.seenDecisions.delete(b.value)}}(a,b);try{a.onEvent(l)}catch(a){D.error("opencode-event-handler-failed",{type:h,error:a instanceof Error?a.message:String(a)})}}},75356:(a,b,c)=>{c.d(b,{C8:()=>h,Dp:()=>o,Jd:()=>l,Mn:()=>q,Tm:()=>g,Zu:()=>p,aF:()=>f,lu:()=>t,oG:()=>r,pV:()=>k,vE:()=>i});var d=c(62887),e=c(57510);let f="permission_prompt",g="question_prompt",h=d.KC,i="error";function j(a){return(0,e.Qd)(a.properties)?a.properties:{}}function k(a){let b=j(a).info;return(0,e.Qd)(b)?(0,e.NZ)(b,["model","modelID"])??(0,e.NZ)(b,["model","id"]):null}function l(a){let b=j(a).info;return(0,e.Qd)(b)?(0,e.NZ)(b,["model","variant"])??(0,e.NZ)(b,["variant"]):null}function m(a){return(0,e.NZ)(j(a),["part","state","status"])}function n(a){return"tool"===(0,e.NZ)(j(a),["part","type"])}function o(a){return(0,e.NZ)(j(a),["part","tool"])}function p(a){return(0,e.NZ)(j(a),["part","callID"])}function q(a){return(0,e.NZ)(j(a),["requestID"])}function r(a){let b=j(a);switch((0,e.NZ)(a,["type"])){case"permission.asked":case"question.asked":return(0,e.hY)((0,e.NZ)(b,["id"]));case"permission.replied":return(0,e.hY)(q(a));case"message.updated":return(0,e.hY)((0,e.NZ)(b,["info","id"]));case"message.part.updated":return(0,e.hY)(p(a));default:return null}}let s=["completed","error"],t=[(0,e.KR)("session.idle","stop"),(0,e.KR)("session.created","session_start"),(0,e.KR)("session.deleted","session_end"),(a,b)=>"message.updated"===a&&"user"===(0,e.NZ)(j(b),["info","role"])?{event:"user_prompt_submit"}:null,(a,b)=>"message.part.updated"===a&&n(b)&&"running"===m(b)?{event:"pre_tool_use",detail:(0,e.Wv)(o(b)),toolCallId:p(b)}:null,(a,b)=>"message.part.updated"===a&&n(b)&&s.includes(m(b)??"")?{event:"post_tool_use",detail:(0,e.Wv)(o(b)),toolCallId:p(b)}:null,(0,e.KR)("permission.asked","notification",f),(0,e.KR)("question.asked","notification",g),(0,e.KR)("session.error","notification",i),(0,e.KR)("permission.replied","notification",h)].map(function(a){return(b,c)=>{let d=a(b,c);return d?{...d,conversationId:d.conversationId??(0,e.NZ)(j(c),["sessionID"])}:null}})},86594:(a,b,c)=>{function d(a){return`oc-turn:${a}`}function e(a){return`claude-turn:${a}`}function f(a){return`claude-prompt:${a}`}c.d(b,{Ac:()=>j,H_:()=>f,O1:()=>k,ST:()=>g,TW:()=>n,Wr:()=>h,ZS:()=>i,jN:()=>l,jT:()=>d,qe:()=>e,sT:()=>m});let g="partial:";function h(a,b){return`${g}${a}:${b}`}function i(a){return`codex-turn:${a}`}function j(a){return`codex-prompt:${a}`}function k(a,b){return`antigravity-turn:${a}#${b}`}function l(a,b){return`antigravity-prompt:${a}#${b}`}function m(a){return`command-code-turn:${a}`}function n(a){return`command-code-prompt:${a}`}},90488:(a,b,c)=>{c.d(b,{BF:()=>j,Vo:()=>h,dJ:()=>i});let d=(0,c(72626).h)("lib/hooks/sources/opencode/push");async function e(a){try{let[{getDbInstance:b},{getWorktreeById:d}]=await Promise.all([Promise.resolve().then(c.bind(c,88807)),Promise.resolve().then(c.bind(c,56791))]);return d(b(),a)?.name??a}catch{return a}}async function f(){return Promise.all([c.e(1356),c.e(1191)]).then(c.bind(c,61191))}async function g(a,b){return{worktreeId:a.worktreeId,worktreeName:await e(a.worktreeId),instanceId:b}}async function h(a,b,c,e){try{let{notifyPushSubscribers:h,buildExcerpt:i}=await f(),j=await g(a,b);await h({...j,kind:"prompt",agentName:b,waitingKind:"prompt",waitingSince:e,excerpt:i(c??void 0,80)},e),d.info("opencode-question-push-sent",{worktreeId:a.worktreeId,instanceId:b,hasQuestion:null!==c})}catch(c){d.warn("opencode-question-push-failed",{worktreeId:a.worktreeId,instanceId:b,error:c instanceof Error?c.message:String(c)})}}async function i(a,b,c,e,h,i){if("MessageAbortedError"===c)return void d.info("opencode-error-push-skipped-interrupt",{worktreeId:a.worktreeId,instanceId:b,errorName:c});try{let{notifyPushSubscribers:j,buildExcerpt:k}=await f(),l=await g(a,b);await j({...l,kind:"failure",agentName:b,excerpt:k(e??void 0,80),failure:{reason:"agent-session-error",signature:`opencode:session-error:${h??"unknown"}:${c??"unknown"}`}},i),d.info("opencode-error-push-sent",{worktreeId:a.worktreeId,instanceId:b,errorName:c,sessionId:h})}catch(c){d.warn("opencode-error-push-failed",{worktreeId:a.worktreeId,instanceId:b,error:c instanceof Error?c.message:String(c)})}}async function j(a,b,c,e){try{let{notifyPushSubscribers:h}=await f(),i=await g(a,b);await h({...i,kind:"completion",agentName:b,excerpt:c,updateAvailable:{agent:b,version:c}},e),d.info("opencode-update-push-sent",{worktreeId:a.worktreeId,instanceId:b,version:c})}catch(c){d.warn("opencode-update-push-failed",{worktreeId:a.worktreeId,instanceId:b,error:c instanceof Error?c.message:String(c)})}}},98211:(a,b,c)=>{c.d(b,{AB:()=>m,FZ:()=>i,LF:()=>l,Lu:()=>k,XL:()=>g,v1:()=>j});var d=c(2466),e=c(57510);let f=(0,c(36925).v)("__opencodeToolCallNames",()=>new Map);function g(a,b){for(f.delete(a),f.set(a,b);f.size>256;){let a=f.keys().next();if(a.done)break;f.delete(a.value)}}function h(a){return"string"==typeof a.type&&(0,e.Qd)(a.properties)?a.properties:a}function i(a){var b;let c=h(a),d=(0,e.O2)(c,"id"),g=(0,e.O2)(c,"sessionID");if(!d||!g||Array.isArray(c.questions))return null;let i=(0,e.O2)(c,"permission"),j=(0,e.Qd)(c.metadata)?c.metadata:{};return{toolName:((b=(0,e.NZ)(c,["tool","callID"]))?f.get(b)??null:null)??i??"permission",toolInput:{permission:i,patterns:Array.isArray(c.patterns)?c.patterns:[],...j},promptId:d,sessionId:g,permissionMode:null,permissionSuggestions:Array.isArray(c.always)?c.always:null}}function j(a){let b=h(a),c=(0,e.O2)(b,"id");if(!c)return null;let f=(0,d.u_)({questions:b.questions});return null===f?null:{questions:f,promptId:c}}function k(a,b){let c=i(a);return c&&c.promptId?{kind:"permission",id:c.promptId,conversationId:c.sessionId,subject:{kind:"permission",toolName:c.toolName,toolInput:c.toolInput},raw:a,askedAt:b}:null}function l(a,b){let c=k(a,b);if(!c||"permission"!==c.subject.kind)return null;let d=c.subject.toolInput.patterns;return{toolName:c.subject.toolName,patterns:Array.isArray(d)?d:[]}}function m(a,b){let c=h(a),d=(0,e.O2)(c,"id"),f=j(a);return d&&f?{kind:"question",id:d,conversationId:(0,e.O2)(c,"sessionID"),subject:{kind:"question",spec:f},raw:a,askedAt:b}:null}},98322:(a,b,c)=>{c.d(b,{JZ:()=>m,Pv:()=>f,QT:()=>i,TB:()=>j,ZG:()=>h,ed:()=>n,lp:()=>g,yG:()=>k});var d=c(57510),e=c(27128);let f="parentID";function g(a,b,c){return{sessionId:a,userMessageId:b,parts:new Map,assistantMessageIds:new Set,startedAt:c,overflowed:!1}}function h(a,b){a.assistantMessageIds.add(b)}function i(a,b){return a.assistantMessageIds.has(b)}function j(a){if(!(0,d.Qd)(a))return null;let b=(0,d.O2)(a,"id"),c=(0,d.O2)(a,"messageID"),e=(0,d.O2)(a,"type");if(!b||!c||!e)return null;let f=(0,d.Qd)(a.state)?a.state:null;return{id:b,messageId:c,type:e,text:"string"==typeof a.text?a.text:null,tool:(0,d.O2)(a,"tool"),status:f?(0,d.O2)(f,"status"):null,title:f?(0,d.O2)(f,"title"):null,error:f?(0,d.O2)(f,"error")??(0,d.NZ)(f,["error","message"]):null}}function k(a,b){return!a.parts.has(b.id)&&a.parts.size>=512?(a.overflowed=!0,!1):(a.parts.set(b.id,b),!0)}let l=new Set(["step-start","step-finish","snapshot","patch"]);function m(a){let b=[],c=new Set,d=0,f=0;for(let g of a.parts.values()){if("text"===g.type){let a=g.text?.trim()??"";if(0===a.length)continue;b.push({kind:"prose",text:a}),d+=1;continue}if("reasoning"===g.type){let a=g.text?.trim()??"";if(0===a.length)continue;b.push({kind:"reasoning",text:a});continue}if("tool"===g.type){if("pending"===g.status)continue;b.push({kind:"tool",text:function(a){let b=a.tool??"tool",c=a.title??null,d="error"===a.status,f=`- \`${b}\`${c?` — ${(0,e.PB)(c)}`:""}`;return d?a.error?`${f} _(error: ${(0,e.PB)(a.error)})_`:`${f} _(error)_`:f}(g)}),f+=1;continue}l.has(g.type)||c.add(g.type)}let g=(0,e.t3)(b),h=g.body;return h=(0,e.mg)(h,2e5,"\n\n_(truncated)_"),{sessionId:a.sessionId,userMessageId:a.userMessageId,body:h,textParts:d,toolParts:f,reasoningParts:g.reasoningBlocks,unknownPartTypes:[...c]}}function n(a,b){if(!Array.isArray(a))return[];let c=new Map;for(let e of a){if(!(0,d.Qd)(e))continue;let a=(0,d.Qd)(e.info)?e.info:null;if(!a||"assistant"!==a.role)continue;let l=(0,d.O2)(a,f);if(!l)continue;let m=function(a,b){let c=a;for(let a of b){if(!(0,d.Qd)(c))return null;c=c[a]}return"number"==typeof c&&Number.isFinite(c)?c:null}(a,["time","created"])??0,n=c.get(l);n||(n=g(b,l,m),c.set(l,n));let o=(0,d.O2)(a,"id");for(let a of(o&&h(n,o),Array.isArray(e.parts)?e.parts:[])){let b=j(a);b&&i(n,b.messageId)&&k(n,b)}}return[...c.values()]}}};
2
+ `,{mode:384})}catch(a){m.warn("opencode-launch-settings-write-failed",{path:b,error:a instanceof Error?a.message:String(a)})}}function s(a){let b=o(a),c=n.get(b);if(c)return c;let d=q()[b];return d?(n.set(b,d),d):{...k.gF}}function t(a,b){let c=o(a),d=(0,k.ZH)(b??{}),e=q();return(0,k.Mj)(d)?(n.set(c,d),e[c]=d,r(e)):(n.delete(c),c in e&&(delete e[c],r(e))),d}function u(a){let b=(0,k.ZH)(a??{}),c=[];b.agent&&c.push(`--agent ${(0,j.ZL)(b.agent)}`);let d=(0,k.sw)(b);return d&&c.push(`--model ${(0,j.ZL)(d)}`),c.length>0?` ${c.join(" ")}`:""}function v(a){let b=(0,k.ZH)(a??{}),c={};return b.agent&&(c.agent=b.agent),b.providerId&&b.modelId&&(c.model={providerID:b.providerId,modelID:b.modelId}),b.variant&&(c.variant=b.variant),Object.keys(c).length>0?c:null}},27128:(a,b,c)=>{function d(a){return a.replace(/\s+/g," ").trim()}function e(a,b){return a.length<=b?a:`${a.slice(0,b-1)}…`}function f(a,b,c){return a.length<=b?a:a.slice(0,b-c.length)+c}function g(a){return a.split("\n").map(a=>a.length>0?`> ${a}`:">").join("\n")}function h(a){let b=[],c=[],d=[];for(let e of a)0!==e.text.length&&("tool"===e.kind?d.push(e.text):"reasoning"===e.kind?c.push(e.text):b.push(e.text));let e=b.join("\n\n"),f=0===c.length?"":[`> **Thinking (${c.length})**`,">",c.map(g).join("\n>\n")].join("\n"),h=0===d.length?"":[`> **Tool calls (${d.length})**`,">",...d.map(g)].join("\n");return{body:[e,f,h].filter(a=>a.length>0).join("\n\n"),prose:e,reasoningLog:f,reasoningBlocks:c.length,toolLog:h,toolCalls:d.length}}c.d(b,{PB:()=>d,Wv:()=>e,mg:()=>f,t3:()=>h})},33198:(a,b,c)=>{c.d(b,{FN:()=>S,lf:()=>K,ym:()=>O,hS:()=>M,f4:()=>N,wb:()=>J,bP:()=>Q,yn:()=>L,H1:()=>P});var d=c(72626),e=c(24455),f=c(3161),g=c(95375),h=c(27939),i=c(62171),j=c(57510),k=c(49791),l=c(86594),m=c(98322),n=c(36925);let o=(0,d.h)("lib/hooks/sources/opencode/history"),p=(0,n.v)("__opencodeTranscripts",()=>new Map);function q(a){return(0,e.v7)(a.worktreeId,a.cliToolId,a.instanceId)}function r(a){let b=q(a),c=p.get(b);return c||(c=new Map,p.set(b,c)),c}async function s(a,b){try{let{emitChatTurnProgress:d}=await Promise.all([c.e(1356),c.e(1503),c.e(1634),c.e(1191),c.e(8791),c.e(7491),c.e(1719),c.e(3505),c.e(2119),c.e(2445),c.e(3480),c.e(252),c.e(8800),c.e(7905),c.e(255),c.e(9731),c.e(8728),c.e(1601),c.e(8918),c.e(610),c.e(1656),c.e(7926)]).then(c.bind(c,55283));await d({worktreeId:a.worktreeId,cliToolId:a.cliToolId,instanceId:a.instanceId??a.cliToolId},()=>{let a=(0,m.JZ)(b);return 0===a.body.length?null:{turnKey:(0,l.jT)(a.userMessageId),body:a.body,partial:!1}})}catch(b){o.debug("opencode-transcript-progress-failed",{worktreeId:a.worktreeId,instanceId:a.instanceId??a.cliToolId,error:b instanceof Error?b.message:String(b)})}}function t(a){return"number"==typeof a&&Number.isFinite(a)?a:null}async function u(a,b,c=Date.now()){let d=p.get(q(a)),e=d?.get(b);return!!e&&!!d&&(d.delete(b),v(a,(0,m.JZ)(e),Math.max(e.startedAt,c),"stream"))}async function v(a,b,d,e){let f=a.instanceId??a.cliToolId;try{if(0===b.body.length)return o.info("opencode-transcript-turn-empty",{worktreeId:a.worktreeId,instanceId:f,sessionId:b.sessionId,origin:e}),!1;b.unknownPartTypes.length>0&&o.info("opencode-transcript-unknown-parts",{worktreeId:a.worktreeId,instanceId:f,sessionId:b.sessionId,partTypes:b.unknownPartTypes});let g=(0,l.jT)(b.userMessageId),[{getDbInstance:h},{createMessage:i,findMessageByRequestId:j},{broadcastMessage:k}]=await Promise.all([Promise.resolve().then(c.bind(c,88807)),Promise.resolve().then(c.bind(c,56791)),Promise.all([c.e(1356),c.e(1503),c.e(1191),c.e(8791),c.e(7491),c.e(1719),c.e(3505),c.e(2119),c.e(2445),c.e(8728)]).then(c.bind(c,43015))]),m=h();if(j(m,a.worktreeId,g))return o.debug("opencode-transcript-turn-already-saved",{worktreeId:a.worktreeId,instanceId:f,requestId:g,origin:e}),!1;let n=i(m,{worktreeId:a.worktreeId,role:"assistant",content:b.body,messageType:"normal",timestamp:new Date(d>0?d:Date.now()),cliToolId:a.cliToolId,instanceId:f,requestId:g});return k("message",{worktreeId:a.worktreeId,message:n}),o.info("opencode-transcript-turn-saved",{worktreeId:a.worktreeId,instanceId:f,sessionId:b.sessionId,requestId:g,origin:e,bodyLength:b.body.length,textParts:b.textParts,toolParts:b.toolParts}),!0}catch(c){return o.error("opencode-transcript-write-failed",{worktreeId:a.worktreeId,instanceId:f,sessionId:b.sessionId,origin:e,error:c instanceof Error?c.message:String(c)}),!1}}async function w(a,b,c){let d=a.instanceId??a.cliToolId;try{let e=await (0,k.EI)(b,c);if(null===e)return o.info("opencode-transcript-backfill-unavailable",{worktreeId:a.worktreeId,instanceId:d,port:b,sessionId:c}),0;let f=(0,m.ed)(e,c),g=[...f].sort((a,b)=>b.startedAt-a.startedAt),h=g.slice(0,50);g.length>h.length&&o.warn("opencode-transcript-backfill-truncated",{worktreeId:a.worktreeId,instanceId:d,sessionId:c,examined:h.length,skipped:g.length-h.length,limit:50});let i=function(a){let b=new Map;if(!Array.isArray(a))return b;for(let c of a){if(!(0,j.Qd)(c))continue;let a=(0,j.Qd)(c.info)?c.info:null;if(!a||"assistant"!==a.role)continue;let d=(0,j.O2)(a,m.Pv);if(!d)continue;let e=(0,j.Qd)(a.time)?a.time:null,f=t(e?.completed)??t(e?.created)??null;null!==f&&f>(b.get(d)??0)&&b.set(d,f)}return b}(e),l=0;for(let b of[...h].reverse())await v(a,(0,m.JZ)(b),Math.max(b.startedAt,i.get(b.userMessageId)??0),"backfill")&&(l+=1);return o.info("opencode-transcript-backfill-done",{worktreeId:a.worktreeId,instanceId:d,port:b,sessionId:c,turns:f.length,written:l}),l}catch(e){return o.error("opencode-transcript-backfill-failed",{worktreeId:a.worktreeId,instanceId:d,port:b,sessionId:c,error:e instanceof Error?e.message:String(e)}),0}}var x=c(75356),y=c(98211),z=c(90488),A=c(84574);function B(a){let b=(0,j.Qd)(a.properties)?a.properties:{};return(0,j.NZ)(b,["sessionID"])}function C(a,b){for(;a.size>b;){let b=a.keys().next();if(b.done)break;a.delete(b.value)}}let D=(0,d.h)("lib/hooks/sources/opencode/subscription"),E=[1e3,2e3,4e3,8e3,15e3,3e4],F=(0,n.v)("__opencodeSubscriptions",()=>new Map),G=(0,n.v)("__opencodeDroppedLiveness",()=>new Map),H=(0,n.v)("__opencodeProbedActivity",()=>new Map);function I(a){return(0,e.v7)(a.worktreeId,a.cliToolId,a.instanceId)}function J(a){return F.has(I(a))}function K(a){let b=I(a);return F.get(b)?.liveness??G.get(b)??{state:"unknown"}}function L(a,b,c){H.set(I(a),{activity:b,at:c})}function M(a){return H.get(I(a))??null}function N(a){return"live"===K(a).state}function O(a){return F.get(I(a))?.gate.primarySession()??null}function P(a,b,c){let d=F.get(I(a));if(!d)return{seen:Promise.resolve(!1),cancel:()=>{}};let e=()=>{},f=new Promise(a=>{e=a}),g=d.idleWaiters.get(b)??new Set;d.idleWaiters.set(b,g);let h=null,i=a=>{g.delete(i)&&(0===g.size&&d.idleWaiters.delete(b),null!==h&&clearTimeout(h),e(a))};return g.add(i),h=setTimeout(()=>i(!1),c),h.unref?.(),{seen:f,cancel:()=>i(!1)}}async function Q(a,b,c,d={}){let e=I(a),f=F.get(e);if(f)return R(f);G.delete(e),H.delete(e);let g=d.port??(0,A.hC)(a);if(null===g)return D.info("opencode-subscription-skipped-no-port",{worktreeId:a.worktreeId,instanceId:a.instanceId??a.cliToolId}),{close:async()=>{},liveness:{state:"unknown"}};let h={key:e,target:a,port:g,onEvent:b,normalize:c,gate:function(a=64,b=512,c=64){let d=new Map,e=new Set,f=new Set,g=null,h=(b,c)=>{d.delete(b),d.set(b,c),C(d,a)},i=()=>null!==g&&"busy"===d.get(g),k=a=>{var b;h(a,"busy"),b=a,!f.has(b)&&g!==b&&(i()||(g=b))};return{observe(a,l){let m=function(a){let b=(0,j.Qd)(a.properties)?a.properties:{},c=(0,j.Qd)(b.info)?b.info:null;return null!==c&&(0,j.NZ)(c,["parentID"])?(0,j.NZ)(c,["id"])??(0,j.NZ)(b,["sessionID"]):null}(l);if(null!==m&&(f.add(m),C(f,c),g===m&&(g=null)),"message.updated"===a){let{role:a,id:c}=function(a){let b=(0,j.Qd)(a.properties)?a.properties:{};return{role:(0,j.NZ)(b,["info","role"]),id:(0,j.NZ)(b,["info","id"])}}(l);if("user"!==a||null===c)return{kind:"ignored"};let d=B(l)??"";return e.has(c)?{kind:"suppressed",sessionId:d,reason:"already-announced"}:(e.add(c),C(e,b),{kind:"announced",sessionId:d,messageId:c})}if("session.status"===a){if("busy"!==function(a){let b=(0,j.Qd)(a.properties)?a.properties:{};return(0,j.NZ)(b,["status","type"])}(l))return{kind:"ignored"};let a=B(l);return null===a?{kind:"ignored"}:(k(a),{kind:"armed",sessionId:a})}if("session.error"===a){let a=B(l);return null===a?{kind:"ignored"}:{kind:"failed",sessionId:a,errorName:function(a){let b=(0,j.Qd)(a.properties)?a.properties:{};return(0,j.NZ)(b,["error","name"])}(l)}}if("session.idle"!==a)return{kind:"ignored"};let n=B(l);if(null===n)return{kind:"ignored"};if(f.has(n)||null!==g&&n!==g&&i())return h(n,"idle"),{kind:"suppressed",sessionId:n,reason:"foreign-session"};let o=d.get(n);return void 0===o?{kind:"suppressed",sessionId:n,reason:"never-armed"}:"idle"===o?{kind:"suppressed",sessionId:n,reason:"already-completed"}:(h(n,"idle"),{kind:"completed",sessionId:n})},isArmed:a=>"busy"===d.get(a),arm(a){k(a)},armedSessions:()=>[...d.entries()].filter(([,a])=>"busy"===a).map(([a])=>a),primarySession:()=>g,reset(){d.clear(),g=null}}}(),resync:d.resync??"none",seenDecisions:new Set,idleWaiters:new Map,announcedUpdates:new Set,streamController:new AbortController,lifetimeController:new AbortController,serverVersion:null,liveness:{state:"unknown"},closed:!1,watchdog:null};return F.set(e,h),D.info("opencode-subscription-opened",{worktreeId:a.worktreeId,instanceId:a.instanceId??a.cliToolId,port:g}),V(h),R(h)}function R(a){return{close:async()=>{await S(a.target)},get liveness(){return a.liveness}}}async function S(a){let b=I(a);G.delete(b),H.delete(b);let c=F.get(b);if(c){for(let a of(c.closed=!0,T(c),[...c.idleWaiters.values()]))for(let b of[...a])b(!1);c.idleWaiters.clear(),c.streamController.abort(),c.lifetimeController.abort(),F.delete(b),(0,f.cI)(a),p.delete(q(a)),(0,i.WC)(a),D.info("opencode-subscription-closed",{worktreeId:a.worktreeId,instanceId:a.instanceId??a.cliToolId,port:c.port})}}function T(a){null!==a.watchdog&&(clearTimeout(a.watchdog),a.watchdog=null)}function U(a){T(a);let b=setTimeout(()=>{a.closed||(D.warn("opencode-subscription-heartbeat-lost",{worktreeId:a.target.worktreeId,instanceId:a.target.instanceId??a.target.cliToolId,port:a.port,afterMs:3e4}),a.streamController.abort())},3e4);b.unref?.(),a.watchdog=b}async function V(a){let b=0;for(;!a.closed;){a.streamController=new AbortController;let c=a.gate.armedSessions();a.gate.reset();let d="stream-ended";try{let e=await W(a);if(a.closed)break;if("changed"===e)return;if("unreachable"===e)d="health-unreachable";else{let d=await (0,k.mi)(a.port,a.streamController.signal);for await(let e of(a.liveness={state:"live",lastHeartbeatAt:Date.now()},U(a),await X(a),await Y(a,c),await Z(a),b=0,d))b=0,U(a),function(a,b){let c=(0,j.O2)(b,"type");("server.heartbeat"===c||"server.connected"===c)&&(a.liveness={state:"live",lastHeartbeatAt:Date.now()}),$(a,b,Date.now())}(a,e)}}catch(a){d=a instanceof Error?a.message:String(a)}finally{T(a)}if(a.closed)break;a.liveness={state:"lost",since:Date.now(),reason:d},D.warn("opencode-subscription-disconnected",{worktreeId:a.target.worktreeId,instanceId:a.target.instanceId??a.target.cliToolId,port:a.port,reason:d,attempt:b}),await function(a,b){return new Promise(c=>{if(b.aborted)return void c();let d=()=>{clearTimeout(e),c()};b.addEventListener("abort",d,{once:!0});let e=setTimeout(()=>{b.removeEventListener("abort",d),c()},a);e.unref?.()})}(function(a){let b=Math.min(a,E.length-1);return E[b]}(b),a.lifetimeController.signal),b+=1}}async function W(a){var b,c;let d=await (0,k.sc)(a.port);if("healthy"!==d.kind)return D.info("opencode-subscription-health-unavailable",{worktreeId:a.target.worktreeId,instanceId:a.target.instanceId??a.target.cliToolId,port:a.port,outcome:d.kind,status:"rejected"===d.kind?d.status:void 0}),"unreachable";let e=d.health.version;return null===a.serverVersion||null===e?(a.serverVersion??=e,"same"):e===a.serverVersion?"same":(b=a,c=e,D.warn("opencode-subscription-port-identity-changed",{worktreeId:b.target.worktreeId,instanceId:b.target.instanceId??b.target.cliToolId,port:b.port,reason:"port_identity_changed",expectedVersion:b.serverVersion,observedVersion:c}),b.closed=!0,T(b),b.streamController.abort(),b.lifetimeController.abort(),b.liveness={state:"lost",since:Date.now(),reason:"port_identity_changed"},F.delete(b.key),G.set(b.key,b.liveness),"changed")}async function X(a){let b=Date.now(),[c,d]=await Promise.all([(0,k.Li)(a.port),(0,k.er)(a.port)]),e=(c,d)=>{let e=c.slice(0,50);for(let f of(c.length>e.length&&D.warn("opencode-resync-truncated",{worktreeId:a.target.worktreeId,instanceId:a.target.instanceId??a.target.cliToolId,type:d,examined:e.length,skipped:c.length-e.length,limit:50}),e)){let c=(0,j.O2)(f,"id");!c||a.seenDecisions.has(c)||$(a,{id:`resync_${c}`,type:d,properties:f},b)}};e(c,"permission.asked"),e(d,"question.asked")}async function Y(a,b){if("session-status-poll"!==a.resync)return;let c=await (0,k.mY)(a.port);if(null===c)return void D.info("opencode-resync-status-unavailable",{worktreeId:a.target.worktreeId,instanceId:a.target.instanceId??a.target.cliToolId,port:a.port});let d=[];for(let[b,e]of Object.entries(c))"busy"===e&&(a.gate.arm(b),d.push(b));let e=[];for(let d of b)"idle"===c[d]&&(a.gate.arm(d),e.push(d),$(a,{id:`resync_idle_${d}`,type:"session.idle",properties:{sessionID:d}},Date.now()));(d.length>0||e.length>0)&&D.info("opencode-turn-state-recovered",{worktreeId:a.target.worktreeId,instanceId:a.target.instanceId??a.target.cliToolId,port:a.port,rearmed:d,synthesized:e,primarySession:a.gate.primarySession()})}async function Z(a){try{let b=(0,h.KA)(a.target)?.sessionId??null,c=a.gate.primarySession()??b;if(!c)return;await w(a.target,a.port,c)}catch(b){D.warn("opencode-history-recovery-failed",{worktreeId:a.target.worktreeId,instanceId:a.target.instanceId??a.target.cliToolId,port:a.port,error:b instanceof Error?b.message:String(b)})}}function $(a,b,c){var d,e;let h=(0,j.O2)(b,"type");if("message.part.updated"===h){let a=(0,x.Zu)(b),c=(0,x.Dp)(b);a&&c&&(0,y.XL)(a,c)}if("session.updated"===h){let d=(0,f.Tv)(b,c);d&&(0,f.G1)(a.target,d)}if(("session.updated"===h||"message.updated"===h)&&(0,g.recordAgentReportedEffort)(a.target.worktreeId,a.target.cliToolId,a.target.instanceId,(0,x.Jd)(b)),("message.updated"===h||"message.part.updated"===h)&&function(a,b,c){try{let d=(0,j.O2)(b,"type"),e=(0,j.Qd)(b.properties)?b.properties:{},f=(0,j.O2)(e,"sessionID");if(!f)return;if("message.updated"===d){let b=(0,j.Qd)(e.info)?e.info:null;if(!b||"assistant"!==b.role)return;let d=(0,j.O2)(b,"parentID");if(!d)return;let g=r(a),h=g.get(f),i=h?.userMessageId===d?h:(0,m.lp)(f,d,c);if(i!==h)for(h&&o.info("opencode-transcript-turn-superseded",{worktreeId:a.worktreeId,instanceId:a.instanceId??a.cliToolId,sessionId:f,abandoned:h.userMessageId}),g.set(f,i);g.size>16;){let b=g.keys().next();if(b.done)break;g.delete(b.value),o.info("opencode-transcript-turn-evicted",{worktreeId:a.worktreeId,instanceId:a.instanceId??a.cliToolId,sessionId:b.value,reason:"max-open-turns"})}let k=(0,j.O2)(b,"id");k&&(0,m.ZG)(i,k);return}if("message.part.updated"!==d)return;let g=(0,m.TB)(e.part);if(!g)return;let h=r(a).get(f);if(!h||!(0,m.QT)(h,g.messageId))return void o.debug("opencode-transcript-part-unattached",{worktreeId:a.worktreeId,instanceId:a.instanceId??a.cliToolId,sessionId:f,partType:g.type,reason:h?"foreign-message":"no-open-turn"});(0,m.yG)(h,g)||o.warn("opencode-transcript-turn-overflow",{worktreeId:a.worktreeId,instanceId:a.instanceId??a.cliToolId,sessionId:f,partType:g.type}),s(a,h)}catch(b){o.error("opencode-transcript-record-failed",{worktreeId:a.worktreeId,instanceId:a.instanceId??a.cliToolId,error:b instanceof Error?b.message:String(b)})}}(a.target,b,c),("session.diff"===h||"session.updated"===h||"message.updated"===h)&&(0,i.hf)(a.target,b,c),"installation.update-available"===h&&function(a,b,c){let d=(0,j.Qd)(b.properties)?b.properties:{},e=(0,j.O2)(d,"version");if(e){if(a.announcedUpdates.has(e))return D.info("opencode-update-available-repeat-dropped",{worktreeId:a.target.worktreeId,instanceId:a.target.instanceId??a.target.cliToolId,version:e});a.announcedUpdates.add(e),D.info("opencode-update-available",{worktreeId:a.target.worktreeId,instanceId:a.target.instanceId??a.target.cliToolId,version:e}),(0,z.BF)(a.target,a.target.instanceId??a.target.cliToolId,e,c)}}(a,b,c),"session.idle"===h){let c=(0,j.O2)((0,j.Qd)(b.properties)?b.properties:{},"sessionID");if(c){let b=a.idleWaiters.get(c);if(b)for(let a of[...b])a(!0);u(a.target,c)}}let k=a.gate.observe(h,b);"failed"===k.kind&&D.warn("opencode-session-error",{worktreeId:a.target.worktreeId,instanceId:a.target.instanceId??a.target.cliToolId,sessionId:k.sessionId,errorName:k.errorName});let l=null;try{l=a.normalize({payload:b,receivedAt:c})}catch(a){D.error("opencode-normalize-threw",{type:h,error:a instanceof Error?a.message:String(a)});return}if(!l)return;let n=(d=l.event,e=k,"stop"===d&&"completed"!==e.kind?"suppressed"===e.kind?e.reason:"not-a-turn-end":"user_prompt_submit"===d&&"announced"!==e.kind?"suppressed"===e.kind?e.reason:"not-a-new-prompt":null);if(null!==n)return void D.info("opencode-repeat-suppressed",{worktreeId:a.target.worktreeId,instanceId:a.target.instanceId??a.target.cliToolId,sessionId:l.conversationId,event:l.event,reason:n});!function(a,b){let c=(0,j.O2)(b,"type");if("permission.asked"!==c&&"question.asked"!==c)return;let d=(0,j.Qd)(b.properties)?b.properties:{},e=(0,j.O2)(d,"id");if(e)for(a.seenDecisions.add(e);a.seenDecisions.size>256;){let b=a.seenDecisions.values().next();if(b.done)break;a.seenDecisions.delete(b.value)}}(a,b);try{a.onEvent(l)}catch(a){D.error("opencode-event-handler-failed",{type:h,error:a instanceof Error?a.message:String(a)})}}},75356:(a,b,c)=>{c.d(b,{C8:()=>h,Dp:()=>o,Jd:()=>l,Mn:()=>q,Tm:()=>g,Zu:()=>p,aF:()=>f,lu:()=>t,oG:()=>r,pV:()=>k,vE:()=>i});var d=c(62887),e=c(57510);let f="permission_prompt",g="question_prompt",h=d.KC,i="error";function j(a){return(0,e.Qd)(a.properties)?a.properties:{}}function k(a){let b=j(a).info;return(0,e.Qd)(b)?(0,e.NZ)(b,["model","modelID"])??(0,e.NZ)(b,["model","id"]):null}function l(a){let b=j(a).info;return(0,e.Qd)(b)?(0,e.NZ)(b,["model","variant"])??(0,e.NZ)(b,["variant"]):null}function m(a){return(0,e.NZ)(j(a),["part","state","status"])}function n(a){return"tool"===(0,e.NZ)(j(a),["part","type"])}function o(a){return(0,e.NZ)(j(a),["part","tool"])}function p(a){return(0,e.NZ)(j(a),["part","callID"])}function q(a){return(0,e.NZ)(j(a),["requestID"])}function r(a){let b=j(a);switch((0,e.NZ)(a,["type"])){case"permission.asked":case"question.asked":return(0,e.hY)((0,e.NZ)(b,["id"]));case"permission.replied":return(0,e.hY)(q(a));case"message.updated":return(0,e.hY)((0,e.NZ)(b,["info","id"]));case"message.part.updated":return(0,e.hY)(p(a));default:return null}}let s=["completed","error"],t=[(0,e.KR)("session.idle","stop"),(0,e.KR)("session.created","session_start"),(0,e.KR)("session.deleted","session_end"),(a,b)=>"message.updated"===a&&"user"===(0,e.NZ)(j(b),["info","role"])?{event:"user_prompt_submit"}:null,(a,b)=>"message.part.updated"===a&&n(b)&&"running"===m(b)?{event:"pre_tool_use",detail:(0,e.Wv)(o(b)),toolCallId:p(b)}:null,(a,b)=>"message.part.updated"===a&&n(b)&&s.includes(m(b)??"")?{event:"post_tool_use",detail:(0,e.Wv)(o(b)),toolCallId:p(b)}:null,(0,e.KR)("permission.asked","notification",f),(0,e.KR)("question.asked","notification",g),(0,e.KR)("session.error","notification",i),(0,e.KR)("permission.replied","notification",h)].map(function(a){return(b,c)=>{let d=a(b,c);return d?{...d,conversationId:d.conversationId??(0,e.NZ)(j(c),["sessionID"])}:null}})},86594:(a,b,c)=>{function d(a){return`oc-turn:${a}`}function e(a){return`claude-turn:${a}`}function f(a){return`claude-prompt:${a}`}c.d(b,{Ac:()=>j,H_:()=>f,O1:()=>k,ST:()=>g,TW:()=>n,Wr:()=>h,ZS:()=>i,jN:()=>l,jT:()=>d,qe:()=>e,sT:()=>m});let g="partial:";function h(a,b){return`${g}${a}:${b}`}function i(a){return`codex-turn:${a}`}function j(a){return`codex-prompt:${a}`}function k(a,b){return`antigravity-turn:${a}#${b}`}function l(a,b){return`antigravity-prompt:${a}#${b}`}function m(a){return`command-code-turn:${a}`}function n(a){return`command-code-prompt:${a}`}},90488:(a,b,c)=>{c.d(b,{BF:()=>j,Vo:()=>h,dJ:()=>i});let d=(0,c(72626).h)("lib/hooks/sources/opencode/push");async function e(a){try{let[{getDbInstance:b},{getWorktreeById:d}]=await Promise.all([Promise.resolve().then(c.bind(c,88807)),Promise.resolve().then(c.bind(c,56791))]);return d(b(),a)?.name??a}catch{return a}}async function f(){return Promise.all([c.e(1356),c.e(1191)]).then(c.bind(c,61191))}async function g(a,b){return{worktreeId:a.worktreeId,worktreeName:await e(a.worktreeId),instanceId:b}}async function h(a,b,c,e){try{let{notifyPushSubscribers:h,buildExcerpt:i}=await f(),j=await g(a,b);await h({...j,kind:"prompt",agentName:b,waitingKind:"prompt",waitingSince:e,excerpt:i(c??void 0,80)},e),d.info("opencode-question-push-sent",{worktreeId:a.worktreeId,instanceId:b,hasQuestion:null!==c})}catch(c){d.warn("opencode-question-push-failed",{worktreeId:a.worktreeId,instanceId:b,error:c instanceof Error?c.message:String(c)})}}async function i(a,b,c,e,h,i){if("MessageAbortedError"===c)return void d.info("opencode-error-push-skipped-interrupt",{worktreeId:a.worktreeId,instanceId:b,errorName:c});try{let{notifyPushSubscribers:j,buildExcerpt:k}=await f(),l=await g(a,b);await j({...l,kind:"failure",agentName:b,excerpt:k(e??void 0,80),failure:{reason:"agent-session-error",signature:`opencode:session-error:${h??"unknown"}:${c??"unknown"}`}},i),d.info("opencode-error-push-sent",{worktreeId:a.worktreeId,instanceId:b,errorName:c,sessionId:h})}catch(c){d.warn("opencode-error-push-failed",{worktreeId:a.worktreeId,instanceId:b,error:c instanceof Error?c.message:String(c)})}}async function j(a,b,c,e){try{let{notifyPushSubscribers:h}=await f(),i=await g(a,b);await h({...i,kind:"completion",agentName:b,excerpt:c,updateAvailable:{agent:b,version:c}},e),d.info("opencode-update-push-sent",{worktreeId:a.worktreeId,instanceId:b,version:c})}catch(c){d.warn("opencode-update-push-failed",{worktreeId:a.worktreeId,instanceId:b,error:c instanceof Error?c.message:String(c)})}}},98211:(a,b,c)=>{c.d(b,{AB:()=>m,FZ:()=>i,LF:()=>l,Lu:()=>k,XL:()=>g,v1:()=>j});var d=c(2466),e=c(57510);let f=(0,c(36925).v)("__opencodeToolCallNames",()=>new Map);function g(a,b){for(f.delete(a),f.set(a,b);f.size>256;){let a=f.keys().next();if(a.done)break;f.delete(a.value)}}function h(a){return"string"==typeof a.type&&(0,e.Qd)(a.properties)?a.properties:a}function i(a){var b;let c=h(a),d=(0,e.O2)(c,"id"),g=(0,e.O2)(c,"sessionID");if(!d||!g||Array.isArray(c.questions))return null;let i=(0,e.O2)(c,"permission"),j=(0,e.Qd)(c.metadata)?c.metadata:{};return{toolName:((b=(0,e.NZ)(c,["tool","callID"]))?f.get(b)??null:null)??i??"permission",toolInput:{permission:i,patterns:Array.isArray(c.patterns)?c.patterns:[],...j},promptId:d,sessionId:g,permissionMode:null,permissionSuggestions:Array.isArray(c.always)?c.always:null}}function j(a){let b=h(a),c=(0,e.O2)(b,"id");if(!c)return null;let f=(0,d.u_)({questions:b.questions});return null===f?null:{questions:f,promptId:c}}function k(a,b){let c=i(a);return c&&c.promptId?{kind:"permission",id:c.promptId,conversationId:c.sessionId,subject:{kind:"permission",toolName:c.toolName,toolInput:c.toolInput},raw:a,askedAt:b}:null}function l(a,b){let c=k(a,b);if(!c||"permission"!==c.subject.kind)return null;let d=c.subject.toolInput.patterns;return{toolName:c.subject.toolName,patterns:Array.isArray(d)?d:[]}}function m(a,b){let c=h(a),d=(0,e.O2)(c,"id"),f=j(a);return d&&f?{kind:"question",id:d,conversationId:(0,e.O2)(c,"sessionID"),subject:{kind:"question",spec:f},raw:a,askedAt:b}:null}},98322:(a,b,c)=>{c.d(b,{JZ:()=>m,Pv:()=>f,QT:()=>i,TB:()=>j,ZG:()=>h,ed:()=>n,lp:()=>g,yG:()=>k});var d=c(57510),e=c(27128);let f="parentID";function g(a,b,c){return{sessionId:a,userMessageId:b,parts:new Map,assistantMessageIds:new Set,startedAt:c,overflowed:!1}}function h(a,b){a.assistantMessageIds.add(b)}function i(a,b){return a.assistantMessageIds.has(b)}function j(a){if(!(0,d.Qd)(a))return null;let b=(0,d.O2)(a,"id"),c=(0,d.O2)(a,"messageID"),e=(0,d.O2)(a,"type");if(!b||!c||!e)return null;let f=(0,d.Qd)(a.state)?a.state:null;return{id:b,messageId:c,type:e,text:"string"==typeof a.text?a.text:null,tool:(0,d.O2)(a,"tool"),status:f?(0,d.O2)(f,"status"):null,title:f?(0,d.O2)(f,"title"):null,error:f?(0,d.O2)(f,"error")??(0,d.NZ)(f,["error","message"]):null}}function k(a,b){return!a.parts.has(b.id)&&a.parts.size>=512?(a.overflowed=!0,!1):(a.parts.set(b.id,b),!0)}let l=new Set(["step-start","step-finish","snapshot","patch"]);function m(a){let b=[],c=new Set,d=0,f=0;for(let g of a.parts.values()){if("text"===g.type){let a=g.text?.trim()??"";if(0===a.length)continue;b.push({kind:"prose",text:a}),d+=1;continue}if("reasoning"===g.type){let a=g.text?.trim()??"";if(0===a.length)continue;b.push({kind:"reasoning",text:a});continue}if("tool"===g.type){if("pending"===g.status)continue;b.push({kind:"tool",text:function(a){let b=a.tool??"tool",c=a.title??null,d="error"===a.status,f=`- \`${b}\`${c?` — ${(0,e.PB)(c)}`:""}`;return d?a.error?`${f} _(error: ${(0,e.PB)(a.error)})_`:`${f} _(error)_`:f}(g)}),f+=1;continue}l.has(g.type)||c.add(g.type)}let g=(0,e.t3)(b),h=g.body;return h=(0,e.mg)(h,2e5,"\n\n_(truncated)_"),{sessionId:a.sessionId,userMessageId:a.userMessageId,body:h,textParts:d,toolParts:f,reasoningParts:g.reasoningBlocks,unknownPartTypes:[...c]}}function n(a,b){if(!Array.isArray(a))return[];let c=new Map;for(let e of a){if(!(0,d.Qd)(e))continue;let a=(0,d.Qd)(e.info)?e.info:null;if(!a||"assistant"!==a.role)continue;let l=(0,d.O2)(a,f);if(!l)continue;let m=function(a,b){let c=a;for(let a of b){if(!(0,d.Qd)(c))return null;c=c[a]}return"number"==typeof c&&Number.isFinite(c)?c:null}(a,["time","created"])??0,n=c.get(l);n||(n=g(b,l,m),c.set(l,n));let o=(0,d.O2)(a,"id");for(let a of(o&&h(n,o),Array.isArray(e.parts)?e.parts:[])){let b=j(a);b&&i(n,b.messageId)&&k(n,b)}}return[...c.values()]}}};
@@ -1 +1 @@
1
- "use strict";exports.id=9584,exports.ids=[9584],exports.modules={4548:(a,b,c)=>{c.d(b,{TW:()=>i,uu:()=>o}),c(55511);var d=c(29021);c(33873),c(7956);var e=c(75359),f=c(93356),g=c(55927),h=c(44440);d.constants.O_NOFOLLOW;let i=[".bash",".bat",".cjs",".cmd",".fish",".js",".lua",".mjs",".php",".pl",".ps1",".py",".rb",".sh",".ts",".zsh"],j=[".md",".markdown",".rst",".txt"];function k(a){let b=a.slice(a.lastIndexOf("/")+1),c=b.lastIndexOf(".");return c<=0?"":b.slice(c).toLowerCase()}function l(a,b){return!!i.includes(k(a))||b.length>=2&&35===b[0]&&33===b[1]}function m(a,b){throw new g.Om(a,b)}function n(a,b){return a.files.find(a=>a.path===b)}function o(a,b){return function(a,b){let c;for(let b of e.wD)n(a,b)||m(g.xC.LAYOUT_INVALID,{reason:"missing-required-entry",entry:b});let d=function(a){let b,c=n(a,e.KH);for(let b of(c||m(g.xC.MANIFEST_MISSING,{reason:"absent"}),a.files))b.path!==e.KH&&b.path.endsWith(`/${e.KH}`)&&m(g.xC.LAYOUT_INVALID,{reason:"nested-manifest",entry:(0,g.FC)(b.path)});try{b=(0,h.an)(c.bytes)}catch(a){throw(0,h.pg)(a)&&m(g.xC.MANIFEST_INVALID,{reason:a.code}),a}let d=(0,e.bX)(b);if(!d.ok){let a=d.errors[0];m(g.xC.MANIFEST_INVALID,{reason:a.code,field:a.path})}return d.value}(a);d.id!==b.skillId&&m(g.xC.MANIFEST_MISMATCH,{reason:"id"}),d.version!==b.version&&m(g.xC.MANIFEST_MISMATCH,{reason:"version"});let i=n(a,e.Wr);i||m(g.xC.SKILL_MD_INVALID,{reason:"absent"});try{c=(0,h.pM)(Buffer.from(i.bytes).toString("utf8"))}catch(a){throw(0,h.pg)(a)&&m(g.xC.SKILL_MD_INVALID,{reason:a.code}),a}(null===c||"object"!=typeof c||Array.isArray(c))&&m(g.xC.SKILL_MD_INVALID,{reason:"frontmatter-missing"});let o=c.name;"string"!=typeof o&&m(g.xC.SKILL_MD_INVALID,{reason:"frontmatter-name-missing"});let p=(0,e.EU)({directoryName:d.id,skillMdName:o,manifestId:d.id,manifestName:d.name});p.ok||m(g.xC.SKILL_MD_INVALID,{reason:p.errors[0].code});let q=(0,e.Yz)(d,a.files.map(a=>a.path));if(!q.ok){let a=q.errors[0];m(g.xC.MANIFEST_MISMATCH,{reason:a.message,entry:(0,g.FC)(String(a.detail?.path??""))})}for(let b of a.files)b.path!==e.KH&&function(a,b){var c,d;let h=b.files.find(b=>b.path===a.path);h||m(g.xC.MANIFEST_MISMATCH,{reason:"undeclared-file",entry:(0,g.FC)(a.path)});let i={entry:(0,g.FC)(a.path)};h.size!==a.size&&m(g.xC.SIZE_MISMATCH,i),(0,f.U2)(h.sha256,a.sha256)||m(g.xC.DIGEST_MISMATCH,i);let n=(c=a.path,d=a.bytes,c===e.Wr?"skill_md":l(c,d)?"script":j.includes(k(c))?"instruction":"asset");l(a.path,a.bytes)&&(!h.script||"script"!==h.kind)&&m(g.xC.UNDECLARED_SCRIPT,i),"script"!==h.kind||h.script||m(g.xC.MANIFEST_MISMATCH,{...i,reason:"kind-script-not-declared"}),"skill_md"===n!=("skill_md"===h.kind)&&m(g.xC.MANIFEST_MISMATCH,{...i,reason:"kind-mismatch"}),a.executable&&!h.executable&&m(g.xC.UNDECLARED_EXECUTABLE,i),!a.executable&&h.executable&&m(g.xC.MANIFEST_MISMATCH,{...i,reason:"executable-not-present"})}(b,d);let r={executable_paths:d.files.filter(a=>a.executable).map(a=>a.path).sort(),script_paths:d.files.filter(a=>a.script).map(a=>a.path).sort(),network_hosts:[...d.requirements.network_hosts],declared_permissions:[...d.declared_permissions]},s=(0,e.MD)(r),t=new Map(a.files.map(a=>[a.path,a.bytes])),u=a.files.map(a=>({path:a.path,sha256:a.sha256,size:a.size,executable:a.executable})).sort((a,b)=>a.path<b.path?-1:+(a.path>b.path));return Object.freeze({skillId:b.skillId,version:b.version,manifest:d,files:Object.freeze(u),directories:Object.freeze([...a.directories].sort()),inspection:Object.freeze(r),declaredRisk:d.declared_risk,computedRisk:s,effectiveRisk:(0,e.qZ)(d.declared_risk,s),readFile(a){let b=t.get(a);return b||m(g.xC.MANIFEST_MISMATCH,{reason:"unknown-file",entry:(0,g.FC)(a)}),new Uint8Array(b)}})}((0,g.qt)(a,b),b)}},55927:(a,b,c)=>{c.d(b,{FC:()=>l,Om:()=>j,qt:()=>q,uI:()=>k,xC:()=>g});var d=c(74075),e=c(75359),f=c(93356);let g={ARCHIVE_FORMAT:"SKILL_PACKAGE_ARCHIVE_FORMAT",ARCHIVE_TRUNCATED:"SKILL_PACKAGE_ARCHIVE_TRUNCATED",ENTRY_TYPE_FORBIDDEN:"SKILL_PACKAGE_ENTRY_TYPE_FORBIDDEN",ENTRY_PATH_UNSAFE:"SKILL_PACKAGE_ENTRY_PATH_UNSAFE",ENTRY_DUPLICATE:"SKILL_PACKAGE_ENTRY_DUPLICATE",ENTRY_COLLISION:"SKILL_PACKAGE_ENTRY_COLLISION",ENTRY_MODE_FORBIDDEN:"SKILL_PACKAGE_ENTRY_MODE_FORBIDDEN",ENTRY_LIMIT_EXCEEDED:"SKILL_PACKAGE_ENTRY_LIMIT_EXCEEDED",SIZE_LIMIT_EXCEEDED:"SKILL_PACKAGE_SIZE_LIMIT_EXCEEDED",COMPRESSION_RATIO_EXCEEDED:"SKILL_PACKAGE_COMPRESSION_RATIO_EXCEEDED",LAYOUT_INVALID:"SKILL_PACKAGE_LAYOUT_INVALID",MANIFEST_MISSING:"SKILL_PACKAGE_MANIFEST_MISSING",MANIFEST_INVALID:"SKILL_PACKAGE_MANIFEST_INVALID",MANIFEST_MISMATCH:"SKILL_PACKAGE_MANIFEST_MISMATCH",UNDECLARED_EXECUTABLE:"SKILL_PACKAGE_UNDECLARED_EXECUTABLE",UNDECLARED_SCRIPT:"SKILL_PACKAGE_UNDECLARED_SCRIPT",DIGEST_MISMATCH:"SKILL_PACKAGE_DIGEST_MISMATCH",SIZE_MISMATCH:"SKILL_PACKAGE_SIZE_MISMATCH",SKILL_MD_INVALID:"SKILL_PACKAGE_SKILL_MD_INVALID",STAGING_IO:"SKILL_PACKAGE_STAGING_IO",ABORTED:"SKILL_PACKAGE_ABORTED"},h={[g.ARCHIVE_FORMAT]:"archive",[g.ARCHIVE_TRUNCATED]:"archive",[g.ENTRY_TYPE_FORBIDDEN]:"path",[g.ENTRY_PATH_UNSAFE]:"path",[g.ENTRY_DUPLICATE]:"path",[g.ENTRY_COLLISION]:"path",[g.ENTRY_MODE_FORBIDDEN]:"path",[g.ENTRY_LIMIT_EXCEEDED]:"limit",[g.SIZE_LIMIT_EXCEEDED]:"limit",[g.COMPRESSION_RATIO_EXCEEDED]:"limit",[g.LAYOUT_INVALID]:"manifest",[g.MANIFEST_MISSING]:"manifest",[g.MANIFEST_INVALID]:"manifest",[g.MANIFEST_MISMATCH]:"manifest",[g.UNDECLARED_EXECUTABLE]:"manifest",[g.UNDECLARED_SCRIPT]:"manifest",[g.DIGEST_MISMATCH]:"integrity",[g.SIZE_MISMATCH]:"integrity",[g.SKILL_MD_INVALID]:"manifest",[g.STAGING_IO]:"staging",[g.ABORTED]:"staging"},i={[g.ARCHIVE_FORMAT]:"Skill package is not a readable tar.gz archive",[g.ARCHIVE_TRUNCATED]:"Skill package archive is truncated",[g.ENTRY_TYPE_FORBIDDEN]:"Skill package contains a forbidden entry type",[g.ENTRY_PATH_UNSAFE]:"Skill package contains an unsafe entry path",[g.ENTRY_DUPLICATE]:"Skill package declares the same entry twice",[g.ENTRY_COLLISION]:"Skill package contains colliding entry paths",[g.ENTRY_MODE_FORBIDDEN]:"Skill package entry carries forbidden mode bits",[g.ENTRY_LIMIT_EXCEEDED]:"Skill package contains too many entries",[g.SIZE_LIMIT_EXCEEDED]:"Skill package exceeds a size limit",[g.COMPRESSION_RATIO_EXCEEDED]:"Skill package decompression ratio exceeds the limit",[g.LAYOUT_INVALID]:"Skill package layout does not match the contract",[g.MANIFEST_MISSING]:"Skill package manifest is missing or misplaced",[g.MANIFEST_INVALID]:"Skill package manifest is not valid",[g.MANIFEST_MISMATCH]:"Skill package manifest does not match the package",[g.UNDECLARED_EXECUTABLE]:"Skill package contains an undeclared executable",[g.UNDECLARED_SCRIPT]:"Skill package contains an undeclared script",[g.DIGEST_MISMATCH]:"Skill package file digest does not match the manifest",[g.SIZE_MISMATCH]:"Skill package file size does not match the manifest",[g.SKILL_MD_INVALID]:"Skill package SKILL.md is missing or inconsistent",[g.STAGING_IO]:"Skill package staging could not be prepared",[g.ABORTED]:"Skill package processing was aborted"};class j extends Error{constructor(a,b){super(i[a]),this.name="SkillPackageError",this.code=a,this.category=h[a],b&&(this.detail=b)}}function k(a){return a instanceof j}function l(a){let b=a.replace(/[^A-Za-z0-9._/-]/g,a=>[...a].map(a=>`%${a.charCodeAt(0).toString(16).toUpperCase().padStart(2,"0")}`).join(""));return b.length>120?`${b.slice(0,120)}…`:b}function m(a,b){throw new j(a,b)}let n=new Set(["0","\0"]);function o(a,b,c){let d=a.subarray(b,b+c),e=d.indexOf(0);-1===e&&(e=d.length);for(let a=e;a<d.length;a++)0!==d[a]&&m(g.ARCHIVE_FORMAT,{field:"padding"});let f=Buffer.from(d.subarray(0,e)),h=f.toString("utf8");return Buffer.from(h,"utf8").equals(f)||m(g.ARCHIVE_FORMAT,{field:"encoding"}),h}function p(a,b,c){(128&a[b])!=0&&m(g.ARCHIVE_FORMAT,{field:"numeric-encoding"});let d="";for(let e=b;e<b+c;e++){let b=a[e];0!==b&&32!==b&&((b<48||b>55)&&m(g.ARCHIVE_FORMAT,{field:"numeric"}),d+=String.fromCharCode(b))}if(""===d)return 0;let e=parseInt(d,8);return Number.isSafeInteger(e)||m(g.ARCHIVE_FORMAT,{field:"numeric-range"}),e}function q(a,b){let c;(a.byteLength<2||31!==a[0]||139!==a[1])&&m(g.ARCHIVE_FORMAT,{field:"gzip-magic"});try{c=(0,d.gunzipSync)(a,{maxOutputLength:0x4000000})}catch(a){"ERR_BUFFER_TOO_LARGE"===a?.code&&m(g.SIZE_LIMIT_EXCEEDED,{limit:0x4000000}),m(g.ARCHIVE_FORMAT,{field:"gzip"})}c.byteLength>1048576&&c.byteLength/a.byteLength>200&&m(g.COMPRESSION_RATIO_EXCEEDED,{limit:200});let h=(function(a){(0===a.byteLength||a.byteLength%512!=0)&&m(g.ARCHIVE_TRUNCATED,{field:"alignment"});let b=[],c=0;for(;c+512<=a.byteLength;){let d=a.subarray(c,c+512);if(function(a){for(let b=0;b<a.length;b++)if(0!==a[b])return!1;return!0}(d)){for(let b=c;b<a.byteLength;b++)0!==a[b]&&m(g.ARCHIVE_FORMAT,{field:"trailer"});return b}!function(a,b){let c=0,d=0;for(let b=0;b<512;b++){let e=b>=148&&b<156?32:a[b];c+=e,d+=e>127?e-256:e}b!==c&&b!==d&&m(g.ARCHIVE_FORMAT,{field:"checksum"})}(d,p(d,148,8)),"ustar"!==o(d,257,6).trim()&&m(g.ARCHIVE_FORMAT,{field:"magic"});let f=o(d,156,1)||"\0",h="5"===f;h||n.has(f)||m(g.ENTRY_TYPE_FORBIDDEN,{typeflag:l(f)}),""!==o(d,157,100)&&m(g.ENTRY_TYPE_FORBIDDEN,{typeflag:"link"});let i=p(d,100,8);(3584&i)!=0&&m(g.ENTRY_MODE_FORBIDDEN,{bits:(3584&i).toString(8)});let j=o(d,345,155),k=o(d,0,100),q=""===j?k:`${j}/${k}`,r=p(d,124,12);h&&0!==r&&m(g.ARCHIVE_FORMAT,{field:"directory-size"}),r>e.em&&m(g.SIZE_LIMIT_EXCEEDED,{limit:e.em});let s=c+512,t=s+r;t>a.byteLength&&m(g.ARCHIVE_TRUNCATED),b.push({name:q,isDirectory:h,mode:i,size:r,bytes:h?new Uint8Array(0):a.subarray(s,t)}),b.length>1e3&&m(g.ENTRY_LIMIT_EXCEEDED,{limit:1e3}),c=s+512*Math.ceil(r/512)}return m(g.ARCHIVE_TRUNCATED,{field:"trailer"})})(c).map(a=>({entry:a,...function(a){let b=a;b.startsWith("./")&&(b=b.slice(2));let c=b.endsWith("/");return c&&(b=b.slice(0,-1)),""===b&&m(g.ENTRY_PATH_UNSAFE,{reason:"empty"}),{path:b,trailingSlash:c}}(a.name)})),i=function(a,b){let c=[b.skillId,`${b.skillId}-${b.version}`],d=new Set(a.map(a=>a.split("/")[0]));if(1!==d.size)return null;let e=[...d][0];return a.some(a=>a.startsWith(`${e}/`))?(c.includes(e)||m(g.LAYOUT_INVALID,{reason:"root-directory",entry:l(e)}),e):null}(h.map(a=>a.path),b),j=[],k=[],q=new Map,r=new Map,s=0;for(let a of h){let b=a.path;if(null!==i){if(b===i)continue;b=b.slice(i.length+1)}let c=a.entry.isDirectory||a.trailingSlash,d=(0,e.r5)(b,"/entry");d.ok||m(g.ENTRY_PATH_UNSAFE,{entry:l(b),reason:d.errors[0].message}),q.has(b)&&m(g.ENTRY_DUPLICATE,{entry:l(b)});let h=b.split("/").map(a=>(0,e.vy)(a)).join("/");if(void 0!==r.get(h)&&m(g.ENTRY_COLLISION,{entry:l(b)}),q.set(b,c),r.set(h,b),c){k.push(b);continue}(s+=a.entry.size)>0x4000000&&m(g.SIZE_LIMIT_EXCEEDED,{limit:0x4000000});let n=new Uint8Array(a.entry.bytes);j.push({path:b,size:a.entry.size,sha256:(0,f.Q_)(n),executable:(73&a.entry.mode)!=0,bytes:n})}for(let a of(j.filter(a=>a.path!==e.KH).length>e.xP&&m(g.ENTRY_LIMIT_EXCEEDED,{limit:e.xP}),k))j.some(b=>b.path===a)&&m(g.ENTRY_DUPLICATE,{entry:l(a)});for(let a of j){let b=a.path.split("/").slice(0,-1),c="";for(let d of b)c=""===c?d:`${c}/${d}`,j.some(a=>a.path===c)&&m(g.ENTRY_PATH_UNSAFE,{entry:l(a.path),reason:"parent-is-file"})}return{rootName:i,files:j,directories:k,compressedSize:a.byteLength,decompressedSize:c.byteLength}}},56791:(a,b,c)=>{c.r(b),c.d(b,{ACTIVE_FILTER:()=>d.ks,ACTIVE_TASK_STATUSES:()=>d.EL,AgentInstanceLimitError:()=>d.AC,CURRENT_SCHEMA_VERSION:()=>f.FT,DEFAULT_RUN_HISTORY_LIMIT:()=>d.Tu,InvalidAgentInstanceError:()=>d.ug,MAX_DISABLED_REPOSITORIES:()=>h.nc,MAX_RUN_HISTORY_DAYS:()=>d.eP,MAX_RUN_HISTORY_LIMIT:()=>d.mg,MemoDbError:()=>d.lm,NEW_SUBSCRIPTION_DEFAULTS:()=>d.s6,PUSH_DEFAULTS_VERSION:()=>d.VP,RepositoryDbError:()=>h.j8,TASK_STATUSES:()=>d.Hi,TERMINAL_TASK_STATUSES:()=>d.sA,VERIFICATION_GATE_SOURCES:()=>d.Dx,VERIFICATION_TRIGGERS:()=>d.af,WORKTREE_TODO_STATUSES:()=>d.KG,addAgentInstance:()=>d.Uq,cancelTimer:()=>d.Ud,cancelTimersByWorktree:()=>d.$$,cleanupOldTimers:()=>d.ul,clearInProgressMessageId:()=>d.YX,clearLastUserMessage:()=>d.cf,clearTimerHistory:()=>d.jf,closeDbInstance:()=>e.closeDbInstance,countAgentInstances:()=>d.fs,countDisabledRepositories:()=>h.QJ,countPushSubscriptionsForKind:()=>d.rC,countWorktreesByRepositoryPath:()=>h.kp,createCloneJob:()=>h.tw,createGateResult:()=>d.hl,createMemo:()=>d.To,createMessage:()=>d.oH,createRepository:()=>h.vB,createTask:()=>d.UT,createTimer:()=>d.CR,createVerificationRun:()=>d.rY,createWorktreeTodo:()=>d.yy,deleteAllMessages:()=>d.pE,deleteMemo:()=>d.cP,deleteMessageById:()=>d.DF,deleteMessagesByCliTool:()=>d.lA,deleteMessagesByInstance:()=>d.Qp,deletePushSubscriptionByEndpoint:()=>d.th,deleteRepository:()=>h.oG,deleteRepositoryWorktrees:()=>d.oZ,deleteSessionState:()=>d.ZP,deleteWorktreeTodo:()=>d.vg,deleteWorktreesByIds:()=>d.Rm,disableExistingRepository:()=>h.eP,disableRepository:()=>h.l$,ensureEnvRepositoriesRegistered:()=>h.ES,filterExcludedPaths:()=>h.Ho,findMessageByRequestId:()=>d.Ow,finishGateResult:()=>d.C8,finishVerificationRun:()=>d.u$,getActiveCloneJobByUrl:()=>h.fD,getActiveTask:()=>d.__,getActiveTaskForInstance:()=>d.MH,getAgentInstance:()=>d.BN,getAgentInstances:()=>d.m0,getAliasedWorktreeIds:()=>d.r3,getAllPushSubscriptions:()=>d.Se,getAllRepositories:()=>h.Yg,getAllRepositoriesWithWorktreeCount:()=>h._D,getAllWorktreeAliases:()=>d.fX,getAllWorktreeIds:()=>d.nO,getAllWorktreePathIds:()=>d.Sj,getCloneJob:()=>h.bM,getCloneJobsByStatus:()=>h.n_,getCurrentVersion:()=>f.Mj,getDailyReport:()=>d.ap,getDbInstance:()=>e.getDbInstance,getDefaultDbPath:()=>g.$b,getExcludedRepositories:()=>h.lS,getExcludedRepositoryPaths:()=>h.pr,getInitialBranch:()=>d.p4,getIssueDbPath:()=>g.zm,getLastAssistantMessageAt:()=>d.nP,getLastMessage:()=>d.sy,getLastUserMessage:()=>d.r8,getLegacyDbPaths:()=>u,getMemoById:()=>d.DN,getMemosByWorktreeId:()=>d.pZ,getMessageById:()=>d.kA,getMessages:()=>d.VL,getMessagesByDateRange:()=>d.lr,getMigrationHistory:()=>f.PS,getPendingTimerCountByWorktree:()=>d.GF,getPendingTimers:()=>d._O,getPushSubscriptionByEndpoint:()=>d.CF,getPushSubscriptionsForKind:()=>d.gn,getRepositories:()=>d.NV,getRepositoryById:()=>h.r,getRepositoryByNormalizedUrl:()=>h.Uj,getRepositoryByPath:()=>h.Dp,getRunningVerificationRun:()=>d.WZ,getSessionState:()=>d.y1,getTask:()=>d.gg,getTimerById:()=>d.kx,getTimersByWorktree:()=>d.DP,getTodosByWorktreeId:()=>d.fr,getVerificationRun:()=>d.J6,getWorktreeAliases:()=>d.Q2,getWorktreeById:()=>d.Ui,getWorktreeIdsByRepository:()=>d.P9,getWorktreeTodoById:()=>d.eN,getWorktrees:()=>d.vi,getWorktreesByRepository:()=>d.uJ,initDatabase:()=>d.s4,isTerminalTaskStatus:()=>d.uB,isWorktreeTodoStatus:()=>d.yT,listRunningVerificationRuns:()=>d.Fi,listTaskEvents:()=>d.HB,listTasks:()=>d.Vk,listVerificationRuns:()=>d.Mt,listVerificationRunsForPeriod:()=>d.UE,markPendingPromptsAsAnswered:()=>d.PL,migrateDbIfNeeded:()=>w,migrateWorktreeIdPreservingChildren:()=>d._h,pushSubscriptionNeedsDefaultsNotice:()=>d.Zj,recomputeLastUserMessage:()=>d.jp,recordAnsweredPrompt:()=>d.pG,recordWorktreeAlias:()=>d.xJ,recoverStuckSendingTimers:()=>d.Xm,registerAndFilterRepositories:()=>h.$G,removeAgentInstance:()=>d.NU,reorderMemos:()=>d.nQ,reorderWorktreeTodos:()=>d.yb,resolveAndValidatePath:()=>t,resolveRepositoryPath:()=>h.mE,resolveWorktreeIdWithAlias:()=>d.l0,restoreRepository:()=>h.RS,rollbackMigrations:()=>f.Wy,runMigrations:()=>f.vI,saveDailyReport:()=>d.tt,saveInitialBranch:()=>d.GA,setAgentInstances:()=>d.Cs,setInProgressMessageId:()=>d.OF,setRepositoryEnabled:()=>h.iQ,updateCliToolId:()=>d.WU,updateCloneJob:()=>h.k5,updateDailyReportContent:()=>d.IF,updateFavorite:()=>d.O,updateLastUserMessage:()=>d.EU,updateLastViewedAt:()=>d.HZ,updateMemo:()=>d.UY,updateMessageContent:()=>d.e8,updatePromptData:()=>d.cw,updatePushSubscriptionPreferences:()=>d.jJ,updateRepository:()=>h.Ir,updateSelectedAgents:()=>d.DC,updateSessionState:()=>d.PP,updateStatus:()=>d.yB,updateTimerStatus:()=>d.j2,updateVibeLocalContextWindow:()=>d.s,updateVibeLocalModel:()=>d.iu,updateWorktreeDescription:()=>d.hq,updateWorktreeLink:()=>d.z1,updateWorktreeTodo:()=>d.bl,upsertPushSubscription:()=>d.jA,upsertWorktree:()=>d.ZL,validateDbPath:()=>g.Sv,validateRepositoryPath:()=>h.Ux,validateSchema:()=>f.i6});var d=c(683),e=c(88807),f=c(55741),g=c(20416),h=c(10406),i=c(87550),j=c.n(i),k=c(55511),l=c.n(k),m=c(29021),n=c.n(m),o=c(33873),p=c.n(o),q=c(21820),r=c(7956);let s=(0,c(72626).h)("db-migration-path");function t(a,b){try{if(!n().existsSync(a))return null;let c=n().realpathSync(a);if((0,r.fW)(c))return s.warn(`[Security] ${b} points to system directory, skipping: ${c}`),null;return c}catch{return s.warn(`[Security] Failed to resolve ${b}: ${a}`),null}}function u(){let a=[];a.push(p().join(process.cwd(),"data","db.sqlite")),a.push(p().join(process.cwd(),"data","cm.db")),a.push(p().join((0,q.homedir)(),".commandmate","data","db.sqlite"));let b=process.env.DATABASE_PATH;if(b)try{let c=p().resolve(b);(0,r.fW)(c)?s.warn(`[Security] Skipping DATABASE_PATH in system directory: ${c}`):a.push(b)}catch{s.warn(`[Security] Invalid DATABASE_PATH: ${b}`)}return a}function v(a,b){if(function(a){try{return n().statSync(`${a}-wal`).size>0}catch{return!1}}(a)){let c=`${b}.${l().randomBytes(4).toString("hex")}.partial`;try{n().closeSync(n().openSync(c,"wx",384));let d=new(j())(a,{readonly:!0,fileMustExist:!0});try{d.prepare("VACUUM INTO ?").run(c)}finally{d.close()}n().renameSync(c,b)}catch(a){throw n().rmSync(c,{force:!0}),a}}else n().copyFileSync(a,b)}function w(a){let b=p().resolve(a);if((0,r.fW)(b))throw Error(`Security error: Target path cannot be in system directory: ${b}`);if(n().existsSync(a)){let b=t(a,"target path");if(b)return{migrated:!1,targetPath:b}}for(let a of u()){let c=t(a,"legacy path");if(!c)continue;let d=`${c}.bak`;v(c,d),n().chmodSync(d,384);let e=p().dirname(b);return n().existsSync(e)||n().mkdirSync(e,{recursive:!0,mode:448}),v(c,b),s.info(`[Migration] Database migrated from ${c} to ${b}`),s.info(`[Migration] Backup created at ${d}`),{migrated:!0,sourcePath:c,targetPath:b,backupPath:d}}return{migrated:!1,targetPath:b}}},82484:(a,b,c)=>{c.d(b,{E4:()=>z,QY:()=>s,Sw:()=>D,cl:()=>A,jY:()=>u,ne:()=>x});var d=c(55511),e=c(33873),f=c.n(e),g=c(96210),h=c(93356),i=c(52710),j=c(33095),k=c(1185),l=c(89936),m=c(4548),n=c(36931),o=c(36925);let p={LOCAL_CHANGES:"SKILL_UPDATE_LOCAL_CHANGES",ROOT_MISSING:"SKILL_UPDATE_ROOT_MISSING",RECEIPT_MISSING:"SKILL_UPDATE_RECEIPT_MISSING",RECEIPT_UNREADABLE:"SKILL_UPDATE_RECEIPT_UNREADABLE",RECEIPT_FOREIGN:"SKILL_UPDATE_RECEIPT_FOREIGN",ROOT_RECEIPT_DIVERGED:"SKILL_UPDATE_ROOT_RECEIPT_DIVERGED",TREE_SCAN_TRUNCATED:"SKILL_UPDATE_TREE_SCAN_TRUNCATED",INCOMPATIBLE:"SKILL_UPDATE_INCOMPATIBLE"},q={[p.LOCAL_CHANGES]:"skills.update.blocked.localChanges",[p.ROOT_MISSING]:"skills.update.blocked.rootMissing",[p.RECEIPT_MISSING]:"skills.update.blocked.receiptMissing",[p.RECEIPT_UNREADABLE]:"skills.update.blocked.receiptUnreadable",[p.RECEIPT_FOREIGN]:"skills.update.blocked.receiptForeign",[p.ROOT_RECEIPT_DIVERGED]:"skills.update.blocked.rootReceiptDiverged",[p.TREE_SCAN_TRUNCATED]:"skills.update.blocked.treeScanTruncated",[p.INCOMPATIBLE]:"skills.update.blocked.incompatible"},r={updatable:"skills.update.nextAction.updatable",blocked:"skills.update.nextAction.blocked"};function s(a,b,c){let d;if(!g.X0.test(b)||b.length>g.cj)throw new i.nf(i.ER.TARGET_UNSAFE);try{d=(0,j.yj)(a,c,b)}catch{throw new i.nf(i.ER.TARGET_UNSAFE)}let e=(0,j.bh)(d);if(!e.present)return{state:"not_installed"};let f=e.files.find(a=>a.path===i.zi);if(!f)return{state:"receipt_missing"};let h=(0,i.q$)(f.bytes);return null===h?{state:"receipt_unreadable"}:h.skill_id!==b?{state:"receipt_foreign"}:{state:"ok",receipt:h,receiptDigest:f.sha256}}let t=(0,o.v)("__skillUpdatePlans",()=>({records:new Map})),u=/^[0-9a-f]{48}$/;function v(a){t.records.delete(a.token),null===a.consumedAt&&(0,l.TO)(a.binding.snapshotId)}function w(a,b){let c=0;for(let d of[...t.records.values()])d.token!==b&&a>=d.expiresAt&&(v(d),c+=1);return c}function x(a={}){return w(a.now??Date.now())}function y(a,b){if(!u.test(a))throw new i.nf(i.ER.NOT_FOUND);let c=t.records.get(a);if(w(b,a),!c)throw new i.nf(i.ER.NOT_FOUND);let e=Buffer.from(a,"utf-8"),f=Buffer.from(c.token,"utf-8");if(e.length!==f.length||!(0,d.timingSafeEqual)(e,f))throw new i.nf(i.ER.NOT_FOUND);if(b>=c.expiresAt)throw v(c),new i.nf(i.ER.EXPIRED);if(null!==c.consumedAt)throw new i.nf(i.ER.CONSUMED);return c}function z(a,b={}){return y(a,b.now??Date.now())}function A(a,b,c,d={}){let e=d.now??Date.now(),f=y(a,e),{binding:g}=f;if(g.actor.type!==b.actor.type||g.actor.id!==b.actor.id||g.worktreeId!==b.worktreeId||g.skillId!==b.skillId||g.toVersion!==b.toVersion)throw new i.nf(i.ER.BINDING_MISMATCH);if(!f.dto.updatable)throw new i.nf(i.ER.NOT_INSTALLABLE);if(f.dto.requiresRiskAcknowledgement&&!b.riskAcknowledged)throw new i.nf(i.ER.RISK_NOT_ACKNOWLEDGED);if(f.dto.riskIncreased&&!b.riskIncreaseAcknowledged)throw new i.nf(i.ER.RISK_NOT_ACKNOWLEDGED,{riskIncreased:!0});if(c.branch!==g.branch||c.headCommit!==g.headCommit||c.currentTreeHash!==g.currentTreeHash||null===c.receiptDigest||!(0,h.U2)(c.receiptDigest,g.currentReceiptDigest))throw new i.nf(i.ER.STALE);return f.consumedAt=e,f}function B(a,b,c=null){return{code:a,path:b,messageKey:q[a],detail:c}}let C={[k.sJ.LOCAL_MODIFICATION]:p.LOCAL_CHANGES,[k.sJ.RECEIPT_ORPHAN]:p.LOCAL_CHANGES,[k.sJ.UNMANAGED_FILE]:p.LOCAL_CHANGES,[k.sJ.NOT_A_REGULAR_FILE]:p.LOCAL_CHANGES,[k.sJ.NOT_INSTALLED]:p.ROOT_MISSING,[k.sJ.RECEIPT_MISSING]:p.RECEIPT_MISSING,[k.sJ.RECEIPT_UNREADABLE]:p.RECEIPT_UNREADABLE,[k.sJ.RECEIPT_FOREIGN]:p.RECEIPT_FOREIGN,[k.sJ.TREE_SCAN_TRUNCATED]:p.TREE_SCAN_TRUNCATED};function D(a){let b;if(!g.X0.test(a.skillId)||a.skillId.length>g.cj)throw new i.nf(i.ER.TARGET_UNSAFE);let c=a.now??Date.now(),{snapshot:e}=a,l=s(a.worktree.path,a.skillId,g.pg);if("not_installed"===l.state)throw new i.nf(i.ER.NOT_FOUND);if("ok"!==l.state||l.receipt.version!==a.fromVersion)throw new i.nf(i.ER.STALE);let o=l.receipt;try{b=(0,i.Pw)(o).map(b=>{let c=f().posix.dirname(b),d=(0,j.yj)(a.worktree.path,c,a.skillId),e=(0,j.bh)(d);return{prefix:c,rel:(0,j.QL)(c,a.skillId),existing:e,assessment:(0,k.II)(d,a.skillId,{existing:e,rootPrefix:c})}})}catch{throw new i.nf(i.ER.TARGET_UNSAFE)}let q=b[0],u=[];for(let a of b){for(let b of a.assessment.blockers){let a=C[b.code];a&&u.push(B(a,b.path,b.code))}a!==q&&null!==a.assessment.receiptDigest&&a.assessment.receiptDigest!==q.assessment.receiptDigest&&u.push(B(p.ROOT_RECEIPT_DIVERGED,`${a.rel}/${i.zi}`))}"compatible"!==a.compatibility.status&&u.push(B(p.INCOMPATIBLE,null));let x=b.map(a=>a.prefix),y=(0,i.$h)({snapshot:e,version:a.version,rootPrefixes:x}),z=(0,i.tJ)(y),A=(0,d.createHash)("sha256").update(z).digest("hex"),D=new Map(o.files.map(a=>[a.path,{sha256:a.sha256,size:a.size,executable:a.executable}])),E=q.existing.files.find(a=>a.path===i.zi);D.set(i.zi,{sha256:l.receiptDigest,size:E?.size??null,executable:!1});let F=new Map(e.files.map(a=>[a.path,{sha256:a.sha256,size:a.size,executable:a.executable,generated:!1}]));F.set(i.zi,{sha256:A,size:z.byteLength,executable:!1,generated:!0});let G=new Map(q.existing.files.map(a=>[a.path,a])),H={remainingBytes:j.mo},I=[],J={added:0,updated:0,removed:0,unchanged:0,localModified:0,localMissing:0,localUnknown:0,irregular:0},K=!1,L=!1;for(let a of[...new Set([...D.keys(),...F.keys()])].sort()){let b,c,d=D.get(a)??null,f=F.get(a)??null,g=G.get(a)??null;b=d&&f?(0,h.U2)(d.sha256,f.sha256)&&d.executable===f.executable?"unchanged":"update":f?"add":"remove",c=null===d?null===g?"match":"unknown":null===g?"missing":(0,h.U2)(g.sha256,d.sha256)&&g.executable===d.executable?"match":"modified";let k=f?.generated??a===i.zi,l=null!==d&&null!==g&&"match"===c?g.bytes:null,m=null===f?null:k?z:e.readFile(a),n=null!==l&&(0,j.VA)(l)||null!==m&&(0,j.VA)(m),o=null!==d&&"match"!==c,p=n||o||"unchanged"===b?{text:null,truncated:!1,additions:0,deletions:0}:(0,j.kt)(l,m,H);I.push({path:`${q.rel}/${a}`,relativePath:a,change:b,generated:k,recordedSha256:d?.sha256??null,candidateSha256:f?.sha256??null,currentSha256:g?.sha256??null,localState:c,size:f?.size??d?.size??null,executable:f?.executable??d?.executable??!1,binary:n,diff:p.text,diffTruncated:p.truncated,additions:p.additions,deletions:p.deletions}),"add"===b?J.added+=1:"update"===b?J.updated+=1:"remove"===b?J.removed+=1:J.unchanged+=1,n&&(K=!0),p.truncated&&(L=!0)}for(let a of b)J.localModified+=a.assessment.stats.modified,J.localMissing+=a.assessment.stats.missing,J.localUnknown+=a.assessment.stats.unknown,J.irregular+=a.assessment.stats.irregular;let M=(0,j.Hg)([...F.entries()].map(([a,b])=>({path:a,sha256:b.sha256,executable:b.executable}))),N=[];"detached"===a.git.headState&&N.push(j.OV.DETACHED_HEAD),"unborn"===a.git.headState&&N.push(j.OV.UNBORN_HEAD),"unknown"===a.git.headState&&N.push(j.OV.HEAD_UNRESOLVED);let O=(0,j.e)(a.git);O&&N.push(O),K&&N.push(j.OV.BINARY_CONTENT),L&&N.push(j.OV.DIFF_TRUNCATED),b.some(a=>a.existing.truncated)&&N.push(j.OV.TREE_SCAN_TRUNCATED);let P=function(a,b,c,d){let e={declared:a.declared_risk,computed:a.computed_risk,effective:a.effective_risk},f={declared:b.declaredRisk,computed:b.computedRisk,effective:b.effectiveRisk},h=new Set(a.declared_permissions),i=new Set(b.inspection.declared_permissions),j={added:[...i].filter(a=>!h.has(a)),removed:[...h].filter(a=>!i.has(a)),unchanged:[...i].filter(a=>h.has(a))},k=new Set(a.files.map(a=>a.path)),l=new Set(b.files.map(a=>a.path)),o=a.files.filter(a=>a.executable).map(a=>a.path),p=b.files.filter(a=>a.executable).map(a=>a.path),q={added:p.filter(a=>!o.includes(a)),removed:o.filter(a=>!p.includes(a))},r={added:b.inspection.script_paths.filter(a=>!k.has(a)),removed:[...k].filter(a=>(function(a){let b=a.slice(a.lastIndexOf("/")+1),c=b.lastIndexOf(".");return!(c<=0)&&m.TW.includes(b.slice(c).toLowerCase())})(a)&&!l.has(a))},s=d.versions.filter(b=>{let d=(0,n.Cg)(b.version,a.version),e=(0,n.Cg)(b.version,c.version);return null!==d&&d>0&&null!==e&&e<=0}).sort((a,b)=>(0,n.Cg)(b.version,a.version)??0).map(a=>({version:a.version,changelog:a.changelog}));return{risk:{from:e,to:f,increased:g.$Y[f.effective]>g.$Y[e.effective]},permissions:j,executables:q,scripts:r,requirements:{commands:b.manifest.requirements.commands.map(a=>({name:a.name,versionRange:a.version_range??null})),networkHosts:[...b.manifest.requirements.network_hosts]},changelogs:s,agents:{from:a.agent_compatibility.map(a=>({...a})),to:c.compatibility.agents.map(a=>({...a}))}}}(o,e,a.version,a.catalogEntry),Q="high"===e.effectiveRisk,R=P.risk.increased,S=(0,d.randomBytes)(24).toString("hex"),T=c+i.c$,U={actor:a.actor,operation:"update",worktreeId:a.worktree.id,skillId:a.skillId,fromVersion:o.version,toVersion:e.version,artifactSha256:a.version.artifact.sha256,snapshotId:a.snapshotId,currentReceiptDigest:l.receiptDigest,branch:a.git.branch,headCommit:a.git.headCommit,currentTreeHash:q.assessment.currentTreeHash,plannedTreeHash:M},V={token:S,expiresAt:new Date(T).toISOString().replace(/\.\d{3}Z$/,"Z"),updatable:0===u.length,blockers:u,nextActionKey:0===u.length?r.updatable:r.blocked,requiresRiskAcknowledgement:Q,riskAcknowledgementMessageKey:Q?"skills.update.highRiskAcknowledgement":null,riskIncreased:R,riskIncreaseMessageKey:R?"skills.update.riskIncreaseAcknowledgement":null,update:{fromVersion:o.version,toVersion:e.version,latestVersion:a.latestVersion,reasonCode:a.reasonCode,prerelease:a.prerelease},target:{worktreeId:a.worktree.id,worktreeName:a.worktree.name,repositoryName:a.worktree.repositoryName,branch:a.git.branch,headState:a.git.headState,headCommit:a.git.headCommit,workingTreeDirty:a.git.dirty,...a.git.dirtyUnknown?{workingTreeUnknown:!0}:{},installRoot:q.rel,installRoots:b.map(a=>a.rel),roots:b.map(a=>({installRoot:a.rel,rootPrefix:a.prefix,clean:a.assessment.removable,receiptDigest:a.assessment.receiptDigest,currentTreeHash:a.assessment.currentTreeHash})),currentTreeHash:q.assessment.currentTreeHash,plannedTreeHash:M},skill:function(a,b,c){let{manifest:d}=a;return{id:a.skillId,name:d.name,version:a.version,summary:d.summary,description:d.description,capabilities:[...d.capabilities],expectedOutcomes:[...d.expected_outcomes],provider:{...d.provider},license:d.license,homepage:d.homepage??null,declaredPermissions:[...a.inspection.declared_permissions],requirements:{commands:d.requirements.commands.map(a=>({name:a.name,versionRange:a.version_range??null})),networkHosts:[...d.requirements.network_hosts]},declaredRisk:a.declaredRisk,computedRisk:a.computedRisk,effectiveRisk:a.effectiveRisk,riskRationale:d.risk_rationale,executablePaths:[...a.inspection.executable_paths],scriptPaths:[...a.inspection.script_paths],compatibility:{commandmate:c,agents:b.compatibility.agents.map(a=>({...a}))},source:{repository:b.source.repository,ref:b.source.ref,commit:b.source.commit},artifact:{assetName:b.artifact.asset_name,sha256:b.artifact.sha256,size:b.artifact.size,format:b.artifact.format}}}(e,a.version,a.compatibility),securityDiff:P,receipt:{path:`${q.rel}/${i.zi}`,sha256:A,size:z.byteLength},files:I,stats:J,warnings:N},W={token:S,binding:U,bindingHash:(0,d.createHash)("sha256").update(function a(b){if(null===b||"object"!=typeof b)return JSON.stringify(b)??"null";if(Array.isArray(b))return`[${b.map(a).join(",")}]`;let c=Object.entries(b).filter(([,a])=>void 0!==a).sort(([a],[b])=>a<b?-1:+(a>b));return`{${c.map(([b,c])=>`${JSON.stringify(b)}:${a(c)}`).join(",")}}`}(U)).digest("hex"),createdAt:c,expiresAt:T,consumedAt:null,worktreePath:a.worktree.path,rootPrefixes:x,receipt:y,receiptBytes:z,dto:V};for(w(c);t.records.size>=i.sK;){let a=[...t.records.values()].sort((a,b)=>a.createdAt-b.createdAt)[0];if(!a)break;v(a)}return t.records.set(S,W),W}},98170:(a,b,c)=>{c.d(b,{mF:()=>m});var d=c(32520),e=c(72626),f=c(52710),g=c(1185),h=c(82484),i=c(89936),j=c(36925);let k=(0,e.h)("lib/skills/plan-sweeper"),l=(0,j.v)("__skillPlanSweeper",()=>({timer:null}));function m(){if(l.timer)return;let a=setInterval(()=>{try{let a=function(a={}){let b=a.now??Date.now(),c=(0,f.Jg)({now:b}),d=(0,g.kq)({now:b}),e=(0,h.ne)({now:b});return{installPlans:c,uninstallPlans:d,updatePlans:e,snapshots:(0,i.nW)()?(0,i.Jk)({now:b}):0}}();(a.installPlans||a.uninstallPlans||a.updatePlans||a.snapshots)&&k.debug("skill-plan-sweep",{...a})}catch(a){k.warn("skill-plan-sweep-failed",{error:a instanceof Error?a.message:String(a)})}},d.Oj);a.unref(),l.timer=a}}};
1
+ "use strict";exports.id=9584,exports.ids=[9584],exports.modules={4548:(a,b,c)=>{c.d(b,{TW:()=>i,uu:()=>o}),c(55511);var d=c(29021);c(33873),c(7956);var e=c(75359),f=c(93356),g=c(55927),h=c(44440);d.constants.O_NOFOLLOW;let i=[".bash",".bat",".cjs",".cmd",".fish",".js",".lua",".mjs",".php",".pl",".ps1",".py",".rb",".sh",".ts",".zsh"],j=[".md",".markdown",".rst",".txt"];function k(a){let b=a.slice(a.lastIndexOf("/")+1),c=b.lastIndexOf(".");return c<=0?"":b.slice(c).toLowerCase()}function l(a,b){return!!i.includes(k(a))||b.length>=2&&35===b[0]&&33===b[1]}function m(a,b){throw new g.Om(a,b)}function n(a,b){return a.files.find(a=>a.path===b)}function o(a,b){return function(a,b){let c;for(let b of e.wD)n(a,b)||m(g.xC.LAYOUT_INVALID,{reason:"missing-required-entry",entry:b});let d=function(a){let b,c=n(a,e.KH);for(let b of(c||m(g.xC.MANIFEST_MISSING,{reason:"absent"}),a.files))b.path!==e.KH&&b.path.endsWith(`/${e.KH}`)&&m(g.xC.LAYOUT_INVALID,{reason:"nested-manifest",entry:(0,g.FC)(b.path)});try{b=(0,h.an)(c.bytes)}catch(a){throw(0,h.pg)(a)&&m(g.xC.MANIFEST_INVALID,{reason:a.code}),a}let d=(0,e.bX)(b);if(!d.ok){let a=d.errors[0];m(g.xC.MANIFEST_INVALID,{reason:a.code,field:a.path})}return d.value}(a);d.id!==b.skillId&&m(g.xC.MANIFEST_MISMATCH,{reason:"id"}),d.version!==b.version&&m(g.xC.MANIFEST_MISMATCH,{reason:"version"});let i=n(a,e.Wr);i||m(g.xC.SKILL_MD_INVALID,{reason:"absent"});try{c=(0,h.pM)(Buffer.from(i.bytes).toString("utf8"))}catch(a){throw(0,h.pg)(a)&&m(g.xC.SKILL_MD_INVALID,{reason:a.code}),a}(null===c||"object"!=typeof c||Array.isArray(c))&&m(g.xC.SKILL_MD_INVALID,{reason:"frontmatter-missing"});let o=c.name;"string"!=typeof o&&m(g.xC.SKILL_MD_INVALID,{reason:"frontmatter-name-missing"});let p=(0,e.EU)({directoryName:d.id,skillMdName:o,manifestId:d.id,manifestName:d.name});p.ok||m(g.xC.SKILL_MD_INVALID,{reason:p.errors[0].code});let q=(0,e.Yz)(d,a.files.map(a=>a.path));if(!q.ok){let a=q.errors[0];m(g.xC.MANIFEST_MISMATCH,{reason:a.message,entry:(0,g.FC)(String(a.detail?.path??""))})}for(let b of a.files)b.path!==e.KH&&function(a,b){var c,d;let h=b.files.find(b=>b.path===a.path);h||m(g.xC.MANIFEST_MISMATCH,{reason:"undeclared-file",entry:(0,g.FC)(a.path)});let i={entry:(0,g.FC)(a.path)};h.size!==a.size&&m(g.xC.SIZE_MISMATCH,i),(0,f.U2)(h.sha256,a.sha256)||m(g.xC.DIGEST_MISMATCH,i);let n=(c=a.path,d=a.bytes,c===e.Wr?"skill_md":l(c,d)?"script":j.includes(k(c))?"instruction":"asset");l(a.path,a.bytes)&&(!h.script||"script"!==h.kind)&&m(g.xC.UNDECLARED_SCRIPT,i),"script"!==h.kind||h.script||m(g.xC.MANIFEST_MISMATCH,{...i,reason:"kind-script-not-declared"}),"skill_md"===n!=("skill_md"===h.kind)&&m(g.xC.MANIFEST_MISMATCH,{...i,reason:"kind-mismatch"}),a.executable&&!h.executable&&m(g.xC.UNDECLARED_EXECUTABLE,i),!a.executable&&h.executable&&m(g.xC.MANIFEST_MISMATCH,{...i,reason:"executable-not-present"})}(b,d);let r={executable_paths:d.files.filter(a=>a.executable).map(a=>a.path).sort(),script_paths:d.files.filter(a=>a.script).map(a=>a.path).sort(),network_hosts:[...d.requirements.network_hosts],declared_permissions:[...d.declared_permissions]},s=(0,e.MD)(r),t=new Map(a.files.map(a=>[a.path,a.bytes])),u=a.files.map(a=>({path:a.path,sha256:a.sha256,size:a.size,executable:a.executable})).sort((a,b)=>a.path<b.path?-1:+(a.path>b.path));return Object.freeze({skillId:b.skillId,version:b.version,manifest:d,files:Object.freeze(u),directories:Object.freeze([...a.directories].sort()),inspection:Object.freeze(r),declaredRisk:d.declared_risk,computedRisk:s,effectiveRisk:(0,e.qZ)(d.declared_risk,s),readFile(a){let b=t.get(a);return b||m(g.xC.MANIFEST_MISMATCH,{reason:"unknown-file",entry:(0,g.FC)(a)}),new Uint8Array(b)}})}((0,g.qt)(a,b),b)}},55927:(a,b,c)=>{c.d(b,{FC:()=>l,Om:()=>j,qt:()=>q,uI:()=>k,xC:()=>g});var d=c(74075),e=c(75359),f=c(93356);let g={ARCHIVE_FORMAT:"SKILL_PACKAGE_ARCHIVE_FORMAT",ARCHIVE_TRUNCATED:"SKILL_PACKAGE_ARCHIVE_TRUNCATED",ENTRY_TYPE_FORBIDDEN:"SKILL_PACKAGE_ENTRY_TYPE_FORBIDDEN",ENTRY_PATH_UNSAFE:"SKILL_PACKAGE_ENTRY_PATH_UNSAFE",ENTRY_DUPLICATE:"SKILL_PACKAGE_ENTRY_DUPLICATE",ENTRY_COLLISION:"SKILL_PACKAGE_ENTRY_COLLISION",ENTRY_MODE_FORBIDDEN:"SKILL_PACKAGE_ENTRY_MODE_FORBIDDEN",ENTRY_LIMIT_EXCEEDED:"SKILL_PACKAGE_ENTRY_LIMIT_EXCEEDED",SIZE_LIMIT_EXCEEDED:"SKILL_PACKAGE_SIZE_LIMIT_EXCEEDED",COMPRESSION_RATIO_EXCEEDED:"SKILL_PACKAGE_COMPRESSION_RATIO_EXCEEDED",LAYOUT_INVALID:"SKILL_PACKAGE_LAYOUT_INVALID",MANIFEST_MISSING:"SKILL_PACKAGE_MANIFEST_MISSING",MANIFEST_INVALID:"SKILL_PACKAGE_MANIFEST_INVALID",MANIFEST_MISMATCH:"SKILL_PACKAGE_MANIFEST_MISMATCH",UNDECLARED_EXECUTABLE:"SKILL_PACKAGE_UNDECLARED_EXECUTABLE",UNDECLARED_SCRIPT:"SKILL_PACKAGE_UNDECLARED_SCRIPT",DIGEST_MISMATCH:"SKILL_PACKAGE_DIGEST_MISMATCH",SIZE_MISMATCH:"SKILL_PACKAGE_SIZE_MISMATCH",SKILL_MD_INVALID:"SKILL_PACKAGE_SKILL_MD_INVALID",STAGING_IO:"SKILL_PACKAGE_STAGING_IO",ABORTED:"SKILL_PACKAGE_ABORTED"},h={[g.ARCHIVE_FORMAT]:"archive",[g.ARCHIVE_TRUNCATED]:"archive",[g.ENTRY_TYPE_FORBIDDEN]:"path",[g.ENTRY_PATH_UNSAFE]:"path",[g.ENTRY_DUPLICATE]:"path",[g.ENTRY_COLLISION]:"path",[g.ENTRY_MODE_FORBIDDEN]:"path",[g.ENTRY_LIMIT_EXCEEDED]:"limit",[g.SIZE_LIMIT_EXCEEDED]:"limit",[g.COMPRESSION_RATIO_EXCEEDED]:"limit",[g.LAYOUT_INVALID]:"manifest",[g.MANIFEST_MISSING]:"manifest",[g.MANIFEST_INVALID]:"manifest",[g.MANIFEST_MISMATCH]:"manifest",[g.UNDECLARED_EXECUTABLE]:"manifest",[g.UNDECLARED_SCRIPT]:"manifest",[g.DIGEST_MISMATCH]:"integrity",[g.SIZE_MISMATCH]:"integrity",[g.SKILL_MD_INVALID]:"manifest",[g.STAGING_IO]:"staging",[g.ABORTED]:"staging"},i={[g.ARCHIVE_FORMAT]:"Skill package is not a readable tar.gz archive",[g.ARCHIVE_TRUNCATED]:"Skill package archive is truncated",[g.ENTRY_TYPE_FORBIDDEN]:"Skill package contains a forbidden entry type",[g.ENTRY_PATH_UNSAFE]:"Skill package contains an unsafe entry path",[g.ENTRY_DUPLICATE]:"Skill package declares the same entry twice",[g.ENTRY_COLLISION]:"Skill package contains colliding entry paths",[g.ENTRY_MODE_FORBIDDEN]:"Skill package entry carries forbidden mode bits",[g.ENTRY_LIMIT_EXCEEDED]:"Skill package contains too many entries",[g.SIZE_LIMIT_EXCEEDED]:"Skill package exceeds a size limit",[g.COMPRESSION_RATIO_EXCEEDED]:"Skill package decompression ratio exceeds the limit",[g.LAYOUT_INVALID]:"Skill package layout does not match the contract",[g.MANIFEST_MISSING]:"Skill package manifest is missing or misplaced",[g.MANIFEST_INVALID]:"Skill package manifest is not valid",[g.MANIFEST_MISMATCH]:"Skill package manifest does not match the package",[g.UNDECLARED_EXECUTABLE]:"Skill package contains an undeclared executable",[g.UNDECLARED_SCRIPT]:"Skill package contains an undeclared script",[g.DIGEST_MISMATCH]:"Skill package file digest does not match the manifest",[g.SIZE_MISMATCH]:"Skill package file size does not match the manifest",[g.SKILL_MD_INVALID]:"Skill package SKILL.md is missing or inconsistent",[g.STAGING_IO]:"Skill package staging could not be prepared",[g.ABORTED]:"Skill package processing was aborted"};class j extends Error{constructor(a,b){super(i[a]),this.name="SkillPackageError",this.code=a,this.category=h[a],b&&(this.detail=b)}}function k(a){return a instanceof j}function l(a){let b=a.replace(/[^A-Za-z0-9._/-]/g,a=>[...a].map(a=>`%${a.charCodeAt(0).toString(16).toUpperCase().padStart(2,"0")}`).join(""));return b.length>120?`${b.slice(0,120)}…`:b}function m(a,b){throw new j(a,b)}let n=new Set(["0","\0"]);function o(a,b,c){let d=a.subarray(b,b+c),e=d.indexOf(0);-1===e&&(e=d.length);for(let a=e;a<d.length;a++)0!==d[a]&&m(g.ARCHIVE_FORMAT,{field:"padding"});let f=Buffer.from(d.subarray(0,e)),h=f.toString("utf8");return Buffer.from(h,"utf8").equals(f)||m(g.ARCHIVE_FORMAT,{field:"encoding"}),h}function p(a,b,c){(128&a[b])!=0&&m(g.ARCHIVE_FORMAT,{field:"numeric-encoding"});let d="";for(let e=b;e<b+c;e++){let b=a[e];0!==b&&32!==b&&((b<48||b>55)&&m(g.ARCHIVE_FORMAT,{field:"numeric"}),d+=String.fromCharCode(b))}if(""===d)return 0;let e=parseInt(d,8);return Number.isSafeInteger(e)||m(g.ARCHIVE_FORMAT,{field:"numeric-range"}),e}function q(a,b){let c;(a.byteLength<2||31!==a[0]||139!==a[1])&&m(g.ARCHIVE_FORMAT,{field:"gzip-magic"});try{c=(0,d.gunzipSync)(a,{maxOutputLength:0x4000000})}catch(a){"ERR_BUFFER_TOO_LARGE"===a?.code&&m(g.SIZE_LIMIT_EXCEEDED,{limit:0x4000000}),m(g.ARCHIVE_FORMAT,{field:"gzip"})}c.byteLength>1048576&&c.byteLength/a.byteLength>200&&m(g.COMPRESSION_RATIO_EXCEEDED,{limit:200});let h=(function(a){(0===a.byteLength||a.byteLength%512!=0)&&m(g.ARCHIVE_TRUNCATED,{field:"alignment"});let b=[],c=0;for(;c+512<=a.byteLength;){let d=a.subarray(c,c+512);if(function(a){for(let b=0;b<a.length;b++)if(0!==a[b])return!1;return!0}(d)){for(let b=c;b<a.byteLength;b++)0!==a[b]&&m(g.ARCHIVE_FORMAT,{field:"trailer"});return b}!function(a,b){let c=0,d=0;for(let b=0;b<512;b++){let e=b>=148&&b<156?32:a[b];c+=e,d+=e>127?e-256:e}b!==c&&b!==d&&m(g.ARCHIVE_FORMAT,{field:"checksum"})}(d,p(d,148,8)),"ustar"!==o(d,257,6).trim()&&m(g.ARCHIVE_FORMAT,{field:"magic"});let f=o(d,156,1)||"\0",h="5"===f;h||n.has(f)||m(g.ENTRY_TYPE_FORBIDDEN,{typeflag:l(f)}),""!==o(d,157,100)&&m(g.ENTRY_TYPE_FORBIDDEN,{typeflag:"link"});let i=p(d,100,8);(3584&i)!=0&&m(g.ENTRY_MODE_FORBIDDEN,{bits:(3584&i).toString(8)});let j=o(d,345,155),k=o(d,0,100),q=""===j?k:`${j}/${k}`,r=p(d,124,12);h&&0!==r&&m(g.ARCHIVE_FORMAT,{field:"directory-size"}),r>e.em&&m(g.SIZE_LIMIT_EXCEEDED,{limit:e.em});let s=c+512,t=s+r;t>a.byteLength&&m(g.ARCHIVE_TRUNCATED),b.push({name:q,isDirectory:h,mode:i,size:r,bytes:h?new Uint8Array(0):a.subarray(s,t)}),b.length>1e3&&m(g.ENTRY_LIMIT_EXCEEDED,{limit:1e3}),c=s+512*Math.ceil(r/512)}return m(g.ARCHIVE_TRUNCATED,{field:"trailer"})})(c).map(a=>({entry:a,...function(a){let b=a;b.startsWith("./")&&(b=b.slice(2));let c=b.endsWith("/");return c&&(b=b.slice(0,-1)),""===b&&m(g.ENTRY_PATH_UNSAFE,{reason:"empty"}),{path:b,trailingSlash:c}}(a.name)})),i=function(a,b){let c=[b.skillId,`${b.skillId}-${b.version}`],d=new Set(a.map(a=>a.split("/")[0]));if(1!==d.size)return null;let e=[...d][0];return a.some(a=>a.startsWith(`${e}/`))?(c.includes(e)||m(g.LAYOUT_INVALID,{reason:"root-directory",entry:l(e)}),e):null}(h.map(a=>a.path),b),j=[],k=[],q=new Map,r=new Map,s=0;for(let a of h){let b=a.path;if(null!==i){if(b===i)continue;b=b.slice(i.length+1)}let c=a.entry.isDirectory||a.trailingSlash,d=(0,e.r5)(b,"/entry");d.ok||m(g.ENTRY_PATH_UNSAFE,{entry:l(b),reason:d.errors[0].message}),q.has(b)&&m(g.ENTRY_DUPLICATE,{entry:l(b)});let h=b.split("/").map(a=>(0,e.vy)(a)).join("/");if(void 0!==r.get(h)&&m(g.ENTRY_COLLISION,{entry:l(b)}),q.set(b,c),r.set(h,b),c){k.push(b);continue}(s+=a.entry.size)>0x4000000&&m(g.SIZE_LIMIT_EXCEEDED,{limit:0x4000000});let n=new Uint8Array(a.entry.bytes);j.push({path:b,size:a.entry.size,sha256:(0,f.Q_)(n),executable:(73&a.entry.mode)!=0,bytes:n})}for(let a of(j.filter(a=>a.path!==e.KH).length>e.xP&&m(g.ENTRY_LIMIT_EXCEEDED,{limit:e.xP}),k))j.some(b=>b.path===a)&&m(g.ENTRY_DUPLICATE,{entry:l(a)});for(let a of j){let b=a.path.split("/").slice(0,-1),c="";for(let d of b)c=""===c?d:`${c}/${d}`,j.some(a=>a.path===c)&&m(g.ENTRY_PATH_UNSAFE,{entry:l(a.path),reason:"parent-is-file"})}return{rootName:i,files:j,directories:k,compressedSize:a.byteLength,decompressedSize:c.byteLength}}},56791:(a,b,c)=>{c.r(b),c.d(b,{ACTIVE_FILTER:()=>d.ks,ACTIVE_TASK_STATUSES:()=>d.EL,AgentInstanceLimitError:()=>d.AC,CURRENT_SCHEMA_VERSION:()=>f.FT,DEFAULT_RUN_HISTORY_LIMIT:()=>d.Tu,InvalidAgentInstanceError:()=>d.ug,MAX_DISABLED_REPOSITORIES:()=>h.nc,MAX_RUN_HISTORY_DAYS:()=>d.eP,MAX_RUN_HISTORY_LIMIT:()=>d.mg,MemoDbError:()=>d.lm,NEW_SUBSCRIPTION_DEFAULTS:()=>d.s6,PUSH_DEFAULTS_VERSION:()=>d.VP,RepositoryDbError:()=>h.j8,TASK_STATUSES:()=>d.Hi,TERMINAL_TASK_STATUSES:()=>d.sA,TEST_DB_ROOT_ENV:()=>e.TEST_DB_ROOT_ENV,VERIFICATION_GATE_SOURCES:()=>d.Dx,VERIFICATION_TRIGGERS:()=>d.af,WORKTREE_TODO_STATUSES:()=>d.KG,addAgentInstance:()=>d.Uq,assertTestDatabasePathIsolated:()=>e.assertTestDatabasePathIsolated,cancelTimer:()=>d.Ud,cancelTimersByWorktree:()=>d.$$,cleanupOldTimers:()=>d.ul,clearInProgressMessageId:()=>d.YX,clearLastUserMessage:()=>d.cf,clearTimerHistory:()=>d.jf,closeDbInstance:()=>e.closeDbInstance,countAgentInstances:()=>d.fs,countDisabledRepositories:()=>h.QJ,countPushSubscriptionsForKind:()=>d.rC,countWorktreesByRepositoryPath:()=>h.kp,createCloneJob:()=>h.tw,createGateResult:()=>d.hl,createMemo:()=>d.To,createMessage:()=>d.oH,createRepository:()=>h.vB,createTask:()=>d.UT,createTimer:()=>d.CR,createVerificationRun:()=>d.rY,createWorktreeTodo:()=>d.yy,deleteAllMessages:()=>d.pE,deleteMemo:()=>d.cP,deleteMessageById:()=>d.DF,deleteMessagesByCliTool:()=>d.lA,deleteMessagesByInstance:()=>d.Qp,deletePushSubscriptionByEndpoint:()=>d.th,deleteRepository:()=>h.oG,deleteRepositoryWorktrees:()=>d.oZ,deleteSessionState:()=>d.ZP,deleteWorktreeTodo:()=>d.vg,deleteWorktreesByIds:()=>d.Rm,disableExistingRepository:()=>h.eP,disableRepository:()=>h.l$,ensureEnvRepositoriesRegistered:()=>h.ES,filterExcludedPaths:()=>h.Ho,findMessageByRequestId:()=>d.Ow,finishGateResult:()=>d.C8,finishVerificationRun:()=>d.u$,getActiveCloneJobByUrl:()=>h.fD,getActiveTask:()=>d.__,getActiveTaskForInstance:()=>d.MH,getAgentInstance:()=>d.BN,getAgentInstances:()=>d.m0,getAliasedWorktreeIds:()=>d.r3,getAllPushSubscriptions:()=>d.Se,getAllRepositories:()=>h.Yg,getAllRepositoriesWithWorktreeCount:()=>h._D,getAllWorktreeAliases:()=>d.fX,getAllWorktreeIds:()=>d.nO,getAllWorktreePathIds:()=>d.Sj,getCloneJob:()=>h.bM,getCloneJobsByStatus:()=>h.n_,getCurrentVersion:()=>f.Mj,getDailyReport:()=>d.ap,getDbInstance:()=>e.getDbInstance,getDefaultDbPath:()=>g.$b,getExcludedRepositories:()=>h.lS,getExcludedRepositoryPaths:()=>h.pr,getInitialBranch:()=>d.p4,getIssueDbPath:()=>g.zm,getLastAssistantMessageAt:()=>d.nP,getLastMessage:()=>d.sy,getLastUserMessage:()=>d.r8,getLegacyDbPaths:()=>u,getMemoById:()=>d.DN,getMemosByWorktreeId:()=>d.pZ,getMessageById:()=>d.kA,getMessages:()=>d.VL,getMessagesByDateRange:()=>d.lr,getMigrationHistory:()=>f.PS,getPendingTimerCountByWorktree:()=>d.GF,getPendingTimers:()=>d._O,getPushSubscriptionByEndpoint:()=>d.CF,getPushSubscriptionsForKind:()=>d.gn,getRepositories:()=>d.NV,getRepositoryById:()=>h.r,getRepositoryByNormalizedUrl:()=>h.Uj,getRepositoryByPath:()=>h.Dp,getRunningVerificationRun:()=>d.WZ,getSessionState:()=>d.y1,getTask:()=>d.gg,getTimerById:()=>d.kx,getTimersByWorktree:()=>d.DP,getTodosByWorktreeId:()=>d.fr,getVerificationRun:()=>d.J6,getWorktreeAliases:()=>d.Q2,getWorktreeById:()=>d.Ui,getWorktreeIdsByRepository:()=>d.P9,getWorktreeTodoById:()=>d.eN,getWorktrees:()=>d.vi,getWorktreesByRepository:()=>d.uJ,initDatabase:()=>d.s4,isInsideVitestWorker:()=>e.isInsideVitestWorker,isTerminalTaskStatus:()=>d.uB,isWorktreeTodoStatus:()=>d.yT,listRunningVerificationRuns:()=>d.Fi,listTaskEvents:()=>d.HB,listTasks:()=>d.Vk,listVerificationRuns:()=>d.Mt,listVerificationRunsForPeriod:()=>d.UE,markPendingPromptsAsAnswered:()=>d.PL,migrateDbIfNeeded:()=>w,migrateWorktreeIdPreservingChildren:()=>d._h,pushSubscriptionNeedsDefaultsNotice:()=>d.Zj,recomputeLastUserMessage:()=>d.jp,recordAnsweredPrompt:()=>d.pG,recordWorktreeAlias:()=>d.xJ,recoverStuckSendingTimers:()=>d.Xm,registerAndFilterRepositories:()=>h.$G,removeAgentInstance:()=>d.NU,reorderMemos:()=>d.nQ,reorderWorktreeTodos:()=>d.yb,resolveAndValidatePath:()=>t,resolveRepositoryPath:()=>h.mE,resolveWorktreeIdWithAlias:()=>d.l0,restoreRepository:()=>h.RS,rollbackMigrations:()=>f.Wy,runMigrations:()=>f.vI,saveDailyReport:()=>d.tt,saveInitialBranch:()=>d.GA,setAgentInstances:()=>d.Cs,setInProgressMessageId:()=>d.OF,setRepositoryEnabled:()=>h.iQ,updateCliToolId:()=>d.WU,updateCloneJob:()=>h.k5,updateDailyReportContent:()=>d.IF,updateFavorite:()=>d.O,updateLastUserMessage:()=>d.EU,updateLastViewedAt:()=>d.HZ,updateMemo:()=>d.UY,updateMessageContent:()=>d.e8,updatePromptData:()=>d.cw,updatePushSubscriptionPreferences:()=>d.jJ,updateRepository:()=>h.Ir,updateSelectedAgents:()=>d.DC,updateSessionState:()=>d.PP,updateStatus:()=>d.yB,updateTimerStatus:()=>d.j2,updateVibeLocalContextWindow:()=>d.s,updateVibeLocalModel:()=>d.iu,updateWorktreeDescription:()=>d.hq,updateWorktreeLink:()=>d.z1,updateWorktreeTodo:()=>d.bl,upsertPushSubscription:()=>d.jA,upsertWorktree:()=>d.ZL,validateDbPath:()=>g.Sv,validateRepositoryPath:()=>h.Ux,validateSchema:()=>f.i6});var d=c(683),e=c(88807),f=c(28445),g=c(20416),h=c(10406),i=c(87550),j=c.n(i),k=c(55511),l=c.n(k),m=c(29021),n=c.n(m),o=c(33873),p=c.n(o),q=c(21820),r=c(7956);let s=(0,c(72626).h)("db-migration-path");function t(a,b){try{if(!n().existsSync(a))return null;let c=n().realpathSync(a);if((0,r.fW)(c))return s.warn(`[Security] ${b} points to system directory, skipping: ${c}`),null;return c}catch{return s.warn(`[Security] Failed to resolve ${b}: ${a}`),null}}function u(){let a=[];a.push(p().join(process.cwd(),"data","db.sqlite")),a.push(p().join(process.cwd(),"data","cm.db")),a.push(p().join((0,q.homedir)(),".commandmate","data","db.sqlite"));let b=process.env.DATABASE_PATH;if(b)try{let c=p().resolve(b);(0,r.fW)(c)?s.warn(`[Security] Skipping DATABASE_PATH in system directory: ${c}`):a.push(b)}catch{s.warn(`[Security] Invalid DATABASE_PATH: ${b}`)}return a}function v(a,b){if(function(a){try{return n().statSync(`${a}-wal`).size>0}catch{return!1}}(a)){let c=`${b}.${l().randomBytes(4).toString("hex")}.partial`;try{n().closeSync(n().openSync(c,"wx",384));let d=new(j())(a,{readonly:!0,fileMustExist:!0});try{d.prepare("VACUUM INTO ?").run(c)}finally{d.close()}n().renameSync(c,b)}catch(a){throw n().rmSync(c,{force:!0}),a}}else n().copyFileSync(a,b)}function w(a){let b=p().resolve(a);if((0,r.fW)(b))throw Error(`Security error: Target path cannot be in system directory: ${b}`);if(n().existsSync(a)){let b=t(a,"target path");if(b)return{migrated:!1,targetPath:b}}for(let a of u()){let c=t(a,"legacy path");if(!c)continue;let d=`${c}.bak`;v(c,d),n().chmodSync(d,384);let e=p().dirname(b);return n().existsSync(e)||n().mkdirSync(e,{recursive:!0,mode:448}),v(c,b),s.info(`[Migration] Database migrated from ${c} to ${b}`),s.info(`[Migration] Backup created at ${d}`),{migrated:!0,sourcePath:c,targetPath:b,backupPath:d}}return{migrated:!1,targetPath:b}}},82484:(a,b,c)=>{c.d(b,{E4:()=>z,QY:()=>s,Sw:()=>D,cl:()=>A,jY:()=>u,ne:()=>x});var d=c(55511),e=c(33873),f=c.n(e),g=c(96210),h=c(93356),i=c(52710),j=c(33095),k=c(1185),l=c(89936),m=c(4548),n=c(36931),o=c(36925);let p={LOCAL_CHANGES:"SKILL_UPDATE_LOCAL_CHANGES",ROOT_MISSING:"SKILL_UPDATE_ROOT_MISSING",RECEIPT_MISSING:"SKILL_UPDATE_RECEIPT_MISSING",RECEIPT_UNREADABLE:"SKILL_UPDATE_RECEIPT_UNREADABLE",RECEIPT_FOREIGN:"SKILL_UPDATE_RECEIPT_FOREIGN",ROOT_RECEIPT_DIVERGED:"SKILL_UPDATE_ROOT_RECEIPT_DIVERGED",TREE_SCAN_TRUNCATED:"SKILL_UPDATE_TREE_SCAN_TRUNCATED",INCOMPATIBLE:"SKILL_UPDATE_INCOMPATIBLE"},q={[p.LOCAL_CHANGES]:"skills.update.blocked.localChanges",[p.ROOT_MISSING]:"skills.update.blocked.rootMissing",[p.RECEIPT_MISSING]:"skills.update.blocked.receiptMissing",[p.RECEIPT_UNREADABLE]:"skills.update.blocked.receiptUnreadable",[p.RECEIPT_FOREIGN]:"skills.update.blocked.receiptForeign",[p.ROOT_RECEIPT_DIVERGED]:"skills.update.blocked.rootReceiptDiverged",[p.TREE_SCAN_TRUNCATED]:"skills.update.blocked.treeScanTruncated",[p.INCOMPATIBLE]:"skills.update.blocked.incompatible"},r={updatable:"skills.update.nextAction.updatable",blocked:"skills.update.nextAction.blocked"};function s(a,b,c){let d;if(!g.X0.test(b)||b.length>g.cj)throw new i.nf(i.ER.TARGET_UNSAFE);try{d=(0,j.yj)(a,c,b)}catch{throw new i.nf(i.ER.TARGET_UNSAFE)}let e=(0,j.bh)(d);if(!e.present)return{state:"not_installed"};let f=e.files.find(a=>a.path===i.zi);if(!f)return{state:"receipt_missing"};let h=(0,i.q$)(f.bytes);return null===h?{state:"receipt_unreadable"}:h.skill_id!==b?{state:"receipt_foreign"}:{state:"ok",receipt:h,receiptDigest:f.sha256}}let t=(0,o.v)("__skillUpdatePlans",()=>({records:new Map})),u=/^[0-9a-f]{48}$/;function v(a){t.records.delete(a.token),null===a.consumedAt&&(0,l.TO)(a.binding.snapshotId)}function w(a,b){let c=0;for(let d of[...t.records.values()])d.token!==b&&a>=d.expiresAt&&(v(d),c+=1);return c}function x(a={}){return w(a.now??Date.now())}function y(a,b){if(!u.test(a))throw new i.nf(i.ER.NOT_FOUND);let c=t.records.get(a);if(w(b,a),!c)throw new i.nf(i.ER.NOT_FOUND);let e=Buffer.from(a,"utf-8"),f=Buffer.from(c.token,"utf-8");if(e.length!==f.length||!(0,d.timingSafeEqual)(e,f))throw new i.nf(i.ER.NOT_FOUND);if(b>=c.expiresAt)throw v(c),new i.nf(i.ER.EXPIRED);if(null!==c.consumedAt)throw new i.nf(i.ER.CONSUMED);return c}function z(a,b={}){return y(a,b.now??Date.now())}function A(a,b,c,d={}){let e=d.now??Date.now(),f=y(a,e),{binding:g}=f;if(g.actor.type!==b.actor.type||g.actor.id!==b.actor.id||g.worktreeId!==b.worktreeId||g.skillId!==b.skillId||g.toVersion!==b.toVersion)throw new i.nf(i.ER.BINDING_MISMATCH);if(!f.dto.updatable)throw new i.nf(i.ER.NOT_INSTALLABLE);if(f.dto.requiresRiskAcknowledgement&&!b.riskAcknowledged)throw new i.nf(i.ER.RISK_NOT_ACKNOWLEDGED);if(f.dto.riskIncreased&&!b.riskIncreaseAcknowledged)throw new i.nf(i.ER.RISK_NOT_ACKNOWLEDGED,{riskIncreased:!0});if(c.branch!==g.branch||c.headCommit!==g.headCommit||c.currentTreeHash!==g.currentTreeHash||null===c.receiptDigest||!(0,h.U2)(c.receiptDigest,g.currentReceiptDigest))throw new i.nf(i.ER.STALE);return f.consumedAt=e,f}function B(a,b,c=null){return{code:a,path:b,messageKey:q[a],detail:c}}let C={[k.sJ.LOCAL_MODIFICATION]:p.LOCAL_CHANGES,[k.sJ.RECEIPT_ORPHAN]:p.LOCAL_CHANGES,[k.sJ.UNMANAGED_FILE]:p.LOCAL_CHANGES,[k.sJ.NOT_A_REGULAR_FILE]:p.LOCAL_CHANGES,[k.sJ.NOT_INSTALLED]:p.ROOT_MISSING,[k.sJ.RECEIPT_MISSING]:p.RECEIPT_MISSING,[k.sJ.RECEIPT_UNREADABLE]:p.RECEIPT_UNREADABLE,[k.sJ.RECEIPT_FOREIGN]:p.RECEIPT_FOREIGN,[k.sJ.TREE_SCAN_TRUNCATED]:p.TREE_SCAN_TRUNCATED};function D(a){let b;if(!g.X0.test(a.skillId)||a.skillId.length>g.cj)throw new i.nf(i.ER.TARGET_UNSAFE);let c=a.now??Date.now(),{snapshot:e}=a,l=s(a.worktree.path,a.skillId,g.pg);if("not_installed"===l.state)throw new i.nf(i.ER.NOT_FOUND);if("ok"!==l.state||l.receipt.version!==a.fromVersion)throw new i.nf(i.ER.STALE);let o=l.receipt;try{b=(0,i.Pw)(o).map(b=>{let c=f().posix.dirname(b),d=(0,j.yj)(a.worktree.path,c,a.skillId),e=(0,j.bh)(d);return{prefix:c,rel:(0,j.QL)(c,a.skillId),existing:e,assessment:(0,k.II)(d,a.skillId,{existing:e,rootPrefix:c})}})}catch{throw new i.nf(i.ER.TARGET_UNSAFE)}let q=b[0],u=[];for(let a of b){for(let b of a.assessment.blockers){let a=C[b.code];a&&u.push(B(a,b.path,b.code))}a!==q&&null!==a.assessment.receiptDigest&&a.assessment.receiptDigest!==q.assessment.receiptDigest&&u.push(B(p.ROOT_RECEIPT_DIVERGED,`${a.rel}/${i.zi}`))}"compatible"!==a.compatibility.status&&u.push(B(p.INCOMPATIBLE,null));let x=b.map(a=>a.prefix),y=(0,i.$h)({snapshot:e,version:a.version,rootPrefixes:x}),z=(0,i.tJ)(y),A=(0,d.createHash)("sha256").update(z).digest("hex"),D=new Map(o.files.map(a=>[a.path,{sha256:a.sha256,size:a.size,executable:a.executable}])),E=q.existing.files.find(a=>a.path===i.zi);D.set(i.zi,{sha256:l.receiptDigest,size:E?.size??null,executable:!1});let F=new Map(e.files.map(a=>[a.path,{sha256:a.sha256,size:a.size,executable:a.executable,generated:!1}]));F.set(i.zi,{sha256:A,size:z.byteLength,executable:!1,generated:!0});let G=new Map(q.existing.files.map(a=>[a.path,a])),H={remainingBytes:j.mo},I=[],J={added:0,updated:0,removed:0,unchanged:0,localModified:0,localMissing:0,localUnknown:0,irregular:0},K=!1,L=!1;for(let a of[...new Set([...D.keys(),...F.keys()])].sort()){let b,c,d=D.get(a)??null,f=F.get(a)??null,g=G.get(a)??null;b=d&&f?(0,h.U2)(d.sha256,f.sha256)&&d.executable===f.executable?"unchanged":"update":f?"add":"remove",c=null===d?null===g?"match":"unknown":null===g?"missing":(0,h.U2)(g.sha256,d.sha256)&&g.executable===d.executable?"match":"modified";let k=f?.generated??a===i.zi,l=null!==d&&null!==g&&"match"===c?g.bytes:null,m=null===f?null:k?z:e.readFile(a),n=null!==l&&(0,j.VA)(l)||null!==m&&(0,j.VA)(m),o=null!==d&&"match"!==c,p=n||o||"unchanged"===b?{text:null,truncated:!1,additions:0,deletions:0}:(0,j.kt)(l,m,H);I.push({path:`${q.rel}/${a}`,relativePath:a,change:b,generated:k,recordedSha256:d?.sha256??null,candidateSha256:f?.sha256??null,currentSha256:g?.sha256??null,localState:c,size:f?.size??d?.size??null,executable:f?.executable??d?.executable??!1,binary:n,diff:p.text,diffTruncated:p.truncated,additions:p.additions,deletions:p.deletions}),"add"===b?J.added+=1:"update"===b?J.updated+=1:"remove"===b?J.removed+=1:J.unchanged+=1,n&&(K=!0),p.truncated&&(L=!0)}for(let a of b)J.localModified+=a.assessment.stats.modified,J.localMissing+=a.assessment.stats.missing,J.localUnknown+=a.assessment.stats.unknown,J.irregular+=a.assessment.stats.irregular;let M=(0,j.Hg)([...F.entries()].map(([a,b])=>({path:a,sha256:b.sha256,executable:b.executable}))),N=[];"detached"===a.git.headState&&N.push(j.OV.DETACHED_HEAD),"unborn"===a.git.headState&&N.push(j.OV.UNBORN_HEAD),"unknown"===a.git.headState&&N.push(j.OV.HEAD_UNRESOLVED);let O=(0,j.e)(a.git);O&&N.push(O),K&&N.push(j.OV.BINARY_CONTENT),L&&N.push(j.OV.DIFF_TRUNCATED),b.some(a=>a.existing.truncated)&&N.push(j.OV.TREE_SCAN_TRUNCATED);let P=function(a,b,c,d){let e={declared:a.declared_risk,computed:a.computed_risk,effective:a.effective_risk},f={declared:b.declaredRisk,computed:b.computedRisk,effective:b.effectiveRisk},h=new Set(a.declared_permissions),i=new Set(b.inspection.declared_permissions),j={added:[...i].filter(a=>!h.has(a)),removed:[...h].filter(a=>!i.has(a)),unchanged:[...i].filter(a=>h.has(a))},k=new Set(a.files.map(a=>a.path)),l=new Set(b.files.map(a=>a.path)),o=a.files.filter(a=>a.executable).map(a=>a.path),p=b.files.filter(a=>a.executable).map(a=>a.path),q={added:p.filter(a=>!o.includes(a)),removed:o.filter(a=>!p.includes(a))},r={added:b.inspection.script_paths.filter(a=>!k.has(a)),removed:[...k].filter(a=>(function(a){let b=a.slice(a.lastIndexOf("/")+1),c=b.lastIndexOf(".");return!(c<=0)&&m.TW.includes(b.slice(c).toLowerCase())})(a)&&!l.has(a))},s=d.versions.filter(b=>{let d=(0,n.Cg)(b.version,a.version),e=(0,n.Cg)(b.version,c.version);return null!==d&&d>0&&null!==e&&e<=0}).sort((a,b)=>(0,n.Cg)(b.version,a.version)??0).map(a=>({version:a.version,changelog:a.changelog}));return{risk:{from:e,to:f,increased:g.$Y[f.effective]>g.$Y[e.effective]},permissions:j,executables:q,scripts:r,requirements:{commands:b.manifest.requirements.commands.map(a=>({name:a.name,versionRange:a.version_range??null})),networkHosts:[...b.manifest.requirements.network_hosts]},changelogs:s,agents:{from:a.agent_compatibility.map(a=>({...a})),to:c.compatibility.agents.map(a=>({...a}))}}}(o,e,a.version,a.catalogEntry),Q="high"===e.effectiveRisk,R=P.risk.increased,S=(0,d.randomBytes)(24).toString("hex"),T=c+i.c$,U={actor:a.actor,operation:"update",worktreeId:a.worktree.id,skillId:a.skillId,fromVersion:o.version,toVersion:e.version,artifactSha256:a.version.artifact.sha256,snapshotId:a.snapshotId,currentReceiptDigest:l.receiptDigest,branch:a.git.branch,headCommit:a.git.headCommit,currentTreeHash:q.assessment.currentTreeHash,plannedTreeHash:M},V={token:S,expiresAt:new Date(T).toISOString().replace(/\.\d{3}Z$/,"Z"),updatable:0===u.length,blockers:u,nextActionKey:0===u.length?r.updatable:r.blocked,requiresRiskAcknowledgement:Q,riskAcknowledgementMessageKey:Q?"skills.update.highRiskAcknowledgement":null,riskIncreased:R,riskIncreaseMessageKey:R?"skills.update.riskIncreaseAcknowledgement":null,update:{fromVersion:o.version,toVersion:e.version,latestVersion:a.latestVersion,reasonCode:a.reasonCode,prerelease:a.prerelease},target:{worktreeId:a.worktree.id,worktreeName:a.worktree.name,repositoryName:a.worktree.repositoryName,branch:a.git.branch,headState:a.git.headState,headCommit:a.git.headCommit,workingTreeDirty:a.git.dirty,...a.git.dirtyUnknown?{workingTreeUnknown:!0}:{},installRoot:q.rel,installRoots:b.map(a=>a.rel),roots:b.map(a=>({installRoot:a.rel,rootPrefix:a.prefix,clean:a.assessment.removable,receiptDigest:a.assessment.receiptDigest,currentTreeHash:a.assessment.currentTreeHash})),currentTreeHash:q.assessment.currentTreeHash,plannedTreeHash:M},skill:function(a,b,c){let{manifest:d}=a;return{id:a.skillId,name:d.name,version:a.version,summary:d.summary,description:d.description,capabilities:[...d.capabilities],expectedOutcomes:[...d.expected_outcomes],provider:{...d.provider},license:d.license,homepage:d.homepage??null,declaredPermissions:[...a.inspection.declared_permissions],requirements:{commands:d.requirements.commands.map(a=>({name:a.name,versionRange:a.version_range??null})),networkHosts:[...d.requirements.network_hosts]},declaredRisk:a.declaredRisk,computedRisk:a.computedRisk,effectiveRisk:a.effectiveRisk,riskRationale:d.risk_rationale,executablePaths:[...a.inspection.executable_paths],scriptPaths:[...a.inspection.script_paths],compatibility:{commandmate:c,agents:b.compatibility.agents.map(a=>({...a}))},source:{repository:b.source.repository,ref:b.source.ref,commit:b.source.commit},artifact:{assetName:b.artifact.asset_name,sha256:b.artifact.sha256,size:b.artifact.size,format:b.artifact.format}}}(e,a.version,a.compatibility),securityDiff:P,receipt:{path:`${q.rel}/${i.zi}`,sha256:A,size:z.byteLength},files:I,stats:J,warnings:N},W={token:S,binding:U,bindingHash:(0,d.createHash)("sha256").update(function a(b){if(null===b||"object"!=typeof b)return JSON.stringify(b)??"null";if(Array.isArray(b))return`[${b.map(a).join(",")}]`;let c=Object.entries(b).filter(([,a])=>void 0!==a).sort(([a],[b])=>a<b?-1:+(a>b));return`{${c.map(([b,c])=>`${JSON.stringify(b)}:${a(c)}`).join(",")}}`}(U)).digest("hex"),createdAt:c,expiresAt:T,consumedAt:null,worktreePath:a.worktree.path,rootPrefixes:x,receipt:y,receiptBytes:z,dto:V};for(w(c);t.records.size>=i.sK;){let a=[...t.records.values()].sort((a,b)=>a.createdAt-b.createdAt)[0];if(!a)break;v(a)}return t.records.set(S,W),W}},98170:(a,b,c)=>{c.d(b,{mF:()=>m});var d=c(32520),e=c(72626),f=c(52710),g=c(1185),h=c(82484),i=c(89936),j=c(36925);let k=(0,e.h)("lib/skills/plan-sweeper"),l=(0,j.v)("__skillPlanSweeper",()=>({timer:null}));function m(){if(l.timer)return;let a=setInterval(()=>{try{let a=function(a={}){let b=a.now??Date.now(),c=(0,f.Jg)({now:b}),d=(0,g.kq)({now:b}),e=(0,h.ne)({now:b});return{installPlans:c,uninstallPlans:d,updatePlans:e,snapshots:(0,i.nW)()?(0,i.Jk)({now:b}):0}}();(a.installPlans||a.uninstallPlans||a.updatePlans||a.snapshots)&&k.debug("skill-plan-sweep",{...a})}catch(a){k.warn("skill-plan-sweep-failed",{error:a instanceof Error?a.message:String(a)})}},d.Oj);a.unref(),l.timer=a}}};