conductor-oss 0.2.20 → 0.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (538) hide show
  1. package/README.md +16 -0
  2. package/dist/commands/start.d.ts.map +1 -1
  3. package/dist/commands/start.js +28 -2
  4. package/dist/commands/start.js.map +1 -1
  5. package/dist/launcher.d.ts +3 -0
  6. package/dist/launcher.d.ts.map +1 -0
  7. package/dist/launcher.js +3 -0
  8. package/dist/launcher.js.map +1 -0
  9. package/node_modules/@conductor-oss/core/dist/config.d.ts.map +1 -1
  10. package/node_modules/@conductor-oss/core/dist/config.js +106 -1
  11. package/node_modules/@conductor-oss/core/dist/config.js.map +1 -1
  12. package/node_modules/@conductor-oss/core/dist/types.d.ts +4 -4
  13. package/node_modules/@conductor-oss/core/dist/types.d.ts.map +1 -1
  14. package/node_modules/@conductor-oss/core/dist/types.js +185 -8
  15. package/node_modules/@conductor-oss/core/dist/types.js.map +1 -1
  16. package/node_modules/@conductor-oss/plugin-agent-amp/package.json +1 -1
  17. package/node_modules/@conductor-oss/plugin-agent-ccr/package.json +1 -1
  18. package/node_modules/@conductor-oss/plugin-agent-claude-code/package.json +1 -1
  19. package/node_modules/@conductor-oss/plugin-agent-codex/package.json +1 -1
  20. package/node_modules/@conductor-oss/plugin-agent-cursor-cli/package.json +1 -1
  21. package/node_modules/@conductor-oss/plugin-agent-droid/package.json +1 -1
  22. package/node_modules/@conductor-oss/plugin-agent-gemini/package.json +1 -1
  23. package/node_modules/@conductor-oss/plugin-agent-github-copilot/package.json +1 -1
  24. package/node_modules/@conductor-oss/plugin-agent-opencode/package.json +1 -1
  25. package/node_modules/@conductor-oss/plugin-agent-qwen-code/package.json +1 -1
  26. package/node_modules/@conductor-oss/plugin-mcp-server/package.json +1 -1
  27. package/node_modules/@conductor-oss/plugin-notifier-desktop/package.json +1 -1
  28. package/node_modules/@conductor-oss/plugin-notifier-discord/package.json +1 -1
  29. package/node_modules/@conductor-oss/plugin-runtime-tmux/package.json +1 -1
  30. package/node_modules/@conductor-oss/plugin-scm-github/package.json +1 -1
  31. package/node_modules/@conductor-oss/plugin-terminal-web/package.json +1 -1
  32. package/node_modules/@conductor-oss/plugin-tracker-github/package.json +1 -1
  33. package/node_modules/@conductor-oss/plugin-workspace-worktree/package.json +1 -1
  34. package/package.json +29 -25
  35. package/web/.next/standalone/packages/web/.next/BUILD_ID +1 -1
  36. package/web/.next/standalone/packages/web/.next/app-path-routes-manifest.json +5 -0
  37. package/web/.next/standalone/packages/web/.next/build-manifest.json +2 -2
  38. package/web/.next/standalone/packages/web/.next/prerender-manifest.json +3 -3
  39. package/web/.next/standalone/packages/web/.next/routes-manifest.json +34 -0
  40. package/web/.next/standalone/packages/web/.next/server/app/_global-error.html +2 -2
  41. package/web/.next/standalone/packages/web/.next/server/app/_global-error.rsc +1 -1
  42. package/web/.next/standalone/packages/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  43. package/web/.next/standalone/packages/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  44. package/web/.next/standalone/packages/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  45. package/web/.next/standalone/packages/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  46. package/web/.next/standalone/packages/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  47. package/web/.next/standalone/packages/web/.next/server/app/_not-found/page/server-reference-manifest.json +7 -7
  48. package/web/.next/standalone/packages/web/.next/server/app/_not-found/page.js.nft.json +1 -1
  49. package/web/.next/standalone/packages/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  50. package/web/.next/standalone/packages/web/.next/server/app/_not-found.html +1 -1
  51. package/web/.next/standalone/packages/web/.next/server/app/_not-found.rsc +3 -3
  52. package/web/.next/standalone/packages/web/.next/server/app/_not-found.segments/_full.segment.rsc +3 -3
  53. package/web/.next/standalone/packages/web/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  54. package/web/.next/standalone/packages/web/.next/server/app/_not-found.segments/_index.segment.rsc +3 -3
  55. package/web/.next/standalone/packages/web/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  56. package/web/.next/standalone/packages/web/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  57. package/web/.next/standalone/packages/web/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  58. package/web/.next/standalone/packages/web/.next/server/app/api/access/route.js +3 -4
  59. package/web/.next/standalone/packages/web/.next/server/app/api/access/route.js.nft.json +1 -1
  60. package/web/.next/standalone/packages/web/.next/server/app/api/agents/route/app-paths-manifest.json +3 -0
  61. package/web/.next/standalone/packages/web/.next/server/app/api/agents/route/build-manifest.json +11 -0
  62. package/web/.next/standalone/packages/web/.next/server/app/api/agents/route/server-reference-manifest.json +4 -0
  63. package/web/.next/standalone/packages/web/.next/server/app/api/agents/route.js +10 -0
  64. package/web/.next/standalone/packages/web/.next/server/app/api/agents/route.js.map +5 -0
  65. package/web/.next/standalone/packages/web/.next/server/app/api/agents/route.js.nft.json +1 -0
  66. package/web/.next/standalone/packages/web/.next/server/app/api/agents/route_client-reference-manifest.js +2 -0
  67. package/web/.next/standalone/packages/web/.next/server/app/api/attachments/route.js +2 -2
  68. package/web/.next/standalone/packages/web/.next/server/app/api/attachments/route.js.nft.json +1 -1
  69. package/web/.next/standalone/packages/web/.next/server/app/api/auth/session/route.js +3 -1
  70. package/web/.next/standalone/packages/web/.next/server/app/api/auth/session/route.js.nft.json +1 -1
  71. package/web/.next/standalone/packages/web/.next/server/app/api/boards/route.js +3 -5
  72. package/web/.next/standalone/packages/web/.next/server/app/api/boards/route.js.nft.json +1 -1
  73. package/web/.next/standalone/packages/web/.next/server/app/api/config/route.js +2 -2
  74. package/web/.next/standalone/packages/web/.next/server/app/api/config/route.js.nft.json +1 -1
  75. package/web/.next/standalone/packages/web/.next/server/app/api/context-files/route.js +2 -2
  76. package/web/.next/standalone/packages/web/.next/server/app/api/context-files/route.js.nft.json +1 -1
  77. package/web/.next/standalone/packages/web/.next/server/app/api/events/route.js +3 -3
  78. package/web/.next/standalone/packages/web/.next/server/app/api/events/route.js.nft.json +1 -1
  79. package/web/.next/standalone/packages/web/.next/server/app/api/executor/health/route/app-paths-manifest.json +3 -0
  80. package/web/.next/standalone/packages/web/.next/server/app/api/executor/health/route/build-manifest.json +11 -0
  81. package/web/.next/standalone/packages/web/.next/server/app/api/executor/health/route/server-reference-manifest.json +4 -0
  82. package/web/.next/standalone/packages/web/.next/server/app/api/executor/health/route.js +10 -0
  83. package/web/.next/standalone/packages/web/.next/server/app/api/executor/health/route.js.map +5 -0
  84. package/web/.next/standalone/packages/web/.next/server/app/api/executor/health/route.js.nft.json +1 -0
  85. package/web/.next/standalone/packages/web/.next/server/app/api/executor/health/route_client-reference-manifest.js +2 -0
  86. package/web/.next/standalone/packages/web/.next/server/app/api/filesystem/directory/route.js +2 -2
  87. package/web/.next/standalone/packages/web/.next/server/app/api/filesystem/directory/route.js.nft.json +1 -1
  88. package/web/.next/standalone/packages/web/.next/server/app/api/filesystem/pick-directory/route/app-paths-manifest.json +3 -0
  89. package/web/.next/standalone/packages/web/.next/server/app/api/filesystem/pick-directory/route/build-manifest.json +11 -0
  90. package/web/.next/standalone/packages/web/.next/server/app/api/filesystem/pick-directory/route/server-reference-manifest.json +4 -0
  91. package/web/.next/standalone/packages/web/.next/server/app/api/filesystem/pick-directory/route.js +10 -0
  92. package/web/.next/standalone/packages/web/.next/server/app/api/filesystem/pick-directory/route.js.map +5 -0
  93. package/web/.next/standalone/packages/web/.next/server/app/api/filesystem/pick-directory/route.js.nft.json +1 -0
  94. package/web/.next/standalone/packages/web/.next/server/app/api/filesystem/pick-directory/route_client-reference-manifest.js +2 -0
  95. package/web/.next/standalone/packages/web/.next/server/app/api/github/repos/route.js +2 -2
  96. package/web/.next/standalone/packages/web/.next/server/app/api/github/repos/route.js.nft.json +1 -1
  97. package/web/.next/standalone/packages/web/.next/server/app/api/health/boards/route.js +2 -2
  98. package/web/.next/standalone/packages/web/.next/server/app/api/health/boards/route.js.nft.json +1 -1
  99. package/web/.next/standalone/packages/web/.next/server/app/api/health/sessions/route.js +2 -2
  100. package/web/.next/standalone/packages/web/.next/server/app/api/health/sessions/route.js.nft.json +1 -1
  101. package/web/.next/standalone/packages/web/.next/server/app/api/notifications/route.js +2 -2
  102. package/web/.next/standalone/packages/web/.next/server/app/api/notifications/route.js.nft.json +1 -1
  103. package/web/.next/standalone/packages/web/.next/server/app/api/preferences/route.js +3 -4
  104. package/web/.next/standalone/packages/web/.next/server/app/api/preferences/route.js.nft.json +1 -1
  105. package/web/.next/standalone/packages/web/.next/server/app/api/repositories/[id]/route/app-paths-manifest.json +3 -0
  106. package/web/.next/standalone/packages/web/.next/server/app/api/repositories/[id]/route/build-manifest.json +11 -0
  107. package/web/.next/standalone/packages/web/.next/server/app/api/repositories/[id]/route/server-reference-manifest.json +4 -0
  108. package/web/.next/standalone/packages/web/.next/server/app/api/repositories/[id]/route.js +10 -0
  109. package/web/.next/standalone/packages/web/.next/server/app/api/repositories/[id]/route.js.map +5 -0
  110. package/web/.next/standalone/packages/web/.next/server/app/api/repositories/[id]/route.js.nft.json +1 -0
  111. package/web/.next/standalone/packages/web/.next/server/app/api/repositories/[id]/route_client-reference-manifest.js +2 -0
  112. package/web/.next/standalone/packages/web/.next/server/app/api/repositories/route.js +4 -6
  113. package/web/.next/standalone/packages/web/.next/server/app/api/repositories/route.js.nft.json +1 -1
  114. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/actions/route.js +2 -2
  115. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/actions/route.js.nft.json +1 -1
  116. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/archive/route/app-paths-manifest.json +3 -0
  117. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/archive/route/build-manifest.json +11 -0
  118. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/archive/route/server-reference-manifest.json +4 -0
  119. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/archive/route.js +10 -0
  120. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/archive/route.js.map +5 -0
  121. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/archive/route.js.nft.json +1 -0
  122. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/archive/route_client-reference-manifest.js +2 -0
  123. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/checks/route.js +2 -2
  124. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/checks/route.js.nft.json +1 -1
  125. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/diff/route.js +4 -5
  126. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/diff/route.js.nft.json +1 -1
  127. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/feed/route.js +2 -2
  128. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/feed/route.js.nft.json +1 -1
  129. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/feedback/route.js +2 -2
  130. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/feedback/route.js.nft.json +1 -1
  131. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/files/route.js +2 -2
  132. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/files/route.js.nft.json +1 -1
  133. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/keys/route.js +2 -2
  134. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/keys/route.js.nft.json +1 -1
  135. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/kill/route.js +2 -2
  136. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/kill/route.js.nft.json +1 -1
  137. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/output/route.js +2 -2
  138. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/output/route.js.nft.json +1 -1
  139. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/output/stream/route.js +3 -3
  140. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/output/stream/route.js.nft.json +1 -1
  141. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/restore/route.js +2 -2
  142. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/restore/route.js.nft.json +1 -1
  143. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/route.js +2 -2
  144. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/route.js.nft.json +1 -1
  145. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/send/route.js +2 -2
  146. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/send/route.js.nft.json +1 -1
  147. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/route.js +2 -2
  148. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/route.js.nft.json +1 -1
  149. package/web/.next/standalone/packages/web/.next/server/app/api/spawn/route.js +3 -4
  150. package/web/.next/standalone/packages/web/.next/server/app/api/spawn/route.js.nft.json +1 -1
  151. package/web/.next/standalone/packages/web/.next/server/app/api/workspaces/branches/route.js +2 -2
  152. package/web/.next/standalone/packages/web/.next/server/app/api/workspaces/branches/route.js.nft.json +1 -1
  153. package/web/.next/standalone/packages/web/.next/server/app/api/workspaces/route.js +4 -6
  154. package/web/.next/standalone/packages/web/.next/server/app/api/workspaces/route.js.nft.json +1 -1
  155. package/web/.next/standalone/packages/web/.next/server/app/index.html +1 -1
  156. package/web/.next/standalone/packages/web/.next/server/app/index.rsc +4 -4
  157. package/web/.next/standalone/packages/web/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
  158. package/web/.next/standalone/packages/web/.next/server/app/index.segments/_full.segment.rsc +4 -4
  159. package/web/.next/standalone/packages/web/.next/server/app/index.segments/_head.segment.rsc +1 -1
  160. package/web/.next/standalone/packages/web/.next/server/app/index.segments/_index.segment.rsc +3 -3
  161. package/web/.next/standalone/packages/web/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  162. package/web/.next/standalone/packages/web/.next/server/app/page/react-loadable-manifest.json +2 -2
  163. package/web/.next/standalone/packages/web/.next/server/app/page/server-reference-manifest.json +7 -7
  164. package/web/.next/standalone/packages/web/.next/server/app/page.js.nft.json +1 -1
  165. package/web/.next/standalone/packages/web/.next/server/app/page_client-reference-manifest.js +1 -1
  166. package/web/.next/standalone/packages/web/.next/server/app/sessions/[id]/page/server-reference-manifest.json +7 -7
  167. package/web/.next/standalone/packages/web/.next/server/app/sessions/[id]/page.js.nft.json +1 -1
  168. package/web/.next/standalone/packages/web/.next/server/app/sessions/[id]/page_client-reference-manifest.js +1 -1
  169. package/web/.next/standalone/packages/web/.next/server/app/sign-in/[[...sign-in]]/page/server-reference-manifest.json +7 -7
  170. package/web/.next/standalone/packages/web/.next/server/app/sign-in/[[...sign-in]]/page.js.nft.json +1 -1
  171. package/web/.next/standalone/packages/web/.next/server/app/sign-in/[[...sign-in]]/page_client-reference-manifest.js +1 -1
  172. package/web/.next/standalone/packages/web/.next/server/app/unlock/page/server-reference-manifest.json +7 -7
  173. package/web/.next/standalone/packages/web/.next/server/app/unlock/page.js.nft.json +1 -1
  174. package/web/.next/standalone/packages/web/.next/server/app/unlock/page_client-reference-manifest.js +1 -1
  175. package/web/.next/standalone/packages/web/.next/server/app-paths-manifest.json +5 -0
  176. package/web/.next/standalone/packages/web/.next/server/chunks/29f24__next-internal_server_app_api_filesystem_pick-directory_route_actions_51e42977.js +3 -0
  177. package/web/.next/standalone/packages/web/.next/server/chunks/730ea_web__next-internal_server_app_api_executor_health_route_actions_8e415531.js +3 -0
  178. package/web/.next/standalone/packages/web/.next/server/chunks/730ea_web__next-internal_server_app_api_repositories_[id]_route_actions_4d42b4b5.js +3 -0
  179. package/web/.next/standalone/packages/web/.next/server/chunks/730ea_web__next-internal_server_app_api_sessions_[id]_archive_route_actions_bdb25739.js +3 -0
  180. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__0074ebac._.js +3 -0
  181. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__03a6b3e6._.js +3 -0
  182. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__049daed6._.js +3 -0
  183. package/web/.next/standalone/packages/web/.next/server/chunks/{[root-of-the-server]__6023a748._.js → [root-of-the-server]__095ffdaa._.js} +1 -1
  184. package/web/.next/standalone/packages/web/.next/server/chunks/{[root-of-the-server]__2a83553a._.js → [root-of-the-server]__0c7f79b1._.js} +1 -1
  185. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__137c9740._.js +3 -0
  186. package/web/.next/standalone/packages/web/.next/server/chunks/{[root-of-the-server]__1aa339ea._.js → [root-of-the-server]__144e8e60._.js} +1 -1
  187. package/web/.next/standalone/packages/web/.next/server/chunks/{[root-of-the-server]__1ed2e6c1._.js → [root-of-the-server]__14949257._.js} +17 -163
  188. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__15594e11._.js +3 -0
  189. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__159ecc1b._.js +3 -0
  190. package/web/.next/standalone/packages/web/.next/server/chunks/{[root-of-the-server]__29be362d._.js → [root-of-the-server]__16d4a78f._.js} +1 -1
  191. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__171dd44e._.js +3 -0
  192. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__177505ca._.js +3 -0
  193. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__18aa1fa3._.js +3 -0
  194. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__1c3521a3._.js +3 -0
  195. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__1c793b78._.js +3 -0
  196. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__22fbbc7b._.js +3 -0
  197. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__25bbe81a._.js +3 -0
  198. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__2d10de49._.js +3 -0
  199. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__30442998._.js +3 -0
  200. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__31d22800._.js +3 -0
  201. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__3d6b30a3._.js +1 -1
  202. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__44892736._.js +3 -0
  203. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__495221b1._.js +3 -0
  204. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__4ff9e8b0._.js +3 -0
  205. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__54eb1ef0._.js +3 -0
  206. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__5c375e13._.js +3 -0
  207. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__6362697f._.js +3 -0
  208. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__69b36e36._.js +3 -0
  209. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__6badbf4e._.js +3 -0
  210. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__6c4cd852._.js +3 -0
  211. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__6f7b329b._.js +3 -0
  212. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__70b7af90._.js +3 -0
  213. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__71077192._.js +3 -0
  214. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__758687ca._.js +3 -0
  215. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__7604e43b._.js +3 -0
  216. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__77b23eae._.js +3 -0
  217. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__78650ac9._.js +3 -0
  218. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__789107eb._.js +3 -0
  219. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__78c062a8._.js +3 -0
  220. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__78c4bb1e._.js +3 -0
  221. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__790d1d4b._.js +3 -0
  222. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__8132442f._.js +3 -0
  223. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__833a2cd9._.js +3 -0
  224. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__85d6ae4c._.js +3 -0
  225. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__8d933120._.js +3 -0
  226. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__90ac5665._.js +3 -0
  227. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__92a4f9bf._.js +3 -0
  228. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__93d550e2._.js +3 -0
  229. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__96e59c1f._.js +3 -0
  230. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__9d98fee2._.js +3 -0
  231. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__9fcf6265._.js +3 -0
  232. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__a5b78741._.js +3 -0
  233. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__a8a4b101._.js +3 -0
  234. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__a8d11727._.js +3 -0
  235. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__b2e0e81c._.js +3 -0
  236. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__bf756716._.js +3 -0
  237. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__c09452b3._.js +3 -0
  238. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__c43dcff1._.js +3 -0
  239. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__c923cbdc._.js +3 -0
  240. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__ce993e7b._.js +3 -0
  241. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__cfbdd2bf._.js +3 -0
  242. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__d1d8bfb5._.js +3 -0
  243. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__d4d1744d._.js +3 -0
  244. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__d8852803._.js +3 -0
  245. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__ea1961bd._.js +3 -0
  246. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__ee8a3221._.js +3 -0
  247. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__ef8c815b._.js +3 -0
  248. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__ef918d06._.js +3 -0
  249. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__f3693403._.js +3 -0
  250. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__f62cac3a._.js +3 -0
  251. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__f73117e9._.js +3 -0
  252. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__f7651519._.js +3 -0
  253. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__fc6ffe6c._.js +3 -0
  254. package/web/.next/standalone/packages/web/.next/server/chunks/packages_web__next-internal_server_app_api_agents_route_actions_29063d1a.js +3 -0
  255. package/web/.next/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__6622b514._.js +1 -1
  256. package/web/.next/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__869d9ac0._.js +1 -1
  257. package/web/.next/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__b388693f._.js +1 -1
  258. package/web/.next/standalone/packages/web/.next/server/chunks/ssr/{[root-of-the-server]__48817f02._.js → [root-of-the-server]__c3eb4913._.js} +2 -2
  259. package/web/.next/standalone/packages/web/.next/server/chunks/ssr/_0e1412de._.js +1 -1
  260. package/web/.next/standalone/packages/web/.next/server/chunks/ssr/{_20a4007d._.js → _3acfb388._.js} +2 -2
  261. package/web/.next/standalone/packages/web/.next/server/chunks/ssr/_668c9201._.js +3 -0
  262. package/web/.next/standalone/packages/web/.next/server/chunks/ssr/_69e05fca._.js +1 -1
  263. package/web/.next/standalone/packages/web/.next/server/chunks/ssr/_80efe193._.js +1 -1
  264. package/web/.next/standalone/packages/web/.next/server/chunks/ssr/_b6d31783._.js +1 -1
  265. package/web/.next/standalone/packages/web/.next/server/chunks/ssr/_c0f0e227._.js +1 -1
  266. package/web/.next/standalone/packages/web/.next/server/chunks/ssr/_f36ddaa9._.js +1 -1
  267. package/web/.next/standalone/packages/web/.next/server/chunks/ssr/node_modules_@clerk_nextjs_dist_esm_app-router_129dde21._.js +3 -0
  268. package/web/.next/standalone/packages/web/.next/server/chunks/ssr/node_modules_@clerk_nextjs_dist_esm_app-router_1776df7f._.js +3 -0
  269. package/web/.next/standalone/packages/web/.next/server/chunks/ssr/node_modules_f2ebd7a9._.js +1 -1
  270. package/web/.next/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_79316445._.js +1 -1
  271. package/web/.next/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_a078c137._.js +1 -1
  272. package/web/.next/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_app_page_tsx_cd282e82._.js +1 -1
  273. package/web/.next/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_app_unlock_UnlockForm_tsx_ce3149a7._.js +1 -1
  274. package/web/.next/standalone/packages/web/.next/server/chunks/ssr/{packages_web_src_components_6cab1c8c._.js → packages_web_src_components_aad7de7c._.js} +1 -1
  275. package/web/.next/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_components_board_WorkspaceKanban_tsx_735b7999._.js +1 -1
  276. package/web/.next/standalone/packages/web/.next/server/pages/404.html +1 -1
  277. package/web/.next/standalone/packages/web/.next/server/pages/500.html +2 -2
  278. package/web/.next/standalone/packages/web/.next/server/server-reference-manifest.js +1 -1
  279. package/web/.next/standalone/packages/web/.next/server/server-reference-manifest.json +8 -8
  280. package/web/.next/standalone/packages/web/.next/static/chunks/{5c7e8425945ad682.js → 07a5ac7389686572.js} +1 -1
  281. package/web/.next/standalone/packages/web/.next/static/chunks/3603312f8407bd12.js +1 -0
  282. package/web/.next/standalone/packages/web/.next/static/chunks/382be8f0b30c5f08.js +1 -0
  283. package/web/.next/standalone/packages/web/.next/static/chunks/479b8cb58c95a8a0.js +1 -0
  284. package/web/.next/standalone/packages/web/.next/static/chunks/53e4f3b495e423c9.js +1 -0
  285. package/web/.next/{static/chunks/3b757dce050133c8.js → standalone/packages/web/.next/static/chunks/5c5637796e242130.js} +2 -2
  286. package/web/.next/standalone/packages/web/.next/static/chunks/{695b7cb206c6dadd.js → 5e05e67a26b7ecbc.js} +1 -1
  287. package/web/.next/standalone/packages/web/.next/static/chunks/6d083840413686dd.css +3 -0
  288. package/web/.next/standalone/packages/web/.next/static/chunks/870a993d28314a90.js +1 -0
  289. package/web/.next/standalone/packages/web/.next/static/chunks/c5caacf383990e7b.js +1 -0
  290. package/web/.next/standalone/packages/web/.next/static/chunks/c7c1bd729f17c8bf.js +1 -0
  291. package/web/.next/standalone/packages/web/.next/static/chunks/e8d146cc2723147b.js +1 -0
  292. package/web/.next/standalone/packages/web/package.json +1 -1
  293. package/web/.next/standalone/packages/web/src/app/api/access/route.ts +3 -211
  294. package/web/.next/standalone/packages/web/src/app/api/agents/route.ts +5 -0
  295. package/web/.next/standalone/packages/web/src/app/api/attachments/route.ts +2 -166
  296. package/web/.next/standalone/packages/web/src/app/api/auth/session/route.ts +4 -52
  297. package/web/.next/standalone/packages/web/src/app/api/boards/route.ts +3 -517
  298. package/web/.next/standalone/packages/web/src/app/api/config/route.ts +2 -78
  299. package/web/.next/standalone/packages/web/src/app/api/context-files/route.ts +2 -198
  300. package/web/.next/standalone/packages/web/src/app/api/events/route.ts +2 -122
  301. package/web/.next/standalone/packages/web/src/app/api/executor/health/route.ts +5 -0
  302. package/web/.next/standalone/packages/web/src/app/api/filesystem/directory/route.ts +2 -142
  303. package/web/.next/standalone/packages/web/src/app/api/filesystem/pick-directory/route.ts +5 -0
  304. package/web/.next/standalone/packages/web/src/app/api/github/repos/route.ts +2 -103
  305. package/web/.next/standalone/packages/web/src/app/api/health/boards/route.ts +2 -69
  306. package/web/.next/standalone/packages/web/src/app/api/health/sessions/route.ts +2 -74
  307. package/web/.next/standalone/packages/web/src/app/api/notifications/route.ts +3 -88
  308. package/web/.next/standalone/packages/web/src/app/api/preferences/route.ts +3 -191
  309. package/web/.next/standalone/packages/web/src/app/api/repositories/[id]/route.ts +8 -0
  310. package/web/.next/standalone/packages/web/src/app/api/repositories/route.ts +4 -416
  311. package/web/.next/standalone/packages/web/src/app/api/sessions/[id]/actions/route.ts +5 -77
  312. package/web/.next/standalone/packages/web/src/app/api/sessions/[id]/archive/route.ts +8 -0
  313. package/web/.next/standalone/packages/web/src/app/api/sessions/[id]/checks/route.ts +5 -172
  314. package/web/.next/standalone/packages/web/src/app/api/sessions/[id]/diff/route.ts +5 -423
  315. package/web/.next/standalone/packages/web/src/app/api/sessions/[id]/feed/route.ts +5 -94
  316. package/web/.next/standalone/packages/web/src/app/api/sessions/[id]/feedback/route.ts +5 -44
  317. package/web/.next/standalone/packages/web/src/app/api/sessions/[id]/files/route.ts +5 -194
  318. package/web/.next/standalone/packages/web/src/app/api/sessions/[id]/keys/route.ts +6 -138
  319. package/web/.next/standalone/packages/web/src/app/api/sessions/[id]/kill/route.ts +5 -42
  320. package/web/.next/standalone/packages/web/src/app/api/sessions/[id]/output/route.ts +5 -259
  321. package/web/.next/standalone/packages/web/src/app/api/sessions/[id]/output/stream/route.ts +5 -108
  322. package/web/.next/standalone/packages/web/src/app/api/sessions/[id]/restore/route.ts +5 -46
  323. package/web/.next/standalone/packages/web/src/app/api/sessions/[id]/route.ts +6 -204
  324. package/web/.next/standalone/packages/web/src/app/api/sessions/[id]/send/route.ts +5 -55
  325. package/web/.next/standalone/packages/web/src/app/api/sessions/route.ts +2 -102
  326. package/web/.next/standalone/packages/web/src/app/api/spawn/route.ts +3 -214
  327. package/web/.next/standalone/packages/web/src/app/api/workspaces/branches/route.ts +2 -230
  328. package/web/.next/standalone/packages/web/src/app/api/workspaces/route.ts +3 -589
  329. package/web/.next/standalone/packages/web/src/app/unlock/UnlockForm.tsx +25 -4
  330. package/web/.next/standalone/packages/web/src/components/board/WorkspaceKanban.tsx +8 -8
  331. package/web/.next/standalone/packages/web/src/components/layout/WorkspaceSidebarPanel.tsx +199 -84
  332. package/web/.next/standalone/packages/web/src/components/sessions/ChatPanel.tsx +36 -5
  333. package/web/.next/standalone/packages/web/src/features/dashboard/DashboardClient.tsx +86 -36
  334. package/web/.next/standalone/packages/web/src/features/dashboard/components/WorkspaceOverview.tsx +57 -9
  335. package/web/.next/standalone/packages/web/src/hooks/useSessionOutputStream.ts +11 -0
  336. package/web/.next/standalone/packages/web/src/lib/auth.ts +90 -14
  337. package/web/.next/standalone/packages/web/src/lib/guardedRustProxy.ts +25 -0
  338. package/web/.next/standalone/packages/web/src/lib/liveEvents.ts +64 -7
  339. package/web/.next/standalone/packages/web/src/lib/proxyRoutes.ts +46 -0
  340. package/web/.next/standalone/packages/web/src/lib/runtimeAgentModels.ts +1 -1
  341. package/web/.next/standalone/packages/web/src/lib/rustBackendProxy.ts +154 -0
  342. package/web/.next/standalone/packages/web/src/proxy.ts +3 -20
  343. package/web/.next/static/chunks/{5c7e8425945ad682.js → 07a5ac7389686572.js} +1 -1
  344. package/web/.next/static/chunks/3603312f8407bd12.js +1 -0
  345. package/web/.next/static/chunks/382be8f0b30c5f08.js +1 -0
  346. package/web/.next/static/chunks/479b8cb58c95a8a0.js +1 -0
  347. package/web/.next/static/chunks/53e4f3b495e423c9.js +1 -0
  348. package/web/.next/{standalone/packages/web/.next/static/chunks/3b757dce050133c8.js → static/chunks/5c5637796e242130.js} +2 -2
  349. package/web/.next/static/chunks/{695b7cb206c6dadd.js → 5e05e67a26b7ecbc.js} +1 -1
  350. package/web/.next/static/chunks/6d083840413686dd.css +3 -0
  351. package/web/.next/static/chunks/870a993d28314a90.js +1 -0
  352. package/web/.next/static/chunks/c5caacf383990e7b.js +1 -0
  353. package/web/.next/static/chunks/c7c1bd729f17c8bf.js +1 -0
  354. package/web/.next/static/chunks/e8d146cc2723147b.js +1 -0
  355. package/native/conductor +0 -0
  356. package/web/.next/standalone/packages/web/.next/server/chunks/[externals]__f25f12d4._.js +0 -3
  357. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__005aa909._.js +0 -3
  358. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__008d962e._.js +0 -3
  359. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__00cf28e7._.js +0 -3
  360. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__03ff76ee._.js +0 -3
  361. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__06365513._.js +0 -3
  362. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__075f8697._.js +0 -3
  363. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__097be5a7._.js +0 -3
  364. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__0a0f0f01._.js +0 -3
  365. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__1003246b._.js +0 -3
  366. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__11918223._.js +0 -3
  367. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__13ad088c._.js +0 -3
  368. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__1458f8ec._.js +0 -3
  369. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__14b1d4a3._.js +0 -3
  370. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__1741fb8a._.js +0 -3
  371. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__1875f00e._.js +0 -3
  372. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__1beced71._.js +0 -3
  373. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__1f626a16._.js +0 -129
  374. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__2062aaab._.js +0 -3
  375. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__206c3d8a._.js +0 -3
  376. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__22f8f0d6._.js +0 -129
  377. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__23bebaf9._.js +0 -3
  378. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__2556a816._.js +0 -3
  379. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__25788ed3._.js +0 -54
  380. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__2c3f6397._.js +0 -3
  381. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__2c909fe3._.js +0 -3
  382. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__30921756._.js +0 -3
  383. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__31eea08c._.js +0 -3
  384. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__346d9484._.js +0 -3
  385. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__3edd3509._.js +0 -3
  386. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__3f8b49ba._.js +0 -3
  387. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__3f8e82c2._.js +0 -3
  388. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__44d59fd0._.js +0 -3
  389. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__48875cbb._.js +0 -7
  390. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__49c6a20e._.js +0 -3
  391. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__4ac9d639._.js +0 -3
  392. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__4c3fb752._.js +0 -3
  393. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__4ca8b259._.js +0 -3
  394. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__4dab6a6a._.js +0 -3
  395. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__53385c40._.js +0 -3
  396. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__544326ac._.js +0 -3
  397. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__54a218f0._.js +0 -54
  398. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__55e337f7._.js +0 -3
  399. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__5661ca72._.js +0 -3
  400. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__5cd49624._.js +0 -3
  401. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__5e0533de._.js +0 -3
  402. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__5e161db4._.js +0 -3
  403. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__5ebcb223._.js +0 -3
  404. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__5fd609c9._.js +0 -3
  405. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__60cf7bf4._.js +0 -3
  406. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__60ee4897._.js +0 -3
  407. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__6559c1a4._.js +0 -3
  408. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__659938b1._.js +0 -3
  409. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__6712f45a._.js +0 -3
  410. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__69227de6._.js +0 -3
  411. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__6ab08a39._.js +0 -129
  412. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__6c10c03b._.js +0 -3
  413. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__6cd54de1._.js +0 -3
  414. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__6ce2b5d7._.js +0 -3
  415. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__6cfd00d2._.js +0 -3
  416. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__6d62709d._.js +0 -129
  417. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__6e08e4e4._.js +0 -3
  418. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__749331b0._.js +0 -54
  419. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__74a53184._.js +0 -3
  420. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__76c16426._.js +0 -3
  421. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__778e46a1._.js +0 -129
  422. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__7a26e452._.js +0 -3
  423. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__7ba96fa5._.js +0 -3
  424. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__7e684560._.js +0 -3
  425. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__848eb266._.js +0 -3
  426. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__8596d782._.js +0 -7
  427. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__85d8966b._.js +0 -3
  428. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__86aff2b8._.js +0 -3
  429. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__879cf4d2._.js +0 -3
  430. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__881858fa._.js +0 -3
  431. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__885e3a00._.js +0 -54
  432. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__887ea436._.js +0 -3
  433. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__893f6b3b._.js +0 -3
  434. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__89dfcd05._.js +0 -3
  435. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__8cc5826f._.js +0 -3
  436. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__913af875._.js +0 -3
  437. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__91b42119._.js +0 -3
  438. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__93ce1b75._.js +0 -3
  439. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__96633022._.js +0 -3
  440. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__96951362._.js +0 -3
  441. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__971fcc75._.js +0 -9
  442. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__99da6324._.js +0 -3
  443. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__9f07930d._.js +0 -3
  444. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__9f36b7ec._.js +0 -129
  445. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__9fd08bbc._.js +0 -3
  446. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__a05953cc._.js +0 -3
  447. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__a0b6570d._.js +0 -3
  448. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__a3766ac1._.js +0 -3
  449. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__a3bfaabf._.js +0 -3
  450. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__a420e374._.js +0 -3
  451. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__a4a33247._.js +0 -54
  452. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__ac544bb5._.js +0 -3
  453. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__ad84d2e0._.js +0 -54
  454. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__b3095e9d._.js +0 -3
  455. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__b59abfbd._.js +0 -3
  456. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__b9692a3c._.js +0 -3
  457. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__bcc08c70._.js +0 -3
  458. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__be051d52._.js +0 -3
  459. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__bea07e07._.js +0 -3
  460. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__c1759514._.js +0 -3
  461. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__c2ef2bfc._.js +0 -3
  462. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__c8618cb1._.js +0 -3
  463. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__ca8a18f8._.js +0 -3
  464. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__cafd7bb3._.js +0 -3
  465. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__cb112606._.js +0 -3
  466. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__cc74ea40._.js +0 -3
  467. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__cd3692a0._.js +0 -3
  468. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__cf3cdecd._.js +0 -3
  469. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__d09e7a99._.js +0 -3
  470. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__d40b50e7._.js +0 -3
  471. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__d4721d30._.js +0 -3
  472. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__d538c110._.js +0 -3
  473. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__d73ea818._.js +0 -3
  474. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__db3d0133._.js +0 -3
  475. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__dd0cf085._.js +0 -3
  476. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__de0f2533._.js +0 -7
  477. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__e113f6df._.js +0 -3
  478. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__e1a418bc._.js +0 -3
  479. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__e6c1d827._.js +0 -3
  480. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__ea69c4ce._.js +0 -3
  481. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__eac16890._.js +0 -3
  482. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__eb1dfcc6._.js +0 -3
  483. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__ee75d43a._.js +0 -3
  484. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__ef773ea6._.js +0 -3
  485. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__f0d15920._.js +0 -3
  486. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__f15cbcfc._.js +0 -3
  487. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__f48eb2d4._.js +0 -3
  488. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__fb6ab669._.js +0 -3
  489. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__fe8419b5._.js +0 -129
  490. package/web/.next/standalone/packages/web/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_0e4dc4f7.js +0 -4
  491. package/web/.next/standalone/packages/web/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_dd27f857.js +0 -3
  492. package/web/.next/standalone/packages/web/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_e445b36c.js +0 -3
  493. package/web/.next/standalone/packages/web/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_f375f3c4.js +0 -28
  494. package/web/.next/standalone/packages/web/.next/server/chunks/packages_core_dist_index_cdd30418.js +0 -3
  495. package/web/.next/standalone/packages/web/.next/server/chunks/packages_plugins_agent-amp_dist_index_bf3d8239.js +0 -3
  496. package/web/.next/standalone/packages/web/.next/server/chunks/packages_plugins_agent-ccr_dist_index_69cbf726.js +0 -3
  497. package/web/.next/standalone/packages/web/.next/server/chunks/packages_plugins_agent-claude-code_dist_index_31314e43.js +0 -125
  498. package/web/.next/standalone/packages/web/.next/server/chunks/packages_plugins_agent-cursor-cli_dist_index_8d5cc426.js +0 -3
  499. package/web/.next/standalone/packages/web/.next/server/chunks/packages_plugins_agent-droid_dist_index_f731227a.js +0 -3
  500. package/web/.next/standalone/packages/web/.next/server/chunks/packages_plugins_agent-gemini_dist_index_b2d219e8.js +0 -54
  501. package/web/.next/standalone/packages/web/.next/server/chunks/packages_plugins_agent-github-copilot_dist_index_9f80cb45.js +0 -3
  502. package/web/.next/standalone/packages/web/.next/server/chunks/packages_plugins_agent-opencode_dist_index_7c7015da.js +0 -3
  503. package/web/.next/standalone/packages/web/.next/server/chunks/packages_plugins_agent-qwen-code_dist_index_46dd8653.js +0 -3
  504. package/web/.next/standalone/packages/web/.next/server/chunks/packages_plugins_notifier-desktop_dist_index_ef3473f0.js +0 -3
  505. package/web/.next/standalone/packages/web/.next/server/chunks/packages_plugins_notifier-discord_dist_index_34257226.js +0 -3
  506. package/web/.next/standalone/packages/web/.next/server/chunks/packages_plugins_scm-github_dist_index_3b5a621e.js +0 -3
  507. package/web/.next/standalone/packages/web/.next/server/chunks/packages_plugins_terminal-web_dist_index_1e0706d3.js +0 -3
  508. package/web/.next/standalone/packages/web/.next/server/chunks/packages_plugins_tracker-github_dist_index_2d7af62f.js +0 -3
  509. package/web/.next/standalone/packages/web/.next/server/chunks/packages_web_src_lib_13fee5eb._.js +0 -3
  510. package/web/.next/standalone/packages/web/.next/server/chunks/packages_web_src_lib_d64596cc._.js +0 -3
  511. package/web/.next/standalone/packages/web/.next/server/chunks/ssr/_b88bcf2c._.js +0 -3
  512. package/web/.next/standalone/packages/web/.next/server/chunks/ssr/node_modules_@clerk_nextjs_dist_esm_app-router_38e7b35d._.js +0 -3
  513. package/web/.next/standalone/packages/web/.next/server/chunks/ssr/node_modules_@clerk_nextjs_dist_esm_app-router_f665760b._.js +0 -3
  514. package/web/.next/standalone/packages/web/.next/static/chunks/062888342200567f.js +0 -1
  515. package/web/.next/standalone/packages/web/.next/static/chunks/6c9a11faed9daf4d.js +0 -1
  516. package/web/.next/standalone/packages/web/.next/static/chunks/8221b78965a50858.js +0 -1
  517. package/web/.next/standalone/packages/web/.next/static/chunks/8de84e208e201d72.css +0 -3
  518. package/web/.next/standalone/packages/web/.next/static/chunks/a8d4e0d75ca51921.js +0 -1
  519. package/web/.next/standalone/packages/web/.next/static/chunks/ac6a06c17a4f651f.js +0 -1
  520. package/web/.next/standalone/packages/web/.next/static/chunks/c4ea57fb949fb623.js +0 -1
  521. package/web/.next/standalone/packages/web/.next/static/chunks/d9d05e7b540400af.js +0 -1
  522. package/web/.next/standalone/packages/web/.next/static/chunks/f5d9ad0f62ede339.js +0 -1
  523. package/web/.next/standalone/packages/web/src/lib/services.ts +0 -319
  524. package/web/.next/static/chunks/062888342200567f.js +0 -1
  525. package/web/.next/static/chunks/6c9a11faed9daf4d.js +0 -1
  526. package/web/.next/static/chunks/8221b78965a50858.js +0 -1
  527. package/web/.next/static/chunks/8de84e208e201d72.css +0 -3
  528. package/web/.next/static/chunks/a8d4e0d75ca51921.js +0 -1
  529. package/web/.next/static/chunks/ac6a06c17a4f651f.js +0 -1
  530. package/web/.next/static/chunks/c4ea57fb949fb623.js +0 -1
  531. package/web/.next/static/chunks/d9d05e7b540400af.js +0 -1
  532. package/web/.next/static/chunks/f5d9ad0f62ede339.js +0 -1
  533. /package/web/.next/standalone/packages/web/.next/static/{P8IBAo_woCzrGXJiYCZto → oFTStwDpHHac4pinj0rAJ}/_buildManifest.js +0 -0
  534. /package/web/.next/standalone/packages/web/.next/static/{P8IBAo_woCzrGXJiYCZto → oFTStwDpHHac4pinj0rAJ}/_clientMiddlewareManifest.json +0 -0
  535. /package/web/.next/standalone/packages/web/.next/static/{P8IBAo_woCzrGXJiYCZto → oFTStwDpHHac4pinj0rAJ}/_ssgManifest.js +0 -0
  536. /package/web/.next/static/{P8IBAo_woCzrGXJiYCZto → oFTStwDpHHac4pinj0rAJ}/_buildManifest.js +0 -0
  537. /package/web/.next/static/{P8IBAo_woCzrGXJiYCZto → oFTStwDpHHac4pinj0rAJ}/_clientMiddlewareManifest.json +0 -0
  538. /package/web/.next/static/{P8IBAo_woCzrGXJiYCZto → oFTStwDpHHac4pinj0rAJ}/_ssgManifest.js +0 -0
@@ -1,54 +0,0 @@
1
- module.exports=[67433,e=>{"use strict";e.i(20435);var t=e.i(45629),i=e.i(74533),a=e.i(2157),n=e.i(12714),r=e.i(60526),s=e.i(50227),l=e.i(12057),o=e.i(66680);let u=(0,l.promisify)(i.execFile),c=function(){for(let e of[process.env.GEMINI_BIN,"/opt/homebrew/bin/gemini","/usr/local/bin/gemini","/usr/bin/gemini"].filter(Boolean))if((0,a.existsSync)(e))return e;return"gemini"}(),m=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,a.existsSync)(e))return e;return"tmux"}(),d=(0,s.join)((0,r.homedir)(),".conductor","bin"),p={name:"gemini",slot:"agent",description:"Agent plugin: Google Gemini CLI",version:"0.2.6"},$=`#!/usr/bin/env bash
2
- update_claw_metadata() {
3
- local key="$1" value="$2"
4
- local data_dir="\${AO_DATA_DIR:-}" session="\${AO_SESSION:-}"
5
- [[ -z "$data_dir" || -z "$session" ]] && return 0
6
- case "$session" in */* | *..*) return 0 ;; esac
7
- local metadata_file="$data_dir/$session"
8
- [[ -f "$metadata_file" ]] || return 0
9
- local temp_file="\${metadata_file}.tmp.$$"
10
- local clean_value="$(printf '%s' "$value" | tr -d '\\n')"
11
- local escaped_value="$(printf '%s' "$clean_value" | sed 's/[&|\\\\]/\\\\&/g')"
12
- if grep -q "^\${key}=" "$metadata_file" 2>/dev/null; then
13
- sed "s|^\${key}=.*|\${key}=\${escaped_value}|" "$metadata_file" > "$temp_file"
14
- else
15
- cp "$metadata_file" "$temp_file"
16
- printf '%s=%s\\n' "$key" "$clean_value" >> "$temp_file"
17
- fi
18
- mv "$temp_file" "$metadata_file"
19
- }
20
- `,f=`#!/usr/bin/env bash
21
- bin_dir="$(cd "$(dirname "$0")" && pwd)"
22
- clean_path="$(echo "$PATH" | tr ':' '\\n' | grep -Fxv "$bin_dir" | grep . | tr '\\n' ':')"
23
- clean_path="\${clean_path%:}"
24
- real_gh="$(PATH="$clean_path" command -v gh 2>/dev/null)"
25
- [[ -z "$real_gh" ]] && { echo "conductor-wrapper: gh not found" >&2; exit 127; }
26
- source "$bin_dir/conductor-metadata-helper.sh" 2>/dev/null || true
27
- case "$1/$2" in
28
- pr/create|pr/merge)
29
- tmpout="$(mktemp)"; trap 'rm -f "$tmpout"' EXIT
30
- "$real_gh" "$@" 2>&1 | tee "$tmpout"; exit_code=\${PIPESTATUS[0]}
31
- if [[ $exit_code -eq 0 ]]; then
32
- output="$(cat "$tmpout")"
33
- case "$1/$2" in
34
- pr/create) pr_url="$(echo "$output" | grep -Eo 'https://github\\.com/[^/]+/[^/]+/pull/[0-9]+' | head -1)"
35
- [[ -n "$pr_url" ]] && { update_claw_metadata pr "$pr_url"; update_claw_metadata status pr_open; } ;;
36
- pr/merge) update_claw_metadata status merged ;;
37
- esac
38
- fi; exit $exit_code ;;
39
- *) exec "$real_gh" "$@" ;;
40
- esac
41
- `,_=`#!/usr/bin/env bash
42
- bin_dir="$(cd "$(dirname "$0")" && pwd)"
43
- clean_path="$(echo "$PATH" | tr ':' '\\n' | grep -Fxv "$bin_dir" | grep . | tr '\\n' ':')"
44
- clean_path="\${clean_path%:}"
45
- real_git="$(PATH="$clean_path" command -v git 2>/dev/null)"
46
- [[ -z "$real_git" ]] && { echo "conductor-wrapper: git not found" >&2; exit 127; }
47
- source "$bin_dir/conductor-metadata-helper.sh" 2>/dev/null || true
48
- "$real_git" "$@"; exit_code=$?
49
- if [[ $exit_code -eq 0 ]]; then
50
- case "$1/$2" in checkout/-b|switch/-c) update_claw_metadata branch "$3" ;; esac
51
- fi; exit $exit_code
52
- `;async function h(e,t,i){let a=(0,o.randomBytes)(6).toString("hex"),r=`${e}.tmp.${a}`;await (0,n.writeFile)(r,t,{encoding:"utf-8",mode:i}),await (0,n.rename)(r,e)}async function g(e){await (0,n.mkdir)(d,{recursive:!0}),await h((0,s.join)(d,"conductor-metadata-helper.sh"),$,493);let t=(0,s.join)(d,".conductor-version"),i="0.1.0",a=!0;try{(await (0,n.readFile)(t,"utf-8")).trim()===i&&(a=!1)}catch{}a&&(await h((0,s.join)(d,"gh"),f,493),await h((0,s.join)(d,"git"),_,493),await h(t,i,420));let r=(0,s.join)(e,"AGENTS.md"),l="";try{l=await (0,n.readFile)(r,"utf-8")}catch{}if(!l.includes("Conductor Session")){let e="\n## Conductor Session\n\nYou are running inside a Conductor managed workspace.\nSession metadata is updated automatically via shell wrappers.\n";await (0,n.writeFile)(r,l?l.trimEnd()+"\n"+e:e.trimStart(),"utf-8")}}async function w(e,t=30){if("tmux"!==e.runtimeName||!e.id)return null;try{let{stdout:i}=await u(m,["capture-pane","-t",e.id,"-p","-l",String(t)],{timeout:5e3});return i}catch{return null}}function v(e){if(!e.trim())return"idle";let t=e.trim().split("\n"),i=[...t].reverse().find(e=>""!==e.trim())?.trim()??"";if(/^[❯>]\s*$/.test(i)||/^[>$#]\s*$/.test(i))return"idle";let a=t.slice(-5).join("\n");return/^[❯>]\s*$/m.test(a)?"idle":/approve|allow|deny|confirm/i.test(a)||/\(y\)es.*\(n\)o/i.test(a)||/do you want to/i.test(a)?"waiting_input":/^(done|complete|finished|exiting)/im.test(i)?"idle":"active"}function y(){return{name:"gemini",processName:"gemini",promptDelivery:"inline",getLaunchCommand(e){let i=[c];return e.model&&i.push("--model",(0,t.shellEscape)(e.model)),e.permissions,i.push("--yolo"),e.prompt&&i.push((0,t.shellEscape)(e.prompt)),i.join(" ")},getEnvironment(e){let t={};return t.AO_SESSION_ID=e.sessionId,e.issueId&&(t.AO_ISSUE_ID=e.issueId),t.PATH=`${d}:${process.env.PATH??"/usr/bin:/bin"}`,t},detectActivity:e=>v(e),async getActivityState(e,t){if(!e.runtimeHandle||!await this.isProcessRunning(e.runtimeHandle))return{state:"exited",timestamp:new Date};let i=await w(e.runtimeHandle);if(i){let e=v(i);return{state:"idle"===e?"ready":e,timestamp:new Date}}return null},async isProcessRunning(e){try{if("tmux"===e.runtimeName&&e.id){let{stdout:t}=await u(m,["list-panes","-t",e.id,"-F","#{pane_tty}"],{timeout:3e4}),i=t.trim().split("\n").map(e=>e.trim()).filter(Boolean);if(0===i.length)return!1;let{stdout:a}=await u("ps",["-eo","pid,tty,args"],{timeout:3e4}),n=new Set(i.map(e=>e.replace(/^\/dev\//,""))),r=/(?:^|\/)gemini(?:\s|$)/;for(let e of a.split("\n")){let t=e.trimStart().split(/\s+/);if(!(t.length<3)&&n.has(t[1]??"")&&r.test(t.slice(2).join(" ")))return!0}return!1}let t=e.data.pid,i="number"==typeof t?t:Number(t);if(Number.isFinite(i)&&i>0)try{return process.kill(i,0),!0}catch(e){if(e instanceof Error&&"code"in e&&"EPERM"===e.code)return!0}return!1}catch{return!1}},async getSessionInfo(e){if(!e.runtimeHandle)return null;let t=await w(e.runtimeHandle,50);return t?{summary:t.trim().split("\n").filter(e=>e.trim()).filter(e=>!e.match(/^[❯>$#]\s*$/)&&!e.match(/^\s*$/)).slice(-3).join(" ").substring(0,200)||null,summaryIsFallback:!0,agentSessionId:e.id,cost:void 0}:null},async getRestoreCommand(e,i){let a=[c,"--yolo"];return i.agentConfig?.model&&a.push("--model",(0,t.shellEscape)(i.agentConfig.model)),a.push("--resume","latest"),a.join(" ")},async setupWorkspaceHooks(e,t){if(await g(e),t.mcpServers&&Object.keys(t.mcpServers).length>0){let i=(0,s.join)(e,".gemini");await (0,n.mkdir)(i,{recursive:!0});let a=(0,s.join)(i,"settings.json"),r={};try{let e=await (0,n.readFile)(a,"utf-8");r=JSON.parse(e)}catch{}r.mcpServers=t.mcpServers,await (0,n.writeFile)(a,JSON.stringify(r,null,2),"utf-8")}},async postLaunchSetup(e){e.workspacePath&&await g(e.workspacePath)}}}e.s(["create",()=>y,"default",0,{manifest:p,create:y},"manifest",0,p])}];
53
-
54
- //# sourceMappingURL=packages_plugins_agent-gemini_dist_index_b2d219e8.js.map
@@ -1,3 +0,0 @@
1
- module.exports=[97081,t=>{"use strict";t.i(20435);var e=t.i(45629),i=t.i(74533),n=t.i(2157);let r=(0,t.i(12057).promisify)(i.execFile),l=["github-copilot","copilot","gh-copilot"],u=function(){for(let t of[process.env.GITHUB_COPILOT_BIN,...l.flatMap(t=>[`/opt/homebrew/bin/${t}`,`/usr/local/bin/${t}`,`/usr/bin/${t}`,`/bin/${t}`])].filter(Boolean))if((0,n.existsSync)(t))return t;return l[0]??"github-copilot"}(),s=function(){for(let t of[process.env.TMUX_BIN,"/opt/homebrew/bin/tmux","/usr/local/bin/tmux","/usr/bin/tmux","/bin/tmux"].filter(Boolean))if((0,n.existsSync)(t))return t;return"tmux"}();async function o(t,e=30){if("tmux"!==t.runtimeName||!t.id)return null;try{let{stdout:i}=await r(s,["capture-pane","-t",t.id,"-p","-l",String(e)],{timeout:5e3});return i}catch{return null}}function a(t){if(!t.trim())return"idle";let e=t.trim().split("\n"),i=[...e].reverse().find(t=>""!==t.trim())?.trim()??"";if(/^[❯>$#]\s*$/.test(i))return"idle";let n=e.slice(-8).join("\n");return/\(y\)es.*\(n\)o/i.test(n)||/do you want|confirm|approve|proceed/i.test(n)?"waiting_input":/^(done|complete|finished|exiting)/i.test(i)?"idle":"active"}async function c(t){try{if("tmux"===t.runtimeName&&t.id){let{stdout:e}=await r(s,["list-panes","-t",t.id,"-F","#{pane_tty}"],{timeout:3e4}),i=e.trim().split("\n").map(t=>t.trim()).filter(Boolean);if(0===i.length)return null;let{stdout:n}=await r("ps",["-eo","pid,tty,args"],{timeout:3e4}),l=new Set(i.map(t=>t.replace(/^\/dev\//,""))),u="github-copilot".replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),o=RegExp(`(?:^|/)${u}(?:\\s|$)`);for(let t of n.split("\n")){let e=t.trimStart().split(/\s+/);if(e.length<3||!l.has(e[1]??""))continue;let i=e.slice(2).join(" ");if(o.test(i))return parseInt(e[0]??"0",10)}return null}let e=t.data.pid,i="number"==typeof e?e:Number(e);if(!Number.isFinite(i)||i<=0)return null;try{return process.kill(i,0),i}catch(t){if(t instanceof Error&&"code"in t&&"EPERM"===t.code)return i;return null}}catch{return null}}let m={name:"github-copilot",slot:"agent",description:"Agent plugin: GitHub Copilot CLI",version:"0.2.6"};function p(){return{name:"github-copilot",processName:"github-copilot",promptDelivery:"inline",getLaunchCommand(t){let i=[u];return t.prompt&&i.push((0,e.shellEscape)(t.prompt)),i.join(" ")},getEnvironment(t){let e={};return e.CO_SESSION_ID=t.sessionId,t.issueId&&(e.CO_ISSUE_ID=t.issueId),e},detectActivity:t=>a(t),async getActivityState(t){let e=new Date;if(!t.runtimeHandle||!await c(t.runtimeHandle))return{state:"exited",timestamp:e};let i=await o(t.runtimeHandle);if(!i)return{state:"active",timestamp:e};let n=a(i);return{state:"idle"===n?"ready":n,timestamp:e}},isProcessRunning:async t=>null!==await c(t),async getSessionInfo(t){if(!t.runtimeHandle)return null;let e=await o(t.runtimeHandle,80);if(!e)return null;let i=e.trim().split("\n").map(t=>t.trim()).filter(t=>t.length>0).filter(t=>!/^[❯>$#]\s*$/.test(t)).slice(-1)[0]??null;return i?{summary:i.substring(0,280),summaryIsFallback:!0,agentSessionId:t.id}:null},getRestoreCommand:async()=>null,async setupWorkspaceHooks(t,e){}}}t.s(["create",()=>p,"default",0,{manifest:m,create:p},"manifest",0,m])}];
2
-
3
- //# sourceMappingURL=packages_plugins_agent-github-copilot_dist_index_9f80cb45.js.map
@@ -1,3 +0,0 @@
1
- module.exports=[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),l=["opencode","open-code"],s=function(){for(let e of[process.env.OPEN_CODE_BIN,...l.flatMap(e=>[`/opt/homebrew/bin/${e}`,`/usr/local/bin/${e}`,`/usr/bin/${e}`,`/bin/${e}`])].filter(Boolean))if((0,i.existsSync)(e))return e;return l[0]??"opencode"}(),u=function(){for(let e of[process.env.TMUX_BIN,"/opt/homebrew/bin/tmux","/usr/local/bin/tmux","/usr/bin/tmux","/bin/tmux"].filter(Boolean))if((0,i.existsSync)(e))return e;return"tmux"}();async function o(e,t=30){if("tmux"!==e.runtimeName||!e.id)return null;try{let{stdout:n}=await r(u,["capture-pane","-t",e.id,"-p","-l",String(t)],{timeout:5e3});return n}catch{return null}}function 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(u,["list-panes","-t",e.id,"-F","#{pane_tty}"],{timeout:3e4}),n=t.trim().split("\n").map(e=>e.trim()).filter(Boolean);if(0===n.length)return null;let{stdout:i}=await r("ps",["-eo","pid,tty,args"],{timeout:3e4}),l=new Set(n.map(e=>e.replace(/^\/dev\//,""))),s="opencode".replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),o=RegExp(`(?:^|/)${s}(?:\\s|$)`);for(let e of i.split("\n")){let t=e.trimStart().split(/\s+/);if(t.length<3||!l.has(t[1]??""))continue;let n=t.slice(2).join(" ");if(o.test(n))return parseInt(t[0]??"0",10)}return null}let t=e.data.pid,n="number"==typeof t?t:Number(t);if(!Number.isFinite(n)||n<=0)return null;try{return process.kill(n,0),n}catch(e){if(e instanceof Error&&"code"in e&&"EPERM"===e.code)return n;return null}}catch{return null}}let m={name:"opencode",slot:"agent",description:"Agent plugin: OpenCode CLI",version:"0.2.6"};function p(){return{name:"opencode",processName:"opencode",promptDelivery:"inline",getLaunchCommand(e){let n=[s];return e.prompt&&n.push((0,t.shellEscape)(e.prompt)),n.join(" ")},getEnvironment(e){let t={};return t.CO_SESSION_ID=e.sessionId,e.issueId&&(t.CO_ISSUE_ID=e.issueId),t},detectActivity:e=>a(e),async getActivityState(e){let t=new Date;if(!e.runtimeHandle||!await c(e.runtimeHandle))return{state:"exited",timestamp:t};let n=await o(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 o(e.runtimeHandle,80);if(!t)return null;let n=t.trim().split("\n").map(e=>e.trim()).filter(e=>e.length>0).filter(e=>!/^[❯>$#]\s*$/.test(e)).slice(-1)[0]??null;return n?{summary:n.substring(0,280),summaryIsFallback:!0,agentSessionId:e.id}:null},getRestoreCommand:async()=>null,async setupWorkspaceHooks(e,t){}}}e.s(["create",()=>p,"default",0,{manifest:m,create:p},"manifest",0,m])}];
2
-
3
- //# sourceMappingURL=packages_plugins_agent-opencode_dist_index_7c7015da.js.map
@@ -1,3 +0,0 @@
1
- module.exports=[92781,e=>{"use strict";e.i(20435);var t=e.i(45629),n=e.i(74533),i=e.i(2157);let r=(0,e.i(12057).promisify)(n.execFile),l=["qwen","qwen-code"],s=["qwen","qwen-code"],u=function(){for(let e of[process.env.QWEN_BIN,process.env.QWEN_CODE_BIN,...l.flatMap(e=>[`/opt/homebrew/bin/${e}`,`/usr/local/bin/${e}`,`/usr/bin/${e}`,`/bin/${e}`])].filter(Boolean))if((0,i.existsSync)(e))return e;return l[0]??"qwen-code"}(),a=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 o(e,t=30){if("tmux"!==e.runtimeName||!e.id)return null;try{let{stdout:n}=await r(a,["capture-pane","-t",e.id,"-p","-l",String(t)],{timeout:5e3});return n}catch{return null}}function c(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 m(e){try{if("tmux"===e.runtimeName&&e.id){let{stdout:t}=await r(a,["list-panes","-t",e.id,"-F","#{pane_tty}"],{timeout:3e4}),n=t.trim().split("\n").map(e=>e.trim()).filter(Boolean);if(0===n.length)return null;let{stdout:i}=await r("ps",["-eo","pid,tty,args"],{timeout:3e4}),l=new Set(n.map(e=>e.replace(/^\/dev\//,""))),u=s.map(e=>e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")).join("|"),o=RegExp(`(?:^|/)(?:${u})(?:\\s|$)`);for(let e of i.split("\n")){let t=e.trimStart().split(/\s+/);if(t.length<3||!l.has(t[1]??""))continue;let n=t.slice(2).join(" ");if(o.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 p={name:"qwen-code",slot:"agent",description:"Agent plugin: Qwen Code CLI",version:"0.2.6"};function d(){return{name:"qwen-code",processName:"qwen",promptDelivery:"inline",getLaunchCommand(e){let n=[u];return e.model&&n.push("--model",(0,t.shellEscape)(e.model)),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=>c(e),async getActivityState(e){let t=new Date;if(!e.runtimeHandle||!await m(e.runtimeHandle))return{state:"exited",timestamp:t};let n=await o(e.runtimeHandle);if(!n)return{state:"active",timestamp:t};let i=c(n);return{state:"idle"===i?"ready":i,timestamp:t}},isProcessRunning:async e=>null!==await m(e),async getSessionInfo(e){if(!e.runtimeHandle)return null;let t=await o(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",()=>d,"default",0,{manifest:p,create:d},"manifest",0,p])}];
2
-
3
- //# sourceMappingURL=packages_plugins_agent-qwen-code_dist_index_46dd8653.js.map
@@ -1,3 +0,0 @@
1
- module.exports=[70178,e=>{"use strict";var t=e.i(74533),o=e.i(60526);let i={name:"desktop",slot:"notifier",description:"Notifier plugin: desktop notifications (macOS + Linux)",version:"0.2.6"};function n(e){let o="boolean"!=typeof e?.sound||e.sound;return{name:"desktop",async notify(e){var i,n;let r,s=(r="urgent"===e.priority?"URGENT":"Conductor",`${r} [${e.sessionId}]`),a=e.message,c=(i=e.priority,!!o&&"urgent"===i);try{await (n={sound:c},new Promise((e,o)=>{{let i=[s,a];n.sound&&i.push("--urgency=critical"),(0,t.execFile)("notify-send",i,t=>{t?o(t):e()})}}))}catch(t){let e=t instanceof Error?t.message:String(t);console.error(`[notifier-desktop] Failed to send notification: ${e}`)}}}}(0,o.platform)(),e.s(["create",()=>n,"default",0,{manifest:i,create:n},"manifest",0,i])}];
2
-
3
- //# sourceMappingURL=packages_plugins_notifier-desktop_dist_index_ef3473f0.js.map
@@ -1,3 +0,0 @@
1
- module.exports=[11544,t=>{"use strict";let e={name:"discord",slot:"notifier",description:"Notifier plugin: Discord via REST API",version:"0.2.6"};async function s(t,e,s){let i=`https://discord.com/api/v10/channels/${t}/messages`,r=await fetch(i,{method:"POST",headers:{Authorization:`Bot ${e}`,"Content-Type":"application/json"},body:JSON.stringify(s)});if(!r.ok){let t=await r.text().catch(()=>"unknown error");throw Error(`Discord API error ${r.status}: ${t}`)}}function i(t){let e=t?.channelId,i=t?.tokenEnvVar??"DISCORD_BOT_TOKEN";return e?{name:"discord",async notify(t){let r=process.env[i];if(!r)return void console.warn(`[notifier-discord] ${i} not set, skipping notification`);try{var n;let i,a,o=(i=(n=t.type).startsWith("session.spawned")?"🚀":n.startsWith("session.working")?"⚙️":n.startsWith("session.exited")?"🏁":n.startsWith("session.killed")?"💀":n.startsWith("session.stuck")?"🪫":n.startsWith("session.needs_input")?"⏳":n.startsWith("session.errored")?"💥":n.startsWith("pr.created")?"📬":n.startsWith("pr.merged")?"🎉":n.startsWith("pr.closed")?"🚫":n.startsWith("ci.passing")?"✅":n.startsWith("ci.failing")?"❌":n.startsWith("ci.fix_sent")?"🔧":n.startsWith("review.approved")?"👍":n.startsWith("review.changes_requested")?"📝":n.startsWith("review.pending")?"👀":n.startsWith("merge.ready")?"🟢":n.startsWith("merge.completed")?"🏆":n.startsWith("merge.conflicts")?"⚠️":n.startsWith("reaction.")?"⚡":n.startsWith("summary.")?"📊":"📢",(a=[]).push({name:"Session",value:`\`${t.sessionId}\``,inline:!0}),a.push({name:"Project",value:`\`${t.projectId}\``,inline:!0}),a.push({name:"Event",value:`\`${t.type}\``,inline:!0}),t.data.url&&"string"==typeof t.data.url&&a.push({name:"URL",value:t.data.url,inline:!1}),t.data.branch&&"string"==typeof t.data.branch&&a.push({name:"Branch",value:`\`${t.data.branch}\``,inline:!0}),{title:`${i} ${t.type.replace(/\./g," ").replace(/\b\w/g,t=>t.toUpperCase())}`,description:t.message,color:function(t){switch(t){case"urgent":return 0xff0000;case"action":return 0xff8c00;case"warning":return 0xffd700;default:return 5793266}}(t.priority),fields:a,timestamp:t.timestamp.toISOString(),footer:{text:`Conductor | ${t.priority}`}});await s(e,r,{embeds:[o]})}catch(e){let t=e instanceof Error?e.message:String(e);console.error(`[notifier-discord] Failed to send notification: ${t}`)}}}:(console.warn("[notifier-discord] No channelId configured — Discord notifications disabled."),console.warn("[notifier-discord] Set plugins.discord.channelId in conductor.yaml"),{name:"discord",async notify(){}})}t.s(["create",()=>i,"default",0,{manifest:e,create:i},"manifest",0,e])}];
2
-
3
- //# sourceMappingURL=packages_plugins_notifier-discord_dist_index_34257226.js.map
@@ -1,3 +0,0 @@
1
- module.exports=[402,e=>{"use strict";var t=e.i(74533);let r=(0,e.i(12057).promisify)(t.execFile);async function n(e){try{let{stdout:t}=await r("gh",e,{maxBuffer:0xa00000,timeout:3e4});return t.trim()}catch(r){let t=r instanceof Error?r.message:String(r);if(t.includes("rate limit")||t.includes("403")||t.includes("secondary rate"))throw Error(`gh rate limited: ${e.slice(0,3).join(" ")}`,{cause:r});throw Error(`gh ${e.slice(0,3).join(" ")} failed: ${t}`,{cause:r})}}function i(e,t){try{return JSON.parse(e)}catch{throw Error(`Failed to parse gh output for ${t}: ${e.slice(0,200)}`)}}function a(e){return`${e.owner}/${e.repo}`}let s={name:"github",slot:"scm",description:"SCM plugin: GitHub PRs, CI checks, reviews, merge readiness",version:"0.2.6"};function o(){return{name:"github",async detectPR(e,t){if(!e.branch)return null;let r=t.repo.split("/");if(2!==r.length||!r[0]||!r[1])throw Error(`Invalid repo format "${t.repo}", expected "owner/repo"`);let[a,s]=r;try{let r=await n(["pr","list","--repo",t.repo,"--head",e.branch,"--json","number,url,title,headRefName,baseRefName,isDraft","--limit","1"]),o=i(r,"detectPR");if(0===o.length)return null;let l=o[0];return{number:l.number,url:l.url,title:l.title,owner:a,repo:s,branch:l.headRefName,baseBranch:l.baseRefName,isDraft:l.isDraft}}catch{return null}},async getPRState(e){let t=i(await n(["pr","view",String(e.number),"--repo",a(e),"--json","state"]),"getPRState").state.toUpperCase();return"MERGED"===t?"merged":"CLOSED"===t?"closed":"open"},async mergePR(e,t="squash"){await n(["pr","merge",String(e.number),"--repo",a(e),"rebase"===t?"--rebase":"merge"===t?"--merge":"--squash","--delete-branch"])},async closePR(e){await n(["pr","close",String(e.number),"--repo",a(e)])},async getCIChecks(e){try{let t=await n(["pr","checks",String(e.number),"--repo",a(e),"--json","name,state,link"]);return i(t,"getCIChecks").map(e=>{let t,r=e.state?.toUpperCase();return t="PENDING"===r||"QUEUED"===r?"pending":"IN_PROGRESS"===r?"running":"SUCCESS"===r?"passed":"FAILURE"===r||"TIMED_OUT"===r||"CANCELLED"===r||"ACTION_REQUIRED"===r?"failed":"SKIPPED"===r||"NEUTRAL"===r?"skipped":"failed",{name:e.name,status:t,url:e.link||void 0}})}catch(e){throw Error("Failed to fetch CI checks",{cause:e})}},async getCISummary(e){let t;try{t=await this.getCIChecks(e)}catch(t){if((t instanceof Error?t.message:String(t)).includes("rate limit"))return"pending";try{let t=await this.getPRState(e);if("merged"===t||"closed"===t)return"none"}catch{return"pending"}return"failing"}return 0===t.length?"none":t.some(e=>"failed"===e.status)?"failing":t.some(e=>"pending"===e.status||"running"===e.status)?"pending":t.some(e=>"passed"===e.status)?"passing":"none"},getReviews:async e=>i(await n(["pr","view",String(e.number),"--repo",a(e),"--json","reviews"]),"getReviews").reviews.map(e=>{let t,r=e.state?.toUpperCase();return t="APPROVED"===r?"approved":"CHANGES_REQUESTED"===r?"changes_requested":"DISMISSED"===r?"dismissed":"PENDING"===r?"pending":"commented",{author:e.author?.login??"unknown",state:t,body:e.body||void 0,submittedAt:function(e){if(!e)return new Date(0);let t=new Date(e);return isNaN(t.getTime())?new Date(0):t}(e.submittedAt)}}),async getReviewDecision(e){let t=(i(await n(["pr","view",String(e.number),"--repo",a(e),"--json","reviewDecision"]),"getReviewDecision").reviewDecision??"").toUpperCase();return"APPROVED"===t?"approved":"CHANGES_REQUESTED"===t?"changes_requested":"REVIEW_REQUIRED"===t?"pending":"none"},async getDeploymentPreviewUrl(e){try{let{stdout:t}=await r("gh",["pr","checks",String(e.number),"--repo",a(e),"--json","name,link,state"],{timeout:15e3,maxBuffer:2097152}),n=i(t.trim(),"getDeploymentPreviewUrl"),s=/vercel|netlify|preview|deploy/i,o=/vercel\.app|netlify\.app|preview/i;for(let e of n)if(s.test(e.name)&&e.link&&o.test(e.link))return e.link;return null}catch{return null}},async getMergeability(e){let t=[];if("merged"===await this.getPRState(e))return{mergeable:!0,ciPassing:!0,approved:!0,noConflicts:!0,blockers:[]};let r=i(await n(["pr","view",String(e.number),"--repo",a(e),"--json","mergeable,reviewDecision,mergeStateStatus,isDraft"]),"getMergeability"),s=await this.getCISummary(e),o="passing"===s||"none"===s;o||t.push(`CI is ${s}`);let l=(r.reviewDecision??"").toUpperCase();"CHANGES_REQUESTED"===l?t.push("Changes requested in review"):"REVIEW_REQUIRED"===l&&t.push("Review required");let u=(r.mergeable??"").toUpperCase(),c=(r.mergeStateStatus??"").toUpperCase();return"CONFLICTING"===u?t.push("Merge conflicts"):("UNKNOWN"===u||""===u)&&t.push("Merge status unknown (GitHub is computing)"),"BEHIND"===c?t.push("Branch is behind base branch"):"BLOCKED"===c?t.push("Merge is blocked by branch protection"):"UNSTABLE"===c&&t.push("Required checks are failing"),r.isDraft&&t.push("PR is still a draft"),{mergeable:0===t.length,ciPassing:o,approved:"APPROVED"===l,noConflicts:"MERGEABLE"===u,blockers:t}}}}e.s(["create",()=>o,"default",0,{manifest:s,create:o},"manifest",0,s])}];
2
-
3
- //# sourceMappingURL=packages_plugins_scm-github_dist_index_3b5a621e.js.map
@@ -1,3 +0,0 @@
1
- module.exports=[39172,e=>{"use strict";var r=e.i(74533);let n={name:"web",slot:"terminal",description:"Terminal plugin: web terminal via browser",version:"0.2.6"};function o(e){let n=e?.dashboardUrl??"http://localhost:3000";return{name:"web",async openSession(e){let o=`${n}/sessions/${e.id}`;try{await new Promise((e,n)=>{(0,r.execFile)("open",[o],r=>{r?n(r):e()})})}catch(n){let r=n instanceof Error?n.message:String(n);console.error(`[terminal-web] Failed to open browser: ${r}`),console.log(`[terminal-web] Session ${e.id} terminal available at ${o}`)}},async openAll(e){if(0===e.length)return;let o=`${n}/sessions`;try{await new Promise((e,n)=>{(0,r.execFile)("open",[o],r=>{r?n(r):e()})})}catch(n){let r=n instanceof Error?n.message:String(n);console.error(`[terminal-web] Failed to open browser: ${r}`),console.log(`[terminal-web] ${e.length} sessions available at ${o}`)}}}}e.s(["create",()=>o,"default",0,{manifest:n,create:o},"manifest",0,n])}];
2
-
3
- //# sourceMappingURL=packages_plugins_terminal-web_dist_index_1e0706d3.js.map
@@ -1,3 +0,0 @@
1
- module.exports=[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 a={name:"github",slot:"tracker",description:"Tracker plugin: GitHub Issues",version:"0.2.6"};function i(){return{name:"github",async getIssue(e,t){var s,a;let i,o=await r(["issue","view",e,"--repo",t.repo,"--json","number,title,body,url,state,stateReason,labels"]);try{i=JSON.parse(o)}catch{throw Error(`Failed to parse gh output for getIssue: ${o.slice(0,200)}`)}return{id:String(i.number),title:i.title,description:i.body??"",url:i.url,state:(s=i.state,a=i.stateReason,"CLOSED"===s.toUpperCase()?a?.toUpperCase()==="NOT_PLANNED"?"cancelled":"closed":"open"),labels:i.labels.map(e=>e.name)}},async isCompleted(e,t){let s,a=await r(["issue","view",e,"--repo",t.repo,"--json","state"]);try{s=JSON.parse(a)}catch{throw Error(`Failed to parse gh output for isCompleted: ${a.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",()=>i,"default",0,{manifest:a,create:i},"manifest",0,a])}];
2
-
3
- //# sourceMappingURL=packages_plugins_tracker-github_dist_index_2d7af62f.js.map
@@ -1,3 +0,0 @@
1
- module.exports=[22156,84253,e=>{"use strict";let t,r,a={viewer:0,operator:1,admin:2};function o(e){return(e??[]).map(e=>e.trim().toLowerCase()).filter(Boolean)}function i(e,t,r){return t.includes(e)||r.some(t=>e.endsWith(`@${t}`))}function n(e){let t=(e??"").trim().toLowerCase();return"localhost"===t||"127.0.0.1"===t||"0.0.0.0"===t||"::1"===t||"[::1]"===t}function s(e,t){return a[e]>=a[t]}function c(e,t,r){let a=e.trim().toLowerCase(),n=t?.roles,s=[...o(n?.admins),...o(r?.adminEmails)],c=[...o(n?.operators),...o(r?.allowedEmails)],l=o(n?.viewers),u=o(n?.adminDomains),d=[...o(n?.operatorDomains),...o(r?.allowedDomains)],h=o(n?.viewerDomains),f=!!n&&(o(n.viewers).length>0||o(n.operators).length>0||o(n.admins).length>0||o(n.viewerDomains).length>0||o(n.operatorDomains).length>0||o(n.adminDomains).length>0)||s.length>0||c.length>0||d.length>0;return i(a,s,u)?{role:"admin",matchedBinding:!0,explicitBindingsConfigured:f}:i(a,c,d)?{role:"operator",matchedBinding:!0,explicitBindingsConfigured:f}:i(a,l,h)?{role:"viewer",matchedBinding:!0,explicitBindingsConfigured:f}:t?.defaultRole?{role:t.defaultRole,matchedBinding:!1,explicitBindingsConfigured:f}:f?{role:null,matchedBinding:!1,explicitBindingsConfigured:f}:{role:"operator",matchedBinding:!1,explicitBindingsConfigured:f}}e.s(["isLoopbackHost",()=>n,"resolveRoleForEmail",()=>c,"roleMeetsRequirement",()=>s],22156);class l extends Error{static code="ERR_JOSE_GENERIC";code="ERR_JOSE_GENERIC";constructor(e,t){super(e,t),this.name=this.constructor.name,Error.captureStackTrace?.(this,this.constructor)}}class u extends l{static code="ERR_JWT_CLAIM_VALIDATION_FAILED";code="ERR_JWT_CLAIM_VALIDATION_FAILED";claim;reason;payload;constructor(e,t,r="unspecified",a="unspecified"){super(e,{cause:{claim:r,reason:a,payload:t}}),this.claim=r,this.reason=a,this.payload=t}}class d extends l{static code="ERR_JWT_EXPIRED";code="ERR_JWT_EXPIRED";claim;reason;payload;constructor(e,t,r="unspecified",a="unspecified"){super(e,{cause:{claim:r,reason:a,payload:t}}),this.claim=r,this.reason=a,this.payload=t}}class h extends l{static code="ERR_JOSE_ALG_NOT_ALLOWED";code="ERR_JOSE_ALG_NOT_ALLOWED"}class f extends l{static code="ERR_JOSE_NOT_SUPPORTED";code="ERR_JOSE_NOT_SUPPORTED"}class p extends l{static code="ERR_JWS_INVALID";code="ERR_JWS_INVALID"}class y extends l{static code="ERR_JWT_INVALID";code="ERR_JWT_INVALID"}class m extends l{static code="ERR_JWKS_INVALID";code="ERR_JWKS_INVALID"}class w extends l{static code="ERR_JWKS_NO_MATCHING_KEY";code="ERR_JWKS_NO_MATCHING_KEY";constructor(e="no applicable key found in the JSON Web Key Set",t){super(e,t)}}class g extends l{[Symbol.asyncIterator];static code="ERR_JWKS_MULTIPLE_MATCHING_KEYS";code="ERR_JWKS_MULTIPLE_MATCHING_KEYS";constructor(e="multiple matching keys found in the JSON Web Key Set",t){super(e,t)}}class S extends l{static code="ERR_JWKS_TIMEOUT";code="ERR_JWKS_TIMEOUT";constructor(e="request timed out",t){super(e,t)}}class v extends l{static code="ERR_JWS_SIGNATURE_VERIFICATION_FAILED";code="ERR_JWS_SIGNATURE_VERIFICATION_FAILED";constructor(e="signature verification failed",t){super(e,t)}}let A=new TextEncoder,E=new TextDecoder;function b(e){let t=new Uint8Array(e.length);for(let r=0;r<e.length;r++){let a=e.charCodeAt(r);if(a>127)throw TypeError("non-ASCII string encountered in encode()");t[r]=a}return t}function C(e){if(Uint8Array.fromBase64)return Uint8Array.fromBase64("string"==typeof e?e:E.decode(e),{alphabet:"base64url"});let t=e;t instanceof Uint8Array&&(t=E.decode(t)),t=t.replace(/-/g,"+").replace(/_/g,"/");try{var r=t;if(Uint8Array.fromBase64)return Uint8Array.fromBase64(r);let e=atob(r),a=new Uint8Array(e.length);for(let t=0;t<e.length;t++)a[t]=e.charCodeAt(t);return a}catch{throw TypeError("The input to be decoded is not correctly encoded.")}}async function k(e){if(!e.alg)throw TypeError('"alg" argument is required when "jwk.alg" is not present');let{algorithm:t,keyUsages:r}=function(e){let t,r;switch(e.kty){case"AKP":switch(e.alg){case"ML-DSA-44":case"ML-DSA-65":case"ML-DSA-87":t={name:e.alg},r=e.priv?["sign"]:["verify"];break;default:throw new f('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}break;case"RSA":switch(e.alg){case"PS256":case"PS384":case"PS512":t={name:"RSA-PSS",hash:`SHA-${e.alg.slice(-3)}`},r=e.d?["sign"]:["verify"];break;case"RS256":case"RS384":case"RS512":t={name:"RSASSA-PKCS1-v1_5",hash:`SHA-${e.alg.slice(-3)}`},r=e.d?["sign"]:["verify"];break;case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":t={name:"RSA-OAEP",hash:`SHA-${parseInt(e.alg.slice(-3),10)||1}`},r=e.d?["decrypt","unwrapKey"]:["encrypt","wrapKey"];break;default:throw new f('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}break;case"EC":switch(e.alg){case"ES256":t={name:"ECDSA",namedCurve:"P-256"},r=e.d?["sign"]:["verify"];break;case"ES384":t={name:"ECDSA",namedCurve:"P-384"},r=e.d?["sign"]:["verify"];break;case"ES512":t={name:"ECDSA",namedCurve:"P-521"},r=e.d?["sign"]:["verify"];break;case"ECDH-ES":case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":t={name:"ECDH",namedCurve:e.crv},r=e.d?["deriveBits"]:[];break;default:throw new f('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}break;case"OKP":switch(e.alg){case"Ed25519":case"EdDSA":t={name:"Ed25519"},r=e.d?["sign"]:["verify"];break;case"ECDH-ES":case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":t={name:e.crv},r=e.d?["deriveBits"]:[];break;default:throw new f('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}break;default:throw new f('Invalid or unsupported JWK "kty" (Key Type) Parameter value')}return{algorithm:t,keyUsages:r}}(e),a={...e};return"AKP"!==a.kty&&delete a.alg,delete a.use,crypto.subtle.importKey("jwk",a,t,e.ext??(!e.d&&!e.priv),e.key_ops??r)}function R(e){if("object"!=typeof e||null===e||"[object Object]"!==Object.prototype.toString.call(e))return!1;if(null===Object.getPrototypeOf(e))return!0;let t=e;for(;null!==Object.getPrototypeOf(t);)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t}async function _(e,t,r){let a;if(!R(e))throw TypeError("JWK must be an object");switch(t??=e.alg,a??=r?.extractable??e.ext,e.kty){case"oct":if("string"!=typeof e.k||!e.k)throw TypeError('missing "k" (Key Value) Parameter value');return C(e.k);case"RSA":if("oth"in e&&void 0!==e.oth)throw new f('RSA JWK "oth" (Other Primes Info) Parameter value is not supported');return k({...e,alg:t,ext:a});case"AKP":if("string"!=typeof e.alg||!e.alg)throw TypeError('missing "alg" (Algorithm) Parameter value');if(void 0!==t&&t!==e.alg)throw TypeError("JWK alg and alg option value mismatch");return k({...e,ext:a});case"EC":case"OKP":return k({...e,alg:t,ext:a});default:throw new f('Unsupported "kty" (Key Type) Parameter value')}}function T(e){return R(e)}class O{#e;#t=new WeakMap;constructor(e){if(!function(e){return e&&"object"==typeof e&&Array.isArray(e.keys)&&e.keys.every(T)}(e))throw new m("JSON Web Key Set malformed");this.#e=structuredClone(e)}jwks(){return this.#e}async getKey(e,t){let{alg:r,kid:a}={...e,...t?.header},o=function(e){switch("string"==typeof e&&e.slice(0,2)){case"RS":case"PS":return"RSA";case"ES":return"EC";case"Ed":return"OKP";case"ML":return"AKP";default:throw new f('Unsupported "alg" value for a JSON Web Key Set')}}(r),i=this.#e.keys.filter(e=>{let t=o===e.kty;if(t&&"string"==typeof a&&(t=a===e.kid),t&&("string"==typeof e.alg||"AKP"===o)&&(t=r===e.alg),t&&"string"==typeof e.use&&(t="sig"===e.use),t&&Array.isArray(e.key_ops)&&(t=e.key_ops.includes("verify")),t)switch(r){case"ES256":t="P-256"===e.crv;break;case"ES384":t="P-384"===e.crv;break;case"ES512":t="P-521"===e.crv;break;case"Ed25519":case"EdDSA":t="Ed25519"===e.crv}return t}),{0:n,length:s}=i;if(0===s)throw new w;if(1!==s){let e=new g,t=this.#t;throw e[Symbol.asyncIterator]=async function*(){for(let e of i)try{yield await D(t,e,r)}catch{}},e}return D(this.#t,n,r)}}async function D(e,t,r){let a=e.get(t)||e.set(t,{}).get(t);if(void 0===a[r]){let e=await _({...t,ext:!0},r);if(e instanceof Uint8Array||"public"!==e.type)throw new m("JSON Web Key Set members must be public keys");a[r]=e}return a[r]}function K(e){let t=new O(e),r=async(e,r)=>t.getKey(e,r);return Object.defineProperties(r,{jwks:{value:()=>structuredClone(t.jwks()),enumerable:!1,configurable:!1,writable:!1}}),r}("u"<typeof navigator||!navigator.userAgent?.startsWith?.("Mozilla/5.0 "))&&(t="jose/v6.2.0");let P=Symbol();async function L(e,t,r,a=fetch){let o=await a(e,{method:"GET",signal:r,redirect:"manual",headers:t}).catch(e=>{if("TimeoutError"===e.name)throw new S;throw e});if(200!==o.status)throw new l("Expected 200 OK from the JSON Web Key Set HTTP response");try{return await o.json()}catch{throw new l("Failed to parse the JSON Web Key Set HTTP response as JSON")}}let W=Symbol();class H{#r;#a;#o;#i;#n;#s;#c;#l;#u;#d;constructor(e,r){if(!(e instanceof URL))throw TypeError("url must be an instance of URL");this.#r=new URL(e.href),this.#a="number"==typeof r?.timeoutDuration?r?.timeoutDuration:5e3,this.#o="number"==typeof r?.cooldownDuration?r?.cooldownDuration:3e4,this.#i="number"==typeof r?.cacheMaxAge?r?.cacheMaxAge:6e5,this.#c=new Headers(r?.headers),t&&!this.#c.has("User-Agent")&&this.#c.set("User-Agent",t),this.#c.has("accept")||(this.#c.set("accept","application/json"),this.#c.append("accept","application/jwk-set+json")),this.#l=r?.[P],r?.[W]!==void 0&&(this.#d=r?.[W],function(e,t){return!("object"!=typeof e||null===e||!("uat"in e)||"number"!=typeof e.uat||Date.now()-e.uat>=t)&&"jwks"in e&&!!R(e.jwks)&&!!Array.isArray(e.jwks.keys)&&!!Array.prototype.every.call(e.jwks.keys,R)}(r?.[W],this.#i)&&(this.#n=this.#d.uat,this.#u=K(this.#d.jwks)))}pendingFetch(){return!!this.#s}coolingDown(){return"number"==typeof this.#n&&Date.now()<this.#n+this.#o}fresh(){return"number"==typeof this.#n&&Date.now()<this.#n+this.#i}jwks(){return this.#u?.jwks()}async getKey(e,t){this.#u&&this.fresh()||await this.reload();try{return await this.#u(e,t)}catch(r){if(r instanceof w&&!1===this.coolingDown())return await this.reload(),this.#u(e,t);throw r}}async reload(){this.#s&&("u">typeof WebSocketPair||"u">typeof navigator&&"Cloudflare-Workers"===navigator.userAgent||"u">typeof EdgeRuntime&&"vercel"===EdgeRuntime)&&(this.#s=void 0),this.#s||=L(this.#r.href,this.#c,AbortSignal.timeout(this.#a),this.#l).then(e=>{this.#u=K(e),this.#d&&(this.#d.uat=Date.now(),this.#d.jwks=e),this.#n=Date.now(),this.#s=void 0}).catch(e=>{throw this.#s=void 0,e}),await this.#s}}let I=(e,t="algorithm.name")=>TypeError(`CryptoKey does not support this operation, its ${t} must be ${e}`);function U(e){return parseInt(e.name.slice(4),10)}function N(e,t,...r){if((r=r.filter(Boolean)).length>2){let t=r.pop();e+=`one of type ${r.join(", ")}, or ${t}.`}else 2===r.length?e+=`one of type ${r[0]} or ${r[1]}.`:e+=`of type ${r[0]}.`;return null==t?e+=` Received ${t}`:"function"==typeof t&&t.name?e+=` Received function ${t.name}`:"object"==typeof t&&null!=t&&t.constructor?.name&&(e+=` Received an instance of ${t.constructor.name}`),e}let j=(e,t,...r)=>N(`Key for the ${e} algorithm must be `,t,...r);async function M(e,t,r){if(t instanceof Uint8Array){if(!e.startsWith("HS"))throw TypeError(((e,...t)=>N("Key must be ",e,...t))(t,"CryptoKey","KeyObject","JSON Web Key"));return crypto.subtle.importKey("raw",t,{hash:`SHA-${e.slice(-3)}`,name:"HMAC"},!1,[r])}return!function(e,t,r){switch(t){case"HS256":case"HS384":case"HS512":{if("HMAC"!==e.algorithm.name)throw I("HMAC");let r=parseInt(t.slice(2),10);if(U(e.algorithm.hash)!==r)throw I(`SHA-${r}`,"algorithm.hash");break}case"RS256":case"RS384":case"RS512":{if("RSASSA-PKCS1-v1_5"!==e.algorithm.name)throw I("RSASSA-PKCS1-v1_5");let r=parseInt(t.slice(2),10);if(U(e.algorithm.hash)!==r)throw I(`SHA-${r}`,"algorithm.hash");break}case"PS256":case"PS384":case"PS512":{if("RSA-PSS"!==e.algorithm.name)throw I("RSA-PSS");let r=parseInt(t.slice(2),10);if(U(e.algorithm.hash)!==r)throw I(`SHA-${r}`,"algorithm.hash");break}case"Ed25519":case"EdDSA":if("Ed25519"!==e.algorithm.name)throw I("Ed25519");break;case"ML-DSA-44":case"ML-DSA-65":case"ML-DSA-87":let a;if(a=e.algorithm,a.name!==t)throw I(t);break;case"ES256":case"ES384":case"ES512":{if("ECDSA"!==e.algorithm.name)throw I("ECDSA");let r=function(e){switch(e){case"ES256":return"P-256";case"ES384":return"P-384";case"ES512":return"P-521";default:throw Error("unreachable")}}(t);if(e.algorithm.namedCurve!==r)throw I(r,"algorithm.namedCurve");break}default:throw TypeError("CryptoKey does not support this operation")}if(r&&!e.usages.includes(r))throw TypeError(`CryptoKey does not support this operation, its usages must include ${r}.`)}(t,e,r),t}async function J(e,t,r,a){let o=await M(e,t,"verify");!function(e,t){if(e.startsWith("RS")||e.startsWith("PS")){let{modulusLength:r}=t.algorithm;if("number"!=typeof r||r<2048)throw TypeError(`${e} requires key modulusLength to be 2048 bits or larger`)}}(e,o);let i=function(e,t){let r=`SHA-${e.slice(-3)}`;switch(e){case"HS256":case"HS384":case"HS512":return{hash:r,name:"HMAC"};case"PS256":case"PS384":case"PS512":return{hash:r,name:"RSA-PSS",saltLength:parseInt(e.slice(-3),10)>>3};case"RS256":case"RS384":case"RS512":return{hash:r,name:"RSASSA-PKCS1-v1_5"};case"ES256":case"ES384":case"ES512":return{hash:r,name:"ECDSA",namedCurve:t.namedCurve};case"Ed25519":case"EdDSA":return{name:"Ed25519"};case"ML-DSA-44":case"ML-DSA-65":case"ML-DSA-87":return{name:e};default:throw new f(`alg ${e} is not supported either by JOSE or your javascript runtime`)}}(e,o.algorithm);try{return await crypto.subtle.verify(i,o,r,a)}catch{return!1}}let x=e=>{if(e?.[Symbol.toStringTag]==="CryptoKey")return!0;try{return e instanceof CryptoKey}catch{return!1}},$=e=>e?.[Symbol.toStringTag]==="KeyObject",F=e=>x(e)||$(e),B=e=>R(e)&&"string"==typeof e.kty,q=e=>e?.[Symbol.toStringTag],G=(e,t,r)=>{if(void 0!==t.use){let e;switch(r){case"sign":case"verify":e="sig";break;case"encrypt":case"decrypt":e="enc"}if(t.use!==e)throw TypeError(`Invalid key for this operation, its "use" must be "${e}" when present`)}if(void 0!==t.alg&&t.alg!==e)throw TypeError(`Invalid key for this operation, its "alg" must be "${e}" when present`);if(Array.isArray(t.key_ops)){let a;switch(!0){case"sign"===r||"verify"===r:case"dir"===e:case e.includes("CBC-HS"):a=r;break;case e.startsWith("PBES2"):a="deriveBits";break;case/^A\d{3}(?:GCM)?(?:KW)?$/.test(e):a=!e.includes("GCM")&&e.endsWith("KW")?"encrypt"===r?"wrapKey":"unwrapKey":r;break;case"encrypt"===r&&e.startsWith("RSA"):a="wrapKey";break;case"decrypt"===r:a=e.startsWith("RSA")?"unwrapKey":"deriveBits"}if(a&&t.key_ops?.includes?.(a)===!1)throw TypeError(`Invalid key for this operation, its "key_ops" must include "${a}" when present`)}return!0},V=async(e,t,a,o=!1)=>{let i=(r||=new WeakMap).get(e);if(i?.[a])return i[a];let n=await k({...t,alg:a});return o&&Object.freeze(e),i?i[a]=n:r.set(e,{[a]:n}),n};async function Y(e,t){if(e instanceof Uint8Array||x(e))return e;if($(e)){if("secret"===e.type)return e.export();if("toCryptoKey"in e&&"function"==typeof e.toCryptoKey)try{return((e,t)=>{let a,o=(r||=new WeakMap).get(e);if(o?.[t])return o[t];let i="public"===e.type,n=!!i;if("x25519"===e.asymmetricKeyType){switch(t){case"ECDH-ES":case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":break;default:throw TypeError("given KeyObject instance cannot be used for this algorithm")}a=e.toCryptoKey(e.asymmetricKeyType,n,i?[]:["deriveBits"])}if("ed25519"===e.asymmetricKeyType){if("EdDSA"!==t&&"Ed25519"!==t)throw TypeError("given KeyObject instance cannot be used for this algorithm");a=e.toCryptoKey(e.asymmetricKeyType,n,[i?"verify":"sign"])}switch(e.asymmetricKeyType){case"ml-dsa-44":case"ml-dsa-65":case"ml-dsa-87":if(t!==e.asymmetricKeyType.toUpperCase())throw TypeError("given KeyObject instance cannot be used for this algorithm");a=e.toCryptoKey(e.asymmetricKeyType,n,[i?"verify":"sign"])}if("rsa"===e.asymmetricKeyType){let r;switch(t){case"RSA-OAEP":r="SHA-1";break;case"RS256":case"PS256":case"RSA-OAEP-256":r="SHA-256";break;case"RS384":case"PS384":case"RSA-OAEP-384":r="SHA-384";break;case"RS512":case"PS512":case"RSA-OAEP-512":r="SHA-512";break;default:throw TypeError("given KeyObject instance cannot be used for this algorithm")}if(t.startsWith("RSA-OAEP"))return e.toCryptoKey({name:"RSA-OAEP",hash:r},n,i?["encrypt"]:["decrypt"]);a=e.toCryptoKey({name:t.startsWith("PS")?"RSA-PSS":"RSASSA-PKCS1-v1_5",hash:r},n,[i?"verify":"sign"])}if("ec"===e.asymmetricKeyType){let r=new Map([["prime256v1","P-256"],["secp384r1","P-384"],["secp521r1","P-521"]]).get(e.asymmetricKeyDetails?.namedCurve);if(!r)throw TypeError("given KeyObject instance cannot be used for this algorithm");"ES256"===t&&"P-256"===r&&(a=e.toCryptoKey({name:"ECDSA",namedCurve:r},n,[i?"verify":"sign"])),"ES384"===t&&"P-384"===r&&(a=e.toCryptoKey({name:"ECDSA",namedCurve:r},n,[i?"verify":"sign"])),"ES512"===t&&"P-521"===r&&(a=e.toCryptoKey({name:"ECDSA",namedCurve:r},n,[i?"verify":"sign"])),t.startsWith("ECDH-ES")&&(a=e.toCryptoKey({name:"ECDH",namedCurve:r},n,i?[]:["deriveBits"]))}if(!a)throw TypeError("given KeyObject instance cannot be used for this algorithm");return o?o[t]=a:r.set(e,{[t]:a}),a})(e,t)}catch(e){if(e instanceof TypeError)throw e}let a=e.export({format:"jwk"});return V(e,a,t)}if(B(e))return e.k?C(e.k):V(e,e,t,!0);throw Error("unreachable")}async function z(e,t,r){let a,o;if(!R(e))throw new p("Flattened JWS must be an object");if(void 0===e.protected&&void 0===e.header)throw new p('Flattened JWS must have either of the "protected" or "header" members');if(void 0!==e.protected&&"string"!=typeof e.protected)throw new p("JWS Protected Header incorrect type");if(void 0===e.payload)throw new p("JWS Payload missing");if("string"!=typeof e.signature)throw new p("JWS Signature missing or incorrect type");if(void 0!==e.header&&!R(e.header))throw new p("JWS Unprotected Header incorrect type");let i={};if(e.protected)try{let t=C(e.protected);i=JSON.parse(E.decode(t))}catch{throw new p("JWS Protected Header is invalid")}if(!function(...e){let t,r=e.filter(Boolean);if(0===r.length||1===r.length)return!0;for(let e of r){let r=Object.keys(e);if(!t||0===t.size){t=new Set(r);continue}for(let e of r){if(t.has(e))return!1;t.add(e)}}return!0}(i,e.header))throw new p("JWS Protected and JWS Unprotected Header Parameter names must be disjoint");let n={...i,...e.header},s=function(e,t,r,a,o){let i;if(void 0!==o.crit&&a?.crit===void 0)throw new e('"crit" (Critical) Header Parameter MUST be integrity protected');if(!a||void 0===a.crit)return new Set;if(!Array.isArray(a.crit)||0===a.crit.length||a.crit.some(e=>"string"!=typeof e||0===e.length))throw new e('"crit" (Critical) Header Parameter MUST be an array of non-empty strings when present');for(let n of(i=void 0!==r?new Map([...Object.entries(r),...t.entries()]):t,a.crit)){if(!i.has(n))throw new f(`Extension Header Parameter "${n}" is not recognized`);if(void 0===o[n])throw new e(`Extension Header Parameter "${n}" is missing`);if(i.get(n)&&void 0===a[n])throw new e(`Extension Header Parameter "${n}" MUST be integrity protected`)}return new Set(a.crit)}(p,new Map([["b64",!0]]),r?.crit,i,n),c=!0;if(s.has("b64")&&"boolean"!=typeof(c=i.b64))throw new p('The "b64" (base64url-encode payload) Header Parameter must be a boolean');let{alg:l}=n;if("string"!=typeof l||!l)throw new p('JWS "alg" (Algorithm) Header Parameter missing or invalid');let u=r&&function(e,t){if(void 0!==t&&(!Array.isArray(t)||t.some(e=>"string"!=typeof e)))throw TypeError(`"${e}" option must be an array of strings`);if(t)return new Set(t)}("algorithms",r.algorithms);if(u&&!u.has(l))throw new h('"alg" (Algorithm) Header Parameter value not allowed');if(c){if("string"!=typeof e.payload)throw new p("JWS Payload must be a string")}else if("string"!=typeof e.payload&&!(e.payload instanceof Uint8Array))throw new p("JWS Payload must be a string or an Uint8Array instance");let d=!1;"function"==typeof t&&(t=await t(i,e),d=!0);var y=t,m="verify";switch(l.substring(0,2)){case"A1":case"A2":case"di":case"HS":case"PB":((e,t,r)=>{if(!(t instanceof Uint8Array)){if(B(t)){if("oct"===t.kty&&"string"==typeof t.k&&G(e,t,r))return;throw TypeError('JSON Web Key for symmetric algorithms must have JWK "kty" (Key Type) equal to "oct" and the JWK "k" (Key Value) present')}if(!F(t))throw TypeError(j(e,t,"CryptoKey","KeyObject","JSON Web Key","Uint8Array"));if("secret"!==t.type)throw TypeError(`${q(t)} instances for symmetric algorithms must be of type "secret"`)}})(l,y,m);break;default:((e,t,r)=>{if(B(t))switch(r){case"decrypt":case"sign":if("oct"!==t.kty&&("AKP"===t.kty&&"string"==typeof t.priv||"string"==typeof t.d)&&G(e,t,r))return;throw TypeError("JSON Web Key for this operation must be a private JWK");case"encrypt":case"verify":if("oct"!==t.kty&&void 0===t.d&&void 0===t.priv&&G(e,t,r))return;throw TypeError("JSON Web Key for this operation must be a public JWK")}if(!F(t))throw TypeError(j(e,t,"CryptoKey","KeyObject","JSON Web Key"));if("secret"===t.type)throw TypeError(`${q(t)} instances for asymmetric algorithms must not be of type "secret"`);if("public"===t.type)switch(r){case"sign":throw TypeError(`${q(t)} instances for asymmetric algorithm signing must be of type "private"`);case"decrypt":throw TypeError(`${q(t)} instances for asymmetric algorithm decryption must be of type "private"`)}if("private"===t.type)switch(r){case"verify":throw TypeError(`${q(t)} instances for asymmetric algorithm verifying must be of type "public"`);case"encrypt":throw TypeError(`${q(t)} instances for asymmetric algorithm encryption must be of type "public"`)}})(l,y,m)}let w=function(...e){let t=new Uint8Array(e.reduce((e,{length:t})=>e+t,0)),r=0;for(let a of e)t.set(a,r),r+=a.length;return t}(void 0!==e.protected?b(e.protected):new Uint8Array,b("."),"string"==typeof e.payload?c?b(e.payload):A.encode(e.payload):e.payload);try{a=C(e.signature)}catch{throw new p("Failed to base64url decode the signature")}let g=await Y(t,l);if(!await J(l,g,a,w))throw new v;if(c)try{o=C(e.payload)}catch{throw new p("Failed to base64url decode the payload")}else o="string"==typeof e.payload?A.encode(e.payload):e.payload;let S={payload:o};return(void 0!==e.protected&&(S.protectedHeader=i),void 0!==e.header&&(S.unprotectedHeader=e.header),d)?{...S,key:g}:S}async function X(e,t,r){if(e instanceof Uint8Array&&(e=E.decode(e)),"string"!=typeof e)throw new p("Compact JWS must be a string or Uint8Array");let{0:a,1:o,2:i,length:n}=e.split(".");if(3!==n)throw new p("Invalid Compact JWS");let s=await z({payload:o,protected:a,signature:i},t,r),c={payload:s.payload,protectedHeader:s.protectedHeader};return"function"==typeof t?{...c,key:s.key}:c}let Q=/^(\+|\-)? ?(\d+|\d+\.\d+) ?(seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)(?: (ago|from now))?$/i;function Z(e){let t,r=Q.exec(e);if(!r||r[4]&&r[1])throw TypeError("Invalid time period format");let a=parseFloat(r[2]);switch(r[3].toLowerCase()){case"sec":case"secs":case"second":case"seconds":case"s":t=Math.round(a);break;case"minute":case"minutes":case"min":case"mins":case"m":t=Math.round(60*a);break;case"hour":case"hours":case"hr":case"hrs":case"h":t=Math.round(3600*a);break;case"day":case"days":case"d":t=Math.round(86400*a);break;case"week":case"weeks":case"w":t=Math.round(604800*a);break;default:t=Math.round(0x1e187e0*a)}return"-"===r[1]||"ago"===r[4]?-t:t}let ee=e=>e.includes("/")?e.toLowerCase():`application/${e.toLowerCase()}`;async function et(e,t,r){let a=await X(e,t,r);if(a.protectedHeader.crit?.includes("b64")&&!1===a.protectedHeader.b64)throw new y("JWTs MUST NOT use unencoded payload");let o={payload:function(e,t,r={}){var a,o;let i,n;try{i=JSON.parse(E.decode(t))}catch{}if(!R(i))throw new y("JWT Claims Set must be a top-level JSON object");let{typ:s}=r;if(s&&("string"!=typeof e.typ||ee(e.typ)!==ee(s)))throw new u('unexpected "typ" JWT header value',i,"typ","check_failed");let{requiredClaims:c=[],issuer:l,subject:h,audience:f,maxTokenAge:p}=r,m=[...c];for(let e of(void 0!==p&&m.push("iat"),void 0!==f&&m.push("aud"),void 0!==h&&m.push("sub"),void 0!==l&&m.push("iss"),new Set(m.reverse())))if(!(e in i))throw new u(`missing required "${e}" claim`,i,e,"missing");if(l&&!(Array.isArray(l)?l:[l]).includes(i.iss))throw new u('unexpected "iss" claim value',i,"iss","check_failed");if(h&&i.sub!==h)throw new u('unexpected "sub" claim value',i,"sub","check_failed");if(f&&(a=i.aud,o="string"==typeof f?[f]:f,"string"==typeof a?!o.includes(a):!(Array.isArray(a)&&o.some(Set.prototype.has.bind(new Set(a))))))throw new u('unexpected "aud" claim value',i,"aud","check_failed");switch(typeof r.clockTolerance){case"string":n=Z(r.clockTolerance);break;case"number":n=r.clockTolerance;break;case"undefined":n=0;break;default:throw TypeError("Invalid clockTolerance option type")}let{currentDate:w}=r,g=Math.floor((w||new Date).getTime()/1e3);if((void 0!==i.iat||p)&&"number"!=typeof i.iat)throw new u('"iat" claim must be a number',i,"iat","invalid");if(void 0!==i.nbf){if("number"!=typeof i.nbf)throw new u('"nbf" claim must be a number',i,"nbf","invalid");if(i.nbf>g+n)throw new u('"nbf" claim timestamp check failed',i,"nbf","check_failed")}if(void 0!==i.exp){if("number"!=typeof i.exp)throw new u('"exp" claim must be a number',i,"exp","invalid");if(i.exp<=g-n)throw new d('"exp" claim timestamp check failed',i,"exp","check_failed")}if(p){let e=g-i.iat;if(e-n>("number"==typeof p?p:Z(p)))throw new d('"iat" claim timestamp check failed (too far in the past)',i,"iat","check_failed");if(e<0-n)throw new u('"iat" claim timestamp check failed (it should be in the past)',i,"iat","check_failed")}return i}(a.protectedHeader,a.payload,r),protectedHeader:a.protectedHeader};return"function"==typeof t?{...o,key:a.key}:o}let er="cloudflare-access",ea=new Map;function eo(e){return e?.trim()||null}async function ei(e,t){let r,a,o=(r=function(e){let t=eo(e);if(!t)return null;try{return new URL(t.includes("://")?t:`https://${t}`).hostname.toLowerCase()}catch{return t.replace(/^https?:\/\//i,"").replace(/\/+$/g,"").toLowerCase()}}(process.env.CONDUCTOR_CLOUDFLARE_ACCESS_TEAM_DOMAIN??t?.trustedHeaders?.teamDomain),a=eo(process.env.CONDUCTOR_CLOUDFLARE_ACCESS_AUDIENCE??t?.trustedHeaders?.audience),{enabled:t?.trustedHeaders?.enabled===!0||"true"===(process.env.CONDUCTOR_TRUST_AUTH_HEADERS??"").trim().toLowerCase(),provider:"generic"===(eo(process.env.CONDUCTOR_TRUST_AUTH_PROVIDER)?.toLowerCase()||t?.trustedHeaders?.provider||(r||a?er:null))?"generic":er,emailHeader:eo(process.env.CONDUCTOR_TRUST_AUTH_EMAIL_HEADER)??eo(t?.trustedHeaders?.emailHeader)??"Cf-Access-Authenticated-User-Email",jwtHeader:eo(process.env.CONDUCTOR_TRUST_AUTH_JWT_HEADER)??eo(t?.trustedHeaders?.jwtHeader)??"Cf-Access-Jwt-Assertion",teamDomain:r,audience:a,allowInsecureEmailHeader:"true"===(process.env.CONDUCTOR_ALLOW_INSECURE_TRUSTED_HEADERS??"").trim().toLowerCase()});if(!o.enabled)return null;if(o.provider===er){let t=e.get(o.jwtHeader)?.trim()??"";if(!t)return null;if(!o.teamDomain||!o.audience)return{ok:!1,reason:"Cloudflare Access is enabled but team domain or audience is missing.",provider:"cloudflare-access"};try{let{payload:r}=await et(t,function(e){let t,r,a=ea.get(e);if(a)return a;let o=(t=new H(new URL(`https://${e}/cdn-cgi/access/certs`),void 0),r=async(e,r)=>t.getKey(e,r),Object.defineProperties(r,{coolingDown:{get:()=>t.coolingDown(),enumerable:!0,configurable:!1},fresh:{get:()=>t.fresh(),enumerable:!0,configurable:!1},reload:{value:()=>t.reload(),enumerable:!0,configurable:!1,writable:!1},reloading:{get:()=>t.pendingFetch(),enumerable:!0,configurable:!1},jwks:{value:()=>t.jwks(),enumerable:!0,configurable:!1,writable:!1}}),r);return ea.set(e,o),o}(o.teamDomain),{audience:o.audience,issuer:`https://${o.teamDomain}`}),a=function(e){let t=e.email;if("string"==typeof t&&t.trim().length>0)return t.trim().toLowerCase();let r=e.sub;return"string"==typeof r&&r.includes("@")?r.trim().toLowerCase():null}(r);if(!a)return{ok:!1,reason:"Cloudflare Access token is missing an email claim.",provider:"cloudflare-access"};let i=e.get(o.emailHeader)?.trim().toLowerCase()??"";if(i&&i!==a)return{ok:!1,reason:"Cloudflare Access email header does not match the verified token.",provider:"cloudflare-access"};return{ok:!0,email:a,provider:"cloudflare-access"}}catch(e){return{ok:!1,reason:e instanceof Error&&e.message.trim().length>0?e.message:"Cloudflare Access token verification failed",provider:"cloudflare-access"}}}let i=e.get(o.emailHeader)?.trim().toLowerCase()??"";return i?o.allowInsecureEmailHeader?{ok:!0,email:i,provider:"trusted-header"}:{ok:!1,reason:"Generic trusted-header mode is disabled. Use verified Cloudflare Access, or explicitly set CONDUCTOR_ALLOW_INSECURE_TRUSTED_HEADERS=true.",provider:"trusted-header"}:null}e.s(["verifyTrustedEdgeIdentity",()=>ei],84253)},62327,e=>{"use strict";var t=e.i(2157),r=e.i(60526),a=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(24863),"@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(56911),"@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)},i=globalThis;function n(e){var t;if(!e)return;let o=(t=e.trim()).startsWith("~/")?(0,a.resolve)((0,r.homedir)(),t.slice(2)):t;return o?(0,a.resolve)(o):void 0}function s(e){for(let r of["conductor.yaml","conductor.yml"]){let o=(0,a.resolve)(e,r);if((0,t.existsSync)(o))return o}}function c(){let e=n(process.env.CO_CONFIG_PATH),o=function(e){if(!e)return;let o=n(e);if(!o)return;let i=s(o);if(i)return i;let c=(0,a.resolve)((0,r.homedir)(),".conductor");if((0,t.existsSync)(c))try{for(let e of(0,t.readdirSync)(c)){let r=(0,a.join)(c,e,".origin");if(!(0,t.existsSync)(r)||!(0,t.statSync)(r).isFile())continue;let i=(0,a.resolve)((0,t.readFileSync)(r,"utf8").trim());if(i!==o)continue;let n=s(i);if(n)return n;if((0,t.existsSync)(i)&&[".yaml",".yml"].some(e=>i.endsWith(e))&&(0,t.statSync)(i).isFile())return i}}catch{}}(process.env.CONDUCTOR_WORKSPACE),i=n(`${(0,r.homedir)()}/.openclaw/workspace/conductor.yaml`),c=i&&(0,t.existsSync)(i)?i:void 0;return{path:e||o||c||function(){let e=(0,a.resolve)((0,r.homedir)(),".conductor");if(!(0,t.existsSync)(e))return;let o=null;try{for(let r of(0,t.readdirSync)(e)){let i=(0,a.join)(e,r),n=(0,a.join)(i,".origin");if(!(0,t.existsSync)(n))continue;let c="";try{c=(0,a.resolve)((0,t.readFileSync)(n,"utf8").trim())}catch{continue}if(!c)continue;let l=s(c);if(!l&&[".yaml",".yml"].some(e=>c.endsWith(e)))try{(0,t.statSync)(c).isFile()&&(l=c)}catch{continue}if(!l)continue;let u=(0,a.join)(i,"sessions"),d=0,h=0;if((0,t.existsSync)(u))try{for(let e of(0,t.readdirSync)(u)){if("archive"===e||e.startsWith("."))continue;let r=(0,a.join)(u,e),o=(0,t.statSync)(r);o.isFile()&&(d+=1,o.mtimeMs>h&&(h=o.mtimeMs))}}catch{}let f={path:l,activeSessionCount:d,latestSessionChange:h};(!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 u(e="stale config"){i._conductorServices=void 0,i._conductorServicesInit=void 0,i._conductorServicesConfigPath=void 0,i._conductorServicesConfigMtimeMs=void 0,console.info(`[conductor:web] service cache reset (${e})`)}function d(e="manual invalidation"){u(e)}function h(){let e=c(),t=e.path?n(e.path):void 0,r=l(t);return(i._conductorServices&&(t!==i._conductorServicesConfigPath?u("configuration path changed"):t&&void 0!==r&&void 0!==i._conductorServicesConfigMtimeMs&&r!==i._conductorServicesConfigMtimeMs&&u("configuration changed on disk")),i._conductorServices)?Promise.resolve(i._conductorServices):(i._conductorServicesInit||(i._conductorServicesInit=f().catch(e=>{throw i._conductorServicesInit=void 0,e})),i._conductorServicesInit)}async function f(){let t=await e.A(54583),r=t.loadConfig,a=t.createPluginRegistry,s=t.createSessionManager;if(!r||!a||!s)throw Error("Core package does not export required functions (loadConfig, createPluginRegistry, createSessionManager). Ensure @conductor-oss/core is built and exports these.");let u=c(),d=u.path?n(u.path):void 0,h=d?r(d):r(),f=a();"function"==typeof f.loadBuiltins&&await f.loadBuiltins(h,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 p=s({config:h,registry:f}),y={config:h,registry:f,sessionManager:p};i._conductorServices=y;let m=n(h.configPath);return i._conductorServicesConfigPath=m??h.configPath,i._conductorServicesConfigMtimeMs=l(m),y}e.s(["getServices",()=>h,"invalidateServicesCache",()=>d])},48295,e=>{"use strict";var t=e.i(93458),r=e.i(89171),a=e.i(22156),o=e.i(84253),i=e.i(66899),n=e.i(62327);let s=!!(process.env.NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY&&process.env.CLERK_SECRET_KEY);function c(e){return(e??"").split(",").map(e=>e.trim().toLowerCase()).filter(Boolean)}function l(e,t){try{let r=new URL(e,t?`https://${t}`:void 0),a=r.hostname.toLowerCase(),o=r.port||"443";return{hostname:a,port:o,host:`${a}:${o}`}}catch{return null}}function u(){return{allowedEmails:c(process.env.CONDUCTOR_ALLOWED_EMAILS),allowedDomains:c(process.env.CONDUCTOR_ALLOWED_DOMAINS),adminEmails:c(process.env.CONDUCTOR_ADMIN_EMAILS)}}async function d(){try{let{config:e}=await (0,n.getServices)();return e.access??null}catch{return null}}async function h(e){return e?e.headers:(0,t.headers)()}async function f(e){if(e)try{return new URL(e.url).hostname}catch{return e.headers.get("host")?.split(":")[0]?.trim().toLowerCase()??""}let r=await (0,t.headers)();return r.get("host")?.split(":")[0]?.trim().toLowerCase()??""}function p(e,t){let r;if(!function(e){let t=e.trim().toLowerCase(),{allowedEmails:r,allowedDomains:a,adminEmails:o}=u(),i=0===r.length||r.includes(t)||o.includes(t),n=0===a.length||a.some(e=>t.endsWith(`@${e}`));return i&&n}(e))return{ok:!1,authenticated:!0,email:e,reason:"Email/domain not allowed"};let o="viewer"===(r=process.env.CONDUCTOR_ACCESS_DEFAULT_ROLE?.trim().toLowerCase())||"operator"===r||"admin"===r?r:t?.defaultRole??null,i=(0,a.resolveRoleForEmail)(e,o?{...t,defaultRole:o}:t,u());return i.role?{ok:!0,authenticated:!0,email:e,role:i.role}:{ok:!1,authenticated:!0,email:e,reason:"Authenticated user is not granted dashboard access"}}async function y(e,t){let r=await h(e),a=await (0,o.verifyTrustedEdgeIdentity)(r,t);return a?a.ok?{...p(a.email,t),provider:a.provider}:{ok:!1,authenticated:!1,reason:a.reason,provider:a.provider}:null}async function m(){if(!(0,i.isBuiltinRemoteAuthEnabled)())return null;let e=await (0,t.cookies)(),r=e.get(i.BUILTIN_REMOTE_SESSION_COOKIE)?.value??null;return r&&await (0,i.verifyBuiltinRemoteSession)(r)?{ok:!0,authenticated:!0,role:"admin",email:"builtin",provider:"builtin"}:{ok:!1,authenticated:!1,reason:"Remote sign-in required",provider:"builtin"}}async function w(t){if(!s)return null;try{let{currentUser:r}=await e.A(37669),a=await r();if(!a)return{ok:!1,authenticated:!1,reason:"Not authenticated",provider:"clerk"};let o=a.emailAddresses.find(e=>e.id===a.primaryEmailAddressId)?.emailAddress??a.emailAddresses[0]?.emailAddress??"";if(!o)return{ok:!1,authenticated:!0,reason:"No email on account",provider:"clerk"};let i=o.toLowerCase(),n=p(i,t);if(!n.ok)return{...n,provider:"clerk"};let s=(process.env.CONDUCTOR_REQUIRE_APPROVAL??"true")==="true",c=u().adminEmails;if(s&&!c.includes(i)&&!0!==(a.publicMetadata??{}).conductorApproved)return{ok:!1,authenticated:!0,email:i,provider:"clerk",reason:"Awaiting manual approval"};return{...n,provider:"clerk"}}catch{return{ok:!1,authenticated:!1,reason:"Authentication service is unavailable. Check Clerk env vars and retry.",provider:"clerk"}}}async function g(e){let t=await d(),r=await f(e),o=await y(e,t);if(o)return o;let i=await m();if(i)return i;let s=await w(t);if(s)return s;let c=t?.requireAuth===!0||"true"===(process.env.CONDUCTOR_REQUIRE_AUTH??"").trim().toLowerCase()||function(){let{allowedEmails:e,allowedDomains:t,adminEmails:r}=u();return e.length>0||t.length>0||r.length>0}(),l=!1;try{let{config:e}=await (0,n.getServices)(),t=e.dashboardUrl?.trim();if(t){let e=new URL(t).hostname.toLowerCase();l=r.toLowerCase()===e}}catch{}return(0,a.isLoopbackHost)(r)||l?c?{ok:!1,authenticated:!1,reason:"Authentication required"}:{ok:!0,authenticated:!1,role:"admin",email:"local",provider:"local"}:{ok:!1,authenticated:!1,reason:"Authentication is required for non-local dashboard access"}}async function S(e,t="viewer"){let o=await g(e);return o.ok?o.role&&(0,a.roleMeetsRequirement)(o.role,t)?null:r.NextResponse.json({error:"Insufficient permissions",reason:`Requires ${t} access`,email:o.email??null,role:o.role??null},{status:403}):r.NextResponse.json({error:"Access denied",reason:o.reason,email:o.email??null},{status:403})}function v(e,t,r){let o=l(e,t);if(!o)return!1;if(r.has(o.host.toLowerCase()))return!0;var i=o.host;if(i.toLowerCase()===t.toLowerCase())return!0;let n=l(`https://${t}`),s=l(`https://${i}`);return!!n&&!!s&&n.port===s.port&&(n.hostname===s.hostname||(0,a.isLoopbackHost)(n.hostname)&&(0,a.isLoopbackHost)(s.hostname))}function A(e){return function(e){let t=e.nextUrl.host;if(!t)return null;let a=function(e){let t=new Set([e.toLowerCase()]);for(let r of c(process.env.CONDUCTOR_ALLOWED_ORIGINS)){if(!r)continue;let a=l(r.includes("://")?r:`https://${r}`,e);if(a){t.add(a.host.toLowerCase());continue}t.add(r.toLowerCase())}return t}(t),o=e.headers.get("sec-fetch-site")?.toLowerCase();if(o&&"none"!==o&&"same-origin"!==o&&"same-site"!==o)return r.NextResponse.json({error:"Invalid request context",reason:"Cross-site requests are not allowed for agent-control actions."},{status:403});let i=e.headers.get("origin"),n=i&&"null"!==i?i:null;if(n&&!v(n,t,a))return r.NextResponse.json({error:"Invalid request origin",reason:"Cross-origin requests are not allowed for agent-control actions."},{status:403});let s=e.headers.get("referer")??e.headers.get("referrer");return n||!s||v(s,t,a)?null:r.NextResponse.json({error:"Invalid request origin",reason:"Cross-site requests are not allowed for agent-control actions."},{status:403})}(e)}e.s(["getDashboardAccess",()=>g,"guardApiAccess",()=>S,"guardApiActionAccess",()=>A])}];
2
-
3
- //# sourceMappingURL=packages_web_src_lib_13fee5eb._.js.map
@@ -1,3 +0,0 @@
1
- module.exports=[62327,e=>{"use strict";var t=e.i(2157),r=e.i(60526),a=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(24863),"@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(56911),"@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)},i=globalThis;function n(e){var t;if(!e)return;let o=(t=e.trim()).startsWith("~/")?(0,a.resolve)((0,r.homedir)(),t.slice(2)):t;return o?(0,a.resolve)(o):void 0}function s(e){for(let r of["conductor.yaml","conductor.yml"]){let o=(0,a.resolve)(e,r);if((0,t.existsSync)(o))return o}}function c(){let e=n(process.env.CO_CONFIG_PATH),o=function(e){if(!e)return;let o=n(e);if(!o)return;let i=s(o);if(i)return i;let c=(0,a.resolve)((0,r.homedir)(),".conductor");if((0,t.existsSync)(c))try{for(let e of(0,t.readdirSync)(c)){let r=(0,a.join)(c,e,".origin");if(!(0,t.existsSync)(r)||!(0,t.statSync)(r).isFile())continue;let i=(0,a.resolve)((0,t.readFileSync)(r,"utf8").trim());if(i!==o)continue;let n=s(i);if(n)return n;if((0,t.existsSync)(i)&&[".yaml",".yml"].some(e=>i.endsWith(e))&&(0,t.statSync)(i).isFile())return i}}catch{}}(process.env.CONDUCTOR_WORKSPACE),i=n(`${(0,r.homedir)()}/.openclaw/workspace/conductor.yaml`),c=i&&(0,t.existsSync)(i)?i:void 0;return{path:e||o||c||function(){let e=(0,a.resolve)((0,r.homedir)(),".conductor");if(!(0,t.existsSync)(e))return;let o=null;try{for(let r of(0,t.readdirSync)(e)){let i=(0,a.join)(e,r),n=(0,a.join)(i,".origin");if(!(0,t.existsSync)(n))continue;let c="";try{c=(0,a.resolve)((0,t.readFileSync)(n,"utf8").trim())}catch{continue}if(!c)continue;let l=s(c);if(!l&&[".yaml",".yml"].some(e=>c.endsWith(e)))try{(0,t.statSync)(c).isFile()&&(l=c)}catch{continue}if(!l)continue;let u=(0,a.join)(i,"sessions"),d=0,h=0;if((0,t.existsSync)(u))try{for(let e of(0,t.readdirSync)(u)){if("archive"===e||e.startsWith("."))continue;let r=(0,a.join)(u,e),o=(0,t.statSync)(r);o.isFile()&&(d+=1,o.mtimeMs>h&&(h=o.mtimeMs))}}catch{}let f={path:l,activeSessionCount:d,latestSessionChange:h};(!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 u(e="stale config"){i._conductorServices=void 0,i._conductorServicesInit=void 0,i._conductorServicesConfigPath=void 0,i._conductorServicesConfigMtimeMs=void 0,console.info(`[conductor:web] service cache reset (${e})`)}function d(e="manual invalidation"){u(e)}function h(){let e=c(),t=e.path?n(e.path):void 0,r=l(t);return(i._conductorServices&&(t!==i._conductorServicesConfigPath?u("configuration path changed"):t&&void 0!==r&&void 0!==i._conductorServicesConfigMtimeMs&&r!==i._conductorServicesConfigMtimeMs&&u("configuration changed on disk")),i._conductorServices)?Promise.resolve(i._conductorServices):(i._conductorServicesInit||(i._conductorServicesInit=f().catch(e=>{throw i._conductorServicesInit=void 0,e})),i._conductorServicesInit)}async function f(){let t=await e.A(54583),r=t.loadConfig,a=t.createPluginRegistry,s=t.createSessionManager;if(!r||!a||!s)throw Error("Core package does not export required functions (loadConfig, createPluginRegistry, createSessionManager). Ensure @conductor-oss/core is built and exports these.");let u=c(),d=u.path?n(u.path):void 0,h=d?r(d):r(),f=a();"function"==typeof f.loadBuiltins&&await f.loadBuiltins(h,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 p=s({config:h,registry:f}),y={config:h,registry:f,sessionManager:p};i._conductorServices=y;let m=n(h.configPath);return i._conductorServicesConfigPath=m??h.configPath,i._conductorServicesConfigMtimeMs=l(m),y}e.s(["getServices",()=>h,"invalidateServicesCache",()=>d])},22156,84253,e=>{"use strict";let t,r,a={viewer:0,operator:1,admin:2};function o(e){return(e??[]).map(e=>e.trim().toLowerCase()).filter(Boolean)}function i(e,t,r){return t.includes(e)||r.some(t=>e.endsWith(`@${t}`))}function n(e){let t=(e??"").trim().toLowerCase();return"localhost"===t||"127.0.0.1"===t||"0.0.0.0"===t||"::1"===t||"[::1]"===t}function s(e,t){return a[e]>=a[t]}function c(e,t,r){let a=e.trim().toLowerCase(),n=t?.roles,s=[...o(n?.admins),...o(r?.adminEmails)],c=[...o(n?.operators),...o(r?.allowedEmails)],l=o(n?.viewers),u=o(n?.adminDomains),d=[...o(n?.operatorDomains),...o(r?.allowedDomains)],h=o(n?.viewerDomains),f=!!n&&(o(n.viewers).length>0||o(n.operators).length>0||o(n.admins).length>0||o(n.viewerDomains).length>0||o(n.operatorDomains).length>0||o(n.adminDomains).length>0)||s.length>0||c.length>0||d.length>0;return i(a,s,u)?{role:"admin",matchedBinding:!0,explicitBindingsConfigured:f}:i(a,c,d)?{role:"operator",matchedBinding:!0,explicitBindingsConfigured:f}:i(a,l,h)?{role:"viewer",matchedBinding:!0,explicitBindingsConfigured:f}:t?.defaultRole?{role:t.defaultRole,matchedBinding:!1,explicitBindingsConfigured:f}:f?{role:null,matchedBinding:!1,explicitBindingsConfigured:f}:{role:"operator",matchedBinding:!1,explicitBindingsConfigured:f}}e.s(["isLoopbackHost",()=>n,"resolveRoleForEmail",()=>c,"roleMeetsRequirement",()=>s],22156);class l extends Error{static code="ERR_JOSE_GENERIC";code="ERR_JOSE_GENERIC";constructor(e,t){super(e,t),this.name=this.constructor.name,Error.captureStackTrace?.(this,this.constructor)}}class u extends l{static code="ERR_JWT_CLAIM_VALIDATION_FAILED";code="ERR_JWT_CLAIM_VALIDATION_FAILED";claim;reason;payload;constructor(e,t,r="unspecified",a="unspecified"){super(e,{cause:{claim:r,reason:a,payload:t}}),this.claim=r,this.reason=a,this.payload=t}}class d extends l{static code="ERR_JWT_EXPIRED";code="ERR_JWT_EXPIRED";claim;reason;payload;constructor(e,t,r="unspecified",a="unspecified"){super(e,{cause:{claim:r,reason:a,payload:t}}),this.claim=r,this.reason=a,this.payload=t}}class h extends l{static code="ERR_JOSE_ALG_NOT_ALLOWED";code="ERR_JOSE_ALG_NOT_ALLOWED"}class f extends l{static code="ERR_JOSE_NOT_SUPPORTED";code="ERR_JOSE_NOT_SUPPORTED"}class p extends l{static code="ERR_JWS_INVALID";code="ERR_JWS_INVALID"}class y extends l{static code="ERR_JWT_INVALID";code="ERR_JWT_INVALID"}class m extends l{static code="ERR_JWKS_INVALID";code="ERR_JWKS_INVALID"}class w extends l{static code="ERR_JWKS_NO_MATCHING_KEY";code="ERR_JWKS_NO_MATCHING_KEY";constructor(e="no applicable key found in the JSON Web Key Set",t){super(e,t)}}class g extends l{[Symbol.asyncIterator];static code="ERR_JWKS_MULTIPLE_MATCHING_KEYS";code="ERR_JWKS_MULTIPLE_MATCHING_KEYS";constructor(e="multiple matching keys found in the JSON Web Key Set",t){super(e,t)}}class S extends l{static code="ERR_JWKS_TIMEOUT";code="ERR_JWKS_TIMEOUT";constructor(e="request timed out",t){super(e,t)}}class v extends l{static code="ERR_JWS_SIGNATURE_VERIFICATION_FAILED";code="ERR_JWS_SIGNATURE_VERIFICATION_FAILED";constructor(e="signature verification failed",t){super(e,t)}}let A=new TextEncoder,E=new TextDecoder;function b(e){let t=new Uint8Array(e.length);for(let r=0;r<e.length;r++){let a=e.charCodeAt(r);if(a>127)throw TypeError("non-ASCII string encountered in encode()");t[r]=a}return t}function C(e){if(Uint8Array.fromBase64)return Uint8Array.fromBase64("string"==typeof e?e:E.decode(e),{alphabet:"base64url"});let t=e;t instanceof Uint8Array&&(t=E.decode(t)),t=t.replace(/-/g,"+").replace(/_/g,"/");try{var r=t;if(Uint8Array.fromBase64)return Uint8Array.fromBase64(r);let e=atob(r),a=new Uint8Array(e.length);for(let t=0;t<e.length;t++)a[t]=e.charCodeAt(t);return a}catch{throw TypeError("The input to be decoded is not correctly encoded.")}}async function k(e){if(!e.alg)throw TypeError('"alg" argument is required when "jwk.alg" is not present');let{algorithm:t,keyUsages:r}=function(e){let t,r;switch(e.kty){case"AKP":switch(e.alg){case"ML-DSA-44":case"ML-DSA-65":case"ML-DSA-87":t={name:e.alg},r=e.priv?["sign"]:["verify"];break;default:throw new f('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}break;case"RSA":switch(e.alg){case"PS256":case"PS384":case"PS512":t={name:"RSA-PSS",hash:`SHA-${e.alg.slice(-3)}`},r=e.d?["sign"]:["verify"];break;case"RS256":case"RS384":case"RS512":t={name:"RSASSA-PKCS1-v1_5",hash:`SHA-${e.alg.slice(-3)}`},r=e.d?["sign"]:["verify"];break;case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":t={name:"RSA-OAEP",hash:`SHA-${parseInt(e.alg.slice(-3),10)||1}`},r=e.d?["decrypt","unwrapKey"]:["encrypt","wrapKey"];break;default:throw new f('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}break;case"EC":switch(e.alg){case"ES256":t={name:"ECDSA",namedCurve:"P-256"},r=e.d?["sign"]:["verify"];break;case"ES384":t={name:"ECDSA",namedCurve:"P-384"},r=e.d?["sign"]:["verify"];break;case"ES512":t={name:"ECDSA",namedCurve:"P-521"},r=e.d?["sign"]:["verify"];break;case"ECDH-ES":case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":t={name:"ECDH",namedCurve:e.crv},r=e.d?["deriveBits"]:[];break;default:throw new f('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}break;case"OKP":switch(e.alg){case"Ed25519":case"EdDSA":t={name:"Ed25519"},r=e.d?["sign"]:["verify"];break;case"ECDH-ES":case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":t={name:e.crv},r=e.d?["deriveBits"]:[];break;default:throw new f('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}break;default:throw new f('Invalid or unsupported JWK "kty" (Key Type) Parameter value')}return{algorithm:t,keyUsages:r}}(e),a={...e};return"AKP"!==a.kty&&delete a.alg,delete a.use,crypto.subtle.importKey("jwk",a,t,e.ext??(!e.d&&!e.priv),e.key_ops??r)}function R(e){if("object"!=typeof e||null===e||"[object Object]"!==Object.prototype.toString.call(e))return!1;if(null===Object.getPrototypeOf(e))return!0;let t=e;for(;null!==Object.getPrototypeOf(t);)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t}async function _(e,t,r){let a;if(!R(e))throw TypeError("JWK must be an object");switch(t??=e.alg,a??=r?.extractable??e.ext,e.kty){case"oct":if("string"!=typeof e.k||!e.k)throw TypeError('missing "k" (Key Value) Parameter value');return C(e.k);case"RSA":if("oth"in e&&void 0!==e.oth)throw new f('RSA JWK "oth" (Other Primes Info) Parameter value is not supported');return k({...e,alg:t,ext:a});case"AKP":if("string"!=typeof e.alg||!e.alg)throw TypeError('missing "alg" (Algorithm) Parameter value');if(void 0!==t&&t!==e.alg)throw TypeError("JWK alg and alg option value mismatch");return k({...e,ext:a});case"EC":case"OKP":return k({...e,alg:t,ext:a});default:throw new f('Unsupported "kty" (Key Type) Parameter value')}}function T(e){return R(e)}class O{#e;#t=new WeakMap;constructor(e){if(!function(e){return e&&"object"==typeof e&&Array.isArray(e.keys)&&e.keys.every(T)}(e))throw new m("JSON Web Key Set malformed");this.#e=structuredClone(e)}jwks(){return this.#e}async getKey(e,t){let{alg:r,kid:a}={...e,...t?.header},o=function(e){switch("string"==typeof e&&e.slice(0,2)){case"RS":case"PS":return"RSA";case"ES":return"EC";case"Ed":return"OKP";case"ML":return"AKP";default:throw new f('Unsupported "alg" value for a JSON Web Key Set')}}(r),i=this.#e.keys.filter(e=>{let t=o===e.kty;if(t&&"string"==typeof a&&(t=a===e.kid),t&&("string"==typeof e.alg||"AKP"===o)&&(t=r===e.alg),t&&"string"==typeof e.use&&(t="sig"===e.use),t&&Array.isArray(e.key_ops)&&(t=e.key_ops.includes("verify")),t)switch(r){case"ES256":t="P-256"===e.crv;break;case"ES384":t="P-384"===e.crv;break;case"ES512":t="P-521"===e.crv;break;case"Ed25519":case"EdDSA":t="Ed25519"===e.crv}return t}),{0:n,length:s}=i;if(0===s)throw new w;if(1!==s){let e=new g,t=this.#t;throw e[Symbol.asyncIterator]=async function*(){for(let e of i)try{yield await D(t,e,r)}catch{}},e}return D(this.#t,n,r)}}async function D(e,t,r){let a=e.get(t)||e.set(t,{}).get(t);if(void 0===a[r]){let e=await _({...t,ext:!0},r);if(e instanceof Uint8Array||"public"!==e.type)throw new m("JSON Web Key Set members must be public keys");a[r]=e}return a[r]}function K(e){let t=new O(e),r=async(e,r)=>t.getKey(e,r);return Object.defineProperties(r,{jwks:{value:()=>structuredClone(t.jwks()),enumerable:!1,configurable:!1,writable:!1}}),r}("u"<typeof navigator||!navigator.userAgent?.startsWith?.("Mozilla/5.0 "))&&(t="jose/v6.2.0");let P=Symbol();async function L(e,t,r,a=fetch){let o=await a(e,{method:"GET",signal:r,redirect:"manual",headers:t}).catch(e=>{if("TimeoutError"===e.name)throw new S;throw e});if(200!==o.status)throw new l("Expected 200 OK from the JSON Web Key Set HTTP response");try{return await o.json()}catch{throw new l("Failed to parse the JSON Web Key Set HTTP response as JSON")}}let W=Symbol();class H{#r;#a;#o;#i;#n;#s;#c;#l;#u;#d;constructor(e,r){if(!(e instanceof URL))throw TypeError("url must be an instance of URL");this.#r=new URL(e.href),this.#a="number"==typeof r?.timeoutDuration?r?.timeoutDuration:5e3,this.#o="number"==typeof r?.cooldownDuration?r?.cooldownDuration:3e4,this.#i="number"==typeof r?.cacheMaxAge?r?.cacheMaxAge:6e5,this.#c=new Headers(r?.headers),t&&!this.#c.has("User-Agent")&&this.#c.set("User-Agent",t),this.#c.has("accept")||(this.#c.set("accept","application/json"),this.#c.append("accept","application/jwk-set+json")),this.#l=r?.[P],r?.[W]!==void 0&&(this.#d=r?.[W],function(e,t){return!("object"!=typeof e||null===e||!("uat"in e)||"number"!=typeof e.uat||Date.now()-e.uat>=t)&&"jwks"in e&&!!R(e.jwks)&&!!Array.isArray(e.jwks.keys)&&!!Array.prototype.every.call(e.jwks.keys,R)}(r?.[W],this.#i)&&(this.#n=this.#d.uat,this.#u=K(this.#d.jwks)))}pendingFetch(){return!!this.#s}coolingDown(){return"number"==typeof this.#n&&Date.now()<this.#n+this.#o}fresh(){return"number"==typeof this.#n&&Date.now()<this.#n+this.#i}jwks(){return this.#u?.jwks()}async getKey(e,t){this.#u&&this.fresh()||await this.reload();try{return await this.#u(e,t)}catch(r){if(r instanceof w&&!1===this.coolingDown())return await this.reload(),this.#u(e,t);throw r}}async reload(){this.#s&&("u">typeof WebSocketPair||"u">typeof navigator&&"Cloudflare-Workers"===navigator.userAgent||"u">typeof EdgeRuntime&&"vercel"===EdgeRuntime)&&(this.#s=void 0),this.#s||=L(this.#r.href,this.#c,AbortSignal.timeout(this.#a),this.#l).then(e=>{this.#u=K(e),this.#d&&(this.#d.uat=Date.now(),this.#d.jwks=e),this.#n=Date.now(),this.#s=void 0}).catch(e=>{throw this.#s=void 0,e}),await this.#s}}let I=(e,t="algorithm.name")=>TypeError(`CryptoKey does not support this operation, its ${t} must be ${e}`);function U(e){return parseInt(e.name.slice(4),10)}function N(e,t,...r){if((r=r.filter(Boolean)).length>2){let t=r.pop();e+=`one of type ${r.join(", ")}, or ${t}.`}else 2===r.length?e+=`one of type ${r[0]} or ${r[1]}.`:e+=`of type ${r[0]}.`;return null==t?e+=` Received ${t}`:"function"==typeof t&&t.name?e+=` Received function ${t.name}`:"object"==typeof t&&null!=t&&t.constructor?.name&&(e+=` Received an instance of ${t.constructor.name}`),e}let j=(e,t,...r)=>N(`Key for the ${e} algorithm must be `,t,...r);async function M(e,t,r){if(t instanceof Uint8Array){if(!e.startsWith("HS"))throw TypeError(((e,...t)=>N("Key must be ",e,...t))(t,"CryptoKey","KeyObject","JSON Web Key"));return crypto.subtle.importKey("raw",t,{hash:`SHA-${e.slice(-3)}`,name:"HMAC"},!1,[r])}return!function(e,t,r){switch(t){case"HS256":case"HS384":case"HS512":{if("HMAC"!==e.algorithm.name)throw I("HMAC");let r=parseInt(t.slice(2),10);if(U(e.algorithm.hash)!==r)throw I(`SHA-${r}`,"algorithm.hash");break}case"RS256":case"RS384":case"RS512":{if("RSASSA-PKCS1-v1_5"!==e.algorithm.name)throw I("RSASSA-PKCS1-v1_5");let r=parseInt(t.slice(2),10);if(U(e.algorithm.hash)!==r)throw I(`SHA-${r}`,"algorithm.hash");break}case"PS256":case"PS384":case"PS512":{if("RSA-PSS"!==e.algorithm.name)throw I("RSA-PSS");let r=parseInt(t.slice(2),10);if(U(e.algorithm.hash)!==r)throw I(`SHA-${r}`,"algorithm.hash");break}case"Ed25519":case"EdDSA":if("Ed25519"!==e.algorithm.name)throw I("Ed25519");break;case"ML-DSA-44":case"ML-DSA-65":case"ML-DSA-87":let a;if(a=e.algorithm,a.name!==t)throw I(t);break;case"ES256":case"ES384":case"ES512":{if("ECDSA"!==e.algorithm.name)throw I("ECDSA");let r=function(e){switch(e){case"ES256":return"P-256";case"ES384":return"P-384";case"ES512":return"P-521";default:throw Error("unreachable")}}(t);if(e.algorithm.namedCurve!==r)throw I(r,"algorithm.namedCurve");break}default:throw TypeError("CryptoKey does not support this operation")}if(r&&!e.usages.includes(r))throw TypeError(`CryptoKey does not support this operation, its usages must include ${r}.`)}(t,e,r),t}async function J(e,t,r,a){let o=await M(e,t,"verify");!function(e,t){if(e.startsWith("RS")||e.startsWith("PS")){let{modulusLength:r}=t.algorithm;if("number"!=typeof r||r<2048)throw TypeError(`${e} requires key modulusLength to be 2048 bits or larger`)}}(e,o);let i=function(e,t){let r=`SHA-${e.slice(-3)}`;switch(e){case"HS256":case"HS384":case"HS512":return{hash:r,name:"HMAC"};case"PS256":case"PS384":case"PS512":return{hash:r,name:"RSA-PSS",saltLength:parseInt(e.slice(-3),10)>>3};case"RS256":case"RS384":case"RS512":return{hash:r,name:"RSASSA-PKCS1-v1_5"};case"ES256":case"ES384":case"ES512":return{hash:r,name:"ECDSA",namedCurve:t.namedCurve};case"Ed25519":case"EdDSA":return{name:"Ed25519"};case"ML-DSA-44":case"ML-DSA-65":case"ML-DSA-87":return{name:e};default:throw new f(`alg ${e} is not supported either by JOSE or your javascript runtime`)}}(e,o.algorithm);try{return await crypto.subtle.verify(i,o,r,a)}catch{return!1}}let x=e=>{if(e?.[Symbol.toStringTag]==="CryptoKey")return!0;try{return e instanceof CryptoKey}catch{return!1}},$=e=>e?.[Symbol.toStringTag]==="KeyObject",F=e=>x(e)||$(e),B=e=>R(e)&&"string"==typeof e.kty,q=e=>e?.[Symbol.toStringTag],G=(e,t,r)=>{if(void 0!==t.use){let e;switch(r){case"sign":case"verify":e="sig";break;case"encrypt":case"decrypt":e="enc"}if(t.use!==e)throw TypeError(`Invalid key for this operation, its "use" must be "${e}" when present`)}if(void 0!==t.alg&&t.alg!==e)throw TypeError(`Invalid key for this operation, its "alg" must be "${e}" when present`);if(Array.isArray(t.key_ops)){let a;switch(!0){case"sign"===r||"verify"===r:case"dir"===e:case e.includes("CBC-HS"):a=r;break;case e.startsWith("PBES2"):a="deriveBits";break;case/^A\d{3}(?:GCM)?(?:KW)?$/.test(e):a=!e.includes("GCM")&&e.endsWith("KW")?"encrypt"===r?"wrapKey":"unwrapKey":r;break;case"encrypt"===r&&e.startsWith("RSA"):a="wrapKey";break;case"decrypt"===r:a=e.startsWith("RSA")?"unwrapKey":"deriveBits"}if(a&&t.key_ops?.includes?.(a)===!1)throw TypeError(`Invalid key for this operation, its "key_ops" must include "${a}" when present`)}return!0},V=async(e,t,a,o=!1)=>{let i=(r||=new WeakMap).get(e);if(i?.[a])return i[a];let n=await k({...t,alg:a});return o&&Object.freeze(e),i?i[a]=n:r.set(e,{[a]:n}),n};async function Y(e,t){if(e instanceof Uint8Array||x(e))return e;if($(e)){if("secret"===e.type)return e.export();if("toCryptoKey"in e&&"function"==typeof e.toCryptoKey)try{return((e,t)=>{let a,o=(r||=new WeakMap).get(e);if(o?.[t])return o[t];let i="public"===e.type,n=!!i;if("x25519"===e.asymmetricKeyType){switch(t){case"ECDH-ES":case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":break;default:throw TypeError("given KeyObject instance cannot be used for this algorithm")}a=e.toCryptoKey(e.asymmetricKeyType,n,i?[]:["deriveBits"])}if("ed25519"===e.asymmetricKeyType){if("EdDSA"!==t&&"Ed25519"!==t)throw TypeError("given KeyObject instance cannot be used for this algorithm");a=e.toCryptoKey(e.asymmetricKeyType,n,[i?"verify":"sign"])}switch(e.asymmetricKeyType){case"ml-dsa-44":case"ml-dsa-65":case"ml-dsa-87":if(t!==e.asymmetricKeyType.toUpperCase())throw TypeError("given KeyObject instance cannot be used for this algorithm");a=e.toCryptoKey(e.asymmetricKeyType,n,[i?"verify":"sign"])}if("rsa"===e.asymmetricKeyType){let r;switch(t){case"RSA-OAEP":r="SHA-1";break;case"RS256":case"PS256":case"RSA-OAEP-256":r="SHA-256";break;case"RS384":case"PS384":case"RSA-OAEP-384":r="SHA-384";break;case"RS512":case"PS512":case"RSA-OAEP-512":r="SHA-512";break;default:throw TypeError("given KeyObject instance cannot be used for this algorithm")}if(t.startsWith("RSA-OAEP"))return e.toCryptoKey({name:"RSA-OAEP",hash:r},n,i?["encrypt"]:["decrypt"]);a=e.toCryptoKey({name:t.startsWith("PS")?"RSA-PSS":"RSASSA-PKCS1-v1_5",hash:r},n,[i?"verify":"sign"])}if("ec"===e.asymmetricKeyType){let r=new Map([["prime256v1","P-256"],["secp384r1","P-384"],["secp521r1","P-521"]]).get(e.asymmetricKeyDetails?.namedCurve);if(!r)throw TypeError("given KeyObject instance cannot be used for this algorithm");"ES256"===t&&"P-256"===r&&(a=e.toCryptoKey({name:"ECDSA",namedCurve:r},n,[i?"verify":"sign"])),"ES384"===t&&"P-384"===r&&(a=e.toCryptoKey({name:"ECDSA",namedCurve:r},n,[i?"verify":"sign"])),"ES512"===t&&"P-521"===r&&(a=e.toCryptoKey({name:"ECDSA",namedCurve:r},n,[i?"verify":"sign"])),t.startsWith("ECDH-ES")&&(a=e.toCryptoKey({name:"ECDH",namedCurve:r},n,i?[]:["deriveBits"]))}if(!a)throw TypeError("given KeyObject instance cannot be used for this algorithm");return o?o[t]=a:r.set(e,{[t]:a}),a})(e,t)}catch(e){if(e instanceof TypeError)throw e}let a=e.export({format:"jwk"});return V(e,a,t)}if(B(e))return e.k?C(e.k):V(e,e,t,!0);throw Error("unreachable")}async function z(e,t,r){let a,o;if(!R(e))throw new p("Flattened JWS must be an object");if(void 0===e.protected&&void 0===e.header)throw new p('Flattened JWS must have either of the "protected" or "header" members');if(void 0!==e.protected&&"string"!=typeof e.protected)throw new p("JWS Protected Header incorrect type");if(void 0===e.payload)throw new p("JWS Payload missing");if("string"!=typeof e.signature)throw new p("JWS Signature missing or incorrect type");if(void 0!==e.header&&!R(e.header))throw new p("JWS Unprotected Header incorrect type");let i={};if(e.protected)try{let t=C(e.protected);i=JSON.parse(E.decode(t))}catch{throw new p("JWS Protected Header is invalid")}if(!function(...e){let t,r=e.filter(Boolean);if(0===r.length||1===r.length)return!0;for(let e of r){let r=Object.keys(e);if(!t||0===t.size){t=new Set(r);continue}for(let e of r){if(t.has(e))return!1;t.add(e)}}return!0}(i,e.header))throw new p("JWS Protected and JWS Unprotected Header Parameter names must be disjoint");let n={...i,...e.header},s=function(e,t,r,a,o){let i;if(void 0!==o.crit&&a?.crit===void 0)throw new e('"crit" (Critical) Header Parameter MUST be integrity protected');if(!a||void 0===a.crit)return new Set;if(!Array.isArray(a.crit)||0===a.crit.length||a.crit.some(e=>"string"!=typeof e||0===e.length))throw new e('"crit" (Critical) Header Parameter MUST be an array of non-empty strings when present');for(let n of(i=void 0!==r?new Map([...Object.entries(r),...t.entries()]):t,a.crit)){if(!i.has(n))throw new f(`Extension Header Parameter "${n}" is not recognized`);if(void 0===o[n])throw new e(`Extension Header Parameter "${n}" is missing`);if(i.get(n)&&void 0===a[n])throw new e(`Extension Header Parameter "${n}" MUST be integrity protected`)}return new Set(a.crit)}(p,new Map([["b64",!0]]),r?.crit,i,n),c=!0;if(s.has("b64")&&"boolean"!=typeof(c=i.b64))throw new p('The "b64" (base64url-encode payload) Header Parameter must be a boolean');let{alg:l}=n;if("string"!=typeof l||!l)throw new p('JWS "alg" (Algorithm) Header Parameter missing or invalid');let u=r&&function(e,t){if(void 0!==t&&(!Array.isArray(t)||t.some(e=>"string"!=typeof e)))throw TypeError(`"${e}" option must be an array of strings`);if(t)return new Set(t)}("algorithms",r.algorithms);if(u&&!u.has(l))throw new h('"alg" (Algorithm) Header Parameter value not allowed');if(c){if("string"!=typeof e.payload)throw new p("JWS Payload must be a string")}else if("string"!=typeof e.payload&&!(e.payload instanceof Uint8Array))throw new p("JWS Payload must be a string or an Uint8Array instance");let d=!1;"function"==typeof t&&(t=await t(i,e),d=!0);var y=t,m="verify";switch(l.substring(0,2)){case"A1":case"A2":case"di":case"HS":case"PB":((e,t,r)=>{if(!(t instanceof Uint8Array)){if(B(t)){if("oct"===t.kty&&"string"==typeof t.k&&G(e,t,r))return;throw TypeError('JSON Web Key for symmetric algorithms must have JWK "kty" (Key Type) equal to "oct" and the JWK "k" (Key Value) present')}if(!F(t))throw TypeError(j(e,t,"CryptoKey","KeyObject","JSON Web Key","Uint8Array"));if("secret"!==t.type)throw TypeError(`${q(t)} instances for symmetric algorithms must be of type "secret"`)}})(l,y,m);break;default:((e,t,r)=>{if(B(t))switch(r){case"decrypt":case"sign":if("oct"!==t.kty&&("AKP"===t.kty&&"string"==typeof t.priv||"string"==typeof t.d)&&G(e,t,r))return;throw TypeError("JSON Web Key for this operation must be a private JWK");case"encrypt":case"verify":if("oct"!==t.kty&&void 0===t.d&&void 0===t.priv&&G(e,t,r))return;throw TypeError("JSON Web Key for this operation must be a public JWK")}if(!F(t))throw TypeError(j(e,t,"CryptoKey","KeyObject","JSON Web Key"));if("secret"===t.type)throw TypeError(`${q(t)} instances for asymmetric algorithms must not be of type "secret"`);if("public"===t.type)switch(r){case"sign":throw TypeError(`${q(t)} instances for asymmetric algorithm signing must be of type "private"`);case"decrypt":throw TypeError(`${q(t)} instances for asymmetric algorithm decryption must be of type "private"`)}if("private"===t.type)switch(r){case"verify":throw TypeError(`${q(t)} instances for asymmetric algorithm verifying must be of type "public"`);case"encrypt":throw TypeError(`${q(t)} instances for asymmetric algorithm encryption must be of type "public"`)}})(l,y,m)}let w=function(...e){let t=new Uint8Array(e.reduce((e,{length:t})=>e+t,0)),r=0;for(let a of e)t.set(a,r),r+=a.length;return t}(void 0!==e.protected?b(e.protected):new Uint8Array,b("."),"string"==typeof e.payload?c?b(e.payload):A.encode(e.payload):e.payload);try{a=C(e.signature)}catch{throw new p("Failed to base64url decode the signature")}let g=await Y(t,l);if(!await J(l,g,a,w))throw new v;if(c)try{o=C(e.payload)}catch{throw new p("Failed to base64url decode the payload")}else o="string"==typeof e.payload?A.encode(e.payload):e.payload;let S={payload:o};return(void 0!==e.protected&&(S.protectedHeader=i),void 0!==e.header&&(S.unprotectedHeader=e.header),d)?{...S,key:g}:S}async function X(e,t,r){if(e instanceof Uint8Array&&(e=E.decode(e)),"string"!=typeof e)throw new p("Compact JWS must be a string or Uint8Array");let{0:a,1:o,2:i,length:n}=e.split(".");if(3!==n)throw new p("Invalid Compact JWS");let s=await z({payload:o,protected:a,signature:i},t,r),c={payload:s.payload,protectedHeader:s.protectedHeader};return"function"==typeof t?{...c,key:s.key}:c}let Q=/^(\+|\-)? ?(\d+|\d+\.\d+) ?(seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)(?: (ago|from now))?$/i;function Z(e){let t,r=Q.exec(e);if(!r||r[4]&&r[1])throw TypeError("Invalid time period format");let a=parseFloat(r[2]);switch(r[3].toLowerCase()){case"sec":case"secs":case"second":case"seconds":case"s":t=Math.round(a);break;case"minute":case"minutes":case"min":case"mins":case"m":t=Math.round(60*a);break;case"hour":case"hours":case"hr":case"hrs":case"h":t=Math.round(3600*a);break;case"day":case"days":case"d":t=Math.round(86400*a);break;case"week":case"weeks":case"w":t=Math.round(604800*a);break;default:t=Math.round(0x1e187e0*a)}return"-"===r[1]||"ago"===r[4]?-t:t}let ee=e=>e.includes("/")?e.toLowerCase():`application/${e.toLowerCase()}`;async function et(e,t,r){let a=await X(e,t,r);if(a.protectedHeader.crit?.includes("b64")&&!1===a.protectedHeader.b64)throw new y("JWTs MUST NOT use unencoded payload");let o={payload:function(e,t,r={}){var a,o;let i,n;try{i=JSON.parse(E.decode(t))}catch{}if(!R(i))throw new y("JWT Claims Set must be a top-level JSON object");let{typ:s}=r;if(s&&("string"!=typeof e.typ||ee(e.typ)!==ee(s)))throw new u('unexpected "typ" JWT header value',i,"typ","check_failed");let{requiredClaims:c=[],issuer:l,subject:h,audience:f,maxTokenAge:p}=r,m=[...c];for(let e of(void 0!==p&&m.push("iat"),void 0!==f&&m.push("aud"),void 0!==h&&m.push("sub"),void 0!==l&&m.push("iss"),new Set(m.reverse())))if(!(e in i))throw new u(`missing required "${e}" claim`,i,e,"missing");if(l&&!(Array.isArray(l)?l:[l]).includes(i.iss))throw new u('unexpected "iss" claim value',i,"iss","check_failed");if(h&&i.sub!==h)throw new u('unexpected "sub" claim value',i,"sub","check_failed");if(f&&(a=i.aud,o="string"==typeof f?[f]:f,"string"==typeof a?!o.includes(a):!(Array.isArray(a)&&o.some(Set.prototype.has.bind(new Set(a))))))throw new u('unexpected "aud" claim value',i,"aud","check_failed");switch(typeof r.clockTolerance){case"string":n=Z(r.clockTolerance);break;case"number":n=r.clockTolerance;break;case"undefined":n=0;break;default:throw TypeError("Invalid clockTolerance option type")}let{currentDate:w}=r,g=Math.floor((w||new Date).getTime()/1e3);if((void 0!==i.iat||p)&&"number"!=typeof i.iat)throw new u('"iat" claim must be a number',i,"iat","invalid");if(void 0!==i.nbf){if("number"!=typeof i.nbf)throw new u('"nbf" claim must be a number',i,"nbf","invalid");if(i.nbf>g+n)throw new u('"nbf" claim timestamp check failed',i,"nbf","check_failed")}if(void 0!==i.exp){if("number"!=typeof i.exp)throw new u('"exp" claim must be a number',i,"exp","invalid");if(i.exp<=g-n)throw new d('"exp" claim timestamp check failed',i,"exp","check_failed")}if(p){let e=g-i.iat;if(e-n>("number"==typeof p?p:Z(p)))throw new d('"iat" claim timestamp check failed (too far in the past)',i,"iat","check_failed");if(e<0-n)throw new u('"iat" claim timestamp check failed (it should be in the past)',i,"iat","check_failed")}return i}(a.protectedHeader,a.payload,r),protectedHeader:a.protectedHeader};return"function"==typeof t?{...o,key:a.key}:o}let er="cloudflare-access",ea=new Map;function eo(e){return e?.trim()||null}async function ei(e,t){let r,a,o=(r=function(e){let t=eo(e);if(!t)return null;try{return new URL(t.includes("://")?t:`https://${t}`).hostname.toLowerCase()}catch{return t.replace(/^https?:\/\//i,"").replace(/\/+$/g,"").toLowerCase()}}(process.env.CONDUCTOR_CLOUDFLARE_ACCESS_TEAM_DOMAIN??t?.trustedHeaders?.teamDomain),a=eo(process.env.CONDUCTOR_CLOUDFLARE_ACCESS_AUDIENCE??t?.trustedHeaders?.audience),{enabled:t?.trustedHeaders?.enabled===!0||"true"===(process.env.CONDUCTOR_TRUST_AUTH_HEADERS??"").trim().toLowerCase(),provider:"generic"===(eo(process.env.CONDUCTOR_TRUST_AUTH_PROVIDER)?.toLowerCase()||t?.trustedHeaders?.provider||(r||a?er:null))?"generic":er,emailHeader:eo(process.env.CONDUCTOR_TRUST_AUTH_EMAIL_HEADER)??eo(t?.trustedHeaders?.emailHeader)??"Cf-Access-Authenticated-User-Email",jwtHeader:eo(process.env.CONDUCTOR_TRUST_AUTH_JWT_HEADER)??eo(t?.trustedHeaders?.jwtHeader)??"Cf-Access-Jwt-Assertion",teamDomain:r,audience:a,allowInsecureEmailHeader:"true"===(process.env.CONDUCTOR_ALLOW_INSECURE_TRUSTED_HEADERS??"").trim().toLowerCase()});if(!o.enabled)return null;if(o.provider===er){let t=e.get(o.jwtHeader)?.trim()??"";if(!t)return null;if(!o.teamDomain||!o.audience)return{ok:!1,reason:"Cloudflare Access is enabled but team domain or audience is missing.",provider:"cloudflare-access"};try{let{payload:r}=await et(t,function(e){let t,r,a=ea.get(e);if(a)return a;let o=(t=new H(new URL(`https://${e}/cdn-cgi/access/certs`),void 0),r=async(e,r)=>t.getKey(e,r),Object.defineProperties(r,{coolingDown:{get:()=>t.coolingDown(),enumerable:!0,configurable:!1},fresh:{get:()=>t.fresh(),enumerable:!0,configurable:!1},reload:{value:()=>t.reload(),enumerable:!0,configurable:!1,writable:!1},reloading:{get:()=>t.pendingFetch(),enumerable:!0,configurable:!1},jwks:{value:()=>t.jwks(),enumerable:!0,configurable:!1,writable:!1}}),r);return ea.set(e,o),o}(o.teamDomain),{audience:o.audience,issuer:`https://${o.teamDomain}`}),a=function(e){let t=e.email;if("string"==typeof t&&t.trim().length>0)return t.trim().toLowerCase();let r=e.sub;return"string"==typeof r&&r.includes("@")?r.trim().toLowerCase():null}(r);if(!a)return{ok:!1,reason:"Cloudflare Access token is missing an email claim.",provider:"cloudflare-access"};let i=e.get(o.emailHeader)?.trim().toLowerCase()??"";if(i&&i!==a)return{ok:!1,reason:"Cloudflare Access email header does not match the verified token.",provider:"cloudflare-access"};return{ok:!0,email:a,provider:"cloudflare-access"}}catch(e){return{ok:!1,reason:e instanceof Error&&e.message.trim().length>0?e.message:"Cloudflare Access token verification failed",provider:"cloudflare-access"}}}let i=e.get(o.emailHeader)?.trim().toLowerCase()??"";return i?o.allowInsecureEmailHeader?{ok:!0,email:i,provider:"trusted-header"}:{ok:!1,reason:"Generic trusted-header mode is disabled. Use verified Cloudflare Access, or explicitly set CONDUCTOR_ALLOW_INSECURE_TRUSTED_HEADERS=true.",provider:"trusted-header"}:null}e.s(["verifyTrustedEdgeIdentity",()=>ei],84253)},48295,e=>{"use strict";var t=e.i(93458),r=e.i(89171),a=e.i(22156),o=e.i(84253),i=e.i(66899),n=e.i(62327);let s=!!(process.env.NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY&&process.env.CLERK_SECRET_KEY);function c(e){return(e??"").split(",").map(e=>e.trim().toLowerCase()).filter(Boolean)}function l(e,t){try{let r=new URL(e,t?`https://${t}`:void 0),a=r.hostname.toLowerCase(),o=r.port||"443";return{hostname:a,port:o,host:`${a}:${o}`}}catch{return null}}function u(){return{allowedEmails:c(process.env.CONDUCTOR_ALLOWED_EMAILS),allowedDomains:c(process.env.CONDUCTOR_ALLOWED_DOMAINS),adminEmails:c(process.env.CONDUCTOR_ADMIN_EMAILS)}}async function d(){try{let{config:e}=await (0,n.getServices)();return e.access??null}catch{return null}}async function h(e){return e?e.headers:(0,t.headers)()}async function f(e){if(e)try{return new URL(e.url).hostname}catch{return e.headers.get("host")?.split(":")[0]?.trim().toLowerCase()??""}let r=await (0,t.headers)();return r.get("host")?.split(":")[0]?.trim().toLowerCase()??""}function p(e,t){let r;if(!function(e){let t=e.trim().toLowerCase(),{allowedEmails:r,allowedDomains:a,adminEmails:o}=u(),i=0===r.length||r.includes(t)||o.includes(t),n=0===a.length||a.some(e=>t.endsWith(`@${e}`));return i&&n}(e))return{ok:!1,authenticated:!0,email:e,reason:"Email/domain not allowed"};let o="viewer"===(r=process.env.CONDUCTOR_ACCESS_DEFAULT_ROLE?.trim().toLowerCase())||"operator"===r||"admin"===r?r:t?.defaultRole??null,i=(0,a.resolveRoleForEmail)(e,o?{...t,defaultRole:o}:t,u());return i.role?{ok:!0,authenticated:!0,email:e,role:i.role}:{ok:!1,authenticated:!0,email:e,reason:"Authenticated user is not granted dashboard access"}}async function y(e,t){let r=await h(e),a=await (0,o.verifyTrustedEdgeIdentity)(r,t);return a?a.ok?{...p(a.email,t),provider:a.provider}:{ok:!1,authenticated:!1,reason:a.reason,provider:a.provider}:null}async function m(){if(!(0,i.isBuiltinRemoteAuthEnabled)())return null;let e=await (0,t.cookies)(),r=e.get(i.BUILTIN_REMOTE_SESSION_COOKIE)?.value??null;return r&&await (0,i.verifyBuiltinRemoteSession)(r)?{ok:!0,authenticated:!0,role:"admin",email:"builtin",provider:"builtin"}:{ok:!1,authenticated:!1,reason:"Remote sign-in required",provider:"builtin"}}async function w(t){if(!s)return null;try{let{currentUser:r}=await e.A(37669),a=await r();if(!a)return{ok:!1,authenticated:!1,reason:"Not authenticated",provider:"clerk"};let o=a.emailAddresses.find(e=>e.id===a.primaryEmailAddressId)?.emailAddress??a.emailAddresses[0]?.emailAddress??"";if(!o)return{ok:!1,authenticated:!0,reason:"No email on account",provider:"clerk"};let i=o.toLowerCase(),n=p(i,t);if(!n.ok)return{...n,provider:"clerk"};let s=(process.env.CONDUCTOR_REQUIRE_APPROVAL??"true")==="true",c=u().adminEmails;if(s&&!c.includes(i)&&!0!==(a.publicMetadata??{}).conductorApproved)return{ok:!1,authenticated:!0,email:i,provider:"clerk",reason:"Awaiting manual approval"};return{...n,provider:"clerk"}}catch{return{ok:!1,authenticated:!1,reason:"Authentication service is unavailable. Check Clerk env vars and retry.",provider:"clerk"}}}async function g(e){let t=await d(),r=await f(e),o=await y(e,t);if(o)return o;let i=await m();if(i)return i;let s=await w(t);if(s)return s;let c=t?.requireAuth===!0||"true"===(process.env.CONDUCTOR_REQUIRE_AUTH??"").trim().toLowerCase()||function(){let{allowedEmails:e,allowedDomains:t,adminEmails:r}=u();return e.length>0||t.length>0||r.length>0}(),l=!1;try{let{config:e}=await (0,n.getServices)(),t=e.dashboardUrl?.trim();if(t){let e=new URL(t).hostname.toLowerCase();l=r.toLowerCase()===e}}catch{}return(0,a.isLoopbackHost)(r)||l?c?{ok:!1,authenticated:!1,reason:"Authentication required"}:{ok:!0,authenticated:!1,role:"admin",email:"local",provider:"local"}:{ok:!1,authenticated:!1,reason:"Authentication is required for non-local dashboard access"}}async function S(e,t="viewer"){let o=await g(e);return o.ok?o.role&&(0,a.roleMeetsRequirement)(o.role,t)?null:r.NextResponse.json({error:"Insufficient permissions",reason:`Requires ${t} access`,email:o.email??null,role:o.role??null},{status:403}):r.NextResponse.json({error:"Access denied",reason:o.reason,email:o.email??null},{status:403})}function v(e,t,r){let o=l(e,t);if(!o)return!1;if(r.has(o.host.toLowerCase()))return!0;var i=o.host;if(i.toLowerCase()===t.toLowerCase())return!0;let n=l(`https://${t}`),s=l(`https://${i}`);return!!n&&!!s&&n.port===s.port&&(n.hostname===s.hostname||(0,a.isLoopbackHost)(n.hostname)&&(0,a.isLoopbackHost)(s.hostname))}function A(e){return function(e){let t=e.nextUrl.host;if(!t)return null;let a=function(e){let t=new Set([e.toLowerCase()]);for(let r of c(process.env.CONDUCTOR_ALLOWED_ORIGINS)){if(!r)continue;let a=l(r.includes("://")?r:`https://${r}`,e);if(a){t.add(a.host.toLowerCase());continue}t.add(r.toLowerCase())}return t}(t),o=e.headers.get("sec-fetch-site")?.toLowerCase();if(o&&"none"!==o&&"same-origin"!==o&&"same-site"!==o)return r.NextResponse.json({error:"Invalid request context",reason:"Cross-site requests are not allowed for agent-control actions."},{status:403});let i=e.headers.get("origin"),n=i&&"null"!==i?i:null;if(n&&!v(n,t,a))return r.NextResponse.json({error:"Invalid request origin",reason:"Cross-origin requests are not allowed for agent-control actions."},{status:403});let s=e.headers.get("referer")??e.headers.get("referrer");return n||!s||v(s,t,a)?null:r.NextResponse.json({error:"Invalid request origin",reason:"Cross-site requests are not allowed for agent-control actions."},{status:403})}(e)}e.s(["getDashboardAccess",()=>g,"guardApiAccess",()=>S,"guardApiActionAccess",()=>A])}];
2
-
3
- //# sourceMappingURL=packages_web_src_lib_d64596cc._.js.map
@@ -1,3 +0,0 @@
1
- module.exports=[69630,a=>{"use strict";let b=new Set(["archived","done","killed","errored","terminated","merged","cleanup"]);function c(a){return"merged"===a.status||"archived"===a.status||"killed"===a.status||"errored"===a.status||"cleanup"===a.status||"done"===a.status||"terminated"===a.status||a.pr&&("merged"===a.pr.state||"closed"===a.pr.state)?"done":"mergeable"===a.status||"approved"===a.status||a.pr?.mergeability.mergeable?"merge":"waiting_input"===a.activity||"blocked"===a.activity||"needs_input"===a.status||"stuck"===a.status||"exited"===a.activity?"respond":"ci_failed"===a.status||"changes_requested"===a.status||a.pr&&("failing"===a.pr.ciStatus||"changes_requested"===a.pr.reviewDecision||!a.pr.mergeability.noConflicts)?"review":"review_pending"===a.status||a.pr&&!a.pr.isDraft&&("pending"===a.pr.reviewDecision||"none"===a.pr.reviewDecision)?"pending":"working"}a.s(["TERMINAL_STATUSES",0,b,"getAttentionLevel",()=>c])},7554,a=>{"use strict";function b(a,c,{checkForDefaultPrevented:d=!0}={}){return function(b){if(a?.(b),!1===d||!b.defaultPrevented)return c?.(b)}}a.s(["composeEventHandlers",()=>b])},50104,a=>{"use strict";var b=a.i(72131),c=a.i(87924);function d(a,e=[]){let f=[],g=()=>{let c=f.map(a=>b.createContext(a));return function(d){let e=d?.[a]||c;return b.useMemo(()=>({[`__scope${a}`]:{...d,[a]:e}}),[d,e])}};return g.scopeName=a,[function(d,e){let g=b.createContext(e),h=f.length;f=[...f,e];let i=d=>{let{scope:e,children:f,...i}=d,j=e?.[a]?.[h]||g,k=b.useMemo(()=>i,Object.values(i));return(0,c.jsx)(j.Provider,{value:k,children:f})};return i.displayName=d+"Provider",[i,function(c,f){let i=f?.[a]?.[h]||g,j=b.useContext(i);if(j)return j;if(void 0!==e)return e;throw Error(`\`${c}\` must be used within \`${d}\``)}]},function(...a){let c=a[0];if(1===a.length)return c;let d=()=>{let d=a.map(a=>({useScope:a(),scopeName:a.scopeName}));return function(a){let e=d.reduce((b,{useScope:c,scopeName:d})=>{let e=c(a)[`__scope${d}`];return{...b,...e}},{});return b.useMemo(()=>({[`__scope${c.scopeName}`]:e}),[e])}};return d.scopeName=c.scopeName,d}(g,...e)]}a.s(["createContextScope",()=>d])},70121,a=>{"use strict";var b=a.i(72131);function c(a,b){if("function"==typeof a)return a(b);null!=a&&(a.current=b)}function d(...a){return b=>{let d=!1,e=a.map(a=>{let e=c(a,b);return d||"function"!=typeof e||(d=!0),e});if(d)return()=>{for(let b=0;b<e.length;b++){let d=e[b];"function"==typeof d?d():c(a[b],null)}}}}function e(...a){return b.useCallback(d(...a),a)}a.s(["composeRefs",()=>d,"useComposedRefs",()=>e])},37738,a=>{"use strict";var b=a.i(72131),c=a.i(50104),d=a.i(70121),e=a.i(87924);function f(a){var c;let f,g=(c=a,(f=b.forwardRef((a,c)=>{let{children:e,...f}=a;if(b.isValidElement(e)){var g;let a,h,i=(g=e,(h=(a=Object.getOwnPropertyDescriptor(g.props,"ref")?.get)&&"isReactWarning"in a&&a.isReactWarning)?g.ref:(h=(a=Object.getOwnPropertyDescriptor(g,"ref")?.get)&&"isReactWarning"in a&&a.isReactWarning)?g.props.ref:g.props.ref||g.ref),j=function(a,b){let c={...b};for(let d in b){let e=a[d],f=b[d];/^on[A-Z]/.test(d)?e&&f?c[d]=(...a)=>{let b=f(...a);return e(...a),b}:e&&(c[d]=e):"style"===d?c[d]={...e,...f}:"className"===d&&(c[d]=[e,f].filter(Boolean).join(" "))}return{...a,...c}}(f,e.props);return e.type!==b.Fragment&&(j.ref=c?(0,d.composeRefs)(c,i):i),b.cloneElement(e,j)}return b.Children.count(e)>1?b.Children.only(null):null})).displayName=`${c}.SlotClone`,f),i=b.forwardRef((a,c)=>{let{children:d,...f}=a,i=b.Children.toArray(d),j=i.find(h);if(j){let a=j.props.children,d=i.map(c=>c!==j?c:b.Children.count(a)>1?b.Children.only(null):b.isValidElement(a)?a.props.children:null);return(0,e.jsx)(g,{...f,ref:c,children:b.isValidElement(a)?b.cloneElement(a,void 0,d):null})}return(0,e.jsx)(g,{...f,ref:c,children:d})});return i.displayName=`${a}.Slot`,i}var g=Symbol("radix.slottable");function h(a){return b.isValidElement(a)&&"function"==typeof a.type&&"__radixId"in a.type&&a.type.__radixId===g}function i(a){let g=a+"CollectionProvider",[h,i]=(0,c.createContextScope)(g),[j,k]=h(g,{collectionRef:{current:null},itemMap:new Map}),l=a=>{let{scope:c,children:d}=a,f=b.default.useRef(null),g=b.default.useRef(new Map).current;return(0,e.jsx)(j,{scope:c,itemMap:g,collectionRef:f,children:d})};l.displayName=g;let m=a+"CollectionSlot",n=f(m),o=b.default.forwardRef((a,b)=>{let{scope:c,children:f}=a,g=k(m,c),h=(0,d.useComposedRefs)(b,g.collectionRef);return(0,e.jsx)(n,{ref:h,children:f})});o.displayName=m;let p=a+"CollectionItemSlot",q="data-radix-collection-item",r=f(p),s=b.default.forwardRef((a,c)=>{let{scope:f,children:g,...h}=a,i=b.default.useRef(null),j=(0,d.useComposedRefs)(c,i),l=k(p,f);return b.default.useEffect(()=>(l.itemMap.set(i,{ref:i,...h}),()=>void l.itemMap.delete(i))),(0,e.jsx)(r,{...{[q]:""},ref:j,children:g})});return s.displayName=p,[{Provider:l,Slot:o,ItemSlot:s},function(c){let d=k(a+"CollectionConsumer",c);return b.default.useCallback(()=>{let a=d.collectionRef.current;if(!a)return[];let b=Array.from(a.querySelectorAll(`[${q}]`));return Array.from(d.itemMap.values()).sort((a,c)=>b.indexOf(a.ref.current)-b.indexOf(c.ref.current))},[d.collectionRef,d.itemMap])},i]}var j=new WeakMap;function k(a,b){var c,d;let e,f,g;if("at"in Array.prototype)return Array.prototype.at.call(a,b);let h=(c=a,d=b,e=c.length,(g=(f=l(d))>=0?f:e+f)<0||g>=e?-1:g);return -1===h?void 0:a[h]}function l(a){return a!=a||0===a?0:Math.trunc(a)}(class a extends Map{#a;constructor(a){super(a),this.#a=[...super.keys()],j.set(this,!0)}set(a,b){return j.get(this)&&(this.has(a)?this.#a[this.#a.indexOf(a)]=a:this.#a.push(a)),super.set(a,b),this}insert(a,b,c){let d,e=this.has(b),f=this.#a.length,g=l(a),h=g>=0?g:f+g,i=h<0||h>=f?-1:h;if(i===this.size||e&&i===this.size-1||-1===i)return this.set(b,c),this;let j=this.size+ +!e;g<0&&h++;let k=[...this.#a],m=!1;for(let a=h;a<j;a++)if(h===a){let f=k[a];k[a]===b&&(f=k[a+1]),e&&this.delete(b),d=this.get(f),this.set(b,c)}else{m||k[a-1]!==b||(m=!0);let c=k[m?a:a-1],e=d;d=this.get(c),this.delete(c),this.set(c,e)}return this}with(b,c,d){let e=new a(this);return e.insert(b,c,d),e}before(a){let b=this.#a.indexOf(a)-1;if(!(b<0))return this.entryAt(b)}setBefore(a,b,c){let d=this.#a.indexOf(a);return -1===d?this:this.insert(d,b,c)}after(a){let b=this.#a.indexOf(a);if(-1!==(b=-1===b||b===this.size-1?-1:b+1))return this.entryAt(b)}setAfter(a,b,c){let d=this.#a.indexOf(a);return -1===d?this:this.insert(d+1,b,c)}first(){return this.entryAt(0)}last(){return this.entryAt(-1)}clear(){return this.#a=[],super.clear()}delete(a){let b=super.delete(a);return b&&this.#a.splice(this.#a.indexOf(a),1),b}deleteAt(a){let b=this.keyAt(a);return void 0!==b&&this.delete(b)}at(a){let b=k(this.#a,a);if(void 0!==b)return this.get(b)}entryAt(a){let b=k(this.#a,a);if(void 0!==b)return[b,this.get(b)]}indexOf(a){return this.#a.indexOf(a)}keyAt(a){return k(this.#a,a)}from(a,b){let c=this.indexOf(a);if(-1===c)return;let d=c+b;return d<0&&(d=0),d>=this.size&&(d=this.size-1),this.at(d)}keyFrom(a,b){let c=this.indexOf(a);if(-1===c)return;let d=c+b;return d<0&&(d=0),d>=this.size&&(d=this.size-1),this.keyAt(d)}find(a,b){let c=0;for(let d of this){if(Reflect.apply(a,b,[d,c,this]))return d;c++}}findIndex(a,b){let c=0;for(let d of this){if(Reflect.apply(a,b,[d,c,this]))return c;c++}return -1}filter(b,c){let d=[],e=0;for(let a of this)Reflect.apply(b,c,[a,e,this])&&d.push(a),e++;return new a(d)}map(b,c){let d=[],e=0;for(let a of this)d.push([a[0],Reflect.apply(b,c,[a,e,this])]),e++;return new a(d)}reduce(...a){let[b,c]=a,d=0,e=c??this.at(0);for(let c of this)e=0===d&&1===a.length?c:Reflect.apply(b,this,[e,c,d,this]),d++;return e}reduceRight(...a){let[b,c]=a,d=c??this.at(-1);for(let c=this.size-1;c>=0;c--){let e=this.at(c);d=c===this.size-1&&1===a.length?e:Reflect.apply(b,this,[d,e,c,this])}return d}toSorted(b){return new a([...this.entries()].sort(b))}toReversed(){let b=new a;for(let a=this.size-1;a>=0;a--){let c=this.keyAt(a),d=this.get(c);b.set(c,d)}return b}toSpliced(...b){let c=[...this.entries()];return c.splice(...b),new a(c)}slice(b,c){let d=new a,e=this.size-1;if(void 0===b)return d;b<0&&(b+=this.size),void 0!==c&&c>0&&(e=c-1);for(let a=b;a<=e;a++){let b=this.keyAt(a),c=this.get(b);d.set(b,c)}return d}every(a,b){let c=0;for(let d of this){if(!Reflect.apply(a,b,[d,c,this]))return!1;c++}return!0}some(a,b){let c=0;for(let d of this){if(Reflect.apply(a,b,[d,c,this]))return!0;c++}return!1}}),a.s(["createCollection",()=>i],37738)},72752,a=>{"use strict";var b=a.i(72131),c=globalThis?.document?b.useLayoutEffect:()=>{};a.s(["useLayoutEffect",()=>c])},92843,a=>{"use strict";var b=a.i(72131),c=a.i(72752),d=b[" useId ".trim().toString()]||(()=>void 0),e=0;function f(a){let[f,g]=b.useState(d());return(0,c.useLayoutEffect)(()=>{a||g(a=>a??String(e++))},[a]),a||(f?`radix-${f}`:"")}a.s(["useId",()=>f])},30553,a=>{"use strict";var b=a.i(72131),c=a.i(35112),d=a.i(70121),e=a.i(87924),f=Symbol("radix.slottable");function g(a){return b.isValidElement(a)&&"function"==typeof a.type&&"__radixId"in a.type&&a.type.__radixId===f}var h=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"].reduce((a,c)=>{var f,h;let i,j,k,l=(h=f=`Primitive.${c}`,(i=b.forwardRef((a,c)=>{let{children:e,...f}=a;if(b.isValidElement(e)){var g;let a,h,i=(g=e,(h=(a=Object.getOwnPropertyDescriptor(g.props,"ref")?.get)&&"isReactWarning"in a&&a.isReactWarning)?g.ref:(h=(a=Object.getOwnPropertyDescriptor(g,"ref")?.get)&&"isReactWarning"in a&&a.isReactWarning)?g.props.ref:g.props.ref||g.ref),j=function(a,b){let c={...b};for(let d in b){let e=a[d],f=b[d];/^on[A-Z]/.test(d)?e&&f?c[d]=(...a)=>{let b=f(...a);return e(...a),b}:e&&(c[d]=e):"style"===d?c[d]={...e,...f}:"className"===d&&(c[d]=[e,f].filter(Boolean).join(" "))}return{...a,...c}}(f,e.props);return e.type!==b.Fragment&&(j.ref=c?(0,d.composeRefs)(c,i):i),b.cloneElement(e,j)}return b.Children.count(e)>1?b.Children.only(null):null})).displayName=`${h}.SlotClone`,j=i,(k=b.forwardRef((a,c)=>{let{children:d,...f}=a,h=b.Children.toArray(d),i=h.find(g);if(i){let a=i.props.children,d=h.map(c=>c!==i?c:b.Children.count(a)>1?b.Children.only(null):b.isValidElement(a)?a.props.children:null);return(0,e.jsx)(j,{...f,ref:c,children:b.isValidElement(a)?b.cloneElement(a,void 0,d):null})}return(0,e.jsx)(j,{...f,ref:c,children:d})})).displayName=`${f}.Slot`,k),m=b.forwardRef((a,b)=>{let{asChild:d,...f}=a;return(0,e.jsx)(d?l:c,{...f,ref:b})});return m.displayName=`Primitive.${c}`,{...a,[c]:m}},{});function i(a,b){a&&c.flushSync(()=>a.dispatchEvent(b))}a.s(["Primitive",()=>h,"dispatchDiscreteCustomEvent",()=>i],30553)},46872,a=>{"use strict";var b=a.i(72131);function c(a){let c=b.useRef(a);return b.useEffect(()=>{c.current=a}),b.useMemo(()=>(...a)=>c.current?.(...a),[])}a.s(["useCallbackRef",()=>c])},25152,a=>{"use strict";var b=a.i(72131),c=a.i(72752);b[" useEffectEvent ".trim().toString()],b[" useInsertionEffect ".trim().toString()];var d=b[" useInsertionEffect ".trim().toString()]||c.useLayoutEffect;function e({prop:a,defaultProp:c,onChange:e=()=>{},caller:f}){let[g,h,i]=function({defaultProp:a,onChange:c}){let[e,f]=b.useState(a),g=b.useRef(e),h=b.useRef(c);return d(()=>{h.current=c},[c]),b.useEffect(()=>{g.current!==e&&(h.current?.(e),g.current=e)},[e,g]),[e,f,h]}({defaultProp:c,onChange:e}),j=void 0!==a,k=j?a:g;{let c=b.useRef(void 0!==a);b.useEffect(()=>{let a=c.current;if(a!==j){let b=j?"controlled":"uncontrolled";console.warn(`${f} is changing from ${a?"controlled":"uncontrolled"} to ${b}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`)}c.current=j},[j,f])}return[k,b.useCallback(b=>{if(j){let c="function"==typeof b?b(a):b;c!==a&&i.current?.(c)}else h(b)},[j,a,h,i])]}Symbol("RADIX:SYNC_STATE"),a.s(["useControllableState",()=>e],25152)},7827,a=>{"use strict";var b=a.i(72131);a.i(87924);var c=b.createContext(void 0);function d(a){let d=b.useContext(c);return a||d||"ltr"}a.s(["useDirection",()=>d])},44572,a=>{"use strict";var b=a.i(72131),c=a.i(7554),d=a.i(37738),e=a.i(70121),f=a.i(50104),g=a.i(92843),h=a.i(30553),i=a.i(46872),j=a.i(25152),k=a.i(7827),l=a.i(87924),m="rovingFocusGroup.onEntryFocus",n={bubbles:!1,cancelable:!0},o="RovingFocusGroup",[p,q,r]=(0,d.createCollection)(o),[s,t]=(0,f.createContextScope)(o,[r]),[u,v]=s(o),w=b.forwardRef((a,b)=>(0,l.jsx)(p.Provider,{scope:a.__scopeRovingFocusGroup,children:(0,l.jsx)(p.Slot,{scope:a.__scopeRovingFocusGroup,children:(0,l.jsx)(x,{...a,ref:b})})}));w.displayName=o;var x=b.forwardRef((a,d)=>{let{__scopeRovingFocusGroup:f,orientation:g,loop:p=!1,dir:r,currentTabStopId:s,defaultCurrentTabStopId:t,onCurrentTabStopIdChange:v,onEntryFocus:w,preventScrollOnEntryFocus:x=!1,...y}=a,z=b.useRef(null),A=(0,e.useComposedRefs)(d,z),C=(0,k.useDirection)(r),[D,E]=(0,j.useControllableState)({prop:s,defaultProp:t??null,onChange:v,caller:o}),[F,G]=b.useState(!1),H=(0,i.useCallbackRef)(w),I=q(f),J=b.useRef(!1),[K,L]=b.useState(0);return b.useEffect(()=>{let a=z.current;if(a)return a.addEventListener(m,H),()=>a.removeEventListener(m,H)},[H]),(0,l.jsx)(u,{scope:f,orientation:g,dir:C,loop:p,currentTabStopId:D,onItemFocus:b.useCallback(a=>E(a),[E]),onItemShiftTab:b.useCallback(()=>G(!0),[]),onFocusableItemAdd:b.useCallback(()=>L(a=>a+1),[]),onFocusableItemRemove:b.useCallback(()=>L(a=>a-1),[]),children:(0,l.jsx)(h.Primitive.div,{tabIndex:F||0===K?-1:0,"data-orientation":g,...y,ref:A,style:{outline:"none",...a.style},onMouseDown:(0,c.composeEventHandlers)(a.onMouseDown,()=>{J.current=!0}),onFocus:(0,c.composeEventHandlers)(a.onFocus,a=>{let b=!J.current;if(a.target===a.currentTarget&&b&&!F){let b=new CustomEvent(m,n);if(a.currentTarget.dispatchEvent(b),!b.defaultPrevented){let a=I().filter(a=>a.focusable);B([a.find(a=>a.active),a.find(a=>a.id===D),...a].filter(Boolean).map(a=>a.ref.current),x)}}J.current=!1}),onBlur:(0,c.composeEventHandlers)(a.onBlur,()=>G(!1))})})}),y="RovingFocusGroupItem",z=b.forwardRef((a,d)=>{let{__scopeRovingFocusGroup:e,focusable:f=!0,active:i=!1,tabStopId:j,children:k,...m}=a,n=(0,g.useId)(),o=j||n,r=v(y,e),s=r.currentTabStopId===o,t=q(e),{onFocusableItemAdd:u,onFocusableItemRemove:w,currentTabStopId:x}=r;return b.useEffect(()=>{if(f)return u(),()=>w()},[f,u,w]),(0,l.jsx)(p.ItemSlot,{scope:e,id:o,focusable:f,active:i,children:(0,l.jsx)(h.Primitive.span,{tabIndex:s?0:-1,"data-orientation":r.orientation,...m,ref:d,onMouseDown:(0,c.composeEventHandlers)(a.onMouseDown,a=>{f?r.onItemFocus(o):a.preventDefault()}),onFocus:(0,c.composeEventHandlers)(a.onFocus,()=>r.onItemFocus(o)),onKeyDown:(0,c.composeEventHandlers)(a.onKeyDown,a=>{if("Tab"===a.key&&a.shiftKey)return void r.onItemShiftTab();if(a.target!==a.currentTarget)return;let b=function(a,b,c){var d;let e=(d=a.key,"rtl"!==c?d:"ArrowLeft"===d?"ArrowRight":"ArrowRight"===d?"ArrowLeft":d);if(!("vertical"===b&&["ArrowLeft","ArrowRight"].includes(e))&&!("horizontal"===b&&["ArrowUp","ArrowDown"].includes(e)))return A[e]}(a,r.orientation,r.dir);if(void 0!==b){if(a.metaKey||a.ctrlKey||a.altKey||a.shiftKey)return;a.preventDefault();let e=t().filter(a=>a.focusable).map(a=>a.ref.current);if("last"===b)e.reverse();else if("prev"===b||"next"===b){var c,d;"prev"===b&&e.reverse();let f=e.indexOf(a.currentTarget);e=r.loop?(c=e,d=f+1,c.map((a,b)=>c[(d+b)%c.length])):e.slice(f+1)}setTimeout(()=>B(e))}}),children:"function"==typeof k?k({isCurrentTabStop:s,hasTabStop:null!=x}):k})})});z.displayName=y;var A={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function B(a,b=!1){let c=document.activeElement;for(let d of a)if(d===c||(d.focus({preventScroll:b}),document.activeElement!==c))return}a.s(["Item",()=>z,"Root",()=>w,"createRovingFocusGroupScope",()=>t])},77192,a=>{"use strict";var b=a.i(72131),c=a.i(70121),d=a.i(72752),e=a=>{var e;let g,h,{present:i,children:j}=a,k=function(a){var c,e;let[g,h]=b.useState(),i=b.useRef(null),j=b.useRef(a),k=b.useRef("none"),[l,m]=(c=a?"mounted":"unmounted",e={mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}},b.useReducer((a,b)=>e[a][b]??a,c));return b.useEffect(()=>{let a=f(i.current);k.current="mounted"===l?a:"none"},[l]),(0,d.useLayoutEffect)(()=>{let b=i.current,c=j.current;if(c!==a){let d=k.current,e=f(b);a?m("MOUNT"):"none"===e||b?.display==="none"?m("UNMOUNT"):c&&d!==e?m("ANIMATION_OUT"):m("UNMOUNT"),j.current=a}},[a,m]),(0,d.useLayoutEffect)(()=>{if(g){let a,b=g.ownerDocument.defaultView??window,c=c=>{let d=f(i.current).includes(CSS.escape(c.animationName));if(c.target===g&&d&&(m("ANIMATION_END"),!j.current)){let c=g.style.animationFillMode;g.style.animationFillMode="forwards",a=b.setTimeout(()=>{"forwards"===g.style.animationFillMode&&(g.style.animationFillMode=c)})}},d=a=>{a.target===g&&(k.current=f(i.current))};return g.addEventListener("animationstart",d),g.addEventListener("animationcancel",c),g.addEventListener("animationend",c),()=>{b.clearTimeout(a),g.removeEventListener("animationstart",d),g.removeEventListener("animationcancel",c),g.removeEventListener("animationend",c)}}m("ANIMATION_END")},[g,m]),{isPresent:["mounted","unmountSuspended"].includes(l),ref:b.useCallback(a=>{i.current=a?getComputedStyle(a):null,h(a)},[])}}(i),l="function"==typeof j?j({present:k.isPresent}):b.Children.only(j),m=(0,c.useComposedRefs)(k.ref,(e=l,(h=(g=Object.getOwnPropertyDescriptor(e.props,"ref")?.get)&&"isReactWarning"in g&&g.isReactWarning)?e.ref:(h=(g=Object.getOwnPropertyDescriptor(e,"ref")?.get)&&"isReactWarning"in g&&g.isReactWarning)?e.props.ref:e.props.ref||e.ref));return"function"==typeof j||k.isPresent?b.cloneElement(l,{ref:m}):null};function f(a){return a?.animationName||"none"}e.displayName="Presence",a.s(["Presence",()=>e])},48079,a=>{"use strict";var b=a.i(87924),c=a.i(26006);let d=(0,a.i(72131).forwardRef)(({className:a,...d},e)=>(0,b.jsx)("div",{ref:e,className:(0,c.cn)("surface-card rounded-[var(--radius-md)] border",a),...d}));function e({className:a,...d}){return(0,b.jsx)("div",{className:(0,c.cn)("flex items-center gap-2 border-b border-[var(--vk-border)] px-3 py-2",a),...d})}function f({className:a,...d}){return(0,b.jsx)("div",{className:(0,c.cn)("px-3 py-2",a),...d})}d.displayName="Card",a.s(["Card",0,d,"CardContent",()=>f,"CardHeader",()=>e])},50415,a=>{"use strict";var b=a.i(87924),c=a.i(26006);let d={default:"border-[var(--vk-border)] bg-[var(--vk-bg-panel)] text-[var(--vk-text-muted)]",success:"border-transparent bg-transparent text-[var(--vk-green)]",warning:"border-transparent bg-transparent text-[var(--vk-orange)]",error:"border-transparent bg-transparent text-[var(--vk-red)]",info:"border-transparent bg-transparent text-[var(--vk-text-muted)]",outline:"border-[var(--vk-border)] bg-transparent text-[var(--vk-text-muted)]"};function e({variant:a="default",className:e,children:f}){return(0,b.jsx)("span",{className:(0,c.cn)("inline-flex items-center gap-1 rounded-[3px] border px-1.5 py-0.5 text-[11px] leading-none",d[a],e),children:f})}a.s(["Badge",()=>e])},9341,a=>{"use strict";let b=new Set,c=null;function d(a){return b.add(a),!c&&"u">typeof EventSource&&((c=new EventSource("/api/events")).onmessage=a=>{try{let c=JSON.parse(a.data);if("snapshot"!==c.type||!Array.isArray(c.sessions))return;for(let a of b)a(c)}catch{}},c.onerror=()=>{0===b.size&&(c?.close(),c=null)}),()=>{b.delete(a),0===b.size&&c&&(c.close(),c=null)}}a.s(["subscribeToSnapshotEvents",()=>d])},33441,a=>{"use strict";let b=(0,a.i(70106).default)("check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]);a.s(["Check",()=>b],33441)},5151,a=>{"use strict";let b=(0,a.i(70106).default)("copy",[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]]);a.s(["Copy",()=>b],5151)},34531,a=>{"use strict";let b=(0,a.i(70106).default)("folder-git-2",[["path",{d:"M18 19a5 5 0 0 1-5-5v8",key:"sz5oeg"}],["path",{d:"M9 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v5",key:"1w6njk"}],["circle",{cx:"13",cy:"12",r:"2",key:"1j92g6"}],["circle",{cx:"20",cy:"19",r:"2",key:"1obnsp"}]]);a.s(["FolderGit2",()=>b],34531)},10948,a=>{"use strict";let b=(0,a.i(70106).default)("git-branch",[["path",{d:"M15 6a9 9 0 0 0-9 9V3",key:"1cii5b"}],["circle",{cx:"18",cy:"6",r:"3",key:"1h7g24"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}]]);a.s(["GitBranch",()=>b],10948)},5784,a=>{"use strict";let b=(0,a.i(70106).default)("chevron-down",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]);a.s(["ChevronDown",()=>b],5784)},96101,a=>{"use strict";let b=(0,a.i(70106).default)("folder-open",[["path",{d:"m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2",key:"usdka0"}]]);a.s(["FolderOpen",()=>b],96101)},33508,a=>{"use strict";let b=(0,a.i(70106).default)("x",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]);a.s(["X",()=>b],33508)},83952,a=>{"use strict";let b=(0,a.i(70106).default)("paperclip",[["path",{d:"m16 6-8.414 8.586a2 2 0 0 0 2.829 2.829l8.414-8.586a4 4 0 1 0-5.657-5.657l-8.379 8.551a6 6 0 1 0 8.485 8.485l8.379-8.551",key:"1miecu"}]]);a.s(["Paperclip",()=>b],83952)},36177,a=>{"use strict";var b=a.i(72131);let c=new Set,d=[],e=!0,f=0,g=null,h=null;function i(){for(let a of c)a()}function j(){return{agents:d,loading:e}}function k(){return d.length>0&&Date.now()-f<3e4}function l(){null===h&&(h=window.setTimeout(()=>{h=null,m(!0)},1e4))}async function m(a=!1){if(!a&&k()){e&&(e=!1,i());return}return g||(e=!0,i(),g=(async()=>{try{var a;let b=await fetch("/api/agents",{cache:"no-store"});if(!b.ok)throw Error(`Failed to fetch agents: ${b.status}`);let c=(a=await b.json(),Array.isArray(a)?a:a&&"object"==typeof a&&"agents"in a&&Array.isArray(a.agents)?a.agents:[]);c.length>0?(d=c,f=Date.now(),null!==h&&(window.clearTimeout(h),h=null)):l()}catch{l()}finally{e=!1,g=null,i()}})())}function n(){let[a,d]=(0,b.useState)(()=>j());return(0,b.useEffect)(()=>{let a=()=>d(j());c.add(a),a(),m();let b=()=>{k()||m(!0)},e=()=>{"visible"!==document.visibilityState||k()||m(!0)};return window.addEventListener("focus",b),document.addEventListener("visibilitychange",e),()=>{c.delete(a),window.removeEventListener("focus",b),document.removeEventListener("visibilitychange",e)}},[]),a}a.s(["useAgents",()=>n])},53603,a=>{"use strict";function b(a){return a.trim().toLowerCase().replace(/[_\s]+/g,"-")}a.s(["normalizeAgentName",()=>b])}];
2
-
3
- //# sourceMappingURL=_b88bcf2c._.js.map
@@ -1,3 +0,0 @@
1
- module.exports=[5225,a=>{"use strict";var b=a.i(5050);let c=(0,b.createServerReference)("001ea7161acf37120fbad6a94bf5d4b7fb96c391a6",b.callServer,void 0,b.findSourceMapURL,"createOrReadKeylessAction");a.s(["createOrReadKeylessAction",()=>c])},88985,a=>{"use strict";var b=a.i(50944),c=a.i(72131),d=a.i(5225);let e=a=>{var e;let{children:f}=a,g=(null==(e=(0,b.useSelectedLayoutSegments)()[0])?void 0:e.startsWith("/_not-found"))||!1,[h,i]=c.default.useActionState(d.createOrReadKeylessAction,null);return((0,c.useEffect)(()=>{g||c.default.startTransition(()=>{i()})},[g]),c.default.isValidElement(f))?c.default.cloneElement(f,{key:null==h?void 0:h.publishableKey,publishableKey:null==h?void 0:h.publishableKey,__internal_keyless_claimKeylessApplicationUrl:null==h?void 0:h.claimUrl,__internal_keyless_copyInstanceKeysUrl:null==h?void 0:h.apiKeysUrl,__internal_bypassMissingPublishableKey:!0}):f};a.s(["KeylessCreatorOrReader",()=>e])}];
2
-
3
- //# sourceMappingURL=node_modules_%40clerk_nextjs_dist_esm_app-router_38e7b35d._.js.map
@@ -1,3 +0,0 @@
1
- module.exports=[5225,a=>{"use strict";var b=a.i(5050);let c=(0,b.createServerReference)("001ea7161acf37120fbad6a94bf5d4b7fb96c391a6",b.callServer,void 0,b.findSourceMapURL,"createOrReadKeylessAction");a.s(["createOrReadKeylessAction",()=>c])},37247,a=>{"use strict";a.s([],67203),a.i(67203);var b=a.i(5050);let c=(0,b.createServerReference)("4073fa5873c15ed8bea784c7076599e7a333482701",b.callServer,void 0,b.findSourceMapURL,"syncKeylessConfigAction");var d=a.i(5225);let e=(0,b.createServerReference)("00e2b3644dd42a5e17414dc47ba7dda75cdf1a4fb8",b.callServer,void 0,b.findSourceMapURL,"deleteKeylessAction");var f=a.i(59561);a.s(["createOrReadKeylessAction",()=>d.createOrReadKeylessAction,"deleteKeylessAction",()=>e,"detectKeylessEnvDriftAction",()=>f.detectKeylessEnvDriftAction,"syncKeylessConfigAction",()=>c],37247)}];
2
-
3
- //# sourceMappingURL=node_modules_%40clerk_nextjs_dist_esm_app-router_f665760b._.js.map