madarx 2.19.0 → 2.22.0

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 (1231) hide show
  1. package/.next/standalone/.next/BUILD_ID +1 -1
  2. package/.next/standalone/.next/app-build-manifest.json +688 -674
  3. package/.next/standalone/.next/app-path-routes-manifest.json +80 -78
  4. package/.next/standalone/.next/build-manifest.json +5 -5
  5. package/.next/standalone/.next/prerender-manifest.json +3 -3
  6. package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  7. package/.next/standalone/.next/server/app/_not-found.html +2 -2
  8. package/.next/standalone/.next/server/app/_not-found.rsc +3 -3
  9. package/.next/standalone/.next/server/app/activity/page_client-reference-manifest.js +1 -1
  10. package/.next/standalone/.next/server/app/admin/page.js +2 -2
  11. package/.next/standalone/.next/server/app/admin/page_client-reference-manifest.js +1 -1
  12. package/.next/standalone/.next/server/app/agents/[id]/page.js +3 -3
  13. package/.next/standalone/.next/server/app/agents/[id]/page.js.nft.json +1 -1
  14. package/.next/standalone/.next/server/app/agents/[id]/page_client-reference-manifest.js +1 -1
  15. package/.next/standalone/.next/server/app/agents/page.js +1 -1
  16. package/.next/standalone/.next/server/app/agents/page_client-reference-manifest.js +1 -1
  17. package/.next/standalone/.next/server/app/api/activity/route_client-reference-manifest.js +1 -1
  18. package/.next/standalone/.next/server/app/api/admin/audit-export/route_client-reference-manifest.js +1 -1
  19. package/.next/standalone/.next/server/app/api/admin/share-links/route_client-reference-manifest.js +1 -1
  20. package/.next/standalone/.next/server/app/api/agent-memory/route_client-reference-manifest.js +1 -1
  21. package/.next/standalone/.next/server/app/api/agent-runs/[id]/cancel/route_client-reference-manifest.js +1 -1
  22. package/.next/standalone/.next/server/app/api/agent-runs/[id]/events/route_client-reference-manifest.js +1 -1
  23. package/.next/standalone/.next/server/app/api/agent-runs/[id]/log/route_client-reference-manifest.js +1 -1
  24. package/.next/standalone/.next/server/app/api/agent-runs/[id]/route_client-reference-manifest.js +1 -1
  25. package/.next/standalone/.next/server/app/api/agent-runs/route_client-reference-manifest.js +1 -1
  26. package/.next/standalone/.next/server/app/api/agents/[id]/active-run/route_client-reference-manifest.js +1 -1
  27. package/.next/standalone/.next/server/app/api/agents/[id]/chain/route_client-reference-manifest.js +1 -1
  28. package/.next/standalone/.next/server/app/api/agents/[id]/memory/route_client-reference-manifest.js +1 -1
  29. package/.next/standalone/.next/server/app/api/agents/[id]/reports/route_client-reference-manifest.js +1 -1
  30. package/.next/standalone/.next/server/app/api/agents/[id]/run/route_client-reference-manifest.js +1 -1
  31. package/.next/standalone/.next/server/app/api/agents/[id]/skills/route.js.nft.json +1 -1
  32. package/.next/standalone/.next/server/app/api/agents/[id]/skills/route_client-reference-manifest.js +1 -1
  33. package/.next/standalone/.next/server/app/api/agents/active-runs/route.js +1 -0
  34. package/.next/standalone/.next/server/app/api/agents/active-runs/route.js.nft.json +1 -0
  35. package/.next/standalone/.next/server/app/api/agents/active-runs/route_client-reference-manifest.js +1 -0
  36. package/.next/standalone/.next/server/app/api/agents/create/route_client-reference-manifest.js +1 -1
  37. package/.next/standalone/.next/server/app/api/agents/ops/route_client-reference-manifest.js +1 -1
  38. package/.next/standalone/.next/server/app/api/agents/resume-approval/route.js +1 -0
  39. package/.next/standalone/.next/server/app/api/agents/resume-approval/route.js.nft.json +1 -0
  40. package/.next/standalone/.next/server/app/api/agents/resume-approval/route_client-reference-manifest.js +1 -0
  41. package/.next/standalone/.next/server/app/api/approvals/[id]/route_client-reference-manifest.js +1 -1
  42. package/.next/standalone/.next/server/app/api/approvals/route_client-reference-manifest.js +1 -1
  43. package/.next/standalone/.next/server/app/api/artifacts/[id]/acl/route_client-reference-manifest.js +1 -1
  44. package/.next/standalone/.next/server/app/api/artifacts/[id]/protect/route_client-reference-manifest.js +1 -1
  45. package/.next/standalone/.next/server/app/api/artifacts/[id]/raw/route_client-reference-manifest.js +1 -1
  46. package/.next/standalone/.next/server/app/api/artifacts/[id]/route_client-reference-manifest.js +1 -1
  47. package/.next/standalone/.next/server/app/api/artifacts/[id]/share-link/[linkId]/route_client-reference-manifest.js +1 -1
  48. package/.next/standalone/.next/server/app/api/artifacts/[id]/share-link/route_client-reference-manifest.js +1 -1
  49. package/.next/standalone/.next/server/app/api/artifacts/upload/route_client-reference-manifest.js +1 -1
  50. package/.next/standalone/.next/server/app/api/audit/list/route_client-reference-manifest.js +1 -1
  51. package/.next/standalone/.next/server/app/api/audit/search/route_client-reference-manifest.js +1 -1
  52. package/.next/standalone/.next/server/app/api/auth/callback/route_client-reference-manifest.js +1 -1
  53. package/.next/standalone/.next/server/app/api/auth/config/route_client-reference-manifest.js +1 -1
  54. package/.next/standalone/.next/server/app/api/auth/join-bootstrap/route_client-reference-manifest.js +1 -1
  55. package/.next/standalone/.next/server/app/api/auth/session/route_client-reference-manifest.js +1 -1
  56. package/.next/standalone/.next/server/app/api/brand/route_client-reference-manifest.js +1 -1
  57. package/.next/standalone/.next/server/app/api/brand/share/route_client-reference-manifest.js +1 -1
  58. package/.next/standalone/.next/server/app/api/chat/sessions/[id]/route_client-reference-manifest.js +1 -1
  59. package/.next/standalone/.next/server/app/api/chat/sessions/route_client-reference-manifest.js +1 -1
  60. package/.next/standalone/.next/server/app/api/cloud/schema/route_client-reference-manifest.js +1 -1
  61. package/.next/standalone/.next/server/app/api/config/env/route_client-reference-manifest.js +1 -1
  62. package/.next/standalone/.next/server/app/api/config/route_client-reference-manifest.js +1 -1
  63. package/.next/standalone/.next/server/app/api/connections/[service]/route_client-reference-manifest.js +1 -1
  64. package/.next/standalone/.next/server/app/api/connections/[service]/verify/route.js +2 -2
  65. package/.next/standalone/.next/server/app/api/connections/[service]/verify/route_client-reference-manifest.js +1 -1
  66. package/.next/standalone/.next/server/app/api/connections/route_client-reference-manifest.js +1 -1
  67. package/.next/standalone/.next/server/app/api/cron/tick/route_client-reference-manifest.js +1 -1
  68. package/.next/standalone/.next/server/app/api/dashboard/spaces/[id]/move/route_client-reference-manifest.js +1 -1
  69. package/.next/standalone/.next/server/app/api/dashboard/spaces/[id]/route_client-reference-manifest.js +1 -1
  70. package/.next/standalone/.next/server/app/api/dashboard/spaces/[id]/share-link/[linkId]/route_client-reference-manifest.js +1 -1
  71. package/.next/standalone/.next/server/app/api/dashboard/spaces/[id]/share-link/route_client-reference-manifest.js +1 -1
  72. package/.next/standalone/.next/server/app/api/dashboard/spaces/import/route_client-reference-manifest.js +1 -1
  73. package/.next/standalone/.next/server/app/api/dashboard/spaces/route_client-reference-manifest.js +1 -1
  74. package/.next/standalone/.next/server/app/api/disk/files/[id]/blob/route_client-reference-manifest.js +1 -1
  75. package/.next/standalone/.next/server/app/api/disk/files/[id]/route_client-reference-manifest.js +1 -1
  76. package/.next/standalone/.next/server/app/api/disk/files/[id]/transcribe/route_client-reference-manifest.js +1 -1
  77. package/.next/standalone/.next/server/app/api/disk/files/route_client-reference-manifest.js +1 -1
  78. package/.next/standalone/.next/server/app/api/disk/folders/route_client-reference-manifest.js +1 -1
  79. package/.next/standalone/.next/server/app/api/events/since/[cursor]/route_client-reference-manifest.js +1 -1
  80. package/.next/standalone/.next/server/app/api/events/stream/route_client-reference-manifest.js +1 -1
  81. package/.next/standalone/.next/server/app/api/fs/create-folder/route_client-reference-manifest.js +1 -1
  82. package/.next/standalone/.next/server/app/api/fs/pick-folder/route_client-reference-manifest.js +1 -1
  83. package/.next/standalone/.next/server/app/api/hail/engagements/[id]/blueprint/route_client-reference-manifest.js +1 -1
  84. package/.next/standalone/.next/server/app/api/hail/engagements/[id]/diagnostic/route_client-reference-manifest.js +1 -1
  85. package/.next/standalone/.next/server/app/api/hail/engagements/[id]/governance/route_client-reference-manifest.js +1 -1
  86. package/.next/standalone/.next/server/app/api/hail/engagements/[id]/interview/route_client-reference-manifest.js +1 -1
  87. package/.next/standalone/.next/server/app/api/hail/engagements/[id]/pilot/route_client-reference-manifest.js +1 -1
  88. package/.next/standalone/.next/server/app/api/hail/engagements/[id]/quarterly/route_client-reference-manifest.js +1 -1
  89. package/.next/standalone/.next/server/app/api/hail/engagements/[id]/route_client-reference-manifest.js +1 -1
  90. package/.next/standalone/.next/server/app/api/hail/engagements/[id]/setup-package/route_client-reference-manifest.js +1 -1
  91. package/.next/standalone/.next/server/app/api/hail/engagements/route_client-reference-manifest.js +1 -1
  92. package/.next/standalone/.next/server/app/api/hail/interviews/[id]/responses/route_client-reference-manifest.js +1 -1
  93. package/.next/standalone/.next/server/app/api/hail/interviews/[id]/route_client-reference-manifest.js +1 -1
  94. package/.next/standalone/.next/server/app/api/hail/setup-packages/[id]/apply/route_client-reference-manifest.js +1 -1
  95. package/.next/standalone/.next/server/app/api/hail/setup-packages/validate/route_client-reference-manifest.js +1 -1
  96. package/.next/standalone/.next/server/app/api/heartbeat/tick/route_client-reference-manifest.js +1 -1
  97. package/.next/standalone/.next/server/app/api/heartbeat/worker/route_client-reference-manifest.js +1 -1
  98. package/.next/standalone/.next/server/app/api/help/route_client-reference-manifest.js +1 -1
  99. package/.next/standalone/.next/server/app/api/hermes/jobs/[id]/events/route_client-reference-manifest.js +1 -1
  100. package/.next/standalone/.next/server/app/api/hermes/jobs/[id]/route_client-reference-manifest.js +1 -1
  101. package/.next/standalone/.next/server/app/api/hermes/jobs/route_client-reference-manifest.js +1 -1
  102. package/.next/standalone/.next/server/app/api/integrations/google/callback/route_client-reference-manifest.js +1 -1
  103. package/.next/standalone/.next/server/app/api/integrations/google/oauth/route_client-reference-manifest.js +1 -1
  104. package/.next/standalone/.next/server/app/api/marketplace/[id]/route_client-reference-manifest.js +1 -1
  105. package/.next/standalone/.next/server/app/api/marketplace/open-design/route_client-reference-manifest.js +1 -1
  106. package/.next/standalone/.next/server/app/api/marketplace/route_client-reference-manifest.js +1 -1
  107. package/.next/standalone/.next/server/app/api/mines/import-roots/route_client-reference-manifest.js +1 -1
  108. package/.next/standalone/.next/server/app/api/mines/portfolio/route_client-reference-manifest.js +1 -1
  109. package/.next/standalone/.next/server/app/api/mines/projects/[id]/chunks/route_client-reference-manifest.js +1 -1
  110. package/.next/standalone/.next/server/app/api/mines/projects/[id]/diligence/route_client-reference-manifest.js +1 -1
  111. package/.next/standalone/.next/server/app/api/mines/projects/[id]/import/route_client-reference-manifest.js +1 -1
  112. package/.next/standalone/.next/server/app/api/mines/projects/[id]/publish/route_client-reference-manifest.js +1 -1
  113. package/.next/standalone/.next/server/app/api/mines/projects/route_client-reference-manifest.js +1 -1
  114. package/.next/standalone/.next/server/app/api/missions/route_client-reference-manifest.js +1 -1
  115. package/.next/standalone/.next/server/app/api/models/route_client-reference-manifest.js +1 -1
  116. package/.next/standalone/.next/server/app/api/onboarding/blueprint/route.js.nft.json +1 -1
  117. package/.next/standalone/.next/server/app/api/onboarding/blueprint/route_client-reference-manifest.js +1 -1
  118. package/.next/standalone/.next/server/app/api/onboarding/launch/route.js.nft.json +1 -1
  119. package/.next/standalone/.next/server/app/api/onboarding/launch/route_client-reference-manifest.js +1 -1
  120. package/.next/standalone/.next/server/app/api/orchestrator/command/route_client-reference-manifest.js +1 -1
  121. package/.next/standalone/.next/server/app/api/orchestrator/stream/attach/route_client-reference-manifest.js +1 -1
  122. package/.next/standalone/.next/server/app/api/orchestrator/stream/route.js +58 -63
  123. package/.next/standalone/.next/server/app/api/orchestrator/stream/route_client-reference-manifest.js +1 -1
  124. package/.next/standalone/.next/server/app/api/orchestrator/upload/route_client-reference-manifest.js +1 -1
  125. package/.next/standalone/.next/server/app/api/org/route_client-reference-manifest.js +1 -1
  126. package/.next/standalone/.next/server/app/api/orgs/[id]/invites/[inviteId]/route_client-reference-manifest.js +1 -1
  127. package/.next/standalone/.next/server/app/api/orgs/[id]/invites/route_client-reference-manifest.js +1 -1
  128. package/.next/standalone/.next/server/app/api/orgs/[id]/members/[userId]/role/route_client-reference-manifest.js +1 -1
  129. package/.next/standalone/.next/server/app/api/orgs/[id]/members/[userId]/route_client-reference-manifest.js +1 -1
  130. package/.next/standalone/.next/server/app/api/orgs/[id]/members/route_client-reference-manifest.js +1 -1
  131. package/.next/standalone/.next/server/app/api/orgs/[id]/route_client-reference-manifest.js +1 -1
  132. package/.next/standalone/.next/server/app/api/orgs/invites/pending/route_client-reference-manifest.js +1 -1
  133. package/.next/standalone/.next/server/app/api/orgs/join/route_client-reference-manifest.js +1 -1
  134. package/.next/standalone/.next/server/app/api/orgs/join-complete/route_client-reference-manifest.js +1 -1
  135. package/.next/standalone/.next/server/app/api/orgs/route_client-reference-manifest.js +1 -1
  136. package/.next/standalone/.next/server/app/api/printing-press/clis/route_client-reference-manifest.js +1 -1
  137. package/.next/standalone/.next/server/app/api/printing-press/install/route_client-reference-manifest.js +1 -1
  138. package/.next/standalone/.next/server/app/api/printing-press/security-mode/route_client-reference-manifest.js +1 -1
  139. package/.next/standalone/.next/server/app/api/privacy/config/route_client-reference-manifest.js +1 -1
  140. package/.next/standalone/.next/server/app/api/privacy/verify/route_client-reference-manifest.js +1 -1
  141. package/.next/standalone/.next/server/app/api/processes/[id]/route_client-reference-manifest.js +1 -1
  142. package/.next/standalone/.next/server/app/api/processes/[id]/share-link/route_client-reference-manifest.js +1 -1
  143. package/.next/standalone/.next/server/app/api/processes/[id]/stages/[stageId]/override/route_client-reference-manifest.js +1 -1
  144. package/.next/standalone/.next/server/app/api/processes/[id]/stages/[stageId]/retry/route_client-reference-manifest.js +1 -1
  145. package/.next/standalone/.next/server/app/api/processes/[id]/stages/[stageId]/submit/route_client-reference-manifest.js +1 -1
  146. package/.next/standalone/.next/server/app/api/processes/definitions/[slug]/route_client-reference-manifest.js +1 -1
  147. package/.next/standalone/.next/server/app/api/processes/definitions/[slug]/settings/route_client-reference-manifest.js +1 -1
  148. package/.next/standalone/.next/server/app/api/processes/definitions/route_client-reference-manifest.js +1 -1
  149. package/.next/standalone/.next/server/app/api/processes/definitions/validate/route_client-reference-manifest.js +1 -1
  150. package/.next/standalone/.next/server/app/api/processes/route_client-reference-manifest.js +1 -1
  151. package/.next/standalone/.next/server/app/api/processes/start-and-route/route_client-reference-manifest.js +1 -1
  152. package/.next/standalone/.next/server/app/api/projects/[slug]/library/route_client-reference-manifest.js +1 -1
  153. package/.next/standalone/.next/server/app/api/projects/[slug]/route_client-reference-manifest.js +1 -1
  154. package/.next/standalone/.next/server/app/api/projects/route_client-reference-manifest.js +1 -1
  155. package/.next/standalone/.next/server/app/api/runs/approve-claude-run/route_client-reference-manifest.js +1 -1
  156. package/.next/standalone/.next/server/app/api/runs/claude-code-dry-run/route_client-reference-manifest.js +1 -1
  157. package/.next/standalone/.next/server/app/api/runs/competitor-report/route_client-reference-manifest.js +1 -1
  158. package/.next/standalone/.next/server/app/api/runs/engine-ping/route_client-reference-manifest.js +1 -1
  159. package/.next/standalone/.next/server/app/api/runs/marketing-plan/route_client-reference-manifest.js +1 -1
  160. package/.next/standalone/.next/server/app/api/schedules/upsert/route_client-reference-manifest.js +1 -1
  161. package/.next/standalone/.next/server/app/api/secrets/[name]/route_client-reference-manifest.js +1 -1
  162. package/.next/standalone/.next/server/app/api/secrets/route_client-reference-manifest.js +1 -1
  163. package/.next/standalone/.next/server/app/api/settings/trust-mode/route_client-reference-manifest.js +1 -1
  164. package/.next/standalone/.next/server/app/api/share/[token]/otp/route_client-reference-manifest.js +1 -1
  165. package/.next/standalone/.next/server/app/api/share/[token]/route_client-reference-manifest.js +1 -1
  166. package/.next/standalone/.next/server/app/api/share/[token]/verify/route_client-reference-manifest.js +1 -1
  167. package/.next/standalone/.next/server/app/api/share/space/[token]/otp/route_client-reference-manifest.js +1 -1
  168. package/.next/standalone/.next/server/app/api/share/space/[token]/route_client-reference-manifest.js +1 -1
  169. package/.next/standalone/.next/server/app/api/share/space/[token]/verify/route_client-reference-manifest.js +1 -1
  170. package/.next/standalone/.next/server/app/api/shared/spaces/[id]/acl/route_client-reference-manifest.js +1 -1
  171. package/.next/standalone/.next/server/app/api/shared/spaces/publish/route_client-reference-manifest.js +1 -1
  172. package/.next/standalone/.next/server/app/api/shared/spaces/route_client-reference-manifest.js +1 -1
  173. package/.next/standalone/.next/server/app/api/shared/spaces/status/route_client-reference-manifest.js +1 -1
  174. package/.next/standalone/.next/server/app/api/shared/spaces/unpublish/route_client-reference-manifest.js +1 -1
  175. package/.next/standalone/.next/server/app/api/state/route_client-reference-manifest.js +1 -1
  176. package/.next/standalone/.next/server/app/api/system/update/route_client-reference-manifest.js +1 -1
  177. package/.next/standalone/.next/server/app/api/tasks/[id]/active-run/route_client-reference-manifest.js +1 -1
  178. package/.next/standalone/.next/server/app/api/tasks/[id]/attachments/route_client-reference-manifest.js +1 -1
  179. package/.next/standalone/.next/server/app/api/tasks/[id]/checklist/[itemId]/route_client-reference-manifest.js +1 -1
  180. package/.next/standalone/.next/server/app/api/tasks/[id]/checklist/route_client-reference-manifest.js +1 -1
  181. package/.next/standalone/.next/server/app/api/tasks/[id]/checkout/route_client-reference-manifest.js +1 -1
  182. package/.next/standalone/.next/server/app/api/tasks/[id]/children/route_client-reference-manifest.js +1 -1
  183. package/.next/standalone/.next/server/app/api/tasks/[id]/comments/route_client-reference-manifest.js +1 -1
  184. package/.next/standalone/.next/server/app/api/tasks/[id]/events/route_client-reference-manifest.js +1 -1
  185. package/.next/standalone/.next/server/app/api/tasks/[id]/live-runs/route_client-reference-manifest.js +1 -1
  186. package/.next/standalone/.next/server/app/api/tasks/[id]/release/route_client-reference-manifest.js +1 -1
  187. package/.next/standalone/.next/server/app/api/tasks/[id]/route_client-reference-manifest.js +1 -1
  188. package/.next/standalone/.next/server/app/api/tasks/route_client-reference-manifest.js +1 -1
  189. package/.next/standalone/.next/server/app/api/tool-allowlists/[id]/route_client-reference-manifest.js +1 -1
  190. package/.next/standalone/.next/server/app/api/tool-allowlists/route_client-reference-manifest.js +1 -1
  191. package/.next/standalone/.next/server/app/api/tool-egress/route_client-reference-manifest.js +1 -1
  192. package/.next/standalone/.next/server/app/api/tools/[name]/approve/route_client-reference-manifest.js +1 -1
  193. package/.next/standalone/.next/server/app/api/tools/[name]/route_client-reference-manifest.js +1 -1
  194. package/.next/standalone/.next/server/app/api/tools/route_client-reference-manifest.js +1 -1
  195. package/.next/standalone/.next/server/app/api/transcripts/route_client-reference-manifest.js +1 -1
  196. package/.next/standalone/.next/server/app/api/voice/providers/route_client-reference-manifest.js +1 -1
  197. package/.next/standalone/.next/server/app/api/voice/realtime/context/route_client-reference-manifest.js +1 -1
  198. package/.next/standalone/.next/server/app/api/voice/realtime/session/route_client-reference-manifest.js +1 -1
  199. package/.next/standalone/.next/server/app/api/voice/realtime/tool-result/route_client-reference-manifest.js +1 -1
  200. package/.next/standalone/.next/server/app/api/voice/realtime/tools/route_client-reference-manifest.js +1 -1
  201. package/.next/standalone/.next/server/app/api/voice/tts/route_client-reference-manifest.js +1 -1
  202. package/.next/standalone/.next/server/app/api/whatsapp/allowlist/route_client-reference-manifest.js +1 -1
  203. package/.next/standalone/.next/server/app/api/whatsapp/disconnect/route_client-reference-manifest.js +1 -1
  204. package/.next/standalone/.next/server/app/api/whatsapp/messages/route_client-reference-manifest.js +1 -1
  205. package/.next/standalone/.next/server/app/api/whatsapp/qr/route_client-reference-manifest.js +1 -1
  206. package/.next/standalone/.next/server/app/api/whatsapp/send/route_client-reference-manifest.js +1 -1
  207. package/.next/standalone/.next/server/app/api/whatsapp/status/route_client-reference-manifest.js +1 -1
  208. package/.next/standalone/.next/server/app/approvals/page.js +2 -2
  209. package/.next/standalone/.next/server/app/approvals/page_client-reference-manifest.js +1 -1
  210. package/.next/standalone/.next/server/app/architecture/page_client-reference-manifest.js +1 -1
  211. package/.next/standalone/.next/server/app/architecture.html +2 -2
  212. package/.next/standalone/.next/server/app/architecture.rsc +3 -3
  213. package/.next/standalone/.next/server/app/audit/live/page_client-reference-manifest.js +1 -1
  214. package/.next/standalone/.next/server/app/audit/page_client-reference-manifest.js +1 -1
  215. package/.next/standalone/.next/server/app/brand/page_client-reference-manifest.js +1 -1
  216. package/.next/standalone/.next/server/app/brand.html +2 -2
  217. package/.next/standalone/.next/server/app/brand.rsc +3 -3
  218. package/.next/standalone/.next/server/app/disk/page_client-reference-manifest.js +1 -1
  219. package/.next/standalone/.next/server/app/federated-ai/page_client-reference-manifest.js +1 -1
  220. package/.next/standalone/.next/server/app/federated-ai.html +2 -2
  221. package/.next/standalone/.next/server/app/federated-ai.rsc +3 -3
  222. package/.next/standalone/.next/server/app/hail/[id]/governance/page_client-reference-manifest.js +1 -1
  223. package/.next/standalone/.next/server/app/hail/[id]/interview/page.js +2 -2
  224. package/.next/standalone/.next/server/app/hail/[id]/interview/page_client-reference-manifest.js +1 -1
  225. package/.next/standalone/.next/server/app/hail/[id]/page.js +1 -1
  226. package/.next/standalone/.next/server/app/hail/[id]/page_client-reference-manifest.js +1 -1
  227. package/.next/standalone/.next/server/app/hail/[id]/setup/page.js +2 -2
  228. package/.next/standalone/.next/server/app/hail/[id]/setup/page_client-reference-manifest.js +1 -1
  229. package/.next/standalone/.next/server/app/hail/page.js +1 -1
  230. package/.next/standalone/.next/server/app/hail/page_client-reference-manifest.js +1 -1
  231. package/.next/standalone/.next/server/app/help/[slug]/page_client-reference-manifest.js +1 -1
  232. package/.next/standalone/.next/server/app/help/page_client-reference-manifest.js +1 -1
  233. package/.next/standalone/.next/server/app/index.html +2 -2
  234. package/.next/standalone/.next/server/app/index.rsc +4 -4
  235. package/.next/standalone/.next/server/app/join/page_client-reference-manifest.js +1 -1
  236. package/.next/standalone/.next/server/app/join.html +1 -1
  237. package/.next/standalone/.next/server/app/join.rsc +3 -3
  238. package/.next/standalone/.next/server/app/login/page_client-reference-manifest.js +1 -1
  239. package/.next/standalone/.next/server/app/marketplace/page.js +3 -3
  240. package/.next/standalone/.next/server/app/marketplace/page_client-reference-manifest.js +1 -1
  241. package/.next/standalone/.next/server/app/mines/[projectId]/page_client-reference-manifest.js +1 -1
  242. package/.next/standalone/.next/server/app/mines/[projectId]/results/page_client-reference-manifest.js +1 -1
  243. package/.next/standalone/.next/server/app/mines/page_client-reference-manifest.js +1 -1
  244. package/.next/standalone/.next/server/app/missions/page.js +2 -2
  245. package/.next/standalone/.next/server/app/missions/page_client-reference-manifest.js +1 -1
  246. package/.next/standalone/.next/server/app/onboarding/org/page_client-reference-manifest.js +1 -1
  247. package/.next/standalone/.next/server/app/onboarding/page_client-reference-manifest.js +1 -1
  248. package/.next/standalone/.next/server/app/onboarding/team/page_client-reference-manifest.js +1 -1
  249. package/.next/standalone/.next/server/app/onboarding.html +2 -2
  250. package/.next/standalone/.next/server/app/onboarding.rsc +3 -3
  251. package/.next/standalone/.next/server/app/org/page.js +1 -1
  252. package/.next/standalone/.next/server/app/org/page.js.nft.json +1 -1
  253. package/.next/standalone/.next/server/app/org/page_client-reference-manifest.js +1 -1
  254. package/.next/standalone/.next/server/app/page.js +4 -4
  255. package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
  256. package/.next/standalone/.next/server/app/projects/[slug]/log/page_client-reference-manifest.js +1 -1
  257. package/.next/standalone/.next/server/app/projects/[slug]/page.js +2 -2
  258. package/.next/standalone/.next/server/app/projects/[slug]/page_client-reference-manifest.js +1 -1
  259. package/.next/standalone/.next/server/app/projects/new/page.js +3 -3
  260. package/.next/standalone/.next/server/app/projects/new/page_client-reference-manifest.js +1 -1
  261. package/.next/standalone/.next/server/app/projects/new.html +2 -2
  262. package/.next/standalone/.next/server/app/projects/new.rsc +4 -4
  263. package/.next/standalone/.next/server/app/projects/page.js +28 -24
  264. package/.next/standalone/.next/server/app/projects/page_client-reference-manifest.js +1 -1
  265. package/.next/standalone/.next/server/app/reports/[file]/route_client-reference-manifest.js +1 -1
  266. package/.next/standalone/.next/server/app/reports/page_client-reference-manifest.js +1 -1
  267. package/.next/standalone/.next/server/app/runtime/page_client-reference-manifest.js +1 -1
  268. package/.next/standalone/.next/server/app/schedules/page.js +2 -2
  269. package/.next/standalone/.next/server/app/schedules/page_client-reference-manifest.js +1 -1
  270. package/.next/standalone/.next/server/app/settings/account/page_client-reference-manifest.js +1 -1
  271. package/.next/standalone/.next/server/app/settings/advanced/page_client-reference-manifest.js +1 -1
  272. package/.next/standalone/.next/server/app/settings/appearance/page_client-reference-manifest.js +1 -1
  273. package/.next/standalone/.next/server/app/settings/brand/page_client-reference-manifest.js +1 -1
  274. package/.next/standalone/.next/server/app/settings/brand.html +2 -2
  275. package/.next/standalone/.next/server/app/settings/brand.rsc +3 -3
  276. package/.next/standalone/.next/server/app/settings/connectors/page_client-reference-manifest.js +1 -1
  277. package/.next/standalone/.next/server/app/settings/engines/page_client-reference-manifest.js +1 -1
  278. package/.next/standalone/.next/server/app/settings/onboarding/page_client-reference-manifest.js +1 -1
  279. package/.next/standalone/.next/server/app/settings/onboarding.html +2 -2
  280. package/.next/standalone/.next/server/app/settings/onboarding.rsc +3 -3
  281. package/.next/standalone/.next/server/app/settings/organization/page.js +1 -1
  282. package/.next/standalone/.next/server/app/settings/organization/page.js.nft.json +1 -1
  283. package/.next/standalone/.next/server/app/settings/organization/page_client-reference-manifest.js +1 -1
  284. package/.next/standalone/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  285. package/.next/standalone/.next/server/app/settings/runtime/page_client-reference-manifest.js +1 -1
  286. package/.next/standalone/.next/server/app/settings/team/page_client-reference-manifest.js +1 -1
  287. package/.next/standalone/.next/server/app/settings/tools/page_client-reference-manifest.js +1 -1
  288. package/.next/standalone/.next/server/app/settings.html +2 -2
  289. package/.next/standalone/.next/server/app/settings.rsc +3 -3
  290. package/.next/standalone/.next/server/app/share/[token]/page_client-reference-manifest.js +1 -1
  291. package/.next/standalone/.next/server/app/share/space/[token]/page_client-reference-manifest.js +1 -1
  292. package/.next/standalone/.next/server/app/tasks/[id]/page.js +2 -2
  293. package/.next/standalone/.next/server/app/tasks/[id]/page_client-reference-manifest.js +1 -1
  294. package/.next/standalone/.next/server/app/tasks/page.js +2 -2
  295. package/.next/standalone/.next/server/app/tasks/page_client-reference-manifest.js +1 -1
  296. package/.next/standalone/.next/server/app/team/[agentId]/page_client-reference-manifest.js +1 -1
  297. package/.next/standalone/.next/server/app/team/page_client-reference-manifest.js +1 -1
  298. package/.next/standalone/.next/server/app/tools/page_client-reference-manifest.js +1 -1
  299. package/.next/standalone/.next/server/app/whatsapp/page_client-reference-manifest.js +1 -1
  300. package/.next/standalone/.next/server/app/whatsapp.html +2 -2
  301. package/.next/standalone/.next/server/app/whatsapp.rsc +3 -3
  302. package/.next/standalone/.next/server/app/workflows/[caseId]/page_client-reference-manifest.js +1 -1
  303. package/.next/standalone/.next/server/app/workflows/new/[caseId]/page_client-reference-manifest.js +1 -1
  304. package/.next/standalone/.next/server/app/workflows/new/definition/page_client-reference-manifest.js +1 -1
  305. package/.next/standalone/.next/server/app/workflows/page_client-reference-manifest.js +1 -1
  306. package/.next/standalone/.next/server/app/workflows/share/[caseId]/page_client-reference-manifest.js +1 -1
  307. package/.next/standalone/.next/server/app-paths-manifest.json +80 -78
  308. package/.next/standalone/.next/server/chunks/1699.js +248 -64
  309. package/.next/standalone/.next/server/chunks/3230.js +11 -11
  310. package/.next/standalone/.next/server/chunks/4740.js +1 -1
  311. package/.next/standalone/.next/server/chunks/511.js +7 -7
  312. package/.next/standalone/.next/server/chunks/6059.js +1 -1
  313. package/.next/standalone/.next/server/chunks/7098.js +1 -0
  314. package/.next/standalone/.next/server/functions-config-manifest.json +54 -52
  315. package/.next/standalone/.next/server/middleware-build-manifest.js +1 -1
  316. package/.next/standalone/.next/server/middleware-manifest.json +5 -5
  317. package/.next/standalone/.next/server/pages/404.html +2 -2
  318. package/.next/standalone/.next/server/pages/500.html +1 -1
  319. package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
  320. package/.next/standalone/.next/server/server-reference-manifest.json +1 -1
  321. package/.next/standalone/.next/static/IDXwXTmFu4HQak2wJH1Qy/_buildManifest.js +1 -0
  322. package/.next/standalone/.next/static/chunks/app/activity/loading-1ba78d5ff6330abc.js +1 -0
  323. package/.next/standalone/.next/static/chunks/app/agents/[id]/loading-1ba78d5ff6330abc.js +1 -0
  324. package/.next/standalone/.next/static/chunks/app/agents/[id]/page-b10b2ac79b5980a8.js +1 -0
  325. package/.next/standalone/.next/static/chunks/app/agents/loading-1ba78d5ff6330abc.js +1 -0
  326. package/.next/standalone/.next/static/chunks/app/agents/page-c3aa602e9ee205d1.js +1 -0
  327. package/.next/standalone/.next/static/chunks/app/api/activity/route-1ba78d5ff6330abc.js +1 -0
  328. package/.next/standalone/.next/static/chunks/app/api/admin/audit-export/route-1ba78d5ff6330abc.js +1 -0
  329. package/.next/standalone/.next/static/chunks/app/api/admin/share-links/route-1ba78d5ff6330abc.js +1 -0
  330. package/.next/standalone/.next/static/chunks/app/api/agent-memory/route-1ba78d5ff6330abc.js +1 -0
  331. package/.next/standalone/.next/static/chunks/app/api/agent-runs/[id]/cancel/route-1ba78d5ff6330abc.js +1 -0
  332. package/.next/standalone/.next/static/chunks/app/api/agent-runs/[id]/events/route-1ba78d5ff6330abc.js +1 -0
  333. package/.next/standalone/.next/static/chunks/app/api/agent-runs/[id]/log/route-1ba78d5ff6330abc.js +1 -0
  334. package/.next/standalone/.next/static/chunks/app/api/agent-runs/[id]/route-1ba78d5ff6330abc.js +1 -0
  335. package/.next/standalone/.next/static/chunks/app/api/agent-runs/route-1ba78d5ff6330abc.js +1 -0
  336. package/.next/standalone/.next/static/chunks/app/api/agents/[id]/active-run/route-1ba78d5ff6330abc.js +1 -0
  337. package/.next/standalone/.next/static/chunks/app/api/agents/[id]/chain/route-1ba78d5ff6330abc.js +1 -0
  338. package/.next/standalone/.next/static/chunks/app/api/agents/[id]/memory/route-1ba78d5ff6330abc.js +1 -0
  339. package/.next/standalone/.next/static/chunks/app/api/agents/[id]/reports/route-1ba78d5ff6330abc.js +1 -0
  340. package/.next/standalone/.next/static/chunks/app/api/agents/[id]/run/route-1ba78d5ff6330abc.js +1 -0
  341. package/.next/standalone/.next/static/chunks/app/api/agents/[id]/skills/route-1ba78d5ff6330abc.js +1 -0
  342. package/.next/standalone/.next/static/chunks/app/api/agents/active-runs/route-1ba78d5ff6330abc.js +1 -0
  343. package/.next/standalone/.next/static/chunks/app/api/agents/create/route-1ba78d5ff6330abc.js +1 -0
  344. package/.next/standalone/.next/static/chunks/app/api/agents/ops/route-1ba78d5ff6330abc.js +1 -0
  345. package/.next/standalone/.next/static/chunks/app/api/agents/resume-approval/route-1ba78d5ff6330abc.js +1 -0
  346. package/.next/standalone/.next/static/chunks/app/api/approvals/[id]/route-1ba78d5ff6330abc.js +1 -0
  347. package/.next/standalone/.next/static/chunks/app/api/approvals/route-1ba78d5ff6330abc.js +1 -0
  348. package/.next/standalone/.next/static/chunks/app/api/artifacts/[id]/acl/route-1ba78d5ff6330abc.js +1 -0
  349. package/.next/standalone/.next/static/chunks/app/api/artifacts/[id]/protect/route-1ba78d5ff6330abc.js +1 -0
  350. package/.next/standalone/.next/static/chunks/app/api/artifacts/[id]/raw/route-1ba78d5ff6330abc.js +1 -0
  351. package/.next/standalone/.next/static/chunks/app/api/artifacts/[id]/route-1ba78d5ff6330abc.js +1 -0
  352. package/.next/standalone/.next/static/chunks/app/api/artifacts/[id]/share-link/[linkId]/route-1ba78d5ff6330abc.js +1 -0
  353. package/.next/standalone/.next/static/chunks/app/api/artifacts/[id]/share-link/route-1ba78d5ff6330abc.js +1 -0
  354. package/.next/standalone/.next/static/chunks/app/api/artifacts/upload/route-1ba78d5ff6330abc.js +1 -0
  355. package/.next/standalone/.next/static/chunks/app/api/audit/list/route-1ba78d5ff6330abc.js +1 -0
  356. package/.next/standalone/.next/static/chunks/app/api/audit/search/route-1ba78d5ff6330abc.js +1 -0
  357. package/.next/standalone/.next/static/chunks/app/api/auth/callback/route-1ba78d5ff6330abc.js +1 -0
  358. package/.next/standalone/.next/static/chunks/app/api/auth/config/route-1ba78d5ff6330abc.js +1 -0
  359. package/.next/standalone/.next/static/chunks/app/api/auth/join-bootstrap/route-1ba78d5ff6330abc.js +1 -0
  360. package/.next/standalone/.next/static/chunks/app/api/auth/session/route-1ba78d5ff6330abc.js +1 -0
  361. package/.next/standalone/.next/static/chunks/app/api/brand/route-1ba78d5ff6330abc.js +1 -0
  362. package/.next/standalone/.next/static/chunks/app/api/brand/share/route-1ba78d5ff6330abc.js +1 -0
  363. package/.next/standalone/.next/static/chunks/app/api/chat/sessions/[id]/route-1ba78d5ff6330abc.js +1 -0
  364. package/.next/standalone/.next/static/chunks/app/api/chat/sessions/route-1ba78d5ff6330abc.js +1 -0
  365. package/.next/standalone/.next/static/chunks/app/api/cloud/schema/route-1ba78d5ff6330abc.js +1 -0
  366. package/.next/standalone/.next/static/chunks/app/api/config/env/route-1ba78d5ff6330abc.js +1 -0
  367. package/.next/standalone/.next/static/chunks/app/api/config/route-1ba78d5ff6330abc.js +1 -0
  368. package/.next/standalone/.next/static/chunks/app/api/connections/[service]/route-1ba78d5ff6330abc.js +1 -0
  369. package/.next/standalone/.next/static/chunks/app/api/connections/[service]/verify/route-1ba78d5ff6330abc.js +1 -0
  370. package/.next/standalone/.next/static/chunks/app/api/connections/route-1ba78d5ff6330abc.js +1 -0
  371. package/.next/standalone/.next/static/chunks/app/api/cron/tick/route-1ba78d5ff6330abc.js +1 -0
  372. package/.next/standalone/.next/static/chunks/app/api/dashboard/spaces/[id]/move/route-1ba78d5ff6330abc.js +1 -0
  373. package/.next/standalone/.next/static/chunks/app/api/dashboard/spaces/[id]/route-1ba78d5ff6330abc.js +1 -0
  374. package/.next/standalone/.next/static/chunks/app/api/dashboard/spaces/[id]/share-link/[linkId]/route-1ba78d5ff6330abc.js +1 -0
  375. package/.next/standalone/.next/static/chunks/app/api/dashboard/spaces/[id]/share-link/route-1ba78d5ff6330abc.js +1 -0
  376. package/.next/standalone/.next/static/chunks/app/api/dashboard/spaces/import/route-1ba78d5ff6330abc.js +1 -0
  377. package/.next/standalone/.next/static/chunks/app/api/dashboard/spaces/route-1ba78d5ff6330abc.js +1 -0
  378. package/.next/standalone/.next/static/chunks/app/api/disk/files/[id]/blob/route-1ba78d5ff6330abc.js +1 -0
  379. package/.next/standalone/.next/static/chunks/app/api/disk/files/[id]/route-1ba78d5ff6330abc.js +1 -0
  380. package/.next/standalone/.next/static/chunks/app/api/disk/files/[id]/transcribe/route-1ba78d5ff6330abc.js +1 -0
  381. package/.next/standalone/.next/static/chunks/app/api/disk/files/route-1ba78d5ff6330abc.js +1 -0
  382. package/.next/standalone/.next/static/chunks/app/api/disk/folders/route-1ba78d5ff6330abc.js +1 -0
  383. package/.next/standalone/.next/static/chunks/app/api/events/since/[cursor]/route-1ba78d5ff6330abc.js +1 -0
  384. package/.next/standalone/.next/static/chunks/app/api/events/stream/route-1ba78d5ff6330abc.js +1 -0
  385. package/.next/standalone/.next/static/chunks/app/api/fs/create-folder/route-1ba78d5ff6330abc.js +1 -0
  386. package/.next/standalone/.next/static/chunks/app/api/fs/pick-folder/route-1ba78d5ff6330abc.js +1 -0
  387. package/.next/standalone/.next/static/chunks/app/api/hail/engagements/[id]/blueprint/route-1ba78d5ff6330abc.js +1 -0
  388. package/.next/standalone/.next/static/chunks/app/api/hail/engagements/[id]/diagnostic/route-1ba78d5ff6330abc.js +1 -0
  389. package/.next/standalone/.next/static/chunks/app/api/hail/engagements/[id]/governance/route-1ba78d5ff6330abc.js +1 -0
  390. package/.next/standalone/.next/static/chunks/app/api/hail/engagements/[id]/interview/route-1ba78d5ff6330abc.js +1 -0
  391. package/.next/standalone/.next/static/chunks/app/api/hail/engagements/[id]/pilot/route-1ba78d5ff6330abc.js +1 -0
  392. package/.next/standalone/.next/static/chunks/app/api/hail/engagements/[id]/quarterly/route-1ba78d5ff6330abc.js +1 -0
  393. package/.next/standalone/.next/static/chunks/app/api/hail/engagements/[id]/route-1ba78d5ff6330abc.js +1 -0
  394. package/.next/standalone/.next/static/chunks/app/api/hail/engagements/[id]/setup-package/route-1ba78d5ff6330abc.js +1 -0
  395. package/.next/standalone/.next/static/chunks/app/api/hail/engagements/route-1ba78d5ff6330abc.js +1 -0
  396. package/.next/standalone/.next/static/chunks/app/api/hail/interviews/[id]/responses/route-1ba78d5ff6330abc.js +1 -0
  397. package/.next/standalone/.next/static/chunks/app/api/hail/interviews/[id]/route-1ba78d5ff6330abc.js +1 -0
  398. package/.next/standalone/.next/static/chunks/app/api/hail/setup-packages/[id]/apply/route-1ba78d5ff6330abc.js +1 -0
  399. package/.next/standalone/.next/static/chunks/app/api/hail/setup-packages/validate/route-1ba78d5ff6330abc.js +1 -0
  400. package/.next/standalone/.next/static/chunks/app/api/heartbeat/tick/route-1ba78d5ff6330abc.js +1 -0
  401. package/.next/standalone/.next/static/chunks/app/api/heartbeat/worker/route-1ba78d5ff6330abc.js +1 -0
  402. package/.next/standalone/.next/static/chunks/app/api/help/route-1ba78d5ff6330abc.js +1 -0
  403. package/.next/standalone/.next/static/chunks/app/api/hermes/jobs/[id]/events/route-1ba78d5ff6330abc.js +1 -0
  404. package/.next/standalone/.next/static/chunks/app/api/hermes/jobs/[id]/route-1ba78d5ff6330abc.js +1 -0
  405. package/.next/standalone/.next/static/chunks/app/api/hermes/jobs/route-1ba78d5ff6330abc.js +1 -0
  406. package/.next/standalone/.next/static/chunks/app/api/integrations/google/callback/route-1ba78d5ff6330abc.js +1 -0
  407. package/.next/standalone/.next/static/chunks/app/api/integrations/google/oauth/route-1ba78d5ff6330abc.js +1 -0
  408. package/.next/standalone/.next/static/chunks/app/api/marketplace/[id]/route-1ba78d5ff6330abc.js +1 -0
  409. package/.next/standalone/.next/static/chunks/app/api/marketplace/open-design/route-1ba78d5ff6330abc.js +1 -0
  410. package/.next/standalone/.next/static/chunks/app/api/marketplace/route-1ba78d5ff6330abc.js +1 -0
  411. package/.next/standalone/.next/static/chunks/app/api/mines/import-roots/route-1ba78d5ff6330abc.js +1 -0
  412. package/.next/standalone/.next/static/chunks/app/api/mines/portfolio/route-1ba78d5ff6330abc.js +1 -0
  413. package/.next/standalone/.next/static/chunks/app/api/mines/projects/[id]/chunks/route-1ba78d5ff6330abc.js +1 -0
  414. package/.next/standalone/.next/static/chunks/app/api/mines/projects/[id]/diligence/route-1ba78d5ff6330abc.js +1 -0
  415. package/.next/standalone/.next/static/chunks/app/api/mines/projects/[id]/import/route-1ba78d5ff6330abc.js +1 -0
  416. package/.next/standalone/.next/static/chunks/app/api/mines/projects/[id]/publish/route-1ba78d5ff6330abc.js +1 -0
  417. package/.next/standalone/.next/static/chunks/app/api/mines/projects/route-1ba78d5ff6330abc.js +1 -0
  418. package/.next/standalone/.next/static/chunks/app/api/missions/route-1ba78d5ff6330abc.js +1 -0
  419. package/.next/standalone/.next/static/chunks/app/api/models/route-1ba78d5ff6330abc.js +1 -0
  420. package/.next/standalone/.next/static/chunks/app/api/onboarding/blueprint/route-1ba78d5ff6330abc.js +1 -0
  421. package/.next/standalone/.next/static/chunks/app/api/onboarding/launch/route-1ba78d5ff6330abc.js +1 -0
  422. package/.next/standalone/.next/static/chunks/app/api/orchestrator/command/route-1ba78d5ff6330abc.js +1 -0
  423. package/.next/standalone/.next/static/chunks/app/api/orchestrator/stream/attach/route-1ba78d5ff6330abc.js +1 -0
  424. package/.next/standalone/.next/static/chunks/app/api/orchestrator/stream/route-1ba78d5ff6330abc.js +1 -0
  425. package/.next/standalone/.next/static/chunks/app/api/orchestrator/upload/route-1ba78d5ff6330abc.js +1 -0
  426. package/.next/standalone/.next/static/chunks/app/api/org/route-1ba78d5ff6330abc.js +1 -0
  427. package/.next/standalone/.next/static/chunks/app/api/orgs/[id]/invites/[inviteId]/route-1ba78d5ff6330abc.js +1 -0
  428. package/.next/standalone/.next/static/chunks/app/api/orgs/[id]/invites/route-1ba78d5ff6330abc.js +1 -0
  429. package/.next/standalone/.next/static/chunks/app/api/orgs/[id]/members/[userId]/role/route-1ba78d5ff6330abc.js +1 -0
  430. package/.next/standalone/.next/static/chunks/app/api/orgs/[id]/members/[userId]/route-1ba78d5ff6330abc.js +1 -0
  431. package/.next/standalone/.next/static/chunks/app/api/orgs/[id]/members/route-1ba78d5ff6330abc.js +1 -0
  432. package/.next/standalone/.next/static/chunks/app/api/orgs/[id]/route-1ba78d5ff6330abc.js +1 -0
  433. package/.next/standalone/.next/static/chunks/app/api/orgs/invites/pending/route-1ba78d5ff6330abc.js +1 -0
  434. package/.next/standalone/.next/static/chunks/app/api/orgs/join/route-1ba78d5ff6330abc.js +1 -0
  435. package/.next/standalone/.next/static/chunks/app/api/orgs/join-complete/route-1ba78d5ff6330abc.js +1 -0
  436. package/.next/standalone/.next/static/chunks/app/api/orgs/route-1ba78d5ff6330abc.js +1 -0
  437. package/.next/standalone/.next/static/chunks/app/api/printing-press/clis/route-1ba78d5ff6330abc.js +1 -0
  438. package/.next/standalone/.next/static/chunks/app/api/printing-press/install/route-1ba78d5ff6330abc.js +1 -0
  439. package/.next/standalone/.next/static/chunks/app/api/printing-press/security-mode/route-1ba78d5ff6330abc.js +1 -0
  440. package/.next/standalone/.next/static/chunks/app/api/privacy/config/route-1ba78d5ff6330abc.js +1 -0
  441. package/.next/standalone/.next/static/chunks/app/api/privacy/verify/route-1ba78d5ff6330abc.js +1 -0
  442. package/.next/standalone/.next/static/chunks/app/api/processes/[id]/route-1ba78d5ff6330abc.js +1 -0
  443. package/.next/standalone/.next/static/chunks/app/api/processes/[id]/share-link/route-1ba78d5ff6330abc.js +1 -0
  444. package/.next/standalone/.next/static/chunks/app/api/processes/[id]/stages/[stageId]/override/route-1ba78d5ff6330abc.js +1 -0
  445. package/.next/standalone/.next/static/chunks/app/api/processes/[id]/stages/[stageId]/retry/route-1ba78d5ff6330abc.js +1 -0
  446. package/.next/standalone/.next/static/chunks/app/api/processes/[id]/stages/[stageId]/submit/route-1ba78d5ff6330abc.js +1 -0
  447. package/.next/standalone/.next/static/chunks/app/api/processes/definitions/[slug]/route-1ba78d5ff6330abc.js +1 -0
  448. package/.next/standalone/.next/static/chunks/app/api/processes/definitions/[slug]/settings/route-1ba78d5ff6330abc.js +1 -0
  449. package/.next/standalone/.next/static/chunks/app/api/processes/definitions/route-1ba78d5ff6330abc.js +1 -0
  450. package/.next/standalone/.next/static/chunks/app/api/processes/definitions/validate/route-1ba78d5ff6330abc.js +1 -0
  451. package/.next/standalone/.next/static/chunks/app/api/processes/route-1ba78d5ff6330abc.js +1 -0
  452. package/.next/standalone/.next/static/chunks/app/api/processes/start-and-route/route-1ba78d5ff6330abc.js +1 -0
  453. package/.next/standalone/.next/static/chunks/app/api/projects/[slug]/library/route-1ba78d5ff6330abc.js +1 -0
  454. package/.next/standalone/.next/static/chunks/app/api/projects/[slug]/route-1ba78d5ff6330abc.js +1 -0
  455. package/.next/standalone/.next/static/chunks/app/api/projects/route-1ba78d5ff6330abc.js +1 -0
  456. package/.next/standalone/.next/static/chunks/app/api/runs/approve-claude-run/route-1ba78d5ff6330abc.js +1 -0
  457. package/.next/standalone/.next/static/chunks/app/api/runs/claude-code-dry-run/route-1ba78d5ff6330abc.js +1 -0
  458. package/.next/standalone/.next/static/chunks/app/api/runs/competitor-report/route-1ba78d5ff6330abc.js +1 -0
  459. package/.next/standalone/.next/static/chunks/app/api/runs/engine-ping/route-1ba78d5ff6330abc.js +1 -0
  460. package/.next/standalone/.next/static/chunks/app/api/runs/marketing-plan/route-1ba78d5ff6330abc.js +1 -0
  461. package/.next/standalone/.next/static/chunks/app/api/schedules/upsert/route-1ba78d5ff6330abc.js +1 -0
  462. package/.next/standalone/.next/static/chunks/app/api/secrets/[name]/route-1ba78d5ff6330abc.js +1 -0
  463. package/.next/standalone/.next/static/chunks/app/api/secrets/route-1ba78d5ff6330abc.js +1 -0
  464. package/.next/standalone/.next/static/chunks/app/api/settings/trust-mode/route-1ba78d5ff6330abc.js +1 -0
  465. package/.next/standalone/.next/static/chunks/app/api/share/[token]/otp/route-1ba78d5ff6330abc.js +1 -0
  466. package/.next/standalone/.next/static/chunks/app/api/share/[token]/route-1ba78d5ff6330abc.js +1 -0
  467. package/.next/standalone/.next/static/chunks/app/api/share/[token]/verify/route-1ba78d5ff6330abc.js +1 -0
  468. package/.next/standalone/.next/static/chunks/app/api/share/space/[token]/otp/route-1ba78d5ff6330abc.js +1 -0
  469. package/.next/standalone/.next/static/chunks/app/api/share/space/[token]/route-1ba78d5ff6330abc.js +1 -0
  470. package/.next/standalone/.next/static/chunks/app/api/share/space/[token]/verify/route-1ba78d5ff6330abc.js +1 -0
  471. package/.next/standalone/.next/static/chunks/app/api/shared/spaces/[id]/acl/route-1ba78d5ff6330abc.js +1 -0
  472. package/.next/standalone/.next/static/chunks/app/api/shared/spaces/publish/route-1ba78d5ff6330abc.js +1 -0
  473. package/.next/standalone/.next/static/chunks/app/api/shared/spaces/route-1ba78d5ff6330abc.js +1 -0
  474. package/.next/standalone/.next/static/chunks/app/api/shared/spaces/status/route-1ba78d5ff6330abc.js +1 -0
  475. package/.next/standalone/.next/static/chunks/app/api/shared/spaces/unpublish/route-1ba78d5ff6330abc.js +1 -0
  476. package/.next/standalone/.next/static/chunks/app/api/state/route-1ba78d5ff6330abc.js +1 -0
  477. package/.next/standalone/.next/static/chunks/app/api/system/update/route-1ba78d5ff6330abc.js +1 -0
  478. package/.next/standalone/.next/static/chunks/app/api/tasks/[id]/active-run/route-1ba78d5ff6330abc.js +1 -0
  479. package/.next/standalone/.next/static/chunks/app/api/tasks/[id]/attachments/route-1ba78d5ff6330abc.js +1 -0
  480. package/.next/standalone/.next/static/chunks/app/api/tasks/[id]/checklist/[itemId]/route-1ba78d5ff6330abc.js +1 -0
  481. package/.next/standalone/.next/static/chunks/app/api/tasks/[id]/checklist/route-1ba78d5ff6330abc.js +1 -0
  482. package/.next/standalone/.next/static/chunks/app/api/tasks/[id]/checkout/route-1ba78d5ff6330abc.js +1 -0
  483. package/.next/standalone/.next/static/chunks/app/api/tasks/[id]/children/route-1ba78d5ff6330abc.js +1 -0
  484. package/.next/standalone/.next/static/chunks/app/api/tasks/[id]/comments/route-1ba78d5ff6330abc.js +1 -0
  485. package/.next/standalone/.next/static/chunks/app/api/tasks/[id]/events/route-1ba78d5ff6330abc.js +1 -0
  486. package/.next/standalone/.next/static/chunks/app/api/tasks/[id]/live-runs/route-1ba78d5ff6330abc.js +1 -0
  487. package/.next/standalone/.next/static/chunks/app/api/tasks/[id]/release/route-1ba78d5ff6330abc.js +1 -0
  488. package/.next/standalone/.next/static/chunks/app/api/tasks/[id]/route-1ba78d5ff6330abc.js +1 -0
  489. package/.next/standalone/.next/static/chunks/app/api/tasks/route-1ba78d5ff6330abc.js +1 -0
  490. package/.next/standalone/.next/static/chunks/app/api/tool-allowlists/[id]/route-1ba78d5ff6330abc.js +1 -0
  491. package/.next/standalone/.next/static/chunks/app/api/tool-allowlists/route-1ba78d5ff6330abc.js +1 -0
  492. package/.next/standalone/.next/static/chunks/app/api/tool-egress/route-1ba78d5ff6330abc.js +1 -0
  493. package/.next/standalone/.next/static/chunks/app/api/tools/[name]/approve/route-1ba78d5ff6330abc.js +1 -0
  494. package/.next/standalone/.next/static/chunks/app/api/tools/[name]/route-1ba78d5ff6330abc.js +1 -0
  495. package/.next/standalone/.next/static/chunks/app/api/tools/route-1ba78d5ff6330abc.js +1 -0
  496. package/.next/standalone/.next/static/chunks/app/api/transcripts/route-1ba78d5ff6330abc.js +1 -0
  497. package/.next/standalone/.next/static/chunks/app/api/voice/providers/route-1ba78d5ff6330abc.js +1 -0
  498. package/.next/standalone/.next/static/chunks/app/api/voice/realtime/context/route-1ba78d5ff6330abc.js +1 -0
  499. package/.next/standalone/.next/static/chunks/app/api/voice/realtime/session/route-1ba78d5ff6330abc.js +1 -0
  500. package/.next/standalone/.next/static/chunks/app/api/voice/realtime/tool-result/route-1ba78d5ff6330abc.js +1 -0
  501. package/.next/standalone/.next/static/chunks/app/api/voice/realtime/tools/route-1ba78d5ff6330abc.js +1 -0
  502. package/.next/standalone/.next/static/chunks/app/api/voice/tts/route-1ba78d5ff6330abc.js +1 -0
  503. package/.next/standalone/.next/static/chunks/app/api/whatsapp/allowlist/route-1ba78d5ff6330abc.js +1 -0
  504. package/.next/standalone/.next/static/chunks/app/api/whatsapp/disconnect/route-1ba78d5ff6330abc.js +1 -0
  505. package/.next/standalone/.next/static/chunks/app/api/whatsapp/messages/route-1ba78d5ff6330abc.js +1 -0
  506. package/.next/standalone/.next/static/chunks/app/api/whatsapp/qr/route-1ba78d5ff6330abc.js +1 -0
  507. package/.next/standalone/.next/static/chunks/app/api/whatsapp/send/route-1ba78d5ff6330abc.js +1 -0
  508. package/.next/standalone/.next/static/chunks/app/api/whatsapp/status/route-1ba78d5ff6330abc.js +1 -0
  509. package/.next/standalone/.next/static/chunks/app/approvals/loading-1ba78d5ff6330abc.js +1 -0
  510. package/.next/standalone/.next/static/chunks/app/architecture/loading-1ba78d5ff6330abc.js +1 -0
  511. package/.next/standalone/.next/static/chunks/app/audit/loading-1ba78d5ff6330abc.js +1 -0
  512. package/.next/standalone/.next/static/chunks/app/brand/loading-1ba78d5ff6330abc.js +1 -0
  513. package/.next/standalone/.next/static/chunks/app/disk/loading-1ba78d5ff6330abc.js +1 -0
  514. package/.next/standalone/.next/static/chunks/app/federated-ai/loading-1ba78d5ff6330abc.js +1 -0
  515. package/.next/standalone/.next/static/chunks/app/help/loading-1ba78d5ff6330abc.js +1 -0
  516. package/.next/standalone/.next/static/chunks/app/layout-7c734abe785c0d86.js +1 -0
  517. package/.next/standalone/.next/static/chunks/app/loading-1ba78d5ff6330abc.js +1 -0
  518. package/.next/standalone/.next/static/chunks/app/marketplace/loading-1ba78d5ff6330abc.js +1 -0
  519. package/.next/standalone/.next/static/chunks/app/missions/loading-1ba78d5ff6330abc.js +1 -0
  520. package/.next/standalone/.next/static/chunks/app/onboarding/loading-1ba78d5ff6330abc.js +1 -0
  521. package/.next/standalone/.next/static/chunks/app/org/loading-1ba78d5ff6330abc.js +1 -0
  522. package/.next/standalone/.next/static/chunks/app/page-9d742c9099ab9cd7.js +1 -0
  523. package/.next/standalone/.next/static/chunks/app/projects/[slug]/loading-1ba78d5ff6330abc.js +1 -0
  524. package/.next/standalone/.next/static/chunks/app/projects/[slug]/page-abbc7f06e58ff9ee.js +1 -0
  525. package/.next/standalone/.next/static/chunks/app/projects/loading-1ba78d5ff6330abc.js +1 -0
  526. package/.next/standalone/.next/static/chunks/app/projects/page-87457ee2932c33a3.js +1 -0
  527. package/.next/standalone/.next/static/chunks/app/reports/[file]/route-1ba78d5ff6330abc.js +1 -0
  528. package/.next/standalone/.next/static/chunks/app/reports/loading-1ba78d5ff6330abc.js +1 -0
  529. package/.next/standalone/.next/static/chunks/app/runtime/loading-1ba78d5ff6330abc.js +1 -0
  530. package/.next/standalone/.next/static/chunks/app/schedules/loading-1ba78d5ff6330abc.js +1 -0
  531. package/.next/standalone/.next/static/chunks/app/settings/loading-1ba78d5ff6330abc.js +1 -0
  532. package/.next/standalone/.next/static/chunks/app/settings/page-1ba78d5ff6330abc.js +1 -0
  533. package/.next/standalone/.next/static/chunks/app/tasks/[id]/loading-1ba78d5ff6330abc.js +1 -0
  534. package/.next/standalone/.next/static/chunks/app/tasks/loading-1ba78d5ff6330abc.js +1 -0
  535. package/.next/standalone/.next/static/chunks/app/tools/loading-1ba78d5ff6330abc.js +1 -0
  536. package/.next/standalone/.next/static/chunks/app/tools/page-1ba78d5ff6330abc.js +1 -0
  537. package/.next/standalone/.next/static/chunks/app/whatsapp/loading-1ba78d5ff6330abc.js +1 -0
  538. package/.next/standalone/.next/static/chunks/app/workflows/share/[caseId]/page-1ba78d5ff6330abc.js +1 -0
  539. package/.next/standalone/.next/static/chunks/webpack-0613e32ff96b6e16.js +1 -0
  540. package/.next/standalone/CHANGELOG.md +26 -0
  541. package/.next/standalone/package.json +1 -1
  542. package/.next/static/IDXwXTmFu4HQak2wJH1Qy/_buildManifest.js +1 -0
  543. package/.next/static/chunks/app/activity/loading-1ba78d5ff6330abc.js +1 -0
  544. package/.next/static/chunks/app/agents/[id]/loading-1ba78d5ff6330abc.js +1 -0
  545. package/.next/static/chunks/app/agents/[id]/page-b10b2ac79b5980a8.js +1 -0
  546. package/.next/static/chunks/app/agents/loading-1ba78d5ff6330abc.js +1 -0
  547. package/.next/static/chunks/app/agents/page-c3aa602e9ee205d1.js +1 -0
  548. package/.next/static/chunks/app/api/activity/route-1ba78d5ff6330abc.js +1 -0
  549. package/.next/static/chunks/app/api/admin/audit-export/route-1ba78d5ff6330abc.js +1 -0
  550. package/.next/static/chunks/app/api/admin/share-links/route-1ba78d5ff6330abc.js +1 -0
  551. package/.next/static/chunks/app/api/agent-memory/route-1ba78d5ff6330abc.js +1 -0
  552. package/.next/static/chunks/app/api/agent-runs/[id]/cancel/route-1ba78d5ff6330abc.js +1 -0
  553. package/.next/static/chunks/app/api/agent-runs/[id]/events/route-1ba78d5ff6330abc.js +1 -0
  554. package/.next/static/chunks/app/api/agent-runs/[id]/log/route-1ba78d5ff6330abc.js +1 -0
  555. package/.next/static/chunks/app/api/agent-runs/[id]/route-1ba78d5ff6330abc.js +1 -0
  556. package/.next/static/chunks/app/api/agent-runs/route-1ba78d5ff6330abc.js +1 -0
  557. package/.next/static/chunks/app/api/agents/[id]/active-run/route-1ba78d5ff6330abc.js +1 -0
  558. package/.next/static/chunks/app/api/agents/[id]/chain/route-1ba78d5ff6330abc.js +1 -0
  559. package/.next/static/chunks/app/api/agents/[id]/memory/route-1ba78d5ff6330abc.js +1 -0
  560. package/.next/static/chunks/app/api/agents/[id]/reports/route-1ba78d5ff6330abc.js +1 -0
  561. package/.next/static/chunks/app/api/agents/[id]/run/route-1ba78d5ff6330abc.js +1 -0
  562. package/.next/static/chunks/app/api/agents/[id]/skills/route-1ba78d5ff6330abc.js +1 -0
  563. package/.next/static/chunks/app/api/agents/active-runs/route-1ba78d5ff6330abc.js +1 -0
  564. package/.next/static/chunks/app/api/agents/create/route-1ba78d5ff6330abc.js +1 -0
  565. package/.next/static/chunks/app/api/agents/ops/route-1ba78d5ff6330abc.js +1 -0
  566. package/.next/static/chunks/app/api/agents/resume-approval/route-1ba78d5ff6330abc.js +1 -0
  567. package/.next/static/chunks/app/api/approvals/[id]/route-1ba78d5ff6330abc.js +1 -0
  568. package/.next/static/chunks/app/api/approvals/route-1ba78d5ff6330abc.js +1 -0
  569. package/.next/static/chunks/app/api/artifacts/[id]/acl/route-1ba78d5ff6330abc.js +1 -0
  570. package/.next/static/chunks/app/api/artifacts/[id]/protect/route-1ba78d5ff6330abc.js +1 -0
  571. package/.next/static/chunks/app/api/artifacts/[id]/raw/route-1ba78d5ff6330abc.js +1 -0
  572. package/.next/static/chunks/app/api/artifacts/[id]/route-1ba78d5ff6330abc.js +1 -0
  573. package/.next/static/chunks/app/api/artifacts/[id]/share-link/[linkId]/route-1ba78d5ff6330abc.js +1 -0
  574. package/.next/static/chunks/app/api/artifacts/[id]/share-link/route-1ba78d5ff6330abc.js +1 -0
  575. package/.next/static/chunks/app/api/artifacts/upload/route-1ba78d5ff6330abc.js +1 -0
  576. package/.next/static/chunks/app/api/audit/list/route-1ba78d5ff6330abc.js +1 -0
  577. package/.next/static/chunks/app/api/audit/search/route-1ba78d5ff6330abc.js +1 -0
  578. package/.next/static/chunks/app/api/auth/callback/route-1ba78d5ff6330abc.js +1 -0
  579. package/.next/static/chunks/app/api/auth/config/route-1ba78d5ff6330abc.js +1 -0
  580. package/.next/static/chunks/app/api/auth/join-bootstrap/route-1ba78d5ff6330abc.js +1 -0
  581. package/.next/static/chunks/app/api/auth/session/route-1ba78d5ff6330abc.js +1 -0
  582. package/.next/static/chunks/app/api/brand/route-1ba78d5ff6330abc.js +1 -0
  583. package/.next/static/chunks/app/api/brand/share/route-1ba78d5ff6330abc.js +1 -0
  584. package/.next/static/chunks/app/api/chat/sessions/[id]/route-1ba78d5ff6330abc.js +1 -0
  585. package/.next/static/chunks/app/api/chat/sessions/route-1ba78d5ff6330abc.js +1 -0
  586. package/.next/static/chunks/app/api/cloud/schema/route-1ba78d5ff6330abc.js +1 -0
  587. package/.next/static/chunks/app/api/config/env/route-1ba78d5ff6330abc.js +1 -0
  588. package/.next/static/chunks/app/api/config/route-1ba78d5ff6330abc.js +1 -0
  589. package/.next/static/chunks/app/api/connections/[service]/route-1ba78d5ff6330abc.js +1 -0
  590. package/.next/static/chunks/app/api/connections/[service]/verify/route-1ba78d5ff6330abc.js +1 -0
  591. package/.next/static/chunks/app/api/connections/route-1ba78d5ff6330abc.js +1 -0
  592. package/.next/static/chunks/app/api/cron/tick/route-1ba78d5ff6330abc.js +1 -0
  593. package/.next/static/chunks/app/api/dashboard/spaces/[id]/move/route-1ba78d5ff6330abc.js +1 -0
  594. package/.next/static/chunks/app/api/dashboard/spaces/[id]/route-1ba78d5ff6330abc.js +1 -0
  595. package/.next/static/chunks/app/api/dashboard/spaces/[id]/share-link/[linkId]/route-1ba78d5ff6330abc.js +1 -0
  596. package/.next/static/chunks/app/api/dashboard/spaces/[id]/share-link/route-1ba78d5ff6330abc.js +1 -0
  597. package/.next/static/chunks/app/api/dashboard/spaces/import/route-1ba78d5ff6330abc.js +1 -0
  598. package/.next/static/chunks/app/api/dashboard/spaces/route-1ba78d5ff6330abc.js +1 -0
  599. package/.next/static/chunks/app/api/disk/files/[id]/blob/route-1ba78d5ff6330abc.js +1 -0
  600. package/.next/static/chunks/app/api/disk/files/[id]/route-1ba78d5ff6330abc.js +1 -0
  601. package/.next/static/chunks/app/api/disk/files/[id]/transcribe/route-1ba78d5ff6330abc.js +1 -0
  602. package/.next/static/chunks/app/api/disk/files/route-1ba78d5ff6330abc.js +1 -0
  603. package/.next/static/chunks/app/api/disk/folders/route-1ba78d5ff6330abc.js +1 -0
  604. package/.next/static/chunks/app/api/events/since/[cursor]/route-1ba78d5ff6330abc.js +1 -0
  605. package/.next/static/chunks/app/api/events/stream/route-1ba78d5ff6330abc.js +1 -0
  606. package/.next/static/chunks/app/api/fs/create-folder/route-1ba78d5ff6330abc.js +1 -0
  607. package/.next/static/chunks/app/api/fs/pick-folder/route-1ba78d5ff6330abc.js +1 -0
  608. package/.next/static/chunks/app/api/hail/engagements/[id]/blueprint/route-1ba78d5ff6330abc.js +1 -0
  609. package/.next/static/chunks/app/api/hail/engagements/[id]/diagnostic/route-1ba78d5ff6330abc.js +1 -0
  610. package/.next/static/chunks/app/api/hail/engagements/[id]/governance/route-1ba78d5ff6330abc.js +1 -0
  611. package/.next/static/chunks/app/api/hail/engagements/[id]/interview/route-1ba78d5ff6330abc.js +1 -0
  612. package/.next/static/chunks/app/api/hail/engagements/[id]/pilot/route-1ba78d5ff6330abc.js +1 -0
  613. package/.next/static/chunks/app/api/hail/engagements/[id]/quarterly/route-1ba78d5ff6330abc.js +1 -0
  614. package/.next/static/chunks/app/api/hail/engagements/[id]/route-1ba78d5ff6330abc.js +1 -0
  615. package/.next/static/chunks/app/api/hail/engagements/[id]/setup-package/route-1ba78d5ff6330abc.js +1 -0
  616. package/.next/static/chunks/app/api/hail/engagements/route-1ba78d5ff6330abc.js +1 -0
  617. package/.next/static/chunks/app/api/hail/interviews/[id]/responses/route-1ba78d5ff6330abc.js +1 -0
  618. package/.next/static/chunks/app/api/hail/interviews/[id]/route-1ba78d5ff6330abc.js +1 -0
  619. package/.next/static/chunks/app/api/hail/setup-packages/[id]/apply/route-1ba78d5ff6330abc.js +1 -0
  620. package/.next/static/chunks/app/api/hail/setup-packages/validate/route-1ba78d5ff6330abc.js +1 -0
  621. package/.next/static/chunks/app/api/heartbeat/tick/route-1ba78d5ff6330abc.js +1 -0
  622. package/.next/static/chunks/app/api/heartbeat/worker/route-1ba78d5ff6330abc.js +1 -0
  623. package/.next/static/chunks/app/api/help/route-1ba78d5ff6330abc.js +1 -0
  624. package/.next/static/chunks/app/api/hermes/jobs/[id]/events/route-1ba78d5ff6330abc.js +1 -0
  625. package/.next/static/chunks/app/api/hermes/jobs/[id]/route-1ba78d5ff6330abc.js +1 -0
  626. package/.next/static/chunks/app/api/hermes/jobs/route-1ba78d5ff6330abc.js +1 -0
  627. package/.next/static/chunks/app/api/integrations/google/callback/route-1ba78d5ff6330abc.js +1 -0
  628. package/.next/static/chunks/app/api/integrations/google/oauth/route-1ba78d5ff6330abc.js +1 -0
  629. package/.next/static/chunks/app/api/marketplace/[id]/route-1ba78d5ff6330abc.js +1 -0
  630. package/.next/static/chunks/app/api/marketplace/open-design/route-1ba78d5ff6330abc.js +1 -0
  631. package/.next/static/chunks/app/api/marketplace/route-1ba78d5ff6330abc.js +1 -0
  632. package/.next/static/chunks/app/api/mines/import-roots/route-1ba78d5ff6330abc.js +1 -0
  633. package/.next/static/chunks/app/api/mines/portfolio/route-1ba78d5ff6330abc.js +1 -0
  634. package/.next/static/chunks/app/api/mines/projects/[id]/chunks/route-1ba78d5ff6330abc.js +1 -0
  635. package/.next/static/chunks/app/api/mines/projects/[id]/diligence/route-1ba78d5ff6330abc.js +1 -0
  636. package/.next/static/chunks/app/api/mines/projects/[id]/import/route-1ba78d5ff6330abc.js +1 -0
  637. package/.next/static/chunks/app/api/mines/projects/[id]/publish/route-1ba78d5ff6330abc.js +1 -0
  638. package/.next/static/chunks/app/api/mines/projects/route-1ba78d5ff6330abc.js +1 -0
  639. package/.next/static/chunks/app/api/missions/route-1ba78d5ff6330abc.js +1 -0
  640. package/.next/static/chunks/app/api/models/route-1ba78d5ff6330abc.js +1 -0
  641. package/.next/static/chunks/app/api/onboarding/blueprint/route-1ba78d5ff6330abc.js +1 -0
  642. package/.next/static/chunks/app/api/onboarding/launch/route-1ba78d5ff6330abc.js +1 -0
  643. package/.next/static/chunks/app/api/orchestrator/command/route-1ba78d5ff6330abc.js +1 -0
  644. package/.next/static/chunks/app/api/orchestrator/stream/attach/route-1ba78d5ff6330abc.js +1 -0
  645. package/.next/static/chunks/app/api/orchestrator/stream/route-1ba78d5ff6330abc.js +1 -0
  646. package/.next/static/chunks/app/api/orchestrator/upload/route-1ba78d5ff6330abc.js +1 -0
  647. package/.next/static/chunks/app/api/org/route-1ba78d5ff6330abc.js +1 -0
  648. package/.next/static/chunks/app/api/orgs/[id]/invites/[inviteId]/route-1ba78d5ff6330abc.js +1 -0
  649. package/.next/static/chunks/app/api/orgs/[id]/invites/route-1ba78d5ff6330abc.js +1 -0
  650. package/.next/static/chunks/app/api/orgs/[id]/members/[userId]/role/route-1ba78d5ff6330abc.js +1 -0
  651. package/.next/static/chunks/app/api/orgs/[id]/members/[userId]/route-1ba78d5ff6330abc.js +1 -0
  652. package/.next/static/chunks/app/api/orgs/[id]/members/route-1ba78d5ff6330abc.js +1 -0
  653. package/.next/static/chunks/app/api/orgs/[id]/route-1ba78d5ff6330abc.js +1 -0
  654. package/.next/static/chunks/app/api/orgs/invites/pending/route-1ba78d5ff6330abc.js +1 -0
  655. package/.next/static/chunks/app/api/orgs/join/route-1ba78d5ff6330abc.js +1 -0
  656. package/.next/static/chunks/app/api/orgs/join-complete/route-1ba78d5ff6330abc.js +1 -0
  657. package/.next/static/chunks/app/api/orgs/route-1ba78d5ff6330abc.js +1 -0
  658. package/.next/static/chunks/app/api/printing-press/clis/route-1ba78d5ff6330abc.js +1 -0
  659. package/.next/static/chunks/app/api/printing-press/install/route-1ba78d5ff6330abc.js +1 -0
  660. package/.next/static/chunks/app/api/printing-press/security-mode/route-1ba78d5ff6330abc.js +1 -0
  661. package/.next/static/chunks/app/api/privacy/config/route-1ba78d5ff6330abc.js +1 -0
  662. package/.next/static/chunks/app/api/privacy/verify/route-1ba78d5ff6330abc.js +1 -0
  663. package/.next/static/chunks/app/api/processes/[id]/route-1ba78d5ff6330abc.js +1 -0
  664. package/.next/static/chunks/app/api/processes/[id]/share-link/route-1ba78d5ff6330abc.js +1 -0
  665. package/.next/static/chunks/app/api/processes/[id]/stages/[stageId]/override/route-1ba78d5ff6330abc.js +1 -0
  666. package/.next/static/chunks/app/api/processes/[id]/stages/[stageId]/retry/route-1ba78d5ff6330abc.js +1 -0
  667. package/.next/static/chunks/app/api/processes/[id]/stages/[stageId]/submit/route-1ba78d5ff6330abc.js +1 -0
  668. package/.next/static/chunks/app/api/processes/definitions/[slug]/route-1ba78d5ff6330abc.js +1 -0
  669. package/.next/static/chunks/app/api/processes/definitions/[slug]/settings/route-1ba78d5ff6330abc.js +1 -0
  670. package/.next/static/chunks/app/api/processes/definitions/route-1ba78d5ff6330abc.js +1 -0
  671. package/.next/static/chunks/app/api/processes/definitions/validate/route-1ba78d5ff6330abc.js +1 -0
  672. package/.next/static/chunks/app/api/processes/route-1ba78d5ff6330abc.js +1 -0
  673. package/.next/static/chunks/app/api/processes/start-and-route/route-1ba78d5ff6330abc.js +1 -0
  674. package/.next/static/chunks/app/api/projects/[slug]/library/route-1ba78d5ff6330abc.js +1 -0
  675. package/.next/static/chunks/app/api/projects/[slug]/route-1ba78d5ff6330abc.js +1 -0
  676. package/.next/static/chunks/app/api/projects/route-1ba78d5ff6330abc.js +1 -0
  677. package/.next/static/chunks/app/api/runs/approve-claude-run/route-1ba78d5ff6330abc.js +1 -0
  678. package/.next/static/chunks/app/api/runs/claude-code-dry-run/route-1ba78d5ff6330abc.js +1 -0
  679. package/.next/static/chunks/app/api/runs/competitor-report/route-1ba78d5ff6330abc.js +1 -0
  680. package/.next/static/chunks/app/api/runs/engine-ping/route-1ba78d5ff6330abc.js +1 -0
  681. package/.next/static/chunks/app/api/runs/marketing-plan/route-1ba78d5ff6330abc.js +1 -0
  682. package/.next/static/chunks/app/api/schedules/upsert/route-1ba78d5ff6330abc.js +1 -0
  683. package/.next/static/chunks/app/api/secrets/[name]/route-1ba78d5ff6330abc.js +1 -0
  684. package/.next/static/chunks/app/api/secrets/route-1ba78d5ff6330abc.js +1 -0
  685. package/.next/static/chunks/app/api/settings/trust-mode/route-1ba78d5ff6330abc.js +1 -0
  686. package/.next/static/chunks/app/api/share/[token]/otp/route-1ba78d5ff6330abc.js +1 -0
  687. package/.next/static/chunks/app/api/share/[token]/route-1ba78d5ff6330abc.js +1 -0
  688. package/.next/static/chunks/app/api/share/[token]/verify/route-1ba78d5ff6330abc.js +1 -0
  689. package/.next/static/chunks/app/api/share/space/[token]/otp/route-1ba78d5ff6330abc.js +1 -0
  690. package/.next/static/chunks/app/api/share/space/[token]/route-1ba78d5ff6330abc.js +1 -0
  691. package/.next/static/chunks/app/api/share/space/[token]/verify/route-1ba78d5ff6330abc.js +1 -0
  692. package/.next/static/chunks/app/api/shared/spaces/[id]/acl/route-1ba78d5ff6330abc.js +1 -0
  693. package/.next/static/chunks/app/api/shared/spaces/publish/route-1ba78d5ff6330abc.js +1 -0
  694. package/.next/static/chunks/app/api/shared/spaces/route-1ba78d5ff6330abc.js +1 -0
  695. package/.next/static/chunks/app/api/shared/spaces/status/route-1ba78d5ff6330abc.js +1 -0
  696. package/.next/static/chunks/app/api/shared/spaces/unpublish/route-1ba78d5ff6330abc.js +1 -0
  697. package/.next/static/chunks/app/api/state/route-1ba78d5ff6330abc.js +1 -0
  698. package/.next/static/chunks/app/api/system/update/route-1ba78d5ff6330abc.js +1 -0
  699. package/.next/static/chunks/app/api/tasks/[id]/active-run/route-1ba78d5ff6330abc.js +1 -0
  700. package/.next/static/chunks/app/api/tasks/[id]/attachments/route-1ba78d5ff6330abc.js +1 -0
  701. package/.next/static/chunks/app/api/tasks/[id]/checklist/[itemId]/route-1ba78d5ff6330abc.js +1 -0
  702. package/.next/static/chunks/app/api/tasks/[id]/checklist/route-1ba78d5ff6330abc.js +1 -0
  703. package/.next/static/chunks/app/api/tasks/[id]/checkout/route-1ba78d5ff6330abc.js +1 -0
  704. package/.next/static/chunks/app/api/tasks/[id]/children/route-1ba78d5ff6330abc.js +1 -0
  705. package/.next/static/chunks/app/api/tasks/[id]/comments/route-1ba78d5ff6330abc.js +1 -0
  706. package/.next/static/chunks/app/api/tasks/[id]/events/route-1ba78d5ff6330abc.js +1 -0
  707. package/.next/static/chunks/app/api/tasks/[id]/live-runs/route-1ba78d5ff6330abc.js +1 -0
  708. package/.next/static/chunks/app/api/tasks/[id]/release/route-1ba78d5ff6330abc.js +1 -0
  709. package/.next/static/chunks/app/api/tasks/[id]/route-1ba78d5ff6330abc.js +1 -0
  710. package/.next/static/chunks/app/api/tasks/route-1ba78d5ff6330abc.js +1 -0
  711. package/.next/static/chunks/app/api/tool-allowlists/[id]/route-1ba78d5ff6330abc.js +1 -0
  712. package/.next/static/chunks/app/api/tool-allowlists/route-1ba78d5ff6330abc.js +1 -0
  713. package/.next/static/chunks/app/api/tool-egress/route-1ba78d5ff6330abc.js +1 -0
  714. package/.next/static/chunks/app/api/tools/[name]/approve/route-1ba78d5ff6330abc.js +1 -0
  715. package/.next/static/chunks/app/api/tools/[name]/route-1ba78d5ff6330abc.js +1 -0
  716. package/.next/static/chunks/app/api/tools/route-1ba78d5ff6330abc.js +1 -0
  717. package/.next/static/chunks/app/api/transcripts/route-1ba78d5ff6330abc.js +1 -0
  718. package/.next/static/chunks/app/api/voice/providers/route-1ba78d5ff6330abc.js +1 -0
  719. package/.next/static/chunks/app/api/voice/realtime/context/route-1ba78d5ff6330abc.js +1 -0
  720. package/.next/static/chunks/app/api/voice/realtime/session/route-1ba78d5ff6330abc.js +1 -0
  721. package/.next/static/chunks/app/api/voice/realtime/tool-result/route-1ba78d5ff6330abc.js +1 -0
  722. package/.next/static/chunks/app/api/voice/realtime/tools/route-1ba78d5ff6330abc.js +1 -0
  723. package/.next/static/chunks/app/api/voice/tts/route-1ba78d5ff6330abc.js +1 -0
  724. package/.next/static/chunks/app/api/whatsapp/allowlist/route-1ba78d5ff6330abc.js +1 -0
  725. package/.next/static/chunks/app/api/whatsapp/disconnect/route-1ba78d5ff6330abc.js +1 -0
  726. package/.next/static/chunks/app/api/whatsapp/messages/route-1ba78d5ff6330abc.js +1 -0
  727. package/.next/static/chunks/app/api/whatsapp/qr/route-1ba78d5ff6330abc.js +1 -0
  728. package/.next/static/chunks/app/api/whatsapp/send/route-1ba78d5ff6330abc.js +1 -0
  729. package/.next/static/chunks/app/api/whatsapp/status/route-1ba78d5ff6330abc.js +1 -0
  730. package/.next/static/chunks/app/approvals/loading-1ba78d5ff6330abc.js +1 -0
  731. package/.next/static/chunks/app/architecture/loading-1ba78d5ff6330abc.js +1 -0
  732. package/.next/static/chunks/app/audit/loading-1ba78d5ff6330abc.js +1 -0
  733. package/.next/static/chunks/app/brand/loading-1ba78d5ff6330abc.js +1 -0
  734. package/.next/static/chunks/app/disk/loading-1ba78d5ff6330abc.js +1 -0
  735. package/.next/static/chunks/app/federated-ai/loading-1ba78d5ff6330abc.js +1 -0
  736. package/.next/static/chunks/app/help/loading-1ba78d5ff6330abc.js +1 -0
  737. package/.next/static/chunks/app/layout-7c734abe785c0d86.js +1 -0
  738. package/.next/static/chunks/app/loading-1ba78d5ff6330abc.js +1 -0
  739. package/.next/static/chunks/app/marketplace/loading-1ba78d5ff6330abc.js +1 -0
  740. package/.next/static/chunks/app/missions/loading-1ba78d5ff6330abc.js +1 -0
  741. package/.next/static/chunks/app/onboarding/loading-1ba78d5ff6330abc.js +1 -0
  742. package/.next/static/chunks/app/org/loading-1ba78d5ff6330abc.js +1 -0
  743. package/.next/static/chunks/app/page-9d742c9099ab9cd7.js +1 -0
  744. package/.next/static/chunks/app/projects/[slug]/loading-1ba78d5ff6330abc.js +1 -0
  745. package/.next/static/chunks/app/projects/[slug]/page-abbc7f06e58ff9ee.js +1 -0
  746. package/.next/static/chunks/app/projects/loading-1ba78d5ff6330abc.js +1 -0
  747. package/.next/static/chunks/app/projects/page-87457ee2932c33a3.js +1 -0
  748. package/.next/static/chunks/app/reports/[file]/route-1ba78d5ff6330abc.js +1 -0
  749. package/.next/static/chunks/app/reports/loading-1ba78d5ff6330abc.js +1 -0
  750. package/.next/static/chunks/app/runtime/loading-1ba78d5ff6330abc.js +1 -0
  751. package/.next/static/chunks/app/schedules/loading-1ba78d5ff6330abc.js +1 -0
  752. package/.next/static/chunks/app/settings/loading-1ba78d5ff6330abc.js +1 -0
  753. package/.next/static/chunks/app/settings/page-1ba78d5ff6330abc.js +1 -0
  754. package/.next/static/chunks/app/tasks/[id]/loading-1ba78d5ff6330abc.js +1 -0
  755. package/.next/static/chunks/app/tasks/loading-1ba78d5ff6330abc.js +1 -0
  756. package/.next/static/chunks/app/tools/loading-1ba78d5ff6330abc.js +1 -0
  757. package/.next/static/chunks/app/tools/page-1ba78d5ff6330abc.js +1 -0
  758. package/.next/static/chunks/app/whatsapp/loading-1ba78d5ff6330abc.js +1 -0
  759. package/.next/static/chunks/app/workflows/share/[caseId]/page-1ba78d5ff6330abc.js +1 -0
  760. package/.next/static/chunks/webpack-0613e32ff96b6e16.js +1 -0
  761. package/CHANGELOG.md +26 -0
  762. package/app/agents/agent-events-bus.js +4 -0
  763. package/app/api/agents/active-runs/route.js +59 -0
  764. package/app/api/agents/resume-approval/route.js +102 -0
  765. package/app/api/connections/[service]/verify/route.js +83 -0
  766. package/app/api/orchestrator/stream/route.js +137 -55
  767. package/app/components/app-topbar.jsx +34 -88
  768. package/app/components/dashboard/apply-stream-event.js +15 -0
  769. package/app/components/dashboard/bg-agent-reducer.js +125 -0
  770. package/app/components/dashboard/chat-panel.jsx +56 -0
  771. package/app/components/dashboard/use-bg-agents.js +34 -0
  772. package/app/components/dashboard/use-stream-command.js +65 -2
  773. package/app/projects/[slug]/page.js +2 -0
  774. package/app/projects/[slug]/project-scope-sync.jsx +26 -0
  775. package/lib/active-runs.js +5 -0
  776. package/lib/agent-config.js +22 -15
  777. package/lib/agent-engines.js +1 -1
  778. package/lib/agent-routing.js +195 -0
  779. package/lib/agent-runner.js +192 -7
  780. package/lib/agent-templates.js +1 -0
  781. package/lib/cli-action-flow.js +88 -0
  782. package/lib/connection-seeds.js +44 -0
  783. package/lib/delegation.js +94 -1
  784. package/lib/heartbeat-worker.js +13 -0
  785. package/lib/higgsfield-media-card.js +221 -0
  786. package/lib/marketplace-seeds.js +85 -0
  787. package/lib/marketplace.js +57 -5
  788. package/lib/orchestrator-tools.js +210 -6
  789. package/lib/role-capability-map.js +111 -0
  790. package/lib/seeds.js +57 -0
  791. package/lib/tools/adapters/disk.js +107 -0
  792. package/lib/tools/adapters/higgsfield.js +329 -0
  793. package/lib/tools/registry.js +87 -0
  794. package/package.json +1 -1
  795. package/.next/standalone/.next/server/chunks/5030.js +0 -1
  796. package/.next/standalone/.next/static/chunks/app/activity/loading-31bb6a3d587a09ca.js +0 -1
  797. package/.next/standalone/.next/static/chunks/app/agents/[id]/loading-31bb6a3d587a09ca.js +0 -1
  798. package/.next/standalone/.next/static/chunks/app/agents/[id]/page-721c43e75cb2dd59.js +0 -1
  799. package/.next/standalone/.next/static/chunks/app/agents/loading-31bb6a3d587a09ca.js +0 -1
  800. package/.next/standalone/.next/static/chunks/app/agents/page-b1bcb39a46a254aa.js +0 -1
  801. package/.next/standalone/.next/static/chunks/app/api/activity/route-31bb6a3d587a09ca.js +0 -1
  802. package/.next/standalone/.next/static/chunks/app/api/admin/audit-export/route-31bb6a3d587a09ca.js +0 -1
  803. package/.next/standalone/.next/static/chunks/app/api/admin/share-links/route-31bb6a3d587a09ca.js +0 -1
  804. package/.next/standalone/.next/static/chunks/app/api/agent-memory/route-31bb6a3d587a09ca.js +0 -1
  805. package/.next/standalone/.next/static/chunks/app/api/agent-runs/[id]/cancel/route-31bb6a3d587a09ca.js +0 -1
  806. package/.next/standalone/.next/static/chunks/app/api/agent-runs/[id]/events/route-31bb6a3d587a09ca.js +0 -1
  807. package/.next/standalone/.next/static/chunks/app/api/agent-runs/[id]/log/route-31bb6a3d587a09ca.js +0 -1
  808. package/.next/standalone/.next/static/chunks/app/api/agent-runs/[id]/route-31bb6a3d587a09ca.js +0 -1
  809. package/.next/standalone/.next/static/chunks/app/api/agent-runs/route-31bb6a3d587a09ca.js +0 -1
  810. package/.next/standalone/.next/static/chunks/app/api/agents/[id]/active-run/route-31bb6a3d587a09ca.js +0 -1
  811. package/.next/standalone/.next/static/chunks/app/api/agents/[id]/chain/route-31bb6a3d587a09ca.js +0 -1
  812. package/.next/standalone/.next/static/chunks/app/api/agents/[id]/memory/route-31bb6a3d587a09ca.js +0 -1
  813. package/.next/standalone/.next/static/chunks/app/api/agents/[id]/reports/route-31bb6a3d587a09ca.js +0 -1
  814. package/.next/standalone/.next/static/chunks/app/api/agents/[id]/run/route-31bb6a3d587a09ca.js +0 -1
  815. package/.next/standalone/.next/static/chunks/app/api/agents/[id]/skills/route-31bb6a3d587a09ca.js +0 -1
  816. package/.next/standalone/.next/static/chunks/app/api/agents/create/route-31bb6a3d587a09ca.js +0 -1
  817. package/.next/standalone/.next/static/chunks/app/api/agents/ops/route-31bb6a3d587a09ca.js +0 -1
  818. package/.next/standalone/.next/static/chunks/app/api/approvals/[id]/route-31bb6a3d587a09ca.js +0 -1
  819. package/.next/standalone/.next/static/chunks/app/api/approvals/route-31bb6a3d587a09ca.js +0 -1
  820. package/.next/standalone/.next/static/chunks/app/api/artifacts/[id]/acl/route-31bb6a3d587a09ca.js +0 -1
  821. package/.next/standalone/.next/static/chunks/app/api/artifacts/[id]/protect/route-31bb6a3d587a09ca.js +0 -1
  822. package/.next/standalone/.next/static/chunks/app/api/artifacts/[id]/raw/route-31bb6a3d587a09ca.js +0 -1
  823. package/.next/standalone/.next/static/chunks/app/api/artifacts/[id]/route-31bb6a3d587a09ca.js +0 -1
  824. package/.next/standalone/.next/static/chunks/app/api/artifacts/[id]/share-link/[linkId]/route-31bb6a3d587a09ca.js +0 -1
  825. package/.next/standalone/.next/static/chunks/app/api/artifacts/[id]/share-link/route-31bb6a3d587a09ca.js +0 -1
  826. package/.next/standalone/.next/static/chunks/app/api/artifacts/upload/route-31bb6a3d587a09ca.js +0 -1
  827. package/.next/standalone/.next/static/chunks/app/api/audit/list/route-31bb6a3d587a09ca.js +0 -1
  828. package/.next/standalone/.next/static/chunks/app/api/audit/search/route-31bb6a3d587a09ca.js +0 -1
  829. package/.next/standalone/.next/static/chunks/app/api/auth/callback/route-31bb6a3d587a09ca.js +0 -1
  830. package/.next/standalone/.next/static/chunks/app/api/auth/config/route-31bb6a3d587a09ca.js +0 -1
  831. package/.next/standalone/.next/static/chunks/app/api/auth/join-bootstrap/route-31bb6a3d587a09ca.js +0 -1
  832. package/.next/standalone/.next/static/chunks/app/api/auth/session/route-31bb6a3d587a09ca.js +0 -1
  833. package/.next/standalone/.next/static/chunks/app/api/brand/route-31bb6a3d587a09ca.js +0 -1
  834. package/.next/standalone/.next/static/chunks/app/api/brand/share/route-31bb6a3d587a09ca.js +0 -1
  835. package/.next/standalone/.next/static/chunks/app/api/chat/sessions/[id]/route-31bb6a3d587a09ca.js +0 -1
  836. package/.next/standalone/.next/static/chunks/app/api/chat/sessions/route-31bb6a3d587a09ca.js +0 -1
  837. package/.next/standalone/.next/static/chunks/app/api/cloud/schema/route-31bb6a3d587a09ca.js +0 -1
  838. package/.next/standalone/.next/static/chunks/app/api/config/env/route-31bb6a3d587a09ca.js +0 -1
  839. package/.next/standalone/.next/static/chunks/app/api/config/route-31bb6a3d587a09ca.js +0 -1
  840. package/.next/standalone/.next/static/chunks/app/api/connections/[service]/route-31bb6a3d587a09ca.js +0 -1
  841. package/.next/standalone/.next/static/chunks/app/api/connections/[service]/verify/route-31bb6a3d587a09ca.js +0 -1
  842. package/.next/standalone/.next/static/chunks/app/api/connections/route-31bb6a3d587a09ca.js +0 -1
  843. package/.next/standalone/.next/static/chunks/app/api/cron/tick/route-31bb6a3d587a09ca.js +0 -1
  844. package/.next/standalone/.next/static/chunks/app/api/dashboard/spaces/[id]/move/route-31bb6a3d587a09ca.js +0 -1
  845. package/.next/standalone/.next/static/chunks/app/api/dashboard/spaces/[id]/route-31bb6a3d587a09ca.js +0 -1
  846. package/.next/standalone/.next/static/chunks/app/api/dashboard/spaces/[id]/share-link/[linkId]/route-31bb6a3d587a09ca.js +0 -1
  847. package/.next/standalone/.next/static/chunks/app/api/dashboard/spaces/[id]/share-link/route-31bb6a3d587a09ca.js +0 -1
  848. package/.next/standalone/.next/static/chunks/app/api/dashboard/spaces/import/route-31bb6a3d587a09ca.js +0 -1
  849. package/.next/standalone/.next/static/chunks/app/api/dashboard/spaces/route-31bb6a3d587a09ca.js +0 -1
  850. package/.next/standalone/.next/static/chunks/app/api/disk/files/[id]/blob/route-31bb6a3d587a09ca.js +0 -1
  851. package/.next/standalone/.next/static/chunks/app/api/disk/files/[id]/route-31bb6a3d587a09ca.js +0 -1
  852. package/.next/standalone/.next/static/chunks/app/api/disk/files/[id]/transcribe/route-31bb6a3d587a09ca.js +0 -1
  853. package/.next/standalone/.next/static/chunks/app/api/disk/files/route-31bb6a3d587a09ca.js +0 -1
  854. package/.next/standalone/.next/static/chunks/app/api/disk/folders/route-31bb6a3d587a09ca.js +0 -1
  855. package/.next/standalone/.next/static/chunks/app/api/events/since/[cursor]/route-31bb6a3d587a09ca.js +0 -1
  856. package/.next/standalone/.next/static/chunks/app/api/events/stream/route-31bb6a3d587a09ca.js +0 -1
  857. package/.next/standalone/.next/static/chunks/app/api/fs/create-folder/route-31bb6a3d587a09ca.js +0 -1
  858. package/.next/standalone/.next/static/chunks/app/api/fs/pick-folder/route-31bb6a3d587a09ca.js +0 -1
  859. package/.next/standalone/.next/static/chunks/app/api/hail/engagements/[id]/blueprint/route-31bb6a3d587a09ca.js +0 -1
  860. package/.next/standalone/.next/static/chunks/app/api/hail/engagements/[id]/diagnostic/route-31bb6a3d587a09ca.js +0 -1
  861. package/.next/standalone/.next/static/chunks/app/api/hail/engagements/[id]/governance/route-31bb6a3d587a09ca.js +0 -1
  862. package/.next/standalone/.next/static/chunks/app/api/hail/engagements/[id]/interview/route-31bb6a3d587a09ca.js +0 -1
  863. package/.next/standalone/.next/static/chunks/app/api/hail/engagements/[id]/pilot/route-31bb6a3d587a09ca.js +0 -1
  864. package/.next/standalone/.next/static/chunks/app/api/hail/engagements/[id]/quarterly/route-31bb6a3d587a09ca.js +0 -1
  865. package/.next/standalone/.next/static/chunks/app/api/hail/engagements/[id]/route-31bb6a3d587a09ca.js +0 -1
  866. package/.next/standalone/.next/static/chunks/app/api/hail/engagements/[id]/setup-package/route-31bb6a3d587a09ca.js +0 -1
  867. package/.next/standalone/.next/static/chunks/app/api/hail/engagements/route-31bb6a3d587a09ca.js +0 -1
  868. package/.next/standalone/.next/static/chunks/app/api/hail/interviews/[id]/responses/route-31bb6a3d587a09ca.js +0 -1
  869. package/.next/standalone/.next/static/chunks/app/api/hail/interviews/[id]/route-31bb6a3d587a09ca.js +0 -1
  870. package/.next/standalone/.next/static/chunks/app/api/hail/setup-packages/[id]/apply/route-31bb6a3d587a09ca.js +0 -1
  871. package/.next/standalone/.next/static/chunks/app/api/hail/setup-packages/validate/route-31bb6a3d587a09ca.js +0 -1
  872. package/.next/standalone/.next/static/chunks/app/api/heartbeat/tick/route-31bb6a3d587a09ca.js +0 -1
  873. package/.next/standalone/.next/static/chunks/app/api/heartbeat/worker/route-31bb6a3d587a09ca.js +0 -1
  874. package/.next/standalone/.next/static/chunks/app/api/help/route-31bb6a3d587a09ca.js +0 -1
  875. package/.next/standalone/.next/static/chunks/app/api/hermes/jobs/[id]/events/route-31bb6a3d587a09ca.js +0 -1
  876. package/.next/standalone/.next/static/chunks/app/api/hermes/jobs/[id]/route-31bb6a3d587a09ca.js +0 -1
  877. package/.next/standalone/.next/static/chunks/app/api/hermes/jobs/route-31bb6a3d587a09ca.js +0 -1
  878. package/.next/standalone/.next/static/chunks/app/api/integrations/google/callback/route-31bb6a3d587a09ca.js +0 -1
  879. package/.next/standalone/.next/static/chunks/app/api/integrations/google/oauth/route-31bb6a3d587a09ca.js +0 -1
  880. package/.next/standalone/.next/static/chunks/app/api/marketplace/[id]/route-31bb6a3d587a09ca.js +0 -1
  881. package/.next/standalone/.next/static/chunks/app/api/marketplace/open-design/route-31bb6a3d587a09ca.js +0 -1
  882. package/.next/standalone/.next/static/chunks/app/api/marketplace/route-31bb6a3d587a09ca.js +0 -1
  883. package/.next/standalone/.next/static/chunks/app/api/mines/import-roots/route-31bb6a3d587a09ca.js +0 -1
  884. package/.next/standalone/.next/static/chunks/app/api/mines/portfolio/route-31bb6a3d587a09ca.js +0 -1
  885. package/.next/standalone/.next/static/chunks/app/api/mines/projects/[id]/chunks/route-31bb6a3d587a09ca.js +0 -1
  886. package/.next/standalone/.next/static/chunks/app/api/mines/projects/[id]/diligence/route-31bb6a3d587a09ca.js +0 -1
  887. package/.next/standalone/.next/static/chunks/app/api/mines/projects/[id]/import/route-31bb6a3d587a09ca.js +0 -1
  888. package/.next/standalone/.next/static/chunks/app/api/mines/projects/[id]/publish/route-31bb6a3d587a09ca.js +0 -1
  889. package/.next/standalone/.next/static/chunks/app/api/mines/projects/route-31bb6a3d587a09ca.js +0 -1
  890. package/.next/standalone/.next/static/chunks/app/api/missions/route-31bb6a3d587a09ca.js +0 -1
  891. package/.next/standalone/.next/static/chunks/app/api/models/route-31bb6a3d587a09ca.js +0 -1
  892. package/.next/standalone/.next/static/chunks/app/api/onboarding/blueprint/route-31bb6a3d587a09ca.js +0 -1
  893. package/.next/standalone/.next/static/chunks/app/api/onboarding/launch/route-31bb6a3d587a09ca.js +0 -1
  894. package/.next/standalone/.next/static/chunks/app/api/orchestrator/command/route-31bb6a3d587a09ca.js +0 -1
  895. package/.next/standalone/.next/static/chunks/app/api/orchestrator/stream/attach/route-31bb6a3d587a09ca.js +0 -1
  896. package/.next/standalone/.next/static/chunks/app/api/orchestrator/stream/route-31bb6a3d587a09ca.js +0 -1
  897. package/.next/standalone/.next/static/chunks/app/api/orchestrator/upload/route-31bb6a3d587a09ca.js +0 -1
  898. package/.next/standalone/.next/static/chunks/app/api/org/route-31bb6a3d587a09ca.js +0 -1
  899. package/.next/standalone/.next/static/chunks/app/api/orgs/[id]/invites/[inviteId]/route-31bb6a3d587a09ca.js +0 -1
  900. package/.next/standalone/.next/static/chunks/app/api/orgs/[id]/invites/route-31bb6a3d587a09ca.js +0 -1
  901. package/.next/standalone/.next/static/chunks/app/api/orgs/[id]/members/[userId]/role/route-31bb6a3d587a09ca.js +0 -1
  902. package/.next/standalone/.next/static/chunks/app/api/orgs/[id]/members/[userId]/route-31bb6a3d587a09ca.js +0 -1
  903. package/.next/standalone/.next/static/chunks/app/api/orgs/[id]/members/route-31bb6a3d587a09ca.js +0 -1
  904. package/.next/standalone/.next/static/chunks/app/api/orgs/[id]/route-31bb6a3d587a09ca.js +0 -1
  905. package/.next/standalone/.next/static/chunks/app/api/orgs/invites/pending/route-31bb6a3d587a09ca.js +0 -1
  906. package/.next/standalone/.next/static/chunks/app/api/orgs/join/route-31bb6a3d587a09ca.js +0 -1
  907. package/.next/standalone/.next/static/chunks/app/api/orgs/join-complete/route-31bb6a3d587a09ca.js +0 -1
  908. package/.next/standalone/.next/static/chunks/app/api/orgs/route-31bb6a3d587a09ca.js +0 -1
  909. package/.next/standalone/.next/static/chunks/app/api/printing-press/clis/route-31bb6a3d587a09ca.js +0 -1
  910. package/.next/standalone/.next/static/chunks/app/api/printing-press/install/route-31bb6a3d587a09ca.js +0 -1
  911. package/.next/standalone/.next/static/chunks/app/api/printing-press/security-mode/route-31bb6a3d587a09ca.js +0 -1
  912. package/.next/standalone/.next/static/chunks/app/api/privacy/config/route-31bb6a3d587a09ca.js +0 -1
  913. package/.next/standalone/.next/static/chunks/app/api/privacy/verify/route-31bb6a3d587a09ca.js +0 -1
  914. package/.next/standalone/.next/static/chunks/app/api/processes/[id]/route-31bb6a3d587a09ca.js +0 -1
  915. package/.next/standalone/.next/static/chunks/app/api/processes/[id]/share-link/route-31bb6a3d587a09ca.js +0 -1
  916. package/.next/standalone/.next/static/chunks/app/api/processes/[id]/stages/[stageId]/override/route-31bb6a3d587a09ca.js +0 -1
  917. package/.next/standalone/.next/static/chunks/app/api/processes/[id]/stages/[stageId]/retry/route-31bb6a3d587a09ca.js +0 -1
  918. package/.next/standalone/.next/static/chunks/app/api/processes/[id]/stages/[stageId]/submit/route-31bb6a3d587a09ca.js +0 -1
  919. package/.next/standalone/.next/static/chunks/app/api/processes/definitions/[slug]/route-31bb6a3d587a09ca.js +0 -1
  920. package/.next/standalone/.next/static/chunks/app/api/processes/definitions/[slug]/settings/route-31bb6a3d587a09ca.js +0 -1
  921. package/.next/standalone/.next/static/chunks/app/api/processes/definitions/route-31bb6a3d587a09ca.js +0 -1
  922. package/.next/standalone/.next/static/chunks/app/api/processes/definitions/validate/route-31bb6a3d587a09ca.js +0 -1
  923. package/.next/standalone/.next/static/chunks/app/api/processes/route-31bb6a3d587a09ca.js +0 -1
  924. package/.next/standalone/.next/static/chunks/app/api/processes/start-and-route/route-31bb6a3d587a09ca.js +0 -1
  925. package/.next/standalone/.next/static/chunks/app/api/projects/[slug]/library/route-31bb6a3d587a09ca.js +0 -1
  926. package/.next/standalone/.next/static/chunks/app/api/projects/[slug]/route-31bb6a3d587a09ca.js +0 -1
  927. package/.next/standalone/.next/static/chunks/app/api/projects/route-31bb6a3d587a09ca.js +0 -1
  928. package/.next/standalone/.next/static/chunks/app/api/runs/approve-claude-run/route-31bb6a3d587a09ca.js +0 -1
  929. package/.next/standalone/.next/static/chunks/app/api/runs/claude-code-dry-run/route-31bb6a3d587a09ca.js +0 -1
  930. package/.next/standalone/.next/static/chunks/app/api/runs/competitor-report/route-31bb6a3d587a09ca.js +0 -1
  931. package/.next/standalone/.next/static/chunks/app/api/runs/engine-ping/route-31bb6a3d587a09ca.js +0 -1
  932. package/.next/standalone/.next/static/chunks/app/api/runs/marketing-plan/route-31bb6a3d587a09ca.js +0 -1
  933. package/.next/standalone/.next/static/chunks/app/api/schedules/upsert/route-31bb6a3d587a09ca.js +0 -1
  934. package/.next/standalone/.next/static/chunks/app/api/secrets/[name]/route-31bb6a3d587a09ca.js +0 -1
  935. package/.next/standalone/.next/static/chunks/app/api/secrets/route-31bb6a3d587a09ca.js +0 -1
  936. package/.next/standalone/.next/static/chunks/app/api/settings/trust-mode/route-31bb6a3d587a09ca.js +0 -1
  937. package/.next/standalone/.next/static/chunks/app/api/share/[token]/otp/route-31bb6a3d587a09ca.js +0 -1
  938. package/.next/standalone/.next/static/chunks/app/api/share/[token]/route-31bb6a3d587a09ca.js +0 -1
  939. package/.next/standalone/.next/static/chunks/app/api/share/[token]/verify/route-31bb6a3d587a09ca.js +0 -1
  940. package/.next/standalone/.next/static/chunks/app/api/share/space/[token]/otp/route-31bb6a3d587a09ca.js +0 -1
  941. package/.next/standalone/.next/static/chunks/app/api/share/space/[token]/route-31bb6a3d587a09ca.js +0 -1
  942. package/.next/standalone/.next/static/chunks/app/api/share/space/[token]/verify/route-31bb6a3d587a09ca.js +0 -1
  943. package/.next/standalone/.next/static/chunks/app/api/shared/spaces/[id]/acl/route-31bb6a3d587a09ca.js +0 -1
  944. package/.next/standalone/.next/static/chunks/app/api/shared/spaces/publish/route-31bb6a3d587a09ca.js +0 -1
  945. package/.next/standalone/.next/static/chunks/app/api/shared/spaces/route-31bb6a3d587a09ca.js +0 -1
  946. package/.next/standalone/.next/static/chunks/app/api/shared/spaces/status/route-31bb6a3d587a09ca.js +0 -1
  947. package/.next/standalone/.next/static/chunks/app/api/shared/spaces/unpublish/route-31bb6a3d587a09ca.js +0 -1
  948. package/.next/standalone/.next/static/chunks/app/api/state/route-31bb6a3d587a09ca.js +0 -1
  949. package/.next/standalone/.next/static/chunks/app/api/system/update/route-31bb6a3d587a09ca.js +0 -1
  950. package/.next/standalone/.next/static/chunks/app/api/tasks/[id]/active-run/route-31bb6a3d587a09ca.js +0 -1
  951. package/.next/standalone/.next/static/chunks/app/api/tasks/[id]/attachments/route-31bb6a3d587a09ca.js +0 -1
  952. package/.next/standalone/.next/static/chunks/app/api/tasks/[id]/checklist/[itemId]/route-31bb6a3d587a09ca.js +0 -1
  953. package/.next/standalone/.next/static/chunks/app/api/tasks/[id]/checklist/route-31bb6a3d587a09ca.js +0 -1
  954. package/.next/standalone/.next/static/chunks/app/api/tasks/[id]/checkout/route-31bb6a3d587a09ca.js +0 -1
  955. package/.next/standalone/.next/static/chunks/app/api/tasks/[id]/children/route-31bb6a3d587a09ca.js +0 -1
  956. package/.next/standalone/.next/static/chunks/app/api/tasks/[id]/comments/route-31bb6a3d587a09ca.js +0 -1
  957. package/.next/standalone/.next/static/chunks/app/api/tasks/[id]/events/route-31bb6a3d587a09ca.js +0 -1
  958. package/.next/standalone/.next/static/chunks/app/api/tasks/[id]/live-runs/route-31bb6a3d587a09ca.js +0 -1
  959. package/.next/standalone/.next/static/chunks/app/api/tasks/[id]/release/route-31bb6a3d587a09ca.js +0 -1
  960. package/.next/standalone/.next/static/chunks/app/api/tasks/[id]/route-31bb6a3d587a09ca.js +0 -1
  961. package/.next/standalone/.next/static/chunks/app/api/tasks/route-31bb6a3d587a09ca.js +0 -1
  962. package/.next/standalone/.next/static/chunks/app/api/tool-allowlists/[id]/route-31bb6a3d587a09ca.js +0 -1
  963. package/.next/standalone/.next/static/chunks/app/api/tool-allowlists/route-31bb6a3d587a09ca.js +0 -1
  964. package/.next/standalone/.next/static/chunks/app/api/tool-egress/route-31bb6a3d587a09ca.js +0 -1
  965. package/.next/standalone/.next/static/chunks/app/api/tools/[name]/approve/route-31bb6a3d587a09ca.js +0 -1
  966. package/.next/standalone/.next/static/chunks/app/api/tools/[name]/route-31bb6a3d587a09ca.js +0 -1
  967. package/.next/standalone/.next/static/chunks/app/api/tools/route-31bb6a3d587a09ca.js +0 -1
  968. package/.next/standalone/.next/static/chunks/app/api/transcripts/route-31bb6a3d587a09ca.js +0 -1
  969. package/.next/standalone/.next/static/chunks/app/api/voice/providers/route-31bb6a3d587a09ca.js +0 -1
  970. package/.next/standalone/.next/static/chunks/app/api/voice/realtime/context/route-31bb6a3d587a09ca.js +0 -1
  971. package/.next/standalone/.next/static/chunks/app/api/voice/realtime/session/route-31bb6a3d587a09ca.js +0 -1
  972. package/.next/standalone/.next/static/chunks/app/api/voice/realtime/tool-result/route-31bb6a3d587a09ca.js +0 -1
  973. package/.next/standalone/.next/static/chunks/app/api/voice/realtime/tools/route-31bb6a3d587a09ca.js +0 -1
  974. package/.next/standalone/.next/static/chunks/app/api/voice/tts/route-31bb6a3d587a09ca.js +0 -1
  975. package/.next/standalone/.next/static/chunks/app/api/whatsapp/allowlist/route-31bb6a3d587a09ca.js +0 -1
  976. package/.next/standalone/.next/static/chunks/app/api/whatsapp/disconnect/route-31bb6a3d587a09ca.js +0 -1
  977. package/.next/standalone/.next/static/chunks/app/api/whatsapp/messages/route-31bb6a3d587a09ca.js +0 -1
  978. package/.next/standalone/.next/static/chunks/app/api/whatsapp/qr/route-31bb6a3d587a09ca.js +0 -1
  979. package/.next/standalone/.next/static/chunks/app/api/whatsapp/send/route-31bb6a3d587a09ca.js +0 -1
  980. package/.next/standalone/.next/static/chunks/app/api/whatsapp/status/route-31bb6a3d587a09ca.js +0 -1
  981. package/.next/standalone/.next/static/chunks/app/approvals/loading-31bb6a3d587a09ca.js +0 -1
  982. package/.next/standalone/.next/static/chunks/app/architecture/loading-31bb6a3d587a09ca.js +0 -1
  983. package/.next/standalone/.next/static/chunks/app/audit/loading-31bb6a3d587a09ca.js +0 -1
  984. package/.next/standalone/.next/static/chunks/app/brand/loading-31bb6a3d587a09ca.js +0 -1
  985. package/.next/standalone/.next/static/chunks/app/disk/loading-31bb6a3d587a09ca.js +0 -1
  986. package/.next/standalone/.next/static/chunks/app/federated-ai/loading-31bb6a3d587a09ca.js +0 -1
  987. package/.next/standalone/.next/static/chunks/app/help/loading-31bb6a3d587a09ca.js +0 -1
  988. package/.next/standalone/.next/static/chunks/app/layout-457acc50d33a5e0e.js +0 -1
  989. package/.next/standalone/.next/static/chunks/app/loading-31bb6a3d587a09ca.js +0 -1
  990. package/.next/standalone/.next/static/chunks/app/marketplace/loading-31bb6a3d587a09ca.js +0 -1
  991. package/.next/standalone/.next/static/chunks/app/missions/loading-31bb6a3d587a09ca.js +0 -1
  992. package/.next/standalone/.next/static/chunks/app/onboarding/loading-31bb6a3d587a09ca.js +0 -1
  993. package/.next/standalone/.next/static/chunks/app/org/loading-31bb6a3d587a09ca.js +0 -1
  994. package/.next/standalone/.next/static/chunks/app/page-8b485e954b4da5be.js +0 -1
  995. package/.next/standalone/.next/static/chunks/app/projects/[slug]/loading-31bb6a3d587a09ca.js +0 -1
  996. package/.next/standalone/.next/static/chunks/app/projects/[slug]/page-0bc910eac788bf29.js +0 -1
  997. package/.next/standalone/.next/static/chunks/app/projects/loading-31bb6a3d587a09ca.js +0 -1
  998. package/.next/standalone/.next/static/chunks/app/projects/page-8b61f1179feb9d4b.js +0 -1
  999. package/.next/standalone/.next/static/chunks/app/reports/[file]/route-31bb6a3d587a09ca.js +0 -1
  1000. package/.next/standalone/.next/static/chunks/app/reports/loading-31bb6a3d587a09ca.js +0 -1
  1001. package/.next/standalone/.next/static/chunks/app/runtime/loading-31bb6a3d587a09ca.js +0 -1
  1002. package/.next/standalone/.next/static/chunks/app/schedules/loading-31bb6a3d587a09ca.js +0 -1
  1003. package/.next/standalone/.next/static/chunks/app/settings/loading-31bb6a3d587a09ca.js +0 -1
  1004. package/.next/standalone/.next/static/chunks/app/settings/page-31bb6a3d587a09ca.js +0 -1
  1005. package/.next/standalone/.next/static/chunks/app/tasks/[id]/loading-31bb6a3d587a09ca.js +0 -1
  1006. package/.next/standalone/.next/static/chunks/app/tasks/loading-31bb6a3d587a09ca.js +0 -1
  1007. package/.next/standalone/.next/static/chunks/app/tools/loading-31bb6a3d587a09ca.js +0 -1
  1008. package/.next/standalone/.next/static/chunks/app/tools/page-31bb6a3d587a09ca.js +0 -1
  1009. package/.next/standalone/.next/static/chunks/app/whatsapp/loading-31bb6a3d587a09ca.js +0 -1
  1010. package/.next/standalone/.next/static/chunks/app/workflows/share/[caseId]/page-31bb6a3d587a09ca.js +0 -1
  1011. package/.next/standalone/.next/static/chunks/webpack-a7e11ef0747e2718.js +0 -1
  1012. package/.next/standalone/.next/static/sO4ApzzsDEnqk70DEBOS6/_buildManifest.js +0 -1
  1013. package/.next/static/chunks/app/activity/loading-31bb6a3d587a09ca.js +0 -1
  1014. package/.next/static/chunks/app/agents/[id]/loading-31bb6a3d587a09ca.js +0 -1
  1015. package/.next/static/chunks/app/agents/[id]/page-721c43e75cb2dd59.js +0 -1
  1016. package/.next/static/chunks/app/agents/loading-31bb6a3d587a09ca.js +0 -1
  1017. package/.next/static/chunks/app/agents/page-b1bcb39a46a254aa.js +0 -1
  1018. package/.next/static/chunks/app/api/activity/route-31bb6a3d587a09ca.js +0 -1
  1019. package/.next/static/chunks/app/api/admin/audit-export/route-31bb6a3d587a09ca.js +0 -1
  1020. package/.next/static/chunks/app/api/admin/share-links/route-31bb6a3d587a09ca.js +0 -1
  1021. package/.next/static/chunks/app/api/agent-memory/route-31bb6a3d587a09ca.js +0 -1
  1022. package/.next/static/chunks/app/api/agent-runs/[id]/cancel/route-31bb6a3d587a09ca.js +0 -1
  1023. package/.next/static/chunks/app/api/agent-runs/[id]/events/route-31bb6a3d587a09ca.js +0 -1
  1024. package/.next/static/chunks/app/api/agent-runs/[id]/log/route-31bb6a3d587a09ca.js +0 -1
  1025. package/.next/static/chunks/app/api/agent-runs/[id]/route-31bb6a3d587a09ca.js +0 -1
  1026. package/.next/static/chunks/app/api/agent-runs/route-31bb6a3d587a09ca.js +0 -1
  1027. package/.next/static/chunks/app/api/agents/[id]/active-run/route-31bb6a3d587a09ca.js +0 -1
  1028. package/.next/static/chunks/app/api/agents/[id]/chain/route-31bb6a3d587a09ca.js +0 -1
  1029. package/.next/static/chunks/app/api/agents/[id]/memory/route-31bb6a3d587a09ca.js +0 -1
  1030. package/.next/static/chunks/app/api/agents/[id]/reports/route-31bb6a3d587a09ca.js +0 -1
  1031. package/.next/static/chunks/app/api/agents/[id]/run/route-31bb6a3d587a09ca.js +0 -1
  1032. package/.next/static/chunks/app/api/agents/[id]/skills/route-31bb6a3d587a09ca.js +0 -1
  1033. package/.next/static/chunks/app/api/agents/create/route-31bb6a3d587a09ca.js +0 -1
  1034. package/.next/static/chunks/app/api/agents/ops/route-31bb6a3d587a09ca.js +0 -1
  1035. package/.next/static/chunks/app/api/approvals/[id]/route-31bb6a3d587a09ca.js +0 -1
  1036. package/.next/static/chunks/app/api/approvals/route-31bb6a3d587a09ca.js +0 -1
  1037. package/.next/static/chunks/app/api/artifacts/[id]/acl/route-31bb6a3d587a09ca.js +0 -1
  1038. package/.next/static/chunks/app/api/artifacts/[id]/protect/route-31bb6a3d587a09ca.js +0 -1
  1039. package/.next/static/chunks/app/api/artifacts/[id]/raw/route-31bb6a3d587a09ca.js +0 -1
  1040. package/.next/static/chunks/app/api/artifacts/[id]/route-31bb6a3d587a09ca.js +0 -1
  1041. package/.next/static/chunks/app/api/artifacts/[id]/share-link/[linkId]/route-31bb6a3d587a09ca.js +0 -1
  1042. package/.next/static/chunks/app/api/artifacts/[id]/share-link/route-31bb6a3d587a09ca.js +0 -1
  1043. package/.next/static/chunks/app/api/artifacts/upload/route-31bb6a3d587a09ca.js +0 -1
  1044. package/.next/static/chunks/app/api/audit/list/route-31bb6a3d587a09ca.js +0 -1
  1045. package/.next/static/chunks/app/api/audit/search/route-31bb6a3d587a09ca.js +0 -1
  1046. package/.next/static/chunks/app/api/auth/callback/route-31bb6a3d587a09ca.js +0 -1
  1047. package/.next/static/chunks/app/api/auth/config/route-31bb6a3d587a09ca.js +0 -1
  1048. package/.next/static/chunks/app/api/auth/join-bootstrap/route-31bb6a3d587a09ca.js +0 -1
  1049. package/.next/static/chunks/app/api/auth/session/route-31bb6a3d587a09ca.js +0 -1
  1050. package/.next/static/chunks/app/api/brand/route-31bb6a3d587a09ca.js +0 -1
  1051. package/.next/static/chunks/app/api/brand/share/route-31bb6a3d587a09ca.js +0 -1
  1052. package/.next/static/chunks/app/api/chat/sessions/[id]/route-31bb6a3d587a09ca.js +0 -1
  1053. package/.next/static/chunks/app/api/chat/sessions/route-31bb6a3d587a09ca.js +0 -1
  1054. package/.next/static/chunks/app/api/cloud/schema/route-31bb6a3d587a09ca.js +0 -1
  1055. package/.next/static/chunks/app/api/config/env/route-31bb6a3d587a09ca.js +0 -1
  1056. package/.next/static/chunks/app/api/config/route-31bb6a3d587a09ca.js +0 -1
  1057. package/.next/static/chunks/app/api/connections/[service]/route-31bb6a3d587a09ca.js +0 -1
  1058. package/.next/static/chunks/app/api/connections/[service]/verify/route-31bb6a3d587a09ca.js +0 -1
  1059. package/.next/static/chunks/app/api/connections/route-31bb6a3d587a09ca.js +0 -1
  1060. package/.next/static/chunks/app/api/cron/tick/route-31bb6a3d587a09ca.js +0 -1
  1061. package/.next/static/chunks/app/api/dashboard/spaces/[id]/move/route-31bb6a3d587a09ca.js +0 -1
  1062. package/.next/static/chunks/app/api/dashboard/spaces/[id]/route-31bb6a3d587a09ca.js +0 -1
  1063. package/.next/static/chunks/app/api/dashboard/spaces/[id]/share-link/[linkId]/route-31bb6a3d587a09ca.js +0 -1
  1064. package/.next/static/chunks/app/api/dashboard/spaces/[id]/share-link/route-31bb6a3d587a09ca.js +0 -1
  1065. package/.next/static/chunks/app/api/dashboard/spaces/import/route-31bb6a3d587a09ca.js +0 -1
  1066. package/.next/static/chunks/app/api/dashboard/spaces/route-31bb6a3d587a09ca.js +0 -1
  1067. package/.next/static/chunks/app/api/disk/files/[id]/blob/route-31bb6a3d587a09ca.js +0 -1
  1068. package/.next/static/chunks/app/api/disk/files/[id]/route-31bb6a3d587a09ca.js +0 -1
  1069. package/.next/static/chunks/app/api/disk/files/[id]/transcribe/route-31bb6a3d587a09ca.js +0 -1
  1070. package/.next/static/chunks/app/api/disk/files/route-31bb6a3d587a09ca.js +0 -1
  1071. package/.next/static/chunks/app/api/disk/folders/route-31bb6a3d587a09ca.js +0 -1
  1072. package/.next/static/chunks/app/api/events/since/[cursor]/route-31bb6a3d587a09ca.js +0 -1
  1073. package/.next/static/chunks/app/api/events/stream/route-31bb6a3d587a09ca.js +0 -1
  1074. package/.next/static/chunks/app/api/fs/create-folder/route-31bb6a3d587a09ca.js +0 -1
  1075. package/.next/static/chunks/app/api/fs/pick-folder/route-31bb6a3d587a09ca.js +0 -1
  1076. package/.next/static/chunks/app/api/hail/engagements/[id]/blueprint/route-31bb6a3d587a09ca.js +0 -1
  1077. package/.next/static/chunks/app/api/hail/engagements/[id]/diagnostic/route-31bb6a3d587a09ca.js +0 -1
  1078. package/.next/static/chunks/app/api/hail/engagements/[id]/governance/route-31bb6a3d587a09ca.js +0 -1
  1079. package/.next/static/chunks/app/api/hail/engagements/[id]/interview/route-31bb6a3d587a09ca.js +0 -1
  1080. package/.next/static/chunks/app/api/hail/engagements/[id]/pilot/route-31bb6a3d587a09ca.js +0 -1
  1081. package/.next/static/chunks/app/api/hail/engagements/[id]/quarterly/route-31bb6a3d587a09ca.js +0 -1
  1082. package/.next/static/chunks/app/api/hail/engagements/[id]/route-31bb6a3d587a09ca.js +0 -1
  1083. package/.next/static/chunks/app/api/hail/engagements/[id]/setup-package/route-31bb6a3d587a09ca.js +0 -1
  1084. package/.next/static/chunks/app/api/hail/engagements/route-31bb6a3d587a09ca.js +0 -1
  1085. package/.next/static/chunks/app/api/hail/interviews/[id]/responses/route-31bb6a3d587a09ca.js +0 -1
  1086. package/.next/static/chunks/app/api/hail/interviews/[id]/route-31bb6a3d587a09ca.js +0 -1
  1087. package/.next/static/chunks/app/api/hail/setup-packages/[id]/apply/route-31bb6a3d587a09ca.js +0 -1
  1088. package/.next/static/chunks/app/api/hail/setup-packages/validate/route-31bb6a3d587a09ca.js +0 -1
  1089. package/.next/static/chunks/app/api/heartbeat/tick/route-31bb6a3d587a09ca.js +0 -1
  1090. package/.next/static/chunks/app/api/heartbeat/worker/route-31bb6a3d587a09ca.js +0 -1
  1091. package/.next/static/chunks/app/api/help/route-31bb6a3d587a09ca.js +0 -1
  1092. package/.next/static/chunks/app/api/hermes/jobs/[id]/events/route-31bb6a3d587a09ca.js +0 -1
  1093. package/.next/static/chunks/app/api/hermes/jobs/[id]/route-31bb6a3d587a09ca.js +0 -1
  1094. package/.next/static/chunks/app/api/hermes/jobs/route-31bb6a3d587a09ca.js +0 -1
  1095. package/.next/static/chunks/app/api/integrations/google/callback/route-31bb6a3d587a09ca.js +0 -1
  1096. package/.next/static/chunks/app/api/integrations/google/oauth/route-31bb6a3d587a09ca.js +0 -1
  1097. package/.next/static/chunks/app/api/marketplace/[id]/route-31bb6a3d587a09ca.js +0 -1
  1098. package/.next/static/chunks/app/api/marketplace/open-design/route-31bb6a3d587a09ca.js +0 -1
  1099. package/.next/static/chunks/app/api/marketplace/route-31bb6a3d587a09ca.js +0 -1
  1100. package/.next/static/chunks/app/api/mines/import-roots/route-31bb6a3d587a09ca.js +0 -1
  1101. package/.next/static/chunks/app/api/mines/portfolio/route-31bb6a3d587a09ca.js +0 -1
  1102. package/.next/static/chunks/app/api/mines/projects/[id]/chunks/route-31bb6a3d587a09ca.js +0 -1
  1103. package/.next/static/chunks/app/api/mines/projects/[id]/diligence/route-31bb6a3d587a09ca.js +0 -1
  1104. package/.next/static/chunks/app/api/mines/projects/[id]/import/route-31bb6a3d587a09ca.js +0 -1
  1105. package/.next/static/chunks/app/api/mines/projects/[id]/publish/route-31bb6a3d587a09ca.js +0 -1
  1106. package/.next/static/chunks/app/api/mines/projects/route-31bb6a3d587a09ca.js +0 -1
  1107. package/.next/static/chunks/app/api/missions/route-31bb6a3d587a09ca.js +0 -1
  1108. package/.next/static/chunks/app/api/models/route-31bb6a3d587a09ca.js +0 -1
  1109. package/.next/static/chunks/app/api/onboarding/blueprint/route-31bb6a3d587a09ca.js +0 -1
  1110. package/.next/static/chunks/app/api/onboarding/launch/route-31bb6a3d587a09ca.js +0 -1
  1111. package/.next/static/chunks/app/api/orchestrator/command/route-31bb6a3d587a09ca.js +0 -1
  1112. package/.next/static/chunks/app/api/orchestrator/stream/attach/route-31bb6a3d587a09ca.js +0 -1
  1113. package/.next/static/chunks/app/api/orchestrator/stream/route-31bb6a3d587a09ca.js +0 -1
  1114. package/.next/static/chunks/app/api/orchestrator/upload/route-31bb6a3d587a09ca.js +0 -1
  1115. package/.next/static/chunks/app/api/org/route-31bb6a3d587a09ca.js +0 -1
  1116. package/.next/static/chunks/app/api/orgs/[id]/invites/[inviteId]/route-31bb6a3d587a09ca.js +0 -1
  1117. package/.next/static/chunks/app/api/orgs/[id]/invites/route-31bb6a3d587a09ca.js +0 -1
  1118. package/.next/static/chunks/app/api/orgs/[id]/members/[userId]/role/route-31bb6a3d587a09ca.js +0 -1
  1119. package/.next/static/chunks/app/api/orgs/[id]/members/[userId]/route-31bb6a3d587a09ca.js +0 -1
  1120. package/.next/static/chunks/app/api/orgs/[id]/members/route-31bb6a3d587a09ca.js +0 -1
  1121. package/.next/static/chunks/app/api/orgs/[id]/route-31bb6a3d587a09ca.js +0 -1
  1122. package/.next/static/chunks/app/api/orgs/invites/pending/route-31bb6a3d587a09ca.js +0 -1
  1123. package/.next/static/chunks/app/api/orgs/join/route-31bb6a3d587a09ca.js +0 -1
  1124. package/.next/static/chunks/app/api/orgs/join-complete/route-31bb6a3d587a09ca.js +0 -1
  1125. package/.next/static/chunks/app/api/orgs/route-31bb6a3d587a09ca.js +0 -1
  1126. package/.next/static/chunks/app/api/printing-press/clis/route-31bb6a3d587a09ca.js +0 -1
  1127. package/.next/static/chunks/app/api/printing-press/install/route-31bb6a3d587a09ca.js +0 -1
  1128. package/.next/static/chunks/app/api/printing-press/security-mode/route-31bb6a3d587a09ca.js +0 -1
  1129. package/.next/static/chunks/app/api/privacy/config/route-31bb6a3d587a09ca.js +0 -1
  1130. package/.next/static/chunks/app/api/privacy/verify/route-31bb6a3d587a09ca.js +0 -1
  1131. package/.next/static/chunks/app/api/processes/[id]/route-31bb6a3d587a09ca.js +0 -1
  1132. package/.next/static/chunks/app/api/processes/[id]/share-link/route-31bb6a3d587a09ca.js +0 -1
  1133. package/.next/static/chunks/app/api/processes/[id]/stages/[stageId]/override/route-31bb6a3d587a09ca.js +0 -1
  1134. package/.next/static/chunks/app/api/processes/[id]/stages/[stageId]/retry/route-31bb6a3d587a09ca.js +0 -1
  1135. package/.next/static/chunks/app/api/processes/[id]/stages/[stageId]/submit/route-31bb6a3d587a09ca.js +0 -1
  1136. package/.next/static/chunks/app/api/processes/definitions/[slug]/route-31bb6a3d587a09ca.js +0 -1
  1137. package/.next/static/chunks/app/api/processes/definitions/[slug]/settings/route-31bb6a3d587a09ca.js +0 -1
  1138. package/.next/static/chunks/app/api/processes/definitions/route-31bb6a3d587a09ca.js +0 -1
  1139. package/.next/static/chunks/app/api/processes/definitions/validate/route-31bb6a3d587a09ca.js +0 -1
  1140. package/.next/static/chunks/app/api/processes/route-31bb6a3d587a09ca.js +0 -1
  1141. package/.next/static/chunks/app/api/processes/start-and-route/route-31bb6a3d587a09ca.js +0 -1
  1142. package/.next/static/chunks/app/api/projects/[slug]/library/route-31bb6a3d587a09ca.js +0 -1
  1143. package/.next/static/chunks/app/api/projects/[slug]/route-31bb6a3d587a09ca.js +0 -1
  1144. package/.next/static/chunks/app/api/projects/route-31bb6a3d587a09ca.js +0 -1
  1145. package/.next/static/chunks/app/api/runs/approve-claude-run/route-31bb6a3d587a09ca.js +0 -1
  1146. package/.next/static/chunks/app/api/runs/claude-code-dry-run/route-31bb6a3d587a09ca.js +0 -1
  1147. package/.next/static/chunks/app/api/runs/competitor-report/route-31bb6a3d587a09ca.js +0 -1
  1148. package/.next/static/chunks/app/api/runs/engine-ping/route-31bb6a3d587a09ca.js +0 -1
  1149. package/.next/static/chunks/app/api/runs/marketing-plan/route-31bb6a3d587a09ca.js +0 -1
  1150. package/.next/static/chunks/app/api/schedules/upsert/route-31bb6a3d587a09ca.js +0 -1
  1151. package/.next/static/chunks/app/api/secrets/[name]/route-31bb6a3d587a09ca.js +0 -1
  1152. package/.next/static/chunks/app/api/secrets/route-31bb6a3d587a09ca.js +0 -1
  1153. package/.next/static/chunks/app/api/settings/trust-mode/route-31bb6a3d587a09ca.js +0 -1
  1154. package/.next/static/chunks/app/api/share/[token]/otp/route-31bb6a3d587a09ca.js +0 -1
  1155. package/.next/static/chunks/app/api/share/[token]/route-31bb6a3d587a09ca.js +0 -1
  1156. package/.next/static/chunks/app/api/share/[token]/verify/route-31bb6a3d587a09ca.js +0 -1
  1157. package/.next/static/chunks/app/api/share/space/[token]/otp/route-31bb6a3d587a09ca.js +0 -1
  1158. package/.next/static/chunks/app/api/share/space/[token]/route-31bb6a3d587a09ca.js +0 -1
  1159. package/.next/static/chunks/app/api/share/space/[token]/verify/route-31bb6a3d587a09ca.js +0 -1
  1160. package/.next/static/chunks/app/api/shared/spaces/[id]/acl/route-31bb6a3d587a09ca.js +0 -1
  1161. package/.next/static/chunks/app/api/shared/spaces/publish/route-31bb6a3d587a09ca.js +0 -1
  1162. package/.next/static/chunks/app/api/shared/spaces/route-31bb6a3d587a09ca.js +0 -1
  1163. package/.next/static/chunks/app/api/shared/spaces/status/route-31bb6a3d587a09ca.js +0 -1
  1164. package/.next/static/chunks/app/api/shared/spaces/unpublish/route-31bb6a3d587a09ca.js +0 -1
  1165. package/.next/static/chunks/app/api/state/route-31bb6a3d587a09ca.js +0 -1
  1166. package/.next/static/chunks/app/api/system/update/route-31bb6a3d587a09ca.js +0 -1
  1167. package/.next/static/chunks/app/api/tasks/[id]/active-run/route-31bb6a3d587a09ca.js +0 -1
  1168. package/.next/static/chunks/app/api/tasks/[id]/attachments/route-31bb6a3d587a09ca.js +0 -1
  1169. package/.next/static/chunks/app/api/tasks/[id]/checklist/[itemId]/route-31bb6a3d587a09ca.js +0 -1
  1170. package/.next/static/chunks/app/api/tasks/[id]/checklist/route-31bb6a3d587a09ca.js +0 -1
  1171. package/.next/static/chunks/app/api/tasks/[id]/checkout/route-31bb6a3d587a09ca.js +0 -1
  1172. package/.next/static/chunks/app/api/tasks/[id]/children/route-31bb6a3d587a09ca.js +0 -1
  1173. package/.next/static/chunks/app/api/tasks/[id]/comments/route-31bb6a3d587a09ca.js +0 -1
  1174. package/.next/static/chunks/app/api/tasks/[id]/events/route-31bb6a3d587a09ca.js +0 -1
  1175. package/.next/static/chunks/app/api/tasks/[id]/live-runs/route-31bb6a3d587a09ca.js +0 -1
  1176. package/.next/static/chunks/app/api/tasks/[id]/release/route-31bb6a3d587a09ca.js +0 -1
  1177. package/.next/static/chunks/app/api/tasks/[id]/route-31bb6a3d587a09ca.js +0 -1
  1178. package/.next/static/chunks/app/api/tasks/route-31bb6a3d587a09ca.js +0 -1
  1179. package/.next/static/chunks/app/api/tool-allowlists/[id]/route-31bb6a3d587a09ca.js +0 -1
  1180. package/.next/static/chunks/app/api/tool-allowlists/route-31bb6a3d587a09ca.js +0 -1
  1181. package/.next/static/chunks/app/api/tool-egress/route-31bb6a3d587a09ca.js +0 -1
  1182. package/.next/static/chunks/app/api/tools/[name]/approve/route-31bb6a3d587a09ca.js +0 -1
  1183. package/.next/static/chunks/app/api/tools/[name]/route-31bb6a3d587a09ca.js +0 -1
  1184. package/.next/static/chunks/app/api/tools/route-31bb6a3d587a09ca.js +0 -1
  1185. package/.next/static/chunks/app/api/transcripts/route-31bb6a3d587a09ca.js +0 -1
  1186. package/.next/static/chunks/app/api/voice/providers/route-31bb6a3d587a09ca.js +0 -1
  1187. package/.next/static/chunks/app/api/voice/realtime/context/route-31bb6a3d587a09ca.js +0 -1
  1188. package/.next/static/chunks/app/api/voice/realtime/session/route-31bb6a3d587a09ca.js +0 -1
  1189. package/.next/static/chunks/app/api/voice/realtime/tool-result/route-31bb6a3d587a09ca.js +0 -1
  1190. package/.next/static/chunks/app/api/voice/realtime/tools/route-31bb6a3d587a09ca.js +0 -1
  1191. package/.next/static/chunks/app/api/voice/tts/route-31bb6a3d587a09ca.js +0 -1
  1192. package/.next/static/chunks/app/api/whatsapp/allowlist/route-31bb6a3d587a09ca.js +0 -1
  1193. package/.next/static/chunks/app/api/whatsapp/disconnect/route-31bb6a3d587a09ca.js +0 -1
  1194. package/.next/static/chunks/app/api/whatsapp/messages/route-31bb6a3d587a09ca.js +0 -1
  1195. package/.next/static/chunks/app/api/whatsapp/qr/route-31bb6a3d587a09ca.js +0 -1
  1196. package/.next/static/chunks/app/api/whatsapp/send/route-31bb6a3d587a09ca.js +0 -1
  1197. package/.next/static/chunks/app/api/whatsapp/status/route-31bb6a3d587a09ca.js +0 -1
  1198. package/.next/static/chunks/app/approvals/loading-31bb6a3d587a09ca.js +0 -1
  1199. package/.next/static/chunks/app/architecture/loading-31bb6a3d587a09ca.js +0 -1
  1200. package/.next/static/chunks/app/audit/loading-31bb6a3d587a09ca.js +0 -1
  1201. package/.next/static/chunks/app/brand/loading-31bb6a3d587a09ca.js +0 -1
  1202. package/.next/static/chunks/app/disk/loading-31bb6a3d587a09ca.js +0 -1
  1203. package/.next/static/chunks/app/federated-ai/loading-31bb6a3d587a09ca.js +0 -1
  1204. package/.next/static/chunks/app/help/loading-31bb6a3d587a09ca.js +0 -1
  1205. package/.next/static/chunks/app/layout-457acc50d33a5e0e.js +0 -1
  1206. package/.next/static/chunks/app/loading-31bb6a3d587a09ca.js +0 -1
  1207. package/.next/static/chunks/app/marketplace/loading-31bb6a3d587a09ca.js +0 -1
  1208. package/.next/static/chunks/app/missions/loading-31bb6a3d587a09ca.js +0 -1
  1209. package/.next/static/chunks/app/onboarding/loading-31bb6a3d587a09ca.js +0 -1
  1210. package/.next/static/chunks/app/org/loading-31bb6a3d587a09ca.js +0 -1
  1211. package/.next/static/chunks/app/page-8b485e954b4da5be.js +0 -1
  1212. package/.next/static/chunks/app/projects/[slug]/loading-31bb6a3d587a09ca.js +0 -1
  1213. package/.next/static/chunks/app/projects/[slug]/page-0bc910eac788bf29.js +0 -1
  1214. package/.next/static/chunks/app/projects/loading-31bb6a3d587a09ca.js +0 -1
  1215. package/.next/static/chunks/app/projects/page-8b61f1179feb9d4b.js +0 -1
  1216. package/.next/static/chunks/app/reports/[file]/route-31bb6a3d587a09ca.js +0 -1
  1217. package/.next/static/chunks/app/reports/loading-31bb6a3d587a09ca.js +0 -1
  1218. package/.next/static/chunks/app/runtime/loading-31bb6a3d587a09ca.js +0 -1
  1219. package/.next/static/chunks/app/schedules/loading-31bb6a3d587a09ca.js +0 -1
  1220. package/.next/static/chunks/app/settings/loading-31bb6a3d587a09ca.js +0 -1
  1221. package/.next/static/chunks/app/settings/page-31bb6a3d587a09ca.js +0 -1
  1222. package/.next/static/chunks/app/tasks/[id]/loading-31bb6a3d587a09ca.js +0 -1
  1223. package/.next/static/chunks/app/tasks/loading-31bb6a3d587a09ca.js +0 -1
  1224. package/.next/static/chunks/app/tools/loading-31bb6a3d587a09ca.js +0 -1
  1225. package/.next/static/chunks/app/tools/page-31bb6a3d587a09ca.js +0 -1
  1226. package/.next/static/chunks/app/whatsapp/loading-31bb6a3d587a09ca.js +0 -1
  1227. package/.next/static/chunks/app/workflows/share/[caseId]/page-31bb6a3d587a09ca.js +0 -1
  1228. package/.next/static/chunks/webpack-a7e11ef0747e2718.js +0 -1
  1229. package/.next/static/sO4ApzzsDEnqk70DEBOS6/_buildManifest.js +0 -1
  1230. /package/.next/standalone/.next/static/{sO4ApzzsDEnqk70DEBOS6 → IDXwXTmFu4HQak2wJH1Qy}/_ssgManifest.js +0 -0
  1231. /package/.next/static/{sO4ApzzsDEnqk70DEBOS6 → IDXwXTmFu4HQak2wJH1Qy}/_ssgManifest.js +0 -0
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8419],{45:(e,t,r)=>{"use strict";r.d(t,{default:()=>i});var a=r(12115),n={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"},o=r(64250);let l=(0,a.createContext)({}),i=(0,a.forwardRef)((e,t)=>{var r,i,s;let{color:c,size:d,strokeWidth:u,absoluteStrokeWidth:h,className:p="",children:m,iconNode:f,...b}=e,{size:v=24,strokeWidth:j=2,absoluteStrokeWidth:y=!1,color:g="currentColor",className:k=""}=null!=(r=(0,a.useContext)(l))?r:{},w=(null!=h?h:y)?24*Number(null!=u?u:j)/Number(null!=d?d:v):null!=u?u:j;return(0,a.createElement)("svg",{ref:t,...n,width:null!=(i=null!=d?d:v)?i:n.width,height:null!=(s=null!=d?d:v)?s:n.height,stroke:null!=c?c:g,strokeWidth:w,className:(0,o.z)("lucide",k,p),...!m&&!(e=>{for(let t in e)if(t.startsWith("aria-")||"role"===t||"title"===t)return!0;return!1})(b)&&{"aria-hidden":"true"},...b},[...f.map(e=>{let[t,r]=e;return(0,a.createElement)(t,r)}),...Array.isArray(m)?m:[m]])})},10677:(e,t,r)=>{"use strict";r.d(t,{default:()=>o});var a=r(95155),n=r(12115);function o(){let[e,t]=(0,n.useState)([]),[r,o]=(0,n.useState)("");return(0,n.useEffect)(()=>{o(localStorage.getItem("madarx.activeProjectId")||""),fetch("/api/projects").then(e=>e.json()).then(e=>t(e.projects||[])).catch(()=>{})},[]),(0,a.jsx)("div",{className:"project-switcher","data-project-switcher":!0,children:(0,a.jsxs)("select",{value:r,onChange:e=>{var t;o(t=e.target.value),t?localStorage.setItem("madarx.activeProjectId",t):localStorage.removeItem("madarx.activeProjectId"),window.dispatchEvent(new CustomEvent("madarx:project-change",{detail:{project_id:t||null}}))},"aria-label":"Active project",children:[(0,a.jsx)("option",{value:"",children:"All projects"}),e.map(e=>(0,a.jsx)("option",{value:e.id,children:e.name},e.id))]})})}},12074:(e,t,r)=>{"use strict";r.d(t,{default:()=>i});var a=r(95155),n=r(12115),o=r(32835);let l=new Set(["html","htm"]);function i(e){let{projectId:t,children:r}=e,{refreshLibrary:i}=(0,o.c)(),[m,f]=n.useState(!1),[,b]=n.useState(!1),v=n.useRef(!1),j=n.useRef(null),[y,g]=n.useState(null),k=n.useRef(0);n.useEffect(()=>{function e(e){e.dataTransfer&&Array.from(e.dataTransfer.types||[]).includes("Files")&&(k.current+=1,f(!0))}function t(){k.current=Math.max(0,k.current-1),0===k.current&&f(!1)}function r(e){e.dataTransfer&&Array.from(e.dataTransfer.types||[]).includes("Files")&&(e.preventDefault(),e.dataTransfer.dropEffect="copy")}function a(e){var t;e.dataTransfer&&e.dataTransfer.files&&e.dataTransfer.files.length&&(e.preventDefault(),k.current=0,f(!1),null==(t=j.current)||t.call(j,Array.from(e.dataTransfer.files)))}return window.addEventListener("dragenter",e),window.addEventListener("dragleave",t),window.addEventListener("dragover",r),window.addEventListener("drop",a),()=>{window.removeEventListener("dragenter",e),window.removeEventListener("dragleave",t),window.removeEventListener("dragover",r),window.removeEventListener("drop",a)}},[]);let w=n.useCallback(async e=>{if(e.size>0x1900000)return{ok:!1,name:e.name,error:"Too large (>".concat(0x1900000," bytes)")};let r=function(e){let t=(String((null==e?void 0:e.name)||"").toLowerCase().match(/\.([a-z0-9]+)$/)||[,""])[1],r=String((null==e?void 0:e.type)||"").toLowerCase();return l.has(t)||"text/html"===r?"html":"disk"}(e),a=new FormData;if(a.set("project_id",t),"html"===r){a.set("file",e);let t=await fetch("/api/artifacts/upload",{method:"POST",body:a}),r=await t.json().catch(()=>({}));return{ok:t.ok,name:e.name,error:null==r?void 0:r.error}}a.set("files",e);let n=await fetch("/api/disk/files",{method:"POST",body:a}),o=await n.json().catch(()=>({}));return{ok:n.ok,name:e.name,error:null==o?void 0:o.error}},[t]),x=n.useCallback(async e=>{if(e.length&&!v.current){v.current=!0,b(!0);try{g({kind:"info",text:"Uploading ".concat(e.length," file").concat(e.length>1?"s":"","…")});let t=await Promise.all(e.map(w)),r=t.filter(e=>e.ok).length,a=t.filter(e=>!e.ok);0===a.length?g({kind:"ok",text:"Uploaded ".concat(r," file").concat(r>1?"s":"",".")}):r>0?g({kind:"warn",text:"Uploaded ".concat(r,", ").concat(a.length," failed (").concat(a[0].error||"error",").")}):g({kind:"err",text:"Upload failed: ".concat(a[0].error||"unknown error")}),r>0&&await i(),setTimeout(()=>g(null),4500)}finally{v.current=!1,b(!1)}}},[i,w]);return n.useEffect(()=>{j.current=x},[x]),(0,a.jsxs)(a.Fragment,{children:[r,m?(0,a.jsx)("div",{role:"status","aria-live":"polite",style:s,children:(0,a.jsxs)("div",{style:c,children:[(0,a.jsx)("div",{style:d,children:"Drop to upload"}),(0,a.jsx)("div",{style:u,children:"HTML files become artifacts \xb7 others land in Disk"})]})}):null,y?(0,a.jsx)("div",{role:"status","aria-live":"polite",style:{...h,...p[y.kind]},children:y.text}):null]})}let s={position:"fixed",inset:0,zIndex:9e3,background:"rgba(10, 8, 6, 0.45)",backdropFilter:"blur(6px)",WebkitBackdropFilter:"blur(6px)",display:"flex",alignItems:"center",justifyContent:"center",pointerEvents:"none",transition:"opacity 120ms ease"},c={border:"2px dashed rgba(255,255,255,0.6)",borderRadius:16,padding:"32px 48px",background:"rgba(20,16,12,0.7)",color:"#f5efe7",textAlign:"center",fontFamily:"inherit"},d={fontSize:22,fontWeight:600,letterSpacing:"0.01em",marginBottom:6},u={fontSize:13,opacity:.75},h={position:"fixed",bottom:24,right:24,zIndex:9100,padding:"10px 14px",borderRadius:10,fontSize:13,fontFamily:"inherit",boxShadow:"0 8px 24px rgba(0,0,0,0.25)",maxWidth:380},p={info:{background:"#1f1b16",color:"#f5efe7",border:"1px solid rgba(245,239,231,0.18)"},ok:{background:"#1c2a1d",color:"#e6f3df",border:"1px solid rgba(120,180,90,0.35)"},warn:{background:"#2c2519",color:"#f4e6c5",border:"1px solid rgba(220,170,60,0.35)"},err:{background:"#2c1816",color:"#f4d8d2",border:"1px solid rgba(194,69,42,0.55)"}}},13185:(e,t,r)=>{"use strict";r.d(t,{A:()=>i});var a=r(12115),n=r(64250);let o=e=>{let t=e.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,t,r)=>r?r.toUpperCase():t.toLowerCase());return t.charAt(0).toUpperCase()+t.slice(1)};var l=r(45);let i=(e,t)=>{let r=(0,a.forwardRef)((r,i)=>{let{className:s,...c}=r;return(0,a.createElement)(l.default,{ref:i,iconNode:t,className:(0,n.z)("lucide-".concat(o(e).replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()),"lucide-".concat(e),s),...c})});return r.displayName=o(e),r}},16391:(e,t,r)=>{"use strict";r.d(t,{default:()=>k});var a=r(95155),n=r(67909),o=r(12115),l=r(20063);function i(e){if(!Number.isFinite(e)||e<=0)return"0 B";let t=["B","KB","MB","GB"],r=0,a=e;for(;a>=1024&&r<t.length-1;)a/=1024,r+=1;return"".concat(a.toFixed(a>=10||0===r?0:1)," ").concat(t[r])}function s(e){return"".concat(e.source_type,"-").concat(e.id)}function c(e){let{breadcrumb:t,dragOverFolderId:r,setDragOverFolderId:n,navigateToFolder:o,albumItems:l,moveItem:i,rootFolderId:c}=e;if(!t.length)return null;let d=e=>({onDragOver:t=>{t.preventDefault(),n(e||"__root__")},onDragLeave:()=>n(null),onDrop:t=>((e,t)=>{e.preventDefault(),n(null);let r=e.dataTransfer.getData("text/madarx-item-key"),a=l.find(e=>s(e)===r);a&&i(a,t)})(t,e||c)});return(0,a.jsxs)("nav",{className:"project-album-breadcrumb","aria-label":"Folder",children:[(0,a.jsxs)("button",{type:"button",className:"project-album-crumb".concat("__root__"===r?" drop-target":""),onClick:()=>o(null),...d(null),children:[(0,a.jsx)("svg",{width:"13",height:"13",viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:(0,a.jsx)("path",{d:"M2 8l6-5 6 5v5a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V8z"})}),(0,a.jsx)("span",{children:"Library"})]}),t.map((e,n)=>{let l=n===t.length-1;return(0,a.jsxs)("span",{className:"project-album-crumb-row",children:[(0,a.jsx)("svg",{className:"project-album-crumb-sep",width:"10",height:"10",viewBox:"0 0 10 10",fill:"none",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:(0,a.jsx)("path",{d:"M3 1l4 4-4 4"})}),l?(0,a.jsx)("span",{className:"project-album-crumb current","aria-current":"page",children:e.name}):(0,a.jsx)("button",{type:"button",className:"project-album-crumb".concat(r===e.id?" drop-target":""),onClick:()=>o(e.id),...d(e.id),children:e.name})]},e.id)})]})}var d=r(58219);function u(e){let{item:t,MarkdownThumbnail:r}=e;if("file"===t.source_type&&t.local_only)return(0,a.jsxs)("div",{className:"project-album-thumb-tile","data-kind":"local",children:[(0,a.jsx)("span",{children:"LOCAL"}),(0,a.jsx)("small",{children:i(t.size_bytes)})]});if("html"===t.render_kind&&t.body)return(0,a.jsxs)("div",{className:"project-album-thumb-iframe-wrap","aria-hidden":"true",children:[(0,a.jsx)("iframe",{className:"project-album-thumb-iframe",srcDoc:(0,d.sV)(t.body),sandbox:"",loading:"lazy",tabIndex:-1,title:""}),(0,a.jsx)("div",{className:"project-album-thumb-shield"})]});if("markdown"===t.render_kind&&t.body)return(0,a.jsx)("div",{className:"project-album-thumb-md","aria-hidden":"true",children:(0,a.jsx)("div",{className:"project-album-thumb-md-inner",children:(0,a.jsx)(r,{children:String(t.body).slice(0,800)})})});let n=String(t.kind||"FILE").toUpperCase().slice(0,6);return(0,a.jsxs)("div",{className:"project-album-thumb-tile","data-kind":String(t.kind||"file").toLowerCase(),children:[(0,a.jsx)("span",{children:n}),"file"===t.source_type?(0,a.jsx)("small",{children:i(t.size_bytes)}):null]})}function h(e){let{item:t,onOpen:r,onDoubleOpen:n,onOpenUnlock:o,blurred:l=!1,highlighted:i=!1,protectedFlag:s=!1,keyHintVisible:c=!1,onShowKeyHint:d,onHideKeyHint:h,draggable:p=!1,onDragStart:m,moving:f=!1,MarkdownThumbnail:b}=e,v="artifact"===t.source_type?t.title||t.path||t.id:t.name,j="artifact"===t.source_type?t.kind||"artifact":t.local_only?"local":t.kind||"file",y=function(e){if("artifact"===e.source_type){let t=e.agent_id||"";return t?"main-orchestrator"===t?"Main agent":"ops-agent"===t?"Caretaker":t:"Agent"}return"You"}(t),g=t.updated_at||t.created_at,k=["project-album-card"];return l&&k.push("blurred"),i&&k.push("highlighted"),s&&k.push("is-protected"),f&&k.push("moving"),(0,a.jsxs)("button",{type:"button",className:k.join(" "),onClick:r,onDoubleClick:n,onKeyDown:e=>{if(l){if("d"===e.key||"D"===e.key){e.preventDefault(),o();return}("Enter"===e.key||" "===e.key)&&(e.preventDefault(),d(),setTimeout(h,2500))}},tabIndex:0,"aria-label":l?"".concat(v," — protected. Double-click or press D to unlock."):"Open ".concat(v),"aria-disabled":l||void 0,style:l?{userSelect:"none"}:void 0,draggable:p&&!l,onDragStart:p&&!l?m:void 0,children:[(0,a.jsxs)("div",{className:"project-album-thumb","data-render":t.render_kind||"text","data-source":t.source_type,"aria-hidden":l?"true":void 0,children:[(0,a.jsx)(u,{item:t,MarkdownThumbnail:b}),l?(0,a.jsx)("div",{className:"project-album-thumb-lock","aria-hidden":"true",children:(0,a.jsxs)("svg",{width:"18",height:"18",viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,a.jsx)("rect",{x:"3",y:"7",width:"10",height:"7",rx:"1.5"}),(0,a.jsx)("path",{d:"M5 7V5a3 3 0 0 1 6 0v2"})]})}):null,s&&!l?(0,a.jsx)("div",{className:"project-album-thumb-badge","aria-hidden":"true",title:"Protected",children:(0,a.jsxs)("svg",{width:"11",height:"11",viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,a.jsx)("rect",{x:"3",y:"7",width:"10",height:"7",rx:"1.5"}),(0,a.jsx)("path",{d:"M5 7V5a3 3 0 0 1 6 0v2"})]})}):null]}),(0,a.jsxs)("div",{className:"project-album-card-body",children:[(0,a.jsx)("b",{title:v,children:v}),(0,a.jsxs)("small",{className:"project-album-card-meta",children:[(0,a.jsx)("span",{className:"project-album-kind",children:j}),(0,a.jsx)("span",{"aria-hidden":"true",children:" \xb7 "}),(0,a.jsx)("span",{children:y}),g?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("span",{"aria-hidden":"true",children:" \xb7 "}),(0,a.jsx)("time",{dateTime:g,children:function(e){if(!e)return"";try{return new Intl.DateTimeFormat("en",{month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"}).format(new Date(e))}catch(t){return e}}(g)})]}):null]})]}),c?(0,a.jsx)("div",{className:"project-album-key-hint","aria-live":"polite",role:"status",children:"Double-click or press D to unlock."}):null]})}function p(e){let{folder:t,dragOver:r,onOpen:n,onDragOver:o,onDragLeave:l,onDrop:i}=e,s=["project-album-folder-card"];return r&&s.push("drop-target"),(0,a.jsxs)("button",{type:"button",className:s.join(" "),onClick:n,onDragOver:o,onDragLeave:l,onDrop:i,"aria-label":"Open folder ".concat(t.name),children:[(0,a.jsx)("span",{className:"project-album-folder-card-icon","aria-hidden":"true",children:(0,a.jsx)("svg",{width:"22",height:"22",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round",strokeLinejoin:"round",children:(0,a.jsx)("path",{d:"M3 7a2 2 0 0 1 2-2h4l2 2h8a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V7z"})})}),(0,a.jsxs)("span",{className:"project-album-folder-card-body",children:[(0,a.jsx)("b",{children:t.name}),(0,a.jsx)("small",{children:"Folder"})]})]})}function m(e){let{subFolders:t,dragOverFolderId:r,setDragOverFolderId:n,navigateToFolder:o,albumItems:l,moveItem:i}=e;return t.length?(0,a.jsx)("div",{className:"project-album-folders",children:t.map(e=>(0,a.jsx)(p,{folder:e,dragOver:r===e.id,onOpen:()=>o(e.id),onDragOver:t=>{t.preventDefault(),n(e.id)},onDragLeave:()=>n(null),onDrop:t=>{t.preventDefault(),n(null);let r=t.dataTransfer.getData("text/madarx-item-key"),a=l.find(e=>s(e)===r);a&&i(a,e.id)}},e.id))}):null}function f(e){let{query:t,setQuery:r,filters:n,filterId:o,setFilterId:l,itemsInFolder:i}=e;return(0,a.jsxs)("div",{className:"project-album-toolbar",children:[(0,a.jsxs)("label",{className:"project-album-search",children:[(0,a.jsxs)("svg",{className:"project-album-search-icon",width:"15",height:"15",viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round","aria-hidden":"true",children:[(0,a.jsx)("circle",{cx:"7",cy:"7",r:"5"}),(0,a.jsx)("line",{x1:"10.6",y1:"10.6",x2:"14",y2:"14"})]}),(0,a.jsx)("input",{type:"search",value:t,onChange:e=>r(e.target.value),placeholder:"Search artifacts, documents, and content…","aria-label":"Search project library"}),t?(0,a.jsx)("button",{type:"button",className:"project-album-search-clear",onClick:()=>r(""),"aria-label":"Clear search",children:"\xd7"}):null]}),(0,a.jsx)("div",{className:"project-album-filters",role:"tablist","aria-label":"Filter",children:n.map(e=>{let t=i.filter(e.match).length,r=o===e.id;return(0,a.jsxs)("button",{type:"button",role:"tab","aria-selected":r,className:"project-album-filter".concat(r?" on":""),onClick:()=>l(e.id),children:[(0,a.jsx)("span",{children:e.label}),(0,a.jsx)("code",{children:t})]},e.id)})})]})}function b(e){let{onSetup:t,onDismiss:r}=e;return(0,a.jsxs)("div",{className:"project-album-migration-banner",role:"status",children:[(0,a.jsxs)("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[(0,a.jsx)("rect",{x:"3",y:"7",width:"10",height:"7",rx:"1.5"}),(0,a.jsx)("path",{d:"M5 7V5a3 3 0 0 1 6 0v2"})]}),(0,a.jsx)("p",{children:"You had privacy blur enabled. Set a passphrase to protect individual artifacts, or dismiss to skip."}),(0,a.jsxs)("div",{className:"project-album-migration-actions",children:[(0,a.jsx)("button",{type:"button",className:"project-album-migration-cta",onClick:t,children:"Set up passphrase"}),(0,a.jsx)("button",{type:"button",className:"project-album-migration-dismiss",onClick:r,children:"Dismiss"})]})]})}var v=r(32835);let j=[{id:"all",label:"All",match:()=>!0},{id:"artifact",label:"Artifacts",match:e=>"artifact"===e.source_type},{id:"document",label:"Documents",match:e=>"file"===e.source_type},{id:"local",label:"Local-only",match:e=>"file"===e.source_type&&e.local_only}],y=(0,n.default)(()=>Promise.all([r.e(930),r.e(2713)]).then(r.bind(r,55094)),{loadableGenerated:{webpack:()=>[55094]}}),g=(0,n.default)(()=>Promise.all([r.e(930),r.e(9863)]).then(r.bind(r,99863)),{loadableGenerated:{webpack:()=>[99863]},loading:()=>(0,a.jsx)("div",{className:"project-album-thumb-tile","data-kind":"markdown",children:(0,a.jsx)("span",{children:"MD"})})});function k(e){let{items:t,folders:r=[],projectId:n,projectSlug:i,rootFolderId:d=null,currentFolderId:u=null}=e,p=(0,l.useRouter)(),[k,w]=(0,o.useState)(null),[x,C]=(0,o.useState)(null),[S,_]=(0,o.useState)(null),[N,L]=(0,o.useState)(null),[E,D]=(0,o.useState)(!1),[I,A]=(0,o.useState)(null),[P,M]=(0,o.useState)([]),[T,F]=(0,o.useState)(null),{privacy:O,openSetupModal:R,openUnlockModal:U,applyItemPatch:W,removeItem:B,items:z,folders:H}=(0,v.c)(),V=z||t,K=H||r,{configured:J,unlocked:G}=O,q=function(e){let{items:t,folders:r,currentFolderId:a,rootFolderId:n,unlocked:l}=e,[i,s]=(0,o.useState)("all"),[c,d]=(0,o.useState)(""),[u,h]=(0,o.useState)(null),p=(0,o.useDeferredValue)(c),m=!a||a===n,f=(0,o.useMemo)(()=>r.find(e=>e.id===a)||null,[r,a]),b=(0,o.useMemo)(()=>{if(m)return[];let e=[],t=new Map(r.map(e=>[e.id,e])),n=t.get(a);for(;n;)e.unshift(n),n=n.parent_id?t.get(n.parent_id):null;return e},[r,a,m]),v=(0,o.useMemo)(()=>{let e=m?n:a;return r.filter(t=>t.parent_id===e)},[r,a,m,n]),y=(0,o.useMemo)(()=>t.filter(e=>{let t=e.folder_id||null;return m?!t||t===n:t===a}),[t,a,m,n]),g=(0,o.useMemo)(()=>{let e=(j.find(e=>e.id===i)||j[0]).match;return y.filter(e)},[y,i]),k=(0,o.useMemo)(()=>{let e=String(p||"").trim().toLowerCase();return e?g.filter(t=>(function(e){let{sessionUnlocked:t}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=e.is_protected&&!t?"":String(e.body||e.preview||"").slice(0,4e3);return[e.title||"",e.name||"",e.path||"",r,e.agent_id||"",function(e){if("artifact"===e.source_type){let t=e.agent_id||"";return t?"main-orchestrator"===t?"Main agent":"ops-agent"===t?"Caretaker":t:"Agent"}return"You"}(e)].join(" ").toLowerCase()})(t,{sessionUnlocked:l}).includes(e)):g},[g,p,l]),w=String(p||"").trim().toLowerCase(),x=(0,o.useCallback)(e=>!!w&&[e.title||"",e.name||"",e.path||""].join(" ").toLowerCase().includes(w),[w]),C=(0,o.useMemo)(()=>t.find(e=>"".concat(e.source_type,"-").concat(e.id)===u)||null,[t,u]);return{FILTERS:j,filterId:i,setFilterId:s,query:c,setQuery:d,selectedKey:u,setSelectedKey:h,isRoot:m,currentFolder:f,breadcrumb:b,subFolders:v,itemsInFolder:y,visible:k,queryLower:w,titleMatchesQuery:x,selected:C}}({items:V,folders:K,currentFolderId:u,rootFolderId:d,unlocked:G});(0,o.useEffect)(()=>{try{if("1"!==window.localStorage.getItem("madarx-album-privacy-blur"))return;J?window.localStorage.removeItem("madarx-album-privacy-blur"):D(!0)}catch(e){}},[J]),(0,o.useEffect)(()=>{let e=!1;return fetch("/api/dashboard/spaces").then(e=>e.ok?e.json():null).then(t=>{!e&&t&&Array.isArray(t.spaces)&&M(t.spaces)}).catch(()=>{}),()=>{e=!0}},[]);let Q=(0,o.useCallback)(async(e,t)=>{if(e&&"artifact"===e.source_type&&t){F(s(e));try{let r=await fetch("/api/dashboard/spaces/".concat(encodeURIComponent(t),"/move"),{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({artifact_id:e.id})});if(!r.ok)throw Error(await r.text().catch(()=>"")||"bookmark failed (".concat(r.status,")"));W({...e,space_id:t})}catch(e){console.error("[project-album] bookmark to space failed",e),window.alert("Could not pin this artifact to the space.\n".concat((null==e?void 0:e.message)||e))}finally{F(null)}}},[W]),Y=(0,o.useCallback)(()=>{try{window.localStorage.removeItem("madarx-album-privacy-blur")}catch(e){}D(!1)},[]),Z=(0,o.useCallback)(async e=>{if(e&&!k){w(s(e));try{let t="artifact"===e.source_type?"/api/artifacts/".concat(encodeURIComponent(e.id)):"/api/disk/files/".concat(encodeURIComponent(e.id)),r=await fetch(t,{method:"DELETE"});if(!r.ok)throw Error(await r.text().catch(()=>"")||"delete failed (".concat(r.status,")"));q.setSelectedKey(null),B(e)}catch(e){console.error("[project-album] delete failed",e),window.alert("Could not delete this item. See console for details.")}finally{w(null)}}},[q,k,B]),$=(0,o.useCallback)(async(e,t)=>{L(null);try{let r=await fetch("/api/artifacts/".concat(e.id,"/protect"),{method:"PATCH",headers:{"content-type":"application/json"},body:JSON.stringify({is_protected:!t})}),a=await r.json();if(a.need_passphrase_setup){q.setSelectedKey(null),R();return}if(!r.ok)return void L(a.error||"protect failed (".concat(r.status,")"));W({...e,is_protected:a.is_protected})}catch(e){L((null==e?void 0:e.message)||"Protect toggle failed.")}},[q,W,R]),X=(0,o.useCallback)(e=>{let t=e&&e!==d?"/projects/".concat(i,"?folder=").concat(encodeURIComponent(e)):"/projects/".concat(i);p.push(t)},[i,d,p]),ee=(0,o.useCallback)(async(e,t)=>{if(!e)return;let r="artifact"===e.source_type?"/api/artifacts/".concat(encodeURIComponent(e.id)):"/api/disk/files/".concat(encodeURIComponent(e.id));C(s(e));try{let a=await fetch(r,{method:"PATCH",headers:{"content-type":"application/json"},body:JSON.stringify({folder_id:t||null})});if(!a.ok)throw Error(await a.text().catch(()=>"")||"move failed (".concat(a.status,")"));let n=await a.json().catch(()=>({}));W(n.artifact||n.file||{...e,folder_id:t||null})}catch(e){console.error("[project-album] move failed",e),window.alert("Could not move this item.\n".concat((null==e?void 0:e.message)||e))}finally{C(null)}},[W]);return(0,a.jsxs)("div",{className:"project-album",children:[(0,a.jsx)(f,{query:q.query,setQuery:q.setQuery,filters:q.FILTERS,filterId:q.filterId,setFilterId:q.setFilterId,itemsInFolder:q.itemsInFolder}),E?(0,a.jsx)(b,{onSetup:()=>{D(!1),R()},onDismiss:Y}):null,(0,a.jsx)(c,{breadcrumb:q.breadcrumb,dragOverFolderId:S,setDragOverFolderId:_,navigateToFolder:X,albumItems:V,moveItem:ee,rootFolderId:d}),(0,a.jsx)(m,{subFolders:q.subFolders,dragOverFolderId:S,setDragOverFolderId:_,navigateToFolder:X,albumItems:V,moveItem:ee}),q.visible.length?(0,a.jsx)("div",{className:"project-album-grid",children:q.visible.map(e=>{let t=e.is_protected&&!G&&!q.titleMatchesQuery(e),r=e.is_protected&&!t&&!!q.queryLower,n=s(e);return(0,a.jsx)(h,{item:e,onOpen:()=>{e.is_protected&&!G&&!q.titleMatchesQuery(e)||q.setSelectedKey(s(e))},onDoubleOpen:()=>{!e.is_protected||G||q.titleMatchesQuery(e)?q.setSelectedKey(s(e)):U()},onOpenUnlock:U,blurred:t,highlighted:r,protectedFlag:!!e.is_protected,keyHintVisible:I===n,onShowKeyHint:()=>A(n),onHideKeyHint:()=>A(null),draggable:!0,onDragStart:e=>{e.dataTransfer.effectAllowed="move",e.dataTransfer.setData("text/madarx-item-key",n)},moving:x===n,MarkdownThumbnail:g},n)})}):(0,a.jsx)("div",{className:"project-album-empty",children:q.query?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)("b",{children:["No matches for “",q.query,"”."]}),(0,a.jsx)("small",{children:"Try a different keyword, or clear the search."})]}):q.isRoot?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("b",{children:"Nothing here yet."}),(0,a.jsx)("small",{children:"Upload a document, create an artifact, or add a folder."})]}):(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("b",{children:"This folder is empty."}),(0,a.jsx)("small",{children:"Drag an item here, or upload directly to this folder."})]})}),(0,a.jsx)(y,{item:q.selected,onClose:()=>{q.setSelectedKey(null),L(null)},isProtected:!!q.selected&&!!q.selected.is_protected,onToggleProtect:()=>q.selected&&$(q.selected,!!q.selected.is_protected),protectError:N,onDelete:()=>q.selected&&Z(q.selected),deleting:!!q.selected&&k===s(q.selected),folders:K,rootFolderId:d,onMove:e=>q.selected&&ee(q.selected,e),moving:!!q.selected&&x===s(q.selected),spaces:P,onBookmarkToSpace:e=>q.selected&&Q(q.selected,e),bookmarking:!!q.selected&&T===s(q.selected)})]})}(0,n.default)(()=>r.e(9867).then(r.bind(r,59867)),{loadableGenerated:{webpack:()=>[59867]}})},20063:(e,t,r)=>{"use strict";var a=r(47260);r.o(a,"usePathname")&&r.d(t,{usePathname:function(){return a.usePathname}}),r.o(a,"useRouter")&&r.d(t,{useRouter:function(){return a.useRouter}}),r.o(a,"useSearchParams")&&r.d(t,{useSearchParams:function(){return a.useSearchParams}})},32835:(e,t,r)=>{"use strict";r.d(t,{ProjectAlbumProvider:()=>v,c:()=>j});var a=r(95155),n=r(12115);let o="madarx-privacy-unlocked",l="madarx-privacy-unlock-at",i="madarx-privacy-fail-count",s="madarx-privacy-fail-window-start",c="madarx-privacy-lockout-until";function d(e){try{return window.sessionStorage.getItem(e)}catch(e){return null}}function u(e,t){try{window.sessionStorage.setItem(e,String(t))}catch(e){}}function h(e){try{window.sessionStorage.removeItem(e)}catch(e){}}let p=0;function m(e,t){return new Promise((r,a)=>{let n=p+=1,o=t=>{var l;(null==(l=t.data)?void 0:l.id)===n&&(e.removeEventListener("message",o),!1===t.data.ok&&t.data.error?a(Error(t.data.error)):r(t.data))};e.addEventListener("message",o),e.postMessage({id:n,...t})})}let f=(0,n.createContext)(null);function b(e){return"".concat(e.source_type,"-").concat(e.id)}function v(e){let{children:t,initialItems:r=[],initialFolders:p=[],projectId:v,projectSlug:j,rootFolderId:y=null,currentFolderId:g=null,liveDeltasEnabled:k=!1}=e,w=function(){let{projectId:e}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},[t,r]=(0,n.useState)(null),[a,p]=(0,n.useState)(!1),[f,b]=(0,n.useState)(!1),[v,j]=(0,n.useState)(null),[y,g]=(0,n.useState)(0),[k,w]=(0,n.useState)(0),x=(0,n.useRef)(null),C=(0,n.useRef)(Date.now()),S=(0,n.useCallback)(()=>{let e="1"===d(o),t=Number(d(l)||0);p(e&&t>0);let r=Number(d(i)||0),a=Number(d(c)||0);g(r),w(a>Date.now()?a:0)},[]),_=(0,n.useCallback)(async()=>{try{let e=await fetch("/api/privacy/config"),t=await e.json();return r(t),t}catch(e){return r({configured:!1}),console.error("[usePrivacy] fetchConfig error:",e),{configured:!1}}},[]);(0,n.useEffect)(()=>(x.current=new Worker("/privacy.worker.js"),S(),_(),()=>{var e;null==(e=x.current)||e.terminate(),x.current=null}),[_,S]),(0,n.useEffect)(()=>{let e=()=>_(),t=()=>{p(!0),_()},r=()=>{p(!1)};return window.addEventListener("privacy:configured",e),window.addEventListener("privacy:unlocked",t),window.addEventListener("privacy:locked",r),()=>{window.removeEventListener("privacy:configured",e),window.removeEventListener("privacy:unlocked",t),window.removeEventListener("privacy:locked",r)}},[_]),(0,n.useEffect)(()=>{let e=()=>{C.current=Date.now()};window.addEventListener("mousemove",e,{passive:!0}),window.addEventListener("keydown",e,{passive:!0}),window.addEventListener("pointerdown",e,{passive:!0});let t=setInterval(()=>{a&&Date.now()-C.current>9e5&&(h(o),h(l),p(!1))},6e4);return()=>{window.removeEventListener("mousemove",e),window.removeEventListener("keydown",e),window.removeEventListener("pointerdown",e),clearInterval(t)}},[a]);let N=(0,n.useCallback)(()=>{h(o),h(l),p(!1);try{window.dispatchEvent(new CustomEvent("privacy:locked"))}catch(e){}},[]),L=(0,n.useCallback)(async r=>{if(!(null==t?void 0:t.configured))return{ok:!1,error:"No passphrase configured."};let a=x.current;if(!a)return{ok:!1,error:"Worker not ready."};let n=Number(d(c)||0);if(n>Date.now())return{ok:!1,error:"lockout",lockoutUntil:n};b(!0),j(null);try{if((await m(a,{op:"verify",passphrase:r,salt:t.salt_b64,iter:t.iterations,mac:t.hmac_b64})).match)return u(o,"1"),u(l,String(Date.now())),h(i),h(s),h(c),p(!0),g(0),w(0),fetch("/api/privacy/verify",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({success:!0,project_id:e||null})}).catch(()=>{}),{ok:!0};let n=Number(d(i)||0)+1,f=Number(d(s)||Date.now());u(i,String(n)),u(s,String(f)),g(n);let b=0;if(n>=5&&Date.now()-f<3e5)return b=Date.now()+9e5,u(c,String(b)),w(b),fetch("/api/privacy/verify",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({success:!1,attempt_count:n,lockout_until:new Date(b).toISOString(),project_id:e||null})}).catch(()=>{}),{ok:!1,error:"lockout",lockoutUntil:b};return Date.now()-f>=3e5&&(u(i,"1"),u(s,String(Date.now())),g(1)),fetch("/api/privacy/verify",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({success:!1,attempt_count:n,project_id:e||null})}).catch(()=>{}),{ok:!1,error:"wrong_passphrase",failCount:n}}catch(t){let e=(null==t?void 0:t.message)||"Crypto error.";return j(e),{ok:!1,error:e}}finally{b(!1)}},[t,e]),E=(0,n.useCallback)(async e=>{let r=x.current;if(!r)return{ok:!1,error:"Worker not ready."};b(!0),j(null);try{let a=await m(r,{op:"setup",passphrase:e,iter:6e5});if(!a.ok)throw Error(a.error||"Worker failed.");let n=!!(null==t?void 0:t.configured),i=await fetch("/api/privacy/config",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({kdf:"PBKDF2-SHA256",iterations:6e5,salt_b64:a.salt_b64,hmac_b64:a.hmac_b64,idle_timeout_ms:9e5,is_change:n})}),s=await i.json();if(!s.ok)throw Error(s.error||"Server rejected config.");return u(o,"1"),u(l,String(Date.now())),p(!0),await _(),window.dispatchEvent(new CustomEvent("privacy:configured")),{ok:!0}}catch(t){let e=(null==t?void 0:t.message)||"Setup failed.";return j(e),{ok:!1,error:e}}finally{b(!1)}},[t,_]),D=(0,n.useCallback)(async()=>{b(!0),j(null);try{let e=await fetch("/api/privacy/config",{method:"DELETE"}),t=await e.json();if(!t.ok)throw Error(t.error||"Reset failed.");return N(),h(i),h(s),h(c),g(0),w(0),await _(),{ok:!0,artifacts_cleared:t.artifacts_cleared}}catch(t){let e=(null==t?void 0:t.message)||"Reset failed.";return j(e),{ok:!1,error:e}}finally{b(!1)}},[N,_]),I=!!(null==t?void 0:t.configured);return{config:t,configured:I,unlocked:a,busy:f,error:v,failCount:y,lockoutUntil:k,lock:N,unlock:L,setupPassphrase:E,resetPassphrase:D,refetchConfig:_}}({projectId:v}),x=function(){let e=(0,n.useRef)(new Map),[t,r]=(0,n.useState)(0),a=(0,n.useCallback)(async function(t){var a;let{force:n=!1}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!t)return null;if(!n&&e.current.has(t))return e.current.get(t);let[o,l,i]=await Promise.all([fetch("/api/artifacts/".concat(t,"/acl")),fetch("/api/artifacts/".concat(t,"/share-link")),fetch("/api/audit/search?action_target_type=artifact&action_target_id=".concat(t,"&limit=5"))]),s={acl:null,links:[],auditRows:[]};if(o.ok){let{data:e}=await o.json();s.acl=e}if(l.ok){let{data:e}=await l.json();s.links=Array.isArray(e)?e:[]}return i.ok&&(s.auditRows=(Array.isArray(a=await i.json())?a:Array.isArray(null==a?void 0:a.rows)?a.rows:Array.isArray(null==a?void 0:a.data)?a.data:[]).slice(0,5)),e.current.set(t,s),r(e=>e+1),s},[]),o=(0,n.useCallback)(t=>{t?e.current.delete(t):e.current.clear(),r(e=>e+1)},[]);return{readArtifactShareData:a,invalidateArtifactShareData:o,readProjectShareData:(0,n.useCallback)(async function(t){var a;let{force:n=!1}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!t)return null;let o="project:".concat(t);if(!n&&e.current.has(o))return e.current.get(o);let l={status:null,cloudReady:!1,grants:[],members:[],orgId:null,error:null},[i,s]=await Promise.all([fetch("/api/shared/spaces/status?local_space_id=".concat(encodeURIComponent(t),"&space_type=project")),fetch("/api/orgs")]);if(i.ok){let e=await i.json();l.status=e.status||null,l.cloudReady=!!e.cloud_ready}if(s.ok){let{orgs:e}=await s.json();l.orgId=Array.isArray(e)&&e.length&&(e[0].org_id||e[0].id)||null}if(null==(a=l.status)?void 0:a.shared){let e=await fetch("/api/shared/spaces/".concat(encodeURIComponent(t),"/acl?space_type=project"));if(e.ok){let{data:t}=await e.json();l.grants=Array.isArray(t)?t:[]}}if(l.orgId){let e=await fetch("/api/orgs/".concat(encodeURIComponent(l.orgId),"/members"));if(e.ok){let{members:t}=await e.json();l.members=Array.isArray(t)?t:[]}}return e.current.set(o,l),r(e=>e+1),l},[]),invalidateProjectShareData:(0,n.useCallback)(t=>{t?e.current.delete("project:".concat(t)):e.current.clear(),r(e=>e+1)},[]),shareDataVersion:t}}(),[C,S]=(0,n.useState)(r),[_,N]=(0,n.useState)(p),[L,E]=(0,n.useState)(!1),[D,I]=(0,n.useState)(!1);(0,n.useEffect)(()=>{S(r)},[r]),(0,n.useEffect)(()=>{N(p)},[p]);let A=(0,n.useCallback)(async()=>{if(!j)return;let e=await fetch("/api/projects/".concat(encodeURIComponent(j),"/library"),{cache:"no-store"});if(!e.ok)throw Error("library refresh failed (".concat(e.status,")"));let t=await e.json();S(Array.isArray(t.libraryItems)?t.libraryItems:[]),N(Array.isArray(t.folders)?t.folders:[])},[j]);(0,n.useEffect)(()=>{if(!k)return;let e=new EventSource("/api/events/stream"),t=null,r=null,a=()=>{t&&window.clearTimeout(t),t=window.setTimeout(()=>{t=null,A().catch(e=>{console.warn("[project-album] live library refresh failed",e)})},250)},n=["state.disk.changed","state.artifacts.changed","state.acl.changed","state.share_links.changed"];for(let t of n)e.addEventListener(t,a);let o=()=>{"visible"===document.visibilityState&&a()};return document.addEventListener("visibilitychange",o),r=window.setInterval(a,6e4),()=>{for(let t of n)e.removeEventListener(t,a);document.removeEventListener("visibilitychange",o),t&&window.clearTimeout(t),r&&window.clearInterval(r),e.close()}},[k,A]);let P=(0,n.useCallback)(e=>{S(t=>(function(e,t){if(!(null==t?void 0:t.id)||!(null==t?void 0:t.source_type))return e;let r=b(t),a=!1,n=e.map(e=>b(e)!==r?e:(a=!0,{...e,...t}));return a?n:[t,...n]})(t,e))},[]),M=(0,n.useCallback)(e=>{let t="string"==typeof e?e:b(e);S(e=>e.filter(e=>b(e)!==t))},[]),T=(0,n.useMemo)(()=>({items:C,folders:_,setItems:S,setFolders:N,applyItemPatch:P,removeItem:M,refreshLibrary:A,liveDeltasEnabled:k,projectId:v,projectSlug:j,rootFolderId:y,currentFolderId:g,privacy:w,shareData:x,setupModalOpen:L,unlockModalOpen:D,openSetupModal:()=>E(!0),closeSetupModal:()=>E(!1),openUnlockModal:()=>I(!0),closeUnlockModal:()=>I(!1)}),[C,_,P,M,A,k,v,j,y,g,w,x,L,D]);return(0,a.jsx)(f.Provider,{value:T,children:t})}function j(){let e=(0,n.useContext)(f);if(!e)throw Error("useProjectAlbum must be used inside ProjectAlbumProvider");return e}},34788:(e,t,r)=>{"use strict";r.d(t,{A:()=>a});let a=(0,r(13185).A)("x",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]])},45096:(e,t,r)=>{Promise.resolve().then(r.bind(r,10677)),Promise.resolve().then(r.bind(r,16391)),Promise.resolve().then(r.bind(r,94073)),Promise.resolve().then(r.bind(r,32835)),Promise.resolve().then(r.bind(r,12074)),Promise.resolve().then(r.bind(r,95424)),Promise.resolve().then(r.t.bind(r,52619,23))},64250:(e,t,r)=>{"use strict";r.d(t,{z:()=>a});let a=function(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];return t.filter((e,t,r)=>!!e&&""!==e.trim()&&r.indexOf(e)===t).join(" ").trim()}},85649:(e,t,r)=>{"use strict";r.d(t,{A:()=>l});var a=r(95155),n=r(12115),o=r(34788);function l(e){let{open:t,onClose:r,eyebrow:l,title:i,tone:s="default",size:c="default",children:d}=e,u=n.useRef(null);return n.useEffect(()=>{let e=u.current;e&&(t&&!e.open&&("function"==typeof e.showModal?e.showModal():e.setAttribute("open","")),!t&&e.open&&e.close())},[t]),n.useEffect(()=>{let e=u.current;if(!e)return;let t=e=>{e.preventDefault(),r()};return e.addEventListener("cancel",t),()=>e.removeEventListener("cancel",t)},[r]),(0,a.jsx)("dialog",{ref:u,className:"agents-modal".concat("wide"===c?" agents-modal--wide":""),onClick:e=>{e.target===u.current&&r()},children:t?(0,a.jsxs)("div",{className:"agents-modal-card".concat("danger"===s?" agents-modal-card--danger":""),onClick:e=>e.stopPropagation(),children:[(0,a.jsxs)("header",{className:"agents-modal-head",children:[(0,a.jsxs)("div",{children:[l?(0,a.jsx)("span",{className:"admin-kicker",children:l}):null,(0,a.jsx)("h2",{children:i})]}),(0,a.jsx)("button",{type:"button",className:"agents-modal-close",onClick:r,"aria-label":"Close",children:(0,a.jsx)(o.A,{size:14})})]}),d]}):null})}},94073:(e,t,r)=>{"use strict";r.d(t,{default:()=>p});var a=r(95155),n=r(52619),o=r.n(n),l=r(67909),i=r(12115),s=r(85649),c=r(32835);let d=(0,l.default)(()=>r.e(1517).then(r.bind(r,51517)).then(e=>e.PrivacyPassphraseModal),{loadableGenerated:{webpack:()=>[51517]}}),u=(0,l.default)(()=>r.e(4797).then(r.bind(r,44797)).then(e=>e.PrivacyUnlockModal),{loadableGenerated:{webpack:()=>[44797]}}),h=(0,l.default)(()=>r.e(9867).then(r.bind(r,59867)),{loadableGenerated:{webpack:()=>[59867]}});function p(e){let{projectId:t,projectName:r="",slug:n,lockedCount:l=0,currentFolderId:p=null,rootFolderId:b=null}=e,{privacy:v,setupModalOpen:j,unlockModalOpen:y,openSetupModal:g,closeSetupModal:k,openUnlockModal:w,closeUnlockModal:x,refreshLibrary:C}=(0,c.c)(),{configured:S,unlocked:_,lock:N}=v,[L,E]=(0,i.useState)(!1),[D,I]=(0,i.useState)(!1),[A,P]=(0,i.useState)(""),[M,T]=(0,i.useState)(null),[F,O]=(0,i.useState)(!1),R=(0,i.useCallback)(()=>{P(""),T(null),I(!0)},[]),U=(0,i.useCallback)(()=>{F||I(!1)},[F]),W=(0,i.useCallback)(async e=>{if(e&&e.preventDefault(),F)return;let r=String(A||"").trim();if(!r)return void T("Name is required.");if(/[\\/]/.test(r))return void T("Name cannot contain slashes.");O(!0),T(null);try{let e=p&&p!==b?p:null,a=await fetch("/api/disk/folders",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({project_id:t,name:r,parent_id:e})}),n=await a.json().catch(()=>({}));if(!a.ok)throw Error((null==n?void 0:n.error)||"create failed (".concat(a.status,")"));I(!1),P(""),await C()}catch(e){console.error("[project-header] create folder failed",e),T((null==e?void 0:e.message)||String(e))}finally{O(!1)}},[F,A,t,p,b,C]),B=S?_?(0,a.jsx)("button",{type:"button",className:"project-album-lock-chip unlocked",onClick:N,"aria-label":"Lock protected artifacts",title:"Click to lock",children:(0,a.jsx)(f,{})}):(0,a.jsxs)("button",{type:"button",className:"project-album-lock-chip locked",onClick:w,"aria-label":"Unlock ".concat(l," protected artifacts"),title:"Click to unlock",children:[(0,a.jsx)(m,{}),l>0?(0,a.jsx)("span",{className:"project-album-lock-chip-count",children:l}):null]}):(0,a.jsx)("button",{type:"button",className:"project-album-lock-chip no-passphrase",onClick:g,"aria-label":"Set up passphrase protection",title:"Protect individual artifacts with a passphrase",children:(0,a.jsx)(m,{})});return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(o(),{className:"project-activity-link icon-only",href:"/projects/".concat(n,"/log"),"aria-label":"Open project activity",title:"Activity",children:(0,a.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[(0,a.jsx)("circle",{cx:"8",cy:"8",r:"6"}),(0,a.jsx)("path",{d:"M8 5v3.5l2.2 1.3"})]})}),B,(0,a.jsxs)("button",{type:"button",className:"project-album-folder-new",onClick:()=>E(!0),"aria-label":"Share this project",title:"Share this project with your organization",children:[(0,a.jsxs)("svg",{width:"13",height:"13",viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[(0,a.jsx)("circle",{cx:"12",cy:"3.5",r:"2"}),(0,a.jsx)("circle",{cx:"4",cy:"8",r:"2"}),(0,a.jsx)("circle",{cx:"12",cy:"12.5",r:"2"}),(0,a.jsx)("path",{d:"M5.7 7 10.3 4.5M5.7 9l4.6 2.5"})]}),"Share"]}),(0,a.jsxs)("button",{type:"button",className:"project-album-folder-new",onClick:R,"aria-label":"Create new folder",title:"Create a new folder on disk",children:[(0,a.jsxs)("svg",{width:"13",height:"13",viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[(0,a.jsx)("path",{d:"M2 5a1 1 0 0 1 1-1h3.5l1.5 1.5H13a1 1 0 0 1 1 1v6a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V5Z"}),(0,a.jsx)("path",{d:"M8 8v4M6 10h4"})]}),"New folder"]}),(0,a.jsx)(s.A,{open:D,onClose:U,eyebrow:"Library",title:"New folder",children:(0,a.jsxs)("form",{className:"agents-modal-form",onSubmit:W,children:[(0,a.jsx)("p",{className:"agents-modal-help",children:"Creates a real folder on disk under this project. Use it to organize uploaded documents and artifacts."}),(0,a.jsxs)("section",{className:"agents-modal-section",children:[(0,a.jsxs)("label",{className:"agents-modal-field wide",children:[(0,a.jsx)("span",{children:"Folder name"}),(0,a.jsx)("input",{type:"text",value:A,onChange:e=>{P(e.target.value),M&&T(null)},placeholder:"e.g. Research, Drafts, 2026-Q2",autoComplete:"off",spellCheck:!1,autoFocus:!0,maxLength:120,disabled:F})]}),M?(0,a.jsx)("p",{className:"agents-modal-feedback error",role:"alert","aria-live":"polite",children:M}):(0,a.jsx)("small",{className:"project-album-folder-hint",children:"Letters, numbers, spaces, dashes. No slashes."})]}),(0,a.jsxs)("footer",{className:"agents-modal-foot",children:[(0,a.jsx)("button",{type:"button",className:"admin-button secondary",onClick:U,disabled:F,children:"Cancel"}),(0,a.jsx)("button",{type:"submit",className:"admin-button",disabled:F||!A.trim(),children:F?"Creating…":"Create folder"})]})]})}),(0,a.jsx)(d,{open:j,onClose:k,projectId:t,privacy:v}),(0,a.jsx)(u,{open:y,onClose:x,projectId:t,privacy:v}),L?(0,a.jsx)(h,{item:{source_type:"project",id:t,name:r},onClose:()=>E(!1)}):null]})}function m(){return(0,a.jsxs)("svg",{width:"13",height:"13",viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[(0,a.jsx)("rect",{x:"3",y:"7",width:"10",height:"7",rx:"1.5"}),(0,a.jsx)("path",{d:"M5 7V5a3 3 0 0 1 6 0v2"})]})}function f(){return(0,a.jsxs)("svg",{width:"13",height:"13",viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[(0,a.jsx)("rect",{x:"3",y:"7",width:"10",height:"7",rx:"1.5"}),(0,a.jsx)("path",{d:"M5 7V5a3 3 0 0 1 6 0v0"})]})}},95424:(e,t,r)=>{"use strict";r.d(t,{default:()=>n});var a=r(12115);function n(e){let{projectId:t}=e;return(0,a.useEffect)(()=>{if(t)try{localStorage.getItem("madarx:selected-project")!==t&&localStorage.setItem("madarx:selected-project",t)}catch(e){}},[t]),null}}},e=>{e.O(0,[2619,1231,8441,1255,7358],()=>e(e.s=45096)),_N_E=e.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,72,167,178,229,232,280,332,489,497,552,658,723,767,769,796,870,888,899,939,972,1053,1115,1177,1426,1523,1557,1562,1581,1672,1851,1990,2008,2139,2153,2162,2164,2175,2254,2334,2343,2433,2635,2640,2711,2726,2748,2837,2873,2889,2943,3033,3076,3159,3190,3203,3395,3437,3465,3492,3499,3554,3558,3577,3629,3630,3641,3659,3745,3756,3802,3839,3870,3886,3904,3905,3942,3975,3976,4094,4095,4104,4115,4190,4204,4209,4218,4229,4231,4269,4373,4410,4431,4475,4507,4519,4530,4537,4562,4662,4721,4819,4890,4999,5049,5085,5092,5098,5118,5120,5130,5169,5180,5207,5223,5289,5324,5331,5441,5520,5551,5588,5610,5689,5707,5722,5743,5794,5810,5850,5875,5887,5903,5906,6002,6079,6106,6113,6147,6186,6234,6278,6279,6341,6365,6403,6456,6496,6591,6595,6621,6667,6701,6725,6779,6799,6816,6862,7020,7026,7060,7070,7092,7113,7237,7276,7324,7361,7440,7750,7765,7795,7823,7903,7920,7986,8059,8093,8100,8159,8227,8252,8273,8298,8312,8397,8401,8405,8578,8591,8665,8679,8732,8765,8828,8887,8907,8994,9e3,9037,9040,9154,9160,9183,9413,9442,9504,9554,9628,9873,9953],{84441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[893],{45:(e,a,t)=>{"use strict";t.d(a,{default:()=>o});var s=t(12115),n={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"},l=t(64250);let r=(0,s.createContext)({}),o=(0,s.forwardRef)((e,a)=>{var t,o,c;let{color:i,size:d,strokeWidth:u,absoluteStrokeWidth:m,className:h="",children:p,iconNode:f,...j}=e,{size:x=24,strokeWidth:g=2,absoluteStrokeWidth:v=!1,color:b="currentColor",className:y=""}=null!=(t=(0,s.useContext)(r))?t:{},k=(null!=m?m:v)?24*Number(null!=u?u:g)/Number(null!=d?d:x):null!=u?u:g;return(0,s.createElement)("svg",{ref:a,...n,width:null!=(o=null!=d?d:x)?o:n.width,height:null!=(c=null!=d?d:x)?c:n.height,stroke:null!=i?i:b,strokeWidth:k,className:(0,l.z)("lucide",y,h),...!p&&!(e=>{for(let a in e)if(a.startsWith("aria-")||"role"===a||"title"===a)return!0;return!1})(j)&&{"aria-hidden":"true"},...j},[...f.map(e=>{let[a,t]=e;return(0,s.createElement)(a,t)}),...Array.isArray(p)?p:[p]])})},10677:(e,a,t)=>{"use strict";t.d(a,{default:()=>l});var s=t(95155),n=t(12115);function l(){let[e,a]=(0,n.useState)([]),[t,l]=(0,n.useState)("");return(0,n.useEffect)(()=>{l(localStorage.getItem("madarx.activeProjectId")||""),fetch("/api/projects").then(e=>e.json()).then(e=>a(e.projects||[])).catch(()=>{})},[]),(0,s.jsx)("div",{className:"project-switcher","data-project-switcher":!0,children:(0,s.jsxs)("select",{value:t,onChange:e=>{var a;l(a=e.target.value),a?localStorage.setItem("madarx.activeProjectId",a):localStorage.removeItem("madarx.activeProjectId"),window.dispatchEvent(new CustomEvent("madarx:project-change",{detail:{project_id:a||null}}))},"aria-label":"Active project",children:[(0,s.jsx)("option",{value:"",children:"All projects"}),e.map(e=>(0,s.jsx)("option",{value:e.id,children:e.name},e.id))]})})}},13185:(e,a,t)=>{"use strict";t.d(a,{A:()=>o});var s=t(12115),n=t(64250);let l=e=>{let a=e.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,a,t)=>t?t.toUpperCase():a.toLowerCase());return a.charAt(0).toUpperCase()+a.slice(1)};var r=t(45);let o=(e,a)=>{let t=(0,s.forwardRef)((t,o)=>{let{className:c,...i}=t;return(0,s.createElement)(r.default,{ref:o,iconNode:a,className:(0,n.z)("lucide-".concat(l(e).replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()),"lucide-".concat(e),c),...i})});return t.displayName=l(e),t}},23875:(e,a,t)=>{"use strict";t.d(a,{default:()=>m});var s=t(95155),n=t(12115),l=t(47650),r=t(85649),o=t(30926);let c=(0,o.createServerReference)("407477242cda9ea03532cccc80b5ec4d6168467af5",o.callServer,void 0,o.findSourceMapURL,"createProjectAction");var i=t(59097);let d=[{value:"#c2452a",name:"Mars Red"},{value:"#a83a22",name:"Deep Red"},{value:"#7c2b19",name:"Dark Red"},{value:"#111318",name:"Charcoal"},{value:"#3f3a30",name:"Warm Black"},{value:"#68707b",name:"Slate"},{value:"#cdb78a",name:"Warm Sand"},{value:"#1f6c9f",name:"Skill Blue"}];function u(){let{pending:e}=(0,l.useFormStatus)();return(0,s.jsx)("button",{type:"submit",className:"admin-button",disabled:e,"aria-busy":e?"true":void 0,children:e?"Creating…":"Create project"})}function m(e){let{workspaceRoot:a="~/workspace/projects"}=e,[t,l]=n.useState(!1),[o,m]=n.useState(""),[h,p]=n.useState("workspace"),[f,j]=n.useState(""),x=n.useRef(null),g=n.useMemo(()=>"".concat(a.replace(/\/$/,""),"/").concat(String(o||"").toLowerCase().trim().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").slice(0,64)||"project"),[a,o]);return n.useEffect(()=>{var e;"custom"===h&&(null==(e=x.current)||e.focus())},[h]),(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)("button",{type:"button",className:"admin-button agents-new-cta",onClick:()=>l(!0),children:[(0,s.jsx)("span",{"aria-hidden":!0,className:"agents-new-cta-glyph",children:"+"}),"New project"]}),(0,s.jsx)(r.A,{open:t,onClose:()=>l(!1),eyebrow:"New project",title:"Create a project",children:(0,s.jsxs)("form",{className:"agents-modal-form",action:c,children:[(0,s.jsx)("p",{className:"agents-modal-help",children:"Scope agents, documents, memory, and integrations together."}),(0,s.jsx)("section",{className:"agents-modal-section",children:(0,s.jsxs)("label",{className:"agents-modal-field wide",children:[(0,s.jsx)("span",{children:"Name"}),(0,s.jsx)("input",{name:"name",type:"text",required:!0,placeholder:"Acme Co.",autoComplete:"off",value:o,onChange:e=>m(e.target.value),autoFocus:!0})]})}),(0,s.jsxs)("section",{className:"agents-modal-section",children:[(0,s.jsxs)("div",{className:"agents-modal-section-head",children:[(0,s.jsx)("span",{children:"Folder location"}),(0,s.jsx)("small",{children:"Where this project lives on disk."})]}),(0,s.jsxs)("div",{className:"agents-modal-radio-group",children:[(0,s.jsxs)("label",{className:"agents-modal-radio ".concat("workspace"===h?"on":""),children:[(0,s.jsx)("input",{type:"radio",name:"folder_mode",value:"workspace",checked:"workspace"===h,onChange:()=>p("workspace")}),(0,s.jsxs)("span",{className:"agents-modal-radio-body",children:[(0,s.jsx)("b",{children:"madarX workspace"}),(0,s.jsx)("code",{title:g,children:function(e){let a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:48;if(!e||e.length<=a)return e;let t=e.slice(0,Math.floor(a/2)-1),s=e.slice(e.length-Math.floor(a/2)+2);return"".concat(t,"…").concat(s)}(g)})]})]}),(0,s.jsxs)("label",{className:"agents-modal-radio ".concat("custom"===h?"on":""),children:[(0,s.jsx)("input",{type:"radio",name:"folder_mode",value:"custom",checked:"custom"===h,onChange:()=>p("custom")}),(0,s.jsxs)("span",{className:"agents-modal-radio-body",children:[(0,s.jsx)("b",{children:"Custom path"}),(0,s.jsx)("small",{children:"Any absolute folder. Created if missing."})]})]})]}),"custom"===h?(0,s.jsx)(i.A,{inputRef:x,value:f,onChange:j}):(0,s.jsx)("input",{type:"hidden",name:"folder_path",value:""})]}),(0,s.jsxs)("section",{className:"agents-modal-section",children:[(0,s.jsxs)("div",{className:"agents-modal-section-head",children:[(0,s.jsx)("span",{children:"Color"}),(0,s.jsx)("small",{children:"Used for the project tile across the app."})]}),(0,s.jsxs)("fieldset",{className:"agents-modal-swatches",children:[(0,s.jsx)("legend",{className:"visually-hidden",children:"Project color"}),d.map(e=>(0,s.jsxs)("label",{className:"agents-modal-swatch",style:{"--swatch":e.value},children:[(0,s.jsx)("input",{type:"radio",name:"color",value:e.value,defaultChecked:"#c2452a"===e.value}),(0,s.jsx)("span",{className:"agents-modal-swatch-ring","aria-hidden":"true"}),(0,s.jsx)("span",{className:"visually-hidden",children:e.name})]},e.value))]})]}),(0,s.jsxs)("section",{className:"agents-modal-section",children:[(0,s.jsxs)("div",{className:"agents-modal-section-head",children:[(0,s.jsx)("span",{children:"Description"}),(0,s.jsx)("small",{children:"Used as context for agents working in this project."})]}),(0,s.jsx)("label",{className:"agents-modal-field wide",children:(0,s.jsx)("textarea",{name:"description",rows:3,placeholder:"What is this project for? Goals, audience, voice, constraints."})})]}),(0,s.jsxs)("footer",{className:"agents-modal-foot",children:[(0,s.jsx)("button",{type:"button",className:"admin-button secondary",onClick:()=>l(!1),children:"Cancel"}),(0,s.jsx)(u,{})]})]})})]})}},30926:(e,a,t)=>{"use strict";Object.defineProperty(a,"__esModule",{value:!0}),!function(e,a){for(var t in a)Object.defineProperty(e,t,{enumerable:!0,get:a[t]})}(a,{callServer:function(){return s.callServer},createServerReference:function(){return l.createServerReference},findSourceMapURL:function(){return n.findSourceMapURL}});let s=t(41209),n=t(85153),l=t(77197)},34788:(e,a,t)=>{"use strict";t.d(a,{A:()=>s});let s=(0,t(13185).A)("x",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]])},37364:(e,a,t)=>{"use strict";t.d(a,{default:()=>m});var s=t(95155),n=t(12115),l=t(47650),r=t(85649),o=t(30926);let c=(0,o.createServerReference)("409168a77899fcccb89f61c15e248f778e542662cd",o.callServer,void 0,o.findSourceMapURL,"updateProjectAction");var i=t(59097);let d=[{value:"#c2452a",name:"Mars Red"},{value:"#a83a22",name:"Deep Red"},{value:"#7c2b19",name:"Dark Red"},{value:"#111318",name:"Charcoal"},{value:"#3f3a30",name:"Warm Black"},{value:"#68707b",name:"Slate"},{value:"#cdb78a",name:"Warm Sand"},{value:"#1f6c9f",name:"Skill Blue"}];function u(){let{pending:e}=(0,l.useFormStatus)();return(0,s.jsx)("button",{type:"submit",className:"admin-button",disabled:e,"aria-busy":e?"true":void 0,children:e?"Saving…":"Save changes"})}function m(e){let{projectId:a,projectName:t,projectColor:l,projectDescription:o,projectFolderPath:m}=e,[h,p]=n.useState(!1),[f,j]=n.useState("keep"),[x,g]=n.useState(m||""),v=n.useRef(null);return n.useEffect(()=>{h&&(j("keep"),g(m||""))},[h,m]),n.useEffect(()=>{var e;"custom"===f&&(null==(e=v.current)||e.focus())},[f]),(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("button",{type:"button",className:"admin-button secondary project-edit",onClick:()=>p(!0),"aria-label":"Edit ".concat(t),children:"Edit"}),(0,s.jsx)(r.A,{open:h,onClose:()=>p(!1),eyebrow:"Edit project",title:"Edit ".concat(t),children:(0,s.jsxs)("form",{className:"agents-modal-form",action:c,children:[(0,s.jsx)("input",{type:"hidden",name:"project_id",value:a}),(0,s.jsx)("section",{className:"agents-modal-section",children:(0,s.jsxs)("label",{className:"agents-modal-field wide",children:[(0,s.jsx)("span",{children:"Name"}),(0,s.jsx)("input",{name:"name",type:"text",defaultValue:t,autoComplete:"off",required:!0})]})}),(0,s.jsxs)("section",{className:"agents-modal-section",children:[(0,s.jsxs)("div",{className:"agents-modal-section-head",children:[(0,s.jsx)("span",{children:"Folder location"}),(0,s.jsx)("small",{children:"Where project files live on disk. Move only if you've already moved the folder yourself."})]}),(0,s.jsxs)("div",{className:"agents-modal-radio-group",children:[(0,s.jsxs)("label",{className:"agents-modal-radio ".concat("keep"===f?"on":""),children:[(0,s.jsx)("input",{type:"radio",name:"folder_mode",value:"keep",checked:"keep"===f,onChange:()=>j("keep")}),(0,s.jsxs)("span",{className:"agents-modal-radio-body",children:[(0,s.jsx)("b",{children:"Keep current"}),(0,s.jsx)("code",{title:m||"",children:function(e){let a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:48;if(!e||e.length<=a)return e;let t=e.slice(0,Math.floor(a/2)-1),s=e.slice(e.length-Math.floor(a/2)+2);return"".concat(t,"…").concat(s)}(m)||"(not set)"})]})]}),(0,s.jsxs)("label",{className:"agents-modal-radio ".concat("custom"===f?"on":""),children:[(0,s.jsx)("input",{type:"radio",name:"folder_mode",value:"custom",checked:"custom"===f,onChange:()=>j("custom")}),(0,s.jsxs)("span",{className:"agents-modal-radio-body",children:[(0,s.jsx)("b",{children:"Change to…"}),(0,s.jsx)("small",{children:"Absolute path. Must already exist or be writable."})]})]})]}),"custom"===f?(0,s.jsx)(i.A,{inputRef:v,value:x,onChange:g}):(0,s.jsx)("input",{type:"hidden",name:"folder_path",value:""})]}),(0,s.jsxs)("section",{className:"agents-modal-section",children:[(0,s.jsxs)("div",{className:"agents-modal-section-head",children:[(0,s.jsx)("span",{children:"Color"}),(0,s.jsx)("small",{children:"Tile color across the app."})]}),(0,s.jsxs)("fieldset",{className:"agents-modal-swatches",children:[(0,s.jsx)("legend",{className:"visually-hidden",children:"Project color"}),d.map(e=>(0,s.jsxs)("label",{className:"agents-modal-swatch",style:{"--swatch":e.value},children:[(0,s.jsx)("input",{type:"radio",name:"color",value:e.value,defaultChecked:e.value===(l||"#c2452a")}),(0,s.jsx)("span",{className:"agents-modal-swatch-ring","aria-hidden":"true"}),(0,s.jsx)("span",{className:"visually-hidden",children:e.name})]},e.value))]})]}),(0,s.jsxs)("section",{className:"agents-modal-section",children:[(0,s.jsxs)("div",{className:"agents-modal-section-head",children:[(0,s.jsx)("span",{children:"Description"}),(0,s.jsx)("small",{children:"Used as context for agents working in this project."})]}),(0,s.jsx)("label",{className:"agents-modal-field wide",children:(0,s.jsx)("textarea",{name:"description",rows:3,defaultValue:o||"",placeholder:"What is this project for? Goals, audience, voice, constraints."})})]}),(0,s.jsxs)("footer",{className:"agents-modal-foot",children:[(0,s.jsx)("button",{type:"button",className:"admin-button secondary",onClick:()=>p(!1),children:"Cancel"}),(0,s.jsx)(u,{})]})]})})]})}},59097:(e,a,t)=>{"use strict";t.d(a,{A:()=>l});var s=t(95155),n=t(12115);function l(e){let{name:a="folder_path",value:t,onChange:l,inputRef:r,placeholder:o="/Users/you/Documents/my-project"}=e,[c,i]=n.useState(null),[d,u]=n.useState(!1),[m,h]=n.useState(""),[p,f]=n.useState(""),[j,x]=n.useState(null);async function g(){var e;let a;if(i(null),!(null==(e=navigator.clipboard)?void 0:e.readText))return void i({kind:"error",message:"Clipboard not available."});try{a=await navigator.clipboard.readText()}catch(e){i({kind:"error",message:"Allow clipboard access."});return}let t=(a||"").trim();if((t.startsWith('"')&&t.endsWith('"')||t.startsWith("'")&&t.endsWith("'"))&&(t=t.slice(1,-1)),t.startsWith("file://"))try{t=decodeURI(t.slice(7))}catch(e){}return t?t.startsWith("/")||t.startsWith("~")?void(l(t),i({kind:"success",message:"Pasted."})):void i({kind:"error",message:"Path must be absolute."}):void i({kind:"error",message:"Clipboard is empty."})}async function v(){i(null),x("pick");try{let e=await fetch("/api/fs/pick-folder",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({title:"Choose project folder",start_path:t&&t.startsWith("/")?t:void 0})});if(499===e.status)return void i({kind:"error",message:"Cancelled."});let a=await e.json();if(!e.ok)return void i({kind:"error",message:a.error||"Picker failed."});l(a.folder_path),i({kind:"success",message:"Selected ".concat(a.folder_path)})}catch(e){i({kind:"error",message:String((null==e?void 0:e.message)||e)})}finally{x(null)}}async function b(){if(i(null),!m.trim()||!p.trim())return void i({kind:"error",message:"Parent and name required."});x("create");try{let e=await fetch("/api/fs/create-folder",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({parent:m.trim(),name:p.trim()})}),a=await e.json();if(!e.ok)return void i({kind:"error",message:a.error||"Create failed."});l(a.folder_path),u(!1),f(""),i({kind:"success",message:"Created ".concat(a.folder_path)})}catch(e){i({kind:"error",message:String((null==e?void 0:e.message)||e)})}finally{x(null)}}return n.useEffect(()=>{d&&!m&&h(t||"~/Documents")},[d,t,m]),(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)("div",{className:"agents-modal-paste-row",children:[(0,s.jsx)("input",{ref:r,name:a,type:"text",placeholder:o,autoComplete:"off",spellCheck:!1,value:t||"",onChange:e=>{l(e.target.value),c&&i(null)},required:!0}),(0,s.jsx)("button",{type:"button",className:"admin-button secondary",onClick:v,disabled:"pick"===j,children:"pick"===j?"Opening…":"Choose folder…"})]}),(0,s.jsxs)("div",{className:"agents-modal-folder-tools",children:[(0,s.jsx)("button",{type:"button",className:"admin-button secondary",onClick:g,children:"Paste from clipboard"}),(0,s.jsx)("button",{type:"button",className:"admin-button secondary",onClick:()=>l("~/Documents"),children:"~/Documents"}),(0,s.jsx)("button",{type:"button",className:"admin-button secondary",onClick:()=>l("~/Desktop"),children:"~/Desktop"}),(0,s.jsx)("button",{type:"button",className:"admin-button secondary",onClick:()=>u(e=>!e),children:d?"Cancel new folder":"+ New folder"})]}),d?(0,s.jsxs)("div",{className:"agents-modal-create-folder",children:[(0,s.jsx)("small",{children:"Create a folder anywhere outside system directories. Parent must exist."}),(0,s.jsx)("div",{className:"agents-modal-create-row",children:(0,s.jsx)("input",{type:"text",placeholder:"Parent (e.g. ~/Documents)",value:m,onChange:e=>h(e.target.value),spellCheck:!1,autoComplete:"off"})}),(0,s.jsxs)("div",{className:"agents-modal-create-row",children:[(0,s.jsx)("input",{type:"text",placeholder:"New folder name",value:p,onChange:e=>f(e.target.value),spellCheck:!1,autoComplete:"off"}),(0,s.jsx)("button",{type:"button",className:"admin-button",onClick:b,disabled:"create"===j,children:"create"===j?"Creating…":"Create"})]})]}):null,c?(0,s.jsx)("p",{className:"agents-modal-feedback ".concat(c.kind),role:"status","aria-live":"polite",children:c.message}):null]})}},64250:(e,a,t)=>{"use strict";t.d(a,{z:()=>s});let s=function(){for(var e=arguments.length,a=Array(e),t=0;t<e;t++)a[t]=arguments[t];return a.filter((e,a,t)=>!!e&&""!==e.trim()&&t.indexOf(e)===a).join(" ").trim()}},85649:(e,a,t)=>{"use strict";t.d(a,{A:()=>r});var s=t(95155),n=t(12115),l=t(34788);function r(e){let{open:a,onClose:t,eyebrow:r,title:o,tone:c="default",size:i="default",children:d}=e,u=n.useRef(null);return n.useEffect(()=>{let e=u.current;e&&(a&&!e.open&&("function"==typeof e.showModal?e.showModal():e.setAttribute("open","")),!a&&e.open&&e.close())},[a]),n.useEffect(()=>{let e=u.current;if(!e)return;let a=e=>{e.preventDefault(),t()};return e.addEventListener("cancel",a),()=>e.removeEventListener("cancel",a)},[t]),(0,s.jsx)("dialog",{ref:u,className:"agents-modal".concat("wide"===i?" agents-modal--wide":""),onClick:e=>{e.target===u.current&&t()},children:a?(0,s.jsxs)("div",{className:"agents-modal-card".concat("danger"===c?" agents-modal-card--danger":""),onClick:e=>e.stopPropagation(),children:[(0,s.jsxs)("header",{className:"agents-modal-head",children:[(0,s.jsxs)("div",{children:[r?(0,s.jsx)("span",{className:"admin-kicker",children:r}):null,(0,s.jsx)("h2",{children:o})]}),(0,s.jsx)("button",{type:"button",className:"agents-modal-close",onClick:t,"aria-label":"Close",children:(0,s.jsx)(l.A,{size:14})})]}),d]}):null})}},88478:(e,a,t)=>{"use strict";t.d(a,{default:()=>d});var s=t(95155),n=t(12115),l=t(47650),r=t(85649),o=t(30926);let c=(0,o.createServerReference)("402e67d555e52c734878ebd967b97cd3a257ec78d9",o.callServer,void 0,o.findSourceMapURL,"deleteProjectAction");function i(e){let{disabled:a}=e,{pending:t}=(0,l.useFormStatus)();return(0,s.jsx)("button",{type:"submit",className:"admin-button danger",disabled:t||a,"aria-busy":t?"true":void 0,children:t?"Deleting…":"Delete project"})}function d(e){let{projectId:a,projectName:t,projectSlug:l,isProtected:o}=e,[d,u]=n.useState(!1),[m,h]=n.useState("");if(o)return(0,s.jsxs)("span",{className:"admin-button secondary project-delete is-locked","aria-disabled":"true",title:"The Personal project is the default scope and cannot be deleted.",children:[(0,s.jsxs)("svg",{width:"11",height:"11",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",style:{marginRight:6,verticalAlign:"-1px"},children:[(0,s.jsx)("rect",{x:"3",y:"11",width:"18",height:"11",rx:"2"}),(0,s.jsx)("path",{d:"M7 11V7a5 5 0 0 1 10 0v4"})]}),"Protected"]});n.useEffect(()=>{d||h("")},[d]);let p=m.trim()===l;return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("button",{type:"button",className:"admin-button secondary project-delete",onClick:()=>u(!0),"aria-label":"Delete ".concat(t),children:"Delete"}),(0,s.jsx)(r.A,{open:d,onClose:()=>u(!1),eyebrow:"Delete project",title:"Delete ".concat(t,"?"),tone:"danger",children:(0,s.jsxs)("form",{className:"agents-modal-form",action:c,children:[(0,s.jsx)("input",{type:"hidden",name:"project_id",value:a}),(0,s.jsx)("p",{className:"agents-modal-help",children:"This removes the project, its agents, Disk files, memory, secrets, and audit history. The folder on your local drive is left untouched."}),(0,s.jsx)("section",{className:"agents-modal-section",children:(0,s.jsxs)("label",{className:"agents-modal-field wide",children:[(0,s.jsxs)("span",{children:["Type ",(0,s.jsx)("code",{className:"agents-modal-inline-code",children:l})," to confirm"]}),(0,s.jsx)("input",{type:"text",autoComplete:"off",spellCheck:!1,value:m,onChange:e=>h(e.target.value),placeholder:l,autoFocus:!0})]})}),(0,s.jsxs)("footer",{className:"agents-modal-foot",children:[(0,s.jsx)("button",{type:"button",className:"admin-button secondary",onClick:()=>u(!1),children:"Cancel"}),(0,s.jsx)(i,{disabled:!p})]})]})})]})}},99168:(e,a,t)=>{Promise.resolve().then(t.bind(t,10677)),Promise.resolve().then(t.bind(t,88478)),Promise.resolve().then(t.bind(t,37364)),Promise.resolve().then(t.bind(t,23875)),Promise.resolve().then(t.t.bind(t,52619,23))}},e=>{e.O(0,[2619,8441,1255,7358],()=>e(e.s=99168)),_N_E=e.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,72,167,178,229,232,280,332,489,497,552,658,723,767,769,796,870,888,899,939,972,1053,1115,1177,1426,1523,1557,1562,1581,1672,1851,1990,2008,2139,2153,2162,2164,2175,2254,2334,2343,2433,2635,2640,2711,2726,2748,2837,2873,2889,2943,3033,3076,3159,3190,3203,3395,3437,3465,3492,3499,3554,3558,3577,3629,3630,3641,3659,3745,3756,3802,3839,3870,3886,3904,3905,3942,3975,3976,4094,4095,4104,4115,4190,4204,4209,4218,4229,4231,4269,4373,4410,4431,4475,4507,4519,4530,4537,4562,4662,4721,4819,4890,4999,5049,5085,5092,5098,5118,5120,5130,5169,5180,5207,5223,5289,5324,5331,5441,5520,5551,5588,5610,5689,5707,5722,5743,5794,5810,5850,5875,5887,5903,5906,6002,6079,6106,6113,6147,6186,6234,6278,6279,6341,6365,6403,6456,6496,6591,6595,6621,6667,6701,6725,6779,6799,6816,6862,7020,7026,7060,7070,7092,7113,7237,7276,7324,7361,7440,7750,7765,7795,7823,7903,7920,7986,8059,8093,8100,8159,8227,8252,8273,8298,8312,8397,8401,8405,8578,8591,8665,8679,8732,8765,8828,8887,8907,8994,9e3,9037,9040,9154,9160,9183,9413,9442,9504,9554,9628,9873,9953],{84441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,72,167,178,229,232,280,332,489,497,552,658,723,767,769,796,870,888,899,939,972,1053,1115,1177,1426,1523,1557,1562,1581,1672,1851,1990,2008,2139,2153,2162,2164,2175,2254,2334,2343,2433,2635,2640,2711,2726,2748,2837,2873,2889,2943,3033,3076,3159,3190,3203,3395,3437,3465,3492,3499,3554,3558,3577,3629,3630,3641,3659,3745,3756,3802,3839,3870,3886,3904,3905,3942,3975,3976,4094,4095,4104,4115,4190,4204,4209,4218,4229,4231,4269,4373,4410,4431,4475,4507,4519,4530,4537,4562,4662,4721,4819,4890,4999,5049,5085,5092,5098,5118,5120,5130,5169,5180,5207,5223,5289,5324,5331,5441,5520,5551,5588,5610,5689,5707,5722,5743,5794,5810,5850,5875,5887,5903,5906,6002,6079,6106,6113,6147,6186,6234,6278,6279,6341,6365,6403,6456,6496,6591,6595,6621,6667,6701,6725,6779,6799,6816,6862,7020,7026,7060,7070,7092,7113,7237,7276,7324,7361,7440,7750,7765,7795,7823,7903,7920,7986,8059,8093,8100,8159,8227,8252,8273,8298,8312,8397,8401,8405,8578,8591,8665,8679,8732,8765,8828,8887,8907,8994,9e3,9037,9040,9154,9160,9183,9413,9442,9504,9554,9628,9873,9953],{84441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,72,167,178,229,232,280,332,489,497,552,658,723,767,769,796,870,888,899,939,972,1053,1115,1177,1426,1523,1557,1562,1581,1672,1851,1990,2008,2139,2153,2162,2164,2175,2254,2334,2343,2433,2635,2640,2711,2726,2748,2837,2873,2889,2943,3033,3076,3159,3190,3203,3395,3437,3465,3492,3499,3554,3558,3577,3629,3630,3641,3659,3745,3756,3802,3839,3870,3886,3904,3905,3942,3975,3976,4094,4095,4104,4115,4190,4204,4209,4218,4229,4231,4269,4373,4410,4431,4475,4507,4519,4530,4537,4562,4662,4721,4819,4890,4999,5049,5085,5092,5098,5118,5120,5130,5169,5180,5207,5223,5289,5324,5331,5441,5520,5551,5588,5610,5689,5707,5722,5743,5794,5810,5850,5875,5887,5903,5906,6002,6079,6106,6113,6147,6186,6234,6278,6279,6341,6365,6403,6456,6496,6591,6595,6621,6667,6701,6725,6779,6799,6816,6862,7020,7026,7060,7070,7092,7113,7237,7276,7324,7361,7440,7750,7765,7795,7823,7903,7920,7986,8059,8093,8100,8159,8227,8252,8273,8298,8312,8397,8401,8405,8578,8591,8665,8679,8732,8765,8828,8887,8907,8994,9e3,9037,9040,9154,9160,9183,9413,9442,9504,9554,9628,9873,9953],{84441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,72,167,178,229,232,280,332,489,497,552,658,723,767,769,796,870,888,899,939,972,1053,1115,1177,1426,1523,1557,1562,1581,1672,1851,1990,2008,2139,2153,2162,2164,2175,2254,2334,2343,2433,2635,2640,2711,2726,2748,2837,2873,2889,2943,3033,3076,3159,3190,3203,3395,3437,3465,3492,3499,3554,3558,3577,3629,3630,3641,3659,3745,3756,3802,3839,3870,3886,3904,3905,3942,3975,3976,4094,4095,4104,4115,4190,4204,4209,4218,4229,4231,4269,4373,4410,4431,4475,4507,4519,4530,4537,4562,4662,4721,4819,4890,4999,5049,5085,5092,5098,5118,5120,5130,5169,5180,5207,5223,5289,5324,5331,5441,5520,5551,5588,5610,5689,5707,5722,5743,5794,5810,5850,5875,5887,5903,5906,6002,6079,6106,6113,6147,6186,6234,6278,6279,6341,6365,6403,6456,6496,6591,6595,6621,6667,6701,6725,6779,6799,6816,6862,7020,7026,7060,7070,7092,7113,7237,7276,7324,7361,7440,7750,7765,7795,7823,7903,7920,7986,8059,8093,8100,8159,8227,8252,8273,8298,8312,8397,8401,8405,8578,8591,8665,8679,8732,8765,8828,8887,8907,8994,9e3,9037,9040,9154,9160,9183,9413,9442,9504,9554,9628,9873,9953],{84441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,72,167,178,229,232,280,332,489,497,552,658,723,767,769,796,870,888,899,939,972,1053,1115,1177,1426,1523,1557,1562,1581,1672,1851,1990,2008,2139,2153,2162,2164,2175,2254,2334,2343,2433,2635,2640,2711,2726,2748,2837,2873,2889,2943,3033,3076,3159,3190,3203,3395,3437,3465,3492,3499,3554,3558,3577,3629,3630,3641,3659,3745,3756,3802,3839,3870,3886,3904,3905,3942,3975,3976,4094,4095,4104,4115,4190,4204,4209,4218,4229,4231,4269,4373,4410,4431,4475,4507,4519,4530,4537,4562,4662,4721,4819,4890,4999,5049,5085,5092,5098,5118,5120,5130,5169,5180,5207,5223,5289,5324,5331,5441,5520,5551,5588,5610,5689,5707,5722,5743,5794,5810,5850,5875,5887,5903,5906,6002,6079,6106,6113,6147,6186,6234,6278,6279,6341,6365,6403,6456,6496,6591,6595,6621,6667,6701,6725,6779,6799,6816,6862,7020,7026,7060,7070,7092,7113,7237,7276,7324,7361,7440,7750,7765,7795,7823,7903,7920,7986,8059,8093,8100,8159,8227,8252,8273,8298,8312,8397,8401,8405,8578,8591,8665,8679,8732,8765,8828,8887,8907,8994,9e3,9037,9040,9154,9160,9183,9413,9442,9504,9554,9628,9873,9953],{84441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,72,167,178,229,232,280,332,489,497,552,658,723,767,769,796,870,888,899,939,972,1053,1115,1177,1426,1523,1557,1562,1581,1672,1851,1990,2008,2139,2153,2162,2164,2175,2254,2334,2343,2433,2635,2640,2711,2726,2748,2837,2873,2889,2943,3033,3076,3159,3190,3203,3395,3437,3465,3492,3499,3554,3558,3577,3629,3630,3641,3659,3745,3756,3802,3839,3870,3886,3904,3905,3942,3975,3976,4094,4095,4104,4115,4190,4204,4209,4218,4229,4231,4269,4373,4410,4431,4475,4507,4519,4530,4537,4562,4662,4721,4819,4890,4999,5049,5085,5092,5098,5118,5120,5130,5169,5180,5207,5223,5289,5324,5331,5441,5520,5551,5588,5610,5689,5707,5722,5743,5794,5810,5850,5875,5887,5903,5906,6002,6079,6106,6113,6147,6186,6234,6278,6279,6341,6365,6403,6456,6496,6591,6595,6621,6667,6701,6725,6779,6799,6816,6862,7020,7026,7060,7070,7092,7113,7237,7276,7324,7361,7440,7750,7765,7795,7823,7903,7920,7986,8059,8093,8100,8159,8227,8252,8273,8298,8312,8397,8401,8405,8578,8591,8665,8679,8732,8765,8828,8887,8907,8994,9e3,9037,9040,9154,9160,9183,9413,9442,9504,9554,9628,9873,9953],{84441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,72,167,178,229,232,280,332,489,497,552,658,723,767,769,796,870,888,899,939,972,1053,1115,1177,1426,1523,1557,1562,1581,1672,1851,1990,2008,2139,2153,2162,2164,2175,2254,2334,2343,2433,2635,2640,2711,2726,2748,2837,2873,2889,2943,3033,3076,3159,3190,3203,3395,3437,3465,3492,3499,3554,3558,3577,3629,3630,3641,3659,3745,3756,3802,3839,3870,3886,3904,3905,3942,3975,3976,4094,4095,4104,4115,4190,4204,4209,4218,4229,4231,4269,4373,4410,4431,4475,4507,4519,4530,4537,4562,4662,4721,4819,4890,4999,5049,5085,5092,5098,5118,5120,5130,5169,5180,5207,5223,5289,5324,5331,5441,5520,5551,5588,5610,5689,5707,5722,5743,5794,5810,5850,5875,5887,5903,5906,6002,6079,6106,6113,6147,6186,6234,6278,6279,6341,6365,6403,6456,6496,6591,6595,6621,6667,6701,6725,6779,6799,6816,6862,7020,7026,7060,7070,7092,7113,7237,7276,7324,7361,7440,7750,7765,7795,7823,7903,7920,7986,8059,8093,8100,8159,8227,8252,8273,8298,8312,8397,8401,8405,8578,8591,8665,8679,8732,8765,8828,8887,8907,8994,9e3,9037,9040,9154,9160,9183,9413,9442,9504,9554,9628,9873,9953],{84441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,72,167,178,229,232,280,332,489,497,552,658,723,767,769,796,870,888,899,939,972,1053,1115,1177,1426,1523,1557,1562,1581,1672,1851,1990,2008,2139,2153,2162,2164,2175,2254,2334,2343,2433,2635,2640,2711,2726,2748,2837,2873,2889,2943,3033,3076,3159,3190,3203,3395,3437,3465,3492,3499,3554,3558,3577,3629,3630,3641,3659,3745,3756,3802,3839,3870,3886,3904,3905,3942,3975,3976,4094,4095,4104,4115,4190,4204,4209,4218,4229,4231,4269,4373,4410,4431,4475,4507,4519,4530,4537,4562,4662,4721,4819,4890,4999,5049,5085,5092,5098,5118,5120,5130,5169,5180,5207,5223,5289,5324,5331,5441,5520,5551,5588,5610,5689,5707,5722,5743,5794,5810,5850,5875,5887,5903,5906,6002,6079,6106,6113,6147,6186,6234,6278,6279,6341,6365,6403,6456,6496,6591,6595,6621,6667,6701,6725,6779,6799,6816,6862,7020,7026,7060,7070,7092,7113,7237,7276,7324,7361,7440,7750,7765,7795,7823,7903,7920,7986,8059,8093,8100,8159,8227,8252,8273,8298,8312,8397,8401,8405,8578,8591,8665,8679,8732,8765,8828,8887,8907,8994,9e3,9037,9040,9154,9160,9183,9413,9442,9504,9554,9628,9873,9953],{84441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,72,167,178,229,232,280,332,489,497,552,658,723,767,769,796,870,888,899,939,972,1053,1115,1177,1426,1523,1557,1562,1581,1672,1851,1990,2008,2139,2153,2162,2164,2175,2254,2334,2343,2433,2635,2640,2711,2726,2748,2837,2873,2889,2943,3033,3076,3159,3190,3203,3395,3437,3465,3492,3499,3554,3558,3577,3629,3630,3641,3659,3745,3756,3802,3839,3870,3886,3904,3905,3942,3975,3976,4094,4095,4104,4115,4190,4204,4209,4218,4229,4231,4269,4373,4410,4431,4475,4507,4519,4530,4537,4562,4662,4721,4819,4890,4999,5049,5085,5092,5098,5118,5120,5130,5169,5180,5207,5223,5289,5324,5331,5441,5520,5551,5588,5610,5689,5707,5722,5743,5794,5810,5850,5875,5887,5903,5906,6002,6079,6106,6113,6147,6186,6234,6278,6279,6341,6365,6403,6456,6496,6591,6595,6621,6667,6701,6725,6779,6799,6816,6862,7020,7026,7060,7070,7092,7113,7237,7276,7324,7361,7440,7750,7765,7795,7823,7903,7920,7986,8059,8093,8100,8159,8227,8252,8273,8298,8312,8397,8401,8405,8578,8591,8665,8679,8732,8765,8828,8887,8907,8994,9e3,9037,9040,9154,9160,9183,9413,9442,9504,9554,9628,9873,9953],{84441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,72,167,178,229,232,280,332,489,497,552,658,723,767,769,796,870,888,899,939,972,1053,1115,1177,1426,1523,1557,1562,1581,1672,1851,1990,2008,2139,2153,2162,2164,2175,2254,2334,2343,2433,2635,2640,2711,2726,2748,2837,2873,2889,2943,3033,3076,3159,3190,3203,3395,3437,3465,3492,3499,3554,3558,3577,3629,3630,3641,3659,3745,3756,3802,3839,3870,3886,3904,3905,3942,3975,3976,4094,4095,4104,4115,4190,4204,4209,4218,4229,4231,4269,4373,4410,4431,4475,4507,4519,4530,4537,4562,4662,4721,4819,4890,4999,5049,5085,5092,5098,5118,5120,5130,5169,5180,5207,5223,5289,5324,5331,5441,5520,5551,5588,5610,5689,5707,5722,5743,5794,5810,5850,5875,5887,5903,5906,6002,6079,6106,6113,6147,6186,6234,6278,6279,6341,6365,6403,6456,6496,6591,6595,6621,6667,6701,6725,6779,6799,6816,6862,7020,7026,7060,7070,7092,7113,7237,7276,7324,7361,7440,7750,7765,7795,7823,7903,7920,7986,8059,8093,8100,8159,8227,8252,8273,8298,8312,8397,8401,8405,8578,8591,8665,8679,8732,8765,8828,8887,8907,8994,9e3,9037,9040,9154,9160,9183,9413,9442,9504,9554,9628,9873,9953],{84441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,72,167,178,229,232,280,332,489,497,552,658,723,767,769,796,870,888,899,939,972,1053,1115,1177,1426,1523,1557,1562,1581,1672,1851,1990,2008,2139,2153,2162,2164,2175,2254,2334,2343,2433,2635,2640,2711,2726,2748,2837,2873,2889,2943,3033,3076,3159,3190,3203,3395,3437,3465,3492,3499,3554,3558,3577,3629,3630,3641,3659,3745,3756,3802,3839,3870,3886,3904,3905,3942,3975,3976,4094,4095,4104,4115,4190,4204,4209,4218,4229,4231,4269,4373,4410,4431,4475,4507,4519,4530,4537,4562,4662,4721,4819,4890,4999,5049,5085,5092,5098,5118,5120,5130,5169,5180,5207,5223,5289,5324,5331,5441,5520,5551,5588,5610,5689,5707,5722,5743,5794,5810,5850,5875,5887,5903,5906,6002,6079,6106,6113,6147,6186,6234,6278,6279,6341,6365,6403,6456,6496,6591,6595,6621,6667,6701,6725,6779,6799,6816,6862,7020,7026,7060,7070,7092,7113,7237,7276,7324,7361,7440,7750,7765,7795,7823,7903,7920,7986,8059,8093,8100,8159,8227,8252,8273,8298,8312,8397,8401,8405,8578,8591,8665,8679,8732,8765,8828,8887,8907,8994,9e3,9037,9040,9154,9160,9183,9413,9442,9504,9554,9628,9873,9953],{84441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,72,167,178,229,232,280,332,489,497,552,658,723,767,769,796,870,888,899,939,972,1053,1115,1177,1426,1523,1557,1562,1581,1672,1851,1990,2008,2139,2153,2162,2164,2175,2254,2334,2343,2433,2635,2640,2711,2726,2748,2837,2873,2889,2943,3033,3076,3159,3190,3203,3395,3437,3465,3492,3499,3554,3558,3577,3629,3630,3641,3659,3745,3756,3802,3839,3870,3886,3904,3905,3942,3975,3976,4094,4095,4104,4115,4190,4204,4209,4218,4229,4231,4269,4373,4410,4431,4475,4507,4519,4530,4537,4562,4662,4721,4819,4890,4999,5049,5085,5092,5098,5118,5120,5130,5169,5180,5207,5223,5289,5324,5331,5441,5520,5551,5588,5610,5689,5707,5722,5743,5794,5810,5850,5875,5887,5903,5906,6002,6079,6106,6113,6147,6186,6234,6278,6279,6341,6365,6403,6456,6496,6591,6595,6621,6667,6701,6725,6779,6799,6816,6862,7020,7026,7060,7070,7092,7113,7237,7276,7324,7361,7440,7750,7765,7795,7823,7903,7920,7986,8059,8093,8100,8159,8227,8252,8273,8298,8312,8397,8401,8405,8578,8591,8665,8679,8732,8765,8828,8887,8907,8994,9e3,9037,9040,9154,9160,9183,9413,9442,9504,9554,9628,9873,9953],{84441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (()=>{"use strict";var e={},t={};function r(o){var n=t[o];if(void 0!==n)return n.exports;var a=t[o]={exports:{}},i=!0;try{e[o].call(a.exports,a,a.exports,r),i=!1}finally{i&&delete t[o]}return a.exports}r.m=e,(()=>{var e=[];r.O=(t,o,n,a)=>{if(o){a=a||0;for(var i=e.length;i>0&&e[i-1][2]>a;i--)e[i]=e[i-1];e[i]=[o,n,a];return}for(var c=1/0,i=0;i<e.length;i++){for(var[o,n,a]=e[i],d=!0,u=0;u<o.length;u++)(!1&a||c>=a)&&Object.keys(r.O).every(e=>r.O[e](o[u]))?o.splice(u--,1):(d=!1,a<c&&(c=a));if(d){e.splice(i--,1);var s=n();void 0!==s&&(t=s)}}return t}})(),r.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return r.d(t,{a:t}),t},(()=>{var e,t=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__;r.t=function(o,n){if(1&n&&(o=this(o)),8&n||"object"==typeof o&&o&&(4&n&&o.__esModule||16&n&&"function"==typeof o.then))return o;var a=Object.create(null);r.r(a);var i={};e=e||[null,t({}),t([]),t(t)];for(var c=2&n&&o;"object"==typeof c&&!~e.indexOf(c);c=t(c))Object.getOwnPropertyNames(c).forEach(e=>i[e]=()=>o[e]);return i.default=()=>o,r.d(a,i),a}})(),r.d=(e,t)=>{for(var o in t)r.o(t,o)&&!r.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:t[o]})},r.f={},r.e=e=>Promise.all(Object.keys(r.f).reduce((t,o)=>(r.f[o](e,t),t),[])),r.u=e=>2769===e?"static/chunks/2769-5b75c7bddf7ca30a.js":4119===e?"static/chunks/4119-cfb6260557a0a3d2.js":930===e?"static/chunks/930-721369985da388ce.js":"static/chunks/"+(5730===e?"44530001":e)+"."+({840:"e6f27edfb8124775",1517:"ebf6fe1a9c310c88",2713:"ffa893e49f7e4183",3168:"502cd8077da5f8b6",4797:"c676c6ac0f39449c",5730:"a9ce8b2fb3979725",5938:"9d4468131146b81c",7130:"08b2adb325a87ad8",8217:"739e4ce0447348b9",9863:"cb7415f4a67d7f45",9867:"f985c0e7589f40cf"})[e]+".js",r.miniCssF=e=>{},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{var e={},t="_N_E:";r.l=(o,n,a,i)=>{if(e[o])return void e[o].push(n);if(void 0!==a)for(var c,d,u=document.getElementsByTagName("script"),s=0;s<u.length;s++){var f=u[s];if(f.getAttribute("src")==o||f.getAttribute("data-webpack")==t+a){c=f;break}}c||(d=!0,(c=document.createElement("script")).charset="utf-8",c.timeout=120,r.nc&&c.setAttribute("nonce",r.nc),c.setAttribute("data-webpack",t+a),c.src=r.tu(o)),e[o]=[n];var l=(t,r)=>{c.onerror=c.onload=null,clearTimeout(p);var n=e[o];if(delete e[o],c.parentNode&&c.parentNode.removeChild(c),n&&n.forEach(e=>e(r)),t)return t(r)},p=setTimeout(l.bind(null,void 0,{type:"timeout",target:c}),12e4);c.onerror=l.bind(null,c.onerror),c.onload=l.bind(null,c.onload),d&&document.head.appendChild(c)}})(),r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{var e;r.tt=()=>(void 0===e&&(e={createScriptURL:e=>e},"undefined"!=typeof trustedTypes&&trustedTypes.createPolicy&&(e=trustedTypes.createPolicy("nextjs#bundler",e))),e)})(),r.tu=e=>r.tt().createScriptURL(e),r.p="/_next/",(()=>{var e={8068:0,3045:0,1741:0,1776:0,8422:0};r.f.j=(t,o)=>{var n=r.o(e,t)?e[t]:void 0;if(0!==n)if(n)o.push(n[2]);else if(/^(17(41|76)|3045|8068|8422)$/.test(t))e[t]=0;else{var a=new Promise((r,o)=>n=e[t]=[r,o]);o.push(n[2]=a);var i=r.p+r.u(t),c=Error();r.l(i,o=>{if(r.o(e,t)&&(0!==(n=e[t])&&(e[t]=void 0),n)){var a=o&&("load"===o.type?"missing":o.type),i=o&&o.target&&o.target.src;c.message="Loading chunk "+t+" failed.\n("+a+": "+i+")",c.name="ChunkLoadError",c.type=a,c.request=i,n[1](c)}},"chunk-"+t,t)}},r.O.j=t=>0===e[t];var t=(t,o)=>{var n,a,[i,c,d]=o,u=0;if(i.some(t=>0!==e[t])){for(n in c)r.o(c,n)&&(r.m[n]=c[n]);if(d)var s=d(r)}for(t&&t(o);u<i.length;u++)a=i[u],r.o(e,a)&&e[a]&&e[a][0](),e[a]=0;return r.O(s)},o=self.webpackChunk_N_E=self.webpackChunk_N_E||[];o.forEach(t.bind(null,0)),o.push=t.bind(null,o.push.bind(o))})(),r.nc=void 0})();
package/CHANGELOG.md CHANGED
@@ -4,6 +4,32 @@ All notable changes to Madarx OS. Newest first.
4
4
 
5
5
  ## Unreleased
6
6
 
7
+ ## [2.22.0] - 2026-06-06
8
+
9
+ ### Fixed
10
+
11
+ - **Image-gen (and any) goal no longer dead-ends after routing on the CLI engine.** The CLI engines execute `madarx-action` blocks post-hoc and never feed results back into the subprocess, so a turn that called only `route_goal` stalled — the model narrated "delegate once the roster comes back" and never emitted `run_agent` (no sub-agent, nothing in the activity panel). New `lib/cli-action-flow.js` classifies a route_goal-only turn and the stream route re-invokes the CLI once with the registry injected (the CLI-engine equivalent of the Anthropic loop's turn 2); the intent-without-action guard is widened to catch a persistent stall. Files: `lib/cli-action-flow.js`, `app/api/orchestrator/stream/route.js`. Tests: `tests/cli-action-flow.test.js`.
12
+ - **Background-agent activity toolbar matched to the command center.** The topbar and the Operator Command Center each open their own SSE connection; a run that emitted no tool events (a sub-agent with no granted tool) and whose `agent_run_start` was missed on a reconnect vanished from the topbar while the command center showed it. The reducer (extracted to `app/components/dashboard/bg-agent-reducer.js`) now surfaces an agent from an `agent_run_complete`/`agent_tool_result` even without a prior start, and both panels seed "what's running now" from the new `GET /api/agents/active-runs` on mount and every (re)connect. Files: `app/components/app-topbar.jsx`, `app/components/dashboard/{bg-agent-reducer.js,use-bg-agents.js}`, `app/agents/agent-events-bus.js`, `app/api/agents/active-runs/route.js`, `lib/delegation.js`, `lib/active-runs.js`. Tests: `tests/bg-agent-reducer.test.js`, `tests/active-runs.test.js`.
13
+
14
+ ### Added
15
+
16
+ - **Capability-matched routing — reuse the equipped specialist, don't spawn a tool-less duplicate.** `route_goal` now returns `needed_categories`, `recommended_specialists` (existing agents that already own the tools the goal needs, ranked by overlap), and `tools_for_goal` (the catalog tools + their owners), with a routing note that says PREFER delegating to the owner and, when creating, grant the listed tools. An image goal now surfaces the Visual Designer (owns `higgsfield_generate_image`) instead of spawning a bare "Art Director" that generates nothing. New `list_agents` core tool exposes the roster + each agent's tools + open-task load so the main agent checks before creating. Files: `lib/role-capability-map.js`, `lib/agent-routing.js`, `lib/orchestrator-tools.js`, `lib/agent-config.js`. Tests: `tests/agent-routing-capability.test.js`.
17
+ - **Task-backed delegation + completion safety net.** Every chat-initiated `run_agent` is now filed as a tracked task on the `/tasks` board (assignee = the specialist), runs synchronously with persisted `agent_runs` (running→terminal), moves the task `in_progress → in_review` and auto-completes to `done` on the happy path; blocked/failed stay open. A recurring `task_sweep` heartbeat job (`lib/delegation.js::sweepTasks`, seeded idempotently) drives stalled tasks toward completion — dispatches never-woken assignments, re-wakes stuck/overdue tasks — guarded so it never double-dispatches or spams. `createTask` gains `suppress_wake` so the synchronous path tracks without double-running. Files: `lib/orchestrator-tools.js`, `lib/delegation.js`, `lib/heartbeat-worker.js`, `lib/seeds.js`, `lib/agent-config.js`. Tests: `tests/task-delegation.test.js`.
18
+
19
+ ## [2.21.0] - 2026-06-06
20
+
21
+ ### Added
22
+
23
+ - **Higgsfield AI generation — native tools, easy connect, results on the canvas.** Three approval-gated registry tools (`higgsfield_generate_image` — Soul text-to-image, `higgsfield_product_photoshoot` — image-conditioned product imagery, `higgsfield_generate_video` — DoP image-to-video) backed by one async submit-then-poll adapter (`lib/tools/adapters/higgsfield.js`; base `platform.higgsfield.ai`, `Authorization: Key <id>:<secret>`, egress-logged, credentials never echoed; risk `high`, `enabled_default:false`). A new `kind:'connection'` (`higgsfield`, api_key: `HIGGSFIELD_KEY_ID` + `HIGGSFIELD_KEY_SECRET`) plus a `verifyHiggsfield` path lets a user paste a key once and use it. The marketplace bundle (`higgsfield`, 4 skills) is now **actually installable** — `setItemInstalled` installs each referenced item + surfaces a `requires_connection` hint (replacing the Phase-2 "deferred" stub). Generated media renders **directly on the canvas**: main-agent runs emit a branded media card (`lib/higgsfield-media-card.js`), and delegated sub-agent runs build an embedded gallery artifact (image shown inline, markdown spec preserved as `source_md`) instead of a link-only document. Files: `lib/tools/adapters/higgsfield.js`, `lib/higgsfield-media-card.js`, `lib/tools/registry.js`, `lib/connection-seeds.js`, `lib/marketplace-seeds.js`, `lib/marketplace.js`, `lib/agent-runner.js`. Tests: `tests/marketplace-listing.test.js`, `tests/marketplace-api.test.js`.
24
+ - **Connect-to-unlock: a verified connection auto-enables its tools.** On successful verify, `enableUnlockedTools` flips every registry tool the connection declares in `manifest.unlocks_tool_slugs` to enabled — so a freshly connected service is callable from chat without a separate `/tools` toggle. Generic across all connections; guarded to real registry tools; audited (`connection.tools.auto_enabled`). Enabling only makes a tool *callable* — `high`/`irreversible_external` tiers still hit the approval gate at execution, so consent is never bypassed. File: `app/api/connections/[service]/verify/route.js`.
25
+ - **Inline sub-agent approvals in chat (no approvals page).** When a delegated sub-agent pauses on an owner-approval gate, the chat thread now shows an **Approve / Deny** card instead of sending the owner to the approvals page and losing the activity feed. Approve **re-dispatches the exact delegation** (captured on the approval payload) with the granted `approval_id` injected so the gated tool consumes it and runs — result pins to the canvas, live tool events show in the activity toolbar. `runAgentTick` gains `pending_approvals` injection + `created_approvals` reporting + resume-context persistence; `run_agent` threads approvals through; the orchestrator emits an `agent_approval` SSE event; a new `POST /api/agents/resume-approval` performs the approve-and-re-dispatch (security-checked — `consumeApprovalRequest` requires `approved` status). Files: `lib/agent-runner.js`, `lib/orchestrator-tools.js`, `app/api/orchestrator/stream/route.js`, `app/api/agents/resume-approval/route.js`, `app/components/dashboard/{apply-stream-event.js,use-stream-command.js,chat-panel.jsx}`.
26
+
27
+ ## [2.20.0] - 2026-06-06
28
+
29
+ ### Added
30
+
31
+ - **Delegation-first goal enforcement (route → delegate → build-if-missing → verify).** The main agent now turns a request into a goal and routes it to the dedicated specialist that owns the tools, instead of doing specialist work itself. Enforcement is **structural, not prompt-only**: specialist domain tools (travel, email, calendar, supabase, vercel, mines) are stripped from the main agent's directly-callable catalog (`getTools()` narrowing) and blocked at the `executeTool` entry with `delegate_required` — so neither the Anthropic loop nor a CLI engine emitting a raw `madarx-action` can bypass it; sub-agents still receive their granted tools via `getEnabledToolSchemasForAgent`. Routing is **LLM-reasoned over a live capability registry, not a keyword table**: the new `route_goal` core tool returns every active agent (role/mission/skills/granted tools), the tool catalog, and whether Tool Smith can build what's missing, plus the exhaustive fallback ladder `delegate → create_then_delegate → build_capability → direct_fallback` — so any goal resolves to a path, including novel domains absent from the hint map. A **Travel Concierge** specialist is auto-seeded on first launch (idempotent, mirrors the Tool Smith seed) so the most common delegation target exists out of the box. Specialist sub-agents that hit a missing tool emit a `madarx-escalate` block; `runAgentTick` files a Tool Smith build task on their behalf and ends the run **blocked** (no half-answer, no new sub-agent privilege — `request_capability` stays orchestrator-only). `CORE_CONTRACTS` (`ORCHESTRATOR_MODE`, reconciled `LIVE_DATA_RESEARCH_RULE`, new `GOAL_COMPLETION_RULE`) and the CLI prompt are rewritten to the route→delegate→verify contract. Kill-switch: `MADARX_DELEGATION_ENFORCEMENT=off`. Spec: `specs/active/delegation-first-goal-enforcement.md`. Files: `lib/role-capability-map.js`, `lib/agent-routing.js`, `lib/orchestrator-tools.js`, `lib/agent-runner.js`, `lib/agent-config.js`, `lib/agent-templates.js`, `lib/seeds.js`, `app/api/orchestrator/stream/route.js`. Tests: `tests/delegation-routing.test.js`.
32
+
7
33
  ## [2.19.0] - 2026-06-06
8
34
 
9
35
  ### Added
@@ -9,6 +9,10 @@
9
9
  // not just that something is running. Existing subscribers filter by
10
10
  // event.type, so the extra types are inert for them.
11
11
  const EVENT_TYPES = [
12
+ // `ready` fires on every (re)connect of the shared SSE channel. Subscribers
13
+ // use it to re-seed "what's running now" from /api/agents/active-runs, so a
14
+ // run whose agent_run_start landed before/across a reconnect still shows.
15
+ 'ready',
12
16
  'agent_created',
13
17
  'agent_run_start',
14
18
  'agent_run_complete',
@@ -0,0 +1,59 @@
1
+ import { listActiveAgentRuns } from '@/lib/delegation.js';
2
+ import { listActiveRunIds } from '@/lib/active-runs.js';
3
+ import { listAgents } from '@/lib/runtime.js';
4
+ import { requireSession } from '@/lib/auth.js';
5
+
6
+ export const runtime = 'nodejs';
7
+ export const dynamic = 'force-dynamic';
8
+
9
+ // Snapshot of every background agent running RIGHT NOW. The activity panels
10
+ // (topbar + Operator Command Center) fetch this on mount and on each SSE
11
+ // (re)connect to seed their live view, so a run that started before the panel's
12
+ // EventSource connected — or whose agent_run_start was missed on a reconnect —
13
+ // still appears. Two sources, deduped by agent_id:
14
+ // - persisted agent_runs in an active status (delegated / task-backed runs)
15
+ // - the in-process manual-run registry (fire-and-forget runs with no DB row)
16
+ export async function GET(req) {
17
+ try {
18
+ await requireSession(req);
19
+ } catch (err) {
20
+ if (err && typeof err === 'object' && err.status) {
21
+ return Response.json({ error: err.error || 'unauthorized' }, { status: err.status });
22
+ }
23
+ throw err;
24
+ }
25
+
26
+ const byId = new Map();
27
+
28
+ try {
29
+ for (const run of listActiveAgentRuns()) {
30
+ byId.set(run.agent_id, {
31
+ agent_id: run.agent_id,
32
+ agent_name: run.agent_name,
33
+ status: 'running',
34
+ triggered_by: run.triggered_by,
35
+ started_at: run.started_at ? new Date(run.started_at).getTime() : Date.now(),
36
+ task_id: run.task_id,
37
+ run_id: run.run_id,
38
+ });
39
+ }
40
+ } catch { /* agent_runs not ready — fall through to in-memory */ }
41
+
42
+ try {
43
+ const names = new Map(listAgents().map((a) => [a.id, a.name]));
44
+ for (const id of listActiveRunIds()) {
45
+ if (byId.has(id)) continue;
46
+ byId.set(id, {
47
+ agent_id: id,
48
+ agent_name: names.get(id) || id,
49
+ status: 'running',
50
+ triggered_by: 'manual',
51
+ started_at: Date.now(),
52
+ task_id: null,
53
+ run_id: null,
54
+ });
55
+ }
56
+ } catch { /* best-effort */ }
57
+
58
+ return Response.json({ agents: Array.from(byId.values()) });
59
+ }
@@ -0,0 +1,102 @@
1
+ // Resume a delegated sub-agent run after the owner approves its tool inline in chat.
2
+ //
3
+ // POST /api/agents/resume-approval body: { approval_id }
4
+ // 1. Approve the pending request (decideApprovalRequest 'approved').
5
+ // 2. Re-dispatch the EXACT delegation captured on the approval payload
6
+ // (payload.resume = { agent_id, instruction, expected_output }), injecting
7
+ // the now-approved approval_id so the sub-agent's gated tool consumes it
8
+ // instead of re-prompting.
9
+ // 3. Return the produced artifact so the chat pins it to the canvas.
10
+ //
11
+ // This keeps the owner in the chat — they never visit the approvals page, and the
12
+ // re-dispatch publishes live tool events so the activity toolbar shows the work.
13
+
14
+ import { getApprovalRequest, decideApprovalRequest } from '@/lib/approvals.js';
15
+ import { requireSession } from '@/lib/auth.js';
16
+ import { runAgentTick } from '@/lib/agent-runner.js';
17
+
18
+ export const runtime = 'nodejs';
19
+ export const dynamic = 'force-dynamic';
20
+
21
+ function requireAdmin(session) {
22
+ if (session.role !== 'admin' && session.role !== 'owner') {
23
+ throw { status: 403, error: 'forbidden' };
24
+ }
25
+ }
26
+
27
+ export async function POST(req) {
28
+ let body;
29
+ try {
30
+ body = await req.json();
31
+ } catch {
32
+ return Response.json({ ok: false, error: 'invalid_json' }, { status: 400 });
33
+ }
34
+ const approvalId = typeof body?.approval_id === 'string' ? body.approval_id.trim() : '';
35
+ if (!approvalId) return Response.json({ ok: false, error: 'missing_approval_id' }, { status: 400 });
36
+
37
+ try {
38
+ const session = await requireSession(req);
39
+ requireAdmin(session);
40
+
41
+ const approval = getApprovalRequest(approvalId);
42
+ if (!approval) return Response.json({ ok: false, error: 'not_found' }, { status: 404 });
43
+
44
+ const resume = approval.payload?.resume || null;
45
+ const toolName = approval.payload?.tool_name
46
+ || (typeof approval.action_type === 'string' ? approval.action_type.split(':').pop() : null);
47
+
48
+ if (!resume || !resume.agent_id) {
49
+ // No captured delegation context — approve so a later main-agent re-delegation
50
+ // can consume it, but we cannot auto-resume here.
51
+ decideApprovalRequest(approvalId, 'approved', { approved_by: session.user_id || 'owner' });
52
+ return Response.json({
53
+ ok: true,
54
+ resumed: false,
55
+ reason: 'Approved, but no delegation context to auto-resume. Re-send your request and it will continue.',
56
+ });
57
+ }
58
+
59
+ // Approve first so the re-dispatched tool call consumes it.
60
+ decideApprovalRequest(approvalId, 'approved', { approved_by: session.user_id || 'owner' });
61
+
62
+ const run = await runAgentTick(resume.agent_id, {
63
+ triggered_by: 'approval_resume',
64
+ wake_reason: 'owner approved tool inline in chat',
65
+ instruction: resume.instruction || null,
66
+ expected_output: resume.expected_output || null,
67
+ pending_approvals: toolName ? [{ approval_id: approvalId, tool_name: toolName }] : [],
68
+ acting_on_behalf_of_user_id: session.user_id || null,
69
+ });
70
+
71
+ if (!run) {
72
+ return Response.json({ ok: false, error: 'resume_dispatch_failed', agent_id: resume.agent_id }, { status: 500 });
73
+ }
74
+
75
+ // If the sub-agent paused AGAIN (e.g. a second gated tool), surface that.
76
+ if (run.pending_approval?.approval_id) {
77
+ return Response.json({
78
+ ok: true,
79
+ resumed: true,
80
+ status: 'awaiting_approval',
81
+ agent_name: resume.agent_name || run.agent || null,
82
+ pending_approval: run.pending_approval,
83
+ });
84
+ }
85
+
86
+ return Response.json({
87
+ ok: true,
88
+ resumed: true,
89
+ status: run.status || 'complete',
90
+ agent_name: resume.agent_name || run.agent || null,
91
+ run_id: run.id || null,
92
+ artifact_id: run.artifact_id || null,
93
+ title: run.artifact_title || run.title || null,
94
+ preview: (run.preview || '').slice(0, 600),
95
+ });
96
+ } catch (err) {
97
+ if (err && typeof err === 'object' && err.status) {
98
+ return Response.json({ ok: false, error: err.error || 'unauthorized' }, { status: err.status });
99
+ }
100
+ return Response.json({ ok: false, error: String(err?.message || err) }, { status: 500 });
101
+ }
102
+ }
@@ -21,6 +21,7 @@ import { summarizeConnection, fingerprintLast4 } from '../../../../../lib/connec
21
21
  import { setSecret } from '../../../../../lib/secrets.js';
22
22
  import { wrapFetch } from '../../../../../lib/egress.js';
23
23
  import { getDb, nowIso, newId } from '../../../../../lib/db.js';
24
+ import { setToolEnabled, listMarketplaceTools } from '../../../../../lib/tools/registry.js';
24
25
  import { getBridgeHealth } from '../../../../../lib/whatsapp.js';
25
26
  import { getHermesStatus, resolveHermesDir } from '../../../../../lib/hermes.js';
26
27
  import fs from 'node:fs';
@@ -43,6 +44,39 @@ function friendly(reason) {
43
44
  return FRIENDLY_ERRORS[reason] || "We couldn't reach the service. Check the value and try again.";
44
45
  }
45
46
 
47
+ /**
48
+ * Enable the registry tools a connection declares in `unlocks_tool_slugs`, so a
49
+ * freshly verified service is callable from chat without a manual /tools toggle.
50
+ * Only slugs that resolve to real registry tools are enabled; connector/skill
51
+ * slugs (which are not in MARKETPLACE_TOOLS) are skipped. Best-effort.
52
+ *
53
+ * @returns {string[]} the slugs that were enabled.
54
+ */
55
+ function enableUnlockedTools(connection) {
56
+ const slugs =
57
+ connection?.connection?.unlocks_tool_slugs ||
58
+ connection?.manifest?.unlocks_tool_slugs ||
59
+ [];
60
+ if (!Array.isArray(slugs) || slugs.length === 0) return [];
61
+ let registryNames;
62
+ try {
63
+ registryNames = new Set(listMarketplaceTools().map((t) => t.name));
64
+ } catch {
65
+ return [];
66
+ }
67
+ const enabled = [];
68
+ for (const slug of slugs) {
69
+ if (typeof slug !== 'string' || !registryNames.has(slug)) continue;
70
+ try {
71
+ setToolEnabled(slug, true);
72
+ enabled.push(slug);
73
+ } catch {
74
+ // best-effort — one bad slug never blocks verification
75
+ }
76
+ }
77
+ return enabled;
78
+ }
79
+
46
80
  function writeAudit(type, meta, status = 'ok', summary = '') {
47
81
  try {
48
82
  getDb().prepare(`
@@ -296,6 +330,40 @@ async function verifySupabase(creds) {
296
330
  }
297
331
  }
298
332
 
333
+ async function verifyHiggsfield(creds) {
334
+ const keyId = creds.HIGGSFIELD_KEY_ID;
335
+ const keySecret = creds.HIGGSFIELD_KEY_SECRET;
336
+ if (!keyId) return { ok: false, reason: 'missing_field', field: 'HIGGSFIELD_KEY_ID' };
337
+ if (!keySecret) return { ok: false, reason: 'missing_field', field: 'HIGGSFIELD_KEY_SECRET' };
338
+ // Live probe against the platform with the Key id:secret header. We treat an
339
+ // explicit auth rejection (401/403) as a hard failure, but accept other
340
+ // statuses (the public REST surface is thin and a probe path may 404) so a
341
+ // valid key is never blocked by an endpoint guess.
342
+ try {
343
+ const fetchFn = wrapFetch('connection.verify.higgsfield', null, fetch);
344
+ const res = await fetchFn('https://platform.higgsfield.ai/v1/job-sets?limit=1', {
345
+ method: 'GET',
346
+ headers: { authorization: `Key ${keyId}:${keySecret}`, accept: 'application/json' },
347
+ });
348
+ if (res.status === 401 || res.status === 403) return { ok: false, reason: 'unauthorized' };
349
+ return {
350
+ ok: true,
351
+ account_label: 'Higgsfield AI',
352
+ last_4: fingerprintLast4(keySecret),
353
+ summary: { key_id_last_4: fingerprintLast4(keyId), live_probe_status: res.status },
354
+ };
355
+ } catch {
356
+ // Network/endpoint uncertainty: save the credentials rather than reject a
357
+ // possibly-valid key. Generation calls will surface a clear auth error if wrong.
358
+ return {
359
+ ok: true,
360
+ account_label: 'Higgsfield AI',
361
+ last_4: fingerprintLast4(keySecret),
362
+ summary: { key_id_last_4: fingerprintLast4(keyId), saved_without_live_verify: true },
363
+ };
364
+ }
365
+ }
366
+
299
367
  async function verifyWhatsapp() {
300
368
  try {
301
369
  const health = await getBridgeHealth();
@@ -378,6 +446,7 @@ const VERIFIERS = {
378
446
  kimi: { fn: verifyKimi, persist: ['KIMI_API_KEY'] },
379
447
  github: { fn: verifyGithub, persist: ['GITHUB_TOKEN'] },
380
448
  resend: { fn: verifyResend, persist: ['RESEND_API_KEY', 'RESEND_FROM_EMAIL'] },
449
+ higgsfield: { fn: verifyHiggsfield, persist: ['HIGGSFIELD_KEY_ID', 'HIGGSFIELD_KEY_SECRET'] },
381
450
  supabase: {
382
451
  fn: verifySupabase,
383
452
  persist: ['SUPABASE_URL', 'SUPABASE_SERVICE_ROLE_KEY', 'SUPABASE_ANON_KEY', 'SUPABASE_ACCESS_TOKEN'],
@@ -558,6 +627,19 @@ export async function POST(request, context) {
558
627
  }
559
628
  }
560
629
 
630
+ // Step 3c: auto-enable the registry tools this connection unlocks, so a freshly
631
+ // connected service is usable from chat without a separate /tools toggle.
632
+ // Enabling only makes a tool callable — risky tiers (high / irreversible_external)
633
+ // still hit the approval gate at execution time, so this never bypasses consent.
634
+ // Best-effort and idempotent; non-registry unlocks (e.g. connector slugs) are skipped.
635
+ const enabledTools = enableUnlockedTools(connection);
636
+ if (enabledTools.length) {
637
+ writeAudit('connection.tools.auto_enabled', {
638
+ service_key: service,
639
+ tools: enabledTools,
640
+ }, 'ok', `Auto-enabled ${enabledTools.length} tool(s) for ${service}`);
641
+ }
642
+
561
643
  writeAudit('connection.verify.succeeded', {
562
644
  service_key: service,
563
645
  scope: scopeTuple.scope,
@@ -565,6 +647,7 @@ export async function POST(request, context) {
565
647
  agent_id: scopeTuple.agent_id,
566
648
  account_label: result.account_label || null,
567
649
  last_4: result.last_4 || null,
650
+ auto_enabled_tools: enabledTools,
568
651
  }, 'ok', `Verify succeeded: ${service} (${scopeTuple.scope})`);
569
652
 
570
653
  const next = getConnection(service);