conductor-oss 0.2.20 → 0.3.1

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 (538) hide show
  1. package/README.md +16 -0
  2. package/dist/commands/start.d.ts.map +1 -1
  3. package/dist/commands/start.js +28 -2
  4. package/dist/commands/start.js.map +1 -1
  5. package/dist/launcher.d.ts +3 -0
  6. package/dist/launcher.d.ts.map +1 -0
  7. package/dist/launcher.js +3 -0
  8. package/dist/launcher.js.map +1 -0
  9. package/node_modules/@conductor-oss/core/dist/config.d.ts.map +1 -1
  10. package/node_modules/@conductor-oss/core/dist/config.js +106 -1
  11. package/node_modules/@conductor-oss/core/dist/config.js.map +1 -1
  12. package/node_modules/@conductor-oss/core/dist/types.d.ts +4 -4
  13. package/node_modules/@conductor-oss/core/dist/types.d.ts.map +1 -1
  14. package/node_modules/@conductor-oss/core/dist/types.js +185 -8
  15. package/node_modules/@conductor-oss/core/dist/types.js.map +1 -1
  16. package/node_modules/@conductor-oss/plugin-agent-amp/package.json +1 -1
  17. package/node_modules/@conductor-oss/plugin-agent-ccr/package.json +1 -1
  18. package/node_modules/@conductor-oss/plugin-agent-claude-code/package.json +1 -1
  19. package/node_modules/@conductor-oss/plugin-agent-codex/package.json +1 -1
  20. package/node_modules/@conductor-oss/plugin-agent-cursor-cli/package.json +1 -1
  21. package/node_modules/@conductor-oss/plugin-agent-droid/package.json +1 -1
  22. package/node_modules/@conductor-oss/plugin-agent-gemini/package.json +1 -1
  23. package/node_modules/@conductor-oss/plugin-agent-github-copilot/package.json +1 -1
  24. package/node_modules/@conductor-oss/plugin-agent-opencode/package.json +1 -1
  25. package/node_modules/@conductor-oss/plugin-agent-qwen-code/package.json +1 -1
  26. package/node_modules/@conductor-oss/plugin-mcp-server/package.json +1 -1
  27. package/node_modules/@conductor-oss/plugin-notifier-desktop/package.json +1 -1
  28. package/node_modules/@conductor-oss/plugin-notifier-discord/package.json +1 -1
  29. package/node_modules/@conductor-oss/plugin-runtime-tmux/package.json +1 -1
  30. package/node_modules/@conductor-oss/plugin-scm-github/package.json +1 -1
  31. package/node_modules/@conductor-oss/plugin-terminal-web/package.json +1 -1
  32. package/node_modules/@conductor-oss/plugin-tracker-github/package.json +1 -1
  33. package/node_modules/@conductor-oss/plugin-workspace-worktree/package.json +1 -1
  34. package/package.json +29 -25
  35. package/web/.next/standalone/packages/web/.next/BUILD_ID +1 -1
  36. package/web/.next/standalone/packages/web/.next/app-path-routes-manifest.json +5 -0
  37. package/web/.next/standalone/packages/web/.next/build-manifest.json +2 -2
  38. package/web/.next/standalone/packages/web/.next/prerender-manifest.json +3 -3
  39. package/web/.next/standalone/packages/web/.next/routes-manifest.json +34 -0
  40. package/web/.next/standalone/packages/web/.next/server/app/_global-error.html +2 -2
  41. package/web/.next/standalone/packages/web/.next/server/app/_global-error.rsc +1 -1
  42. package/web/.next/standalone/packages/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  43. package/web/.next/standalone/packages/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  44. package/web/.next/standalone/packages/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  45. package/web/.next/standalone/packages/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  46. package/web/.next/standalone/packages/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  47. package/web/.next/standalone/packages/web/.next/server/app/_not-found/page/server-reference-manifest.json +7 -7
  48. package/web/.next/standalone/packages/web/.next/server/app/_not-found/page.js.nft.json +1 -1
  49. package/web/.next/standalone/packages/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  50. package/web/.next/standalone/packages/web/.next/server/app/_not-found.html +1 -1
  51. package/web/.next/standalone/packages/web/.next/server/app/_not-found.rsc +3 -3
  52. package/web/.next/standalone/packages/web/.next/server/app/_not-found.segments/_full.segment.rsc +3 -3
  53. package/web/.next/standalone/packages/web/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  54. package/web/.next/standalone/packages/web/.next/server/app/_not-found.segments/_index.segment.rsc +3 -3
  55. package/web/.next/standalone/packages/web/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  56. package/web/.next/standalone/packages/web/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  57. package/web/.next/standalone/packages/web/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  58. package/web/.next/standalone/packages/web/.next/server/app/api/access/route.js +3 -4
  59. package/web/.next/standalone/packages/web/.next/server/app/api/access/route.js.nft.json +1 -1
  60. package/web/.next/standalone/packages/web/.next/server/app/api/agents/route/app-paths-manifest.json +3 -0
  61. package/web/.next/standalone/packages/web/.next/server/app/api/agents/route/build-manifest.json +11 -0
  62. package/web/.next/standalone/packages/web/.next/server/app/api/agents/route/server-reference-manifest.json +4 -0
  63. package/web/.next/standalone/packages/web/.next/server/app/api/agents/route.js +10 -0
  64. package/web/.next/standalone/packages/web/.next/server/app/api/agents/route.js.map +5 -0
  65. package/web/.next/standalone/packages/web/.next/server/app/api/agents/route.js.nft.json +1 -0
  66. package/web/.next/standalone/packages/web/.next/server/app/api/agents/route_client-reference-manifest.js +2 -0
  67. package/web/.next/standalone/packages/web/.next/server/app/api/attachments/route.js +2 -2
  68. package/web/.next/standalone/packages/web/.next/server/app/api/attachments/route.js.nft.json +1 -1
  69. package/web/.next/standalone/packages/web/.next/server/app/api/auth/session/route.js +3 -1
  70. package/web/.next/standalone/packages/web/.next/server/app/api/auth/session/route.js.nft.json +1 -1
  71. package/web/.next/standalone/packages/web/.next/server/app/api/boards/route.js +3 -5
  72. package/web/.next/standalone/packages/web/.next/server/app/api/boards/route.js.nft.json +1 -1
  73. package/web/.next/standalone/packages/web/.next/server/app/api/config/route.js +2 -2
  74. package/web/.next/standalone/packages/web/.next/server/app/api/config/route.js.nft.json +1 -1
  75. package/web/.next/standalone/packages/web/.next/server/app/api/context-files/route.js +2 -2
  76. package/web/.next/standalone/packages/web/.next/server/app/api/context-files/route.js.nft.json +1 -1
  77. package/web/.next/standalone/packages/web/.next/server/app/api/events/route.js +3 -3
  78. package/web/.next/standalone/packages/web/.next/server/app/api/events/route.js.nft.json +1 -1
  79. package/web/.next/standalone/packages/web/.next/server/app/api/executor/health/route/app-paths-manifest.json +3 -0
  80. package/web/.next/standalone/packages/web/.next/server/app/api/executor/health/route/build-manifest.json +11 -0
  81. package/web/.next/standalone/packages/web/.next/server/app/api/executor/health/route/server-reference-manifest.json +4 -0
  82. package/web/.next/standalone/packages/web/.next/server/app/api/executor/health/route.js +10 -0
  83. package/web/.next/standalone/packages/web/.next/server/app/api/executor/health/route.js.map +5 -0
  84. package/web/.next/standalone/packages/web/.next/server/app/api/executor/health/route.js.nft.json +1 -0
  85. package/web/.next/standalone/packages/web/.next/server/app/api/executor/health/route_client-reference-manifest.js +2 -0
  86. package/web/.next/standalone/packages/web/.next/server/app/api/filesystem/directory/route.js +2 -2
  87. package/web/.next/standalone/packages/web/.next/server/app/api/filesystem/directory/route.js.nft.json +1 -1
  88. package/web/.next/standalone/packages/web/.next/server/app/api/filesystem/pick-directory/route/app-paths-manifest.json +3 -0
  89. package/web/.next/standalone/packages/web/.next/server/app/api/filesystem/pick-directory/route/build-manifest.json +11 -0
  90. package/web/.next/standalone/packages/web/.next/server/app/api/filesystem/pick-directory/route/server-reference-manifest.json +4 -0
  91. package/web/.next/standalone/packages/web/.next/server/app/api/filesystem/pick-directory/route.js +10 -0
  92. package/web/.next/standalone/packages/web/.next/server/app/api/filesystem/pick-directory/route.js.map +5 -0
  93. package/web/.next/standalone/packages/web/.next/server/app/api/filesystem/pick-directory/route.js.nft.json +1 -0
  94. package/web/.next/standalone/packages/web/.next/server/app/api/filesystem/pick-directory/route_client-reference-manifest.js +2 -0
  95. package/web/.next/standalone/packages/web/.next/server/app/api/github/repos/route.js +2 -2
  96. package/web/.next/standalone/packages/web/.next/server/app/api/github/repos/route.js.nft.json +1 -1
  97. package/web/.next/standalone/packages/web/.next/server/app/api/health/boards/route.js +2 -2
  98. package/web/.next/standalone/packages/web/.next/server/app/api/health/boards/route.js.nft.json +1 -1
  99. package/web/.next/standalone/packages/web/.next/server/app/api/health/sessions/route.js +2 -2
  100. package/web/.next/standalone/packages/web/.next/server/app/api/health/sessions/route.js.nft.json +1 -1
  101. package/web/.next/standalone/packages/web/.next/server/app/api/notifications/route.js +2 -2
  102. package/web/.next/standalone/packages/web/.next/server/app/api/notifications/route.js.nft.json +1 -1
  103. package/web/.next/standalone/packages/web/.next/server/app/api/preferences/route.js +3 -4
  104. package/web/.next/standalone/packages/web/.next/server/app/api/preferences/route.js.nft.json +1 -1
  105. package/web/.next/standalone/packages/web/.next/server/app/api/repositories/[id]/route/app-paths-manifest.json +3 -0
  106. package/web/.next/standalone/packages/web/.next/server/app/api/repositories/[id]/route/build-manifest.json +11 -0
  107. package/web/.next/standalone/packages/web/.next/server/app/api/repositories/[id]/route/server-reference-manifest.json +4 -0
  108. package/web/.next/standalone/packages/web/.next/server/app/api/repositories/[id]/route.js +10 -0
  109. package/web/.next/standalone/packages/web/.next/server/app/api/repositories/[id]/route.js.map +5 -0
  110. package/web/.next/standalone/packages/web/.next/server/app/api/repositories/[id]/route.js.nft.json +1 -0
  111. package/web/.next/standalone/packages/web/.next/server/app/api/repositories/[id]/route_client-reference-manifest.js +2 -0
  112. package/web/.next/standalone/packages/web/.next/server/app/api/repositories/route.js +4 -6
  113. package/web/.next/standalone/packages/web/.next/server/app/api/repositories/route.js.nft.json +1 -1
  114. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/actions/route.js +2 -2
  115. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/actions/route.js.nft.json +1 -1
  116. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/archive/route/app-paths-manifest.json +3 -0
  117. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/archive/route/build-manifest.json +11 -0
  118. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/archive/route/server-reference-manifest.json +4 -0
  119. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/archive/route.js +10 -0
  120. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/archive/route.js.map +5 -0
  121. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/archive/route.js.nft.json +1 -0
  122. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/archive/route_client-reference-manifest.js +2 -0
  123. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/checks/route.js +2 -2
  124. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/checks/route.js.nft.json +1 -1
  125. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/diff/route.js +4 -5
  126. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/diff/route.js.nft.json +1 -1
  127. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/feed/route.js +2 -2
  128. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/feed/route.js.nft.json +1 -1
  129. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/feedback/route.js +2 -2
  130. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/feedback/route.js.nft.json +1 -1
  131. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/files/route.js +2 -2
  132. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/files/route.js.nft.json +1 -1
  133. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/keys/route.js +2 -2
  134. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/keys/route.js.nft.json +1 -1
  135. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/kill/route.js +2 -2
  136. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/kill/route.js.nft.json +1 -1
  137. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/output/route.js +2 -2
  138. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/output/route.js.nft.json +1 -1
  139. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/output/stream/route.js +3 -3
  140. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/output/stream/route.js.nft.json +1 -1
  141. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/restore/route.js +2 -2
  142. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/restore/route.js.nft.json +1 -1
  143. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/route.js +2 -2
  144. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/route.js.nft.json +1 -1
  145. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/send/route.js +2 -2
  146. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/send/route.js.nft.json +1 -1
  147. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/route.js +2 -2
  148. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/route.js.nft.json +1 -1
  149. package/web/.next/standalone/packages/web/.next/server/app/api/spawn/route.js +3 -4
  150. package/web/.next/standalone/packages/web/.next/server/app/api/spawn/route.js.nft.json +1 -1
  151. package/web/.next/standalone/packages/web/.next/server/app/api/workspaces/branches/route.js +2 -2
  152. package/web/.next/standalone/packages/web/.next/server/app/api/workspaces/branches/route.js.nft.json +1 -1
  153. package/web/.next/standalone/packages/web/.next/server/app/api/workspaces/route.js +4 -6
  154. package/web/.next/standalone/packages/web/.next/server/app/api/workspaces/route.js.nft.json +1 -1
  155. package/web/.next/standalone/packages/web/.next/server/app/index.html +1 -1
  156. package/web/.next/standalone/packages/web/.next/server/app/index.rsc +4 -4
  157. package/web/.next/standalone/packages/web/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
  158. package/web/.next/standalone/packages/web/.next/server/app/index.segments/_full.segment.rsc +4 -4
  159. package/web/.next/standalone/packages/web/.next/server/app/index.segments/_head.segment.rsc +1 -1
  160. package/web/.next/standalone/packages/web/.next/server/app/index.segments/_index.segment.rsc +3 -3
  161. package/web/.next/standalone/packages/web/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  162. package/web/.next/standalone/packages/web/.next/server/app/page/react-loadable-manifest.json +2 -2
  163. package/web/.next/standalone/packages/web/.next/server/app/page/server-reference-manifest.json +7 -7
  164. package/web/.next/standalone/packages/web/.next/server/app/page.js.nft.json +1 -1
  165. package/web/.next/standalone/packages/web/.next/server/app/page_client-reference-manifest.js +1 -1
  166. package/web/.next/standalone/packages/web/.next/server/app/sessions/[id]/page/server-reference-manifest.json +7 -7
  167. package/web/.next/standalone/packages/web/.next/server/app/sessions/[id]/page.js.nft.json +1 -1
  168. package/web/.next/standalone/packages/web/.next/server/app/sessions/[id]/page_client-reference-manifest.js +1 -1
  169. package/web/.next/standalone/packages/web/.next/server/app/sign-in/[[...sign-in]]/page/server-reference-manifest.json +7 -7
  170. package/web/.next/standalone/packages/web/.next/server/app/sign-in/[[...sign-in]]/page.js.nft.json +1 -1
  171. package/web/.next/standalone/packages/web/.next/server/app/sign-in/[[...sign-in]]/page_client-reference-manifest.js +1 -1
  172. package/web/.next/standalone/packages/web/.next/server/app/unlock/page/server-reference-manifest.json +7 -7
  173. package/web/.next/standalone/packages/web/.next/server/app/unlock/page.js.nft.json +1 -1
  174. package/web/.next/standalone/packages/web/.next/server/app/unlock/page_client-reference-manifest.js +1 -1
  175. package/web/.next/standalone/packages/web/.next/server/app-paths-manifest.json +5 -0
  176. package/web/.next/standalone/packages/web/.next/server/chunks/29f24__next-internal_server_app_api_filesystem_pick-directory_route_actions_51e42977.js +3 -0
  177. package/web/.next/standalone/packages/web/.next/server/chunks/730ea_web__next-internal_server_app_api_executor_health_route_actions_8e415531.js +3 -0
  178. package/web/.next/standalone/packages/web/.next/server/chunks/730ea_web__next-internal_server_app_api_repositories_[id]_route_actions_4d42b4b5.js +3 -0
  179. package/web/.next/standalone/packages/web/.next/server/chunks/730ea_web__next-internal_server_app_api_sessions_[id]_archive_route_actions_bdb25739.js +3 -0
  180. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__0074ebac._.js +3 -0
  181. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__03a6b3e6._.js +3 -0
  182. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__049daed6._.js +3 -0
  183. package/web/.next/standalone/packages/web/.next/server/chunks/{[root-of-the-server]__6023a748._.js → [root-of-the-server]__095ffdaa._.js} +1 -1
  184. package/web/.next/standalone/packages/web/.next/server/chunks/{[root-of-the-server]__2a83553a._.js → [root-of-the-server]__0c7f79b1._.js} +1 -1
  185. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__137c9740._.js +3 -0
  186. package/web/.next/standalone/packages/web/.next/server/chunks/{[root-of-the-server]__1aa339ea._.js → [root-of-the-server]__144e8e60._.js} +1 -1
  187. package/web/.next/standalone/packages/web/.next/server/chunks/{[root-of-the-server]__1ed2e6c1._.js → [root-of-the-server]__14949257._.js} +17 -163
  188. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__15594e11._.js +3 -0
  189. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__159ecc1b._.js +3 -0
  190. package/web/.next/standalone/packages/web/.next/server/chunks/{[root-of-the-server]__29be362d._.js → [root-of-the-server]__16d4a78f._.js} +1 -1
  191. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__171dd44e._.js +3 -0
  192. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__177505ca._.js +3 -0
  193. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__18aa1fa3._.js +3 -0
  194. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__1c3521a3._.js +3 -0
  195. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__1c793b78._.js +3 -0
  196. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__22fbbc7b._.js +3 -0
  197. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__25bbe81a._.js +3 -0
  198. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__2d10de49._.js +3 -0
  199. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__30442998._.js +3 -0
  200. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__31d22800._.js +3 -0
  201. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__3d6b30a3._.js +1 -1
  202. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__44892736._.js +3 -0
  203. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__495221b1._.js +3 -0
  204. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__4ff9e8b0._.js +3 -0
  205. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__54eb1ef0._.js +3 -0
  206. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__5c375e13._.js +3 -0
  207. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__6362697f._.js +3 -0
  208. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__69b36e36._.js +3 -0
  209. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__6badbf4e._.js +3 -0
  210. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__6c4cd852._.js +3 -0
  211. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__6f7b329b._.js +3 -0
  212. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__70b7af90._.js +3 -0
  213. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__71077192._.js +3 -0
  214. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__758687ca._.js +3 -0
  215. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__7604e43b._.js +3 -0
  216. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__77b23eae._.js +3 -0
  217. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__78650ac9._.js +3 -0
  218. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__789107eb._.js +3 -0
  219. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__78c062a8._.js +3 -0
  220. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__78c4bb1e._.js +3 -0
  221. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__790d1d4b._.js +3 -0
  222. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__8132442f._.js +3 -0
  223. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__833a2cd9._.js +3 -0
  224. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__85d6ae4c._.js +3 -0
  225. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__8d933120._.js +3 -0
  226. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__90ac5665._.js +3 -0
  227. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__92a4f9bf._.js +3 -0
  228. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__93d550e2._.js +3 -0
  229. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__96e59c1f._.js +3 -0
  230. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__9d98fee2._.js +3 -0
  231. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__9fcf6265._.js +3 -0
  232. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__a5b78741._.js +3 -0
  233. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__a8a4b101._.js +3 -0
  234. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__a8d11727._.js +3 -0
  235. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__b2e0e81c._.js +3 -0
  236. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__bf756716._.js +3 -0
  237. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__c09452b3._.js +3 -0
  238. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__c43dcff1._.js +3 -0
  239. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__c923cbdc._.js +3 -0
  240. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__ce993e7b._.js +3 -0
  241. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__cfbdd2bf._.js +3 -0
  242. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__d1d8bfb5._.js +3 -0
  243. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__d4d1744d._.js +3 -0
  244. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__d8852803._.js +3 -0
  245. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__ea1961bd._.js +3 -0
  246. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__ee8a3221._.js +3 -0
  247. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__ef8c815b._.js +3 -0
  248. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__ef918d06._.js +3 -0
  249. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__f3693403._.js +3 -0
  250. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__f62cac3a._.js +3 -0
  251. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__f73117e9._.js +3 -0
  252. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__f7651519._.js +3 -0
  253. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__fc6ffe6c._.js +3 -0
  254. package/web/.next/standalone/packages/web/.next/server/chunks/packages_web__next-internal_server_app_api_agents_route_actions_29063d1a.js +3 -0
  255. package/web/.next/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__6622b514._.js +1 -1
  256. package/web/.next/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__869d9ac0._.js +1 -1
  257. package/web/.next/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__b388693f._.js +1 -1
  258. package/web/.next/standalone/packages/web/.next/server/chunks/ssr/{[root-of-the-server]__48817f02._.js → [root-of-the-server]__c3eb4913._.js} +2 -2
  259. package/web/.next/standalone/packages/web/.next/server/chunks/ssr/_0e1412de._.js +1 -1
  260. package/web/.next/standalone/packages/web/.next/server/chunks/ssr/{_20a4007d._.js → _3acfb388._.js} +2 -2
  261. package/web/.next/standalone/packages/web/.next/server/chunks/ssr/_668c9201._.js +3 -0
  262. package/web/.next/standalone/packages/web/.next/server/chunks/ssr/_69e05fca._.js +1 -1
  263. package/web/.next/standalone/packages/web/.next/server/chunks/ssr/_80efe193._.js +1 -1
  264. package/web/.next/standalone/packages/web/.next/server/chunks/ssr/_b6d31783._.js +1 -1
  265. package/web/.next/standalone/packages/web/.next/server/chunks/ssr/_c0f0e227._.js +1 -1
  266. package/web/.next/standalone/packages/web/.next/server/chunks/ssr/_f36ddaa9._.js +1 -1
  267. package/web/.next/standalone/packages/web/.next/server/chunks/ssr/node_modules_@clerk_nextjs_dist_esm_app-router_129dde21._.js +3 -0
  268. package/web/.next/standalone/packages/web/.next/server/chunks/ssr/node_modules_@clerk_nextjs_dist_esm_app-router_1776df7f._.js +3 -0
  269. package/web/.next/standalone/packages/web/.next/server/chunks/ssr/node_modules_f2ebd7a9._.js +1 -1
  270. package/web/.next/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_79316445._.js +1 -1
  271. package/web/.next/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_a078c137._.js +1 -1
  272. package/web/.next/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_app_page_tsx_cd282e82._.js +1 -1
  273. package/web/.next/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_app_unlock_UnlockForm_tsx_ce3149a7._.js +1 -1
  274. package/web/.next/standalone/packages/web/.next/server/chunks/ssr/{packages_web_src_components_6cab1c8c._.js → packages_web_src_components_aad7de7c._.js} +1 -1
  275. package/web/.next/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_components_board_WorkspaceKanban_tsx_735b7999._.js +1 -1
  276. package/web/.next/standalone/packages/web/.next/server/pages/404.html +1 -1
  277. package/web/.next/standalone/packages/web/.next/server/pages/500.html +2 -2
  278. package/web/.next/standalone/packages/web/.next/server/server-reference-manifest.js +1 -1
  279. package/web/.next/standalone/packages/web/.next/server/server-reference-manifest.json +8 -8
  280. package/web/.next/standalone/packages/web/.next/static/chunks/{5c7e8425945ad682.js → 07a5ac7389686572.js} +1 -1
  281. package/web/.next/standalone/packages/web/.next/static/chunks/3603312f8407bd12.js +1 -0
  282. package/web/.next/standalone/packages/web/.next/static/chunks/382be8f0b30c5f08.js +1 -0
  283. package/web/.next/standalone/packages/web/.next/static/chunks/479b8cb58c95a8a0.js +1 -0
  284. package/web/.next/standalone/packages/web/.next/static/chunks/53e4f3b495e423c9.js +1 -0
  285. package/web/.next/{static/chunks/3b757dce050133c8.js → standalone/packages/web/.next/static/chunks/5c5637796e242130.js} +2 -2
  286. package/web/.next/standalone/packages/web/.next/static/chunks/{695b7cb206c6dadd.js → 5e05e67a26b7ecbc.js} +1 -1
  287. package/web/.next/standalone/packages/web/.next/static/chunks/6d083840413686dd.css +3 -0
  288. package/web/.next/standalone/packages/web/.next/static/chunks/870a993d28314a90.js +1 -0
  289. package/web/.next/standalone/packages/web/.next/static/chunks/c5caacf383990e7b.js +1 -0
  290. package/web/.next/standalone/packages/web/.next/static/chunks/c7c1bd729f17c8bf.js +1 -0
  291. package/web/.next/standalone/packages/web/.next/static/chunks/e8d146cc2723147b.js +1 -0
  292. package/web/.next/standalone/packages/web/package.json +1 -1
  293. package/web/.next/standalone/packages/web/src/app/api/access/route.ts +3 -211
  294. package/web/.next/standalone/packages/web/src/app/api/agents/route.ts +5 -0
  295. package/web/.next/standalone/packages/web/src/app/api/attachments/route.ts +2 -166
  296. package/web/.next/standalone/packages/web/src/app/api/auth/session/route.ts +4 -52
  297. package/web/.next/standalone/packages/web/src/app/api/boards/route.ts +3 -517
  298. package/web/.next/standalone/packages/web/src/app/api/config/route.ts +2 -78
  299. package/web/.next/standalone/packages/web/src/app/api/context-files/route.ts +2 -198
  300. package/web/.next/standalone/packages/web/src/app/api/events/route.ts +2 -122
  301. package/web/.next/standalone/packages/web/src/app/api/executor/health/route.ts +5 -0
  302. package/web/.next/standalone/packages/web/src/app/api/filesystem/directory/route.ts +2 -142
  303. package/web/.next/standalone/packages/web/src/app/api/filesystem/pick-directory/route.ts +5 -0
  304. package/web/.next/standalone/packages/web/src/app/api/github/repos/route.ts +2 -103
  305. package/web/.next/standalone/packages/web/src/app/api/health/boards/route.ts +2 -69
  306. package/web/.next/standalone/packages/web/src/app/api/health/sessions/route.ts +2 -74
  307. package/web/.next/standalone/packages/web/src/app/api/notifications/route.ts +3 -88
  308. package/web/.next/standalone/packages/web/src/app/api/preferences/route.ts +3 -191
  309. package/web/.next/standalone/packages/web/src/app/api/repositories/[id]/route.ts +8 -0
  310. package/web/.next/standalone/packages/web/src/app/api/repositories/route.ts +4 -416
  311. package/web/.next/standalone/packages/web/src/app/api/sessions/[id]/actions/route.ts +5 -77
  312. package/web/.next/standalone/packages/web/src/app/api/sessions/[id]/archive/route.ts +8 -0
  313. package/web/.next/standalone/packages/web/src/app/api/sessions/[id]/checks/route.ts +5 -172
  314. package/web/.next/standalone/packages/web/src/app/api/sessions/[id]/diff/route.ts +5 -423
  315. package/web/.next/standalone/packages/web/src/app/api/sessions/[id]/feed/route.ts +5 -94
  316. package/web/.next/standalone/packages/web/src/app/api/sessions/[id]/feedback/route.ts +5 -44
  317. package/web/.next/standalone/packages/web/src/app/api/sessions/[id]/files/route.ts +5 -194
  318. package/web/.next/standalone/packages/web/src/app/api/sessions/[id]/keys/route.ts +6 -138
  319. package/web/.next/standalone/packages/web/src/app/api/sessions/[id]/kill/route.ts +5 -42
  320. package/web/.next/standalone/packages/web/src/app/api/sessions/[id]/output/route.ts +5 -259
  321. package/web/.next/standalone/packages/web/src/app/api/sessions/[id]/output/stream/route.ts +5 -108
  322. package/web/.next/standalone/packages/web/src/app/api/sessions/[id]/restore/route.ts +5 -46
  323. package/web/.next/standalone/packages/web/src/app/api/sessions/[id]/route.ts +6 -204
  324. package/web/.next/standalone/packages/web/src/app/api/sessions/[id]/send/route.ts +5 -55
  325. package/web/.next/standalone/packages/web/src/app/api/sessions/route.ts +2 -102
  326. package/web/.next/standalone/packages/web/src/app/api/spawn/route.ts +3 -214
  327. package/web/.next/standalone/packages/web/src/app/api/workspaces/branches/route.ts +2 -230
  328. package/web/.next/standalone/packages/web/src/app/api/workspaces/route.ts +3 -589
  329. package/web/.next/standalone/packages/web/src/app/unlock/UnlockForm.tsx +25 -4
  330. package/web/.next/standalone/packages/web/src/components/board/WorkspaceKanban.tsx +8 -8
  331. package/web/.next/standalone/packages/web/src/components/layout/WorkspaceSidebarPanel.tsx +199 -84
  332. package/web/.next/standalone/packages/web/src/components/sessions/ChatPanel.tsx +36 -5
  333. package/web/.next/standalone/packages/web/src/features/dashboard/DashboardClient.tsx +86 -36
  334. package/web/.next/standalone/packages/web/src/features/dashboard/components/WorkspaceOverview.tsx +57 -9
  335. package/web/.next/standalone/packages/web/src/hooks/useSessionOutputStream.ts +11 -0
  336. package/web/.next/standalone/packages/web/src/lib/auth.ts +90 -14
  337. package/web/.next/standalone/packages/web/src/lib/guardedRustProxy.ts +25 -0
  338. package/web/.next/standalone/packages/web/src/lib/liveEvents.ts +64 -7
  339. package/web/.next/standalone/packages/web/src/lib/proxyRoutes.ts +46 -0
  340. package/web/.next/standalone/packages/web/src/lib/runtimeAgentModels.ts +1 -1
  341. package/web/.next/standalone/packages/web/src/lib/rustBackendProxy.ts +154 -0
  342. package/web/.next/standalone/packages/web/src/proxy.ts +3 -20
  343. package/web/.next/static/chunks/{5c7e8425945ad682.js → 07a5ac7389686572.js} +1 -1
  344. package/web/.next/static/chunks/3603312f8407bd12.js +1 -0
  345. package/web/.next/static/chunks/382be8f0b30c5f08.js +1 -0
  346. package/web/.next/static/chunks/479b8cb58c95a8a0.js +1 -0
  347. package/web/.next/static/chunks/53e4f3b495e423c9.js +1 -0
  348. package/web/.next/{standalone/packages/web/.next/static/chunks/3b757dce050133c8.js → static/chunks/5c5637796e242130.js} +2 -2
  349. package/web/.next/static/chunks/{695b7cb206c6dadd.js → 5e05e67a26b7ecbc.js} +1 -1
  350. package/web/.next/static/chunks/6d083840413686dd.css +3 -0
  351. package/web/.next/static/chunks/870a993d28314a90.js +1 -0
  352. package/web/.next/static/chunks/c5caacf383990e7b.js +1 -0
  353. package/web/.next/static/chunks/c7c1bd729f17c8bf.js +1 -0
  354. package/web/.next/static/chunks/e8d146cc2723147b.js +1 -0
  355. package/native/conductor +0 -0
  356. package/web/.next/standalone/packages/web/.next/server/chunks/[externals]__f25f12d4._.js +0 -3
  357. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__005aa909._.js +0 -3
  358. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__008d962e._.js +0 -3
  359. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__00cf28e7._.js +0 -3
  360. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__03ff76ee._.js +0 -3
  361. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__06365513._.js +0 -3
  362. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__075f8697._.js +0 -3
  363. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__097be5a7._.js +0 -3
  364. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__0a0f0f01._.js +0 -3
  365. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__1003246b._.js +0 -3
  366. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__11918223._.js +0 -3
  367. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__13ad088c._.js +0 -3
  368. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__1458f8ec._.js +0 -3
  369. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__14b1d4a3._.js +0 -3
  370. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__1741fb8a._.js +0 -3
  371. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__1875f00e._.js +0 -3
  372. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__1beced71._.js +0 -3
  373. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__1f626a16._.js +0 -129
  374. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__2062aaab._.js +0 -3
  375. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__206c3d8a._.js +0 -3
  376. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__22f8f0d6._.js +0 -129
  377. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__23bebaf9._.js +0 -3
  378. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__2556a816._.js +0 -3
  379. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__25788ed3._.js +0 -54
  380. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__2c3f6397._.js +0 -3
  381. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__2c909fe3._.js +0 -3
  382. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__30921756._.js +0 -3
  383. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__31eea08c._.js +0 -3
  384. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__346d9484._.js +0 -3
  385. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__3edd3509._.js +0 -3
  386. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__3f8b49ba._.js +0 -3
  387. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__3f8e82c2._.js +0 -3
  388. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__44d59fd0._.js +0 -3
  389. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__48875cbb._.js +0 -7
  390. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__49c6a20e._.js +0 -3
  391. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__4ac9d639._.js +0 -3
  392. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__4c3fb752._.js +0 -3
  393. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__4ca8b259._.js +0 -3
  394. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__4dab6a6a._.js +0 -3
  395. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__53385c40._.js +0 -3
  396. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__544326ac._.js +0 -3
  397. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__54a218f0._.js +0 -54
  398. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__55e337f7._.js +0 -3
  399. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__5661ca72._.js +0 -3
  400. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__5cd49624._.js +0 -3
  401. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__5e0533de._.js +0 -3
  402. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__5e161db4._.js +0 -3
  403. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__5ebcb223._.js +0 -3
  404. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__5fd609c9._.js +0 -3
  405. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__60cf7bf4._.js +0 -3
  406. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__60ee4897._.js +0 -3
  407. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__6559c1a4._.js +0 -3
  408. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__659938b1._.js +0 -3
  409. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__6712f45a._.js +0 -3
  410. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__69227de6._.js +0 -3
  411. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__6ab08a39._.js +0 -129
  412. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__6c10c03b._.js +0 -3
  413. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__6cd54de1._.js +0 -3
  414. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__6ce2b5d7._.js +0 -3
  415. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__6cfd00d2._.js +0 -3
  416. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__6d62709d._.js +0 -129
  417. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__6e08e4e4._.js +0 -3
  418. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__749331b0._.js +0 -54
  419. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__74a53184._.js +0 -3
  420. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__76c16426._.js +0 -3
  421. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__778e46a1._.js +0 -129
  422. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__7a26e452._.js +0 -3
  423. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__7ba96fa5._.js +0 -3
  424. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__7e684560._.js +0 -3
  425. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__848eb266._.js +0 -3
  426. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__8596d782._.js +0 -7
  427. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__85d8966b._.js +0 -3
  428. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__86aff2b8._.js +0 -3
  429. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__879cf4d2._.js +0 -3
  430. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__881858fa._.js +0 -3
  431. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__885e3a00._.js +0 -54
  432. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__887ea436._.js +0 -3
  433. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__893f6b3b._.js +0 -3
  434. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__89dfcd05._.js +0 -3
  435. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__8cc5826f._.js +0 -3
  436. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__913af875._.js +0 -3
  437. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__91b42119._.js +0 -3
  438. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__93ce1b75._.js +0 -3
  439. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__96633022._.js +0 -3
  440. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__96951362._.js +0 -3
  441. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__971fcc75._.js +0 -9
  442. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__99da6324._.js +0 -3
  443. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__9f07930d._.js +0 -3
  444. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__9f36b7ec._.js +0 -129
  445. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__9fd08bbc._.js +0 -3
  446. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__a05953cc._.js +0 -3
  447. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__a0b6570d._.js +0 -3
  448. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__a3766ac1._.js +0 -3
  449. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__a3bfaabf._.js +0 -3
  450. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__a420e374._.js +0 -3
  451. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__a4a33247._.js +0 -54
  452. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__ac544bb5._.js +0 -3
  453. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__ad84d2e0._.js +0 -54
  454. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__b3095e9d._.js +0 -3
  455. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__b59abfbd._.js +0 -3
  456. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__b9692a3c._.js +0 -3
  457. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__bcc08c70._.js +0 -3
  458. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__be051d52._.js +0 -3
  459. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__bea07e07._.js +0 -3
  460. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__c1759514._.js +0 -3
  461. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__c2ef2bfc._.js +0 -3
  462. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__c8618cb1._.js +0 -3
  463. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__ca8a18f8._.js +0 -3
  464. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__cafd7bb3._.js +0 -3
  465. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__cb112606._.js +0 -3
  466. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__cc74ea40._.js +0 -3
  467. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__cd3692a0._.js +0 -3
  468. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__cf3cdecd._.js +0 -3
  469. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__d09e7a99._.js +0 -3
  470. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__d40b50e7._.js +0 -3
  471. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__d4721d30._.js +0 -3
  472. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__d538c110._.js +0 -3
  473. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__d73ea818._.js +0 -3
  474. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__db3d0133._.js +0 -3
  475. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__dd0cf085._.js +0 -3
  476. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__de0f2533._.js +0 -7
  477. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__e113f6df._.js +0 -3
  478. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__e1a418bc._.js +0 -3
  479. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__e6c1d827._.js +0 -3
  480. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__ea69c4ce._.js +0 -3
  481. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__eac16890._.js +0 -3
  482. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__eb1dfcc6._.js +0 -3
  483. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__ee75d43a._.js +0 -3
  484. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__ef773ea6._.js +0 -3
  485. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__f0d15920._.js +0 -3
  486. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__f15cbcfc._.js +0 -3
  487. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__f48eb2d4._.js +0 -3
  488. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__fb6ab669._.js +0 -3
  489. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__fe8419b5._.js +0 -129
  490. package/web/.next/standalone/packages/web/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_0e4dc4f7.js +0 -4
  491. package/web/.next/standalone/packages/web/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_dd27f857.js +0 -3
  492. package/web/.next/standalone/packages/web/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_e445b36c.js +0 -3
  493. package/web/.next/standalone/packages/web/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_f375f3c4.js +0 -28
  494. package/web/.next/standalone/packages/web/.next/server/chunks/packages_core_dist_index_cdd30418.js +0 -3
  495. package/web/.next/standalone/packages/web/.next/server/chunks/packages_plugins_agent-amp_dist_index_bf3d8239.js +0 -3
  496. package/web/.next/standalone/packages/web/.next/server/chunks/packages_plugins_agent-ccr_dist_index_69cbf726.js +0 -3
  497. package/web/.next/standalone/packages/web/.next/server/chunks/packages_plugins_agent-claude-code_dist_index_31314e43.js +0 -125
  498. package/web/.next/standalone/packages/web/.next/server/chunks/packages_plugins_agent-cursor-cli_dist_index_8d5cc426.js +0 -3
  499. package/web/.next/standalone/packages/web/.next/server/chunks/packages_plugins_agent-droid_dist_index_f731227a.js +0 -3
  500. package/web/.next/standalone/packages/web/.next/server/chunks/packages_plugins_agent-gemini_dist_index_b2d219e8.js +0 -54
  501. package/web/.next/standalone/packages/web/.next/server/chunks/packages_plugins_agent-github-copilot_dist_index_9f80cb45.js +0 -3
  502. package/web/.next/standalone/packages/web/.next/server/chunks/packages_plugins_agent-opencode_dist_index_7c7015da.js +0 -3
  503. package/web/.next/standalone/packages/web/.next/server/chunks/packages_plugins_agent-qwen-code_dist_index_46dd8653.js +0 -3
  504. package/web/.next/standalone/packages/web/.next/server/chunks/packages_plugins_notifier-desktop_dist_index_ef3473f0.js +0 -3
  505. package/web/.next/standalone/packages/web/.next/server/chunks/packages_plugins_notifier-discord_dist_index_34257226.js +0 -3
  506. package/web/.next/standalone/packages/web/.next/server/chunks/packages_plugins_scm-github_dist_index_3b5a621e.js +0 -3
  507. package/web/.next/standalone/packages/web/.next/server/chunks/packages_plugins_terminal-web_dist_index_1e0706d3.js +0 -3
  508. package/web/.next/standalone/packages/web/.next/server/chunks/packages_plugins_tracker-github_dist_index_2d7af62f.js +0 -3
  509. package/web/.next/standalone/packages/web/.next/server/chunks/packages_web_src_lib_13fee5eb._.js +0 -3
  510. package/web/.next/standalone/packages/web/.next/server/chunks/packages_web_src_lib_d64596cc._.js +0 -3
  511. package/web/.next/standalone/packages/web/.next/server/chunks/ssr/_b88bcf2c._.js +0 -3
  512. package/web/.next/standalone/packages/web/.next/server/chunks/ssr/node_modules_@clerk_nextjs_dist_esm_app-router_38e7b35d._.js +0 -3
  513. package/web/.next/standalone/packages/web/.next/server/chunks/ssr/node_modules_@clerk_nextjs_dist_esm_app-router_f665760b._.js +0 -3
  514. package/web/.next/standalone/packages/web/.next/static/chunks/062888342200567f.js +0 -1
  515. package/web/.next/standalone/packages/web/.next/static/chunks/6c9a11faed9daf4d.js +0 -1
  516. package/web/.next/standalone/packages/web/.next/static/chunks/8221b78965a50858.js +0 -1
  517. package/web/.next/standalone/packages/web/.next/static/chunks/8de84e208e201d72.css +0 -3
  518. package/web/.next/standalone/packages/web/.next/static/chunks/a8d4e0d75ca51921.js +0 -1
  519. package/web/.next/standalone/packages/web/.next/static/chunks/ac6a06c17a4f651f.js +0 -1
  520. package/web/.next/standalone/packages/web/.next/static/chunks/c4ea57fb949fb623.js +0 -1
  521. package/web/.next/standalone/packages/web/.next/static/chunks/d9d05e7b540400af.js +0 -1
  522. package/web/.next/standalone/packages/web/.next/static/chunks/f5d9ad0f62ede339.js +0 -1
  523. package/web/.next/standalone/packages/web/src/lib/services.ts +0 -319
  524. package/web/.next/static/chunks/062888342200567f.js +0 -1
  525. package/web/.next/static/chunks/6c9a11faed9daf4d.js +0 -1
  526. package/web/.next/static/chunks/8221b78965a50858.js +0 -1
  527. package/web/.next/static/chunks/8de84e208e201d72.css +0 -3
  528. package/web/.next/static/chunks/a8d4e0d75ca51921.js +0 -1
  529. package/web/.next/static/chunks/ac6a06c17a4f651f.js +0 -1
  530. package/web/.next/static/chunks/c4ea57fb949fb623.js +0 -1
  531. package/web/.next/static/chunks/d9d05e7b540400af.js +0 -1
  532. package/web/.next/static/chunks/f5d9ad0f62ede339.js +0 -1
  533. /package/web/.next/standalone/packages/web/.next/static/{P8IBAo_woCzrGXJiYCZto → oFTStwDpHHac4pinj0rAJ}/_buildManifest.js +0 -0
  534. /package/web/.next/standalone/packages/web/.next/static/{P8IBAo_woCzrGXJiYCZto → oFTStwDpHHac4pinj0rAJ}/_clientMiddlewareManifest.json +0 -0
  535. /package/web/.next/standalone/packages/web/.next/static/{P8IBAo_woCzrGXJiYCZto → oFTStwDpHHac4pinj0rAJ}/_ssgManifest.js +0 -0
  536. /package/web/.next/static/{P8IBAo_woCzrGXJiYCZto → oFTStwDpHHac4pinj0rAJ}/_buildManifest.js +0 -0
  537. /package/web/.next/static/{P8IBAo_woCzrGXJiYCZto → oFTStwDpHHac4pinj0rAJ}/_clientMiddlewareManifest.json +0 -0
  538. /package/web/.next/static/{P8IBAo_woCzrGXJiYCZto → oFTStwDpHHac4pinj0rAJ}/_ssgManifest.js +0 -0
@@ -1,129 +0,0 @@
1
- module.exports=[66680,(e,t,a)=>{t.exports=e.x("node:crypto",()=>require("node:crypto"))},74533,(e,t,a)=>{t.exports=e.x("node:child_process",()=>require("node:child_process"))},12057,(e,t,a)=>{t.exports=e.x("node:util",()=>require("node:util"))},12714,(e,t,a)=>{t.exports=e.x("node:fs/promises",()=>require("node:fs/promises"))},1457,(e,t,a)=>{t.exports=e.x("node:readline",()=>require("node:readline"))},74857,e=>{"use strict";e.i(20435);var t=e.i(45629),a=e.i(74533),r=e.i(2157),n=e.i(12714),i=e.i(60526),s=e.i(50227),o=e.i(1457),l=e.i(12057),u=e.i(66680);let p=(0,l.promisify)(a.execFile),c=function(){for(let e of[process.env.CODEX_BIN,"/opt/homebrew/bin/codex","/usr/local/bin/codex","/usr/bin/codex"].filter(Boolean))if((0,r.existsSync)(e))return e;return"codex"}(),d=function(){for(let e of[process.env.TMUX_BIN,"/opt/homebrew/bin/tmux","/usr/local/bin/tmux","/usr/bin/tmux","/bin/tmux"].filter(Boolean))if((0,r.existsSync)(e))return e;return"tmux"}(),m=(0,s.join)((0,i.homedir)(),".conductor","bin"),f={name:"codex",slot:"agent",description:"Agent plugin: OpenAI Codex CLI",version:"0.2.6"},h=`#!/usr/bin/env bash
2
- # conductor-metadata-helper — shared by gh/git wrappers
3
- # Provides: update_claw_metadata <key> <value>
4
-
5
- update_claw_metadata() {
6
- local key="$1" value="$2"
7
- local data_dir="\${AO_DATA_DIR:-}"
8
- local session="\${AO_SESSION:-}"
9
-
10
- [[ -z "$data_dir" || -z "$session" ]] && return 0
11
-
12
- case "$session" in
13
- */* | *..*) return 0 ;;
14
- esac
15
-
16
- local metadata_file="$data_dir/$session"
17
- [[ -f "$metadata_file" ]] || return 0
18
-
19
- local temp_file="\${metadata_file}.tmp.$$"
20
- local clean_value="$(printf '%s' "$value" | tr -d '\\n')"
21
- local escaped_value="$(printf '%s' "$clean_value" | sed 's/[&|\\\\]/\\\\&/g')"
22
-
23
- if grep -q "^\${key}=" "$metadata_file" 2>/dev/null; then
24
- sed "s|^\${key}=.*|\${key}=\${escaped_value}|" "$metadata_file" > "$temp_file"
25
- else
26
- cp "$metadata_file" "$temp_file"
27
- printf '%s=%s\\n' "$key" "$clean_value" >> "$temp_file"
28
- fi
29
-
30
- mv "$temp_file" "$metadata_file"
31
- }
32
- `,_=`#!/usr/bin/env bash
33
- # conductor gh wrapper — auto-updates session metadata on PR operations
34
-
35
- bin_dir="$(cd "$(dirname "$0")" && pwd)"
36
- clean_path="$(echo "$PATH" | tr ':' '\\n' | grep -Fxv "$bin_dir" | grep . | tr '\\n' ':')"
37
- clean_path="\${clean_path%:}"
38
- real_gh="$(PATH="$clean_path" command -v gh 2>/dev/null)"
39
-
40
- if [[ -z "$real_gh" ]]; then
41
- echo "conductor-wrapper: gh not found in PATH" >&2
42
- exit 127
43
- fi
44
-
45
- source "$bin_dir/conductor-metadata-helper.sh" 2>/dev/null || true
46
-
47
- case "$1/$2" in
48
- pr/create|pr/merge)
49
- tmpout="$(mktemp)"
50
- trap 'rm -f "$tmpout"' EXIT
51
-
52
- "$real_gh" "$@" 2>&1 | tee "$tmpout"
53
- exit_code=\${PIPESTATUS[0]}
54
-
55
- if [[ $exit_code -eq 0 ]]; then
56
- output="$(cat "$tmpout")"
57
- case "$1/$2" in
58
- pr/create)
59
- pr_url="$(echo "$output" | grep -Eo 'https://github.com/[^/]+/[^/]+/pull/[0-9]+' | head -1)"
60
- if [[ -n "$pr_url" ]]; then
61
- update_claw_metadata pr "$pr_url"
62
- update_claw_metadata status pr_open
63
-
64
- # Enrich PR metadata for dashboard/session notes
65
- pr_title="$("$real_gh" pr view "$pr_url" --json title --jq '.title' 2>/dev/null || true)"
66
- pr_head="$("$real_gh" pr view "$pr_url" --json headRefName --jq '.headRefName' 2>/dev/null || true)"
67
- pr_base="$("$real_gh" pr view "$pr_url" --json baseRefName --jq '.baseRefName' 2>/dev/null || true)"
68
- pr_draft="$("$real_gh" pr view "$pr_url" --json isDraft --jq '.isDraft' 2>/dev/null || true)"
69
-
70
- [[ -n "$pr_title" ]] && update_claw_metadata prTitle "$pr_title"
71
- [[ -n "$pr_head" ]] && update_claw_metadata prHeadRef "$pr_head"
72
- [[ -n "$pr_base" ]] && update_claw_metadata prBaseRef "$pr_base"
73
- if [[ "$pr_draft" == "true" ]]; then
74
- update_claw_metadata prDraft "1"
75
- elif [[ "$pr_draft" == "false" ]]; then
76
- update_claw_metadata prDraft "0"
77
- fi
78
- fi
79
- ;;
80
- pr/merge)
81
- update_claw_metadata status merged
82
- ;;
83
- esac
84
- fi
85
-
86
- exit $exit_code
87
- ;;
88
- *)
89
- exec "$real_gh" "$@"
90
- ;;
91
- esac
92
- `,$=`#!/usr/bin/env bash
93
- # conductor git wrapper — auto-updates session metadata on branch operations
94
-
95
- bin_dir="$(cd "$(dirname "$0")" && pwd)"
96
- clean_path="$(echo "$PATH" | tr ':' '\\n' | grep -Fxv "$bin_dir" | grep . | tr '\\n' ':')"
97
- clean_path="\${clean_path%:}"
98
- real_git="$(PATH="$clean_path" command -v git 2>/dev/null)"
99
-
100
- if [[ -z "$real_git" ]]; then
101
- echo "conductor-wrapper: git not found in PATH" >&2
102
- exit 127
103
- fi
104
-
105
- source "$bin_dir/conductor-metadata-helper.sh" 2>/dev/null || true
106
-
107
- "$real_git" "$@"
108
- exit_code=$?
109
-
110
- if [[ $exit_code -eq 0 ]]; then
111
- case "$1/$2" in
112
- checkout/-b)
113
- update_claw_metadata branch "$3"
114
- ;;
115
- switch/-c)
116
- update_claw_metadata branch "$3"
117
- ;;
118
- esac
119
- fi
120
-
121
- exit $exit_code
122
- `;async function y(e,t,a){let r=(0,u.randomBytes)(6).toString("hex"),i=`${e}.tmp.${r}`;await (0,n.writeFile)(i,t,{encoding:"utf-8",mode:a}),await (0,n.rename)(i,e)}async function w(e){await (0,n.mkdir)(m,{recursive:!0}),await y((0,s.join)(m,"conductor-metadata-helper.sh"),h,493);let t=(0,s.join)(m,".conductor-version"),a="0.1.0",r=!0;try{(await (0,n.readFile)(t,"utf-8")).trim()===a&&(r=!1)}catch{}r&&(await y((0,s.join)(m,"gh"),_,493),await y((0,s.join)(m,"git"),$,493),await y(t,a,420));let i=(0,s.join)(e,"AGENTS.md"),o="";try{o=await (0,n.readFile)(i,"utf-8")}catch{}if(!o.includes("Conductor Session")){let e=`
123
- ## Conductor Session
124
-
125
- You are running inside a Conductor managed workspace.
126
- Session metadata is updated automatically via shell wrappers.
127
- `,t=o?o.trimEnd()+"\n"+e:e.trimStart();await (0,n.writeFile)(i,t,"utf-8")}}let g=(0,s.join)((0,i.homedir)(),".codex","sessions");async function v(e,t=0){let a;if(t>4)return[];try{a=await (0,n.readdir)(e)}catch{return[]}let r=[];for(let i of a){let a=(0,s.join)(e,i);if(i.endsWith(".jsonl"))r.push(a);else try{if((await (0,n.lstat)(a)).isDirectory()){let e=await v(a,t+1);r.push(...e)}}catch{}}return r}async function x(e,t){try{let a,r=await (0,n.open)(e,"r");try{let e=Buffer.allocUnsafe(4096),{bytesRead:t}=await r.read(e,0,4096,0);a=e.subarray(0,t).toString("utf-8")}finally{await r.close()}if(!a.includes('"session_meta"'))return!1;return a.includes(`"cwd":"${t}"`)||a.includes(`"cwd": "${t}"`)}catch{}return!1}async function k(e){let t=await v(g);if(0===t.length)return null;let a=null;for(let r of t)if(await x(r,e))try{let e=await (0,n.stat)(r);(!a||e.mtimeMs>a.mtime)&&(a={path:r,mtime:e.mtimeMs})}catch{}return a?.path??null}async function b(e){try{let t={model:null,threadId:null,inputTokens:0,outputTokens:0,lastAssistantMessage:null};for await(let a of(0,o.createInterface)({input:(0,r.createReadStream)(e,{encoding:"utf-8"}),crlfDelay:1/0})){let e=a.trim();if(e)try{let a=JSON.parse(e);if("object"!=typeof a||null===a||Array.isArray(a))continue;if("session_meta"===a.type){let e=a.model??a.payload?.model;e&&(t.model=e);let r=a.threadId??a.payload?.id;r&&(t.threadId=r)}if("turn_context"===a.type){let e=a.payload?.model;"string"==typeof e&&(t.model=e)}if("string"==typeof a.threadId&&a.threadId&&(t.threadId=a.threadId),"event_msg"===a.type&&(a.msg?.type==="token_count"&&(t.inputTokens+=a.msg.input_tokens??0,t.outputTokens+=a.msg.output_tokens??0),a.payload?.type==="token_count"&&a.payload.info?.total_token_usage)){let e=a.payload.info.total_token_usage;t.inputTokens=e.input_tokens??t.inputTokens,t.outputTokens=e.output_tokens??t.outputTokens}if("response_item"===a.type&&a.payload?.role==="assistant"){let e=function(e){let t=e.content;if("string"==typeof t&&t.trim())return t.trim();if(Array.isArray(t)){for(let e of t)if("object"==typeof e&&null!==e&&"output_text"===e.type&&"string"==typeof e.text&&e.text.trim())return e.text.trim()}return null}(a.payload);e&&(t.lastAssistantMessage=e)}}catch{}}return t}catch{return null}}let S=new Map;async function T(e){let t=S.get(e);if(t&&Date.now()<t.expiry)return t.path;let a=await k(e);return S.set(e,{path:a,expiry:Date.now()+3e4}),a}async function j(e,t=30){if("tmux"!==e.runtimeName||!e.id)return null;try{let{stdout:a}=await p(d,["capture-pane","-t",e.id,"-p","-l",String(t)],{timeout:5e3});return a}catch{return null}}function A(e){if(!e.trim())return"idle";let t=e.trim().split("\n"),a=[...t].reverse().find(e=>""!==e.trim())?.trim()??"";if(/^›/.test(a)||/^[>$#]\s*$/.test(a)||/^\d+%\s+(left|remaining)/i.test(a))return"idle";let r=t.slice(-5).join("\n");return/^›/m.test(r)?"idle":/approval required/i.test(r)||/\(y\)es.*\(n\)o/i.test(r)?"waiting_input":"active"}function P(){return{name:"codex",processName:"codex",promptDelivery:"post-launch",getLaunchCommand(e){let a=[c];return e.model&&a.push("--model",(0,t.shellEscape)(e.model)),e.reasoningEffort&&a.push("-c",(0,t.shellEscape)(`model_reasoning_effort="${e.reasoningEffort}"`)),"skip"===e.permissions?a.push("--yolo"):a.push("--full-auto"),e.systemPromptFile?a.push("-c",`model_instructions_file=${(0,t.shellEscape)(e.systemPromptFile)}`):e.systemPrompt&&a.push("-c",`developer_instructions=${(0,t.shellEscape)(e.systemPrompt)}`),a.join(" ")},getEnvironment(e){let t={};return t.AO_SESSION_ID=e.sessionId,e.issueId&&(t.AO_ISSUE_ID=e.issueId),t.PATH=`${m}:${process.env.PATH??"/usr/bin:/bin"}`,t},detectActivity:e=>A(e),async getActivityState(e,t){if(!e.runtimeHandle||!await this.isProcessRunning(e.runtimeHandle))return{state:"exited",timestamp:new Date};let a=e.workspacePath?await T(e.workspacePath):null;if(!a){let t=await j(e.runtimeHandle);if(t){let e=A(t);return{state:"idle"===e?"ready":e,timestamp:new Date}}return null}try{let r=await (0,n.stat)(a),i=r.mtime;if(Date.now()-r.mtimeMs<=(t??6e4))return{state:"active",timestamp:i};let s=await j(e.runtimeHandle);if(s){let e=A(s);if("active"===e)return{state:"active",timestamp:new Date};if("waiting_input"===e)return{state:"waiting_input",timestamp:new Date}}return{state:"ready",timestamp:i}}catch{return null}},async isProcessRunning(e){try{if("tmux"===e.runtimeName&&e.id){let{stdout:t}=await p(d,["list-panes","-t",e.id,"-F","#{pane_tty}"],{timeout:3e4}),a=t.trim().split("\n").map(e=>e.trim()).filter(Boolean);if(0===a.length)return!1;let{stdout:r}=await p("ps",["-eo","pid,tty,args"],{timeout:3e4}),n=new Set(a.map(e=>e.replace(/^\/dev\//,""))),i=/(?:^|\/)codex(?:\s|$)/;for(let e of r.split("\n")){let t=e.trimStart().split(/\s+/);if(t.length<3||!n.has(t[1]??""))continue;let a=t.slice(2).join(" ");if(i.test(a))return!0}return!1}let t=e.data.pid,a="number"==typeof t?t:Number(t);if(Number.isFinite(a)&&a>0)try{return process.kill(a,0),!0}catch(e){if(e instanceof Error&&"code"in e&&"EPERM"===e.code)return!0}return!1}catch{return!1}},async getSessionInfo(e){if(!e.workspacePath)return null;let t=await T(e.workspacePath);if(!t)return null;let a=await b(t);if(!a)return null;let r=(0,s.basename)(t,".jsonl"),n=0===a.inputTokens&&0===a.outputTokens?void 0:{inputTokens:a.inputTokens,outputTokens:a.outputTokens,estimatedCostUsd:a.inputTokens/1e6*2.5+a.outputTokens/1e6*10},i=null!==a.lastAssistantMessage;return{summary:a.lastAssistantMessage??(a.model?`Codex session (${a.model})`:null),summaryIsFallback:!i,agentSessionId:r,cost:n}},async getRestoreCommand(e,a){if(!e.workspacePath)return null;let r=await T(e.workspacePath);if(!r)return null;let n=await b(r);if(!n?.threadId)return null;let i=[c,"resume"];a.agentConfig?.permissions==="skip"?i.push("--yolo"):i.push("--full-auto"),a.agentConfig?.model?i.push("--model",(0,t.shellEscape)(a.agentConfig.model)):n.model&&i.push("--model",(0,t.shellEscape)(n.model));let s=e.metadata.reasoningEffort??a.agentConfig?.reasoningEffort;return s&&i.push("-c",(0,t.shellEscape)(`model_reasoning_effort="${s}"`)),i.push((0,t.shellEscape)(n.threadId)),i.join(" ")},async setupWorkspaceHooks(e,t){if(await w(e),t.mcpServers&&Object.keys(t.mcpServers).length>0){let a=(0,s.join)(e,".codex");await (0,n.mkdir)(a,{recursive:!0});let r={mcpServers:t.mcpServers};await (0,n.writeFile)((0,s.join)(a,"mcp.json"),JSON.stringify(r,null,2),"utf-8")}},async postLaunchSetup(e){e.workspacePath&&await w(e.workspacePath)}}}e.s(["create",()=>P,"default",0,{manifest:f,create:P},"manifest",0,f])}];
128
-
129
- //# sourceMappingURL=%5Broot-of-the-server%5D__fe8419b5._.js.map
@@ -1,4 +0,0 @@
1
- module.exports=[6749,e=>{"use strict";var t=e.i(47909),r=e.i(74017),a=e.i(96250),n=e.i(59756),i=e.i(61916),o=e.i(74677),s=e.i(69741),l=e.i(16795),c=e.i(87718),u=e.i(95169),d=e.i(47587),p=e.i(66012),f=e.i(70101),m=e.i(74838),h=e.i(10372),g=e.i(93695);e.i(52474);var w=e.i(220),y=e.i(89171),x=e.i(12714),v=e.i(50227),C=e.i(60526),R=e.i(74533),j=e.i(12057),A=e.i(23008);e.i(20435);var b=e.i(15965),E=e.i(5453),k=e.i(33498),N=e.i(81425),P=e.i(62327),M=e.i(48295),S=e.i(90075),$=e.i(45629);function _(e,t){return e&&t?e.defaultModelByAccess[t]??null:null}let T=(0,j.promisify)(R.execFile),B=new Map,O=new Map,D={low:"Fast responses with lighter reasoning.",medium:"Balanced speed and reasoning depth for everyday tasks.",high:"Deeper reasoning for more complex tasks.",xhigh:"Maximum reasoning depth for the hardest tasks."};async function U(e){try{return await (0,x.readFile)(e,"utf8")}catch{return null}}async function I(e){let t=await U(e);if(!t)return null;try{return JSON.parse(t)}catch{return null}}function L(e,t){let r,a=e.trim().toLowerCase();return{id:a,label:"xhigh"===(r=a.trim().toLowerCase())?"Extra High":r.split(/[_\s-]+/g).filter(Boolean).map(e=>e[0]?.toUpperCase()+e.slice(1)).join(" "),description:t?.trim()||D[a]||"Reasoning effort supported by the local CLI."}}function F(e,t){return t&&e.some(e=>e.id===t)?t:e[0]?.id??null}function H(e,t,r){let a=t?.trim().toLowerCase()??null;if(a&&e.some(e=>e.id===a))return a;let n=r?.trim().toLowerCase()??null;if(n&&e.some(e=>e.id===n))return n;let i=e[0]?.id;return"string"==typeof i&&i.trim().length>0?i:null}function q(e){let t=new Set,r=[];for(let a of e)t.has(a.id)||(t.add(a.id),r.push(a));return r}async function W(){let e=await U((0,v.join)((0,C.homedir)(),".codex","config.toml"));if(!e)return{model:null,reasoningEffort:null};let t=e.match(/^\s*model\s*=\s*"([^"]+)"\s*$/m),r=e.match(/^\s*model_reasoning_effort\s*=\s*"([^"]+)"\s*$/m);return{model:t?.[1]?.trim()||null,reasoningEffort:r?.[1]?.trim().toLowerCase()||null}}function z(e){let t=e.trim().toLowerCase();if("opus"===t)return"Claude Opus";if("sonnet"===t)return"Claude Sonnet";if("haiku"===t)return"Claude Haiku";let r=t.match(/^claude-(sonnet|opus|haiku)-(\d+)-(\d+)(?:-(\d{8}))?$/);if(!r)return t.split(/[-_]+/g).filter(Boolean).map(e=>e[0]?.toUpperCase()+e.slice(1)).join(" ");let a=r[1],n=r[2],i=r[3];return`Claude ${a[0]?.toUpperCase()+a.slice(1)} ${n}.${i}`}function G(e){let t=e.trim().toLowerCase();return"opus"===t||t.includes("claude-opus")?["max","api"]:"haiku"===t||t.includes("claude-haiku")?["api"]:["pro","max","api"]}function K(e,t,r,a){return{id:e,label:a(e),description:t,access:r}}function V(e,t,r){if(!e)return null;let a=e.trim().toLowerCase();return t.some(e=>e.id===a)?a:a===r?t.find(e=>e.id.toLowerCase().includes(`claude-${r}`))?.id??null:null}async function X(e){for(let t of e)try{let e=await T(t,["--help"],{encoding:"utf8",timeout:1500,windowsHide:!0,maxBuffer:256e3}),r=`${e.stdout??""}
2
- ${e.stderr??""}`.trim();if(r.length>0)return r}catch{}return null}async function J(e){let t=await X(e);if(!t)return[];let r=t.match(/--effort\s+<[^>]+>.*?\(([^)]+)\)/s);return r?.[1]?(function(e){let t=new Set,r=[];for(let a of e){let e=a?.trim();!e||t.has(e)||(t.add(e),r.push(e))}return r})(r[1].split(",").map(e=>e.trim().toLowerCase())).map(e=>L(e)):[]}async function Q(){let e=await I((0,v.join)((0,C.homedir)(),".claude","settings.json")),t=await I((0,v.join)((0,C.homedir)(),".claude","stats-cache.json")),r=await J(["claude","claude-code","cc"]),a=function(e){let t=Array.isArray(e?.dailyModelTokens)?e.dailyModelTokens:[],r=new Set,a=[];for(let e of[...t].reverse()){var n;for(let t of Object.keys(!(n=e.tokensByModel)||"object"!=typeof n||Array.isArray(n)?{}:n)){let e=t.trim();!e.startsWith("claude-")||r.has(e)||(r.add(e),a.push(e))}}return a}(t),n="string"==typeof e?.model?e.model.trim().toLowerCase():null,i=q(a.map(e=>K(e,`Model discovered from the local Claude Code installation (${e}).`,G(e),z)));if(0===i.length&&!n)return null;let o=i.length>0?i:[K(n??"sonnet","Model configured in the local Claude Code settings.",G(n??"sonnet"),z)],s=o.filter(e=>e.access.includes("pro")),l=o.filter(e=>e.access.includes("max")),c=o.filter(e=>e.access.includes("api")),u={},d=V(n,s,"sonnet")??s[0]?.id??null,p=V(n,l,"opus")??l.find(e=>e.id.toLowerCase().includes("claude-opus"))?.id??l[0]?.id??null,f=V(n,c,"sonnet")??c[0]?.id??null;d&&(u.pro=d),p&&(u.max=p),f&&(u.api=f);let m=e?.alwaysThinkingEnabled===!0?"high":"medium",h={};for(let e of["pro","max","api"]){let t=H(r,m,m);t&&(h[e]=t)}return{agent:"claude-code",customModelPlaceholder:n||o[0]?.id||"",defaultModelByAccess:u,defaultReasoningByAccess:h,modelsByAccess:{...s.length>0?{pro:s}:{},...l.length>0?{max:l}:{},...c.length>0?{api:c}:{}},...r.length>0?{reasoningOptionsByAccess:{pro:r,max:r,api:r}}:{}}}async function Z(e,t={}){let r=t.maxDepth??5,a=t.maxFiles??24,n=t.maxDirectories??64,i=new Set((t.extensions??[]).map(e=>e.toLowerCase())),o=[],s=0;async function l(e,c){let u;if(!(c>r)&&!(s>=n)){s+=1;try{u=await (0,x.readdir)(e,{withFileTypes:!0})}catch{return}o.length>=3*a&&c>1||await Promise.all(u.map(async r=>{let a=(0,v.join)(e,r.name);if(r.isDirectory())return void await l(a,c+1);if(r.isFile()&&(!t.filenamePattern||t.filenamePattern.test(r.name))&&(!(i.size>0)||i.has((0,v.extname)(r.name).toLowerCase())))try{let e=await (0,x.stat)(a);o.push({path:a,mtimeMs:e.mtimeMs})}catch{}}))}}return await l(e,0),o.sort((e,t)=>t.mtimeMs-e.mtimeMs).slice(0,a).map(e=>e.path)}async function Y(e,t,r={}){let a=await Z(e,r),n=[],i=new Set;for(let e of a){let r=await U(e);if(!r)continue;t.lastIndex=0;let a=null;for(;null!==(a=t.exec(r));){let e=a[1]?.trim();!e||i.has(e)||(i.add(e),n.push(e))}}return n}function ee(e){return e.trim().split(/[-_]+/g).filter(Boolean).map((e,t)=>0===t?e[0]?.toUpperCase()+e.slice(1):/^\d+(?:\.\d+)?$/.test(e)?e:e[0]?.toUpperCase()+e.slice(1)).join(" ")}async function et(){let e=await I((0,v.join)((0,C.homedir)(),".gemini","settings.json")),t=await Y((0,v.join)((0,C.homedir)(),".gemini"),/"(?:model|modelVersion)"\s*:\s*"([^"]+)"/g,{extensions:[".json",".jsonl"],filenamePattern:/\.(json|jsonl)$/i,maxDepth:4,maxFiles:12,maxDirectories:48});if(0===t.length)return null;let r=q(t.map(e=>K(e,`Model discovered from the local Gemini CLI installation (${e}).`,["oauth","api"],ee))),a="string"==typeof e?.security?.auth?.selectedType?e.security.auth.selectedType.trim().toLowerCase():null,n=r[0]?.id??null;return{agent:"gemini",customModelPlaceholder:n??"",defaultModelByAccess:{...n?{oauth:n,api:n}:{}},modelsByAccess:{oauth:r,api:r},defaultReasoningByAccess:{},...a?.includes("oauth")?{customModelPlaceholder:n??""}:{}}}function er(e){return e.trim().split(/[-_]+/g).filter(Boolean).map(e=>e[0]?.toUpperCase()+e.slice(1)).join(" ")}async function ea(){let e=await Y((0,v.join)((0,C.homedir)(),".qwen"),/"(?:model|modelVersion)"\s*:\s*"([^"]+)"/g,{extensions:[".json",".jsonl"],filenamePattern:/\.(json|jsonl)$/i,maxDepth:5,maxFiles:12,maxDirectories:48});if(0===e.length)return null;let t=q(e.map(e=>K(e,`Model discovered from the local Qwen Code installation (${e}).`,["oauth","api"],er))),r=t[0]?.id??null;return{agent:"qwen-code",customModelPlaceholder:r??"",defaultModelByAccess:{...r?{oauth:r,api:r}:{}},modelsByAccess:{oauth:t,api:t},defaultReasoningByAccess:{}}}async function en(e){let t=e.trim().toLowerCase();if("codex"===t){let e=await U((0,v.join)((0,C.homedir)(),".codex","models_cache.json"));if(!e)return null;try{let t=JSON.parse(e),r=await W();return function(e,t=null,r=null){if(!e||"object"!=typeof e)return null;let a=(Array.isArray(e.models)?e.models:[]).map((e,t)=>({entry:e,index:t})).filter(({entry:e})=>"list"===e.visibility).sort((e,t)=>{let r="number"==typeof e.entry.priority?e.entry.priority:Number.MAX_SAFE_INTEGER,a="number"==typeof t.entry.priority?t.entry.priority:Number.MAX_SAFE_INTEGER;return r!==a?r-a:e.index-t.index}).map(({entry:e})=>({option:function(e){if("string"!=typeof e.slug||0===e.slug.trim().length)return null;let t=e.slug.trim(),r="string"==typeof e.display_name&&e.display_name.trim().length>0?e.display_name.trim():t;return{id:t,label:r.trim().split("-").filter(Boolean).map((e,t)=>{let r=e.toLowerCase();return"gpt"===r?"GPT":"codex"===r?"Codex":"spark"===r?"Spark":"mini"===r?"Mini":"max"===r?"Max":0===t?e.toUpperCase():e[0]?.toUpperCase()+e.slice(1)}).join("-"),description:"string"==typeof e.description&&e.description.trim().length>0?e.description.trim():`Model exposed by the local Codex installation (${t}).`,access:!1===e.supported_in_api?["chatgpt"]:["chatgpt","api"]}}(e),entry:e})).filter(e=>!!e.option);if(0===a.length)return null;let n={},i={};for(let{option:e,entry:t}of a){let a=(Array.isArray(t.supported_reasoning_levels)?t.supported_reasoning_levels:[]).map(e=>"string"!=typeof e.effort||0===e.effort.trim().length?null:L(e.effort,"string"==typeof e.description?e.description:null)).filter(e=>!!e);if(a.length>0){n[e.id]=a;let o=H(a,r,"string"==typeof t.default_reasoning_level?t.default_reasoning_level.trim().toLowerCase():null);o&&(i[e.id]=o)}}let o=a.map(({option:e})=>e),s=a.map(({option:e})=>e).filter(e=>e.access.includes("api")),l=t?.trim()||o[0]?.id||"",c=F(o,t),u=F(s,t),d={};if(c){let e=H(n[c]??[],r,i[c]??null);e&&(d.chatgpt=e)}if(u){let e=H(n[u]??[],r,i[u]??null);e&&(d.api=e)}return{agent:"codex",customModelPlaceholder:l,defaultModelByAccess:{...c?{chatgpt:c}:{},...u?{api:u}:{}},defaultReasoningByAccess:d,modelsByAccess:{chatgpt:o,api:s},defaultReasoningByModel:i,reasoningOptionsByModel:n}}(t,r.model,r.reasoningEffort)}catch{return null}}return"claude-code"===t?Q():"gemini"===t?et():"qwen-code"===t?ea():null}async function ei(e){let t=e.trim().toLowerCase();if(!t)return null;let r=Date.now(),a=B.get(t);if(a&&a.expiresAt>r)return a.value;let n=O.get(t);if(n)return n;let i=en(t).then(e=>(B.set(t,{value:e,expiresAt:Date.now()+6e4}),e)).finally(()=>{O.delete(t)});return O.set(t,i),i}async function eo(e,t){return _(await ei(e),(0,$.resolveAgentModelAccess)(e,t))}async function es(e,t,r){let a=await ei(e),n=(0,$.resolveAgentModelAccess)(e,t),i=r?.trim()||_(a,n);if(!a)return null;let o=i?.trim();return o&&a.defaultReasoningByModel?.[o]?a.defaultReasoningByModel[o]??null:n?a.defaultReasoningByAccess?.[n]??null:null}let el=(0,j.promisify)(R.execFile);function ec(e){if("string"!=typeof e)return null;let t=e.trim();return t.length>0?t:null}function eu(e){return e.startsWith("~/")?(0,v.resolve)((0,C.homedir)(),e.slice(2)):(0,v.resolve)(e)}function ed(e){return e.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").slice(0,64)||"workspace"}function ep(e,t){if(!t.has(e))return e;let r=2;for(;t.has(`${e}-${r}`);)r+=1;return`${e}-${r}`}function ef(e){let t=e.match(/^git@[^:]+:(.+)$/),r=t?t[1]:e;try{let e=new URL(r).pathname.replace(/^\/+/,"").replace(/\.git$/i,"").split("/").filter(Boolean);if(e.length>=2)return`${e[e.length-2]}/${e[e.length-1]}`;if(1===e.length)return e[0];return null}catch{let e=r.replace(/\.git$/i,"").split("/").filter(Boolean);if(e.length>=2)return`${e[e.length-2]}/${e[e.length-1]}`;return e[e.length-1]??null}}function em(e){if(e.providedId)return ed(e.providedId);let t=e.gitUrl?ef(e.gitUrl)?.split("/").pop()??null:null;if(t)return ed(t);let r=e.path?(0,v.basename)(e.path):null;return r?ed(r):"workspace"}async function eh(e,t){return(await el("git",t,{cwd:e,timeout:9e4})).stdout.trim()}async function eg(e){try{return await eh(e,["rev-parse","--is-inside-work-tree"]),!0}catch{return!1}}async function ew(e,t){try{let t=await eh(e,["symbolic-ref","--short","refs/remotes/origin/HEAD"]);if(t.startsWith("origin/"))return t.slice(7)}catch{}try{let t=await eh(e,["symbolic-ref","--short","HEAD"]);if(t.length>0&&"HEAD"!==t)return t}catch{}return t}async function ey(e){let t=!0;try{await eh(e,["rev-parse","--verify","HEAD"])}catch{t=!1}t||(await eh(e,["add","-A"]),await eh(e,["-c","user.name=Conductor","-c","user.email=conductor@local","commit","--allow-empty","-m","chore: initialize workspace"]))}async function ex(e,t){try{await eh(e,["init","-b",t])}catch{await eh(e,["init"]);try{await eh(e,["checkout","-b",t])}catch{}}await ey(e)}async function ev(e){try{let t=await eh(e,["remote","get-url","origin"]);return ef(t)??t}catch{return null}}function eC(e){let t=e.replace(/[-_]+/g," ").trim();return 0===t.length?e:t.replace(/\b\w/g,e=>e.toUpperCase())}function eR(e){return(0,b.buildProjectConfigRecord)({projectId:e.projectId,displayName:eC(e.projectId),path:e.path,repo:e.repo,defaultBranch:e.defaultBranch,agent:e.agent,agentModel:e.agentModel??null,agentReasoningEffort:e.agentReasoningEffort??null,sessionPrefix:e.sessionPrefix,workspace:e.useWorktree?"worktree":"local",runtime:"tmux",scm:e.repo.includes("/")?"github":null})}function ej(e,t){let r=function(e){let t=new Set;for(let r of Object.values(e)){let e="string"==typeof r.sessionPrefix&&r.sessionPrefix.trim().length>0?r.sessionPrefix.trim():(0,E.generateSessionPrefix)((0,v.basename)(eu(r.path)));e&&t.add(e)}return t}(t),a=(0,E.generateSessionPrefix)((0,v.basename)(e));if(!r.has(a))return a;let n=2;for(;r.has(`${a}${n}`);)n+=1;return`${a}${n}`}async function eA(e){var t;let r=await (0,x.readFile)(e.configPath,"utf8"),a=(0,A.parse)(r)??{},n=a&&"object"==typeof a&&!Array.isArray(a)?{...a}:{},i=(t=n.projects,(0,k.normalizeProjectConfigMap)(t));i[e.projectId]=e.projectData,n.projects=i,await (0,S.normalizeRootProjectPaths)(n);let o=(0,A.stringify)(n,{lineWidth:0});await (0,x.writeFile)(e.configPath,o,"utf8");try{(0,P.invalidateServicesCache)("workspace added"),await (0,P.getServices)()}catch(t){throw await (0,x.writeFile)(e.configPath,r,"utf8"),(0,P.invalidateServicesCache)("workspace add rollback"),t}}async function eb(e){let t=(0,v.resolve)(e.path,"CONDUCTOR.md"),r=await (0,x.stat)(t).catch(()=>null);r?.isFile()||await (0,x.writeFile)(t,(0,b.buildConductorBoard)(e.projectId,e.displayName),"utf8")}async function eE(){let e=await (0,M.guardApiAccess)(void 0,"viewer");if(e)return e;try{let{config:e}=await (0,P.getServices)(),t=Object.entries(e.projects).map(([t,r])=>({id:t,path:r.path,repo:r.repo??null,defaultBranch:r.defaultBranch??"main",agent:r.agent??e.defaults.agent,workspace:r.workspace??e.defaults.workspace}));return y.NextResponse.json({workspaces:t})}catch(t){let e=t instanceof Error?t.message:"Failed to list workspaces";return y.NextResponse.json({error:e},{status:500})}}async function ek(e){let t=await (0,M.guardApiAccess)(e,"operator");if(t)return t;let r=(0,M.guardApiActionAccess)(e);if(r)return r;let a=await e.json().catch(()=>null);if(!a)return y.NextResponse.json({error:"Invalid JSON body"},{status:400});let n=ec(a.mode);if("git"!==n&&"local"!==n)return y.NextResponse.json({error:"mode must be either 'git' or 'local'"},{status:400});let i=ec(a.defaultBranch),o=i??"main",s=!1!==a.useWorktree,l=ec(a.gitUrl),c=ec(a.path),u=!0===a.initializeGit;try{let{config:e}=await (0,P.getServices)(),t=e.configPath;if(!t)return y.NextResponse.json({error:"Unable to resolve conductor config path"},{status:500});let r=ec(a.agent)??e.defaults.agent,d=new Set(Object.keys(e.projects)),p=Object.values(e.projects).map(e=>e.path),f=new Set(p.map(e=>(0,v.basename)(eu(e))).filter(Boolean));if("git"===n){if(!l)return y.NextResponse.json({error:"gitUrl is required for mode=git"},{status:400});let n=em({providedId:ec(a.projectId),gitUrl:l,path:c}),u=ep(n,d),m=c?eu(c):(0,v.resolve)(function(e){let t=new Map;for(let r of e){let e=eu(r),a=/\.[a-z0-9]+$/i.test((0,v.basename)(e))?(0,v.dirname)(e):(0,v.dirname)(e)===e?e:(0,v.dirname)(e);t.set(a,(t.get(a)??0)+1)}return[...t.entries()].sort((e,t)=>t[1]-e[1])[0]?.[0]??(0,v.resolve)((0,C.homedir)(),".openclaw","workspace","projects")}(p),u),h=(0,v.basename)(m);if(f.has(h))return y.NextResponse.json({error:`A project already uses basename '${h}'. Choose a different folder name.`},{status:409});await (0,x.mkdir)((0,v.dirname)(m),{recursive:!0});let g=await (0,x.stat)(m).catch(()=>null);if(g){if(!g.isDirectory())return y.NextResponse.json({error:"Target path exists and is not a directory"},{status:409});if(!await eg(m))return y.NextResponse.json({error:"Target path already exists and is not a git repository"},{status:409})}else await el("git",["clone",l,m],{timeout:12e4});let w=await ew(m,o),R=i??w,j=ef(l)??l,A=ej(m,e.projects),b=await eo(r,e.preferences?.modelAccess??null),E=await es(r,e.preferences?.modelAccess??null,b);await eA({configPath:t,projectId:u,projectData:eR({projectId:u,path:m,repo:j,defaultBranch:R,agent:r,agentModel:b,agentReasoningEffort:E,sessionPrefix:A,useWorktree:s})}),await eb({path:m,projectId:u,displayName:eC(u)});{let{config:e,registry:t}=await (0,P.getServices)();await (0,S.syncProjectLocalConfig)(e,u),(0,N.syncWorkspaceSupportFiles)(e,{agentNames:t.list("agent").map(e=>e.name)})}return y.NextResponse.json({project:{id:u,path:m,repo:j,defaultBranch:R,agent:r,workspace:s?"worktree":"local"}},{status:201})}if(!c)return y.NextResponse.json({error:"path is required for mode=local"},{status:400});let m=eu(c),h=await (0,x.stat)(m).catch(()=>null);if(!h||!h.isDirectory())return y.NextResponse.json({error:"path must point to an existing directory"},{status:400});let g=(0,v.basename)(m);if(f.has(g))return y.NextResponse.json({error:`A project already uses basename '${g}'. Choose a different folder.`},{status:409});let w=await eg(m);if(!w&&u&&(await ex(m,o),w=!0),!w)return y.NextResponse.json({error:"Selected folder is not a git repository. Enable git initialization to use it as a workspace."},{status:400});let R=await ew(m,o),j=i??R,A=em({providedId:ec(a.projectId),gitUrl:null,path:m}),b=ep(A,d),E=await ev(m)??`local-${b}`,k=ej(m,e.projects),M=await eo(r,e.preferences?.modelAccess??null),$=await es(r,e.preferences?.modelAccess??null,M);await eA({configPath:t,projectId:b,projectData:eR({projectId:b,path:m,repo:E,defaultBranch:j,agent:r,agentModel:M,agentReasoningEffort:$,sessionPrefix:k,useWorktree:s})}),await eb({path:m,projectId:b,displayName:eC(b)});{let{config:e,registry:t}=await (0,P.getServices)();await (0,S.syncProjectLocalConfig)(e,b),(0,N.syncWorkspaceSupportFiles)(e,{agentNames:t.list("agent").map(e=>e.name)})}return y.NextResponse.json({project:{id:b,path:m,repo:E,defaultBranch:j,agent:r,workspace:s?"worktree":"local"}},{status:201})}catch(t){let e=t instanceof Error?t.message:"Failed to create workspace";return y.NextResponse.json({error:e},{status:500})}}e.s(["GET",()=>eE,"POST",()=>ek,"dynamic",0,"force-dynamic"],66596);var eN=e.i(66596);let eP=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/workspaces/route",pathname:"/api/workspaces",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/packages/web/src/app/api/workspaces/route.ts",nextConfigOutput:"standalone",userland:eN}),{workAsyncStorage:eM,workUnitAsyncStorage:eS,serverHooks:e$}=eP;function e_(){return(0,a.patchFetch)({workAsyncStorage:eM,workUnitAsyncStorage:eS})}async function eT(e,t,a){eP.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let y="/api/workspaces/route";y=y.replace(/\/index$/,"")||"/";let x=await eP.prepare(e,t,{srcPage:y,multiZoneDraftMode:!1});if(!x)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:v,params:C,nextConfig:R,parsedUrl:j,isDraftMode:A,prerenderManifest:b,routerServerContext:E,isOnDemandRevalidate:k,revalidateOnlyGenerated:N,resolvedPathname:P,clientReferenceManifest:M,serverActionsManifest:S}=x,$=(0,s.normalizeAppPath)(y),_=!!(b.dynamicRoutes[$]||b.routes[P]),T=async()=>((null==E?void 0:E.render404)?await E.render404(e,t,j,!1):t.end("This page could not be found"),null);if(_&&!A){let e=!!b.routes[P],t=b.dynamicRoutes[$];if(t&&!1===t.fallback&&!e){if(R.experimental.adapterPath)return await T();throw new g.NoFallbackError}}let B=null;!_||eP.isDev||A||(B="/index"===(B=P)?"/":B);let O=!0===eP.isDev||!_,D=_&&!O;S&&M&&(0,o.setManifestsSingleton)({page:y,clientReferenceManifest:M,serverActionsManifest:S});let U=e.method||"GET",I=(0,i.getTracer)(),L=I.getActiveScopeSpan(),F={params:C,prerenderManifest:b,renderOpts:{experimental:{authInterrupts:!!R.experimental.authInterrupts},cacheComponents:!!R.cacheComponents,supportsDynamicResponse:O,incrementalCache:(0,n.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:R.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,n)=>eP.onRequestError(e,t,a,n,E)},sharedContext:{buildId:v}},H=new l.NodeNextRequest(e),q=new l.NodeNextResponse(t),W=c.NextRequestAdapter.fromNodeNextRequest(H,(0,c.signalFromNodeResponse)(t));try{let o=async e=>eP.handle(W,F).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=I.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==u.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let a=r.get("next.route");if(a){let t=`${U} ${a}`;e.setAttributes({"next.route":a,"http.route":a,"next.span_name":t}),e.updateName(t)}else e.updateName(`${U} ${y}`)}),s=!!(0,n.getRequestMeta)(e,"minimalMode"),l=async n=>{var i,l;let c=async({previousCacheEntry:r})=>{try{if(!s&&k&&N&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let i=await o(n);e.fetchMetrics=F.renderOpts.fetchMetrics;let l=F.renderOpts.pendingWaitUntil;l&&a.waitUntil&&(a.waitUntil(l),l=void 0);let c=F.renderOpts.collectedTags;if(!_)return await (0,p.sendResponse)(H,q,i,F.renderOpts.pendingWaitUntil),null;{let e=await i.blob(),t=(0,f.toNodeOutgoingHttpHeaders)(i.headers);c&&(t[h.NEXT_CACHE_TAGS_HEADER]=c),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==F.renderOpts.collectedRevalidate&&!(F.renderOpts.collectedRevalidate>=h.INFINITE_CACHE)&&F.renderOpts.collectedRevalidate,a=void 0===F.renderOpts.collectedExpire||F.renderOpts.collectedExpire>=h.INFINITE_CACHE?void 0:F.renderOpts.collectedExpire;return{value:{kind:w.CachedRouteKind.APP_ROUTE,status:i.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==r?void 0:r.isStale)&&await eP.onRequestError(e,t,{routerKind:"App Router",routePath:y,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:D,isOnDemandRevalidate:k})},!1,E),t}},u=await eP.handleResponse({req:e,nextConfig:R,cacheKey:B,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:b,isRoutePPREnabled:!1,isOnDemandRevalidate:k,revalidateOnlyGenerated:N,responseGenerator:c,waitUntil:a.waitUntil,isMinimalMode:s});if(!_)return null;if((null==u||null==(i=u.value)?void 0:i.kind)!==w.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==u||null==(l=u.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});s||t.setHeader("x-nextjs-cache",k?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),A&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let g=(0,f.fromNodeOutgoingHttpHeaders)(u.value.headers);return s&&_||g.delete(h.NEXT_CACHE_TAGS_HEADER),!u.cacheControl||t.getHeader("Cache-Control")||g.get("Cache-Control")||g.set("Cache-Control",(0,m.getCacheControlHeader)(u.cacheControl)),await (0,p.sendResponse)(H,q,new Response(u.value.body,{headers:g,status:u.value.status||200})),null};L?await l(L):await I.withPropagatedContext(e.headers,()=>I.trace(u.BaseServerSpan.handleRequest,{spanName:`${U} ${y}`,kind:i.SpanKind.SERVER,attributes:{"http.method":U,"http.target":e.url}},l))}catch(t){if(t instanceof g.NoFallbackError||await eP.onRequestError(e,t,{routerKind:"App Router",routePath:$,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:D,isOnDemandRevalidate:k})},!1,E),_)throw t;return await (0,p.sendResponse)(H,q,new Response(null,{status:500})),null}}e.s(["handler",()=>eT,"patchFetch",()=>e_,"routeModule",()=>eP,"serverHooks",()=>e$,"workAsyncStorage",()=>eM,"workUnitAsyncStorage",()=>eS],6749)}];
3
-
4
- //# sourceMappingURL=node_modules_next_dist_esm_build_templates_app-route_0e4dc4f7.js.map
@@ -1,3 +0,0 @@
1
- module.exports=[33228,e=>{"use strict";var t=e.i(47909),r=e.i(74017),n=e.i(96250),i=e.i(59756),a=e.i(61916),s=e.i(74677),o=e.i(69741),l=e.i(16795),u=e.i(87718),d=e.i(95169),c=e.i(47587),p=e.i(66012),f=e.i(70101),h=e.i(74838),m=e.i(10372),w=e.i(93695);e.i(52474);var g=e.i(220),R=e.i(2157),x=e.i(74533),v=e.i(12057),E=e.i(89171),y=e.i(62327),C=e.i(48295);let N=(0,v.promisify)(x.execFile);function b(e){return(e.length>=2&&(e.startsWith('"')&&e.endsWith('"')||e.startsWith("'")&&e.endsWith("'"))?e.slice(1,-1):e).replace(/\\ /g," ").replace(/^a\//,"").replace(/^b\//,"").trim()}function P(e){if(!e)return{};let t=e.replace(/^https?:\/\/github\.com\//,"").split("/").filter(Boolean);return t.length<2?{}:{owner:t[0],repo:t[1]}}function A(e,t,r){let n=(function(e){let t=e.split(/\r?\n/),r=[],n=null,i=1,a=1,s=()=>{n&&(r.push(n),n=null)};for(let e of t){if(e.startsWith("diff --git ")){s();let t=/diff --git (a\/.+) (b\/.+)/.exec(e);if(!t)continue;let r=b(t[1].slice(2)),o=b(t[2].slice(2)),l="/dev/null"===o?r:o,u=r!==o&&"/dev/null"!==o&&"/dev/null"!==r?"renamed":"modified";n={path:l,oldPath:r,newPath:o,status:u,additions:0,deletions:0,lines:[]},i=1,a=1;continue}if(!n||e.startsWith("index "))continue;if(e.startsWith("new file mode ")){n.status="added";continue}if(e.startsWith("deleted file mode ")){n.status="deleted";continue}if(e.startsWith("old mode ")){n.status="modified";continue}if(e.startsWith("--- ")||e.startsWith("+++ "))continue;if(e.startsWith("Binary files ")){n.status="binary",n.lines.push({kind:"info",oldLine:null,newLine:null,text:e});continue}if(e.startsWith("rename from ")){n.status="renamed",n.oldPath=b(e.slice(11));continue}if(e.startsWith("rename to ")){n.status="renamed",n.newPath=b(e.slice(9)),n.path=n.newPath;continue}if(e.startsWith("copy from ")){n.status="copy",n.oldPath=b(e.slice(9));continue}if(e.startsWith("copy to ")){n.status="copy",n.newPath=b(e.slice(8)),n.path=n.newPath;continue}let t=/^@@ -([0-9]+)(?:,([0-9]+))? \+([0-9]+)(?:,([0-9]+))? @@/.exec(e);if(t){i=Number.parseInt(t[1],10),a=Number.parseInt(t[3],10),n.lines.push({kind:"hunk",oldLine:null,newLine:null,text:e});continue}if(e.startsWith("+")&&!e.startsWith("+++")){n.lines.push({kind:"add",oldLine:null,newLine:a,text:e.slice(1)}),n.additions+=1,a+=1;continue}if(e.startsWith("-")&&!e.startsWith("---")){n.lines.push({kind:"remove",oldLine:i,newLine:null,text:e.slice(1)}),n.deletions+=1,i+=1;continue}if(e.startsWith(" ")){let t=e.slice(1);n.lines.push({kind:"context",oldLine:i,newLine:a,text:t}),i+=1,a+=1;continue}if(e.startsWith("\\")){n.lines.push({kind:"meta",oldLine:null,newLine:null,text:e});continue}}return s(),r})(e).map(e=>({path:e.path||e.newPath||e.oldPath,status:e.status,additions:e.additions,deletions:e.deletions,lines:e.lines.map(e=>({...e,text:e.text.trimEnd()}))}));return{hasDiff:n.length>0||t.length>0,generatedAt:new Date().toISOString(),source:r,truncated:!1,files:n,untracked:t}}async function S(e){let{stdout:t}=await N("gh",["pr","diff",String(e.number),"--repo",`${e.owner}/${e.repo}`],{encoding:"utf8",maxBuffer:8388608});return t}async function k(e,t){if(!(0,R.existsSync)(e)||!(0,R.statSync)(e).isDirectory())throw Error(`Session workspace not found: ${e}`);try{let[r,n]=await Promise.all([N("git",["-C",e,"diff","--no-color","--no-ext-diff"],{encoding:"utf8",maxBuffer:8388608}),N("git",["-C",e,"status","--short","--untracked-files=all"],{encoding:"utf8",maxBuffer:8388608})]);if(!r.stdout.trim()&&t)for(let r of[t,`origin/${t}`,"main","origin/main","master","origin/master"])try{let t=await N("git",["-C",e,"diff",`${r}...HEAD`,"--no-color","--no-ext-diff"],{encoding:"utf8",maxBuffer:8388608});if(t.stdout.trim())return{diff:t.stdout,status:n.stdout}}catch{}return{diff:r.stdout,status:n.stdout}}catch(e){if(e instanceof Error&&(e.message.includes("not a git repository")||e.message.includes("fatal: not a git repository")))throw Error("Session workspace is not a git repository");throw e}}async function T(e,t){let r=await (0,C.guardApiAccess)(void 0,"viewer");if(r)return r;let{id:n}=await t.params,i=decodeURIComponent(n??"").trim();if(!i)return E.NextResponse.json({error:"Session id is required"},{status:400});try{let{sessionManager:e,config:t}=await (0,y.getServices)(),r=await e.get(i);if(!r)return E.NextResponse.json({error:`Session ${i} not found`},{status:404});let n=t.projects[r.projectId],a=function(e,t){if(!e.pr)return null;let r=e.pr.owner,n=e.pr.repo,i=function(e){if(!e)return null;let t=/\/pull\/(\d+)/.exec(e);if(!t?.[1])return null;let r=Number.parseInt(t[1],10);return Number.isFinite(r)&&r>0?r:null}(e.pr.url),a=Number.isFinite(e.pr.number)?e.pr.number:i;if(null==a)return null;if((!r||!n)&&e.pr.url){let t=P(e.pr.url);r=r??t.owner,n=n??t.repo}if((!r||!n)&&t){let e=P(t);r=r??e.owner,n=n??e.repo}return r&&n?{owner:r,repo:n,number:a,url:e.pr.url||`https://github.com/${r}/${n}/pull/${a}`}:null}(r,n?.repo),s=r.workspacePath??r.metadata.worktree;if(s)try{let e=n?.defaultBranch??r.metadata.baseBranch??"main",{diff:t,status:i}=await k(s,e),a=A(t,i.split(/\r?\n/).map(e=>e.trim()).filter(e=>e.startsWith("??")).map(e=>e.slice(3).trim()).filter(Boolean),"working-tree");return E.NextResponse.json(a)}catch(t){if(a)try{let e=await S(a),t=A(e,[],"remote-pr");return E.NextResponse.json(t)}catch(e){console.error(`Failed to load remote PR diff for ${i}`,e)}let e=t instanceof Error?t.message:"Failed to load review diff";return E.NextResponse.json({error:e},{status:404})}if(!a)return E.NextResponse.json({error:"Session does not have a workspace path or PR reference for diff review"},{status:404});try{let e=await S(a),t=A(e,[],"remote-pr");return E.NextResponse.json(t)}catch(t){console.error(`Failed to load remote PR diff for ${i}`,t);let e=t instanceof Error?t.message:"Failed to load review diff";return E.NextResponse.json({error:e},{status:500})}}catch(r){let e=r instanceof Error?r.message:"Failed to load review diff",t=e.includes("not found")?404:500;return E.NextResponse.json({error:e},{status:t})}}e.s(["GET",()=>T,"dynamic",0,"force-dynamic"],18558);var W=e.i(18558);let O=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/sessions/[id]/diff/route",pathname:"/api/sessions/[id]/diff",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/packages/web/src/app/api/sessions/[id]/diff/route.ts",nextConfigOutput:"standalone",userland:W}),{workAsyncStorage:I,workUnitAsyncStorage:$,serverHooks:_}=O;function j(){return(0,n.patchFetch)({workAsyncStorage:I,workUnitAsyncStorage:$})}async function H(e,t,n){O.isDev&&(0,i.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let R="/api/sessions/[id]/diff/route";R=R.replace(/\/index$/,"")||"/";let x=await O.prepare(e,t,{srcPage:R,multiZoneDraftMode:!1});if(!x)return t.statusCode=400,t.end("Bad Request"),null==n.waitUntil||n.waitUntil.call(n,Promise.resolve()),null;let{buildId:v,params:E,nextConfig:y,parsedUrl:C,isDraftMode:N,prerenderManifest:b,routerServerContext:P,isOnDemandRevalidate:A,revalidateOnlyGenerated:S,resolvedPathname:k,clientReferenceManifest:T,serverActionsManifest:W}=x,I=(0,o.normalizeAppPath)(R),$=!!(b.dynamicRoutes[I]||b.routes[k]),_=async()=>((null==P?void 0:P.render404)?await P.render404(e,t,C,!1):t.end("This page could not be found"),null);if($&&!N){let e=!!b.routes[k],t=b.dynamicRoutes[I];if(t&&!1===t.fallback&&!e){if(y.experimental.adapterPath)return await _();throw new w.NoFallbackError}}let j=null;!$||O.isDev||N||(j="/index"===(j=k)?"/":j);let H=!0===O.isDev||!$,D=$&&!H;W&&T&&(0,s.setManifestsSingleton)({page:R,clientReferenceManifest:T,serverActionsManifest:W});let U=e.method||"GET",F=(0,a.getTracer)(),q=F.getActiveScopeSpan(),B={params:E,prerenderManifest:b,renderOpts:{experimental:{authInterrupts:!!y.experimental.authInterrupts},cacheComponents:!!y.cacheComponents,supportsDynamicResponse:H,incrementalCache:(0,i.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:y.cacheLife,waitUntil:n.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,n,i)=>O.onRequestError(e,t,n,i,P)},sharedContext:{buildId:v}},L=new l.NodeNextRequest(e),M=new l.NodeNextResponse(t),K=u.NextRequestAdapter.fromNodeNextRequest(L,(0,u.signalFromNodeResponse)(t));try{let s=async e=>O.handle(K,B).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=F.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==d.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let n=r.get("next.route");if(n){let t=`${U} ${n}`;e.setAttributes({"next.route":n,"http.route":n,"next.span_name":t}),e.updateName(t)}else e.updateName(`${U} ${R}`)}),o=!!(0,i.getRequestMeta)(e,"minimalMode"),l=async i=>{var a,l;let u=async({previousCacheEntry:r})=>{try{if(!o&&A&&S&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let a=await s(i);e.fetchMetrics=B.renderOpts.fetchMetrics;let l=B.renderOpts.pendingWaitUntil;l&&n.waitUntil&&(n.waitUntil(l),l=void 0);let u=B.renderOpts.collectedTags;if(!$)return await (0,p.sendResponse)(L,M,a,B.renderOpts.pendingWaitUntil),null;{let e=await a.blob(),t=(0,f.toNodeOutgoingHttpHeaders)(a.headers);u&&(t[m.NEXT_CACHE_TAGS_HEADER]=u),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==B.renderOpts.collectedRevalidate&&!(B.renderOpts.collectedRevalidate>=m.INFINITE_CACHE)&&B.renderOpts.collectedRevalidate,n=void 0===B.renderOpts.collectedExpire||B.renderOpts.collectedExpire>=m.INFINITE_CACHE?void 0:B.renderOpts.collectedExpire;return{value:{kind:g.CachedRouteKind.APP_ROUTE,status:a.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:n}}}}catch(t){throw(null==r?void 0:r.isStale)&&await O.onRequestError(e,t,{routerKind:"App Router",routePath:R,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:D,isOnDemandRevalidate:A})},!1,P),t}},d=await O.handleResponse({req:e,nextConfig:y,cacheKey:j,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:b,isRoutePPREnabled:!1,isOnDemandRevalidate:A,revalidateOnlyGenerated:S,responseGenerator:u,waitUntil:n.waitUntil,isMinimalMode:o});if(!$)return null;if((null==d||null==(a=d.value)?void 0:a.kind)!==g.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(l=d.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});o||t.setHeader("x-nextjs-cache",A?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),N&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let w=(0,f.fromNodeOutgoingHttpHeaders)(d.value.headers);return o&&$||w.delete(m.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||t.getHeader("Cache-Control")||w.get("Cache-Control")||w.set("Cache-Control",(0,h.getCacheControlHeader)(d.cacheControl)),await (0,p.sendResponse)(L,M,new Response(d.value.body,{headers:w,status:d.value.status||200})),null};q?await l(q):await F.withPropagatedContext(e.headers,()=>F.trace(d.BaseServerSpan.handleRequest,{spanName:`${U} ${R}`,kind:a.SpanKind.SERVER,attributes:{"http.method":U,"http.target":e.url}},l))}catch(t){if(t instanceof w.NoFallbackError||await O.onRequestError(e,t,{routerKind:"App Router",routePath:I,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:D,isOnDemandRevalidate:A})},!1,P),$)throw t;return await (0,p.sendResponse)(L,M,new Response(null,{status:500})),null}}e.s(["handler",()=>H,"patchFetch",()=>j,"routeModule",()=>O,"serverHooks",()=>_,"workAsyncStorage",()=>I,"workUnitAsyncStorage",()=>$],33228)}];
2
-
3
- //# sourceMappingURL=node_modules_next_dist_esm_build_templates_app-route_dd27f857.js.map
@@ -1,3 +0,0 @@
1
- module.exports=[57370,e=>{"use strict";var t=e.i(47909),r=e.i(74017),a=e.i(96250),n=e.i(59756),i=e.i(61916),o=e.i(74677),s=e.i(69741),l=e.i(16795),c=e.i(87718),u=e.i(95169),p=e.i(47587),d=e.i(66012),f=e.i(70101),h=e.i(74838),g=e.i(10372),m=e.i(93695);e.i(52474);var y=e.i(220),v=e.i(89171),w=e.i(12714),R=e.i(2157),S=e.i(74533),C=e.i(12057),E=e.i(50227),x=e.i(60526),A=e.i(23008);e.i(20435);var j=e.i(33498),N=e.i(81425),P=e.i(62327),b=e.i(48295),k=e.i(90075);let T=(0,C.promisify)(S.execFile);function O(e){if("string"!=typeof e)return null;let t=e.trim();return t.length>0?t:null}function F(e){return!e||"object"!=typeof e||Array.isArray(e)?{}:{...e}}function D(e){return e.startsWith("~/")?(0,E.resolve)((0,x.homedir)(),e.slice(2)):(0,E.resolve)(e)}function I(e){return Array.isArray(e)?e.map(e=>"string"==typeof e?e.trim():"").filter(e=>e.length>0):"string"==typeof e?e.split("\n").map(e=>e.trim()).filter(e=>e.length>0):[]}function U(e){return I(e).join("\n")}function _(e){return Array.isArray(e)?e.map(e=>"string"==typeof e?e.trim():"").filter(e=>e.length>0):"string"==typeof e?e.split(",").map(e=>e.trim()).filter(e=>e.length>0):[]}async function H(e){if(!(0,R.existsSync)(e))return!1;try{return await T("git",["-C",e,"rev-parse","--is-inside-work-tree"],{timeout:2e4}),!0}catch{return!1}}async function M(e){let t=(0,E.dirname)(e),r=(0,E.basename)(e).toLowerCase();if(!(0,R.existsSync)(t))return null;try{for(let e of(0,R.readdirSync)(t,{withFileTypes:!0}).filter(e=>e.isDirectory()).map(e=>(0,E.join)(t,e.name)))if((0,E.basename)(e).toLowerCase()===r&&await H(e))return e}catch{}return null}async function q(e,t){let r=D(e);if(await H(r))return r;let a=(0,E.extname)(r).toLowerCase(),n=function(e){if(!e||0===e.trim().length)return null;let t=e.trim(),r=t.match(/^git@[^:]+:(.+)$/),a=r?r[1]:t;try{let e=new URL(a).pathname.replace(/^\/+/,"").replace(/\.git$/i,"").split("/").filter(Boolean);return e[e.length-1]??null}catch{let e=a.replace(/\.git$/i,"").split(/[/:]/).filter(Boolean);return e[e.length-1]??null}}(t);for(let e of function(e){let t=new Set,r=[];for(let a of e){let e=(0,E.resolve)(a);t.has(e)||(t.add(e),r.push(e))}return r}([r,...a?[(0,E.dirname)(r)]:[],...n?[(0,E.join)((0,E.dirname)(r),n)]:[],...n?[(0,E.join)((0,x.homedir)(),".openclaw","projects",n)]:[],...n?[(0,E.join)((0,x.homedir)(),".conductor","projects",n)]:[],r.replace("/workspace/projects/","/projects/"),...n?[(0,E.join)((0,x.homedir)(),".openclaw","projects",n.toLowerCase())]:[]])){if(await H(e))return e;let t=await M(e);if(t)return t}return null}async function $(e,t){let r=O(t.path)??"",a=O(t.repo)??"",n=F(t.agentConfig),i=r?D(r):"",o=!!i&&(0,R.existsSync)(i),s=!!i&&await H(i),l=r?await q(r,a||null):null;return{id:e,displayName:O(t.name)??e,repo:a,path:r,agent:O(t.agent)??"claude-code",agentModel:O(n.model)??"",agentReasoningEffort:O(n.reasoningEffort)??"",workspaceMode:O(t.workspace)??"worktree",runtimeMode:O(t.runtime)??"tmux",scmMode:O(t.scm)??"github",defaultWorkingDirectory:O(t.defaultWorkingDirectory)??"",defaultBranch:O(t.defaultBranch)??"main",devServerScript:O(F(t.devServer).command)??"",setupScript:U(t.setupScript??t.postCreate),runSetupInParallel:!0===t.runSetupInParallel,cleanupScript:U(t.cleanupScript),archiveScript:U(t.archiveScript),copyFiles:_(t.copyFiles).join(", "),pathHealth:{exists:o,isGitRepository:s,suggestedPath:l&&l!==i?l:null}}}async function W(){let e=await (0,b.guardApiAccess)(void 0,"viewer");if(e)return e;try{let{config:e}=await (0,P.getServices)(),t=await Promise.all(Object.entries(e.projects).map(async([e,t])=>$(e,t)));return t.sort((e,t)=>e.displayName.localeCompare(t.displayName)),v.NextResponse.json({repositories:t})}catch(t){let e=t instanceof Error?t.message:"Failed to load repositories";return v.NextResponse.json({error:e},{status:500})}}async function B(e){let t=await (0,b.guardApiAccess)(e,"operator");if(t)return t;let r=(0,b.guardApiActionAccess)(e);if(r)return r;let a=await e.json().catch(()=>null);if(!a||"object"!=typeof a)return v.NextResponse.json({error:"Invalid JSON body"},{status:400});let n=O(a.id);if(!n)return v.NextResponse.json({error:"id is required"},{status:400});try{var i;let{config:e}=await (0,P.getServices)(),t=e.configPath;if(!t)return v.NextResponse.json({error:"Unable to resolve conductor config path"},{status:500});let r=await (0,w.readFile)(t,"utf8"),o=(0,A.parse)(r)??{},s=o&&"object"==typeof o&&!Array.isArray(o)?{...o}:{},l=(i=s.projects,(0,j.normalizeProjectConfigMap)(i));if(!(n in l))return v.NextResponse.json({error:`Unknown repository id: ${n}`},{status:404});let c=F(l[n]),u={...c},p=O(a.displayName)??n,d=O(a.repo),f=O(a.path),h=O(a.agent)??O(c.agent)??"claude-code",g=O(a.agentModel),m=O(a.agentReasoningEffort),y=O(a.defaultBranch)??"main",R=function(e){if(!e)return null;let t=e.replace(/\\/g,"/").replace(/^\.?\//,"").replace(/\/+/g,"/").replace(/\/+$/g,"").trim();if(!t||"."===t)return null;if(t.startsWith("/")||t.includes(".."))throw Error("defaultWorkingDirectory must be a relative path inside the repository");return t}(O(a.defaultWorkingDirectory));if(!d)return v.NextResponse.json({error:"repo is required"},{status:400});if(!f)return v.NextResponse.json({error:"path is required"},{status:400});u.name=p,u.repo=d,u.path=D(f),u.agent=h,u.defaultBranch=y;let S={...F(u.agentConfig)};g?S.model=g:delete S.model,m?S.reasoningEffort=m:delete S.reasoningEffort,Object.keys(S).length>0?u.agentConfig=S:delete u.agentConfig,R?u.defaultWorkingDirectory=R:delete u.defaultWorkingDirectory;let C=O(a.devServerScript);if(C){let e=F(u.devServer);u.devServer={...e,command:C}}else delete u.devServer;let E=I(a.setupScript);E.length>0?(u.setupScript=E,u.postCreate=E):(delete u.setupScript,delete u.postCreate),u.runSetupInParallel=!0===a.runSetupInParallel;let x=I(a.cleanupScript);x.length>0?u.cleanupScript=x:delete u.cleanupScript;let b=I(a.archiveScript);b.length>0?u.archiveScript=b:delete u.archiveScript;let T=_(a.copyFiles);T.length>0?u.copyFiles=T:delete u.copyFiles,l[n]=u,s.projects=l,await (0,k.normalizeRootProjectPaths)(s);let U=(0,A.stringify)(s,{lineWidth:0});await (0,w.writeFile)(t,U,"utf8");try{(0,P.invalidateServicesCache)("repository settings updated");let{config:e,registry:t}=await (0,P.getServices)();await (0,k.syncProjectLocalConfig)(e,n),(0,N.syncWorkspaceSupportFiles)(e,{agentNames:t.list("agent").map(e=>e.name)})}catch(e){throw await (0,w.writeFile)(t,r,"utf8"),(0,P.invalidateServicesCache)("repository settings update rollback"),e}let H=await $(n,u);return v.NextResponse.json({repository:H})}catch(t){let e=t instanceof Error?t.message:"Failed to update repository";return v.NextResponse.json({error:e},{status:500})}}e.s(["GET",()=>W,"PUT",()=>B,"dynamic",0,"force-dynamic"],8288);var L=e.i(8288);let K=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/repositories/route",pathname:"/api/repositories",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/packages/web/src/app/api/repositories/route.ts",nextConfigOutput:"standalone",userland:L}),{workAsyncStorage:G,workUnitAsyncStorage:z,serverHooks:V}=K;function X(){return(0,a.patchFetch)({workAsyncStorage:G,workUnitAsyncStorage:z})}async function J(e,t,a){K.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let v="/api/repositories/route";v=v.replace(/\/index$/,"")||"/";let w=await K.prepare(e,t,{srcPage:v,multiZoneDraftMode:!1});if(!w)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:R,params:S,nextConfig:C,parsedUrl:E,isDraftMode:x,prerenderManifest:A,routerServerContext:j,isOnDemandRevalidate:N,revalidateOnlyGenerated:P,resolvedPathname:b,clientReferenceManifest:k,serverActionsManifest:T}=w,O=(0,s.normalizeAppPath)(v),F=!!(A.dynamicRoutes[O]||A.routes[b]),D=async()=>((null==j?void 0:j.render404)?await j.render404(e,t,E,!1):t.end("This page could not be found"),null);if(F&&!x){let e=!!A.routes[b],t=A.dynamicRoutes[O];if(t&&!1===t.fallback&&!e){if(C.experimental.adapterPath)return await D();throw new m.NoFallbackError}}let I=null;!F||K.isDev||x||(I="/index"===(I=b)?"/":I);let U=!0===K.isDev||!F,_=F&&!U;T&&k&&(0,o.setManifestsSingleton)({page:v,clientReferenceManifest:k,serverActionsManifest:T});let H=e.method||"GET",M=(0,i.getTracer)(),q=M.getActiveScopeSpan(),$={params:S,prerenderManifest:A,renderOpts:{experimental:{authInterrupts:!!C.experimental.authInterrupts},cacheComponents:!!C.cacheComponents,supportsDynamicResponse:U,incrementalCache:(0,n.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:C.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,n)=>K.onRequestError(e,t,a,n,j)},sharedContext:{buildId:R}},W=new l.NodeNextRequest(e),B=new l.NodeNextResponse(t),L=c.NextRequestAdapter.fromNodeNextRequest(W,(0,c.signalFromNodeResponse)(t));try{let o=async e=>K.handle(L,$).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=M.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==u.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let a=r.get("next.route");if(a){let t=`${H} ${a}`;e.setAttributes({"next.route":a,"http.route":a,"next.span_name":t}),e.updateName(t)}else e.updateName(`${H} ${v}`)}),s=!!(0,n.getRequestMeta)(e,"minimalMode"),l=async n=>{var i,l;let c=async({previousCacheEntry:r})=>{try{if(!s&&N&&P&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let i=await o(n);e.fetchMetrics=$.renderOpts.fetchMetrics;let l=$.renderOpts.pendingWaitUntil;l&&a.waitUntil&&(a.waitUntil(l),l=void 0);let c=$.renderOpts.collectedTags;if(!F)return await (0,d.sendResponse)(W,B,i,$.renderOpts.pendingWaitUntil),null;{let e=await i.blob(),t=(0,f.toNodeOutgoingHttpHeaders)(i.headers);c&&(t[g.NEXT_CACHE_TAGS_HEADER]=c),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==$.renderOpts.collectedRevalidate&&!($.renderOpts.collectedRevalidate>=g.INFINITE_CACHE)&&$.renderOpts.collectedRevalidate,a=void 0===$.renderOpts.collectedExpire||$.renderOpts.collectedExpire>=g.INFINITE_CACHE?void 0:$.renderOpts.collectedExpire;return{value:{kind:y.CachedRouteKind.APP_ROUTE,status:i.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==r?void 0:r.isStale)&&await K.onRequestError(e,t,{routerKind:"App Router",routePath:v,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:_,isOnDemandRevalidate:N})},!1,j),t}},u=await K.handleResponse({req:e,nextConfig:C,cacheKey:I,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:A,isRoutePPREnabled:!1,isOnDemandRevalidate:N,revalidateOnlyGenerated:P,responseGenerator:c,waitUntil:a.waitUntil,isMinimalMode:s});if(!F)return null;if((null==u||null==(i=u.value)?void 0:i.kind)!==y.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==u||null==(l=u.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});s||t.setHeader("x-nextjs-cache",N?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),x&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let m=(0,f.fromNodeOutgoingHttpHeaders)(u.value.headers);return s&&F||m.delete(g.NEXT_CACHE_TAGS_HEADER),!u.cacheControl||t.getHeader("Cache-Control")||m.get("Cache-Control")||m.set("Cache-Control",(0,h.getCacheControlHeader)(u.cacheControl)),await (0,d.sendResponse)(W,B,new Response(u.value.body,{headers:m,status:u.value.status||200})),null};q?await l(q):await M.withPropagatedContext(e.headers,()=>M.trace(u.BaseServerSpan.handleRequest,{spanName:`${H} ${v}`,kind:i.SpanKind.SERVER,attributes:{"http.method":H,"http.target":e.url}},l))}catch(t){if(t instanceof m.NoFallbackError||await K.onRequestError(e,t,{routerKind:"App Router",routePath:O,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:_,isOnDemandRevalidate:N})},!1,j),F)throw t;return await (0,d.sendResponse)(W,B,new Response(null,{status:500})),null}}e.s(["handler",()=>J,"patchFetch",()=>X,"routeModule",()=>K,"serverHooks",()=>V,"workAsyncStorage",()=>G,"workUnitAsyncStorage",()=>z],57370)}];
2
-
3
- //# sourceMappingURL=node_modules_next_dist_esm_build_templates_app-route_e445b36c.js.map
@@ -1,28 +0,0 @@
1
- module.exports=[2967,e=>{"use strict";var t=e.i(47909),r=e.i(74017),n=e.i(96250),a=e.i(59756),i=e.i(61916),o=e.i(74677),s=e.i(69741),l=e.i(16795),c=e.i(87718),d=e.i(95169),u=e.i(47587),p=e.i(66012),h=e.i(70101),f=e.i(74838),g=e.i(10372),R=e.i(93695);e.i(52474);var m=e.i(220),v=e.i(89171),w=e.i(66680),y=e.i(50227),x=e.i(2157),b=e.i(12714),j=e.i(60526);e.i(20435);var C=e.i(81425),E=e.i(64348),A=e.i(38969),N=e.i(48295),O=e.i(62327);let $=["intake","ready","dispatching","inProgress","review","done","blocked"],P=["intake","inProgress","review","done"];function k(e){if("string"!=typeof e)return null;let t=e.trim();return t.length>0?t:null}function S(e,t){let r=(0,y.resolve)(e),n=(0,y.resolve)(t),a=r.endsWith(y.sep)?r:`${r}${y.sep}`;if(n!==r&&!n.startsWith(a))throw Error("Resolved path escapes workspace root");return n}function T(e){let t=e.trim().toLowerCase(),r="",n=!1;for(let e of t){let t=e.charCodeAt(0),a=t>=48&&t<=57,i=t>=97&&t<=122;if("."===e||"_"===e||a||i){r+=e,n=!1;continue}!n&&r.length>0&&(r+="-",n=!0)}for(;r.endsWith("-");)r=r.slice(0,-1);return r}function I(e){let t=e.replaceAll("\\","/").split("/").filter(Boolean);return t[t.length-1]??""}function U(e,t){for(let[r,n]of Object.entries(e.projects))if(r===t)return{id:r,project:n};return null}function _(e){if(process.env.CONDUCTOR_WORKSPACE?.trim()){var t;return(t=process.env.CONDUCTOR_WORKSPACE).startsWith("~/")?(0,y.resolve)((0,j.homedir)(),t.slice(2)):(0,y.resolve)(t)}return e.configPath?(0,y.dirname)(e.configPath):(0,y.resolve)(process.cwd())}async function D(e,t,r){let n,a=function(e,t,r){let n,a,i=(0,y.resolve)(r),o=(0,C.discoverBoards)(i,e.boards?.length?e.boards:e),s=(0,C.buildBoardProjectMap)(o,e),l=o.find(e=>s.get(e)===t.id);if(l){let e=S(i,l);if((0,x.existsSync)(e))return e}let c=(n="string"==typeof t.project.boardDir?I(t.project.boardDir):"",a=I((0,y.basename)(t.project.path)),T(n||a||t.id)||"project"),d=S(i,(0,y.join)(i,"projects",c,"CONDUCTOR.md")),u=S(i,(0,y.join)(i,c,"CONDUCTOR.md"));return(0,x.existsSync)(d)?d:(0,x.existsSync)(u)?u:d}(e,t,r),i=S(r,a),o=(0,A.resolveBoardAliasesForPath)(e,r,i);if((0,x.existsSync)(i))n=await (0,b.readFile)(i,"utf8");else{var s;let e;await (0,b.mkdir)((0,y.dirname)(i),{recursive:!0});let r={intake:o.intake[0]??"Inbox",ready:o.ready[0]??"Ready to Dispatch",dispatching:o.dispatching[0]??"Dispatching",inProgress:o.inProgress[0]??"In Progress",review:o.review[0]??"Review",done:o.done[0]??"Done",blocked:o.blocked[0]??"Blocked"};s=t.id,e=s.replace(/[-_]+/g," ").replace(/\b\w/g,e=>e.toUpperCase()),n=`# ${e} Board
2
-
3
- <!-- Managed by conductor dashboard and Obsidian board watcher -->
4
-
5
- ## ${r.intake}
6
-
7
- ## ${r.ready}
8
-
9
- ## ${r.dispatching}
10
-
11
- ## ${r.inProgress}
12
-
13
- ## ${r.review}
14
-
15
- ## ${r.done}
16
-
17
- ## ${r.blocked}
18
- `,await (0,b.writeFile)(i,n,"utf8")}let l=(0,E.resolveColumnsFromBoard)(n,o);return{boardPath:i,content:n,columnsByRole:l.columnsByRole}}function H(e,t){let r=e.match(RegExp(`#${t}/([\\w.-]+)`,"i"));return r?.[1]??null}function q(e,t){let r=e.match(RegExp(`\\[${t}:([^\\]]+)\\]`,"i"));return r?.[1]?.trim()??null}function B(e,t){let r=new Map((0,E.parseBoardSections)(e).map(e=>[e.heading,e]));return $.map(e=>{let n=t[e],a=r.get(n),i=a?(0,E.parseChecklistItems)(a).map(t=>{let r=q(t.text,"task"),n=q(t.text,"attempt"),i=t.text.replace(/\s*!\[\[[^\]]+\]\]/g,"").replace(/\s*!\[[^\]]*\]\([^)]+\)/g,"").replace(/\s*\[\[[^\]]+\]\]/g,"").replace(/\s*\[[^\]]*\]\([^)]+\)/g,"").replace(/\s*\[(task|attempt|parent):[^\]]+\]/gi,"").replace(/\s*#(project|agent|type|priority)\/[\w.-]+/gi,"").replace(/\s+/g," ").trim(),o=`${e}:${a.heading}:${t.lineOffset}:${t.text}`;return{id:r??(0,w.createHash)("sha1").update(o).digest("hex").slice(0,12),text:i,checked:t.checked,agent:H(t.text,"agent"),project:H(t.text,"project"),type:H(t.text,"type"),priority:H(t.text,"priority"),taskRef:r,attemptRef:n}}):[];return{role:e,heading:n,tasks:i}})}async function M(e){let t=await (0,N.guardApiAccess)(void 0,"viewer");if(t)return t;let r=k(e.nextUrl.searchParams.get("projectId"));try{let{config:e}=await (0,O.getServices)();if(!r){let t=Object.entries(e.projects).map(([t,r])=>({projectId:t,repo:r.repo??null,agent:r.agent??e.defaults.agent}));return v.NextResponse.json({boards:t})}let t=U(e,r);if(!t)return v.NextResponse.json({error:`Unknown project: ${r}`},{status:404});let n=t.id,a=_(e),{boardPath:i,content:o,columnsByRole:s}=await D(e,t,a),l=B(o,s);return v.NextResponse.json({projectId:n,boardPath:i,workspacePath:a,columns:l,primaryRoles:P,watcherHint:"Move cards to Ready to Dispatch to let Obsidian watcher spawn agents."})}catch(e){return v.NextResponse.json({error:e instanceof Error?e.message:"Failed to load board"},{status:500})}}async function F(e){let t=await (0,N.guardApiAccess)(e,"operator");if(t)return t;let r=(0,N.guardApiActionAccess)(e);if(r)return r;let n=await e.json().catch(()=>null);if(!n)return v.NextResponse.json({error:"Invalid JSON body"},{status:400});let a=k(n.projectId),i=k(n.title),o=k(n.description),s=k(n.contextNotes)?.replace(/\s+/g," ").trim()??null,l=function(e){if(!Array.isArray(e))return[];let t=[],r=new Set;for(let n of e){if("string"!=typeof n)continue;let e=function(e){if(!e.trim())return null;let t=e.trim();if(t.startsWith("![[")&&t.endsWith("]]")?t=t.slice(3,-2).trim():t.startsWith("[[")&&t.endsWith("]]")&&(t=t.slice(2,-2).trim()),!t||t.startsWith("/")||t.startsWith("~")||t.startsWith("obsidian://")||/^[a-z][a-z0-9+.-]*:\/\//i.test(t))return null;let r=(t=t.replace(/\\/g,"/").replace(/^\.\/+/,"").trim()).indexOf("|");r>=0&&(t=t.slice(0,r).trim());let n=t.indexOf("#");n>=0&&(t=t.slice(0,n).trim());let a=t.split("/").map(e=>e.trim()).filter(Boolean);return 0===a.length||a.some(e=>"."===e||".."===e)?null:a.join("/")}(n);if(!(!e||r.has(e))&&(r.add(e),t.push(e),t.length>=24))break}return t}(n.attachments),c=k(n.agent),d=k(n.role),u=k(n.type),p=k(n.priority);if(!a)return v.NextResponse.json({error:"projectId is required"},{status:400});if(!i)return v.NextResponse.json({error:"title is required"},{status:400});if(!c)return v.NextResponse.json({error:"agent is required"},{status:400});let h=d&&$.includes(d)?d:"intake";try{var f;let e,t,r,n,d,{config:g}=await (0,O.getServices)(),R=U(g,a);if(!R)return v.NextResponse.json({error:`Unknown project: ${a}`},{status:404});let m=R.id,w=_(g),{boardPath:y,content:x,columnsByRole:j}=await D(g,R,w),C=j[h],A=(e=[(f={title:i,description:o,contextNotes:s,attachments:l,projectId:m,agent:c,type:u,priority:p}).title],f.description&&e.push(f.description),f.contextNotes&&e.push(`Context: ${f.contextNotes}`),t=e.join(" - "),r=[`#project/${T(f.projectId)}`,`#agent/${T(f.agent)}`],f.type&&r.push(`#type/${T(f.type)}`),f.priority&&r.push(`#priority/${T(f.priority)}`),n=f.attachments.map(e=>`![[${e}]]`),d=[`- [ ] ${t}`],n.length>0&&d.push(n.join(" ")),d.push(r.join(" ")),d.join(" ").trim()),N=function(e,t,r){let n=e.split("\n"),a=(0,E.parseBoardSections)(e).find(e=>e.heading===t);if(!a){let n=e.trimEnd();return 0===n.length?`## ${t}
19
-
20
- ${r}
21
- `:`${n}
22
-
23
- ## ${t}
24
-
25
- ${r}
26
- `}let i=a.bodyStartLine;return n.splice(i,0,r),n.join("\n")}(x,C,A);await (0,b.writeFile)(y,N,"utf8");let $=B(N,j);return v.NextResponse.json({projectId:m,boardPath:y,columns:$,primaryRoles:P,created:{role:h,heading:C,line:A}},{status:201})}catch(e){return v.NextResponse.json({error:e instanceof Error?e.message:"Failed to create board task"},{status:500})}}e.s(["GET",()=>M,"POST",()=>F,"dynamic",0,"force-dynamic"],6158);var W=e.i(6158);let K=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/boards/route",pathname:"/api/boards",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/packages/web/src/app/api/boards/route.ts",nextConfigOutput:"standalone",userland:W}),{workAsyncStorage:L,workUnitAsyncStorage:G,serverHooks:z}=K;function V(){return(0,n.patchFetch)({workAsyncStorage:L,workUnitAsyncStorage:G})}async function X(e,t,n){K.isDev&&(0,a.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let v="/api/boards/route";v=v.replace(/\/index$/,"")||"/";let w=await K.prepare(e,t,{srcPage:v,multiZoneDraftMode:!1});if(!w)return t.statusCode=400,t.end("Bad Request"),null==n.waitUntil||n.waitUntil.call(n,Promise.resolve()),null;let{buildId:y,params:x,nextConfig:b,parsedUrl:j,isDraftMode:C,prerenderManifest:E,routerServerContext:A,isOnDemandRevalidate:N,revalidateOnlyGenerated:O,resolvedPathname:$,clientReferenceManifest:P,serverActionsManifest:k}=w,S=(0,s.normalizeAppPath)(v),T=!!(E.dynamicRoutes[S]||E.routes[$]),I=async()=>((null==A?void 0:A.render404)?await A.render404(e,t,j,!1):t.end("This page could not be found"),null);if(T&&!C){let e=!!E.routes[$],t=E.dynamicRoutes[S];if(t&&!1===t.fallback&&!e){if(b.experimental.adapterPath)return await I();throw new R.NoFallbackError}}let U=null;!T||K.isDev||C||(U="/index"===(U=$)?"/":U);let _=!0===K.isDev||!T,D=T&&!_;k&&P&&(0,o.setManifestsSingleton)({page:v,clientReferenceManifest:P,serverActionsManifest:k});let H=e.method||"GET",q=(0,i.getTracer)(),B=q.getActiveScopeSpan(),M={params:x,prerenderManifest:E,renderOpts:{experimental:{authInterrupts:!!b.experimental.authInterrupts},cacheComponents:!!b.cacheComponents,supportsDynamicResponse:_,incrementalCache:(0,a.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:b.cacheLife,waitUntil:n.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,n,a)=>K.onRequestError(e,t,n,a,A)},sharedContext:{buildId:y}},F=new l.NodeNextRequest(e),W=new l.NodeNextResponse(t),L=c.NextRequestAdapter.fromNodeNextRequest(F,(0,c.signalFromNodeResponse)(t));try{let o=async e=>K.handle(L,M).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=q.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==d.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let n=r.get("next.route");if(n){let t=`${H} ${n}`;e.setAttributes({"next.route":n,"http.route":n,"next.span_name":t}),e.updateName(t)}else e.updateName(`${H} ${v}`)}),s=!!(0,a.getRequestMeta)(e,"minimalMode"),l=async a=>{var i,l;let c=async({previousCacheEntry:r})=>{try{if(!s&&N&&O&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let i=await o(a);e.fetchMetrics=M.renderOpts.fetchMetrics;let l=M.renderOpts.pendingWaitUntil;l&&n.waitUntil&&(n.waitUntil(l),l=void 0);let c=M.renderOpts.collectedTags;if(!T)return await (0,p.sendResponse)(F,W,i,M.renderOpts.pendingWaitUntil),null;{let e=await i.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(i.headers);c&&(t[g.NEXT_CACHE_TAGS_HEADER]=c),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==M.renderOpts.collectedRevalidate&&!(M.renderOpts.collectedRevalidate>=g.INFINITE_CACHE)&&M.renderOpts.collectedRevalidate,n=void 0===M.renderOpts.collectedExpire||M.renderOpts.collectedExpire>=g.INFINITE_CACHE?void 0:M.renderOpts.collectedExpire;return{value:{kind:m.CachedRouteKind.APP_ROUTE,status:i.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:n}}}}catch(t){throw(null==r?void 0:r.isStale)&&await K.onRequestError(e,t,{routerKind:"App Router",routePath:v,routeType:"route",revalidateReason:(0,u.getRevalidateReason)({isStaticGeneration:D,isOnDemandRevalidate:N})},!1,A),t}},d=await K.handleResponse({req:e,nextConfig:b,cacheKey:U,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:E,isRoutePPREnabled:!1,isOnDemandRevalidate:N,revalidateOnlyGenerated:O,responseGenerator:c,waitUntil:n.waitUntil,isMinimalMode:s});if(!T)return null;if((null==d||null==(i=d.value)?void 0:i.kind)!==m.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(l=d.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});s||t.setHeader("x-nextjs-cache",N?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),C&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let R=(0,h.fromNodeOutgoingHttpHeaders)(d.value.headers);return s&&T||R.delete(g.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||t.getHeader("Cache-Control")||R.get("Cache-Control")||R.set("Cache-Control",(0,f.getCacheControlHeader)(d.cacheControl)),await (0,p.sendResponse)(F,W,new Response(d.value.body,{headers:R,status:d.value.status||200})),null};B?await l(B):await q.withPropagatedContext(e.headers,()=>q.trace(d.BaseServerSpan.handleRequest,{spanName:`${H} ${v}`,kind:i.SpanKind.SERVER,attributes:{"http.method":H,"http.target":e.url}},l))}catch(t){if(t instanceof R.NoFallbackError||await K.onRequestError(e,t,{routerKind:"App Router",routePath:S,routeType:"route",revalidateReason:(0,u.getRevalidateReason)({isStaticGeneration:D,isOnDemandRevalidate:N})},!1,A),T)throw t;return await (0,p.sendResponse)(F,W,new Response(null,{status:500})),null}}e.s(["handler",()=>X,"patchFetch",()=>V,"routeModule",()=>K,"serverHooks",()=>z,"workAsyncStorage",()=>L,"workUnitAsyncStorage",()=>G],2967)}];
27
-
28
- //# sourceMappingURL=node_modules_next_dist_esm_build_templates_app-route_f375f3c4.js.map
@@ -1,3 +0,0 @@
1
- module.exports=[72939,e=>{"use strict";e.i(20435);var t=e.i(45629),a=e.i(33498),r=e.i(15965),o=e.i(64564),i=e.i(54185),s=e.i(31212),n=e.i(28738),d=e.i(69485),l=e.i(77646),g=e.i(5453),c=e.i(80754),A=e.i(81425),S=e.i(38969),E=e.i(64348),f=e.i(91315),T=e.i(86270),u=e.i(23228),M=e.i(80289);e.s(["BASE_AGENT_PROMPT",()=>d.BASE_AGENT_PROMPT,"CI_STATUS",()=>t.CI_STATUS,"DEFAULT_COLUMN_ALIASES",()=>E.DEFAULT_COLUMN_ALIASES,"DEFAULT_READY_THRESHOLD_MS",()=>t.DEFAULT_READY_THRESHOLD_MS,"GENERATED_MARKER_KEY",()=>r.GENERATED_MARKER_KEY,"NON_RESTORABLE_STATUSES",()=>t.NON_RESTORABLE_STATUSES,"PR_STATE",()=>t.PR_STATE,"SESSION_STATUS",()=>t.SESSION_STATUS,"SUPPORTED_MODEL_AGENTS",()=>t.SUPPORTED_MODEL_AGENTS,"SessionNotRestorableError",()=>t.SessionNotRestorableError,"TERMINAL_ACTIVITIES",()=>t.TERMINAL_ACTIVITIES,"TERMINAL_STATUSES",()=>t.TERMINAL_STATUSES,"WorkspaceMissingError",()=>t.WorkspaceMissingError,"boardEntriesToPaths",()=>S.boardEntriesToPaths,"buildBoardProjectMap",()=>A.buildBoardProjectMap,"buildConductorBoard",()=>r.buildConductorBoard,"buildConductorYaml",()=>r.buildConductorYaml,"buildProjectConfigRecord",()=>r.buildProjectConfigRecord,"buildPrompt",()=>d.buildPrompt,"createBoardWatcher",()=>A.createBoardWatcher,"createEventBus",()=>T.createEventBus,"createLifecycleManager",()=>n.createLifecycleManager,"createPluginRegistry",()=>o.createPluginRegistry,"createSessionManager",()=>s.createSessionManager,"createSpawnLimiter",()=>u.createSpawnLimiter,"createWebhookEmitter",()=>f.createWebhookEmitter,"defaultAliasMapping",()=>S.defaultAliasMapping,"deleteMetadata",()=>i.deleteMetadata,"detectConfigDrift",()=>M.detectConfigDrift,"discoverBoards",()=>A.discoverBoards,"expandHome",()=>g.expandHome,"findConfig",()=>a.findConfig,"findConfigFile",()=>a.findConfigFile,"generateConfigHash",()=>g.generateConfigHash,"generateInstanceId",()=>g.generateInstanceId,"generateProjectId",()=>g.generateProjectId,"generateSessionName",()=>g.generateSessionName,"generateSessionPrefix",()=>g.generateSessionPrefix,"generateTmuxName",()=>g.generateTmuxName,"getAgentModelCatalog",()=>t.getAgentModelCatalog,"getArchiveDir",()=>g.getArchiveDir,"getAvailableAgentModels",()=>t.getAvailableAgentModels,"getAvailableAgentReasoningEfforts",()=>t.getAvailableAgentReasoningEfforts,"getDefaultAgentModel",()=>t.getDefaultAgentModel,"getDefaultAgentReasoningEffort",()=>t.getDefaultAgentReasoningEffort,"getDefaultConfig",()=>a.getDefaultConfig,"getDefaultModelAccessPreferences",()=>t.getDefaultModelAccessPreferences,"getOriginFilePath",()=>g.getOriginFilePath,"getProjectBaseDir",()=>g.getProjectBaseDir,"getSessionsDir",()=>g.getSessionsDir,"getUncheckedTasks",()=>E.getUncheckedTasks,"getWorktreesDir",()=>g.getWorktreesDir,"isIssueNotFoundError",()=>t.isIssueNotFoundError,"isRestorable",()=>t.isRestorable,"isTerminalSession",()=>t.isTerminalSession,"listMetadata",()=>i.listMetadata,"loadConfig",()=>a.loadConfig,"loadConfigWithPath",()=>a.loadConfigWithPath,"normalizeProjectConfigMap",()=>a.normalizeProjectConfigMap,"parseBoardSections",()=>E.parseBoardSections,"parseBoardStatus",()=>S.parseBoardStatus,"parseChecklistItems",()=>E.parseChecklistItems,"parseTmuxName",()=>g.parseTmuxName,"readArchivedMetadataRaw",()=>i.readArchivedMetadataRaw,"readLastJsonlEntry",()=>l.readLastJsonlEntry,"readMetadataRaw",()=>i.readMetadataRaw,"readRecentWatcherActions",()=>S.readRecentWatcherActions,"recordWatcherAction",()=>S.recordWatcherAction,"reserveSessionId",()=>i.reserveSessionId,"resolveAgentModelAccess",()=>t.resolveAgentModelAccess,"resolveBoardAliasesForPath",()=>S.resolveBoardAliasesForPath,"resolveColumnsFromBoard",()=>E.resolveColumnsFromBoard,"resolveConfiguredProjectPath",()=>c.resolveConfiguredProjectPath,"shellEscape",()=>t.shellEscape,"startupConfigSync",()=>M.startupConfigSync,"supportsAgentModelSelection",()=>t.supportsAgentModelSelection,"syncAllProjectConfigs",()=>M.syncAllProjectConfigs,"syncWorkspaceSupportFiles",()=>A.syncWorkspaceSupportFiles,"updateMetadata",()=>i.updateMetadata,"validateAndStoreOrigin",()=>g.validateAndStoreOrigin,"validateConfig",()=>a.validateConfig,"validateUrl",()=>l.validateUrl,"writeMetadata",()=>i.writeMetadata])}];
2
-
3
- //# sourceMappingURL=packages_core_dist_index_cdd30418.js.map
@@ -1,3 +0,0 @@
1
- module.exports=[91336,t=>{"use strict";t.i(20435);var e=t.i(45629),n=t.i(74533),i=t.i(2157);let r=(0,t.i(12057).promisify)(n.execFile),l=["amp","amp-cli"],s=function(){for(let t of[process.env.AMP_BIN,...l.flatMap(t=>[`/opt/homebrew/bin/${t}`,`/usr/local/bin/${t}`,`/usr/bin/${t}`,`/bin/${t}`])].filter(Boolean))if((0,i.existsSync)(t))return t;return l[0]??"amp"}(),a=function(){for(let t of[process.env.TMUX_BIN,"/opt/homebrew/bin/tmux","/usr/local/bin/tmux","/usr/bin/tmux","/bin/tmux"].filter(Boolean))if((0,i.existsSync)(t))return t;return"tmux"}();async function u(t,e=30){if("tmux"!==t.runtimeName||!t.id)return null;try{let{stdout:n}=await r(a,["capture-pane","-t",t.id,"-p","-l",String(e)],{timeout:5e3});return n}catch{return null}}function o(t){if(!t.trim())return"idle";let e=t.trim().split("\n"),n=[...e].reverse().find(t=>""!==t.trim())?.trim()??"";if(/^[❯>$#]\s*$/.test(n))return"idle";let i=e.slice(-8).join("\n");return/\(y\)es.*\(n\)o/i.test(i)||/do you want|confirm|approve|proceed/i.test(i)?"waiting_input":/^(done|complete|finished|exiting)/i.test(n)?"idle":"active"}async function m(t){try{if("tmux"===t.runtimeName&&t.id){let{stdout:e}=await r(a,["list-panes","-t",t.id,"-F","#{pane_tty}"],{timeout:3e4}),n=e.trim().split("\n").map(t=>t.trim()).filter(Boolean);if(0===n.length)return null;let{stdout:i}=await r("ps",["-eo","pid,tty,args"],{timeout:3e4}),l=new Set(n.map(t=>t.replace(/^\/dev\//,""))),s="amp".replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),u=RegExp(`(?:^|/)${s}(?:\\s|$)`);for(let t of i.split("\n")){let e=t.trimStart().split(/\s+/);if(e.length<3||!l.has(e[1]??""))continue;let n=e.slice(2).join(" ");if(u.test(n))return parseInt(e[0]??"0",10)}return null}let e=t.data.pid,n="number"==typeof e?e:Number(e);if(!Number.isFinite(n)||n<=0)return null;try{return process.kill(n,0),n}catch(t){if(t instanceof Error&&"code"in t&&"EPERM"===t.code)return n;return null}}catch{return null}}let c={name:"amp",slot:"agent",description:"Agent plugin: Amp CLI",version:"0.2.6"};function p(){return{name:"amp",processName:"amp",promptDelivery:"inline",getLaunchCommand(t){let n=[s];return t.prompt&&n.push((0,e.shellEscape)(t.prompt)),n.join(" ")},getEnvironment(t){let e={};return e.CO_SESSION_ID=t.sessionId,t.issueId&&(e.CO_ISSUE_ID=t.issueId),e},detectActivity:t=>o(t),async getActivityState(t){let e=new Date;if(!t.runtimeHandle||!await m(t.runtimeHandle))return{state:"exited",timestamp:e};let n=await u(t.runtimeHandle);if(!n)return{state:"active",timestamp:e};let i=o(n);return{state:"idle"===i?"ready":i,timestamp:e}},isProcessRunning:async t=>null!==await m(t),async getSessionInfo(t){if(!t.runtimeHandle)return null;let e=await u(t.runtimeHandle,80);if(!e)return null;let n=e.trim().split("\n").map(t=>t.trim()).filter(t=>t.length>0).filter(t=>!/^[❯>$#]\s*$/.test(t)).slice(-1)[0]??null;return n?{summary:n.substring(0,280),summaryIsFallback:!0,agentSessionId:t.id}:null},getRestoreCommand:async()=>null,async setupWorkspaceHooks(t,e){}}}t.s(["create",()=>p,"default",0,{manifest:c,create:p},"manifest",0,c])}];
2
-
3
- //# sourceMappingURL=packages_plugins_agent-amp_dist_index_bf3d8239.js.map
@@ -1,3 +0,0 @@
1
- module.exports=[11048,e=>{"use strict";e.i(20435);var t=e.i(45629),n=e.i(74533),i=e.i(2157);let r=(0,e.i(12057).promisify)(n.execFile),l=["ccr"],s=function(){for(let e of[process.env.CCR_BIN,...l.flatMap(e=>[`/opt/homebrew/bin/${e}`,`/usr/local/bin/${e}`,`/usr/bin/${e}`,`/bin/${e}`])].filter(Boolean))if((0,i.existsSync)(e))return e;return l[0]??"ccr"}(),u=function(){for(let e of[process.env.TMUX_BIN,"/opt/homebrew/bin/tmux","/usr/local/bin/tmux","/usr/bin/tmux","/bin/tmux"].filter(Boolean))if((0,i.existsSync)(e))return e;return"tmux"}();async function a(e,t=30){if("tmux"!==e.runtimeName||!e.id)return null;try{let{stdout:n}=await r(u,["capture-pane","-t",e.id,"-p","-l",String(t)],{timeout:5e3});return n}catch{return null}}function o(e){if(!e.trim())return"idle";let t=e.trim().split("\n"),n=[...t].reverse().find(e=>""!==e.trim())?.trim()??"";if(/^[❯>$#]\s*$/.test(n))return"idle";let i=t.slice(-8).join("\n");return/\(y\)es.*\(n\)o/i.test(i)||/do you want|confirm|approve|proceed/i.test(i)?"waiting_input":/^(done|complete|finished|exiting)/i.test(n)?"idle":"active"}async function c(e){try{if("tmux"===e.runtimeName&&e.id){let{stdout:t}=await r(u,["list-panes","-t",e.id,"-F","#{pane_tty}"],{timeout:3e4}),n=t.trim().split("\n").map(e=>e.trim()).filter(Boolean);if(0===n.length)return null;let{stdout:i}=await r("ps",["-eo","pid,tty,args"],{timeout:3e4}),l=new Set(n.map(e=>e.replace(/^\/dev\//,""))),s="ccr".replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),a=RegExp(`(?:^|/)${s}(?:\\s|$)`);for(let e of i.split("\n")){let t=e.trimStart().split(/\s+/);if(t.length<3||!l.has(t[1]??""))continue;let n=t.slice(2).join(" ");if(a.test(n))return parseInt(t[0]??"0",10)}return null}let t=e.data.pid,n="number"==typeof t?t:Number(t);if(!Number.isFinite(n)||n<=0)return null;try{return process.kill(n,0),n}catch(e){if(e instanceof Error&&"code"in e&&"EPERM"===e.code)return n;return null}}catch{return null}}let m={name:"ccr",slot:"agent",description:"Agent plugin: Claude Code Router",version:"0.2.6"};function p(){return{name:"ccr",processName:"ccr",promptDelivery:"inline",getLaunchCommand(e){let n=[s];return e.prompt&&n.push((0,t.shellEscape)(e.prompt)),n.join(" ")},getEnvironment(e){let t={};return t.CO_SESSION_ID=e.sessionId,e.issueId&&(t.CO_ISSUE_ID=e.issueId),t},detectActivity:e=>o(e),async getActivityState(e){let t=new Date;if(!e.runtimeHandle||!await c(e.runtimeHandle))return{state:"exited",timestamp:t};let n=await a(e.runtimeHandle);if(!n)return{state:"active",timestamp:t};let i=o(n);return{state:"idle"===i?"ready":i,timestamp:t}},isProcessRunning:async e=>null!==await c(e),async getSessionInfo(e){if(!e.runtimeHandle)return null;let t=await a(e.runtimeHandle,80);if(!t)return null;let n=t.trim().split("\n").map(e=>e.trim()).filter(e=>e.length>0).filter(e=>!/^[❯>$#]\s*$/.test(e)).slice(-1)[0]??null;return n?{summary:n.substring(0,280),summaryIsFallback:!0,agentSessionId:e.id}:null},getRestoreCommand:async()=>null,async setupWorkspaceHooks(e,t){}}}e.s(["create",()=>p,"default",0,{manifest:m,create:p},"manifest",0,m])}];
2
-
3
- //# sourceMappingURL=packages_plugins_agent-ccr_dist_index_69cbf726.js.map
@@ -1,125 +0,0 @@
1
- module.exports=[21216,e=>{"use strict";e.i(20435);var t=e.i(45629),a=e.i(74533),s=e.i(12714),r=e.i(2157),i=e.i(60526),n=e.i(50227),o=e.i(12057);let l=(0,n.join)((0,i.homedir)(),".conductor","bin"),c=(0,o.promisify)(a.execFile),u=function(){for(let e of[process.env.TMUX_BIN,"/opt/homebrew/bin/tmux","/usr/local/bin/tmux","/usr/bin/tmux","/bin/tmux"].filter(Boolean))if((0,r.existsSync)(e))return e;return"tmux"}(),p=`#!/usr/bin/env bash
2
- # Metadata Updater Hook for Conductor
3
- #
4
- # PostToolUse hook that auto-updates session metadata when:
5
- # - gh pr create: extracts PR URL and writes to metadata
6
- # - git checkout -b / git switch -c: extracts branch name
7
- # - gh pr merge: updates status to "merged"
8
-
9
- set -euo pipefail
10
-
11
- CO_DATA_DIR="\${CO_DATA_DIR:-$HOME/.conductor-sessions}"
12
-
13
- input=$(cat)
14
-
15
- if command -v jq &>/dev/null; then
16
- tool_name=$(echo "$input" | jq -r '.tool_name // empty')
17
- command=$(echo "$input" | jq -r '.tool_input.command // empty')
18
- output=$(echo "$input" | jq -r '.tool_response // empty')
19
- exit_code=$(echo "$input" | jq -r '.exit_code // 0')
20
- else
21
- tool_name=$(echo "$input" | grep -o '"tool_name"[[:space:]]*:[[:space:]]*"[^"]*"' | cut -d'"' -f4 || echo "")
22
- command=$(echo "$input" | grep -o '"command"[[:space:]]*:[[:space:]]*"[^"]*"' | cut -d'"' -f4 || echo "")
23
- output=$(echo "$input" | grep -o '"tool_response"[[:space:]]*:[[:space:]]*"[^"]*"' | cut -d'"' -f4 || echo "")
24
- exit_code=$(echo "$input" | grep -o '"exit_code"[[:space:]]*:[[:space:]]*[0-9]*' | grep -o '[0-9]*$' || echo "0")
25
- fi
26
-
27
- if [[ "$exit_code" -ne 0 ]]; then
28
- echo '{}'
29
- exit 0
30
- fi
31
-
32
- if [[ "$tool_name" != "Bash" ]]; then
33
- echo '{}'
34
- exit 0
35
- fi
36
-
37
- if [[ -z "\${CO_SESSION:-}" ]]; then
38
- echo '{"systemMessage": "CO_SESSION not set, skipping metadata update"}'
39
- exit 0
40
- fi
41
-
42
- metadata_file="$CO_DATA_DIR/$CO_SESSION"
43
-
44
- if [[ ! -f "$metadata_file" ]]; then
45
- echo '{"systemMessage": "Metadata file not found: '"$metadata_file"'"}'
46
- exit 0
47
- fi
48
-
49
- update_metadata_key() {
50
- local key="$1"
51
- local value="$2"
52
- local temp_file="\${metadata_file}.tmp"
53
- local escaped_value=$(echo "$value" | sed 's/[&|\\/]/\\\\&/g')
54
-
55
- if grep -q "^$key=" "$metadata_file" 2>/dev/null; then
56
- sed "s|^$key=.*|$key=$escaped_value|" "$metadata_file" > "$temp_file"
57
- else
58
- cp "$metadata_file" "$temp_file"
59
- echo "$key=$value" >> "$temp_file"
60
- fi
61
-
62
- mv "$temp_file" "$metadata_file"
63
- }
64
-
65
- # Detect: gh pr create
66
- if [[ "$command" =~ ^gh[[:space:]]+pr[[:space:]]+create ]]; then
67
- pr_url=$(echo "$output" | grep -Eo 'https://github[.]com/[^/]+/[^/]+/pull/[0-9]+' | head -1)
68
- if [[ -n "$pr_url" ]]; then
69
- update_metadata_key "pr" "$pr_url"
70
- update_metadata_key "status" "pr_open"
71
-
72
- # Enrich PR metadata for dashboard/session notes
73
- pr_title=$(gh pr view "$pr_url" --json title --jq '.title' 2>/dev/null || true)
74
- pr_head=$(gh pr view "$pr_url" --json headRefName --jq '.headRefName' 2>/dev/null || true)
75
- pr_base=$(gh pr view "$pr_url" --json baseRefName --jq '.baseRefName' 2>/dev/null || true)
76
- pr_draft=$(gh pr view "$pr_url" --json isDraft --jq '.isDraft' 2>/dev/null || true)
77
-
78
- [[ -n "$pr_title" ]] && update_metadata_key "prTitle" "$pr_title"
79
- [[ -n "$pr_head" ]] && update_metadata_key "prHeadRef" "$pr_head"
80
- [[ -n "$pr_base" ]] && update_metadata_key "prBaseRef" "$pr_base"
81
- if [[ "$pr_draft" == "true" ]]; then
82
- update_metadata_key "prDraft" "1"
83
- elif [[ "$pr_draft" == "false" ]]; then
84
- update_metadata_key "prDraft" "0"
85
- fi
86
-
87
- echo '{"systemMessage": "Updated metadata: PR created at '"$pr_url"'"}'
88
- exit 0
89
- fi
90
- fi
91
-
92
- # Detect: git checkout -b <branch> or git switch -c <branch>
93
- if [[ "$command" =~ ^git[[:space:]]+checkout[[:space:]]+-b[[:space:]]+([^[:space:]]+) ]] || \\
94
- [[ "$command" =~ ^git[[:space:]]+switch[[:space:]]+-c[[:space:]]+([^[:space:]]+) ]]; then
95
- branch="\${BASH_REMATCH[1]}"
96
- if [[ -n "$branch" ]]; then
97
- update_metadata_key "branch" "$branch"
98
- echo '{"systemMessage": "Updated metadata: branch = '"$branch"'"}'
99
- exit 0
100
- fi
101
- fi
102
-
103
- # Detect: git checkout <branch> (without -b) — only feature branches
104
- if [[ "$command" =~ ^git[[:space:]]+checkout[[:space:]]+([^[:space:]-]+[/-][^[:space:]]+) ]] || \\
105
- [[ "$command" =~ ^git[[:space:]]+switch[[:space:]]+([^[:space:]-]+[/-][^[:space:]]+) ]]; then
106
- branch="\${BASH_REMATCH[1]}"
107
- if [[ -n "$branch" && "$branch" != "HEAD" ]]; then
108
- update_metadata_key "branch" "$branch"
109
- echo '{"systemMessage": "Updated metadata: branch = '"$branch"'"}'
110
- exit 0
111
- fi
112
- fi
113
-
114
- # Detect: gh pr merge
115
- if [[ "$command" =~ ^gh[[:space:]]+pr[[:space:]]+merge ]]; then
116
- update_metadata_key "status" "merged"
117
- echo '{"systemMessage": "Updated metadata: status = merged"}'
118
- exit 0
119
- fi
120
-
121
- echo '{}'
122
- exit 0
123
- `,m={name:"claude-code",slot:"agent",description:"Agent plugin: Claude Code CLI",version:"0.2.6"};function d(e){return e.replace(/\\/g,"/").replace(/:/g,"").replace(/[/.]/g,"-")}async function f(e){let t;try{t=await (0,s.readdir)(e)}catch{return null}let a=t.filter(e=>e.endsWith(".jsonl")&&!e.startsWith("agent-"));if(0===a.length)return null;let r=await Promise.all(a.map(async t=>{let a=(0,n.join)(e,t);try{let e=await (0,s.stat)(a);return{path:a,mtime:e.mtimeMs}}catch{return{path:a,mtime:0}}}));return r.sort((e,t)=>t.mtime-e.mtime),r[0]?.path??null}async function h(e,t=131072){let a,r;try{let{size:i=0}=await (0,s.stat)(e);if(r=Math.max(0,i-t),0===r)a=await (0,s.readFile)(e,"utf-8");else{let t=await (0,s.open)(e,"r");try{let e=i-r,s=Buffer.allocUnsafe(e);await t.read(s,0,e,r),a=s.toString("utf-8")}finally{await t.close()}}}catch{return[]}let i=a.indexOf("\n"),n=r>0&&i>=0?a.slice(i+1):a,o=[];for(let e of n.split("\n")){let t=e.trim();if(t)try{let e=JSON.parse(t);"object"!=typeof e||null===e||Array.isArray(e)||o.push(e)}catch{}}return o}async function y(e){try{let t,a=await (0,s.stat)(e),r=a.mtime,i=Math.max(0,a.size-8192);if(0===i)t=await (0,s.readFile)(e,"utf-8");else{let r=await (0,s.open)(e,"r");try{let e=a.size-i,s=Buffer.allocUnsafe(e);await r.read(s,0,e,i),t=s.toString("utf-8")}finally{await r.close()}}let n=t.trim().split("\n");for(let e=n.length-1;e>=0;e--){let t=n[e]?.trim();if(t)try{let e=JSON.parse(t);if("string"==typeof e.type)return{lastType:e.type,modifiedAt:r}}catch{continue}}return null}catch{return null}}async function g(e){try{if("tmux"===e.runtimeName&&e.id){let{stdout:t}=await c(u,["list-panes","-t",e.id,"-F","#{pane_tty}"],{timeout:3e4}),a=t.trim().split("\n").map(e=>e.trim()).filter(Boolean);if(0===a.length)return null;let{stdout:s}=await c("ps",["-eo","pid,tty,args"],{timeout:3e4}),r=new Set(a.map(e=>e.replace(/^\/dev\//,""))),i=/(?:^|\/)claude(?:\s|$)/;for(let e of s.split("\n")){let t=e.trimStart().split(/\s+/);if(t.length<3||!r.has(t[1]??""))continue;let a=t.slice(2).join(" ");if(i.test(a))return parseInt(t[0]??"0",10)}return null}let t=e.data.pid,a="number"==typeof t?t:Number(t);if(Number.isFinite(a)&&a>0)try{return process.kill(a,0),a}catch(e){if(e instanceof Error&&"code"in e&&"EPERM"===e.code)return a}return null}catch{return null}}async function _(e,t){let a=(0,n.join)(e,".claude"),i=(0,n.join)(a,"settings.json"),o=(0,n.join)(a,"metadata-updater.sh");try{await (0,s.mkdir)(a,{recursive:!0})}catch{}await (0,s.writeFile)(o,p,"utf-8"),await (0,s.chmod)(o,493);let l={};if((0,r.existsSync)(i))try{let e=await (0,s.readFile)(i,"utf-8");l=JSON.parse(e)}catch{}let c=l.hooks??{},u=c.PostToolUse??[],m=-1,d=-1;for(let e=0;e<u.length;e++){let t=u[e];if("object"!=typeof t||null===t||Array.isArray(t))continue;let a=t.hooks;if(Array.isArray(a)){for(let t=0;t<a.length;t++){let s=a[t];if(!("object"!=typeof s||null===s||Array.isArray(s))&&"string"==typeof s.command&&s.command.includes("metadata-updater.sh")){m=e,d=t;break}}if(m>=0)break}}-1===m?u.push({matcher:"Bash",hooks:[{type:"command",command:t,timeout:5e3}]}):u[m].hooks[d].command=t,c.PostToolUse=u,l.hooks=c,await (0,s.writeFile)(i,JSON.stringify(l,null,2)+"\n","utf-8")}async function $(e){let t=(0,n.join)(e,".claude");await (0,s.mkdir)(t,{recursive:!0});let a=(0,n.join)(t,"settings.local.json");try{await (0,s.readFile)(a,"utf-8")}catch{let e=JSON.stringify({permissions:{allow:["Bash(*)","Read(*)","Write(*)","Edit(*)","Glob(*)","Grep(*)","WebFetch(*)","WebSearch(*)"]}},null,2);await (0,s.writeFile)(a,e,"utf-8")}}function w(){return{name:"claude-code",processName:"claude",promptDelivery:"post-launch",getLaunchCommand(e){let a=["claude"];if("skip"===e.permissions&&a.push("--dangerously-skip-permissions"),e.model&&a.push("--model",(0,t.shellEscape)(e.model)),e.reasoningEffort&&a.push("--effort",(0,t.shellEscape)(e.reasoningEffort)),e.systemPromptFile?a.push("--append-system-prompt",`"$(cat ${(0,t.shellEscape)(e.systemPromptFile)})"`):e.systemPrompt&&a.push("--append-system-prompt",(0,t.shellEscape)(e.systemPrompt)),e.workspacePath&&e.mcpServers&&Object.keys(e.mcpServers).length>0){let s=(0,n.join)(e.workspacePath,".claude","mcp.json");a.push("--mcp-config",(0,t.shellEscape)(s))}return`unset ANTHROPIC_API_KEY 2>/dev/null; ${a.join(" ")}`},getEnvironment(e){let t={};return t.CLAUDECODE="",t.CO_SESSION_ID=e.sessionId,e.issueId&&(t.CO_ISSUE_ID=e.issueId),t.PATH=`${l}:${process.env.PATH??"/usr/bin:/bin"}`,t.ANTHROPIC_API_KEY="",t},detectActivity:e=>(function(e){if(!e.trim())return"idle";let t=e.trim().split("\n"),a=t[t.length-1]?.trim()??"";if(/^[>$#]\s*$/.test(a))return"idle";let s=t.slice(-5).join("\n");return/Do you want to proceed\?/i.test(s)||/\(Y\)es.*\(N\)o/i.test(s)||/bypass.*permissions/i.test(s)?"waiting_input":"active"})(e),isProcessRunning:async e=>null!==await g(e),async getActivityState(e,t){let a=new Date;if(!e.runtimeHandle||!await this.isProcessRunning(e.runtimeHandle))return{state:"exited",timestamp:a};if(!e.workspacePath)return null;let s=d(e.workspacePath),r=(0,n.join)((0,i.homedir)(),".claude","projects",s),o=await f(r);if(!o)return null;let l=await y(o);if(!l)return null;let c=Date.now()-l.modifiedAt.getTime(),u=l.modifiedAt;switch(l.lastType){case"user":case"tool_use":case"progress":case"assistant":case"system":default:return{state:c>(t??6e4)?"idle":"active",timestamp:u};case"summary":return{state:"ready",timestamp:u};case"result":case"permission_request":return{state:"waiting_input",timestamp:u};case"error":return{state:"blocked",timestamp:u}}},async getSessionInfo(e){if(!e.workspacePath)return null;let t=d(e.workspacePath),a=(0,n.join)((0,i.homedir)(),".claude","projects",t),s=await f(a);if(!s)return null;let r=await h(s);if(0===r.length)return null;let o=(0,n.basename)(s,".jsonl"),l=function(e){for(let t=e.length-1;t>=0;t--){let a=e[t];if(a?.type==="summary"&&a.summary)return{summary:a.summary,isFallback:!1}}for(let t=e.length-1;t>=0;t--){let a=e[t],s=a?.message?.content;if("string"==typeof s&&s.trim()&&(a?.type==="assistant"||a?.type==="result")){let e=s.replace(/\s+/g," ").trim();if(e.length>0)return{summary:e.length>200?e.substring(0,200)+"...":e,isFallback:!0}}}for(let t of e)if(t?.type==="user"&&t.message?.content&&"string"==typeof t.message.content){let e=t.message.content.replace(/\s+/g," ").trim();if(!e||e.startsWith("You are an AI coding agent managed by Conductor")||e.startsWith("## CRITICAL: Fully Autonomous Operation"))continue;return{summary:e.length>160?e.substring(0,160)+"...":e,isFallback:!0}}return null}(r);return{summary:l?.summary??null,summaryIsFallback:l?.isFallback,agentSessionId:o,cost:function(e){let t=0,a=0,s=0;for(let r of e)"number"==typeof r.costUSD?s+=r.costUSD:"number"==typeof r.estimatedCostUsd&&(s+=r.estimatedCostUsd),r.usage?(t+=r.usage.input_tokens??0,t+=r.usage.cache_read_input_tokens??0,t+=r.usage.cache_creation_input_tokens??0,a+=r.usage.output_tokens??0):("number"==typeof r.inputTokens&&(t+=r.inputTokens),"number"==typeof r.outputTokens&&(a+=r.outputTokens));if(0!==t||0!==a||0!==s)return 0===s&&(t>0||a>0)&&(s=t/1e6*3+a/1e6*15),{inputTokens:t,outputTokens:a,estimatedCostUsd:s}}(r)}},async getRestoreCommand(e,a){if(!e.workspacePath)return null;let s=d(e.workspacePath),r=(0,n.join)((0,i.homedir)(),".claude","projects",s),o=await f(r);if(!o)return null;let l=(0,n.basename)(o,".jsonl");if(!l)return null;let c=["claude","--resume",(0,t.shellEscape)(l)];a.agentConfig?.permissions==="skip"&&c.push("--dangerously-skip-permissions"),e.metadata.model?c.push("--model",(0,t.shellEscape)(e.metadata.model)):a.agentConfig?.model&&c.push("--model",(0,t.shellEscape)(a.agentConfig.model));let u=e.metadata.reasoningEffort??a.agentConfig?.reasoningEffort;return u&&c.push("--effort",(0,t.shellEscape)(u)),c.join(" ")},async setupWorkspaceHooks(e,t){await $(e);let a=(0,n.join)(e,".claude","metadata-updater.sh");if(await _(e,a),t.mcpServers&&Object.keys(t.mcpServers).length>0){let a=(0,n.join)(e,".claude");await (0,s.mkdir)(a,{recursive:!0});let r={mcpServers:t.mcpServers};await (0,s.writeFile)((0,n.join)(a,"mcp.json"),JSON.stringify(r,null,2),"utf-8")}},async postLaunchSetup(e){if(!e.workspacePath)return;await $(e.workspacePath);let t=(0,n.join)(e.workspacePath,".claude","metadata-updater.sh");await _(e.workspacePath,t)}}}e.s(["create",()=>w,"default",0,{manifest:m,create:w},"manifest",0,m,"toClaudeProjectPath",()=>d])}];
124
-
125
- //# sourceMappingURL=packages_plugins_agent-claude-code_dist_index_31314e43.js.map
@@ -1,3 +0,0 @@
1
- module.exports=[25106,t=>{"use strict";t.i(20435);var e=t.i(45629),r=t.i(74533),n=t.i(2157);let i=(0,t.i(12057).promisify)(r.execFile),l=["cursor","cursor-cli"],s=function(){for(let t of[process.env.CURSOR_CLI_BIN,...l.flatMap(t=>[`/opt/homebrew/bin/${t}`,`/usr/local/bin/${t}`,`/usr/bin/${t}`,`/bin/${t}`])].filter(Boolean))if((0,n.existsSync)(t))return t;return l[0]??"cursor"}(),u=function(){for(let t of[process.env.TMUX_BIN,"/opt/homebrew/bin/tmux","/usr/local/bin/tmux","/usr/bin/tmux","/bin/tmux"].filter(Boolean))if((0,n.existsSync)(t))return t;return"tmux"}();async function a(t,e=30){if("tmux"!==t.runtimeName||!t.id)return null;try{let{stdout:r}=await i(u,["capture-pane","-t",t.id,"-p","-l",String(e)],{timeout:5e3});return r}catch{return null}}function o(t){if(!t.trim())return"idle";let e=t.trim().split("\n"),r=[...e].reverse().find(t=>""!==t.trim())?.trim()??"";if(/^[❯>$#]\s*$/.test(r))return"idle";let n=e.slice(-8).join("\n");return/\(y\)es.*\(n\)o/i.test(n)||/do you want|confirm|approve|proceed/i.test(n)?"waiting_input":/^(done|complete|finished|exiting)/i.test(r)?"idle":"active"}async function c(t){try{if("tmux"===t.runtimeName&&t.id){let{stdout:e}=await i(u,["list-panes","-t",t.id,"-F","#{pane_tty}"],{timeout:3e4}),r=e.trim().split("\n").map(t=>t.trim()).filter(Boolean);if(0===r.length)return null;let{stdout:n}=await i("ps",["-eo","pid,tty,args"],{timeout:3e4}),l=new Set(r.map(t=>t.replace(/^\/dev\//,""))),s="cursor".replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),a=RegExp(`(?:^|/)${s}(?:\\s|$)`);for(let t of n.split("\n")){let e=t.trimStart().split(/\s+/);if(e.length<3||!l.has(e[1]??""))continue;let r=e.slice(2).join(" ");if(a.test(r))return parseInt(e[0]??"0",10)}return null}let e=t.data.pid,r="number"==typeof e?e:Number(e);if(!Number.isFinite(r)||r<=0)return null;try{return process.kill(r,0),r}catch(t){if(t instanceof Error&&"code"in t&&"EPERM"===t.code)return r;return null}}catch{return null}}let m={name:"cursor-cli",slot:"agent",description:"Agent plugin: Cursor CLI",version:"0.2.6"};function p(){return{name:"cursor-cli",processName:"cursor",promptDelivery:"inline",getLaunchCommand(t){let r=[s];return t.prompt&&r.push((0,e.shellEscape)(t.prompt)),r.join(" ")},getEnvironment(t){let e={};return e.CO_SESSION_ID=t.sessionId,t.issueId&&(e.CO_ISSUE_ID=t.issueId),e},detectActivity:t=>o(t),async getActivityState(t){let e=new Date;if(!t.runtimeHandle||!await c(t.runtimeHandle))return{state:"exited",timestamp:e};let r=await a(t.runtimeHandle);if(!r)return{state:"active",timestamp:e};let n=o(r);return{state:"idle"===n?"ready":n,timestamp:e}},isProcessRunning:async t=>null!==await c(t),async getSessionInfo(t){if(!t.runtimeHandle)return null;let e=await a(t.runtimeHandle,80);if(!e)return null;let r=e.trim().split("\n").map(t=>t.trim()).filter(t=>t.length>0).filter(t=>!/^[❯>$#]\s*$/.test(t)).slice(-1)[0]??null;return r?{summary:r.substring(0,280),summaryIsFallback:!0,agentSessionId:t.id}:null},getRestoreCommand:async()=>null,async setupWorkspaceHooks(t,e){}}}t.s(["create",()=>p,"default",0,{manifest:m,create:p},"manifest",0,m])}];
2
-
3
- //# sourceMappingURL=packages_plugins_agent-cursor-cli_dist_index_8d5cc426.js.map
@@ -1,3 +0,0 @@
1
- module.exports=[86010,t=>{"use strict";t.i(20435);var e=t.i(45629),i=t.i(74533),n=t.i(2157);let r=(0,t.i(12057).promisify)(i.execFile),l=["droid"],s=function(){for(let t of[process.env.DROID_BIN,...l.flatMap(t=>[`/opt/homebrew/bin/${t}`,`/usr/local/bin/${t}`,`/usr/bin/${t}`,`/bin/${t}`])].filter(Boolean))if((0,n.existsSync)(t))return t;return l[0]??"droid"}(),u=function(){for(let t of[process.env.TMUX_BIN,"/opt/homebrew/bin/tmux","/usr/local/bin/tmux","/usr/bin/tmux","/bin/tmux"].filter(Boolean))if((0,n.existsSync)(t))return t;return"tmux"}();async function a(t,e=30){if("tmux"!==t.runtimeName||!t.id)return null;try{let{stdout:i}=await r(u,["capture-pane","-t",t.id,"-p","-l",String(e)],{timeout:5e3});return i}catch{return null}}function o(t){if(!t.trim())return"idle";let e=t.trim().split("\n"),i=[...e].reverse().find(t=>""!==t.trim())?.trim()??"";if(/^[❯>$#]\s*$/.test(i))return"idle";let n=e.slice(-8).join("\n");return/\(y\)es.*\(n\)o/i.test(n)||/do you want|confirm|approve|proceed/i.test(n)?"waiting_input":/^(done|complete|finished|exiting)/i.test(i)?"idle":"active"}async function m(t){try{if("tmux"===t.runtimeName&&t.id){let{stdout:e}=await r(u,["list-panes","-t",t.id,"-F","#{pane_tty}"],{timeout:3e4}),i=e.trim().split("\n").map(t=>t.trim()).filter(Boolean);if(0===i.length)return null;let{stdout:n}=await r("ps",["-eo","pid,tty,args"],{timeout:3e4}),l=new Set(i.map(t=>t.replace(/^\/dev\//,""))),s="droid".replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),a=RegExp(`(?:^|/)${s}(?:\\s|$)`);for(let t of n.split("\n")){let e=t.trimStart().split(/\s+/);if(e.length<3||!l.has(e[1]??""))continue;let i=e.slice(2).join(" ");if(a.test(i))return parseInt(e[0]??"0",10)}return null}let e=t.data.pid,i="number"==typeof e?e:Number(e);if(!Number.isFinite(i)||i<=0)return null;try{return process.kill(i,0),i}catch(t){if(t instanceof Error&&"code"in t&&"EPERM"===t.code)return i;return null}}catch{return null}}let c={name:"droid",slot:"agent",description:"Agent plugin: Factory Droid CLI",version:"0.2.6"};function d(){return{name:"droid",processName:"droid",promptDelivery:"inline",getLaunchCommand(t){let i=[s];return t.prompt&&i.push((0,e.shellEscape)(t.prompt)),i.join(" ")},getEnvironment(t){let e={};return e.CO_SESSION_ID=t.sessionId,t.issueId&&(e.CO_ISSUE_ID=t.issueId),e},detectActivity:t=>o(t),async getActivityState(t){let e=new Date;if(!t.runtimeHandle||!await m(t.runtimeHandle))return{state:"exited",timestamp:e};let i=await a(t.runtimeHandle);if(!i)return{state:"active",timestamp:e};let n=o(i);return{state:"idle"===n?"ready":n,timestamp:e}},isProcessRunning:async t=>null!==await m(t),async getSessionInfo(t){if(!t.runtimeHandle)return null;let e=await a(t.runtimeHandle,80);if(!e)return null;let i=e.trim().split("\n").map(t=>t.trim()).filter(t=>t.length>0).filter(t=>!/^[❯>$#]\s*$/.test(t)).slice(-1)[0]??null;return i?{summary:i.substring(0,280),summaryIsFallback:!0,agentSessionId:t.id}:null},getRestoreCommand:async()=>null,async setupWorkspaceHooks(t,e){}}}t.s(["create",()=>d,"default",0,{manifest:c,create:d},"manifest",0,c])}];
2
-
3
- //# sourceMappingURL=packages_plugins_agent-droid_dist_index_f731227a.js.map