conductor-oss 0.2.3 → 0.2.5

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 (211) hide show
  1. package/dist/commands/start.d.ts.map +1 -1
  2. package/dist/commands/start.js +4 -0
  3. package/dist/commands/start.js.map +1 -1
  4. package/dist/index.js +1 -1
  5. package/node_modules/@conductor-oss/core/dist/__tests__/board-watcher-support-files.test.d.ts +2 -0
  6. package/node_modules/@conductor-oss/core/dist/__tests__/board-watcher-support-files.test.d.ts.map +1 -0
  7. package/node_modules/@conductor-oss/core/dist/__tests__/board-watcher-support-files.test.js +122 -0
  8. package/node_modules/@conductor-oss/core/dist/__tests__/board-watcher-support-files.test.js.map +1 -0
  9. package/node_modules/@conductor-oss/core/dist/__tests__/project-paths.test.d.ts +2 -0
  10. package/node_modules/@conductor-oss/core/dist/__tests__/project-paths.test.d.ts.map +1 -0
  11. package/node_modules/@conductor-oss/core/dist/__tests__/project-paths.test.js +48 -0
  12. package/node_modules/@conductor-oss/core/dist/__tests__/project-paths.test.js.map +1 -0
  13. package/node_modules/@conductor-oss/core/dist/board-diagnostics.d.ts.map +1 -1
  14. package/node_modules/@conductor-oss/core/dist/board-diagnostics.js +12 -2
  15. package/node_modules/@conductor-oss/core/dist/board-diagnostics.js.map +1 -1
  16. package/node_modules/@conductor-oss/core/dist/board-watcher.d.ts +14 -0
  17. package/node_modules/@conductor-oss/core/dist/board-watcher.d.ts.map +1 -1
  18. package/node_modules/@conductor-oss/core/dist/board-watcher.js +97 -39
  19. package/node_modules/@conductor-oss/core/dist/board-watcher.js.map +1 -1
  20. package/node_modules/@conductor-oss/core/dist/config.d.ts.map +1 -1
  21. package/node_modules/@conductor-oss/core/dist/config.js +2 -1
  22. package/node_modules/@conductor-oss/core/dist/config.js.map +1 -1
  23. package/node_modules/@conductor-oss/core/dist/index.d.ts +3 -2
  24. package/node_modules/@conductor-oss/core/dist/index.d.ts.map +1 -1
  25. package/node_modules/@conductor-oss/core/dist/index.js +2 -1
  26. package/node_modules/@conductor-oss/core/dist/index.js.map +1 -1
  27. package/node_modules/@conductor-oss/core/dist/project-paths.d.ts +2 -0
  28. package/node_modules/@conductor-oss/core/dist/project-paths.d.ts.map +1 -0
  29. package/node_modules/@conductor-oss/core/dist/project-paths.js +67 -0
  30. package/node_modules/@conductor-oss/core/dist/project-paths.js.map +1 -0
  31. package/node_modules/@conductor-oss/core/package.json +1 -1
  32. package/node_modules/@conductor-oss/plugin-agent-amp/dist/index.js +1 -1
  33. package/node_modules/@conductor-oss/plugin-agent-amp/package.json +2 -2
  34. package/node_modules/@conductor-oss/plugin-agent-ccr/dist/index.js +1 -1
  35. package/node_modules/@conductor-oss/plugin-agent-ccr/package.json +2 -2
  36. package/node_modules/@conductor-oss/plugin-agent-claude-code/dist/index.js +1 -1
  37. package/node_modules/@conductor-oss/plugin-agent-claude-code/package.json +2 -2
  38. package/node_modules/@conductor-oss/plugin-agent-codex/dist/index.js +1 -1
  39. package/node_modules/@conductor-oss/plugin-agent-codex/package.json +2 -2
  40. package/node_modules/@conductor-oss/plugin-agent-cursor-cli/dist/index.js +1 -1
  41. package/node_modules/@conductor-oss/plugin-agent-cursor-cli/package.json +2 -2
  42. package/node_modules/@conductor-oss/plugin-agent-droid/dist/index.js +1 -1
  43. package/node_modules/@conductor-oss/plugin-agent-droid/package.json +2 -2
  44. package/node_modules/@conductor-oss/plugin-agent-gemini/dist/index.js +1 -1
  45. package/node_modules/@conductor-oss/plugin-agent-gemini/package.json +2 -2
  46. package/node_modules/@conductor-oss/plugin-agent-github-copilot/dist/index.js +1 -1
  47. package/node_modules/@conductor-oss/plugin-agent-github-copilot/package.json +2 -2
  48. package/node_modules/@conductor-oss/plugin-agent-opencode/dist/index.js +1 -1
  49. package/node_modules/@conductor-oss/plugin-agent-opencode/package.json +2 -2
  50. package/node_modules/@conductor-oss/plugin-agent-qwen-code/dist/index.js +1 -1
  51. package/node_modules/@conductor-oss/plugin-agent-qwen-code/package.json +2 -2
  52. package/node_modules/@conductor-oss/plugin-mcp-server/dist/index.js +1 -1
  53. package/node_modules/@conductor-oss/plugin-mcp-server/package.json +2 -2
  54. package/node_modules/@conductor-oss/plugin-notifier-desktop/dist/index.js +1 -1
  55. package/node_modules/@conductor-oss/plugin-notifier-desktop/package.json +2 -2
  56. package/node_modules/@conductor-oss/plugin-notifier-discord/dist/index.js +1 -1
  57. package/node_modules/@conductor-oss/plugin-notifier-discord/package.json +2 -2
  58. package/node_modules/@conductor-oss/plugin-runtime-tmux/dist/index.js +1 -1
  59. package/node_modules/@conductor-oss/plugin-runtime-tmux/package.json +2 -2
  60. package/node_modules/@conductor-oss/plugin-scm-github/dist/index.js +1 -1
  61. package/node_modules/@conductor-oss/plugin-scm-github/package.json +2 -2
  62. package/node_modules/@conductor-oss/plugin-terminal-web/dist/index.js +1 -1
  63. package/node_modules/@conductor-oss/plugin-terminal-web/package.json +2 -2
  64. package/node_modules/@conductor-oss/plugin-tracker-github/dist/index.js +1 -1
  65. package/node_modules/@conductor-oss/plugin-tracker-github/package.json +2 -2
  66. package/node_modules/@conductor-oss/plugin-webhook/package.json +2 -2
  67. package/node_modules/@conductor-oss/plugin-workspace-worktree/dist/index.js +1 -1
  68. package/node_modules/@conductor-oss/plugin-workspace-worktree/package.json +2 -2
  69. package/package.json +21 -21
  70. package/web/.next/standalone/packages/web/.next/BUILD_ID +1 -1
  71. package/web/.next/standalone/packages/web/.next/build-manifest.json +2 -2
  72. package/web/.next/standalone/packages/web/.next/server/app/_global-error.html +2 -2
  73. package/web/.next/standalone/packages/web/.next/server/app/_global-error.rsc +1 -1
  74. package/web/.next/standalone/packages/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  75. package/web/.next/standalone/packages/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  76. package/web/.next/standalone/packages/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  77. package/web/.next/standalone/packages/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  78. package/web/.next/standalone/packages/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  79. package/web/.next/standalone/packages/web/.next/server/app/_not-found.html +1 -1
  80. package/web/.next/standalone/packages/web/.next/server/app/_not-found.rsc +1 -1
  81. package/web/.next/standalone/packages/web/.next/server/app/_not-found.segments/_full.segment.rsc +1 -1
  82. package/web/.next/standalone/packages/web/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  83. package/web/.next/standalone/packages/web/.next/server/app/_not-found.segments/_index.segment.rsc +1 -1
  84. package/web/.next/standalone/packages/web/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  85. package/web/.next/standalone/packages/web/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  86. package/web/.next/standalone/packages/web/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
  87. package/web/.next/standalone/packages/web/.next/server/app/api/boards/route.js +1 -1
  88. package/web/.next/standalone/packages/web/.next/server/app/api/boards/route.js.nft.json +1 -1
  89. package/web/.next/standalone/packages/web/.next/server/app/api/preferences/route.js +3 -3
  90. package/web/.next/standalone/packages/web/.next/server/app/api/preferences/route.js.nft.json +1 -1
  91. package/web/.next/standalone/packages/web/.next/server/app/api/repositories/route.js +2 -2
  92. package/web/.next/standalone/packages/web/.next/server/app/api/repositories/route.js.nft.json +1 -1
  93. package/web/.next/standalone/packages/web/.next/server/app/api/spawn/route.js +1 -1
  94. package/web/.next/standalone/packages/web/.next/server/app/api/spawn/route.js.nft.json +1 -1
  95. package/web/.next/standalone/packages/web/.next/server/app/api/workspaces/route.js +1 -1
  96. package/web/.next/standalone/packages/web/.next/server/app/api/workspaces/route.js.nft.json +1 -1
  97. package/web/.next/standalone/packages/web/.next/server/app/index.html +1 -1
  98. package/web/.next/standalone/packages/web/.next/server/app/index.rsc +1 -1
  99. package/web/.next/standalone/packages/web/.next/server/app/index.segments/__PAGE__.segment.rsc +1 -1
  100. package/web/.next/standalone/packages/web/.next/server/app/index.segments/_full.segment.rsc +1 -1
  101. package/web/.next/standalone/packages/web/.next/server/app/index.segments/_head.segment.rsc +1 -1
  102. package/web/.next/standalone/packages/web/.next/server/app/index.segments/_index.segment.rsc +1 -1
  103. package/web/.next/standalone/packages/web/.next/server/app/index.segments/_tree.segment.rsc +1 -1
  104. package/web/.next/standalone/packages/web/.next/server/chunks/1bc17_next_dist_esm_build_templates_app-route_34b04c2b.js +1 -1
  105. package/web/.next/standalone/packages/web/.next/server/chunks/1bc17_next_dist_esm_build_templates_app-route_b41c4976.js +1 -1
  106. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__005aa909._.js +1 -1
  107. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__03ff76ee._.js +1 -1
  108. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__07ec6d5c._.js +1 -1
  109. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__0a0f0f01._.js +1 -1
  110. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__0ad3545b._.js +1 -1
  111. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__0e59a166._.js +3 -0
  112. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__13ad088c._.js +1 -1
  113. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__14b1d4a3._.js +1 -1
  114. package/web/.next/standalone/packages/web/.next/server/chunks/{[root-of-the-server]__1cd55204._.js → [root-of-the-server]__1bc4f8f5._.js} +1 -1
  115. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__1f626a16._.js +1 -1
  116. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__2062aaab._.js +1 -1
  117. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__206c3d8a._.js +1 -1
  118. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__2556a816._.js +1 -1
  119. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__3fde7043._.js +1 -1
  120. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__44606e04._.js +1 -1
  121. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__48875cbb._.js +1 -1
  122. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__4ac9d639._.js +1 -1
  123. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__4c3fb752._.js +1 -1
  124. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__4dab6a6a._.js +1 -1
  125. package/web/.next/standalone/packages/web/.next/server/chunks/{[root-of-the-server]__8ca91fef._.js → [root-of-the-server]__53970b23._.js} +2 -2
  126. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__544326ac._.js +1 -1
  127. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__54a218f0._.js +1 -1
  128. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__54a76cd2._.js +1 -1
  129. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__5661ca72._.js +1 -1
  130. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__5cd49624._.js +1 -1
  131. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__5d124f64._.js +3 -0
  132. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__5e0533de._.js +1 -1
  133. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__62608541._.js +1 -1
  134. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__6d62709d._.js +1 -1
  135. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__6f6826fa._.js +3 -0
  136. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__749331b0._.js +1 -1
  137. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__778e46a1._.js +1 -1
  138. package/web/.next/standalone/packages/web/.next/server/chunks/{[root-of-the-server]__c9c79703._.js → [root-of-the-server]__7e505454._.js} +1 -1
  139. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__7e6ea46e._.js +1 -1
  140. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__84362910._.js +1 -1
  141. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__848eb266._.js +1 -1
  142. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__8596d782._.js +1 -1
  143. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__881858fa._.js +1 -1
  144. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__885e3a00._.js +1 -1
  145. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__8c519453._.js +1 -1
  146. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__96633022._.js +1 -1
  147. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__98697e45._.js +1 -1
  148. package/web/.next/standalone/packages/web/.next/server/chunks/{[root-of-the-server]__6b396859._.js → [root-of-the-server]__9b62b450._.js} +1 -1
  149. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__9f36b7ec._.js +1 -1
  150. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__a44f91a4._.js +1 -1
  151. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__afa79f55._.js +1 -1
  152. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__b057f7b2._.js +1 -1
  153. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__b091b8bc._.js +3 -0
  154. package/web/.next/standalone/packages/web/.next/server/chunks/{[root-of-the-server]__c6c755b1._.js → [root-of-the-server]__b3f4ff98._.js} +1 -1
  155. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__b59abfbd._.js +1 -1
  156. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__bea07e07._.js +1 -1
  157. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__c8618cb1._.js +1 -1
  158. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__caf8e7cb._.js +1 -1
  159. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__cb112606._.js +1 -1
  160. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__cc74ea40._.js +1 -1
  161. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__cd3692a0._.js +1 -1
  162. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__cf3cdecd._.js +1 -1
  163. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__d09e7a99._.js +1 -1
  164. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__d538c110._.js +1 -1
  165. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__d93447b9._.js +1 -1
  166. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__dda8eac1._.js +1 -1
  167. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__e113f6df._.js +1 -1
  168. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__e2573a77._.js +1 -1
  169. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__e308bb89._.js +1 -1
  170. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__e4976f6d._.js +3 -0
  171. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__ef773ea6._.js +1 -1
  172. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__f0d15920._.js +1 -1
  173. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__f47a2a9e._.js +1 -1
  174. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__f48eb2d4._.js +1 -1
  175. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__f6a8bbd9._.js +12 -12
  176. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__faceea9b._.js +1 -1
  177. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__fb6ab669._.js +1 -1
  178. package/web/.next/standalone/packages/web/.next/server/chunks/packages_core_dist_index_cdd30418.js +1 -1
  179. package/web/.next/standalone/packages/web/.next/server/chunks/packages_plugins_agent-amp_dist_index_bf3d8239.js +1 -1
  180. package/web/.next/standalone/packages/web/.next/server/chunks/packages_plugins_agent-ccr_dist_index_69cbf726.js +1 -1
  181. package/web/.next/standalone/packages/web/.next/server/chunks/packages_plugins_agent-claude-code_dist_index_31314e43.js +1 -1
  182. package/web/.next/standalone/packages/web/.next/server/chunks/packages_plugins_agent-cursor-cli_dist_index_8d5cc426.js +1 -1
  183. package/web/.next/standalone/packages/web/.next/server/chunks/packages_plugins_agent-droid_dist_index_f731227a.js +1 -1
  184. package/web/.next/standalone/packages/web/.next/server/chunks/packages_plugins_agent-gemini_dist_index_b2d219e8.js +1 -1
  185. package/web/.next/standalone/packages/web/.next/server/chunks/packages_plugins_agent-github-copilot_dist_index_9f80cb45.js +1 -1
  186. package/web/.next/standalone/packages/web/.next/server/chunks/packages_plugins_agent-opencode_dist_index_7c7015da.js +1 -1
  187. package/web/.next/standalone/packages/web/.next/server/chunks/packages_plugins_agent-qwen-code_dist_index_46dd8653.js +1 -1
  188. package/web/.next/standalone/packages/web/.next/server/chunks/packages_plugins_notifier-desktop_dist_index_ef3473f0.js +1 -1
  189. package/web/.next/standalone/packages/web/.next/server/chunks/packages_plugins_notifier-discord_dist_index_34257226.js +1 -1
  190. package/web/.next/standalone/packages/web/.next/server/chunks/packages_plugins_scm-github_dist_index_3b5a621e.js +1 -1
  191. package/web/.next/standalone/packages/web/.next/server/chunks/packages_plugins_terminal-web_dist_index_1e0706d3.js +1 -1
  192. package/web/.next/standalone/packages/web/.next/server/chunks/packages_plugins_tracker-github_dist_index_2d7af62f.js +1 -1
  193. package/web/.next/standalone/packages/web/.next/server/pages/404.html +1 -1
  194. package/web/.next/standalone/packages/web/.next/server/pages/500.html +2 -2
  195. package/web/.next/standalone/packages/web/src/app/api/preferences/route.ts +7 -3
  196. package/web/.next/standalone/packages/web/src/app/api/repositories/route.ts +7 -2
  197. package/web/.next/standalone/packages/web/src/app/api/spawn/route.ts +7 -2
  198. package/web/.next/standalone/packages/web/src/app/api/workspaces/route.ts +16 -4
  199. package/web/.next/standalone/packages/web/src/lib/projectConfigSync.ts +57 -9
  200. package/web/.next/standalone/packages/web/tsconfig.tsbuildinfo +1 -1
  201. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__22609b55._.js +0 -3
  202. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__c3b5cb01._.js +0 -3
  203. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__cfb45c10._.js +0 -3
  204. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__ee0dea96._.js +0 -3
  205. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__f1ccd6fd._.js +0 -3
  206. /package/web/.next/standalone/packages/web/.next/static/{NkapotuwrwSJq04fXtieC → 2lp61OU9Asm88Hx_JCL5e}/_buildManifest.js +0 -0
  207. /package/web/.next/standalone/packages/web/.next/static/{NkapotuwrwSJq04fXtieC → 2lp61OU9Asm88Hx_JCL5e}/_clientMiddlewareManifest.json +0 -0
  208. /package/web/.next/standalone/packages/web/.next/static/{NkapotuwrwSJq04fXtieC → 2lp61OU9Asm88Hx_JCL5e}/_ssgManifest.js +0 -0
  209. /package/web/.next/static/{NkapotuwrwSJq04fXtieC → 2lp61OU9Asm88Hx_JCL5e}/_buildManifest.js +0 -0
  210. /package/web/.next/static/{NkapotuwrwSJq04fXtieC → 2lp61OU9Asm88Hx_JCL5e}/_clientMiddlewareManifest.json +0 -0
  211. /package/web/.next/static/{NkapotuwrwSJq04fXtieC → 2lp61OU9Asm88Hx_JCL5e}/_ssgManifest.js +0 -0
@@ -2,4 +2,4 @@
2
2
  2:I[16839,["/_next/static/chunks/341731e546f4657a.js"],"ViewportBoundary"]
3
3
  3:I[16839,["/_next/static/chunks/341731e546f4657a.js"],"MetadataBoundary"]
4
4
  4:"$Sreact.suspense"
5
- 0:{"buildId":"NkapotuwrwSJq04fXtieC","rsc":["$","$1","h",{"children":[null,["$","$L2",null,{"children":[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1, maximum-scale=1"}]]}],["$","div",null,{"hidden":true,"children":["$","$L3",null,{"children":["$","$4",null,{"name":"Next.Metadata","children":[["$","title","0",{"children":"Conductor"}],["$","meta","1",{"name":"description","content":"Multi-agent orchestrator dashboard"}]]}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],"loading":null,"isPartial":false}
5
+ 0:{"buildId":"2lp61OU9Asm88Hx_JCL5e","rsc":["$","$1","h",{"children":[null,["$","$L2",null,{"children":[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1, maximum-scale=1"}]]}],["$","div",null,{"hidden":true,"children":["$","$L3",null,{"children":["$","$4",null,{"name":"Next.Metadata","children":[["$","title","0",{"children":"Conductor"}],["$","meta","1",{"name":"description","content":"Multi-agent orchestrator dashboard"}]]}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],"loading":null,"isPartial":false}
@@ -3,4 +3,4 @@
3
3
  3:I[81110,["/_next/static/chunks/341731e546f4657a.js"],"default"]
4
4
  4:I[8603,["/_next/static/chunks/341731e546f4657a.js"],"default"]
5
5
  :HL["/_next/static/chunks/e7bb96d7efad8e32.css","style"]
6
- 0:{"buildId":"NkapotuwrwSJq04fXtieC","rsc":["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/e7bb96d7efad8e32.css","precedence":"next"}],["$","script","script-0",{"src":"/_next/static/chunks/4372fb4d7779cd64.js","async":true}],["$","script","script-1",{"src":"/_next/static/chunks/f4b0696cca48db82.js","async":true}]],["$","html",null,{"lang":"en","className":"tomorrow_a2464713-module__EiLYZq__variable jetbrains_mono_ceb45f79-module__540KyW__variable dark","suppressHydrationWarning":true,"children":[["$","head",null,{"children":["$","script",null,{"dangerouslySetInnerHTML":{"__html":"try{var t=localStorage.getItem(\"conductor-theme\");var e=document.documentElement;e.classList.remove(\"light\",\"dark\");e.classList.add(t===\"light\"||t===\"dark\"?t:\"dark\")}catch{}"}}]}],["$","body",null,{"className":"bg-[var(--bg-canvas)] text-[var(--text-strong)] antialiased","children":["$","$L2",null,{"children":["$","$L3",null,{"parallelRouterKey":"children","template":["$","$L4",null,{}],"notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]]}]}]}]]}]]}],"loading":null,"isPartial":false}
6
+ 0:{"buildId":"2lp61OU9Asm88Hx_JCL5e","rsc":["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/e7bb96d7efad8e32.css","precedence":"next"}],["$","script","script-0",{"src":"/_next/static/chunks/4372fb4d7779cd64.js","async":true}],["$","script","script-1",{"src":"/_next/static/chunks/f4b0696cca48db82.js","async":true}]],["$","html",null,{"lang":"en","className":"tomorrow_a2464713-module__EiLYZq__variable jetbrains_mono_ceb45f79-module__540KyW__variable dark","suppressHydrationWarning":true,"children":[["$","head",null,{"children":["$","script",null,{"dangerouslySetInnerHTML":{"__html":"try{var t=localStorage.getItem(\"conductor-theme\");var e=document.documentElement;e.classList.remove(\"light\",\"dark\");e.classList.add(t===\"light\"||t===\"dark\"?t:\"dark\")}catch{}"}}]}],["$","body",null,{"className":"bg-[var(--bg-canvas)] text-[var(--text-strong)] antialiased","children":["$","$L2",null,{"children":["$","$L3",null,{"parallelRouterKey":"children","template":["$","$L4",null,{}],"notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]]}]}]}]]}]]}],"loading":null,"isPartial":false}
@@ -4,4 +4,4 @@
4
4
  :HL["/_next/static/media/631891f1a20c2c32-s.p.94e95a14.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
5
5
  :HL["/_next/static/media/a1fa7f4a7f7251a2-s.p.b7c6fa99.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
6
6
  :HL["/_next/static/media/b872b39ab8191954-s.p.1af2e1d3.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
7
- 0:{"buildId":"NkapotuwrwSJq04fXtieC","tree":{"name":"","paramType":null,"paramKey":"","hasRuntimePrefetch":false,"slots":{"children":{"name":"__PAGE__","paramType":null,"paramKey":"__PAGE__","hasRuntimePrefetch":false,"slots":null,"isRootLayout":false}},"isRootLayout":true},"staleTime":300}
7
+ 0:{"buildId":"2lp61OU9Asm88Hx_JCL5e","tree":{"name":"","paramType":null,"paramKey":"","hasRuntimePrefetch":false,"slots":{"children":{"name":"__PAGE__","paramType":null,"paramKey":"__PAGE__","hasRuntimePrefetch":false,"slots":null,"isRootLayout":false}},"isRootLayout":true},"staleTime":300}
@@ -1,3 +1,3 @@
1
- module.exports=[18219,e=>{"use strict";var t=e.i(56836),r=e.i(20229),a=e.i(26810),n=e.i(32807),i=e.i(26382),o=e.i(58028),s=e.i(44034),l=e.i(20964),c=e.i(38377),u=e.i(90712),p=e.i(32275),d=e.i(81377),f=e.i(98247),h=e.i(24857),g=e.i(68526),w=e.i(93695);e.i(37064);var m=e.i(25217),y=e.i(88490),R=e.i(12714),v=e.i(50227),x=e.i(60526),j=e.i(74533),b=e.i(12057),E=e.i(24863);e.i(20435);var C=e.i(15965),A=e.i(5453),N=e.i(85523),k=e.i(48295),P=e.i(90075);let S=(0,b.promisify)(j.execFile);function O(e){if("string"!=typeof e)return null;let t=e.trim();return t.length>0?t:null}function T(e){return e.startsWith("~/")?(0,v.resolve)((0,x.homedir)(),e.slice(2)):(0,v.resolve)(e)}function $(e){return e.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").slice(0,64)||"workspace"}function I(e,t){if(!t.has(e))return e;let r=2;for(;t.has(`${e}-${r}`);)r+=1;return`${e}-${r}`}function U(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 D(e){if(e.providedId)return $(e.providedId);let t=e.gitUrl?U(e.gitUrl)?.split("/").pop()??null:null;if(t)return $(t);let r=e.path?(0,v.basename)(e.path):null;return r?$(r):"workspace"}async function H(e,t){return(await S("git",t,{cwd:e,timeout:9e4})).stdout.trim()}async function _(e){try{return await H(e,["rev-parse","--is-inside-work-tree"]),!0}catch{return!1}}async function q(e,t){try{let t=await H(e,["symbolic-ref","--short","refs/remotes/origin/HEAD"]);if(t.startsWith("origin/"))return t.slice(7)}catch{}try{let t=await H(e,["symbolic-ref","--short","HEAD"]);if(t.length>0&&"HEAD"!==t)return t}catch{}return t}async function F(e){let t=!0;try{await H(e,["rev-parse","--verify","HEAD"])}catch{t=!1}t||(await H(e,["add","-A"]),await H(e,["-c","user.name=Conductor","-c","user.email=conductor@local","commit","--allow-empty","-m","chore: initialize workspace"]))}async function B(e,t){try{await H(e,["init","-b",t])}catch{await H(e,["init"]);try{await H(e,["checkout","-b",t])}catch{}}await F(e)}async function M(e){try{let t=await H(e,["remote","get-url","origin"]);return U(t)??t}catch{return null}}function L(e){let t=e.replace(/[-_]+/g," ").trim();return 0===t.length?e:t.replace(/\b\w/g,e=>e.toUpperCase())}function K(e){return(0,C.buildProjectConfigRecord)({projectId:e.projectId,displayName:L(e.projectId),path:e.path,repo:e.repo,defaultBranch:e.defaultBranch,agent:e.agent,sessionPrefix:e.sessionPrefix,workspace:e.useWorktree?"worktree":"local",runtime:"tmux",scm:e.repo.includes("/")?"github":null})}function W(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,A.generateSessionPrefix)((0,v.basename)(T(r.path)));e&&t.add(e)}return t}(t),a=(0,A.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 z(e){var t;let r=await (0,R.readFile)(e.configPath,"utf8"),a=(0,E.parse)(r)??{},n=a&&"object"==typeof a&&!Array.isArray(a)?{...a}:{},i=!(t=n.projects)||"object"!=typeof t||Array.isArray(t)?{}:{...t};i[e.projectId]=e.projectData,n.projects=i;let o=(0,E.stringify)(n,{lineWidth:0});await (0,R.writeFile)(e.configPath,o,"utf8");try{(0,N.invalidateServicesCache)("workspace added"),await (0,N.getServices)()}catch(t){throw await (0,R.writeFile)(e.configPath,r,"utf8"),(0,N.invalidateServicesCache)("workspace add rollback"),t}}async function G(e){let t=(0,v.resolve)(e.path,"CONDUCTOR.md"),r=await (0,R.stat)(t).catch(()=>null);r?.isFile()||await (0,R.writeFile)(t,(0,C.buildConductorBoard)(e.projectId,e.displayName),"utf8")}async function V(){let e=await (0,k.guardApiAccess)();if(e)return e;try{let{config:e}=await (0,N.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 X(e){let t=await (0,k.guardApiAccess)();if(t)return t;let r=(0,k.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=O(a.mode);if("git"!==n&&"local"!==n)return y.NextResponse.json({error:"mode must be either 'git' or 'local'"},{status:400});let i=O(a.defaultBranch),o=i??"main",s=!1!==a.useWorktree,l=O(a.gitUrl),c=O(a.path),u=!0===a.initializeGit;try{let{config:e}=await (0,N.getServices)(),t=e.configPath;if(!t)return y.NextResponse.json({error:"Unable to resolve conductor config path"},{status:500});let r=O(a.agent)??e.defaults.agent,p=new Set(Object.keys(e.projects)),d=Object.values(e.projects).map(e=>e.path),f=new Set(d.map(e=>(0,v.basename)(T(e))).filter(Boolean));if("git"===n){if(!l)return y.NextResponse.json({error:"gitUrl is required for mode=git"},{status:400});let n=D({providedId:O(a.projectId),gitUrl:l,path:c}),u=I(n,p),h=c?T(c):(0,v.resolve)(function(e){let t=new Map;for(let r of e){let e=T(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,x.homedir)(),".openclaw","workspace","projects")}(d),u),g=(0,v.basename)(h);if(f.has(g))return y.NextResponse.json({error:`A project already uses basename '${g}'. Choose a different folder name.`},{status:409});await (0,R.mkdir)((0,v.dirname)(h),{recursive:!0});let w=await (0,R.stat)(h).catch(()=>null);if(w){if(!w.isDirectory())return y.NextResponse.json({error:"Target path exists and is not a directory"},{status:409});if(!await _(h))return y.NextResponse.json({error:"Target path already exists and is not a git repository"},{status:409})}else await S("git",["clone",l,h],{timeout:12e4});let m=await q(h,o),j=i??m,b=U(l)??l,E=W(h,e.projects);await z({configPath:t,projectId:u,projectData:K({projectId:u,path:h,repo:b,defaultBranch:j,agent:r,sessionPrefix:E,useWorktree:s})}),await G({path:h,projectId:u,displayName:L(u)});{let{config:e}=await (0,N.getServices)();await (0,P.syncProjectLocalConfig)(e,u)}return y.NextResponse.json({project:{id:u,path:h,repo:b,defaultBranch:j,agent:r,workspace:s?"worktree":"local"}},{status:201})}if(!c)return y.NextResponse.json({error:"path is required for mode=local"},{status:400});let h=T(c),g=await (0,R.stat)(h).catch(()=>null);if(!g||!g.isDirectory())return y.NextResponse.json({error:"path must point to an existing directory"},{status:400});let w=(0,v.basename)(h);if(f.has(w))return y.NextResponse.json({error:`A project already uses basename '${w}'. Choose a different folder.`},{status:409});let m=await _(h);if(!m&&u&&(await B(h,o),m=!0),!m)return y.NextResponse.json({error:"Selected folder is not a git repository. Enable git initialization to use it as a workspace."},{status:400});let j=await q(h,o),b=i??j,E=D({providedId:O(a.projectId),gitUrl:null,path:h}),C=I(E,p),A=await M(h)??`local-${C}`,k=W(h,e.projects);await z({configPath:t,projectId:C,projectData:K({projectId:C,path:h,repo:A,defaultBranch:b,agent:r,sessionPrefix:k,useWorktree:s})}),await G({path:h,projectId:C,displayName:L(C)});{let{config:e}=await (0,N.getServices)();await (0,P.syncProjectLocalConfig)(e,C)}return y.NextResponse.json({project:{id:C,path:h,repo:A,defaultBranch:b,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",()=>V,"POST",()=>X,"dynamic",0,"force-dynamic"],66596);var J=e.i(66596);let Z=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:J}),{workAsyncStorage:Q,workUnitAsyncStorage:Y,serverHooks:ee}=Z;function et(){return(0,a.patchFetch)({workAsyncStorage:Q,workUnitAsyncStorage:Y})}async function er(e,t,a){Z.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let y="/api/workspaces/route";y=y.replace(/\/index$/,"")||"/";let R=await Z.prepare(e,t,{srcPage:y,multiZoneDraftMode:!1});if(!R)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:v,params:x,nextConfig:j,parsedUrl:b,isDraftMode:E,prerenderManifest:C,routerServerContext:A,isOnDemandRevalidate:N,revalidateOnlyGenerated:k,resolvedPathname:P,clientReferenceManifest:S,serverActionsManifest:O}=R,T=(0,s.normalizeAppPath)(y),$=!!(C.dynamicRoutes[T]||C.routes[P]),I=async()=>((null==A?void 0:A.render404)?await A.render404(e,t,b,!1):t.end("This page could not be found"),null);if($&&!E){let e=!!C.routes[P],t=C.dynamicRoutes[T];if(t&&!1===t.fallback&&!e){if(j.experimental.adapterPath)return await I();throw new w.NoFallbackError}}let U=null;!$||Z.isDev||E||(U="/index"===(U=P)?"/":U);let D=!0===Z.isDev||!$,H=$&&!D;O&&S&&(0,o.setManifestsSingleton)({page:y,clientReferenceManifest:S,serverActionsManifest:O});let _=e.method||"GET",q=(0,i.getTracer)(),F=q.getActiveScopeSpan(),B={params:x,prerenderManifest:C,renderOpts:{experimental:{authInterrupts:!!j.experimental.authInterrupts},cacheComponents:!!j.cacheComponents,supportsDynamicResponse:D,incrementalCache:(0,n.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:j.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,n)=>Z.onRequestError(e,t,a,n,A)},sharedContext:{buildId:v}},M=new l.NodeNextRequest(e),L=new l.NodeNextResponse(t),K=c.NextRequestAdapter.fromNodeNextRequest(M,(0,c.signalFromNodeResponse)(t));try{let o=async e=>Z.handle(K,B).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")!==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=`${_} ${a}`;e.setAttributes({"next.route":a,"http.route":a,"next.span_name":t}),e.updateName(t)}else e.updateName(`${_} ${y}`)}),s=!!(0,n.getRequestMeta)(e,"minimalMode"),l=async n=>{var i,l;let c=async({previousCacheEntry:r})=>{try{if(!s&&N&&k&&!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=B.renderOpts.fetchMetrics;let l=B.renderOpts.pendingWaitUntil;l&&a.waitUntil&&(a.waitUntil(l),l=void 0);let c=B.renderOpts.collectedTags;if(!$)return await (0,d.sendResponse)(M,L,i,B.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!==B.renderOpts.collectedRevalidate&&!(B.renderOpts.collectedRevalidate>=g.INFINITE_CACHE)&&B.renderOpts.collectedRevalidate,a=void 0===B.renderOpts.collectedExpire||B.renderOpts.collectedExpire>=g.INFINITE_CACHE?void 0:B.renderOpts.collectedExpire;return{value:{kind:m.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 Z.onRequestError(e,t,{routerKind:"App Router",routePath:y,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:N})},!1,A),t}},u=await Z.handleResponse({req:e,nextConfig:j,cacheKey:U,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:C,isRoutePPREnabled:!1,isOnDemandRevalidate:N,revalidateOnlyGenerated:k,responseGenerator:c,waitUntil:a.waitUntil,isMinimalMode:s});if(!$)return null;if((null==u||null==(i=u.value)?void 0:i.kind)!==m.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"),E&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let w=(0,f.fromNodeOutgoingHttpHeaders)(u.value.headers);return s&&$||w.delete(g.NEXT_CACHE_TAGS_HEADER),!u.cacheControl||t.getHeader("Cache-Control")||w.get("Cache-Control")||w.set("Cache-Control",(0,h.getCacheControlHeader)(u.cacheControl)),await (0,d.sendResponse)(M,L,new Response(u.value.body,{headers:w,status:u.value.status||200})),null};F?await l(F):await q.withPropagatedContext(e.headers,()=>q.trace(u.BaseServerSpan.handleRequest,{spanName:`${_} ${y}`,kind:i.SpanKind.SERVER,attributes:{"http.method":_,"http.target":e.url}},l))}catch(t){if(t instanceof w.NoFallbackError||await Z.onRequestError(e,t,{routerKind:"App Router",routePath:T,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:N})},!1,A),$)throw t;return await (0,d.sendResponse)(M,L,new Response(null,{status:500})),null}}e.s(["handler",()=>er,"patchFetch",()=>et,"routeModule",()=>Z,"serverHooks",()=>ee,"workAsyncStorage",()=>Q,"workUnitAsyncStorage",()=>Y],18219)}];
1
+ module.exports=[18219,e=>{"use strict";var t=e.i(56836),r=e.i(20229),a=e.i(26810),n=e.i(32807),i=e.i(26382),o=e.i(58028),s=e.i(44034),l=e.i(20964),c=e.i(38377),u=e.i(90712),p=e.i(32275),d=e.i(81377),f=e.i(98247),h=e.i(24857),g=e.i(68526),w=e.i(93695);e.i(37064);var m=e.i(25217),y=e.i(88490),R=e.i(12714),v=e.i(50227),x=e.i(60526),j=e.i(74533),b=e.i(12057),E=e.i(24863);e.i(20435);var C=e.i(15965),A=e.i(5453),N=e.i(81425),k=e.i(85523),P=e.i(48295),S=e.i(90075);let O=(0,b.promisify)(j.execFile);function T(e){if("string"!=typeof e)return null;let t=e.trim();return t.length>0?t:null}function $(e){return e.startsWith("~/")?(0,v.resolve)((0,x.homedir)(),e.slice(2)):(0,v.resolve)(e)}function I(e){return e.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").slice(0,64)||"workspace"}function U(e,t){if(!t.has(e))return e;let r=2;for(;t.has(`${e}-${r}`);)r+=1;return`${e}-${r}`}function D(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 H(e){if(e.providedId)return I(e.providedId);let t=e.gitUrl?D(e.gitUrl)?.split("/").pop()??null:null;if(t)return I(t);let r=e.path?(0,v.basename)(e.path):null;return r?I(r):"workspace"}async function _(e,t){return(await O("git",t,{cwd:e,timeout:9e4})).stdout.trim()}async function F(e){try{return await _(e,["rev-parse","--is-inside-work-tree"]),!0}catch{return!1}}async function q(e,t){try{let t=await _(e,["symbolic-ref","--short","refs/remotes/origin/HEAD"]);if(t.startsWith("origin/"))return t.slice(7)}catch{}try{let t=await _(e,["symbolic-ref","--short","HEAD"]);if(t.length>0&&"HEAD"!==t)return t}catch{}return t}async function B(e){let t=!0;try{await _(e,["rev-parse","--verify","HEAD"])}catch{t=!1}t||(await _(e,["add","-A"]),await _(e,["-c","user.name=Conductor","-c","user.email=conductor@local","commit","--allow-empty","-m","chore: initialize workspace"]))}async function M(e,t){try{await _(e,["init","-b",t])}catch{await _(e,["init"]);try{await _(e,["checkout","-b",t])}catch{}}await B(e)}async function L(e){try{let t=await _(e,["remote","get-url","origin"]);return D(t)??t}catch{return null}}function W(e){let t=e.replace(/[-_]+/g," ").trim();return 0===t.length?e:t.replace(/\b\w/g,e=>e.toUpperCase())}function K(e){return(0,C.buildProjectConfigRecord)({projectId:e.projectId,displayName:W(e.projectId),path:e.path,repo:e.repo,defaultBranch:e.defaultBranch,agent:e.agent,sessionPrefix:e.sessionPrefix,workspace:e.useWorktree?"worktree":"local",runtime:"tmux",scm:e.repo.includes("/")?"github":null})}function z(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,A.generateSessionPrefix)((0,v.basename)($(r.path)));e&&t.add(e)}return t}(t),a=(0,A.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 G(e){var t;let r=await (0,R.readFile)(e.configPath,"utf8"),a=(0,E.parse)(r)??{},n=a&&"object"==typeof a&&!Array.isArray(a)?{...a}:{},i=!(t=n.projects)||"object"!=typeof t||Array.isArray(t)?{}:{...t};i[e.projectId]=e.projectData,n.projects=i,await (0,S.normalizeRootProjectPaths)(n);let o=(0,E.stringify)(n,{lineWidth:0});await (0,R.writeFile)(e.configPath,o,"utf8");try{(0,k.invalidateServicesCache)("workspace added"),await (0,k.getServices)()}catch(t){throw await (0,R.writeFile)(e.configPath,r,"utf8"),(0,k.invalidateServicesCache)("workspace add rollback"),t}}async function V(e){let t=(0,v.resolve)(e.path,"CONDUCTOR.md"),r=await (0,R.stat)(t).catch(()=>null);r?.isFile()||await (0,R.writeFile)(t,(0,C.buildConductorBoard)(e.projectId,e.displayName),"utf8")}async function X(){let e=await (0,P.guardApiAccess)();if(e)return e;try{let{config:e}=await (0,k.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 J(e){let t=await (0,P.guardApiAccess)();if(t)return t;let r=(0,P.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=T(a.mode);if("git"!==n&&"local"!==n)return y.NextResponse.json({error:"mode must be either 'git' or 'local'"},{status:400});let i=T(a.defaultBranch),o=i??"main",s=!1!==a.useWorktree,l=T(a.gitUrl),c=T(a.path),u=!0===a.initializeGit;try{let{config:e}=await (0,k.getServices)(),t=e.configPath;if(!t)return y.NextResponse.json({error:"Unable to resolve conductor config path"},{status:500});let r=T(a.agent)??e.defaults.agent,p=new Set(Object.keys(e.projects)),d=Object.values(e.projects).map(e=>e.path),f=new Set(d.map(e=>(0,v.basename)($(e))).filter(Boolean));if("git"===n){if(!l)return y.NextResponse.json({error:"gitUrl is required for mode=git"},{status:400});let n=H({providedId:T(a.projectId),gitUrl:l,path:c}),u=U(n,p),h=c?$(c):(0,v.resolve)(function(e){let t=new Map;for(let r of e){let e=$(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,x.homedir)(),".openclaw","workspace","projects")}(d),u),g=(0,v.basename)(h);if(f.has(g))return y.NextResponse.json({error:`A project already uses basename '${g}'. Choose a different folder name.`},{status:409});await (0,R.mkdir)((0,v.dirname)(h),{recursive:!0});let w=await (0,R.stat)(h).catch(()=>null);if(w){if(!w.isDirectory())return y.NextResponse.json({error:"Target path exists and is not a directory"},{status:409});if(!await F(h))return y.NextResponse.json({error:"Target path already exists and is not a git repository"},{status:409})}else await O("git",["clone",l,h],{timeout:12e4});let m=await q(h,o),j=i??m,b=D(l)??l,E=z(h,e.projects);await G({configPath:t,projectId:u,projectData:K({projectId:u,path:h,repo:b,defaultBranch:j,agent:r,sessionPrefix:E,useWorktree:s})}),await V({path:h,projectId:u,displayName:W(u)});{let{config:e,registry:t}=await (0,k.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:h,repo:b,defaultBranch:j,agent:r,workspace:s?"worktree":"local"}},{status:201})}if(!c)return y.NextResponse.json({error:"path is required for mode=local"},{status:400});let h=$(c),g=await (0,R.stat)(h).catch(()=>null);if(!g||!g.isDirectory())return y.NextResponse.json({error:"path must point to an existing directory"},{status:400});let w=(0,v.basename)(h);if(f.has(w))return y.NextResponse.json({error:`A project already uses basename '${w}'. Choose a different folder.`},{status:409});let m=await F(h);if(!m&&u&&(await M(h,o),m=!0),!m)return y.NextResponse.json({error:"Selected folder is not a git repository. Enable git initialization to use it as a workspace."},{status:400});let j=await q(h,o),b=i??j,E=H({providedId:T(a.projectId),gitUrl:null,path:h}),C=U(E,p),A=await L(h)??`local-${C}`,P=z(h,e.projects);await G({configPath:t,projectId:C,projectData:K({projectId:C,path:h,repo:A,defaultBranch:b,agent:r,sessionPrefix:P,useWorktree:s})}),await V({path:h,projectId:C,displayName:W(C)});{let{config:e,registry:t}=await (0,k.getServices)();await (0,S.syncProjectLocalConfig)(e,C),(0,N.syncWorkspaceSupportFiles)(e,{agentNames:t.list("agent").map(e=>e.name)})}return y.NextResponse.json({project:{id:C,path:h,repo:A,defaultBranch:b,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",()=>X,"POST",()=>J,"dynamic",0,"force-dynamic"],66596);var Z=e.i(66596);let Q=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:Z}),{workAsyncStorage:Y,workUnitAsyncStorage:ee,serverHooks:et}=Q;function er(){return(0,a.patchFetch)({workAsyncStorage:Y,workUnitAsyncStorage:ee})}async function ea(e,t,a){Q.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let y="/api/workspaces/route";y=y.replace(/\/index$/,"")||"/";let R=await Q.prepare(e,t,{srcPage:y,multiZoneDraftMode:!1});if(!R)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:v,params:x,nextConfig:j,parsedUrl:b,isDraftMode:E,prerenderManifest:C,routerServerContext:A,isOnDemandRevalidate:N,revalidateOnlyGenerated:k,resolvedPathname:P,clientReferenceManifest:S,serverActionsManifest:O}=R,T=(0,s.normalizeAppPath)(y),$=!!(C.dynamicRoutes[T]||C.routes[P]),I=async()=>((null==A?void 0:A.render404)?await A.render404(e,t,b,!1):t.end("This page could not be found"),null);if($&&!E){let e=!!C.routes[P],t=C.dynamicRoutes[T];if(t&&!1===t.fallback&&!e){if(j.experimental.adapterPath)return await I();throw new w.NoFallbackError}}let U=null;!$||Q.isDev||E||(U="/index"===(U=P)?"/":U);let D=!0===Q.isDev||!$,H=$&&!D;O&&S&&(0,o.setManifestsSingleton)({page:y,clientReferenceManifest:S,serverActionsManifest:O});let _=e.method||"GET",F=(0,i.getTracer)(),q=F.getActiveScopeSpan(),B={params:x,prerenderManifest:C,renderOpts:{experimental:{authInterrupts:!!j.experimental.authInterrupts},cacheComponents:!!j.cacheComponents,supportsDynamicResponse:D,incrementalCache:(0,n.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:j.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,n)=>Q.onRequestError(e,t,a,n,A)},sharedContext:{buildId:v}},M=new l.NodeNextRequest(e),L=new l.NodeNextResponse(t),W=c.NextRequestAdapter.fromNodeNextRequest(M,(0,c.signalFromNodeResponse)(t));try{let o=async e=>Q.handle(W,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")!==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=`${_} ${a}`;e.setAttributes({"next.route":a,"http.route":a,"next.span_name":t}),e.updateName(t)}else e.updateName(`${_} ${y}`)}),s=!!(0,n.getRequestMeta)(e,"minimalMode"),l=async n=>{var i,l;let c=async({previousCacheEntry:r})=>{try{if(!s&&N&&k&&!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=B.renderOpts.fetchMetrics;let l=B.renderOpts.pendingWaitUntil;l&&a.waitUntil&&(a.waitUntil(l),l=void 0);let c=B.renderOpts.collectedTags;if(!$)return await (0,d.sendResponse)(M,L,i,B.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!==B.renderOpts.collectedRevalidate&&!(B.renderOpts.collectedRevalidate>=g.INFINITE_CACHE)&&B.renderOpts.collectedRevalidate,a=void 0===B.renderOpts.collectedExpire||B.renderOpts.collectedExpire>=g.INFINITE_CACHE?void 0:B.renderOpts.collectedExpire;return{value:{kind:m.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 Q.onRequestError(e,t,{routerKind:"App Router",routePath:y,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:N})},!1,A),t}},u=await Q.handleResponse({req:e,nextConfig:j,cacheKey:U,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:C,isRoutePPREnabled:!1,isOnDemandRevalidate:N,revalidateOnlyGenerated:k,responseGenerator:c,waitUntil:a.waitUntil,isMinimalMode:s});if(!$)return null;if((null==u||null==(i=u.value)?void 0:i.kind)!==m.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"),E&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let w=(0,f.fromNodeOutgoingHttpHeaders)(u.value.headers);return s&&$||w.delete(g.NEXT_CACHE_TAGS_HEADER),!u.cacheControl||t.getHeader("Cache-Control")||w.get("Cache-Control")||w.set("Cache-Control",(0,h.getCacheControlHeader)(u.cacheControl)),await (0,d.sendResponse)(M,L,new Response(u.value.body,{headers:w,status:u.value.status||200})),null};q?await l(q):await F.withPropagatedContext(e.headers,()=>F.trace(u.BaseServerSpan.handleRequest,{spanName:`${_} ${y}`,kind:i.SpanKind.SERVER,attributes:{"http.method":_,"http.target":e.url}},l))}catch(t){if(t instanceof w.NoFallbackError||await Q.onRequestError(e,t,{routerKind:"App Router",routePath:T,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:N})},!1,A),$)throw t;return await (0,d.sendResponse)(M,L,new Response(null,{status:500})),null}}e.s(["handler",()=>ea,"patchFetch",()=>er,"routeModule",()=>Q,"serverHooks",()=>et,"workAsyncStorage",()=>Y,"workUnitAsyncStorage",()=>ee],18219)}];
2
2
 
3
3
  //# sourceMappingURL=1bc17_next_dist_esm_build_templates_app-route_34b04c2b.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[91642,e=>{"use strict";var t=e.i(56836),r=e.i(20229),a=e.i(26810),n=e.i(32807),i=e.i(26382),o=e.i(58028),s=e.i(44034),l=e.i(20964),c=e.i(38377),u=e.i(90712),p=e.i(32275),d=e.i(81377),f=e.i(98247),h=e.i(24857),y=e.i(68526),g=e.i(93695);e.i(37064);var m=e.i(25217),v=e.i(88490),w=e.i(12714),R=e.i(2157),S=e.i(74533),x=e.i(12057),C=e.i(50227),A=e.i(60526),E=e.i(24863),j=e.i(85523),N=e.i(48295),b=e.i(90075);let P=(0,x.promisify)(S.execFile);function k(e){if("string"!=typeof e)return null;let t=e.trim();return t.length>0?t:null}function T(e){return!e||"object"!=typeof e||Array.isArray(e)?{}:{...e}}function O(e){return e.startsWith("~/")?(0,C.resolve)((0,A.homedir)(),e.slice(2)):(0,C.resolve)(e)}function D(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 F(e){return D(e).join("\n")}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(",").map(e=>e.trim()).filter(e=>e.length>0):[]}async function U(e){if(!(0,R.existsSync)(e))return!1;try{return await P("git",["-C",e,"rev-parse","--is-inside-work-tree"],{timeout:2e4}),!0}catch{return!1}}async function _(e){let t=(0,C.dirname)(e),r=(0,C.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,C.join)(t,e.name)))if((0,C.basename)(e).toLowerCase()===r&&await U(e))return e}catch{}return null}async function H(e,t){let r=O(e);if(await U(r))return r;let a=(0,C.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,C.resolve)(a);t.has(e)||(t.add(e),r.push(e))}return r}([r,...a?[(0,C.dirname)(r)]:[],...n?[(0,C.join)((0,C.dirname)(r),n)]:[],...n?[(0,C.join)((0,A.homedir)(),".openclaw","projects",n)]:[],...n?[(0,C.join)((0,A.homedir)(),".conductor","projects",n)]:[],r.replace("/workspace/projects/","/projects/"),...n?[(0,C.join)((0,A.homedir)(),".openclaw","projects",n.toLowerCase())]:[]])){if(await U(e))return e;let t=await _(e);if(t)return t}return null}async function q(e,t){let r=k(t.path)??"",a=k(t.repo)??"",n=r?O(r):"",i=!!n&&(0,R.existsSync)(n),o=!!n&&await U(n),s=r?await H(r,a||null):null;return{id:e,displayName:k(t.name)??e,repo:a,path:r,agent:k(t.agent)??"claude-code",workspaceMode:k(t.workspace)??"worktree",runtimeMode:k(t.runtime)??"tmux",scmMode:k(t.scm)??"github",defaultWorkingDirectory:k(t.defaultWorkingDirectory)??"",defaultBranch:k(t.defaultBranch)??"main",devServerScript:k(T(t.devServer).command)??"",setupScript:F(t.setupScript??t.postCreate),runSetupInParallel:!0===t.runSetupInParallel,cleanupScript:F(t.cleanupScript),archiveScript:F(t.archiveScript),copyFiles:I(t.copyFiles).join(", "),pathHealth:{exists:i,isGitRepository:o,suggestedPath:s&&s!==n?s:null}}}async function M(){let e=await (0,N.guardApiAccess)();if(e)return e;try{let{config:e}=await (0,j.getServices)(),t=await Promise.all(Object.entries(e.projects).map(async([e,t])=>q(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 $(e){let t=await (0,N.guardApiAccess)();if(t)return t;let r=(0,N.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=k(a.id);if(!n)return v.NextResponse.json({error:"id is required"},{status:400});try{var i;let{config:e}=await (0,j.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,E.parse)(r)??{},s=o&&"object"==typeof o&&!Array.isArray(o)?{...o}:{},l=!(i=s.projects)||"object"!=typeof i||Array.isArray(i)?{}:{...i};if(!(n in l))return v.NextResponse.json({error:`Unknown repository id: ${n}`},{status:404});let c=T(l[n]),u={...c},p=k(a.displayName)??n,d=k(a.repo),f=k(a.path),h=k(a.agent)??k(c.agent)??"claude-code",y=k(a.defaultBranch)??"main",g=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}(k(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=O(f),u.agent=h,u.defaultBranch=y,g?u.defaultWorkingDirectory=g:delete u.defaultWorkingDirectory;let m=k(a.devServerScript);if(m){let e=T(u.devServer);u.devServer={...e,command:m}}else delete u.devServer;let R=D(a.setupScript);R.length>0?(u.setupScript=R,u.postCreate=R):(delete u.setupScript,delete u.postCreate),u.runSetupInParallel=!0===a.runSetupInParallel;let S=D(a.cleanupScript);S.length>0?u.cleanupScript=S:delete u.cleanupScript;let x=D(a.archiveScript);x.length>0?u.archiveScript=x:delete u.archiveScript;let C=I(a.copyFiles);C.length>0?u.copyFiles=C:delete u.copyFiles,l[n]=u,s.projects=l;let A=(0,E.stringify)(s,{lineWidth:0});await (0,w.writeFile)(t,A,"utf8");try{(0,j.invalidateServicesCache)("repository settings updated");let{config:e}=await (0,j.getServices)();await (0,b.syncProjectLocalConfig)(e,n)}catch(e){throw await (0,w.writeFile)(t,r,"utf8"),(0,j.invalidateServicesCache)("repository settings update rollback"),e}let N=await q(n,u);return v.NextResponse.json({repository:N})}catch(t){let e=t instanceof Error?t.message:"Failed to update repository";return v.NextResponse.json({error:e},{status:500})}}e.s(["GET",()=>M,"PUT",()=>$,"dynamic",0,"force-dynamic"],19150);var B=e.i(19150);let L=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:B}),{workAsyncStorage:W,workUnitAsyncStorage:K,serverHooks:G}=L;function V(){return(0,a.patchFetch)({workAsyncStorage:W,workUnitAsyncStorage:K})}async function X(e,t,a){L.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let v="/api/repositories/route";v=v.replace(/\/index$/,"")||"/";let w=await L.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:x,parsedUrl:C,isDraftMode:A,prerenderManifest:E,routerServerContext:j,isOnDemandRevalidate:N,revalidateOnlyGenerated:b,resolvedPathname:P,clientReferenceManifest:k,serverActionsManifest:T}=w,O=(0,s.normalizeAppPath)(v),D=!!(E.dynamicRoutes[O]||E.routes[P]),F=async()=>((null==j?void 0:j.render404)?await j.render404(e,t,C,!1):t.end("This page could not be found"),null);if(D&&!A){let e=!!E.routes[P],t=E.dynamicRoutes[O];if(t&&!1===t.fallback&&!e){if(x.experimental.adapterPath)return await F();throw new g.NoFallbackError}}let I=null;!D||L.isDev||A||(I="/index"===(I=P)?"/":I);let U=!0===L.isDev||!D,_=D&&!U;T&&k&&(0,o.setManifestsSingleton)({page:v,clientReferenceManifest:k,serverActionsManifest:T});let H=e.method||"GET",q=(0,i.getTracer)(),M=q.getActiveScopeSpan(),$={params:S,prerenderManifest:E,renderOpts:{experimental:{authInterrupts:!!x.experimental.authInterrupts},cacheComponents:!!x.cacheComponents,supportsDynamicResponse:U,incrementalCache:(0,n.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:x.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,n)=>L.onRequestError(e,t,a,n,j)},sharedContext:{buildId:R}},B=new l.NodeNextRequest(e),W=new l.NodeNextResponse(t),K=c.NextRequestAdapter.fromNodeNextRequest(B,(0,c.signalFromNodeResponse)(t));try{let o=async e=>L.handle(K,$).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")!==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&&b&&!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(!D)return await (0,d.sendResponse)(B,W,i,$.renderOpts.pendingWaitUntil),null;{let e=await i.blob(),t=(0,f.toNodeOutgoingHttpHeaders)(i.headers);c&&(t[y.NEXT_CACHE_TAGS_HEADER]=c),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==$.renderOpts.collectedRevalidate&&!($.renderOpts.collectedRevalidate>=y.INFINITE_CACHE)&&$.renderOpts.collectedRevalidate,a=void 0===$.renderOpts.collectedExpire||$.renderOpts.collectedExpire>=y.INFINITE_CACHE?void 0:$.renderOpts.collectedExpire;return{value:{kind:m.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 L.onRequestError(e,t,{routerKind:"App Router",routePath:v,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:_,isOnDemandRevalidate:N})},!1,j),t}},u=await L.handleResponse({req:e,nextConfig:x,cacheKey:I,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:E,isRoutePPREnabled:!1,isOnDemandRevalidate:N,revalidateOnlyGenerated:b,responseGenerator:c,waitUntil:a.waitUntil,isMinimalMode:s});if(!D)return null;if((null==u||null==(i=u.value)?void 0:i.kind)!==m.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"),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&&D||g.delete(y.NEXT_CACHE_TAGS_HEADER),!u.cacheControl||t.getHeader("Cache-Control")||g.get("Cache-Control")||g.set("Cache-Control",(0,h.getCacheControlHeader)(u.cacheControl)),await (0,d.sendResponse)(B,W,new Response(u.value.body,{headers:g,status:u.value.status||200})),null};M?await l(M):await q.withPropagatedContext(e.headers,()=>q.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 g.NoFallbackError||await L.onRequestError(e,t,{routerKind:"App Router",routePath:O,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:_,isOnDemandRevalidate:N})},!1,j),D)throw t;return await (0,d.sendResponse)(B,W,new Response(null,{status:500})),null}}e.s(["handler",()=>X,"patchFetch",()=>V,"routeModule",()=>L,"serverHooks",()=>G,"workAsyncStorage",()=>W,"workUnitAsyncStorage",()=>K],91642)}];
1
+ module.exports=[91642,e=>{"use strict";var t=e.i(56836),r=e.i(20229),a=e.i(26810),n=e.i(32807),i=e.i(26382),o=e.i(58028),s=e.i(44034),l=e.i(20964),c=e.i(38377),u=e.i(90712),p=e.i(32275),d=e.i(81377),f=e.i(98247),h=e.i(24857),g=e.i(68526),y=e.i(93695);e.i(37064);var m=e.i(25217),v=e.i(88490),w=e.i(12714),R=e.i(2157),S=e.i(74533),x=e.i(12057),C=e.i(50227),A=e.i(60526),E=e.i(24863);e.i(20435);var j=e.i(81425),N=e.i(85523),b=e.i(48295),P=e.i(90075);let k=(0,x.promisify)(S.execFile);function T(e){if("string"!=typeof e)return null;let t=e.trim();return t.length>0?t:null}function O(e){return!e||"object"!=typeof e||Array.isArray(e)?{}:{...e}}function F(e){return e.startsWith("~/")?(0,C.resolve)((0,A.homedir)(),e.slice(2)):(0,C.resolve)(e)}function D(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 I(e){return D(e).join("\n")}function U(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 _(e){if(!(0,R.existsSync)(e))return!1;try{return await k("git",["-C",e,"rev-parse","--is-inside-work-tree"],{timeout:2e4}),!0}catch{return!1}}async function H(e){let t=(0,C.dirname)(e),r=(0,C.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,C.join)(t,e.name)))if((0,C.basename)(e).toLowerCase()===r&&await _(e))return e}catch{}return null}async function q(e,t){let r=F(e);if(await _(r))return r;let a=(0,C.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,C.resolve)(a);t.has(e)||(t.add(e),r.push(e))}return r}([r,...a?[(0,C.dirname)(r)]:[],...n?[(0,C.join)((0,C.dirname)(r),n)]:[],...n?[(0,C.join)((0,A.homedir)(),".openclaw","projects",n)]:[],...n?[(0,C.join)((0,A.homedir)(),".conductor","projects",n)]:[],r.replace("/workspace/projects/","/projects/"),...n?[(0,C.join)((0,A.homedir)(),".openclaw","projects",n.toLowerCase())]:[]])){if(await _(e))return e;let t=await H(e);if(t)return t}return null}async function M(e,t){let r=T(t.path)??"",a=T(t.repo)??"",n=r?F(r):"",i=!!n&&(0,R.existsSync)(n),o=!!n&&await _(n),s=r?await q(r,a||null):null;return{id:e,displayName:T(t.name)??e,repo:a,path:r,agent:T(t.agent)??"claude-code",workspaceMode:T(t.workspace)??"worktree",runtimeMode:T(t.runtime)??"tmux",scmMode:T(t.scm)??"github",defaultWorkingDirectory:T(t.defaultWorkingDirectory)??"",defaultBranch:T(t.defaultBranch)??"main",devServerScript:T(O(t.devServer).command)??"",setupScript:I(t.setupScript??t.postCreate),runSetupInParallel:!0===t.runSetupInParallel,cleanupScript:I(t.cleanupScript),archiveScript:I(t.archiveScript),copyFiles:U(t.copyFiles).join(", "),pathHealth:{exists:i,isGitRepository:o,suggestedPath:s&&s!==n?s:null}}}async function $(){let e=await (0,b.guardApiAccess)();if(e)return e;try{let{config:e}=await (0,N.getServices)(),t=await Promise.all(Object.entries(e.projects).map(async([e,t])=>M(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 W(e){let t=await (0,b.guardApiAccess)();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=T(a.id);if(!n)return v.NextResponse.json({error:"id is required"},{status:400});try{var i;let{config:e}=await (0,N.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,E.parse)(r)??{},s=o&&"object"==typeof o&&!Array.isArray(o)?{...o}:{},l=!(i=s.projects)||"object"!=typeof i||Array.isArray(i)?{}:{...i};if(!(n in l))return v.NextResponse.json({error:`Unknown repository id: ${n}`},{status:404});let c=O(l[n]),u={...c},p=T(a.displayName)??n,d=T(a.repo),f=T(a.path),h=T(a.agent)??T(c.agent)??"claude-code",g=T(a.defaultBranch)??"main",y=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}(T(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=F(f),u.agent=h,u.defaultBranch=g,y?u.defaultWorkingDirectory=y:delete u.defaultWorkingDirectory;let m=T(a.devServerScript);if(m){let e=O(u.devServer);u.devServer={...e,command:m}}else delete u.devServer;let R=D(a.setupScript);R.length>0?(u.setupScript=R,u.postCreate=R):(delete u.setupScript,delete u.postCreate),u.runSetupInParallel=!0===a.runSetupInParallel;let S=D(a.cleanupScript);S.length>0?u.cleanupScript=S:delete u.cleanupScript;let x=D(a.archiveScript);x.length>0?u.archiveScript=x:delete u.archiveScript;let C=U(a.copyFiles);C.length>0?u.copyFiles=C:delete u.copyFiles,l[n]=u,s.projects=l,await (0,P.normalizeRootProjectPaths)(s);let A=(0,E.stringify)(s,{lineWidth:0});await (0,w.writeFile)(t,A,"utf8");try{(0,N.invalidateServicesCache)("repository settings updated");let{config:e,registry:t}=await (0,N.getServices)();await (0,P.syncProjectLocalConfig)(e,n),(0,j.syncWorkspaceSupportFiles)(e,{agentNames:t.list("agent").map(e=>e.name)})}catch(e){throw await (0,w.writeFile)(t,r,"utf8"),(0,N.invalidateServicesCache)("repository settings update rollback"),e}let b=await M(n,u);return v.NextResponse.json({repository:b})}catch(t){let e=t instanceof Error?t.message:"Failed to update repository";return v.NextResponse.json({error:e},{status:500})}}e.s(["GET",()=>$,"PUT",()=>W,"dynamic",0,"force-dynamic"],19150);var B=e.i(19150);let L=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:B}),{workAsyncStorage:K,workUnitAsyncStorage:G,serverHooks:V}=L;function X(){return(0,a.patchFetch)({workAsyncStorage:K,workUnitAsyncStorage:G})}async function z(e,t,a){L.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let v="/api/repositories/route";v=v.replace(/\/index$/,"")||"/";let w=await L.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:x,parsedUrl:C,isDraftMode:A,prerenderManifest:E,routerServerContext:j,isOnDemandRevalidate:N,revalidateOnlyGenerated:b,resolvedPathname:P,clientReferenceManifest:k,serverActionsManifest:T}=w,O=(0,s.normalizeAppPath)(v),F=!!(E.dynamicRoutes[O]||E.routes[P]),D=async()=>((null==j?void 0:j.render404)?await j.render404(e,t,C,!1):t.end("This page could not be found"),null);if(F&&!A){let e=!!E.routes[P],t=E.dynamicRoutes[O];if(t&&!1===t.fallback&&!e){if(x.experimental.adapterPath)return await D();throw new y.NoFallbackError}}let I=null;!F||L.isDev||A||(I="/index"===(I=P)?"/":I);let U=!0===L.isDev||!F,_=F&&!U;T&&k&&(0,o.setManifestsSingleton)({page:v,clientReferenceManifest:k,serverActionsManifest:T});let H=e.method||"GET",q=(0,i.getTracer)(),M=q.getActiveScopeSpan(),$={params:S,prerenderManifest:E,renderOpts:{experimental:{authInterrupts:!!x.experimental.authInterrupts},cacheComponents:!!x.cacheComponents,supportsDynamicResponse:U,incrementalCache:(0,n.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:x.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,n)=>L.onRequestError(e,t,a,n,j)},sharedContext:{buildId:R}},W=new l.NodeNextRequest(e),B=new l.NodeNextResponse(t),K=c.NextRequestAdapter.fromNodeNextRequest(W,(0,c.signalFromNodeResponse)(t));try{let o=async e=>L.handle(K,$).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")!==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&&b&&!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:m.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 L.onRequestError(e,t,{routerKind:"App Router",routePath:v,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:_,isOnDemandRevalidate:N})},!1,j),t}},u=await L.handleResponse({req:e,nextConfig:x,cacheKey:I,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:E,isRoutePPREnabled:!1,isOnDemandRevalidate:N,revalidateOnlyGenerated:b,responseGenerator:c,waitUntil:a.waitUntil,isMinimalMode:s});if(!F)return null;if((null==u||null==(i=u.value)?void 0:i.kind)!==m.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"),A&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let y=(0,f.fromNodeOutgoingHttpHeaders)(u.value.headers);return s&&F||y.delete(g.NEXT_CACHE_TAGS_HEADER),!u.cacheControl||t.getHeader("Cache-Control")||y.get("Cache-Control")||y.set("Cache-Control",(0,h.getCacheControlHeader)(u.cacheControl)),await (0,d.sendResponse)(W,B,new Response(u.value.body,{headers:y,status:u.value.status||200})),null};M?await l(M):await q.withPropagatedContext(e.headers,()=>q.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 y.NoFallbackError||await L.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",()=>z,"patchFetch",()=>X,"routeModule",()=>L,"serverHooks",()=>V,"workAsyncStorage",()=>K,"workUnitAsyncStorage",()=>G],91642)}];
2
2
 
3
3
  //# sourceMappingURL=1bc17_next_dist_esm_build_templates_app-route_b41c4976.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[66680,(e,t,n)=>{t.exports=e.x("node:crypto",()=>require("node:crypto"))},74533,(e,t,n)=>{t.exports=e.x("node:child_process",()=>require("node:child_process"))},12057,(e,t,n)=>{t.exports=e.x("node:util",()=>require("node:util"))},45629,e=>{"use strict";let t=new Set(["killed","terminated","done","cleanup","errored","merged"]),n=new Set(["exited"]),r=new Set(["merged"]);function i(e){return t.has(e.status)||null!==e.activity&&n.has(e.activity)}function s(e){return i(e)&&!r.has(e.status)}function o(e){return`'${e.replace(/'/g,"'\\''")}'`}function l(e){if(!e||"object"!=typeof e)return!1;let t=e.message?.toLowerCase()||"";return t.includes("issue")&&(t.includes("not found")||t.includes("does not exist"))||t.includes("no issue found")||t.includes("could not find issue")||t.includes("could not resolve to an issue")||t.includes("no issue with identifier")||t.includes("invalid issue format")}class u extends Error{sessionId;reason;constructor(e,t){super(`Session ${e} cannot be restored: ${t}`),this.sessionId=e,this.reason=t,this.name="SessionNotRestorableError"}}class a extends Error{path;detail;constructor(e,t){super(`Workspace missing at ${e}${t?`: ${t}`:""}`),this.path=e,this.detail=t,this.name="WorkspaceMissingError"}}e.s(["CI_STATUS",0,{PENDING:"pending",PASSING:"passing",FAILING:"failing",NONE:"none"},"DEFAULT_READY_THRESHOLD_MS",0,3e5,"NON_RESTORABLE_STATUSES",0,r,"PR_STATE",0,{OPEN:"open",MERGED:"merged",CLOSED:"closed"},"SESSION_STATUS",0,{SPAWNING:"spawning",WORKING:"working",PR_OPEN:"pr_open",CI_FAILED:"ci_failed",REVIEW_PENDING:"review_pending",CHANGES_REQUESTED:"changes_requested",APPROVED:"approved",MERGEABLE:"mergeable",MERGED:"merged",CLEANUP:"cleanup",NEEDS_INPUT:"needs_input",STUCK:"stuck",ERRORED:"errored",KILLED:"killed",DONE:"done",TERMINATED:"terminated"},"SessionNotRestorableError",()=>u,"TERMINAL_ACTIVITIES",0,n,"TERMINAL_STATUSES",0,t,"WorkspaceMissingError",()=>a,"isIssueNotFoundError",()=>l,"isRestorable",()=>s,"isTerminalSession",()=>i,"shellEscape",()=>o])},11048,e=>{"use strict";e.i(20435);var t=e.i(45629),n=e.i(74533),r=e.i(2157);let i=(0,e.i(12057).promisify)(n.execFile),s=["ccr"],o=function(){for(let e of[process.env.CCR_BIN,...s.flatMap(e=>[`/opt/homebrew/bin/${e}`,`/usr/local/bin/${e}`,`/usr/bin/${e}`,`/bin/${e}`])].filter(Boolean))if((0,r.existsSync)(e))return e;return s[0]??"ccr"}(),l=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"}();async function u(e,t=30){if("tmux"!==e.runtimeName||!e.id)return null;try{let{stdout:n}=await i(l,["capture-pane","-t",e.id,"-p","-l",String(t)],{timeout:5e3});return n}catch{return null}}function a(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 r=t.slice(-8).join("\n");return/\(y\)es.*\(n\)o/i.test(r)||/do you want|confirm|approve|proceed/i.test(r)?"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 i(l,["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:r}=await i("ps",["-eo","pid,tty,args"],{timeout:3e4}),s=new Set(n.map(e=>e.replace(/^\/dev\//,""))),o="ccr".replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),u=RegExp(`(?:^|/)${o}(?:\\s|$)`);for(let e of r.split("\n")){let t=e.trimStart().split(/\s+/);if(t.length<3||!s.has(t[1]??""))continue;let n=t.slice(2).join(" ");if(u.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 d={name:"ccr",slot:"agent",description:"Agent plugin: Claude Code Router",version:"0.2.3"};function p(){return{name:"ccr",processName:"ccr",promptDelivery:"inline",getLaunchCommand(e){let n=[o];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=>a(e),async getActivityState(e){let t=new Date;if(!e.runtimeHandle||!await c(e.runtimeHandle))return{state:"exited",timestamp:t};let n=await u(e.runtimeHandle);if(!n)return{state:"active",timestamp:t};let r=a(n);return{state:"idle"===r?"ready":r,timestamp:t}},isProcessRunning:async e=>null!==await c(e),async getSessionInfo(e){if(!e.runtimeHandle)return null;let t=await u(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:d,create:p},"manifest",0,d])}];
1
+ module.exports=[66680,(e,t,n)=>{t.exports=e.x("node:crypto",()=>require("node:crypto"))},74533,(e,t,n)=>{t.exports=e.x("node:child_process",()=>require("node:child_process"))},12057,(e,t,n)=>{t.exports=e.x("node:util",()=>require("node:util"))},45629,e=>{"use strict";let t=new Set(["killed","terminated","done","cleanup","errored","merged"]),n=new Set(["exited"]),r=new Set(["merged"]);function i(e){return t.has(e.status)||null!==e.activity&&n.has(e.activity)}function s(e){return i(e)&&!r.has(e.status)}function o(e){return`'${e.replace(/'/g,"'\\''")}'`}function l(e){if(!e||"object"!=typeof e)return!1;let t=e.message?.toLowerCase()||"";return t.includes("issue")&&(t.includes("not found")||t.includes("does not exist"))||t.includes("no issue found")||t.includes("could not find issue")||t.includes("could not resolve to an issue")||t.includes("no issue with identifier")||t.includes("invalid issue format")}class u extends Error{sessionId;reason;constructor(e,t){super(`Session ${e} cannot be restored: ${t}`),this.sessionId=e,this.reason=t,this.name="SessionNotRestorableError"}}class a extends Error{path;detail;constructor(e,t){super(`Workspace missing at ${e}${t?`: ${t}`:""}`),this.path=e,this.detail=t,this.name="WorkspaceMissingError"}}e.s(["CI_STATUS",0,{PENDING:"pending",PASSING:"passing",FAILING:"failing",NONE:"none"},"DEFAULT_READY_THRESHOLD_MS",0,3e5,"NON_RESTORABLE_STATUSES",0,r,"PR_STATE",0,{OPEN:"open",MERGED:"merged",CLOSED:"closed"},"SESSION_STATUS",0,{SPAWNING:"spawning",WORKING:"working",PR_OPEN:"pr_open",CI_FAILED:"ci_failed",REVIEW_PENDING:"review_pending",CHANGES_REQUESTED:"changes_requested",APPROVED:"approved",MERGEABLE:"mergeable",MERGED:"merged",CLEANUP:"cleanup",NEEDS_INPUT:"needs_input",STUCK:"stuck",ERRORED:"errored",KILLED:"killed",DONE:"done",TERMINATED:"terminated"},"SessionNotRestorableError",()=>u,"TERMINAL_ACTIVITIES",0,n,"TERMINAL_STATUSES",0,t,"WorkspaceMissingError",()=>a,"isIssueNotFoundError",()=>l,"isRestorable",()=>s,"isTerminalSession",()=>i,"shellEscape",()=>o])},11048,e=>{"use strict";e.i(20435);var t=e.i(45629),n=e.i(74533),r=e.i(2157);let i=(0,e.i(12057).promisify)(n.execFile),s=["ccr"],o=function(){for(let e of[process.env.CCR_BIN,...s.flatMap(e=>[`/opt/homebrew/bin/${e}`,`/usr/local/bin/${e}`,`/usr/bin/${e}`,`/bin/${e}`])].filter(Boolean))if((0,r.existsSync)(e))return e;return s[0]??"ccr"}(),l=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"}();async function u(e,t=30){if("tmux"!==e.runtimeName||!e.id)return null;try{let{stdout:n}=await i(l,["capture-pane","-t",e.id,"-p","-l",String(t)],{timeout:5e3});return n}catch{return null}}function a(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 r=t.slice(-8).join("\n");return/\(y\)es.*\(n\)o/i.test(r)||/do you want|confirm|approve|proceed/i.test(r)?"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 i(l,["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:r}=await i("ps",["-eo","pid,tty,args"],{timeout:3e4}),s=new Set(n.map(e=>e.replace(/^\/dev\//,""))),o="ccr".replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),u=RegExp(`(?:^|/)${o}(?:\\s|$)`);for(let e of r.split("\n")){let t=e.trimStart().split(/\s+/);if(t.length<3||!s.has(t[1]??""))continue;let n=t.slice(2).join(" ");if(u.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 d={name:"ccr",slot:"agent",description:"Agent plugin: Claude Code Router",version:"0.2.5"};function p(){return{name:"ccr",processName:"ccr",promptDelivery:"inline",getLaunchCommand(e){let n=[o];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=>a(e),async getActivityState(e){let t=new Date;if(!e.runtimeHandle||!await c(e.runtimeHandle))return{state:"exited",timestamp:t};let n=await u(e.runtimeHandle);if(!n)return{state:"active",timestamp:t};let r=a(n);return{state:"idle"===r?"ready":r,timestamp:t}},isProcessRunning:async e=>null!==await c(e),async getSessionInfo(e){if(!e.runtimeHandle)return null;let t=await u(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:d,create:p},"manifest",0,d])}];
2
2
 
3
3
  //# sourceMappingURL=%5Broot-of-the-server%5D__005aa909._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[74533,(e,t,n)=>{t.exports=e.x("node:child_process",()=>require("node:child_process"))},12057,(e,t,n)=>{t.exports=e.x("node:util",()=>require("node:util"))},45629,e=>{"use strict";let t=new Set(["killed","terminated","done","cleanup","errored","merged"]),n=new Set(["exited"]),i=new Set(["merged"]);function r(e){return t.has(e.status)||null!==e.activity&&n.has(e.activity)}function s(e){return r(e)&&!i.has(e.status)}function o(e){return`'${e.replace(/'/g,"'\\''")}'`}function l(e){if(!e||"object"!=typeof e)return!1;let t=e.message?.toLowerCase()||"";return t.includes("issue")&&(t.includes("not found")||t.includes("does not exist"))||t.includes("no issue found")||t.includes("could not find issue")||t.includes("could not resolve to an issue")||t.includes("no issue with identifier")||t.includes("invalid issue format")}class u extends Error{sessionId;reason;constructor(e,t){super(`Session ${e} cannot be restored: ${t}`),this.sessionId=e,this.reason=t,this.name="SessionNotRestorableError"}}class a extends Error{path;detail;constructor(e,t){super(`Workspace missing at ${e}${t?`: ${t}`:""}`),this.path=e,this.detail=t,this.name="WorkspaceMissingError"}}e.s(["CI_STATUS",0,{PENDING:"pending",PASSING:"passing",FAILING:"failing",NONE:"none"},"DEFAULT_READY_THRESHOLD_MS",0,3e5,"NON_RESTORABLE_STATUSES",0,i,"PR_STATE",0,{OPEN:"open",MERGED:"merged",CLOSED:"closed"},"SESSION_STATUS",0,{SPAWNING:"spawning",WORKING:"working",PR_OPEN:"pr_open",CI_FAILED:"ci_failed",REVIEW_PENDING:"review_pending",CHANGES_REQUESTED:"changes_requested",APPROVED:"approved",MERGEABLE:"mergeable",MERGED:"merged",CLEANUP:"cleanup",NEEDS_INPUT:"needs_input",STUCK:"stuck",ERRORED:"errored",KILLED:"killed",DONE:"done",TERMINATED:"terminated"},"SessionNotRestorableError",()=>u,"TERMINAL_ACTIVITIES",0,n,"TERMINAL_STATUSES",0,t,"WorkspaceMissingError",()=>a,"isIssueNotFoundError",()=>l,"isRestorable",()=>s,"isTerminalSession",()=>r,"shellEscape",()=>o])},86010,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),s=["droid"],o=function(){for(let e of[process.env.DROID_BIN,...s.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 s[0]??"droid"}(),l=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 u(e,t=30){if("tmux"!==e.runtimeName||!e.id)return null;try{let{stdout:n}=await r(l,["capture-pane","-t",e.id,"-p","-l",String(t)],{timeout:5e3});return n}catch{return null}}function a(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 d(e){try{if("tmux"===e.runtimeName&&e.id){let{stdout:t}=await r(l,["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}),s=new Set(n.map(e=>e.replace(/^\/dev\//,""))),o="droid".replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),u=RegExp(`(?:^|/)${o}(?:\\s|$)`);for(let e of i.split("\n")){let t=e.trimStart().split(/\s+/);if(t.length<3||!s.has(t[1]??""))continue;let n=t.slice(2).join(" ");if(u.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 c={name:"droid",slot:"agent",description:"Agent plugin: Factory Droid CLI",version:"0.2.3"};function p(){return{name:"droid",processName:"droid",promptDelivery:"inline",getLaunchCommand(e){let n=[o];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=>a(e),async getActivityState(e){let t=new Date;if(!e.runtimeHandle||!await d(e.runtimeHandle))return{state:"exited",timestamp:t};let n=await u(e.runtimeHandle);if(!n)return{state:"active",timestamp:t};let i=a(n);return{state:"idle"===i?"ready":i,timestamp:t}},isProcessRunning:async e=>null!==await d(e),async getSessionInfo(e){if(!e.runtimeHandle)return null;let t=await u(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:c,create:p},"manifest",0,c])}];
1
+ module.exports=[74533,(e,t,n)=>{t.exports=e.x("node:child_process",()=>require("node:child_process"))},12057,(e,t,n)=>{t.exports=e.x("node:util",()=>require("node:util"))},45629,e=>{"use strict";let t=new Set(["killed","terminated","done","cleanup","errored","merged"]),n=new Set(["exited"]),i=new Set(["merged"]);function r(e){return t.has(e.status)||null!==e.activity&&n.has(e.activity)}function s(e){return r(e)&&!i.has(e.status)}function o(e){return`'${e.replace(/'/g,"'\\''")}'`}function l(e){if(!e||"object"!=typeof e)return!1;let t=e.message?.toLowerCase()||"";return t.includes("issue")&&(t.includes("not found")||t.includes("does not exist"))||t.includes("no issue found")||t.includes("could not find issue")||t.includes("could not resolve to an issue")||t.includes("no issue with identifier")||t.includes("invalid issue format")}class u extends Error{sessionId;reason;constructor(e,t){super(`Session ${e} cannot be restored: ${t}`),this.sessionId=e,this.reason=t,this.name="SessionNotRestorableError"}}class a extends Error{path;detail;constructor(e,t){super(`Workspace missing at ${e}${t?`: ${t}`:""}`),this.path=e,this.detail=t,this.name="WorkspaceMissingError"}}e.s(["CI_STATUS",0,{PENDING:"pending",PASSING:"passing",FAILING:"failing",NONE:"none"},"DEFAULT_READY_THRESHOLD_MS",0,3e5,"NON_RESTORABLE_STATUSES",0,i,"PR_STATE",0,{OPEN:"open",MERGED:"merged",CLOSED:"closed"},"SESSION_STATUS",0,{SPAWNING:"spawning",WORKING:"working",PR_OPEN:"pr_open",CI_FAILED:"ci_failed",REVIEW_PENDING:"review_pending",CHANGES_REQUESTED:"changes_requested",APPROVED:"approved",MERGEABLE:"mergeable",MERGED:"merged",CLEANUP:"cleanup",NEEDS_INPUT:"needs_input",STUCK:"stuck",ERRORED:"errored",KILLED:"killed",DONE:"done",TERMINATED:"terminated"},"SessionNotRestorableError",()=>u,"TERMINAL_ACTIVITIES",0,n,"TERMINAL_STATUSES",0,t,"WorkspaceMissingError",()=>a,"isIssueNotFoundError",()=>l,"isRestorable",()=>s,"isTerminalSession",()=>r,"shellEscape",()=>o])},86010,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),s=["droid"],o=function(){for(let e of[process.env.DROID_BIN,...s.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 s[0]??"droid"}(),l=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 u(e,t=30){if("tmux"!==e.runtimeName||!e.id)return null;try{let{stdout:n}=await r(l,["capture-pane","-t",e.id,"-p","-l",String(t)],{timeout:5e3});return n}catch{return null}}function a(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 d(e){try{if("tmux"===e.runtimeName&&e.id){let{stdout:t}=await r(l,["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}),s=new Set(n.map(e=>e.replace(/^\/dev\//,""))),o="droid".replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),u=RegExp(`(?:^|/)${o}(?:\\s|$)`);for(let e of i.split("\n")){let t=e.trimStart().split(/\s+/);if(t.length<3||!s.has(t[1]??""))continue;let n=t.slice(2).join(" ");if(u.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 c={name:"droid",slot:"agent",description:"Agent plugin: Factory Droid CLI",version:"0.2.5"};function p(){return{name:"droid",processName:"droid",promptDelivery:"inline",getLaunchCommand(e){let n=[o];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=>a(e),async getActivityState(e){let t=new Date;if(!e.runtimeHandle||!await d(e.runtimeHandle))return{state:"exited",timestamp:t};let n=await u(e.runtimeHandle);if(!n)return{state:"active",timestamp:t};let i=a(n);return{state:"idle"===i?"ready":i,timestamp:t}},isProcessRunning:async e=>null!==await d(e),async getSessionInfo(e){if(!e.runtimeHandle)return null;let t=await u(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:c,create:p},"manifest",0,c])}];
2
2
 
3
3
  //# sourceMappingURL=%5Broot-of-the-server%5D__03ff76ee._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[74533,(e,t,n)=>{t.exports=e.x("node:child_process",()=>require("node:child_process"))},12057,(e,t,n)=>{t.exports=e.x("node:util",()=>require("node:util"))},66680,(e,t,n)=>{t.exports=e.x("node:crypto",()=>require("node:crypto"))},12714,(e,t,n)=>{t.exports=e.x("node:fs/promises",()=>require("node:fs/promises"))},45629,e=>{"use strict";let t=new Set(["killed","terminated","done","cleanup","errored","merged"]),n=new Set(["exited"]),r=new Set(["merged"]);function i(e){return t.has(e.status)||null!==e.activity&&n.has(e.activity)}function s(e){return i(e)&&!r.has(e.status)}function o(e){return`'${e.replace(/'/g,"'\\''")}'`}function l(e){if(!e||"object"!=typeof e)return!1;let t=e.message?.toLowerCase()||"";return t.includes("issue")&&(t.includes("not found")||t.includes("does not exist"))||t.includes("no issue found")||t.includes("could not find issue")||t.includes("could not resolve to an issue")||t.includes("no issue with identifier")||t.includes("invalid issue format")}class u extends Error{sessionId;reason;constructor(e,t){super(`Session ${e} cannot be restored: ${t}`),this.sessionId=e,this.reason=t,this.name="SessionNotRestorableError"}}class a extends Error{path;detail;constructor(e,t){super(`Workspace missing at ${e}${t?`: ${t}`:""}`),this.path=e,this.detail=t,this.name="WorkspaceMissingError"}}e.s(["CI_STATUS",0,{PENDING:"pending",PASSING:"passing",FAILING:"failing",NONE:"none"},"DEFAULT_READY_THRESHOLD_MS",0,3e5,"NON_RESTORABLE_STATUSES",0,r,"PR_STATE",0,{OPEN:"open",MERGED:"merged",CLOSED:"closed"},"SESSION_STATUS",0,{SPAWNING:"spawning",WORKING:"working",PR_OPEN:"pr_open",CI_FAILED:"ci_failed",REVIEW_PENDING:"review_pending",CHANGES_REQUESTED:"changes_requested",APPROVED:"approved",MERGEABLE:"mergeable",MERGED:"merged",CLEANUP:"cleanup",NEEDS_INPUT:"needs_input",STUCK:"stuck",ERRORED:"errored",KILLED:"killed",DONE:"done",TERMINATED:"terminated"},"SessionNotRestorableError",()=>u,"TERMINAL_ACTIVITIES",0,n,"TERMINAL_STATUSES",0,t,"WorkspaceMissingError",()=>a,"isIssueNotFoundError",()=>l,"isRestorable",()=>s,"isTerminalSession",()=>i,"shellEscape",()=>o])},86010,e=>{"use strict";e.i(20435);var t=e.i(45629),n=e.i(74533),r=e.i(2157);let i=(0,e.i(12057).promisify)(n.execFile),s=["droid"],o=function(){for(let e of[process.env.DROID_BIN,...s.flatMap(e=>[`/opt/homebrew/bin/${e}`,`/usr/local/bin/${e}`,`/usr/bin/${e}`,`/bin/${e}`])].filter(Boolean))if((0,r.existsSync)(e))return e;return s[0]??"droid"}(),l=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"}();async function u(e,t=30){if("tmux"!==e.runtimeName||!e.id)return null;try{let{stdout:n}=await i(l,["capture-pane","-t",e.id,"-p","-l",String(t)],{timeout:5e3});return n}catch{return null}}function a(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 r=t.slice(-8).join("\n");return/\(y\)es.*\(n\)o/i.test(r)||/do you want|confirm|approve|proceed/i.test(r)?"waiting_input":/^(done|complete|finished|exiting)/i.test(n)?"idle":"active"}async function d(e){try{if("tmux"===e.runtimeName&&e.id){let{stdout:t}=await i(l,["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:r}=await i("ps",["-eo","pid,tty,args"],{timeout:3e4}),s=new Set(n.map(e=>e.replace(/^\/dev\//,""))),o="droid".replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),u=RegExp(`(?:^|/)${o}(?:\\s|$)`);for(let e of r.split("\n")){let t=e.trimStart().split(/\s+/);if(t.length<3||!s.has(t[1]??""))continue;let n=t.slice(2).join(" ");if(u.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 c={name:"droid",slot:"agent",description:"Agent plugin: Factory Droid CLI",version:"0.2.3"};function p(){return{name:"droid",processName:"droid",promptDelivery:"inline",getLaunchCommand(e){let n=[o];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=>a(e),async getActivityState(e){let t=new Date;if(!e.runtimeHandle||!await d(e.runtimeHandle))return{state:"exited",timestamp:t};let n=await u(e.runtimeHandle);if(!n)return{state:"active",timestamp:t};let r=a(n);return{state:"idle"===r?"ready":r,timestamp:t}},isProcessRunning:async e=>null!==await d(e),async getSessionInfo(e){if(!e.runtimeHandle)return null;let t=await u(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:c,create:p},"manifest",0,c])}];
1
+ module.exports=[74533,(e,t,n)=>{t.exports=e.x("node:child_process",()=>require("node:child_process"))},12057,(e,t,n)=>{t.exports=e.x("node:util",()=>require("node:util"))},66680,(e,t,n)=>{t.exports=e.x("node:crypto",()=>require("node:crypto"))},12714,(e,t,n)=>{t.exports=e.x("node:fs/promises",()=>require("node:fs/promises"))},45629,e=>{"use strict";let t=new Set(["killed","terminated","done","cleanup","errored","merged"]),n=new Set(["exited"]),r=new Set(["merged"]);function i(e){return t.has(e.status)||null!==e.activity&&n.has(e.activity)}function s(e){return i(e)&&!r.has(e.status)}function o(e){return`'${e.replace(/'/g,"'\\''")}'`}function l(e){if(!e||"object"!=typeof e)return!1;let t=e.message?.toLowerCase()||"";return t.includes("issue")&&(t.includes("not found")||t.includes("does not exist"))||t.includes("no issue found")||t.includes("could not find issue")||t.includes("could not resolve to an issue")||t.includes("no issue with identifier")||t.includes("invalid issue format")}class u extends Error{sessionId;reason;constructor(e,t){super(`Session ${e} cannot be restored: ${t}`),this.sessionId=e,this.reason=t,this.name="SessionNotRestorableError"}}class a extends Error{path;detail;constructor(e,t){super(`Workspace missing at ${e}${t?`: ${t}`:""}`),this.path=e,this.detail=t,this.name="WorkspaceMissingError"}}e.s(["CI_STATUS",0,{PENDING:"pending",PASSING:"passing",FAILING:"failing",NONE:"none"},"DEFAULT_READY_THRESHOLD_MS",0,3e5,"NON_RESTORABLE_STATUSES",0,r,"PR_STATE",0,{OPEN:"open",MERGED:"merged",CLOSED:"closed"},"SESSION_STATUS",0,{SPAWNING:"spawning",WORKING:"working",PR_OPEN:"pr_open",CI_FAILED:"ci_failed",REVIEW_PENDING:"review_pending",CHANGES_REQUESTED:"changes_requested",APPROVED:"approved",MERGEABLE:"mergeable",MERGED:"merged",CLEANUP:"cleanup",NEEDS_INPUT:"needs_input",STUCK:"stuck",ERRORED:"errored",KILLED:"killed",DONE:"done",TERMINATED:"terminated"},"SessionNotRestorableError",()=>u,"TERMINAL_ACTIVITIES",0,n,"TERMINAL_STATUSES",0,t,"WorkspaceMissingError",()=>a,"isIssueNotFoundError",()=>l,"isRestorable",()=>s,"isTerminalSession",()=>i,"shellEscape",()=>o])},86010,e=>{"use strict";e.i(20435);var t=e.i(45629),n=e.i(74533),r=e.i(2157);let i=(0,e.i(12057).promisify)(n.execFile),s=["droid"],o=function(){for(let e of[process.env.DROID_BIN,...s.flatMap(e=>[`/opt/homebrew/bin/${e}`,`/usr/local/bin/${e}`,`/usr/bin/${e}`,`/bin/${e}`])].filter(Boolean))if((0,r.existsSync)(e))return e;return s[0]??"droid"}(),l=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"}();async function u(e,t=30){if("tmux"!==e.runtimeName||!e.id)return null;try{let{stdout:n}=await i(l,["capture-pane","-t",e.id,"-p","-l",String(t)],{timeout:5e3});return n}catch{return null}}function a(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 r=t.slice(-8).join("\n");return/\(y\)es.*\(n\)o/i.test(r)||/do you want|confirm|approve|proceed/i.test(r)?"waiting_input":/^(done|complete|finished|exiting)/i.test(n)?"idle":"active"}async function d(e){try{if("tmux"===e.runtimeName&&e.id){let{stdout:t}=await i(l,["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:r}=await i("ps",["-eo","pid,tty,args"],{timeout:3e4}),s=new Set(n.map(e=>e.replace(/^\/dev\//,""))),o="droid".replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),u=RegExp(`(?:^|/)${o}(?:\\s|$)`);for(let e of r.split("\n")){let t=e.trimStart().split(/\s+/);if(t.length<3||!s.has(t[1]??""))continue;let n=t.slice(2).join(" ");if(u.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 c={name:"droid",slot:"agent",description:"Agent plugin: Factory Droid CLI",version:"0.2.5"};function p(){return{name:"droid",processName:"droid",promptDelivery:"inline",getLaunchCommand(e){let n=[o];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=>a(e),async getActivityState(e){let t=new Date;if(!e.runtimeHandle||!await d(e.runtimeHandle))return{state:"exited",timestamp:t};let n=await u(e.runtimeHandle);if(!n)return{state:"active",timestamp:t};let r=a(n);return{state:"idle"===r?"ready":r,timestamp:t}},isProcessRunning:async e=>null!==await d(e),async getSessionInfo(e){if(!e.runtimeHandle)return null;let t=await u(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:c,create:p},"manifest",0,c])}];
2
2
 
3
3
  //# sourceMappingURL=%5Broot-of-the-server%5D__07ec6d5c._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[66680,(e,t,n)=>{t.exports=e.x("node:crypto",()=>require("node:crypto"))},74533,(e,t,n)=>{t.exports=e.x("node:child_process",()=>require("node:child_process"))},12057,(e,t,n)=>{t.exports=e.x("node:util",()=>require("node:util"))},45629,e=>{"use strict";let t=new Set(["killed","terminated","done","cleanup","errored","merged"]),n=new Set(["exited"]),i=new Set(["merged"]);function r(e){return t.has(e.status)||null!==e.activity&&n.has(e.activity)}function s(e){return r(e)&&!i.has(e.status)}function o(e){return`'${e.replace(/'/g,"'\\''")}'`}function l(e){if(!e||"object"!=typeof e)return!1;let t=e.message?.toLowerCase()||"";return t.includes("issue")&&(t.includes("not found")||t.includes("does not exist"))||t.includes("no issue found")||t.includes("could not find issue")||t.includes("could not resolve to an issue")||t.includes("no issue with identifier")||t.includes("invalid issue format")}class u extends Error{sessionId;reason;constructor(e,t){super(`Session ${e} cannot be restored: ${t}`),this.sessionId=e,this.reason=t,this.name="SessionNotRestorableError"}}class a extends Error{path;detail;constructor(e,t){super(`Workspace missing at ${e}${t?`: ${t}`:""}`),this.path=e,this.detail=t,this.name="WorkspaceMissingError"}}e.s(["CI_STATUS",0,{PENDING:"pending",PASSING:"passing",FAILING:"failing",NONE:"none"},"DEFAULT_READY_THRESHOLD_MS",0,3e5,"NON_RESTORABLE_STATUSES",0,i,"PR_STATE",0,{OPEN:"open",MERGED:"merged",CLOSED:"closed"},"SESSION_STATUS",0,{SPAWNING:"spawning",WORKING:"working",PR_OPEN:"pr_open",CI_FAILED:"ci_failed",REVIEW_PENDING:"review_pending",CHANGES_REQUESTED:"changes_requested",APPROVED:"approved",MERGEABLE:"mergeable",MERGED:"merged",CLEANUP:"cleanup",NEEDS_INPUT:"needs_input",STUCK:"stuck",ERRORED:"errored",KILLED:"killed",DONE:"done",TERMINATED:"terminated"},"SessionNotRestorableError",()=>u,"TERMINAL_ACTIVITIES",0,n,"TERMINAL_STATUSES",0,t,"WorkspaceMissingError",()=>a,"isIssueNotFoundError",()=>l,"isRestorable",()=>s,"isTerminalSession",()=>r,"shellEscape",()=>o])},86010,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),s=["droid"],o=function(){for(let e of[process.env.DROID_BIN,...s.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 s[0]??"droid"}(),l=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 u(e,t=30){if("tmux"!==e.runtimeName||!e.id)return null;try{let{stdout:n}=await r(l,["capture-pane","-t",e.id,"-p","-l",String(t)],{timeout:5e3});return n}catch{return null}}function a(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 d(e){try{if("tmux"===e.runtimeName&&e.id){let{stdout:t}=await r(l,["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}),s=new Set(n.map(e=>e.replace(/^\/dev\//,""))),o="droid".replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),u=RegExp(`(?:^|/)${o}(?:\\s|$)`);for(let e of i.split("\n")){let t=e.trimStart().split(/\s+/);if(t.length<3||!s.has(t[1]??""))continue;let n=t.slice(2).join(" ");if(u.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 c={name:"droid",slot:"agent",description:"Agent plugin: Factory Droid CLI",version:"0.2.3"};function p(){return{name:"droid",processName:"droid",promptDelivery:"inline",getLaunchCommand(e){let n=[o];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=>a(e),async getActivityState(e){let t=new Date;if(!e.runtimeHandle||!await d(e.runtimeHandle))return{state:"exited",timestamp:t};let n=await u(e.runtimeHandle);if(!n)return{state:"active",timestamp:t};let i=a(n);return{state:"idle"===i?"ready":i,timestamp:t}},isProcessRunning:async e=>null!==await d(e),async getSessionInfo(e){if(!e.runtimeHandle)return null;let t=await u(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:c,create:p},"manifest",0,c])}];
1
+ module.exports=[66680,(e,t,n)=>{t.exports=e.x("node:crypto",()=>require("node:crypto"))},74533,(e,t,n)=>{t.exports=e.x("node:child_process",()=>require("node:child_process"))},12057,(e,t,n)=>{t.exports=e.x("node:util",()=>require("node:util"))},45629,e=>{"use strict";let t=new Set(["killed","terminated","done","cleanup","errored","merged"]),n=new Set(["exited"]),i=new Set(["merged"]);function r(e){return t.has(e.status)||null!==e.activity&&n.has(e.activity)}function s(e){return r(e)&&!i.has(e.status)}function o(e){return`'${e.replace(/'/g,"'\\''")}'`}function l(e){if(!e||"object"!=typeof e)return!1;let t=e.message?.toLowerCase()||"";return t.includes("issue")&&(t.includes("not found")||t.includes("does not exist"))||t.includes("no issue found")||t.includes("could not find issue")||t.includes("could not resolve to an issue")||t.includes("no issue with identifier")||t.includes("invalid issue format")}class u extends Error{sessionId;reason;constructor(e,t){super(`Session ${e} cannot be restored: ${t}`),this.sessionId=e,this.reason=t,this.name="SessionNotRestorableError"}}class a extends Error{path;detail;constructor(e,t){super(`Workspace missing at ${e}${t?`: ${t}`:""}`),this.path=e,this.detail=t,this.name="WorkspaceMissingError"}}e.s(["CI_STATUS",0,{PENDING:"pending",PASSING:"passing",FAILING:"failing",NONE:"none"},"DEFAULT_READY_THRESHOLD_MS",0,3e5,"NON_RESTORABLE_STATUSES",0,i,"PR_STATE",0,{OPEN:"open",MERGED:"merged",CLOSED:"closed"},"SESSION_STATUS",0,{SPAWNING:"spawning",WORKING:"working",PR_OPEN:"pr_open",CI_FAILED:"ci_failed",REVIEW_PENDING:"review_pending",CHANGES_REQUESTED:"changes_requested",APPROVED:"approved",MERGEABLE:"mergeable",MERGED:"merged",CLEANUP:"cleanup",NEEDS_INPUT:"needs_input",STUCK:"stuck",ERRORED:"errored",KILLED:"killed",DONE:"done",TERMINATED:"terminated"},"SessionNotRestorableError",()=>u,"TERMINAL_ACTIVITIES",0,n,"TERMINAL_STATUSES",0,t,"WorkspaceMissingError",()=>a,"isIssueNotFoundError",()=>l,"isRestorable",()=>s,"isTerminalSession",()=>r,"shellEscape",()=>o])},86010,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),s=["droid"],o=function(){for(let e of[process.env.DROID_BIN,...s.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 s[0]??"droid"}(),l=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 u(e,t=30){if("tmux"!==e.runtimeName||!e.id)return null;try{let{stdout:n}=await r(l,["capture-pane","-t",e.id,"-p","-l",String(t)],{timeout:5e3});return n}catch{return null}}function a(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 d(e){try{if("tmux"===e.runtimeName&&e.id){let{stdout:t}=await r(l,["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}),s=new Set(n.map(e=>e.replace(/^\/dev\//,""))),o="droid".replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),u=RegExp(`(?:^|/)${o}(?:\\s|$)`);for(let e of i.split("\n")){let t=e.trimStart().split(/\s+/);if(t.length<3||!s.has(t[1]??""))continue;let n=t.slice(2).join(" ");if(u.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 c={name:"droid",slot:"agent",description:"Agent plugin: Factory Droid CLI",version:"0.2.5"};function p(){return{name:"droid",processName:"droid",promptDelivery:"inline",getLaunchCommand(e){let n=[o];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=>a(e),async getActivityState(e){let t=new Date;if(!e.runtimeHandle||!await d(e.runtimeHandle))return{state:"exited",timestamp:t};let n=await u(e.runtimeHandle);if(!n)return{state:"active",timestamp:t};let i=a(n);return{state:"idle"===i?"ready":i,timestamp:t}},isProcessRunning:async e=>null!==await d(e),async getSessionInfo(e){if(!e.runtimeHandle)return null;let t=await u(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:c,create:p},"manifest",0,c])}];
2
2
 
3
3
  //# sourceMappingURL=%5Broot-of-the-server%5D__0a0f0f01._.js.map
@@ -1,4 +1,4 @@
1
- module.exports=[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"))},66680,(e,t,a)=>{t.exports=e.x("node:crypto",()=>require("node:crypto"))},12714,(e,t,a)=>{t.exports=e.x("node:fs/promises",()=>require("node:fs/promises"))},45629,e=>{"use strict";let t=new Set(["killed","terminated","done","cleanup","errored","merged"]),a=new Set(["exited"]),r=new Set(["merged"]);function n(e){return t.has(e.status)||null!==e.activity&&a.has(e.activity)}function i(e){return n(e)&&!r.has(e.status)}function s(e){return`'${e.replace(/'/g,"'\\''")}'`}function o(e){if(!e||"object"!=typeof e)return!1;let t=e.message?.toLowerCase()||"";return t.includes("issue")&&(t.includes("not found")||t.includes("does not exist"))||t.includes("no issue found")||t.includes("could not find issue")||t.includes("could not resolve to an issue")||t.includes("no issue with identifier")||t.includes("invalid issue format")}class l extends Error{sessionId;reason;constructor(e,t){super(`Session ${e} cannot be restored: ${t}`),this.sessionId=e,this.reason=t,this.name="SessionNotRestorableError"}}class u extends Error{path;detail;constructor(e,t){super(`Workspace missing at ${e}${t?`: ${t}`:""}`),this.path=e,this.detail=t,this.name="WorkspaceMissingError"}}e.s(["CI_STATUS",0,{PENDING:"pending",PASSING:"passing",FAILING:"failing",NONE:"none"},"DEFAULT_READY_THRESHOLD_MS",0,3e5,"NON_RESTORABLE_STATUSES",0,r,"PR_STATE",0,{OPEN:"open",MERGED:"merged",CLOSED:"closed"},"SESSION_STATUS",0,{SPAWNING:"spawning",WORKING:"working",PR_OPEN:"pr_open",CI_FAILED:"ci_failed",REVIEW_PENDING:"review_pending",CHANGES_REQUESTED:"changes_requested",APPROVED:"approved",MERGEABLE:"mergeable",MERGED:"merged",CLEANUP:"cleanup",NEEDS_INPUT:"needs_input",STUCK:"stuck",ERRORED:"errored",KILLED:"killed",DONE:"done",TERMINATED:"terminated"},"SessionNotRestorableError",()=>l,"TERMINAL_ACTIVITIES",0,a,"TERMINAL_STATUSES",0,t,"WorkspaceMissingError",()=>u,"isIssueNotFoundError",()=>o,"isRestorable",()=>i,"isTerminalSession",()=>n,"shellEscape",()=>s])},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 d=(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"}(),p=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.3"},_=`#!/usr/bin/env bash
1
+ module.exports=[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"))},66680,(e,t,a)=>{t.exports=e.x("node:crypto",()=>require("node:crypto"))},12714,(e,t,a)=>{t.exports=e.x("node:fs/promises",()=>require("node:fs/promises"))},45629,e=>{"use strict";let t=new Set(["killed","terminated","done","cleanup","errored","merged"]),a=new Set(["exited"]),r=new Set(["merged"]);function n(e){return t.has(e.status)||null!==e.activity&&a.has(e.activity)}function i(e){return n(e)&&!r.has(e.status)}function s(e){return`'${e.replace(/'/g,"'\\''")}'`}function o(e){if(!e||"object"!=typeof e)return!1;let t=e.message?.toLowerCase()||"";return t.includes("issue")&&(t.includes("not found")||t.includes("does not exist"))||t.includes("no issue found")||t.includes("could not find issue")||t.includes("could not resolve to an issue")||t.includes("no issue with identifier")||t.includes("invalid issue format")}class l extends Error{sessionId;reason;constructor(e,t){super(`Session ${e} cannot be restored: ${t}`),this.sessionId=e,this.reason=t,this.name="SessionNotRestorableError"}}class u extends Error{path;detail;constructor(e,t){super(`Workspace missing at ${e}${t?`: ${t}`:""}`),this.path=e,this.detail=t,this.name="WorkspaceMissingError"}}e.s(["CI_STATUS",0,{PENDING:"pending",PASSING:"passing",FAILING:"failing",NONE:"none"},"DEFAULT_READY_THRESHOLD_MS",0,3e5,"NON_RESTORABLE_STATUSES",0,r,"PR_STATE",0,{OPEN:"open",MERGED:"merged",CLOSED:"closed"},"SESSION_STATUS",0,{SPAWNING:"spawning",WORKING:"working",PR_OPEN:"pr_open",CI_FAILED:"ci_failed",REVIEW_PENDING:"review_pending",CHANGES_REQUESTED:"changes_requested",APPROVED:"approved",MERGEABLE:"mergeable",MERGED:"merged",CLEANUP:"cleanup",NEEDS_INPUT:"needs_input",STUCK:"stuck",ERRORED:"errored",KILLED:"killed",DONE:"done",TERMINATED:"terminated"},"SessionNotRestorableError",()=>l,"TERMINAL_ACTIVITIES",0,a,"TERMINAL_STATUSES",0,t,"WorkspaceMissingError",()=>u,"isIssueNotFoundError",()=>o,"isRestorable",()=>i,"isTerminalSession",()=>n,"shellEscape",()=>s])},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 d=(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"}(),p=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.5"},_=`#!/usr/bin/env bash
2
2
  # conductor-metadata-helper — shared by gh/git wrappers
3
3
  # Provides: update_claw_metadata <key> <value>
4
4
 
@@ -0,0 +1,3 @@
1
+ module.exports=[50227,(e,t,r)=>{t.exports=e.x("node:path",()=>require("node:path"))},2157,(e,t,r)=>{t.exports=e.x("node:fs",()=>require("node:fs"))},60526,(e,t,r)=>{t.exports=e.x("node:os",()=>require("node:os"))},18622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},24725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},70406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},93695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},85523,e=>{"use strict";var t=e.i(2157),r=e.i(60526),n=e.i(50227);let o={"@conductor-oss/plugin-runtime-tmux":()=>e.A(31953),"@conductor-oss/plugin-agent-claude-code":()=>e.A(90630),"@conductor-oss/plugin-agent-codex":()=>e.A(25383),"@conductor-oss/plugin-agent-gemini":()=>e.A(11876),"@conductor-oss/plugin-agent-amp":()=>e.A(27499),"@conductor-oss/plugin-agent-cursor-cli":()=>e.A(28625),"@conductor-oss/plugin-agent-opencode":()=>e.A(5659),"@conductor-oss/plugin-agent-droid":()=>e.A(47813),"@conductor-oss/plugin-agent-qwen-code":()=>e.A(4745),"@conductor-oss/plugin-agent-ccr":()=>e.A(77763),"@conductor-oss/plugin-agent-github-copilot":()=>e.A(8578),"@conductor-oss/plugin-workspace-worktree":()=>e.A(31073),"@conductor-oss/plugin-tracker-github":()=>e.A(54537),"@conductor-oss/plugin-scm-github":()=>e.A(28871),"@conductor-oss/plugin-notifier-desktop":()=>e.A(75407),"@conductor-oss/plugin-notifier-discord":()=>e.A(39361),"@conductor-oss/plugin-terminal-web":()=>e.A(33172)},s=globalThis;function i(e){var t;if(!e)return;let o=(t=e.trim()).startsWith("~/")?(0,n.resolve)((0,r.homedir)(),t.slice(2)):t;return o?(0,n.resolve)(o):void 0}function a(e){for(let r of["conductor.yaml","conductor.yml"]){let o=(0,n.resolve)(e,r);if((0,t.existsSync)(o))return o}}function c(){let e=i(process.env.CO_CONFIG_PATH),o=function(e){if(!e)return;let o=i(e);if(!o)return;let s=a(o);if(s)return s;let c=(0,n.resolve)((0,r.homedir)(),".conductor");if((0,t.existsSync)(c))try{for(let e of(0,t.readdirSync)(c)){let r=(0,n.join)(c,e,".origin");if(!(0,t.existsSync)(r)||!(0,t.statSync)(r).isFile())continue;let s=(0,n.resolve)((0,t.readFileSync)(r,"utf8").trim());if(s!==o)continue;let i=a(s);if(i)return i;if((0,t.existsSync)(s)&&[".yaml",".yml"].some(e=>s.endsWith(e))&&(0,t.statSync)(s).isFile())return s}}catch{}}(process.env.CONDUCTOR_WORKSPACE),s=i(`${(0,r.homedir)()}/.openclaw/workspace/conductor.yaml`),c=s&&(0,t.existsSync)(s)?s:void 0;return{path:e||o||c||function(){let e=(0,n.resolve)((0,r.homedir)(),".conductor");if(!(0,t.existsSync)(e))return;let o=null;try{for(let r of(0,t.readdirSync)(e)){let s=(0,n.join)(e,r),i=(0,n.join)(s,".origin");if(!(0,t.existsSync)(i))continue;let c="";try{c=(0,n.resolve)((0,t.readFileSync)(i,"utf8").trim())}catch{continue}if(!c)continue;let l=a(c);if(!l&&[".yaml",".yml"].some(e=>c.endsWith(e)))try{(0,t.statSync)(c).isFile()&&(l=c)}catch{continue}if(!l)continue;let d=(0,n.join)(s,"sessions"),u=0,p=0;if((0,t.existsSync)(d))try{for(let e of(0,t.readdirSync)(d)){if("archive"===e||e.startsWith("."))continue;let r=(0,n.join)(d,e),o=(0,t.statSync)(r);o.isFile()&&(u+=1,o.mtimeMs>p&&(p=o.mtimeMs))}}catch{}let f={path:l,activeSessionCount:u,latestSessionChange:p};(!o||f.activeSessionCount>o.activeSessionCount||f.activeSessionCount===o.activeSessionCount&&f.latestSessionChange>o.latestSessionChange)&&(o=f)}}catch{return}return o?.path}()}}function l(e){if(e)try{return(0,t.statSync)(e).mtimeMs}catch{return}}function d(e="stale config"){s._conductorServices=void 0,s._conductorServicesInit=void 0,s._conductorServicesConfigPath=void 0,s._conductorServicesConfigMtimeMs=void 0,console.info(`[conductor:web] service cache reset (${e})`)}function u(e="manual invalidation"){d(e)}function p(){let e=c(),t=e.path?i(e.path):void 0,r=l(t);return(s._conductorServices&&(t!==s._conductorServicesConfigPath?d("configuration path changed"):t&&void 0!==r&&void 0!==s._conductorServicesConfigMtimeMs&&r!==s._conductorServicesConfigMtimeMs&&d("configuration changed on disk")),s._conductorServices)?Promise.resolve(s._conductorServices):(s._conductorServicesInit||(s._conductorServicesInit=f().catch(e=>{throw s._conductorServicesInit=void 0,e})),s._conductorServicesInit)}async function f(){let t=await e.A(54583),r=t.loadConfig,n=t.createPluginRegistry,a=t.createSessionManager;if(!r||!n||!a)throw Error("Core package does not export required functions (loadConfig, createPluginRegistry, createSessionManager). Ensure @conductor-oss/core is built and exports these.");let d=c(),u=d.path?i(d.path):void 0,p=u?r(u):r(),f=n();"function"==typeof f.loadBuiltins&&await f.loadBuiltins(p,async e=>{let t=o[e];return t?t():Promise.resolve().then(()=>{let e=Error("Cannot find module as expression is too dynamic");throw e.code="MODULE_NOT_FOUND",e})});let g=a({config:p,registry:f}),h={config:p,registry:f,sessionManager:g};s._conductorServices=h;let m=i(p.configPath);return s._conductorServicesConfigPath=m??p.configPath,s._conductorServicesConfigMtimeMs=l(m),h}e.s(["getServices",()=>p,"invalidateServicesCache",()=>u])},74533,(e,t,r)=>{t.exports=e.x("node:child_process",()=>require("node:child_process"))},12057,(e,t,r)=>{t.exports=e.x("node:util",()=>require("node:util"))},66680,(e,t,r)=>{t.exports=e.x("node:crypto",()=>require("node:crypto"))},12714,(e,t,r)=>{t.exports=e.x("node:fs/promises",()=>require("node:fs/promises"))},45629,e=>{"use strict";let t=new Set(["killed","terminated","done","cleanup","errored","merged"]),r=new Set(["exited"]),n=new Set(["merged"]);function o(e){return t.has(e.status)||null!==e.activity&&r.has(e.activity)}function s(e){return o(e)&&!n.has(e.status)}function i(e){return`'${e.replace(/'/g,"'\\''")}'`}function a(e){if(!e||"object"!=typeof e)return!1;let t=e.message?.toLowerCase()||"";return t.includes("issue")&&(t.includes("not found")||t.includes("does not exist"))||t.includes("no issue found")||t.includes("could not find issue")||t.includes("could not resolve to an issue")||t.includes("no issue with identifier")||t.includes("invalid issue format")}class c extends Error{sessionId;reason;constructor(e,t){super(`Session ${e} cannot be restored: ${t}`),this.sessionId=e,this.reason=t,this.name="SessionNotRestorableError"}}class l extends Error{path;detail;constructor(e,t){super(`Workspace missing at ${e}${t?`: ${t}`:""}`),this.path=e,this.detail=t,this.name="WorkspaceMissingError"}}e.s(["CI_STATUS",0,{PENDING:"pending",PASSING:"passing",FAILING:"failing",NONE:"none"},"DEFAULT_READY_THRESHOLD_MS",0,3e5,"NON_RESTORABLE_STATUSES",0,n,"PR_STATE",0,{OPEN:"open",MERGED:"merged",CLOSED:"closed"},"SESSION_STATUS",0,{SPAWNING:"spawning",WORKING:"working",PR_OPEN:"pr_open",CI_FAILED:"ci_failed",REVIEW_PENDING:"review_pending",CHANGES_REQUESTED:"changes_requested",APPROVED:"approved",MERGEABLE:"mergeable",MERGED:"merged",CLEANUP:"cleanup",NEEDS_INPUT:"needs_input",STUCK:"stuck",ERRORED:"errored",KILLED:"killed",DONE:"done",TERMINATED:"terminated"},"SessionNotRestorableError",()=>c,"TERMINAL_ACTIVITIES",0,r,"TERMINAL_STATUSES",0,t,"WorkspaceMissingError",()=>l,"isIssueNotFoundError",()=>a,"isRestorable",()=>s,"isTerminalSession",()=>o,"shellEscape",()=>i])},90075,e=>{"use strict";var t=e.i(50227),r=e.i(12714);e.i(60526),e.i(20435);var n=e.i(15965),o=e.i(80754);function s(e){if("string"!=typeof e)return null;let t=e.trim();return t.length>0?t:null}function i(e){return!e||"object"!=typeof e||Array.isArray(e)?{}:{...e}}async function a(e){try{return(await (0,r.stat)(e)).isDirectory()}catch{return!1}}async function c(e){let t=i(e.projects);for(let[e,r]of Object.entries(t)){let n=i(r),c=s(n.path);if(!c)continue;let l=(0,o.resolveConfiguredProjectPath)(c,s(n.repo));await a(l)&&(t[e]={...n,path:l})}e.projects=t}async function l(e,c){let l,d,u,p=i(e.projects),f=i(p[c]),g=s(f.path);if(!g)return;let h=(0,o.resolveConfiguredProjectPath)(g,s(f.repo));if(!await a(h))return;let m=(0,n.buildConductorYaml)({port:"number"==typeof e.port?e.port:4747,dashboardUrl:s(e.dashboardUrl),preferences:(l=i(e.preferences),d=i(l.notifications),{onboardingAcknowledged:!0===l.onboardingAcknowledged,codingAgent:s(l.codingAgent)??"claude-code",ide:s(l.ide)??"vscode",remoteSshHost:s(l.remoteSshHost),remoteSshUser:s(l.remoteSshUser),markdownEditor:s(l.markdownEditor)??"obsidian",notifications:{soundEnabled:!1!==d.soundEnabled,soundFile:null===d.soundFile?null:s(d.soundFile)??"abstract-sound-4"}}),projects:[(u=i(f.agentConfig),{projectId:c,displayName:s(f.name)??c,repo:s(f.repo)??`local-${c}`,path:h,agent:s(f.agent)??"claude-code",defaultBranch:s(f.defaultBranch)??"main",defaultWorkingDirectory:s(f.defaultWorkingDirectory),sessionPrefix:s(f.sessionPrefix),workspace:s(f.workspace),runtime:s(f.runtime),scm:s(f.scm),boardDir:s(f.boardDir),agentModel:s(u.model),agentPermissions:"default"===u.permissions?"default":"skip"})]});await (0,r.writeFile)((0,t.join)(h,"conductor.yaml"),m,"utf8")}async function d(e){for(let t of(await c(e),Object.keys(i(e.projects))))await l(e,t)}e.s(["normalizeRootProjectPaths",()=>c,"syncAllProjectLocalConfigs",()=>d,"syncProjectLocalConfig",()=>l])},94374,e=>{"use strict";var t=e.i(56836),r=e.i(20229),n=e.i(26810),o=e.i(32807),s=e.i(26382),i=e.i(58028),a=e.i(44034),c=e.i(20964),l=e.i(38377),d=e.i(90712),u=e.i(32275),p=e.i(81377),f=e.i(98247),g=e.i(24857),h=e.i(68526),m=e.i(93695);e.i(37064);var v=e.i(25217),_=e.i(88490),x=e.i(12714),S=e.i(24863);e.i(20435);var y=e.i(81425),E=e.i(85523),w=e.i(48295),A=e.i(90075);function k(e){if("string"!=typeof e)return null;let t=e.trim();return t.length>0?t:null}function R(e){return!e||"object"!=typeof e||Array.isArray(e)?{}:{...e}}function b(e,t){let r=R(e),n=R(r.notifications),o=n.soundFile,s=k(r.remoteSshHost),i=k(r.remoteSshUser);return{onboardingAcknowledged:!0===r.onboardingAcknowledged,codingAgent:k(r.codingAgent)??t,ide:k(r.ide)??"vscode",...s?{remoteSshHost:s}:{},...i?{remoteSshUser:i}:{},markdownEditor:k(r.markdownEditor)??"obsidian",notifications:{soundEnabled:!1!==n.soundEnabled,soundFile:null===o?null:k(o)??"abstract-sound-4"}}}async function P(){let e=await (0,w.guardApiAccess)();if(e)return e;try{let{config:e}=await (0,E.getServices)(),t=e.defaults.agent,r=b(e.preferences,t);return _.NextResponse.json({preferences:r})}catch(t){let e=t instanceof Error?t.message:"Failed to load preferences";return _.NextResponse.json({error:e},{status:500})}}async function C(e){let t=await (0,w.guardApiAccess)();if(t)return t;let r=(0,w.guardApiActionAccess)(e);if(r)return r;let n=await e.json().catch(()=>null);if(!n||"object"!=typeof n)return _.NextResponse.json({error:"Invalid JSON body"},{status:400});try{let{config:e}=await (0,E.getServices)(),t=e.configPath;if(!t)return _.NextResponse.json({error:"Unable to resolve conductor config path"},{status:500});let r=await (0,x.readFile)(t,"utf8"),o=(0,S.parse)(r)??{},s=o&&"object"==typeof o&&!Array.isArray(o)?{...o}:{},i=b(s.preferences,e.defaults.agent);if("boolean"==typeof n.onboardingAcknowledged&&(i.onboardingAcknowledged=n.onboardingAcknowledged),void 0!==n.codingAgent){let e=k(n.codingAgent);e&&(i.codingAgent=e)}if(void 0!==n.ide){let e=k(n.ide);e&&(i.ide=e)}if(void 0!==n.remoteSshHost){let e=k(n.remoteSshHost);e?i.remoteSshHost=e:delete i.remoteSshHost}if(void 0!==n.remoteSshUser){let e=k(n.remoteSshUser);e?i.remoteSshUser=e:delete i.remoteSshUser}if(void 0!==n.markdownEditor){let e=k(n.markdownEditor);e&&(i.markdownEditor=e)}if(void 0!==n.notifications){let e=R(n.notifications);if("boolean"==typeof e.soundEnabled&&(i.notifications.soundEnabled=e.soundEnabled),null===e.soundFile)i.notifications.soundFile=null;else{let t=k(e.soundFile);t&&(i.notifications.soundFile=t)}}s.preferences=i,await (0,A.normalizeRootProjectPaths)(s);let a=(0,S.stringify)(s,{lineWidth:0});await (0,x.writeFile)(t,a,"utf8");try{(0,E.invalidateServicesCache)("preferences updated");let{config:e,registry:t}=await (0,E.getServices)();await (0,A.syncAllProjectLocalConfigs)(e),(0,y.syncWorkspaceSupportFiles)(e,{agentNames:t.list("agent").map(e=>e.name)})}catch(e){throw await (0,x.writeFile)(t,r,"utf8"),(0,E.invalidateServicesCache)("preferences update rollback"),e}return _.NextResponse.json({preferences:i})}catch(t){let e=t instanceof Error?t.message:"Failed to update preferences";return _.NextResponse.json({error:e},{status:500})}}e.s(["GET",()=>P,"PUT",()=>C,"dynamic",0,"force-dynamic"],88523);var j=e.i(88523);let N=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/preferences/route",pathname:"/api/preferences",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/packages/web/src/app/api/preferences/route.ts",nextConfigOutput:"standalone",userland:j}),{workAsyncStorage:T,workUnitAsyncStorage:I,serverHooks:O}=N;function U(){return(0,n.patchFetch)({workAsyncStorage:T,workUnitAsyncStorage:I})}async function D(e,t,n){N.isDev&&(0,o.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let _="/api/preferences/route";_=_.replace(/\/index$/,"")||"/";let x=await N.prepare(e,t,{srcPage:_,multiZoneDraftMode:!1});if(!x)return t.statusCode=400,t.end("Bad Request"),null==n.waitUntil||n.waitUntil.call(n,Promise.resolve()),null;let{buildId:S,params:y,nextConfig:E,parsedUrl:w,isDraftMode:A,prerenderManifest:k,routerServerContext:R,isOnDemandRevalidate:b,revalidateOnlyGenerated:P,resolvedPathname:C,clientReferenceManifest:j,serverActionsManifest:T}=x,I=(0,a.normalizeAppPath)(_),O=!!(k.dynamicRoutes[I]||k.routes[C]),U=async()=>((null==R?void 0:R.render404)?await R.render404(e,t,w,!1):t.end("This page could not be found"),null);if(O&&!A){let e=!!k.routes[C],t=k.dynamicRoutes[I];if(t&&!1===t.fallback&&!e){if(E.experimental.adapterPath)return await U();throw new m.NoFallbackError}}let D=null;!O||N.isDev||A||(D="/index"===(D=C)?"/":D);let F=!0===N.isDev||!O,M=O&&!F;T&&j&&(0,i.setManifestsSingleton)({page:_,clientReferenceManifest:j,serverActionsManifest:T});let q=e.method||"GET",H=(0,s.getTracer)(),L=H.getActiveScopeSpan(),$={params:y,prerenderManifest:k,renderOpts:{experimental:{authInterrupts:!!E.experimental.authInterrupts},cacheComponents:!!E.cacheComponents,supportsDynamicResponse:F,incrementalCache:(0,o.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:E.cacheLife,waitUntil:n.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,n,o)=>N.onRequestError(e,t,n,o,R)},sharedContext:{buildId:S}},W=new c.NodeNextRequest(e),G=new c.NodeNextResponse(t),K=l.NextRequestAdapter.fromNodeNextRequest(W,(0,l.signalFromNodeResponse)(t));try{let i=async e=>N.handle(K,$).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=H.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=`${q} ${n}`;e.setAttributes({"next.route":n,"http.route":n,"next.span_name":t}),e.updateName(t)}else e.updateName(`${q} ${_}`)}),a=!!(0,o.getRequestMeta)(e,"minimalMode"),c=async o=>{var s,c;let l=async({previousCacheEntry:r})=>{try{if(!a&&b&&P&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let s=await i(o);e.fetchMetrics=$.renderOpts.fetchMetrics;let c=$.renderOpts.pendingWaitUntil;c&&n.waitUntil&&(n.waitUntil(c),c=void 0);let l=$.renderOpts.collectedTags;if(!O)return await (0,p.sendResponse)(W,G,s,$.renderOpts.pendingWaitUntil),null;{let e=await s.blob(),t=(0,f.toNodeOutgoingHttpHeaders)(s.headers);l&&(t[h.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==$.renderOpts.collectedRevalidate&&!($.renderOpts.collectedRevalidate>=h.INFINITE_CACHE)&&$.renderOpts.collectedRevalidate,n=void 0===$.renderOpts.collectedExpire||$.renderOpts.collectedExpire>=h.INFINITE_CACHE?void 0:$.renderOpts.collectedExpire;return{value:{kind:v.CachedRouteKind.APP_ROUTE,status:s.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:n}}}}catch(t){throw(null==r?void 0:r.isStale)&&await N.onRequestError(e,t,{routerKind:"App Router",routePath:_,routeType:"route",revalidateReason:(0,u.getRevalidateReason)({isStaticGeneration:M,isOnDemandRevalidate:b})},!1,R),t}},d=await N.handleResponse({req:e,nextConfig:E,cacheKey:D,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:k,isRoutePPREnabled:!1,isOnDemandRevalidate:b,revalidateOnlyGenerated:P,responseGenerator:l,waitUntil:n.waitUntil,isMinimalMode:a});if(!O)return null;if((null==d||null==(s=d.value)?void 0:s.kind)!==v.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(c=d.value)?void 0:c.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});a||t.setHeader("x-nextjs-cache",b?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),A&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let m=(0,f.fromNodeOutgoingHttpHeaders)(d.value.headers);return a&&O||m.delete(h.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||t.getHeader("Cache-Control")||m.get("Cache-Control")||m.set("Cache-Control",(0,g.getCacheControlHeader)(d.cacheControl)),await (0,p.sendResponse)(W,G,new Response(d.value.body,{headers:m,status:d.value.status||200})),null};L?await c(L):await H.withPropagatedContext(e.headers,()=>H.trace(d.BaseServerSpan.handleRequest,{spanName:`${q} ${_}`,kind:s.SpanKind.SERVER,attributes:{"http.method":q,"http.target":e.url}},c))}catch(t){if(t instanceof m.NoFallbackError||await N.onRequestError(e,t,{routerKind:"App Router",routePath:I,routeType:"route",revalidateReason:(0,u.getRevalidateReason)({isStaticGeneration:M,isOnDemandRevalidate:b})},!1,R),O)throw t;return await (0,p.sendResponse)(W,G,new Response(null,{status:500})),null}}e.s(["handler",()=>D,"patchFetch",()=>U,"routeModule",()=>N,"serverHooks",()=>O,"workAsyncStorage",()=>T,"workUnitAsyncStorage",()=>I],94374)},31953,e=>{e.v(t=>Promise.all(["server/chunks/[root-of-the-server]__5661ca72._.js"].map(t=>e.l(t))).then(()=>t(80565)))},90630,e=>{e.v(t=>Promise.all(["server/chunks/packages_plugins_agent-claude-code_dist_index_31314e43.js"].map(t=>e.l(t))).then(()=>t(21216)))},25383,e=>{e.v(t=>Promise.all(["server/chunks/[root-of-the-server]__1f626a16._.js"].map(t=>e.l(t))).then(()=>t(74857)))},11876,e=>{e.v(t=>Promise.all(["server/chunks/packages_plugins_agent-gemini_dist_index_b2d219e8.js"].map(t=>e.l(t))).then(()=>t(67433)))},27499,e=>{e.v(t=>Promise.all(["server/chunks/packages_plugins_agent-amp_dist_index_bf3d8239.js"].map(t=>e.l(t))).then(()=>t(91336)))},28625,e=>{e.v(t=>Promise.all(["server/chunks/packages_plugins_agent-cursor-cli_dist_index_8d5cc426.js"].map(t=>e.l(t))).then(()=>t(25106)))},5659,e=>{e.v(t=>Promise.all(["server/chunks/packages_plugins_agent-opencode_dist_index_7c7015da.js"].map(t=>e.l(t))).then(()=>t(52216)))},47813,e=>{e.v(t=>Promise.all(["server/chunks/packages_plugins_agent-droid_dist_index_f731227a.js"].map(t=>e.l(t))).then(()=>t(86010)))},4745,e=>{e.v(t=>Promise.all(["server/chunks/packages_plugins_agent-qwen-code_dist_index_46dd8653.js"].map(t=>e.l(t))).then(()=>t(92781)))},77763,e=>{e.v(t=>Promise.all(["server/chunks/packages_plugins_agent-ccr_dist_index_69cbf726.js"].map(t=>e.l(t))).then(()=>t(11048)))},8578,e=>{e.v(t=>Promise.all(["server/chunks/packages_plugins_agent-github-copilot_dist_index_9f80cb45.js"].map(t=>e.l(t))).then(()=>t(97081)))},31073,e=>{e.v(t=>Promise.all(["server/chunks/[root-of-the-server]__48875cbb._.js"].map(t=>e.l(t))).then(()=>t(65041)))},54537,e=>{e.v(t=>Promise.all(["server/chunks/packages_plugins_tracker-github_dist_index_2d7af62f.js"].map(t=>e.l(t))).then(()=>t(62440)))},28871,e=>{e.v(t=>Promise.all(["server/chunks/packages_plugins_scm-github_dist_index_3b5a621e.js"].map(t=>e.l(t))).then(()=>t(402)))},75407,e=>{e.v(t=>Promise.all(["server/chunks/packages_plugins_notifier-desktop_dist_index_ef3473f0.js"].map(t=>e.l(t))).then(()=>t(70178)))},39361,e=>{e.v(t=>Promise.all(["server/chunks/packages_plugins_notifier-discord_dist_index_34257226.js"].map(t=>e.l(t))).then(()=>t(1222)))},33172,e=>{e.v(t=>Promise.all(["server/chunks/packages_plugins_terminal-web_dist_index_1e0706d3.js"].map(t=>e.l(t))).then(()=>t(39172)))},54583,e=>{e.v(t=>Promise.all(["server/chunks/packages_core_dist_index_cdd30418.js"].map(t=>e.l(t))).then(()=>t(72939)))},3080,e=>{e.v(t=>Promise.all(["server/chunks/[root-of-the-server]__b3f4ff98._.js","server/chunks/node_modules__pnpm_d41ebd2e._.js"].map(t=>e.l(t))).then(()=>t(72140)))}];
2
+
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__0e59a166._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[66680,(e,r,a)=>{r.exports=e.x("node:crypto",()=>require("node:crypto"))},74533,(e,r,a)=>{r.exports=e.x("node:child_process",()=>require("node:child_process"))},12057,(e,r,a)=>{r.exports=e.x("node:util",()=>require("node:util"))},45629,e=>{"use strict";let r=new Set(["killed","terminated","done","cleanup","errored","merged"]),a=new Set(["exited"]),t=new Set(["merged"]);function s(e){return r.has(e.status)||null!==e.activity&&a.has(e.activity)}function i(e){return s(e)&&!t.has(e.status)}function o(e){return`'${e.replace(/'/g,"'\\''")}'`}function n(e){if(!e||"object"!=typeof e)return!1;let r=e.message?.toLowerCase()||"";return r.includes("issue")&&(r.includes("not found")||r.includes("does not exist"))||r.includes("no issue found")||r.includes("could not find issue")||r.includes("could not resolve to an issue")||r.includes("no issue with identifier")||r.includes("invalid issue format")}class d extends Error{sessionId;reason;constructor(e,r){super(`Session ${e} cannot be restored: ${r}`),this.sessionId=e,this.reason=r,this.name="SessionNotRestorableError"}}class l extends Error{path;detail;constructor(e,r){super(`Workspace missing at ${e}${r?`: ${r}`:""}`),this.path=e,this.detail=r,this.name="WorkspaceMissingError"}}e.s(["CI_STATUS",0,{PENDING:"pending",PASSING:"passing",FAILING:"failing",NONE:"none"},"DEFAULT_READY_THRESHOLD_MS",0,3e5,"NON_RESTORABLE_STATUSES",0,t,"PR_STATE",0,{OPEN:"open",MERGED:"merged",CLOSED:"closed"},"SESSION_STATUS",0,{SPAWNING:"spawning",WORKING:"working",PR_OPEN:"pr_open",CI_FAILED:"ci_failed",REVIEW_PENDING:"review_pending",CHANGES_REQUESTED:"changes_requested",APPROVED:"approved",MERGEABLE:"mergeable",MERGED:"merged",CLEANUP:"cleanup",NEEDS_INPUT:"needs_input",STUCK:"stuck",ERRORED:"errored",KILLED:"killed",DONE:"done",TERMINATED:"terminated"},"SessionNotRestorableError",()=>d,"TERMINAL_ACTIVITIES",0,a,"TERMINAL_STATUSES",0,r,"WorkspaceMissingError",()=>l,"isIssueNotFoundError",()=>n,"isRestorable",()=>i,"isTerminalSession",()=>s,"shellEscape",()=>o])},72939,e=>{"use strict";e.i(20435);var r=e.i(45629),a=e.i(33498),t=e.i(15965),s=e.i(64564),i=e.i(54185),o=e.i(31212),n=e.i(28738),d=e.i(69485),l=e.i(77646),c=e.i(5453),S=e.i(81425),E=e.i(38969),u=e.i(64348);e.s(["BASE_AGENT_PROMPT",()=>d.BASE_AGENT_PROMPT,"CI_STATUS",()=>r.CI_STATUS,"DEFAULT_COLUMN_ALIASES",()=>u.DEFAULT_COLUMN_ALIASES,"DEFAULT_READY_THRESHOLD_MS",()=>r.DEFAULT_READY_THRESHOLD_MS,"NON_RESTORABLE_STATUSES",()=>r.NON_RESTORABLE_STATUSES,"PR_STATE",()=>r.PR_STATE,"SESSION_STATUS",()=>r.SESSION_STATUS,"SessionNotRestorableError",()=>r.SessionNotRestorableError,"TERMINAL_ACTIVITIES",()=>r.TERMINAL_ACTIVITIES,"TERMINAL_STATUSES",()=>r.TERMINAL_STATUSES,"WorkspaceMissingError",()=>r.WorkspaceMissingError,"boardEntriesToPaths",()=>E.boardEntriesToPaths,"buildBoardProjectMap",()=>S.buildBoardProjectMap,"buildConductorBoard",()=>t.buildConductorBoard,"buildConductorYaml",()=>t.buildConductorYaml,"buildProjectConfigRecord",()=>t.buildProjectConfigRecord,"buildPrompt",()=>d.buildPrompt,"createBoardWatcher",()=>S.createBoardWatcher,"createLifecycleManager",()=>n.createLifecycleManager,"createPluginRegistry",()=>s.createPluginRegistry,"createSessionManager",()=>o.createSessionManager,"defaultAliasMapping",()=>E.defaultAliasMapping,"deleteMetadata",()=>i.deleteMetadata,"discoverBoards",()=>S.discoverBoards,"expandHome",()=>c.expandHome,"findConfig",()=>a.findConfig,"findConfigFile",()=>a.findConfigFile,"generateConfigHash",()=>c.generateConfigHash,"generateInstanceId",()=>c.generateInstanceId,"generateProjectId",()=>c.generateProjectId,"generateSessionName",()=>c.generateSessionName,"generateSessionPrefix",()=>c.generateSessionPrefix,"generateTmuxName",()=>c.generateTmuxName,"getArchiveDir",()=>c.getArchiveDir,"getDefaultConfig",()=>a.getDefaultConfig,"getOriginFilePath",()=>c.getOriginFilePath,"getProjectBaseDir",()=>c.getProjectBaseDir,"getSessionsDir",()=>c.getSessionsDir,"getUncheckedTasks",()=>u.getUncheckedTasks,"getWorktreesDir",()=>c.getWorktreesDir,"isIssueNotFoundError",()=>r.isIssueNotFoundError,"isRestorable",()=>r.isRestorable,"isTerminalSession",()=>r.isTerminalSession,"listMetadata",()=>i.listMetadata,"loadConfig",()=>a.loadConfig,"loadConfigWithPath",()=>a.loadConfigWithPath,"parseBoardSections",()=>u.parseBoardSections,"parseBoardStatus",()=>E.parseBoardStatus,"parseChecklistItems",()=>u.parseChecklistItems,"parseTmuxName",()=>c.parseTmuxName,"readArchivedMetadataRaw",()=>i.readArchivedMetadataRaw,"readLastJsonlEntry",()=>l.readLastJsonlEntry,"readMetadataRaw",()=>i.readMetadataRaw,"readRecentWatcherActions",()=>E.readRecentWatcherActions,"recordWatcherAction",()=>E.recordWatcherAction,"reserveSessionId",()=>i.reserveSessionId,"resolveBoardAliasesForPath",()=>E.resolveBoardAliasesForPath,"resolveColumnsFromBoard",()=>u.resolveColumnsFromBoard,"shellEscape",()=>r.shellEscape,"updateMetadata",()=>i.updateMetadata,"validateAndStoreOrigin",()=>c.validateAndStoreOrigin,"validateConfig",()=>a.validateConfig,"validateUrl",()=>l.validateUrl,"writeMetadata",()=>i.writeMetadata])}];
1
+ module.exports=[66680,(e,r,s)=>{r.exports=e.x("node:crypto",()=>require("node:crypto"))},74533,(e,r,s)=>{r.exports=e.x("node:child_process",()=>require("node:child_process"))},12057,(e,r,s)=>{r.exports=e.x("node:util",()=>require("node:util"))},45629,e=>{"use strict";let r=new Set(["killed","terminated","done","cleanup","errored","merged"]),s=new Set(["exited"]),t=new Set(["merged"]);function a(e){return r.has(e.status)||null!==e.activity&&s.has(e.activity)}function i(e){return a(e)&&!t.has(e.status)}function o(e){return`'${e.replace(/'/g,"'\\''")}'`}function n(e){if(!e||"object"!=typeof e)return!1;let r=e.message?.toLowerCase()||"";return r.includes("issue")&&(r.includes("not found")||r.includes("does not exist"))||r.includes("no issue found")||r.includes("could not find issue")||r.includes("could not resolve to an issue")||r.includes("no issue with identifier")||r.includes("invalid issue format")}class d extends Error{sessionId;reason;constructor(e,r){super(`Session ${e} cannot be restored: ${r}`),this.sessionId=e,this.reason=r,this.name="SessionNotRestorableError"}}class l extends Error{path;detail;constructor(e,r){super(`Workspace missing at ${e}${r?`: ${r}`:""}`),this.path=e,this.detail=r,this.name="WorkspaceMissingError"}}e.s(["CI_STATUS",0,{PENDING:"pending",PASSING:"passing",FAILING:"failing",NONE:"none"},"DEFAULT_READY_THRESHOLD_MS",0,3e5,"NON_RESTORABLE_STATUSES",0,t,"PR_STATE",0,{OPEN:"open",MERGED:"merged",CLOSED:"closed"},"SESSION_STATUS",0,{SPAWNING:"spawning",WORKING:"working",PR_OPEN:"pr_open",CI_FAILED:"ci_failed",REVIEW_PENDING:"review_pending",CHANGES_REQUESTED:"changes_requested",APPROVED:"approved",MERGEABLE:"mergeable",MERGED:"merged",CLEANUP:"cleanup",NEEDS_INPUT:"needs_input",STUCK:"stuck",ERRORED:"errored",KILLED:"killed",DONE:"done",TERMINATED:"terminated"},"SessionNotRestorableError",()=>d,"TERMINAL_ACTIVITIES",0,s,"TERMINAL_STATUSES",0,r,"WorkspaceMissingError",()=>l,"isIssueNotFoundError",()=>n,"isRestorable",()=>i,"isTerminalSession",()=>a,"shellEscape",()=>o])},72939,e=>{"use strict";e.i(20435);var r=e.i(45629),s=e.i(33498),t=e.i(15965),a=e.i(64564),i=e.i(54185),o=e.i(31212),n=e.i(28738),d=e.i(69485),l=e.i(77646),c=e.i(5453),S=e.i(80754),E=e.i(81425),u=e.i(38969),g=e.i(64348);e.s(["BASE_AGENT_PROMPT",()=>d.BASE_AGENT_PROMPT,"CI_STATUS",()=>r.CI_STATUS,"DEFAULT_COLUMN_ALIASES",()=>g.DEFAULT_COLUMN_ALIASES,"DEFAULT_READY_THRESHOLD_MS",()=>r.DEFAULT_READY_THRESHOLD_MS,"NON_RESTORABLE_STATUSES",()=>r.NON_RESTORABLE_STATUSES,"PR_STATE",()=>r.PR_STATE,"SESSION_STATUS",()=>r.SESSION_STATUS,"SessionNotRestorableError",()=>r.SessionNotRestorableError,"TERMINAL_ACTIVITIES",()=>r.TERMINAL_ACTIVITIES,"TERMINAL_STATUSES",()=>r.TERMINAL_STATUSES,"WorkspaceMissingError",()=>r.WorkspaceMissingError,"boardEntriesToPaths",()=>u.boardEntriesToPaths,"buildBoardProjectMap",()=>E.buildBoardProjectMap,"buildConductorBoard",()=>t.buildConductorBoard,"buildConductorYaml",()=>t.buildConductorYaml,"buildProjectConfigRecord",()=>t.buildProjectConfigRecord,"buildPrompt",()=>d.buildPrompt,"createBoardWatcher",()=>E.createBoardWatcher,"createLifecycleManager",()=>n.createLifecycleManager,"createPluginRegistry",()=>a.createPluginRegistry,"createSessionManager",()=>o.createSessionManager,"defaultAliasMapping",()=>u.defaultAliasMapping,"deleteMetadata",()=>i.deleteMetadata,"discoverBoards",()=>E.discoverBoards,"expandHome",()=>c.expandHome,"findConfig",()=>s.findConfig,"findConfigFile",()=>s.findConfigFile,"generateConfigHash",()=>c.generateConfigHash,"generateInstanceId",()=>c.generateInstanceId,"generateProjectId",()=>c.generateProjectId,"generateSessionName",()=>c.generateSessionName,"generateSessionPrefix",()=>c.generateSessionPrefix,"generateTmuxName",()=>c.generateTmuxName,"getArchiveDir",()=>c.getArchiveDir,"getDefaultConfig",()=>s.getDefaultConfig,"getOriginFilePath",()=>c.getOriginFilePath,"getProjectBaseDir",()=>c.getProjectBaseDir,"getSessionsDir",()=>c.getSessionsDir,"getUncheckedTasks",()=>g.getUncheckedTasks,"getWorktreesDir",()=>c.getWorktreesDir,"isIssueNotFoundError",()=>r.isIssueNotFoundError,"isRestorable",()=>r.isRestorable,"isTerminalSession",()=>r.isTerminalSession,"listMetadata",()=>i.listMetadata,"loadConfig",()=>s.loadConfig,"loadConfigWithPath",()=>s.loadConfigWithPath,"parseBoardSections",()=>g.parseBoardSections,"parseBoardStatus",()=>u.parseBoardStatus,"parseChecklistItems",()=>g.parseChecklistItems,"parseTmuxName",()=>c.parseTmuxName,"readArchivedMetadataRaw",()=>i.readArchivedMetadataRaw,"readLastJsonlEntry",()=>l.readLastJsonlEntry,"readMetadataRaw",()=>i.readMetadataRaw,"readRecentWatcherActions",()=>u.readRecentWatcherActions,"recordWatcherAction",()=>u.recordWatcherAction,"reserveSessionId",()=>i.reserveSessionId,"resolveBoardAliasesForPath",()=>u.resolveBoardAliasesForPath,"resolveColumnsFromBoard",()=>g.resolveColumnsFromBoard,"resolveConfiguredProjectPath",()=>S.resolveConfiguredProjectPath,"shellEscape",()=>r.shellEscape,"syncWorkspaceSupportFiles",()=>E.syncWorkspaceSupportFiles,"updateMetadata",()=>i.updateMetadata,"validateAndStoreOrigin",()=>c.validateAndStoreOrigin,"validateConfig",()=>s.validateConfig,"validateUrl",()=>l.validateUrl,"writeMetadata",()=>i.writeMetadata])}];
2
2
 
3
3
  //# sourceMappingURL=%5Broot-of-the-server%5D__13ad088c._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[74533,(e,t,s)=>{t.exports=e.x("node:child_process",()=>require("node:child_process"))},12057,(e,t,s)=>{t.exports=e.x("node:util",()=>require("node:util"))},62440,e=>{"use strict";var t=e.i(74533);let s=(0,e.i(12057).promisify)(t.execFile);async function r(e){try{let{stdout:t}=await s("gh",e,{maxBuffer:0xa00000,timeout:3e4});return t.trim()}catch(s){let t=s instanceof Error?s.message:String(s);throw Error(`gh ${e.slice(0,3).join(" ")} failed: ${t}`,{cause:s})}}let i={name:"github",slot:"tracker",description:"Tracker plugin: GitHub Issues",version:"0.2.3"};function a(){return{name:"github",async getIssue(e,t){var s,i;let a,o=await r(["issue","view",e,"--repo",t.repo,"--json","number,title,body,url,state,stateReason,labels"]);try{a=JSON.parse(o)}catch{throw Error(`Failed to parse gh output for getIssue: ${o.slice(0,200)}`)}return{id:String(a.number),title:a.title,description:a.body??"",url:a.url,state:(s=a.state,i=a.stateReason,"CLOSED"===s.toUpperCase()?i?.toUpperCase()==="NOT_PLANNED"?"cancelled":"closed":"open"),labels:a.labels.map(e=>e.name)}},async isCompleted(e,t){let s,i=await r(["issue","view",e,"--repo",t.repo,"--json","state"]);try{s=JSON.parse(i)}catch{throw Error(`Failed to parse gh output for isCompleted: ${i.slice(0,200)}`)}return"CLOSED"===s.state.toUpperCase()},issueUrl(e,t){let s=e.replace(/^#/,"");return`https://github.com/${t.repo}/issues/${s}`},branchName(e,t){let s=e.replace(/^#/,""),r=t.sessionPrefix||"feat";return`${r}/${s}-${e.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-|-$/g,"").slice(0,40)}`},async generatePrompt(e,t){let s=await this.getIssue(e,t),r=[`You are working on GitHub issue #${s.id}: ${s.title}`,`Issue URL: ${s.url}`,""];return s.labels.length>0&&r.push(`Labels: ${s.labels.join(", ")}`),s.description&&r.push("## Description","",s.description),r.push("","Please implement the changes described in this issue. When done, commit and push your changes."),r.join("\n")}}}e.s(["create",()=>a,"default",0,{manifest:i,create:a},"manifest",0,i])}];
1
+ module.exports=[74533,(e,t,s)=>{t.exports=e.x("node:child_process",()=>require("node:child_process"))},12057,(e,t,s)=>{t.exports=e.x("node:util",()=>require("node:util"))},62440,e=>{"use strict";var t=e.i(74533);let s=(0,e.i(12057).promisify)(t.execFile);async function r(e){try{let{stdout:t}=await s("gh",e,{maxBuffer:0xa00000,timeout:3e4});return t.trim()}catch(s){let t=s instanceof Error?s.message:String(s);throw Error(`gh ${e.slice(0,3).join(" ")} failed: ${t}`,{cause:s})}}let i={name:"github",slot:"tracker",description:"Tracker plugin: GitHub Issues",version:"0.2.5"};function a(){return{name:"github",async getIssue(e,t){var s,i;let a,o=await r(["issue","view",e,"--repo",t.repo,"--json","number,title,body,url,state,stateReason,labels"]);try{a=JSON.parse(o)}catch{throw Error(`Failed to parse gh output for getIssue: ${o.slice(0,200)}`)}return{id:String(a.number),title:a.title,description:a.body??"",url:a.url,state:(s=a.state,i=a.stateReason,"CLOSED"===s.toUpperCase()?i?.toUpperCase()==="NOT_PLANNED"?"cancelled":"closed":"open"),labels:a.labels.map(e=>e.name)}},async isCompleted(e,t){let s,i=await r(["issue","view",e,"--repo",t.repo,"--json","state"]);try{s=JSON.parse(i)}catch{throw Error(`Failed to parse gh output for isCompleted: ${i.slice(0,200)}`)}return"CLOSED"===s.state.toUpperCase()},issueUrl(e,t){let s=e.replace(/^#/,"");return`https://github.com/${t.repo}/issues/${s}`},branchName(e,t){let s=e.replace(/^#/,""),r=t.sessionPrefix||"feat";return`${r}/${s}-${e.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-|-$/g,"").slice(0,40)}`},async generatePrompt(e,t){let s=await this.getIssue(e,t),r=[`You are working on GitHub issue #${s.id}: ${s.title}`,`Issue URL: ${s.url}`,""];return s.labels.length>0&&r.push(`Labels: ${s.labels.join(", ")}`),s.description&&r.push("## Description","",s.description),r.push("","Please implement the changes described in this issue. When done, commit and push your changes."),r.join("\n")}}}e.s(["create",()=>a,"default",0,{manifest:i,create:a},"manifest",0,i])}];
2
2
 
3
3
  //# sourceMappingURL=%5Broot-of-the-server%5D__14b1d4a3._.js.map
@@ -1,3 +1,3 @@
1
1
  module.exports=[20635,(e,s,t)=>{s.exports=e.x("next/dist/server/app-render/action-async-storage.external.js",()=>require("next/dist/server/app-render/action-async-storage.external.js"))},81225,e=>{e.v({name:"next",version:"16.1.6",description:"The React Framework",main:"./dist/server/next.js",license:"MIT",repository:"vercel/next.js",bugs:"https://github.com/vercel/next.js/issues",homepage:"https://nextjs.org",types:"index.d.ts",files:["dist","app.js","app.d.ts","babel.js","babel.d.ts","client.js","client.d.ts","compat","cache.js","cache.d.ts","constants.js","constants.d.ts","document.js","document.d.ts","dynamic.js","dynamic.d.ts","error.js","error.d.ts","future","legacy","script.js","script.d.ts","server.js","server.d.ts","head.js","head.d.ts","image.js","image.d.ts","link.js","link.d.ts","form.js","form.d.ts","router.js","router.d.ts","jest.js","jest.d.ts","og.js","og.d.ts","root-params.js","root-params.d.ts","types.d.ts","types.js","index.d.ts","types/global.d.ts","types/compiled.d.ts","image-types/global.d.ts","navigation-types/navigation.d.ts","navigation-types/compat/navigation.d.ts","font","navigation.js","navigation.d.ts","headers.js","headers.d.ts","navigation-types","web-vitals.js","web-vitals.d.ts","experimental/testing/server.js","experimental/testing/server.d.ts","experimental/testmode/playwright.js","experimental/testmode/playwright.d.ts","experimental/testmode/playwright/msw.js","experimental/testmode/playwright/msw.d.ts","experimental/testmode/proxy.js","experimental/testmode/proxy.d.ts"],bin:{next:"./dist/bin/next"},scripts:{dev:"cross-env NEXT_SERVER_NO_MANGLE=1 taskr",build:"taskr release",prepublishOnly:"cd ../../ && turbo run build",types:"tsc --project tsconfig.build.json --declaration --emitDeclarationOnly --stripInternal --declarationDir dist",typescript:"tsec --noEmit","ncc-compiled":"taskr ncc",storybook:"BROWSER=none storybook dev -p 6006","build-storybook":"storybook build","test-storybook":"test-storybook"},taskr:{requires:["./taskfile-webpack.js","./taskfile-ncc.js","./taskfile-swc.js","./taskfile-watch.js"]},dependencies:{"@next/env":"16.1.6","@swc/helpers":"0.5.15","baseline-browser-mapping":"^2.8.3","caniuse-lite":"^1.0.30001579",postcss:"8.4.31","styled-jsx":"5.1.6"},peerDependencies:{"@opentelemetry/api":"^1.1.0","@playwright/test":"^1.51.1","babel-plugin-react-compiler":"*",react:"^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0","react-dom":"^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0",sass:"^1.3.0"},peerDependenciesMeta:{"babel-plugin-react-compiler":{optional:!0},sass:{optional:!0},"@opentelemetry/api":{optional:!0},"@playwright/test":{optional:!0}},optionalDependencies:{sharp:"^0.34.4","@next/swc-darwin-arm64":"16.1.6","@next/swc-darwin-x64":"16.1.6","@next/swc-linux-arm64-gnu":"16.1.6","@next/swc-linux-arm64-musl":"16.1.6","@next/swc-linux-x64-gnu":"16.1.6","@next/swc-linux-x64-musl":"16.1.6","@next/swc-win32-arm64-msvc":"16.1.6","@next/swc-win32-x64-msvc":"16.1.6"},devDependencies:{"@babel/code-frame":"7.26.2","@babel/core":"7.26.10","@babel/eslint-parser":"7.24.6","@babel/generator":"7.27.0","@babel/plugin-syntax-bigint":"7.8.3","@babel/plugin-syntax-dynamic-import":"7.8.3","@babel/plugin-syntax-import-attributes":"7.26.0","@babel/plugin-syntax-jsx":"7.25.9","@babel/plugin-syntax-typescript":"7.25.4","@babel/plugin-transform-class-properties":"7.25.9","@babel/plugin-transform-export-namespace-from":"7.25.9","@babel/plugin-transform-modules-commonjs":"7.26.3","@babel/plugin-transform-numeric-separator":"7.25.9","@babel/plugin-transform-object-rest-spread":"7.25.9","@babel/plugin-transform-runtime":"7.26.10","@babel/preset-env":"7.26.9","@babel/preset-react":"7.26.3","@babel/preset-typescript":"7.27.0","@babel/runtime":"7.27.0","@babel/traverse":"7.27.0","@babel/types":"7.27.0","@base-ui-components/react":"1.0.0-beta.2","@capsizecss/metrics":"3.4.0","@edge-runtime/cookies":"6.0.0","@edge-runtime/ponyfill":"4.0.0","@edge-runtime/primitives":"6.0.0","@hapi/accept":"5.0.2","@jest/transform":"29.5.0","@jest/types":"29.5.0","@modelcontextprotocol/sdk":"1.18.1","@mswjs/interceptors":"0.23.0","@napi-rs/triples":"1.2.0","@next/font":"16.1.6","@next/polyfill-module":"16.1.6","@next/polyfill-nomodule":"16.1.6","@next/react-refresh-utils":"16.1.6","@next/swc":"16.1.6","@opentelemetry/api":"1.6.0","@playwright/test":"1.51.1","@rspack/core":"1.6.7","@storybook/addon-a11y":"8.6.0","@storybook/addon-essentials":"8.6.0","@storybook/addon-interactions":"8.6.0","@storybook/addon-webpack5-compiler-swc":"3.0.0","@storybook/blocks":"8.6.0","@storybook/react":"8.6.0","@storybook/react-webpack5":"8.6.0","@storybook/test":"8.6.0","@storybook/test-runner":"0.21.0","@swc/core":"1.11.24","@swc/types":"0.1.7","@taskr/clear":"1.1.0","@taskr/esnext":"1.1.0","@types/babel__code-frame":"7.0.6","@types/babel__core":"7.20.5","@types/babel__generator":"7.27.0","@types/babel__template":"7.4.4","@types/babel__traverse":"7.20.7","@types/bytes":"3.1.1","@types/ci-info":"2.0.0","@types/compression":"0.0.36","@types/content-disposition":"0.5.4","@types/content-type":"1.1.3","@types/cookie":"0.3.3","@types/cross-spawn":"6.0.0","@types/debug":"4.1.5","@types/express-serve-static-core":"4.17.33","@types/fresh":"0.5.0","@types/glob":"7.1.1","@types/jsonwebtoken":"9.0.0","@types/lodash":"4.14.198","@types/lodash.curry":"4.1.6","@types/path-to-regexp":"1.7.0","@types/picomatch":"2.3.3","@types/platform":"1.3.4","@types/react":"19.0.8","@types/react-dom":"19.0.3","@types/react-is":"18.2.4","@types/semver":"7.3.1","@types/send":"0.14.4","@types/serve-handler":"6.1.4","@types/shell-quote":"1.7.1","@types/tar":"6.1.5","@types/text-table":"0.2.1","@types/ua-parser-js":"0.7.36","@types/webpack-sources1":"npm:@types/webpack-sources@0.1.5","@types/ws":"8.2.0","@vercel/ncc":"0.34.0","@vercel/nft":"0.27.1","@vercel/routing-utils":"5.2.0","@vercel/turbopack-ecmascript-runtime":"*",acorn:"8.14.0",anser:"1.4.9",arg:"4.1.0",assert:"2.0.0","async-retry":"1.2.3","async-sema":"3.0.0","axe-playwright":"2.0.3","babel-loader":"10.0.0","babel-plugin-react-compiler":"0.0.0-experimental-3fde738-20250918","babel-plugin-transform-define":"2.0.0","babel-plugin-transform-react-remove-prop-types":"0.4.24","browserify-zlib":"0.2.0",browserslist:"4.28.0",buffer:"5.6.0",busboy:"1.6.0",bytes:"3.1.1","ci-info":"watson/ci-info#f43f6a1cefff47fb361c88cf4b943fdbcaafe540","cli-select":"1.1.2","client-only":"0.0.1",commander:"12.1.0","comment-json":"3.0.3",compression:"1.7.4",conf:"5.0.0","constants-browserify":"1.0.0","content-disposition":"0.5.3","content-type":"1.0.4",cookie:"0.4.1","cross-env":"6.0.3","cross-spawn":"7.0.3","crypto-browserify":"3.12.0","css-loader":"7.1.2","css.escape":"1.5.1","cssnano-preset-default":"7.0.6","data-uri-to-buffer":"3.0.1",debug:"4.1.1",devalue:"2.0.1","domain-browser":"4.19.0","edge-runtime":"4.0.1",events:"3.3.0","find-up":"4.1.0",fresh:"0.5.2",glob:"7.1.7","gzip-size":"5.1.1","http-proxy":"1.18.1","http-proxy-agent":"5.0.0","https-browserify":"1.0.0","https-proxy-agent":"5.0.1","icss-utils":"5.1.0","ignore-loader":"0.1.2","image-size":"1.2.1","ipaddr.js":"2.2.0","is-docker":"2.0.0","is-wsl":"2.2.0","jest-worker":"27.5.1",json5:"2.2.3",jsonwebtoken:"9.0.0","loader-runner":"4.3.0","loader-utils2":"npm:loader-utils@2.0.4","loader-utils3":"npm:loader-utils@3.1.3","lodash.curry":"4.1.1","mini-css-extract-plugin":"2.4.4",msw:"2.3.0",nanoid:"3.1.32","native-url":"0.3.4","neo-async":"2.6.1","node-html-parser":"5.3.3",ora:"4.0.4","os-browserify":"0.3.0","p-limit":"3.1.0","p-queue":"6.6.2","path-browserify":"1.0.1","path-to-regexp":"6.3.0",picomatch:"4.0.1","postcss-flexbugs-fixes":"5.0.2","postcss-modules-extract-imports":"3.0.0","postcss-modules-local-by-default":"4.2.0","postcss-modules-scope":"3.0.0","postcss-modules-values":"4.0.0","postcss-preset-env":"7.4.3","postcss-safe-parser":"6.0.0","postcss-scss":"4.0.3","postcss-value-parser":"4.2.0",process:"0.11.10",punycode:"2.1.1","querystring-es3":"0.2.1","raw-body":"2.4.1","react-refresh":"0.12.0",recast:"0.23.11","regenerator-runtime":"0.13.4","safe-stable-stringify":"2.5.0","sass-loader":"16.0.5","schema-utils2":"npm:schema-utils@2.7.1","schema-utils3":"npm:schema-utils@3.0.0",semver:"7.3.2",send:"0.18.0","serve-handler":"6.1.6","server-only":"0.0.1",setimmediate:"1.0.5","shell-quote":"1.7.3","source-map":"0.6.1","source-map-loader":"5.0.0","source-map08":"npm:source-map@0.8.0-beta.0","stacktrace-parser":"0.1.10",storybook:"8.6.0","stream-browserify":"3.0.0","stream-http":"3.1.1","strict-event-emitter":"0.5.0","string-hash":"1.1.3",string_decoder:"1.3.0","strip-ansi":"6.0.0","style-loader":"4.0.0",superstruct:"1.0.3",tar:"6.1.15",taskr:"1.1.0",terser:"5.27.0","terser-webpack-plugin":"5.3.9","text-table":"0.2.0","timers-browserify":"2.0.12","tty-browserify":"0.0.1",typescript:"5.9.2","ua-parser-js":"1.0.35",unistore:"3.4.1",util:"0.12.4","vm-browserify":"1.1.2",watchpack:"2.4.0","web-vitals":"4.2.1",webpack:"5.98.0","webpack-sources1":"npm:webpack-sources@1.4.3","webpack-sources3":"npm:webpack-sources@3.2.3",ws:"8.2.3",zod:"3.25.76","zod-validation-error":"3.4.0"},keywords:["react","framework","nextjs","web","server","node","front-end","backend","cli","vercel"],engines:{node:">=20.9.0"}})},78500,(e,s,t)=>{s.exports=e.x("node:async_hooks",()=>require("node:async_hooks"))},81167,e=>{"use strict";var s,t,r,a,o,n,i=e.i(81225);let p=null!=(r=null==(t=null==(s=i.default)?void 0:s.version)?void 0:t.startsWith("13."))&&r||null!=(n=null==(o=null==(a=i.default)?void 0:a.version)?void 0:o.startsWith("14.0"))&&n,l=function(e){var s;if(!(null==(s=i.default)?void 0:s.version))return!1;let t=parseInt(i.default.version.split(".")[0],10);return!isNaN(t)&&t>=16}(0);e.s(["isNext16OrHigher",()=>l,"isNextWithUnstableServerActions",()=>p])},16811,e=>{e.v(s=>Promise.all(["server/chunks/1bc17_next_191b72d8._.js"].map(s=>e.l(s))).then(()=>s(73712)))},43637,e=>{e.v(s=>Promise.all(["server/chunks/node_modules__pnpm_305d7053._.js"].map(s=>e.l(s))).then(()=>s(57706)))}];
2
2
 
3
- //# sourceMappingURL=%5Broot-of-the-server%5D__1cd55204._.js.map
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__1bc4f8f5._.js.map
@@ -1,4 +1,4 @@
1
- module.exports=[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),l=e.i(1457),o=e.i(12057),u=e.i(66680);let p=(0,o.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.3"},h=`#!/usr/bin/env bash
1
+ module.exports=[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),l=e.i(1457),o=e.i(12057),u=e.i(66680);let p=(0,o.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.5"},h=`#!/usr/bin/env bash
2
2
  # conductor-metadata-helper — shared by gh/git wrappers
3
3
  # Provides: update_claw_metadata <key> <value>
4
4
 
@@ -1,3 +1,3 @@
1
- module.exports=[66680,(e,t,n)=>{t.exports=e.x("node:crypto",()=>require("node:crypto"))},12714,(e,t,n)=>{t.exports=e.x("node:fs/promises",()=>require("node:fs/promises"))},45629,e=>{"use strict";let t=new Set(["killed","terminated","done","cleanup","errored","merged"]),n=new Set(["exited"]),i=new Set(["merged"]);function r(e){return t.has(e.status)||null!==e.activity&&n.has(e.activity)}function s(e){return r(e)&&!i.has(e.status)}function o(e){return`'${e.replace(/'/g,"'\\''")}'`}function l(e){if(!e||"object"!=typeof e)return!1;let t=e.message?.toLowerCase()||"";return t.includes("issue")&&(t.includes("not found")||t.includes("does not exist"))||t.includes("no issue found")||t.includes("could not find issue")||t.includes("could not resolve to an issue")||t.includes("no issue with identifier")||t.includes("invalid issue format")}class u extends Error{sessionId;reason;constructor(e,t){super(`Session ${e} cannot be restored: ${t}`),this.sessionId=e,this.reason=t,this.name="SessionNotRestorableError"}}class a extends Error{path;detail;constructor(e,t){super(`Workspace missing at ${e}${t?`: ${t}`:""}`),this.path=e,this.detail=t,this.name="WorkspaceMissingError"}}e.s(["CI_STATUS",0,{PENDING:"pending",PASSING:"passing",FAILING:"failing",NONE:"none"},"DEFAULT_READY_THRESHOLD_MS",0,3e5,"NON_RESTORABLE_STATUSES",0,i,"PR_STATE",0,{OPEN:"open",MERGED:"merged",CLOSED:"closed"},"SESSION_STATUS",0,{SPAWNING:"spawning",WORKING:"working",PR_OPEN:"pr_open",CI_FAILED:"ci_failed",REVIEW_PENDING:"review_pending",CHANGES_REQUESTED:"changes_requested",APPROVED:"approved",MERGEABLE:"mergeable",MERGED:"merged",CLEANUP:"cleanup",NEEDS_INPUT:"needs_input",STUCK:"stuck",ERRORED:"errored",KILLED:"killed",DONE:"done",TERMINATED:"terminated"},"SessionNotRestorableError",()=>u,"TERMINAL_ACTIVITIES",0,n,"TERMINAL_STATUSES",0,t,"WorkspaceMissingError",()=>a,"isIssueNotFoundError",()=>l,"isRestorable",()=>s,"isTerminalSession",()=>r,"shellEscape",()=>o])},52216,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),s=["opencode","open-code"],o=function(){for(let e of[process.env.OPEN_CODE_BIN,...s.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 s[0]??"opencode"}(),l=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 u(e,t=30){if("tmux"!==e.runtimeName||!e.id)return null;try{let{stdout:n}=await r(l,["capture-pane","-t",e.id,"-p","-l",String(t)],{timeout:5e3});return n}catch{return null}}function a(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(l,["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}),s=new Set(n.map(e=>e.replace(/^\/dev\//,""))),o="opencode".replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),u=RegExp(`(?:^|/)${o}(?:\\s|$)`);for(let e of i.split("\n")){let t=e.trimStart().split(/\s+/);if(t.length<3||!s.has(t[1]??""))continue;let n=t.slice(2).join(" ");if(u.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 d={name:"opencode",slot:"agent",description:"Agent plugin: OpenCode CLI",version:"0.2.3"};function p(){return{name:"opencode",processName:"opencode",promptDelivery:"inline",getLaunchCommand(e){let n=[o];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=>a(e),async getActivityState(e){let t=new Date;if(!e.runtimeHandle||!await c(e.runtimeHandle))return{state:"exited",timestamp:t};let n=await u(e.runtimeHandle);if(!n)return{state:"active",timestamp:t};let i=a(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 u(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:d,create:p},"manifest",0,d])}];
1
+ module.exports=[66680,(e,t,n)=>{t.exports=e.x("node:crypto",()=>require("node:crypto"))},12714,(e,t,n)=>{t.exports=e.x("node:fs/promises",()=>require("node:fs/promises"))},45629,e=>{"use strict";let t=new Set(["killed","terminated","done","cleanup","errored","merged"]),n=new Set(["exited"]),i=new Set(["merged"]);function r(e){return t.has(e.status)||null!==e.activity&&n.has(e.activity)}function s(e){return r(e)&&!i.has(e.status)}function o(e){return`'${e.replace(/'/g,"'\\''")}'`}function l(e){if(!e||"object"!=typeof e)return!1;let t=e.message?.toLowerCase()||"";return t.includes("issue")&&(t.includes("not found")||t.includes("does not exist"))||t.includes("no issue found")||t.includes("could not find issue")||t.includes("could not resolve to an issue")||t.includes("no issue with identifier")||t.includes("invalid issue format")}class u extends Error{sessionId;reason;constructor(e,t){super(`Session ${e} cannot be restored: ${t}`),this.sessionId=e,this.reason=t,this.name="SessionNotRestorableError"}}class a extends Error{path;detail;constructor(e,t){super(`Workspace missing at ${e}${t?`: ${t}`:""}`),this.path=e,this.detail=t,this.name="WorkspaceMissingError"}}e.s(["CI_STATUS",0,{PENDING:"pending",PASSING:"passing",FAILING:"failing",NONE:"none"},"DEFAULT_READY_THRESHOLD_MS",0,3e5,"NON_RESTORABLE_STATUSES",0,i,"PR_STATE",0,{OPEN:"open",MERGED:"merged",CLOSED:"closed"},"SESSION_STATUS",0,{SPAWNING:"spawning",WORKING:"working",PR_OPEN:"pr_open",CI_FAILED:"ci_failed",REVIEW_PENDING:"review_pending",CHANGES_REQUESTED:"changes_requested",APPROVED:"approved",MERGEABLE:"mergeable",MERGED:"merged",CLEANUP:"cleanup",NEEDS_INPUT:"needs_input",STUCK:"stuck",ERRORED:"errored",KILLED:"killed",DONE:"done",TERMINATED:"terminated"},"SessionNotRestorableError",()=>u,"TERMINAL_ACTIVITIES",0,n,"TERMINAL_STATUSES",0,t,"WorkspaceMissingError",()=>a,"isIssueNotFoundError",()=>l,"isRestorable",()=>s,"isTerminalSession",()=>r,"shellEscape",()=>o])},52216,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),s=["opencode","open-code"],o=function(){for(let e of[process.env.OPEN_CODE_BIN,...s.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 s[0]??"opencode"}(),l=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 u(e,t=30){if("tmux"!==e.runtimeName||!e.id)return null;try{let{stdout:n}=await r(l,["capture-pane","-t",e.id,"-p","-l",String(t)],{timeout:5e3});return n}catch{return null}}function a(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(l,["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}),s=new Set(n.map(e=>e.replace(/^\/dev\//,""))),o="opencode".replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),u=RegExp(`(?:^|/)${o}(?:\\s|$)`);for(let e of i.split("\n")){let t=e.trimStart().split(/\s+/);if(t.length<3||!s.has(t[1]??""))continue;let n=t.slice(2).join(" ");if(u.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 d={name:"opencode",slot:"agent",description:"Agent plugin: OpenCode CLI",version:"0.2.5"};function p(){return{name:"opencode",processName:"opencode",promptDelivery:"inline",getLaunchCommand(e){let n=[o];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=>a(e),async getActivityState(e){let t=new Date;if(!e.runtimeHandle||!await c(e.runtimeHandle))return{state:"exited",timestamp:t};let n=await u(e.runtimeHandle);if(!n)return{state:"active",timestamp:t};let i=a(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 u(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:d,create:p},"manifest",0,d])}];
2
2
 
3
3
  //# sourceMappingURL=%5Broot-of-the-server%5D__2062aaab._.js.map