madarx 2.9.12 → 2.9.14

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 (329) hide show
  1. package/.next/standalone/.next/BUILD_ID +1 -1
  2. package/.next/standalone/.next/app-build-manifest.json +522 -522
  3. package/.next/standalone/.next/app-path-routes-manifest.json +74 -74
  4. package/.next/standalone/.next/build-manifest.json +5 -5
  5. package/.next/standalone/.next/prerender-manifest.json +9 -9
  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 +1 -1
  8. package/.next/standalone/.next/server/app/_not-found.rsc +4 -4
  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_client-reference-manifest.js +1 -1
  14. package/.next/standalone/.next/server/app/agents/page.js +1 -1
  15. package/.next/standalone/.next/server/app/agents/page_client-reference-manifest.js +1 -1
  16. package/.next/standalone/.next/server/app/api/activity/route_client-reference-manifest.js +1 -1
  17. package/.next/standalone/.next/server/app/api/admin/audit-export/route_client-reference-manifest.js +1 -1
  18. package/.next/standalone/.next/server/app/api/admin/share-links/route_client-reference-manifest.js +1 -1
  19. package/.next/standalone/.next/server/app/api/agent-memory/route_client-reference-manifest.js +1 -1
  20. package/.next/standalone/.next/server/app/api/agent-runs/[id]/cancel/route_client-reference-manifest.js +1 -1
  21. package/.next/standalone/.next/server/app/api/agent-runs/[id]/events/route_client-reference-manifest.js +1 -1
  22. package/.next/standalone/.next/server/app/api/agent-runs/[id]/log/route_client-reference-manifest.js +1 -1
  23. package/.next/standalone/.next/server/app/api/agent-runs/[id]/route_client-reference-manifest.js +1 -1
  24. package/.next/standalone/.next/server/app/api/agent-runs/route_client-reference-manifest.js +1 -1
  25. package/.next/standalone/.next/server/app/api/agents/[id]/chain/route_client-reference-manifest.js +1 -1
  26. package/.next/standalone/.next/server/app/api/agents/[id]/memory/route_client-reference-manifest.js +1 -1
  27. package/.next/standalone/.next/server/app/api/agents/[id]/reports/route_client-reference-manifest.js +1 -1
  28. package/.next/standalone/.next/server/app/api/agents/[id]/run/route_client-reference-manifest.js +1 -1
  29. package/.next/standalone/.next/server/app/api/agents/[id]/skills/route_client-reference-manifest.js +1 -1
  30. package/.next/standalone/.next/server/app/api/agents/create/route_client-reference-manifest.js +1 -1
  31. package/.next/standalone/.next/server/app/api/agents/ops/route_client-reference-manifest.js +1 -1
  32. package/.next/standalone/.next/server/app/api/approvals/[id]/route_client-reference-manifest.js +1 -1
  33. package/.next/standalone/.next/server/app/api/approvals/route_client-reference-manifest.js +1 -1
  34. package/.next/standalone/.next/server/app/api/artifacts/[id]/acl/route_client-reference-manifest.js +1 -1
  35. package/.next/standalone/.next/server/app/api/artifacts/[id]/protect/route_client-reference-manifest.js +1 -1
  36. package/.next/standalone/.next/server/app/api/artifacts/[id]/raw/route_client-reference-manifest.js +1 -1
  37. package/.next/standalone/.next/server/app/api/artifacts/[id]/route_client-reference-manifest.js +1 -1
  38. package/.next/standalone/.next/server/app/api/artifacts/[id]/share-link/[linkId]/route_client-reference-manifest.js +1 -1
  39. package/.next/standalone/.next/server/app/api/artifacts/[id]/share-link/route_client-reference-manifest.js +1 -1
  40. package/.next/standalone/.next/server/app/api/artifacts/upload/route_client-reference-manifest.js +1 -1
  41. package/.next/standalone/.next/server/app/api/audit/list/route_client-reference-manifest.js +1 -1
  42. package/.next/standalone/.next/server/app/api/audit/search/route_client-reference-manifest.js +1 -1
  43. package/.next/standalone/.next/server/app/api/auth/callback/route_client-reference-manifest.js +1 -1
  44. package/.next/standalone/.next/server/app/api/auth/config/route_client-reference-manifest.js +1 -1
  45. package/.next/standalone/.next/server/app/api/auth/join-bootstrap/route_client-reference-manifest.js +1 -1
  46. package/.next/standalone/.next/server/app/api/auth/session/route_client-reference-manifest.js +1 -1
  47. package/.next/standalone/.next/server/app/api/brand/route_client-reference-manifest.js +1 -1
  48. package/.next/standalone/.next/server/app/api/chat/sessions/[id]/route_client-reference-manifest.js +1 -1
  49. package/.next/standalone/.next/server/app/api/chat/sessions/route_client-reference-manifest.js +1 -1
  50. package/.next/standalone/.next/server/app/api/config/env/route_client-reference-manifest.js +1 -1
  51. package/.next/standalone/.next/server/app/api/config/route_client-reference-manifest.js +1 -1
  52. package/.next/standalone/.next/server/app/api/connections/[service]/route_client-reference-manifest.js +1 -1
  53. package/.next/standalone/.next/server/app/api/connections/[service]/verify/route_client-reference-manifest.js +1 -1
  54. package/.next/standalone/.next/server/app/api/connections/route_client-reference-manifest.js +1 -1
  55. package/.next/standalone/.next/server/app/api/cron/tick/route.js +1 -1
  56. package/.next/standalone/.next/server/app/api/cron/tick/route_client-reference-manifest.js +1 -1
  57. package/.next/standalone/.next/server/app/api/dashboard/spaces/[id]/move/route_client-reference-manifest.js +1 -1
  58. package/.next/standalone/.next/server/app/api/dashboard/spaces/[id]/route_client-reference-manifest.js +1 -1
  59. package/.next/standalone/.next/server/app/api/dashboard/spaces/[id]/share-link/[linkId]/route_client-reference-manifest.js +1 -1
  60. package/.next/standalone/.next/server/app/api/dashboard/spaces/[id]/share-link/route_client-reference-manifest.js +1 -1
  61. package/.next/standalone/.next/server/app/api/dashboard/spaces/import/route_client-reference-manifest.js +1 -1
  62. package/.next/standalone/.next/server/app/api/dashboard/spaces/route_client-reference-manifest.js +1 -1
  63. package/.next/standalone/.next/server/app/api/disk/files/[id]/blob/route_client-reference-manifest.js +1 -1
  64. package/.next/standalone/.next/server/app/api/disk/files/[id]/route_client-reference-manifest.js +1 -1
  65. package/.next/standalone/.next/server/app/api/disk/files/[id]/transcribe/route_client-reference-manifest.js +1 -1
  66. package/.next/standalone/.next/server/app/api/disk/files/route_client-reference-manifest.js +1 -1
  67. package/.next/standalone/.next/server/app/api/disk/folders/route_client-reference-manifest.js +1 -1
  68. package/.next/standalone/.next/server/app/api/events/since/[cursor]/route_client-reference-manifest.js +1 -1
  69. package/.next/standalone/.next/server/app/api/events/stream/route_client-reference-manifest.js +1 -1
  70. package/.next/standalone/.next/server/app/api/fs/create-folder/route_client-reference-manifest.js +1 -1
  71. package/.next/standalone/.next/server/app/api/fs/pick-folder/route_client-reference-manifest.js +1 -1
  72. package/.next/standalone/.next/server/app/api/hail/engagements/[id]/blueprint/route_client-reference-manifest.js +1 -1
  73. package/.next/standalone/.next/server/app/api/hail/engagements/[id]/diagnostic/route_client-reference-manifest.js +1 -1
  74. package/.next/standalone/.next/server/app/api/hail/engagements/[id]/governance/route_client-reference-manifest.js +1 -1
  75. package/.next/standalone/.next/server/app/api/hail/engagements/[id]/interview/route_client-reference-manifest.js +1 -1
  76. package/.next/standalone/.next/server/app/api/hail/engagements/[id]/pilot/route_client-reference-manifest.js +1 -1
  77. package/.next/standalone/.next/server/app/api/hail/engagements/[id]/quarterly/route_client-reference-manifest.js +1 -1
  78. package/.next/standalone/.next/server/app/api/hail/engagements/[id]/route_client-reference-manifest.js +1 -1
  79. package/.next/standalone/.next/server/app/api/hail/engagements/[id]/setup-package/route_client-reference-manifest.js +1 -1
  80. package/.next/standalone/.next/server/app/api/hail/engagements/route_client-reference-manifest.js +1 -1
  81. package/.next/standalone/.next/server/app/api/hail/interviews/[id]/responses/route_client-reference-manifest.js +1 -1
  82. package/.next/standalone/.next/server/app/api/hail/interviews/[id]/route_client-reference-manifest.js +1 -1
  83. package/.next/standalone/.next/server/app/api/hail/setup-packages/[id]/apply/route_client-reference-manifest.js +1 -1
  84. package/.next/standalone/.next/server/app/api/hail/setup-packages/validate/route_client-reference-manifest.js +1 -1
  85. package/.next/standalone/.next/server/app/api/heartbeat/tick/route_client-reference-manifest.js +1 -1
  86. package/.next/standalone/.next/server/app/api/heartbeat/worker/route.js +1 -1
  87. package/.next/standalone/.next/server/app/api/heartbeat/worker/route_client-reference-manifest.js +1 -1
  88. package/.next/standalone/.next/server/app/api/help/route_client-reference-manifest.js +1 -1
  89. package/.next/standalone/.next/server/app/api/hermes/jobs/[id]/events/route_client-reference-manifest.js +1 -1
  90. package/.next/standalone/.next/server/app/api/hermes/jobs/[id]/route_client-reference-manifest.js +1 -1
  91. package/.next/standalone/.next/server/app/api/hermes/jobs/route_client-reference-manifest.js +1 -1
  92. package/.next/standalone/.next/server/app/api/integrations/google/callback/route_client-reference-manifest.js +1 -1
  93. package/.next/standalone/.next/server/app/api/integrations/google/oauth/route_client-reference-manifest.js +1 -1
  94. package/.next/standalone/.next/server/app/api/marketplace/[id]/route_client-reference-manifest.js +1 -1
  95. package/.next/standalone/.next/server/app/api/marketplace/open-design/route_client-reference-manifest.js +1 -1
  96. package/.next/standalone/.next/server/app/api/marketplace/route_client-reference-manifest.js +1 -1
  97. package/.next/standalone/.next/server/app/api/mines/import-roots/route_client-reference-manifest.js +1 -1
  98. package/.next/standalone/.next/server/app/api/mines/portfolio/route_client-reference-manifest.js +1 -1
  99. package/.next/standalone/.next/server/app/api/mines/projects/[id]/chunks/route_client-reference-manifest.js +1 -1
  100. package/.next/standalone/.next/server/app/api/mines/projects/[id]/diligence/route_client-reference-manifest.js +1 -1
  101. package/.next/standalone/.next/server/app/api/mines/projects/[id]/import/route_client-reference-manifest.js +1 -1
  102. package/.next/standalone/.next/server/app/api/mines/projects/[id]/publish/route_client-reference-manifest.js +1 -1
  103. package/.next/standalone/.next/server/app/api/mines/projects/route_client-reference-manifest.js +1 -1
  104. package/.next/standalone/.next/server/app/api/missions/route_client-reference-manifest.js +1 -1
  105. package/.next/standalone/.next/server/app/api/models/route_client-reference-manifest.js +1 -1
  106. package/.next/standalone/.next/server/app/api/onboarding/blueprint/route_client-reference-manifest.js +1 -1
  107. package/.next/standalone/.next/server/app/api/onboarding/launch/route_client-reference-manifest.js +1 -1
  108. package/.next/standalone/.next/server/app/api/orchestrator/command/route_client-reference-manifest.js +1 -1
  109. package/.next/standalone/.next/server/app/api/orchestrator/stream/route_client-reference-manifest.js +1 -1
  110. package/.next/standalone/.next/server/app/api/org/route_client-reference-manifest.js +1 -1
  111. package/.next/standalone/.next/server/app/api/orgs/[id]/invites/[inviteId]/route_client-reference-manifest.js +1 -1
  112. package/.next/standalone/.next/server/app/api/orgs/[id]/invites/route_client-reference-manifest.js +1 -1
  113. package/.next/standalone/.next/server/app/api/orgs/[id]/members/[userId]/role/route_client-reference-manifest.js +1 -1
  114. package/.next/standalone/.next/server/app/api/orgs/[id]/members/[userId]/route_client-reference-manifest.js +1 -1
  115. package/.next/standalone/.next/server/app/api/orgs/[id]/members/route_client-reference-manifest.js +1 -1
  116. package/.next/standalone/.next/server/app/api/orgs/[id]/route_client-reference-manifest.js +1 -1
  117. package/.next/standalone/.next/server/app/api/orgs/invites/pending/route_client-reference-manifest.js +1 -1
  118. package/.next/standalone/.next/server/app/api/orgs/join/route_client-reference-manifest.js +1 -1
  119. package/.next/standalone/.next/server/app/api/orgs/route_client-reference-manifest.js +1 -1
  120. package/.next/standalone/.next/server/app/api/printing-press/clis/route_client-reference-manifest.js +1 -1
  121. package/.next/standalone/.next/server/app/api/printing-press/install/route_client-reference-manifest.js +1 -1
  122. package/.next/standalone/.next/server/app/api/printing-press/security-mode/route_client-reference-manifest.js +1 -1
  123. package/.next/standalone/.next/server/app/api/privacy/config/route_client-reference-manifest.js +1 -1
  124. package/.next/standalone/.next/server/app/api/privacy/verify/route_client-reference-manifest.js +1 -1
  125. package/.next/standalone/.next/server/app/api/processes/[id]/route_client-reference-manifest.js +1 -1
  126. package/.next/standalone/.next/server/app/api/processes/[id]/share-link/route_client-reference-manifest.js +1 -1
  127. package/.next/standalone/.next/server/app/api/processes/[id]/stages/[stageId]/override/route_client-reference-manifest.js +1 -1
  128. package/.next/standalone/.next/server/app/api/processes/[id]/stages/[stageId]/retry/route_client-reference-manifest.js +1 -1
  129. package/.next/standalone/.next/server/app/api/processes/[id]/stages/[stageId]/submit/route_client-reference-manifest.js +1 -1
  130. package/.next/standalone/.next/server/app/api/processes/definitions/[slug]/route_client-reference-manifest.js +1 -1
  131. package/.next/standalone/.next/server/app/api/processes/definitions/[slug]/settings/route_client-reference-manifest.js +1 -1
  132. package/.next/standalone/.next/server/app/api/processes/definitions/route_client-reference-manifest.js +1 -1
  133. package/.next/standalone/.next/server/app/api/processes/definitions/validate/route_client-reference-manifest.js +1 -1
  134. package/.next/standalone/.next/server/app/api/processes/route_client-reference-manifest.js +1 -1
  135. package/.next/standalone/.next/server/app/api/processes/start-and-route/route_client-reference-manifest.js +1 -1
  136. package/.next/standalone/.next/server/app/api/projects/[slug]/library/route_client-reference-manifest.js +1 -1
  137. package/.next/standalone/.next/server/app/api/projects/[slug]/route_client-reference-manifest.js +1 -1
  138. package/.next/standalone/.next/server/app/api/projects/route_client-reference-manifest.js +1 -1
  139. package/.next/standalone/.next/server/app/api/runs/approve-claude-run/route_client-reference-manifest.js +1 -1
  140. package/.next/standalone/.next/server/app/api/runs/claude-code-dry-run/route_client-reference-manifest.js +1 -1
  141. package/.next/standalone/.next/server/app/api/runs/competitor-report/route_client-reference-manifest.js +1 -1
  142. package/.next/standalone/.next/server/app/api/runs/engine-ping/route_client-reference-manifest.js +1 -1
  143. package/.next/standalone/.next/server/app/api/runs/marketing-plan/route_client-reference-manifest.js +1 -1
  144. package/.next/standalone/.next/server/app/api/schedules/upsert/route_client-reference-manifest.js +1 -1
  145. package/.next/standalone/.next/server/app/api/secrets/[name]/route_client-reference-manifest.js +1 -1
  146. package/.next/standalone/.next/server/app/api/secrets/route_client-reference-manifest.js +1 -1
  147. package/.next/standalone/.next/server/app/api/settings/trust-mode/route_client-reference-manifest.js +1 -1
  148. package/.next/standalone/.next/server/app/api/share/[token]/otp/route_client-reference-manifest.js +1 -1
  149. package/.next/standalone/.next/server/app/api/share/[token]/route_client-reference-manifest.js +1 -1
  150. package/.next/standalone/.next/server/app/api/share/[token]/verify/route_client-reference-manifest.js +1 -1
  151. package/.next/standalone/.next/server/app/api/share/space/[token]/otp/route_client-reference-manifest.js +1 -1
  152. package/.next/standalone/.next/server/app/api/share/space/[token]/route_client-reference-manifest.js +1 -1
  153. package/.next/standalone/.next/server/app/api/share/space/[token]/verify/route_client-reference-manifest.js +1 -1
  154. package/.next/standalone/.next/server/app/api/shared/spaces/[id]/acl/route_client-reference-manifest.js +1 -1
  155. package/.next/standalone/.next/server/app/api/shared/spaces/publish/route_client-reference-manifest.js +1 -1
  156. package/.next/standalone/.next/server/app/api/shared/spaces/route_client-reference-manifest.js +1 -1
  157. package/.next/standalone/.next/server/app/api/shared/spaces/status/route_client-reference-manifest.js +1 -1
  158. package/.next/standalone/.next/server/app/api/shared/spaces/unpublish/route_client-reference-manifest.js +1 -1
  159. package/.next/standalone/.next/server/app/api/state/route_client-reference-manifest.js +1 -1
  160. package/.next/standalone/.next/server/app/api/system/update/route_client-reference-manifest.js +1 -1
  161. package/.next/standalone/.next/server/app/api/tasks/[id]/active-run/route_client-reference-manifest.js +1 -1
  162. package/.next/standalone/.next/server/app/api/tasks/[id]/attachments/route_client-reference-manifest.js +1 -1
  163. package/.next/standalone/.next/server/app/api/tasks/[id]/checklist/[itemId]/route_client-reference-manifest.js +1 -1
  164. package/.next/standalone/.next/server/app/api/tasks/[id]/checklist/route_client-reference-manifest.js +1 -1
  165. package/.next/standalone/.next/server/app/api/tasks/[id]/checkout/route_client-reference-manifest.js +1 -1
  166. package/.next/standalone/.next/server/app/api/tasks/[id]/children/route_client-reference-manifest.js +1 -1
  167. package/.next/standalone/.next/server/app/api/tasks/[id]/comments/route_client-reference-manifest.js +1 -1
  168. package/.next/standalone/.next/server/app/api/tasks/[id]/events/route_client-reference-manifest.js +1 -1
  169. package/.next/standalone/.next/server/app/api/tasks/[id]/live-runs/route_client-reference-manifest.js +1 -1
  170. package/.next/standalone/.next/server/app/api/tasks/[id]/release/route_client-reference-manifest.js +1 -1
  171. package/.next/standalone/.next/server/app/api/tasks/[id]/route_client-reference-manifest.js +1 -1
  172. package/.next/standalone/.next/server/app/api/tasks/route_client-reference-manifest.js +1 -1
  173. package/.next/standalone/.next/server/app/api/tool-allowlists/[id]/route_client-reference-manifest.js +1 -1
  174. package/.next/standalone/.next/server/app/api/tool-allowlists/route_client-reference-manifest.js +1 -1
  175. package/.next/standalone/.next/server/app/api/tool-egress/route_client-reference-manifest.js +1 -1
  176. package/.next/standalone/.next/server/app/api/tools/[name]/approve/route_client-reference-manifest.js +1 -1
  177. package/.next/standalone/.next/server/app/api/tools/[name]/route_client-reference-manifest.js +1 -1
  178. package/.next/standalone/.next/server/app/api/tools/route_client-reference-manifest.js +1 -1
  179. package/.next/standalone/.next/server/app/api/transcripts/route_client-reference-manifest.js +1 -1
  180. package/.next/standalone/.next/server/app/api/voice/providers/route_client-reference-manifest.js +1 -1
  181. package/.next/standalone/.next/server/app/api/voice/realtime/context/route_client-reference-manifest.js +1 -1
  182. package/.next/standalone/.next/server/app/api/voice/realtime/session/route_client-reference-manifest.js +1 -1
  183. package/.next/standalone/.next/server/app/api/voice/realtime/tool-result/route_client-reference-manifest.js +1 -1
  184. package/.next/standalone/.next/server/app/api/voice/realtime/tools/route_client-reference-manifest.js +1 -1
  185. package/.next/standalone/.next/server/app/api/voice/tts/route_client-reference-manifest.js +1 -1
  186. package/.next/standalone/.next/server/app/api/whatsapp/allowlist/route_client-reference-manifest.js +1 -1
  187. package/.next/standalone/.next/server/app/api/whatsapp/messages/route_client-reference-manifest.js +1 -1
  188. package/.next/standalone/.next/server/app/api/whatsapp/qr/route_client-reference-manifest.js +1 -1
  189. package/.next/standalone/.next/server/app/api/whatsapp/send/route_client-reference-manifest.js +1 -1
  190. package/.next/standalone/.next/server/app/api/whatsapp/status/route_client-reference-manifest.js +1 -1
  191. package/.next/standalone/.next/server/app/approvals/page.js +1 -1
  192. package/.next/standalone/.next/server/app/approvals/page_client-reference-manifest.js +1 -1
  193. package/.next/standalone/.next/server/app/architecture/page_client-reference-manifest.js +1 -1
  194. package/.next/standalone/.next/server/app/architecture.html +2 -2
  195. package/.next/standalone/.next/server/app/architecture.rsc +4 -4
  196. package/.next/standalone/.next/server/app/audit/live/page_client-reference-manifest.js +1 -1
  197. package/.next/standalone/.next/server/app/audit/page_client-reference-manifest.js +1 -1
  198. package/.next/standalone/.next/server/app/brand/page_client-reference-manifest.js +1 -1
  199. package/.next/standalone/.next/server/app/brand.html +1 -1
  200. package/.next/standalone/.next/server/app/brand.rsc +4 -4
  201. package/.next/standalone/.next/server/app/disk/page_client-reference-manifest.js +1 -1
  202. package/.next/standalone/.next/server/app/federated-ai/page_client-reference-manifest.js +1 -1
  203. package/.next/standalone/.next/server/app/federated-ai.html +2 -2
  204. package/.next/standalone/.next/server/app/federated-ai.rsc +4 -4
  205. package/.next/standalone/.next/server/app/hail/[id]/governance/page_client-reference-manifest.js +1 -1
  206. package/.next/standalone/.next/server/app/hail/[id]/interview/page.js +2 -2
  207. package/.next/standalone/.next/server/app/hail/[id]/interview/page_client-reference-manifest.js +1 -1
  208. package/.next/standalone/.next/server/app/hail/[id]/page.js +1 -1
  209. package/.next/standalone/.next/server/app/hail/[id]/page_client-reference-manifest.js +1 -1
  210. package/.next/standalone/.next/server/app/hail/[id]/setup/page.js +1 -1
  211. package/.next/standalone/.next/server/app/hail/[id]/setup/page_client-reference-manifest.js +1 -1
  212. package/.next/standalone/.next/server/app/hail/page.js +1 -1
  213. package/.next/standalone/.next/server/app/hail/page_client-reference-manifest.js +1 -1
  214. package/.next/standalone/.next/server/app/help/[slug]/page_client-reference-manifest.js +1 -1
  215. package/.next/standalone/.next/server/app/help/page_client-reference-manifest.js +1 -1
  216. package/.next/standalone/.next/server/app/index.html +2 -2
  217. package/.next/standalone/.next/server/app/index.rsc +4 -4
  218. package/.next/standalone/.next/server/app/join/page_client-reference-manifest.js +1 -1
  219. package/.next/standalone/.next/server/app/join.html +1 -1
  220. package/.next/standalone/.next/server/app/join.rsc +4 -4
  221. package/.next/standalone/.next/server/app/login/page_client-reference-manifest.js +1 -1
  222. package/.next/standalone/.next/server/app/marketplace/page.js +1 -1
  223. package/.next/standalone/.next/server/app/marketplace/page_client-reference-manifest.js +1 -1
  224. package/.next/standalone/.next/server/app/mines/[projectId]/page_client-reference-manifest.js +1 -1
  225. package/.next/standalone/.next/server/app/mines/[projectId]/results/page_client-reference-manifest.js +1 -1
  226. package/.next/standalone/.next/server/app/mines/page_client-reference-manifest.js +1 -1
  227. package/.next/standalone/.next/server/app/missions/page.js +2 -2
  228. package/.next/standalone/.next/server/app/missions/page_client-reference-manifest.js +1 -1
  229. package/.next/standalone/.next/server/app/onboarding/org/page_client-reference-manifest.js +1 -1
  230. package/.next/standalone/.next/server/app/onboarding/page_client-reference-manifest.js +1 -1
  231. package/.next/standalone/.next/server/app/onboarding.html +2 -2
  232. package/.next/standalone/.next/server/app/onboarding.rsc +4 -4
  233. package/.next/standalone/.next/server/app/org/page.js +1 -1
  234. package/.next/standalone/.next/server/app/org/page.js.nft.json +1 -1
  235. package/.next/standalone/.next/server/app/org/page_client-reference-manifest.js +1 -1
  236. package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
  237. package/.next/standalone/.next/server/app/projects/[slug]/log/page_client-reference-manifest.js +1 -1
  238. package/.next/standalone/.next/server/app/projects/[slug]/page_client-reference-manifest.js +1 -1
  239. package/.next/standalone/.next/server/app/projects/new/page.js +1 -1
  240. package/.next/standalone/.next/server/app/projects/new/page_client-reference-manifest.js +1 -1
  241. package/.next/standalone/.next/server/app/projects/new.html +1 -1
  242. package/.next/standalone/.next/server/app/projects/new.rsc +5 -5
  243. package/.next/standalone/.next/server/app/projects/page.js +10 -10
  244. package/.next/standalone/.next/server/app/projects/page_client-reference-manifest.js +1 -1
  245. package/.next/standalone/.next/server/app/reports/[file]/route_client-reference-manifest.js +1 -1
  246. package/.next/standalone/.next/server/app/reports/page_client-reference-manifest.js +1 -1
  247. package/.next/standalone/.next/server/app/runtime/page_client-reference-manifest.js +1 -1
  248. package/.next/standalone/.next/server/app/schedules/page.js +2 -2
  249. package/.next/standalone/.next/server/app/schedules/page_client-reference-manifest.js +1 -1
  250. package/.next/standalone/.next/server/app/settings/account/page_client-reference-manifest.js +1 -1
  251. package/.next/standalone/.next/server/app/settings/advanced/page_client-reference-manifest.js +1 -1
  252. package/.next/standalone/.next/server/app/settings/appearance/page_client-reference-manifest.js +1 -1
  253. package/.next/standalone/.next/server/app/settings/brand/page_client-reference-manifest.js +1 -1
  254. package/.next/standalone/.next/server/app/settings/brand.html +2 -2
  255. package/.next/standalone/.next/server/app/settings/brand.rsc +4 -4
  256. package/.next/standalone/.next/server/app/settings/connectors/page_client-reference-manifest.js +1 -1
  257. package/.next/standalone/.next/server/app/settings/engines/page_client-reference-manifest.js +1 -1
  258. package/.next/standalone/.next/server/app/settings/onboarding/page_client-reference-manifest.js +1 -1
  259. package/.next/standalone/.next/server/app/settings/onboarding.html +2 -2
  260. package/.next/standalone/.next/server/app/settings/onboarding.rsc +4 -4
  261. package/.next/standalone/.next/server/app/settings/organization/page.js +1 -1
  262. package/.next/standalone/.next/server/app/settings/organization/page.js.nft.json +1 -1
  263. package/.next/standalone/.next/server/app/settings/organization/page_client-reference-manifest.js +1 -1
  264. package/.next/standalone/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  265. package/.next/standalone/.next/server/app/settings/runtime/page_client-reference-manifest.js +1 -1
  266. package/.next/standalone/.next/server/app/settings/tools/page_client-reference-manifest.js +1 -1
  267. package/.next/standalone/.next/server/app/settings.html +2 -2
  268. package/.next/standalone/.next/server/app/settings.rsc +4 -4
  269. package/.next/standalone/.next/server/app/share/[token]/page_client-reference-manifest.js +1 -1
  270. package/.next/standalone/.next/server/app/share/space/[token]/page_client-reference-manifest.js +1 -1
  271. package/.next/standalone/.next/server/app/tasks/[id]/page.js +2 -2
  272. package/.next/standalone/.next/server/app/tasks/[id]/page_client-reference-manifest.js +1 -1
  273. package/.next/standalone/.next/server/app/tasks/page.js +1 -1
  274. package/.next/standalone/.next/server/app/tasks/page_client-reference-manifest.js +1 -1
  275. package/.next/standalone/.next/server/app/team/[agentId]/page_client-reference-manifest.js +1 -1
  276. package/.next/standalone/.next/server/app/team/page_client-reference-manifest.js +1 -1
  277. package/.next/standalone/.next/server/app/tools/page_client-reference-manifest.js +1 -1
  278. package/.next/standalone/.next/server/app/whatsapp/page_client-reference-manifest.js +1 -1
  279. package/.next/standalone/.next/server/app/whatsapp.html +1 -1
  280. package/.next/standalone/.next/server/app/whatsapp.rsc +4 -4
  281. package/.next/standalone/.next/server/app/workflows/[caseId]/page_client-reference-manifest.js +1 -1
  282. package/.next/standalone/.next/server/app/workflows/new/[caseId]/page_client-reference-manifest.js +1 -1
  283. package/.next/standalone/.next/server/app/workflows/new/definition/page_client-reference-manifest.js +1 -1
  284. package/.next/standalone/.next/server/app/workflows/new/page_client-reference-manifest.js +1 -1
  285. package/.next/standalone/.next/server/app/workflows/page_client-reference-manifest.js +1 -1
  286. package/.next/standalone/.next/server/app/workflows/share/[caseId]/page_client-reference-manifest.js +1 -1
  287. package/.next/standalone/.next/server/app-paths-manifest.json +74 -74
  288. package/.next/standalone/.next/server/chunks/1699.js +7 -7
  289. package/.next/standalone/.next/server/chunks/{8677.js → 1731.js} +1 -1
  290. package/.next/standalone/.next/server/chunks/1997.js +2 -2
  291. package/.next/standalone/.next/server/chunks/6700.js +3 -3
  292. package/.next/standalone/.next/server/chunks/671.js +1 -1
  293. package/.next/standalone/.next/server/chunks/6818.js +1 -1
  294. package/.next/standalone/.next/server/functions-config-manifest.json +35 -35
  295. package/.next/standalone/.next/server/middleware-build-manifest.js +1 -1
  296. package/.next/standalone/.next/server/middleware-manifest.json +5 -5
  297. package/.next/standalone/.next/server/pages/404.html +1 -1
  298. package/.next/standalone/.next/server/pages/500.html +1 -1
  299. package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
  300. package/.next/standalone/.next/server/server-reference-manifest.json +1 -1
  301. package/.next/{static/chunks/app/layout-3c5a2ec0922a44da.js → standalone/.next/static/chunks/app/layout-01269582605f37ea.js} +1 -1
  302. package/.next/standalone/.next/static/chunks/app/projects/[slug]/page-bc5359a5168e8ce3.js +1 -0
  303. package/.next/standalone/.next/static/chunks/app/projects/{page-e73dec080197c3c1.js → page-f55a986677cf4da1.js} +1 -1
  304. package/.next/standalone/.next/static/chunks/{webpack-9b86a02e210b78df.js → webpack-ce537f60727acb61.js} +1 -1
  305. package/.next/standalone/.next/static/css/dbef8eff6337245e.css +1 -0
  306. package/.next/standalone/data/.artifacts-migrated-v1 +1 -1
  307. package/.next/standalone/data/.default-project-seeded +1 -1
  308. package/.next/standalone/data/madarx.sqlite +0 -0
  309. package/.next/standalone/data/madarx.sqlite-shm +0 -0
  310. package/.next/standalone/data/madarx.sqlite-wal +0 -0
  311. package/.next/standalone/package.json +1 -1
  312. package/.next/{standalone/.next/static/chunks/app/layout-3c5a2ec0922a44da.js → static/chunks/app/layout-01269582605f37ea.js} +1 -1
  313. package/.next/static/chunks/app/projects/[slug]/page-bc5359a5168e8ce3.js +1 -0
  314. package/.next/static/chunks/app/projects/{page-e73dec080197c3c1.js → page-f55a986677cf4da1.js} +1 -1
  315. package/.next/static/chunks/{webpack-9b86a02e210b78df.js → webpack-ce537f60727acb61.js} +1 -1
  316. package/.next/static/css/dbef8eff6337245e.css +1 -0
  317. package/app/components/smart-search.jsx +1 -1
  318. package/lib/auth.js +62 -0
  319. package/lib/inproc-token.js +17 -6
  320. package/lib/shared-cloud.js +88 -0
  321. package/package.json +1 -1
  322. package/.next/standalone/.next/static/chunks/app/projects/[slug]/page-8696ab69500ca8e1.js +0 -1
  323. package/.next/standalone/.next/static/css/3adc5e4c7a6f251f.css +0 -1
  324. package/.next/static/chunks/app/projects/[slug]/page-8696ab69500ca8e1.js +0 -1
  325. package/.next/static/css/3adc5e4c7a6f251f.css +0 -1
  326. /package/.next/standalone/.next/static/{Ggj14oXXrOVWG6lsx-BHT → q1AxdAE8spFgM2Iyr1w6Q}/_buildManifest.js +0 -0
  327. /package/.next/standalone/.next/static/{Ggj14oXXrOVWG6lsx-BHT → q1AxdAE8spFgM2Iyr1w6Q}/_ssgManifest.js +0 -0
  328. /package/.next/static/{Ggj14oXXrOVWG6lsx-BHT → q1AxdAE8spFgM2Iyr1w6Q}/_buildManifest.js +0 -0
  329. /package/.next/static/{Ggj14oXXrOVWG6lsx-BHT → q1AxdAE8spFgM2Iyr1w6Q}/_ssgManifest.js +0 -0
@@ -5,6 +5,7 @@
5
5
  "/api/dashboard/spaces/import/route": "app/api/dashboard/spaces/import/route.js",
6
6
  "/api/dashboard/spaces/route": "app/api/dashboard/spaces/route.js",
7
7
  "/api/activity/route": "app/api/activity/route.js",
8
+ "/api/admin/audit-export/route": "app/api/admin/audit-export/route.js",
8
9
  "/api/admin/share-links/route": "app/api/admin/share-links/route.js",
9
10
  "/api/agent-memory/route": "app/api/agent-memory/route.js",
10
11
  "/api/agent-runs/[id]/cancel/route": "app/api/agent-runs/[id]/cancel/route.js",
@@ -12,10 +13,8 @@
12
13
  "/api/agent-runs/[id]/log/route": "app/api/agent-runs/[id]/log/route.js",
13
14
  "/api/agent-runs/[id]/route": "app/api/agent-runs/[id]/route.js",
14
15
  "/api/agent-runs/route": "app/api/agent-runs/route.js",
15
- "/api/admin/audit-export/route": "app/api/admin/audit-export/route.js",
16
16
  "/api/agents/[id]/chain/route": "app/api/agents/[id]/chain/route.js",
17
17
  "/api/agents/[id]/memory/route": "app/api/agents/[id]/memory/route.js",
18
- "/api/agents/[id]/reports/route": "app/api/agents/[id]/reports/route.js",
19
18
  "/api/agents/[id]/run/route": "app/api/agents/[id]/run/route.js",
20
19
  "/api/agents/[id]/skills/route": "app/api/agents/[id]/skills/route.js",
21
20
  "/api/agents/create/route": "app/api/agents/create/route.js",
@@ -23,22 +22,23 @@
23
22
  "/api/approvals/[id]/route": "app/api/approvals/[id]/route.js",
24
23
  "/api/approvals/route": "app/api/approvals/route.js",
25
24
  "/api/artifacts/[id]/protect/route": "app/api/artifacts/[id]/protect/route.js",
26
- "/api/artifacts/[id]/raw/route": "app/api/artifacts/[id]/raw/route.js",
25
+ "/api/agents/[id]/reports/route": "app/api/agents/[id]/reports/route.js",
27
26
  "/api/artifacts/[id]/route": "app/api/artifacts/[id]/route.js",
28
27
  "/api/artifacts/[id]/share-link/[linkId]/route": "app/api/artifacts/[id]/share-link/[linkId]/route.js",
29
28
  "/api/artifacts/[id]/share-link/route": "app/api/artifacts/[id]/share-link/route.js",
29
+ "/api/artifacts/upload/route": "app/api/artifacts/upload/route.js",
30
30
  "/api/audit/list/route": "app/api/audit/list/route.js",
31
- "/api/audit/search/route": "app/api/audit/search/route.js",
32
- "/api/auth/config/route": "app/api/auth/config/route.js",
31
+ "/api/artifacts/[id]/acl/route": "app/api/artifacts/[id]/acl/route.js",
33
32
  "/api/auth/callback/route": "app/api/auth/callback/route.js",
33
+ "/api/auth/config/route": "app/api/auth/config/route.js",
34
34
  "/api/auth/join-bootstrap/route": "app/api/auth/join-bootstrap/route.js",
35
- "/api/brand/route": "app/api/brand/route.js",
35
+ "/api/auth/session/route": "app/api/auth/session/route.js",
36
+ "/api/artifacts/[id]/raw/route": "app/api/artifacts/[id]/raw/route.js",
36
37
  "/api/chat/sessions/[id]/route": "app/api/chat/sessions/[id]/route.js",
37
38
  "/api/chat/sessions/route": "app/api/chat/sessions/route.js",
38
39
  "/api/config/env/route": "app/api/config/env/route.js",
39
- "/api/artifacts/[id]/acl/route": "app/api/artifacts/[id]/acl/route.js",
40
+ "/api/config/route": "app/api/config/route.js",
40
41
  "/api/connections/[service]/route": "app/api/connections/[service]/route.js",
41
- "/api/artifacts/upload/route": "app/api/artifacts/upload/route.js",
42
42
  "/api/connections/route": "app/api/connections/route.js",
43
43
  "/api/cron/tick/route": "app/api/cron/tick/route.js",
44
44
  "/api/dashboard/spaces/[id]/share-link/[linkId]/route": "app/api/dashboard/spaces/[id]/share-link/[linkId]/route.js",
@@ -49,130 +49,130 @@
49
49
  "/api/disk/files/route": "app/api/disk/files/route.js",
50
50
  "/api/disk/folders/route": "app/api/disk/folders/route.js",
51
51
  "/api/events/since/[cursor]/route": "app/api/events/since/[cursor]/route.js",
52
- "/api/auth/session/route": "app/api/auth/session/route.js",
52
+ "/api/audit/search/route": "app/api/audit/search/route.js",
53
53
  "/api/fs/create-folder/route": "app/api/fs/create-folder/route.js",
54
54
  "/api/fs/pick-folder/route": "app/api/fs/pick-folder/route.js",
55
55
  "/api/hail/engagements/[id]/blueprint/route": "app/api/hail/engagements/[id]/blueprint/route.js",
56
56
  "/api/hail/engagements/[id]/diagnostic/route": "app/api/hail/engagements/[id]/diagnostic/route.js",
57
- "/api/hail/engagements/[id]/governance/route": "app/api/hail/engagements/[id]/governance/route.js",
58
- "/api/config/route": "app/api/config/route.js",
57
+ "/api/brand/route": "app/api/brand/route.js",
58
+ "/api/hail/engagements/[id]/interview/route": "app/api/hail/engagements/[id]/interview/route.js",
59
59
  "/api/hail/engagements/[id]/pilot/route": "app/api/hail/engagements/[id]/pilot/route.js",
60
- "/api/hail/engagements/[id]/quarterly/route": "app/api/hail/engagements/[id]/quarterly/route.js",
61
60
  "/api/hail/engagements/[id]/route": "app/api/hail/engagements/[id]/route.js",
61
+ "/api/hail/engagements/[id]/quarterly/route": "app/api/hail/engagements/[id]/quarterly/route.js",
62
62
  "/api/hail/engagements/[id]/setup-package/route": "app/api/hail/engagements/[id]/setup-package/route.js",
63
- "/api/connections/[service]/verify/route": "app/api/connections/[service]/verify/route.js",
64
- "/api/hail/engagements/[id]/interview/route": "app/api/hail/engagements/[id]/interview/route.js",
65
63
  "/api/hail/interviews/[id]/responses/route": "app/api/hail/interviews/[id]/responses/route.js",
66
- "/api/hail/setup-packages/[id]/apply/route": "app/api/hail/setup-packages/[id]/apply/route.js",
64
+ "/api/hail/engagements/route": "app/api/hail/engagements/route.js",
67
65
  "/api/hail/interviews/[id]/route": "app/api/hail/interviews/[id]/route.js",
68
- "/api/hail/setup-packages/validate/route": "app/api/hail/setup-packages/validate/route.js",
66
+ "/api/hail/setup-packages/[id]/apply/route": "app/api/hail/setup-packages/[id]/apply/route.js",
67
+ "/api/connections/[service]/verify/route": "app/api/connections/[service]/verify/route.js",
69
68
  "/api/heartbeat/tick/route": "app/api/heartbeat/tick/route.js",
70
69
  "/api/heartbeat/worker/route": "app/api/heartbeat/worker/route.js",
71
70
  "/api/help/route": "app/api/help/route.js",
72
- "/api/hermes/jobs/[id]/route": "app/api/hermes/jobs/[id]/route.js",
73
- "/api/hermes/jobs/[id]/events/route": "app/api/hermes/jobs/[id]/events/route.js",
71
+ "/api/events/stream/route": "app/api/events/stream/route.js",
74
72
  "/api/hermes/jobs/route": "app/api/hermes/jobs/route.js",
73
+ "/api/hermes/jobs/[id]/route": "app/api/hermes/jobs/[id]/route.js",
75
74
  "/api/integrations/google/callback/route": "app/api/integrations/google/callback/route.js",
75
+ "/api/marketplace/[id]/route": "app/api/marketplace/[id]/route.js",
76
76
  "/api/integrations/google/oauth/route": "app/api/integrations/google/oauth/route.js",
77
- "/api/events/stream/route": "app/api/events/stream/route.js",
78
77
  "/api/marketplace/open-design/route": "app/api/marketplace/open-design/route.js",
79
78
  "/api/marketplace/route": "app/api/marketplace/route.js",
80
79
  "/api/mines/import-roots/route": "app/api/mines/import-roots/route.js",
81
80
  "/api/mines/portfolio/route": "app/api/mines/portfolio/route.js",
82
- "/api/mines/projects/[id]/chunks/route": "app/api/mines/projects/[id]/chunks/route.js",
81
+ "/api/hail/engagements/[id]/governance/route": "app/api/hail/engagements/[id]/governance/route.js",
83
82
  "/api/mines/projects/[id]/diligence/route": "app/api/mines/projects/[id]/diligence/route.js",
84
- "/api/mines/projects/[id]/publish/route": "app/api/mines/projects/[id]/publish/route.js",
83
+ "/api/hail/setup-packages/validate/route": "app/api/hail/setup-packages/validate/route.js",
85
84
  "/api/mines/projects/route": "app/api/mines/projects/route.js",
86
85
  "/api/missions/route": "app/api/missions/route.js",
87
86
  "/api/models/route": "app/api/models/route.js",
88
- "/api/onboarding/blueprint/route": "app/api/onboarding/blueprint/route.js",
87
+ "/api/mines/projects/[id]/publish/route": "app/api/mines/projects/[id]/publish/route.js",
89
88
  "/api/onboarding/launch/route": "app/api/onboarding/launch/route.js",
90
- "/api/hail/engagements/route": "app/api/hail/engagements/route.js",
89
+ "/api/onboarding/blueprint/route": "app/api/onboarding/blueprint/route.js",
90
+ "/api/orchestrator/command/route": "app/api/orchestrator/command/route.js",
91
91
  "/api/mines/projects/[id]/import/route": "app/api/mines/projects/[id]/import/route.js",
92
92
  "/api/org/route": "app/api/org/route.js",
93
93
  "/api/orgs/[id]/invites/[inviteId]/route": "app/api/orgs/[id]/invites/[inviteId]/route.js",
94
- "/api/orgs/[id]/invites/route": "app/api/orgs/[id]/invites/route.js",
95
94
  "/api/orgs/[id]/members/[userId]/role/route": "app/api/orgs/[id]/members/[userId]/role/route.js",
95
+ "/api/hermes/jobs/[id]/events/route": "app/api/hermes/jobs/[id]/events/route.js",
96
96
  "/api/orgs/[id]/members/[userId]/route": "app/api/orgs/[id]/members/[userId]/route.js",
97
97
  "/api/orgs/[id]/members/route": "app/api/orgs/[id]/members/route.js",
98
- "/api/marketplace/[id]/route": "app/api/marketplace/[id]/route.js",
99
- "/api/orgs/invites/pending/route": "app/api/orgs/invites/pending/route.js",
100
98
  "/api/orgs/[id]/route": "app/api/orgs/[id]/route.js",
99
+ "/api/mines/projects/[id]/chunks/route": "app/api/mines/projects/[id]/chunks/route.js",
101
100
  "/api/orgs/join/route": "app/api/orgs/join/route.js",
102
101
  "/api/orgs/route": "app/api/orgs/route.js",
103
- "/api/printing-press/install/route": "app/api/printing-press/install/route.js",
104
102
  "/api/printing-press/clis/route": "app/api/printing-press/clis/route.js",
105
- "/api/printing-press/security-mode/route": "app/api/printing-press/security-mode/route.js",
106
- "/api/orchestrator/command/route": "app/api/orchestrator/command/route.js",
103
+ "/api/printing-press/install/route": "app/api/printing-press/install/route.js",
104
+ "/api/orgs/[id]/invites/route": "app/api/orgs/[id]/invites/route.js",
105
+ "/api/privacy/config/route": "app/api/privacy/config/route.js",
106
+ "/api/privacy/verify/route": "app/api/privacy/verify/route.js",
107
107
  "/api/processes/[id]/route": "app/api/processes/[id]/route.js",
108
108
  "/api/processes/[id]/share-link/route": "app/api/processes/[id]/share-link/route.js",
109
- "/api/processes/[id]/stages/[stageId]/override/route": "app/api/processes/[id]/stages/[stageId]/override/route.js",
109
+ "/api/orgs/invites/pending/route": "app/api/orgs/invites/pending/route.js",
110
110
  "/api/processes/[id]/stages/[stageId]/retry/route": "app/api/processes/[id]/stages/[stageId]/retry/route.js",
111
111
  "/api/processes/[id]/stages/[stageId]/submit/route": "app/api/processes/[id]/stages/[stageId]/submit/route.js",
112
- "/api/privacy/verify/route": "app/api/privacy/verify/route.js",
112
+ "/api/processes/definitions/[slug]/route": "app/api/processes/definitions/[slug]/route.js",
113
113
  "/api/processes/definitions/[slug]/settings/route": "app/api/processes/definitions/[slug]/settings/route.js",
114
114
  "/api/processes/definitions/route": "app/api/processes/definitions/route.js",
115
- "/api/processes/definitions/validate/route": "app/api/processes/definitions/validate/route.js",
115
+ "/api/printing-press/security-mode/route": "app/api/printing-press/security-mode/route.js",
116
116
  "/api/processes/route": "app/api/processes/route.js",
117
117
  "/api/processes/start-and-route/route": "app/api/processes/start-and-route/route.js",
118
118
  "/api/projects/[slug]/library/route": "app/api/projects/[slug]/library/route.js",
119
- "/api/projects/[slug]/route": "app/api/projects/[slug]/route.js",
120
119
  "/api/projects/route": "app/api/projects/route.js",
121
- "/api/privacy/config/route": "app/api/privacy/config/route.js",
122
- "/api/runs/claude-code-dry-run/route": "app/api/runs/claude-code-dry-run/route.js",
120
+ "/api/runs/approve-claude-run/route": "app/api/runs/approve-claude-run/route.js",
121
+ "/api/processes/[id]/stages/[stageId]/override/route": "app/api/processes/[id]/stages/[stageId]/override/route.js",
122
+ "/api/projects/[slug]/route": "app/api/projects/[slug]/route.js",
123
123
  "/api/runs/competitor-report/route": "app/api/runs/competitor-report/route.js",
124
124
  "/api/runs/engine-ping/route": "app/api/runs/engine-ping/route.js",
125
125
  "/api/runs/marketing-plan/route": "app/api/runs/marketing-plan/route.js",
126
126
  "/api/schedules/upsert/route": "app/api/schedules/upsert/route.js",
127
- "/api/runs/approve-claude-run/route": "app/api/runs/approve-claude-run/route.js",
128
- "/api/secrets/[name]/route": "app/api/secrets/[name]/route.js",
127
+ "/api/processes/definitions/validate/route": "app/api/processes/definitions/validate/route.js",
129
128
  "/api/secrets/route": "app/api/secrets/route.js",
130
129
  "/api/settings/trust-mode/route": "app/api/settings/trust-mode/route.js",
130
+ "/api/runs/claude-code-dry-run/route": "app/api/runs/claude-code-dry-run/route.js",
131
131
  "/api/share/[token]/otp/route": "app/api/share/[token]/otp/route.js",
132
- "/api/processes/definitions/[slug]/route": "app/api/processes/definitions/[slug]/route.js",
133
- "/api/share/space/[token]/otp/route": "app/api/share/space/[token]/otp/route.js",
134
- "/api/share/space/[token]/route": "app/api/share/space/[token]/route.js",
135
- "/api/share/space/[token]/verify/route": "app/api/share/space/[token]/verify/route.js",
136
- "/api/orchestrator/stream/route": "app/api/orchestrator/stream/route.js",
137
132
  "/api/share/[token]/verify/route": "app/api/share/[token]/verify/route.js",
138
- "/api/shared/spaces/route": "app/api/shared/spaces/route.js",
133
+ "/api/share/[token]/route": "app/api/share/[token]/route.js",
134
+ "/api/share/space/[token]/route": "app/api/share/space/[token]/route.js",
135
+ "/api/secrets/[name]/route": "app/api/secrets/[name]/route.js",
136
+ "/api/share/space/[token]/otp/route": "app/api/share/space/[token]/otp/route.js",
139
137
  "/api/shared/spaces/publish/route": "app/api/shared/spaces/publish/route.js",
138
+ "/api/shared/spaces/route": "app/api/shared/spaces/route.js",
139
+ "/api/shared/spaces/[id]/acl/route": "app/api/shared/spaces/[id]/acl/route.js",
140
140
  "/api/shared/spaces/status/route": "app/api/shared/spaces/status/route.js",
141
- "/api/state/route": "app/api/state/route.js",
142
141
  "/api/shared/spaces/unpublish/route": "app/api/shared/spaces/unpublish/route.js",
142
+ "/api/state/route": "app/api/state/route.js",
143
143
  "/api/tasks/[id]/active-run/route": "app/api/tasks/[id]/active-run/route.js",
144
144
  "/api/tasks/[id]/attachments/route": "app/api/tasks/[id]/attachments/route.js",
145
145
  "/api/system/update/route": "app/api/system/update/route.js",
146
146
  "/api/tasks/[id]/checklist/[itemId]/route": "app/api/tasks/[id]/checklist/[itemId]/route.js",
147
- "/api/tasks/[id]/checklist/route": "app/api/tasks/[id]/checklist/route.js",
148
147
  "/api/tasks/[id]/checkout/route": "app/api/tasks/[id]/checkout/route.js",
149
148
  "/api/tasks/[id]/children/route": "app/api/tasks/[id]/children/route.js",
149
+ "/api/tasks/[id]/checklist/route": "app/api/tasks/[id]/checklist/route.js",
150
150
  "/api/tasks/[id]/events/route": "app/api/tasks/[id]/events/route.js",
151
151
  "/api/tasks/[id]/comments/route": "app/api/tasks/[id]/comments/route.js",
152
152
  "/api/tasks/[id]/live-runs/route": "app/api/tasks/[id]/live-runs/route.js",
153
153
  "/api/tasks/[id]/release/route": "app/api/tasks/[id]/release/route.js",
154
+ "/api/tasks/[id]/route": "app/api/tasks/[id]/route.js",
154
155
  "/api/tasks/route": "app/api/tasks/route.js",
155
156
  "/api/tool-allowlists/[id]/route": "app/api/tool-allowlists/[id]/route.js",
156
157
  "/api/tool-allowlists/route": "app/api/tool-allowlists/route.js",
157
- "/api/tool-egress/route": "app/api/tool-egress/route.js",
158
158
  "/api/tools/[name]/approve/route": "app/api/tools/[name]/approve/route.js",
159
- "/api/tools/[name]/route": "app/api/tools/[name]/route.js",
160
- "/api/share/[token]/route": "app/api/share/[token]/route.js",
161
- "/api/transcripts/route": "app/api/transcripts/route.js",
159
+ "/api/tool-egress/route": "app/api/tool-egress/route.js",
160
+ "/api/tools/route": "app/api/tools/route.js",
161
+ "/api/orchestrator/stream/route": "app/api/orchestrator/stream/route.js",
162
162
  "/api/voice/providers/route": "app/api/voice/providers/route.js",
163
- "/api/tasks/[id]/route": "app/api/tasks/[id]/route.js",
163
+ "/api/tools/[name]/route": "app/api/tools/[name]/route.js",
164
164
  "/api/voice/realtime/context/route": "app/api/voice/realtime/context/route.js",
165
+ "/api/voice/realtime/session/route": "app/api/voice/realtime/session/route.js",
165
166
  "/api/voice/realtime/tool-result/route": "app/api/voice/realtime/tool-result/route.js",
166
167
  "/api/voice/realtime/tools/route": "app/api/voice/realtime/tools/route.js",
167
- "/api/voice/realtime/session/route": "app/api/voice/realtime/session/route.js",
168
168
  "/api/voice/tts/route": "app/api/voice/tts/route.js",
169
169
  "/api/whatsapp/messages/route": "app/api/whatsapp/messages/route.js",
170
170
  "/api/whatsapp/allowlist/route": "app/api/whatsapp/allowlist/route.js",
171
171
  "/api/whatsapp/qr/route": "app/api/whatsapp/qr/route.js",
172
172
  "/api/whatsapp/status/route": "app/api/whatsapp/status/route.js",
173
173
  "/api/whatsapp/send/route": "app/api/whatsapp/send/route.js",
174
- "/api/shared/spaces/[id]/acl/route": "app/api/shared/spaces/[id]/acl/route.js",
175
- "/api/tools/route": "app/api/tools/route.js",
174
+ "/api/share/space/[token]/verify/route": "app/api/share/space/[token]/verify/route.js",
175
+ "/api/transcripts/route": "app/api/transcripts/route.js",
176
176
  "/reports/[file]/route": "app/reports/[file]/route.js",
177
177
  "/brand/page": "app/brand/page.js",
178
178
  "/join/page": "app/join/page.js",
@@ -184,55 +184,55 @@
184
184
  "/agents/page": "app/agents/page.js",
185
185
  "/admin/page": "app/admin/page.js",
186
186
  "/agents/[id]/page": "app/agents/[id]/page.js",
187
- "/audit/page": "app/audit/page.js",
188
187
  "/audit/live/page": "app/audit/live/page.js",
188
+ "/audit/page": "app/audit/page.js",
189
189
  "/disk/page": "app/disk/page.js",
190
- "/approvals/page": "app/approvals/page.js",
191
190
  "/hail/[id]/governance/page": "app/hail/[id]/governance/page.js",
192
191
  "/hail/[id]/interview/page": "app/hail/[id]/interview/page.js",
192
+ "/approvals/page": "app/approvals/page.js",
193
193
  "/hail/[id]/setup/page": "app/hail/[id]/setup/page.js",
194
194
  "/hail/page": "app/hail/page.js",
195
195
  "/help/[slug]/page": "app/help/[slug]/page.js",
196
+ "/help/page": "app/help/page.js",
197
+ "/architecture/page": "app/architecture/page.js",
196
198
  "/hail/[id]/page": "app/hail/[id]/page.js",
197
- "/login/page": "app/login/page.js",
198
199
  "/marketplace/page": "app/marketplace/page.js",
199
- "/help/page": "app/help/page.js",
200
- "/federated-ai/page": "app/federated-ai/page.js",
200
+ "/login/page": "app/login/page.js",
201
201
  "/mines/page": "app/mines/page.js",
202
202
  "/missions/page": "app/missions/page.js",
203
- "/architecture/page": "app/architecture/page.js",
204
- "/mines/[projectId]/page": "app/mines/[projectId]/page.js",
205
- "/org/page": "app/org/page.js",
206
- "/projects/[slug]/page": "app/projects/[slug]/page.js",
207
203
  "/onboarding/org/page": "app/onboarding/org/page.js",
208
- "/reports/page": "app/reports/page.js",
204
+ "/federated-ai/page": "app/federated-ai/page.js",
209
205
  "/mines/[projectId]/results/page": "app/mines/[projectId]/results/page.js",
210
- "/schedules/page": "app/schedules/page.js",
206
+ "/mines/[projectId]/page": "app/mines/[projectId]/page.js",
211
207
  "/projects/page": "app/projects/page.js",
208
+ "/projects/[slug]/page": "app/projects/[slug]/page.js",
209
+ "/org/page": "app/org/page.js",
210
+ "/runtime/page": "app/runtime/page.js",
211
+ "/schedules/page": "app/schedules/page.js",
212
212
  "/projects/[slug]/log/page": "app/projects/[slug]/log/page.js",
213
213
  "/share/space/[token]/page": "app/share/space/[token]/page.js",
214
- "/runtime/page": "app/runtime/page.js",
215
- "/tasks/page": "app/tasks/page.js",
214
+ "/share/[token]/page": "app/share/[token]/page.js",
215
+ "/reports/page": "app/reports/page.js",
216
216
  "/team/[agentId]/page": "app/team/[agentId]/page.js",
217
- "/tools/page": "app/tools/page.js",
218
217
  "/team/page": "app/team/page.js",
219
- "/workflows/new/page": "app/workflows/new/page.js",
218
+ "/tools/page": "app/tools/page.js",
219
+ "/tasks/page": "app/tasks/page.js",
220
+ "/workflows/[caseId]/page": "app/workflows/[caseId]/page.js",
221
+ "/workflows/new/[caseId]/page": "app/workflows/new/[caseId]/page.js",
220
222
  "/workflows/share/[caseId]/page": "app/workflows/share/[caseId]/page.js",
221
- "/share/[token]/page": "app/share/[token]/page.js",
222
223
  "/tasks/[id]/page": "app/tasks/[id]/page.js",
223
224
  "/workflows/page": "app/workflows/page.js",
225
+ "/workflows/new/page": "app/workflows/new/page.js",
224
226
  "/workflows/new/definition/page": "app/workflows/new/definition/page.js",
225
- "/workflows/new/[caseId]/page": "app/workflows/new/[caseId]/page.js",
226
- "/workflows/[caseId]/page": "app/workflows/[caseId]/page.js",
227
227
  "/settings/brand/page": "app/settings/brand/page.js",
228
228
  "/settings/onboarding/page": "app/settings/onboarding/page.js",
229
229
  "/settings/advanced/page": "app/settings/advanced/page.js",
230
- "/settings/appearance/page": "app/settings/appearance/page.js",
230
+ "/settings/account/page": "app/settings/account/page.js",
231
231
  "/settings/connectors/page": "app/settings/connectors/page.js",
232
232
  "/settings/organization/page": "app/settings/organization/page.js",
233
233
  "/settings/page": "app/settings/page.js",
234
234
  "/settings/runtime/page": "app/settings/runtime/page.js",
235
235
  "/settings/engines/page": "app/settings/engines/page.js",
236
- "/settings/account/page": "app/settings/account/page.js",
237
- "/settings/tools/page": "app/settings/tools/page.js"
236
+ "/settings/tools/page": "app/settings/tools/page.js",
237
+ "/settings/appearance/page": "app/settings/appearance/page.js"
238
238
  }
@@ -19,13 +19,13 @@ Return ONLY corrected JSON in a \`\`\`json fence that matches the schema. No oth
19
19
  SELECT id, scope_value AS root_path
20
20
  FROM tool_allowlists
21
21
  WHERE id = ? AND tool_name = ? AND scope_key = ? AND COALESCE(org_id, ?) = ?
22
- `).get(String(a||""),s,t,d,d);if(!e)return{status:"error",error:"not_found"};c.prepare("DELETE FROM tool_allowlists WHERE id = ?").run(e.id);try{(0,i.appendComplianceAudit)({user_id:b.acting_on_behalf_of_user_id||b.user_id||"system",org_id:d,action:"mines.import_root.removed",status:"success",summary:"Removed Mines import root: "+e.root_path,action_target_id:e.id,action_target_type:"tool_allowlist",meta:{root_path:e.root_path,org_id:d}})}catch{}return{status:"ok",id:e.id,root_path:e.root_path}}function r(a,b={}){let c=n(g.resolve(String(a||".")));return!k(c)&&o(b).some(a=>{let b=g.resolve(a.root_path),d=g.relative(b,c);return""===d||!!d&&!d.startsWith("..")&&!g.isAbsolute(d)})}d()}catch(a){d(a)}})},1511:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{Ht:()=>o,OC:()=>q,aS:()=>t,getAuthMode:()=>h.Im,getLocalDevUser:()=>k,vR:()=>h.vR});var e=c(77598),f=c(77030),g=c(34255),h=c(33446),i=c(36575),j=a([g,h,i]);[g,h,i]=j.then?(await j)():j;let w="phase-production-build"===process.env.NEXT_PHASE;function k(){return{user_id:"local-user-1",email:process.env.MADARX_OWNER_EMAIL||"owner@local.dev",display_name:"Local Owner",org_id:"personal-org",role:"owner",auth_mode:"local"}}"local"!==(process.env.MADARX_AUTH_MODE||"local").toLowerCase()||w||console.error("[auth] WARNING: MADARX_AUTH_MODE is not set to supabase in NODE_ENV=production. Configure Supabase auth (Settings → Account) or set MADARX_AUTH_MODE=supabase before exposing this deployment.");let x=new Map;function l(a){return(0,e.createHash)("sha256").update(a).digest("hex")}let y=null;async function m(a){let b;if(!1===y)throw Error("@supabase/ssr is not installed. Run: npm install @supabase/ssr @supabase/supabase-js");try{b=(await c.e(1658).then(c.bind(c,81658))).createServerClient,y=!0}catch{throw y=!1,Error("@supabase/ssr is not installed. Run: npm install @supabase/ssr @supabase/supabase-js")}let{url:d,anonKey:e}=(0,h.vR)();if(!d||!e)throw Error("Supabase URL and anon key are not configured. Set them in Settings → Account.");return b(d,e,{cookies:{getAll:()=>(a?.headers?.get?.("cookie")||"").split(";").map(a=>a.trim()).filter(Boolean).map(a=>{let b=a.indexOf("=");return{name:a.slice(0,b),value:a.slice(b+1)}}),setAll(){}}})}async function n(a,b){try{if(!a?.email||!a?.email_confirmed_at)return null;try{let{claimEmailInvitesViaCloud:d}=await c.e(6700).then(c.bind(c,66700)),e=await d({user_id:a.id,supabase_access_token:b});if(e.length)return e[0]}catch{}let d=(0,i.XJ)(a.id,a.email);return d.length?d[0]:null}catch(a){return console.warn("[auth] email-invite claim failed:",a.message),null}}async function o(a){let b;if("local"===(0,h.Im)())return k();let c=await p(a),d=function(a){let b=a.match(/sb-[^=]+-auth-token(?:-\d+)?=([^;]+)/);return b?decodeURIComponent(b[1]):null}(c);if(d){let a=function(a){let b=l(a),c=x.get(b);return c?Date.now()>c.expiresAt?(x.delete(b),null):c.session:null}(d);if(a)return a}let e=a||{headers:{get:a=>"cookie"===String(a).toLowerCase()?c:null}};try{b=await m(e)}catch(a){return console.error("[auth] getSession: failed to build Supabase client:",a.message),null}let{data:{user:f},error:i}=await b.auth.getUser();if(i||!f)return null;try{var j;let a=(0,g.getDb)(),b=(0,g.nowIso)();a.prepare(`INSERT INTO users (id, email, display_name, avatar_url, auth_provider, last_sign_in_at, created_at)
22
+ `).get(String(a||""),s,t,d,d);if(!e)return{status:"error",error:"not_found"};c.prepare("DELETE FROM tool_allowlists WHERE id = ?").run(e.id);try{(0,i.appendComplianceAudit)({user_id:b.acting_on_behalf_of_user_id||b.user_id||"system",org_id:d,action:"mines.import_root.removed",status:"success",summary:"Removed Mines import root: "+e.root_path,action_target_id:e.id,action_target_type:"tool_allowlist",meta:{root_path:e.root_path,org_id:d}})}catch{}return{status:"ok",id:e.id,root_path:e.root_path}}function r(a,b={}){let c=n(g.resolve(String(a||".")));return!k(c)&&o(b).some(a=>{let b=g.resolve(a.root_path),d=g.relative(b,c);return""===d||!!d&&!d.startsWith("..")&&!g.isAbsolute(d)})}d()}catch(a){d(a)}})},1511:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{Ht:()=>p,OC:()=>r,aS:()=>u,getAuthMode:()=>h.Im,getLocalDevUser:()=>k,vR:()=>h.vR});var e=c(77598),f=c(77030),g=c(34255),h=c(33446),i=c(36575),j=a([g,h,i]);[g,h,i]=j.then?(await j)():j;let x="phase-production-build"===process.env.NEXT_PHASE;function k(){return{user_id:"local-user-1",email:process.env.MADARX_OWNER_EMAIL||"owner@local.dev",display_name:"Local Owner",org_id:"personal-org",role:"owner",auth_mode:"local"}}"local"!==(process.env.MADARX_AUTH_MODE||"local").toLowerCase()||x||console.error("[auth] WARNING: MADARX_AUTH_MODE is not set to supabase in NODE_ENV=production. Configure Supabase auth (Settings → Account) or set MADARX_AUTH_MODE=supabase before exposing this deployment.");let y=new Map;function l(a){return(0,e.createHash)("sha256").update(a).digest("hex")}let z=null;async function m(a){let b;if(!1===z)throw Error("@supabase/ssr is not installed. Run: npm install @supabase/ssr @supabase/supabase-js");try{b=(await c.e(1658).then(c.bind(c,81658))).createServerClient,z=!0}catch{throw z=!1,Error("@supabase/ssr is not installed. Run: npm install @supabase/ssr @supabase/supabase-js")}let{url:d,anonKey:e}=(0,h.vR)();if(!d||!e)throw Error("Supabase URL and anon key are not configured. Set them in Settings → Account.");return b(d,e,{cookies:{getAll:()=>(a?.headers?.get?.("cookie")||"").split(";").map(a=>a.trim()).filter(Boolean).map(a=>{let b=a.indexOf("=");return{name:a.slice(0,b),value:a.slice(b+1)}}),setAll(){}}})}async function n(a,b){try{if(!a?.email||!a?.email_confirmed_at)return null;try{let{claimEmailInvitesViaCloud:d}=await c.e(6700).then(c.bind(c,66700)),e=await d({user_id:a.id,supabase_access_token:b});if(e.length)return e[0]}catch{}let d=(0,i.XJ)(a.id,a.email);return d.length?d[0]:null}catch(a){return console.warn("[auth] email-invite claim failed:",a.message),null}}let A={owner:0,admin:1,member:2,viewer:3};async function o(a,b){try{let{mirrorCloudMembershipsForUser:d}=await c.e(6700).then(c.bind(c,66700));return await d({user_id:a.id,supabase_access_token:b})}catch(a){return console.warn("[auth] cloud membership mirror failed:",a.message),[]}}async function p(a){let b;if("local"===(0,h.Im)())return k();let c=await q(a),d=function(a){let b=a.match(/sb-[^=]+-auth-token(?:-\d+)?=([^;]+)/);return b?decodeURIComponent(b[1]):null}(c);if(d){let a=function(a){let b=l(a),c=y.get(b);return c?Date.now()>c.expiresAt?(y.delete(b),null):c.session:null}(d);if(a)return a}let e=a||{headers:{get:a=>"cookie"===String(a).toLowerCase()?c:null}};try{b=await m(e)}catch(a){return console.error("[auth] getSession: failed to build Supabase client:",a.message),null}let{data:{user:f},error:i}=await b.auth.getUser();if(i||!f)return null;try{var j;let a=(0,g.getDb)(),b=(0,g.nowIso)();a.prepare(`INSERT INTO users (id, email, display_name, avatar_url, auth_provider, last_sign_in_at, created_at)
23
23
  VALUES (?, ?, ?, ?, 'supabase', ?, ?)
24
24
  ON CONFLICT(id) DO UPDATE SET
25
25
  email = excluded.email,
26
26
  display_name = excluded.display_name,
27
27
  avatar_url = excluded.avatar_url,
28
- last_sign_in_at = excluded.last_sign_in_at`).run(f.id,f.email,f.user_metadata?.full_name||f.user_metadata?.name||null,f.user_metadata?.avatar_url||null,b,b)}catch(a){console.warn("[auth] upsertUserRow failed:",a.message)}let o=(j=f.id,(0,g.getDb)().prepare(`SELECT m.org_id, m.role
28
+ last_sign_in_at = excluded.last_sign_in_at`).run(f.id,f.email,f.user_metadata?.full_name||f.user_metadata?.name||null,f.user_metadata?.avatar_url||null,b,b)}catch(a){console.warn("[auth] upsertUserRow failed:",a.message)}let p=(j=f.id,(0,g.getDb)().prepare(`SELECT m.org_id, m.role
29
29
  FROM org_memberships m
30
30
  WHERE m.user_id = ?
31
31
  ORDER BY CASE m.role
@@ -35,13 +35,13 @@ Return ONLY corrected JSON in a \`\`\`json fence that matches the schema. No oth
35
35
  WHEN 'viewer' THEN 3
36
36
  ELSE 4
37
37
  END
38
- LIMIT 1`).get(j)||null);if(o||(o=await n(f,d)),o||(o=function(a){try{let b=(0,g.getDb)();if(b.prepare("SELECT COUNT(*) AS c FROM org_memberships WHERE user_id != 'local-user-1'").get().c>0)return null;let c=(0,g.nowIso)(),d=(0,g.newId)("org"),e=(a.email||"owner").split("@")[0].replace(/[^a-z0-9-]/gi,"").toLowerCase()||"owner",f=`${e}-org`.slice(0,60),h=a.user_metadata?.full_name||a.email||"Personal Org";return b.prepare(`INSERT INTO organizations (id, slug, name, plan, created_at, updated_at)
38
+ LIMIT 1`).get(j)||null);if((0,h.fo)()||!p){let a=await o(f,d);a.length&&(p=(Array.isArray(a)&&0!==a.length?[...a].sort((a,b)=>{let c=A[a.role]??4,d=A[b.role]??4;return c!==d?c-d:String(a.org_id).localeCompare(String(b.org_id))})[0]:null)||p)}if(p||(p=await n(f,d)),p||(p=function(a){try{let b=(0,g.getDb)();if(b.prepare("SELECT COUNT(*) AS c FROM org_memberships WHERE user_id != 'local-user-1'").get().c>0)return null;let c=(0,g.nowIso)(),d=(0,g.newId)("org"),e=(a.email||"owner").split("@")[0].replace(/[^a-z0-9-]/gi,"").toLowerCase()||"owner",f=`${e}-org`.slice(0,60),h=a.user_metadata?.full_name||a.email||"Personal Org";return b.prepare(`INSERT INTO organizations (id, slug, name, plan, created_at, updated_at)
39
39
  VALUES (?, ?, ?, 'free', ?, ?)`).run(d,f,h,c,c),b.prepare(`INSERT INTO org_memberships (id, org_id, user_id, role, accepted_at)
40
- VALUES (?, ?, ?, 'owner', ?)`).run((0,g.newId)("mem"),d,a.id,c),{org_id:d,role:"owner"}}catch(a){return console.warn("[auth] first-login org bootstrap failed:",a.message),null}}(f)),!o)return{user_id:f.id,email:f.email,display_name:f.user_metadata?.full_name||null,org_id:null,role:null,auth_mode:"supabase",supabase_access_token:d};let q={user_id:f.id,email:f.email,display_name:f.user_metadata?.full_name||f.user_metadata?.name||null,org_id:o.org_id,role:o.role,auth_mode:"supabase",supabase_access_token:d};return d&&function(a,b){let c=l(a);x.set(c,{session:b,expiresAt:Date.now()+3e4})}(d,q),q}async function p(a,b){if(a?.headers?.get)return a.headers.get("cookie")||"";try{var d;let a=b||(async()=>{let{cookies:a}=await c.e(6802).then(c.bind(c,86802));return a()});return d=await a(),(d?.getAll?.()||[]).map(a=>`${a.name}=${a.value}`).join("; ")}catch{return""}}async function q(a){let b=await o(a);if(!b)throw{status:401,error:"unauthenticated"};if("local"===(0,h.Im)())return b;if(b.org_id)try{let d=(0,g.getDb)(),e=d.prepare("SELECT ip_allowlist_json, session_timeout_seconds FROM organizations WHERE id = ?").get(b.org_id);if(e){if(e.session_timeout_seconds){let a=d.prepare("SELECT last_sign_in_at FROM users WHERE id = ?").get(b.user_id);if(a?.last_sign_in_at&&(Date.now()-new Date(a.last_sign_in_at).getTime())/1e3>e.session_timeout_seconds)throw{status:401,error:"session_expired"}}if(e.ip_allowlist_json){var c;let h;try{h=JSON.parse(e.ip_allowlist_json)}catch{h=[]}let i=function(a){let b=a?.headers?.get?.("x-forwarded-for")||a?.headers?.["x-forwarded-for"];return b?String(b).split(",")[0].trim():null}(a);if(c=h,!(!Array.isArray(c)||0===c.length||c.some(a=>(function(a,b){if(!a||!b)return!1;let[c,d]=b.split("/");if(!c||void 0===d||!f.isIPv4(a)||!f.isIPv4(c))return!1;let e=""===d?32:parseInt(d,10);if(isNaN(e)||e<0||e>32)return!1;let g=a=>a.split(".").reduce((a,b)=>a<<8|parseInt(b,10),0)>>>0,h=g(a),i=g(c),j=0===e?0:-1<<32-e>>>0;return(h&j)==(i&j)})(i,a)))){try{d.prepare(`INSERT INTO audit_logs (id, at, type, summary, status, meta, user_id, org_id, ip)
41
- VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`).run((0,g.newId)("audit"),(0,g.nowIso)(),"session.ip_denied",`Access denied: IP ${i} not in allowlist`,"denied",JSON.stringify({ip:i,org_id:b.org_id}),b.user_id,b.org_id,i)}catch(a){console.error("[auth] Failed to write ip_denied audit row:",a.message)}throw{status:403,error:"ip_not_allowed"}}}}}catch(a){if(a.status)throw a;console.error("[auth] requireSession org policy check failed:",a.message)}return b}let z=new Map;function r(a,b){return`${a}:${b}`}function s(a,b,c){z.set(r(a,b),{verified_at:Date.now(),role:c})}async function t(a,b){if("local"===(0,h.Im)())return;let c=(process.env.MADARX_MEMBERSHIP_LIVE_CHECK??"on").toLowerCase();if("off"===c)return void console.warn("[auth] MADARX_MEMBERSHIP_LIVE_CHECK=off — membership revocation will not be detected. This mode is for dev/offline use only.");let d=a?.user_id,e=b||a?.org_id;if(!d||!e||function(a,b){let c=z.get(r(a,b));return c?Date.now()-c.verified_at>3e5?(z.delete(r(a,b)),null):c:null}(d,e))return;let f=(0,h.vR)().url,i=(0,h.fo)();if(f&&i)try{let a=`${f}/rest/v1/org_memberships?user_id=eq.${encodeURIComponent(d)}&org_id=eq.${encodeURIComponent(e)}&select=role&limit=1`,b=await fetch(a,{headers:{apikey:i,Authorization:`Bearer ${i}`,Accept:"application/json"},signal:AbortSignal.timeout(4e3)});if(!b.ok)throw Error(`Supabase returned HTTP ${b.status}`);let c=await b.json();if(!Array.isArray(c)||0===c.length)throw u(d,e),{status:403,error:"membership_revoked",sign_out_required:!0};s(d,e,c[0].role);return}catch(a){if(a.status)throw a;throw console.error("[auth] requireFreshMembership: Supabase live check failed:",a.message),v(d,e,a.message),{status:503,error:"supabase_unavailable",message:"Membership live check unavailable"}}try{let a=(0,g.getDb)().prepare(`SELECT id, role FROM org_memberships
40
+ VALUES (?, ?, ?, 'owner', ?)`).run((0,g.newId)("mem"),d,a.id,c),{org_id:d,role:"owner"}}catch(a){return console.warn("[auth] first-login org bootstrap failed:",a.message),null}}(f)),!p)return{user_id:f.id,email:f.email,display_name:f.user_metadata?.full_name||null,org_id:null,role:null,auth_mode:"supabase",supabase_access_token:d};let r={user_id:f.id,email:f.email,display_name:f.user_metadata?.full_name||f.user_metadata?.name||null,org_id:p.org_id,role:p.role,auth_mode:"supabase",supabase_access_token:d};return d&&function(a,b){let c=l(a);y.set(c,{session:b,expiresAt:Date.now()+3e4})}(d,r),r}async function q(a,b){if(a?.headers?.get)return a.headers.get("cookie")||"";try{var d;let a=b||(async()=>{let{cookies:a}=await c.e(6802).then(c.bind(c,86802));return a()});return d=await a(),(d?.getAll?.()||[]).map(a=>`${a.name}=${a.value}`).join("; ")}catch{return""}}async function r(a){let b=await p(a);if(!b)throw{status:401,error:"unauthenticated"};if("local"===(0,h.Im)())return b;if(b.org_id)try{let d=(0,g.getDb)(),e=d.prepare("SELECT ip_allowlist_json, session_timeout_seconds FROM organizations WHERE id = ?").get(b.org_id);if(e){if(e.session_timeout_seconds){let a=d.prepare("SELECT last_sign_in_at FROM users WHERE id = ?").get(b.user_id);if(a?.last_sign_in_at&&(Date.now()-new Date(a.last_sign_in_at).getTime())/1e3>e.session_timeout_seconds)throw{status:401,error:"session_expired"}}if(e.ip_allowlist_json){var c;let h;try{h=JSON.parse(e.ip_allowlist_json)}catch{h=[]}let i=function(a){let b=a?.headers?.get?.("x-forwarded-for")||a?.headers?.["x-forwarded-for"];return b?String(b).split(",")[0].trim():null}(a);if(c=h,!(!Array.isArray(c)||0===c.length||c.some(a=>(function(a,b){if(!a||!b)return!1;let[c,d]=b.split("/");if(!c||void 0===d||!f.isIPv4(a)||!f.isIPv4(c))return!1;let e=""===d?32:parseInt(d,10);if(isNaN(e)||e<0||e>32)return!1;let g=a=>a.split(".").reduce((a,b)=>a<<8|parseInt(b,10),0)>>>0,h=g(a),i=g(c),j=0===e?0:-1<<32-e>>>0;return(h&j)==(i&j)})(i,a)))){try{d.prepare(`INSERT INTO audit_logs (id, at, type, summary, status, meta, user_id, org_id, ip)
41
+ VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`).run((0,g.newId)("audit"),(0,g.nowIso)(),"session.ip_denied",`Access denied: IP ${i} not in allowlist`,"denied",JSON.stringify({ip:i,org_id:b.org_id}),b.user_id,b.org_id,i)}catch(a){console.error("[auth] Failed to write ip_denied audit row:",a.message)}throw{status:403,error:"ip_not_allowed"}}}}}catch(a){if(a.status)throw a;console.error("[auth] requireSession org policy check failed:",a.message)}return b}let B=new Map;function s(a,b){return`${a}:${b}`}function t(a,b,c){B.set(s(a,b),{verified_at:Date.now(),role:c})}async function u(a,b){if("local"===(0,h.Im)())return;let c=(process.env.MADARX_MEMBERSHIP_LIVE_CHECK??"on").toLowerCase();if("off"===c)return void console.warn("[auth] MADARX_MEMBERSHIP_LIVE_CHECK=off — membership revocation will not be detected. This mode is for dev/offline use only.");let d=a?.user_id,e=b||a?.org_id;if(!d||!e||function(a,b){let c=B.get(s(a,b));return c?Date.now()-c.verified_at>3e5?(B.delete(s(a,b)),null):c:null}(d,e))return;let f=(0,h.vR)().url,i=(0,h.fo)();if(f&&i)try{let a=`${f}/rest/v1/org_memberships?user_id=eq.${encodeURIComponent(d)}&org_id=eq.${encodeURIComponent(e)}&select=role&limit=1`,b=await fetch(a,{headers:{apikey:i,Authorization:`Bearer ${i}`,Accept:"application/json"},signal:AbortSignal.timeout(4e3)});if(!b.ok)throw Error(`Supabase returned HTTP ${b.status}`);let c=await b.json();if(!Array.isArray(c)||0===c.length)throw v(d,e),{status:403,error:"membership_revoked",sign_out_required:!0};t(d,e,c[0].role);return}catch(a){if(a.status)throw a;throw console.error("[auth] requireFreshMembership: Supabase live check failed:",a.message),w(d,e,a.message),{status:503,error:"supabase_unavailable",message:"Membership live check unavailable"}}try{let a=(0,g.getDb)().prepare(`SELECT id, role FROM org_memberships
42
42
  WHERE user_id = ? AND org_id = ?
43
- LIMIT 1`).get(d,e);if(!a)throw u(d,e),{status:403,error:"membership_revoked",sign_out_required:!0};s(d,e,a.role)}catch(a){if(a.status)throw a;throw console.error("[auth] requireFreshMembership SQLite fallback failed:",a.message),v(d,e,a.message),{status:503,error:"supabase_unavailable",message:"Membership check unavailable"}}}function u(a,b){try{(0,g.getDb)().prepare(`INSERT INTO audit_logs (id, at, type, summary, status, meta, user_id, org_id)
44
- VALUES (?, ?, ?, ?, ?, ?, ?, ?)`).run((0,g.newId)("audit"),(0,g.nowIso)(),"auth.membership.revoked_detected",`Membership revoked detected for user ${a} in org ${b}`,"denied",JSON.stringify({user_id:a,org_id:b}),a,b)}catch(a){console.error("[auth] Failed to write membership_revoked audit row:",a.message)}}function v(a,b,c){try{(0,g.getDb)().prepare(`INSERT INTO audit_logs (id, at, type, summary, status, meta, user_id, org_id)
43
+ LIMIT 1`).get(d,e);if(!a)throw v(d,e),{status:403,error:"membership_revoked",sign_out_required:!0};t(d,e,a.role)}catch(a){if(a.status)throw a;throw console.error("[auth] requireFreshMembership SQLite fallback failed:",a.message),w(d,e,a.message),{status:503,error:"supabase_unavailable",message:"Membership check unavailable"}}}function v(a,b){try{(0,g.getDb)().prepare(`INSERT INTO audit_logs (id, at, type, summary, status, meta, user_id, org_id)
44
+ VALUES (?, ?, ?, ?, ?, ?, ?, ?)`).run((0,g.newId)("audit"),(0,g.nowIso)(),"auth.membership.revoked_detected",`Membership revoked detected for user ${a} in org ${b}`,"denied",JSON.stringify({user_id:a,org_id:b}),a,b)}catch(a){console.error("[auth] Failed to write membership_revoked audit row:",a.message)}}function w(a,b,c){try{(0,g.getDb)().prepare(`INSERT INTO audit_logs (id, at, type, summary, status, meta, user_id, org_id)
45
45
  VALUES (?, ?, ?, ?, ?, ?, ?, ?)`).run((0,g.newId)("audit"),(0,g.nowIso)(),"auth.live_check_unavailable",`Membership live check unavailable for user ${a} in org ${b}`,"error",JSON.stringify({user_id:a,org_id:b,reason:c}),a,b)}catch(a){console.error("[auth] Failed to write live_check_unavailable audit row:",a.message)}}d()}catch(a){d(a)}})},1623:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{$b:()=>l,E1:()=>q,JD:()=>j,OD:()=>z,PA:()=>i,VS:()=>k,Wr:()=>t,iS:()=>r,q9:()=>v,sR:()=>m,uR:()=>u,wA:()=>s,zr:()=>p});var e=c(34255),f=c(40718),g=c(91648),h=a([e,f,g]);[e,f,g]=h.then?(await h)():h;let u=`IDENTITY
46
46
  You are madarX — Chief of Staff to the principal. Local-first orchestrator. Your job is routing, presentation, escalation. You are NOT the doer; you conduct. Every specialist, tool, or sub-agent in this workspace is an instrument you direct. You translate principal intent into action and bring back verified results.`,v=`ORCHESTRATOR_MODE (NON-NEGOTIABLE)
47
47
  For ANY task longer than a one-line factual reply, your default move is DELEGATE. Decision order on every request:
@@ -1 +1 @@
1
- exports.id=8677,exports.ids=[8677],exports.modules={6974:(a,b,c)=>{Promise.resolve().then(c.bind(c,35271))},35271:(a,b,c)=>{"use strict";c.d(b,{default:()=>d});let d=(0,c(97954).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/home/runner/work/madarx-os/madarx-os/app/components/admin/project-switcher.jsx\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/madarx-os/madarx-os/app/components/admin/project-switcher.jsx","default")},35335:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{"40a69bb355697beac206a5dbec7ea965751bace2b2":()=>e.$$RSC_SERVER_ACTION_0});var e=c(91845),f=a([e]);e=(f.then?(await f)():f)[0],d()}catch(a){d(a)}})},86893:(a,b,c)=>{"use strict";c.d(b,{hI:()=>g,iN:()=>f,pp:()=>i,qs:()=>h});var d=c(75338),e=c(35271);function f({kicker:a="madarX OS v1.0",title:b,description:c,actions:f,hideProjectSwitcher:g,children:h}){return(0,d.jsxs)("main",{className:"admin-shell",children:[(0,d.jsxs)("header",{className:"admin-header",children:[(0,d.jsxs)("div",{children:[(0,d.jsx)("span",{className:"admin-kicker",children:a}),(0,d.jsx)("h1",{children:b}),c?(0,d.jsx)("p",{children:c}):null]}),(0,d.jsxs)("div",{className:"admin-header-actions",children:[g?null:(0,d.jsx)(e.default,{}),f]})]}),h]})}function g({label:a,value:b,tone:c}){return(0,d.jsxs)("div",{className:`admin-stat ${c||""}`,children:[(0,d.jsx)("b",{children:b}),(0,d.jsx)("span",{children:a})]})}function h({children:a,tone:b="neutral"}){return(0,d.jsx)("span",{className:`admin-pill ${b}`,children:a})}function i({title:a,children:b}){return(0,d.jsxs)("div",{className:"admin-empty",children:[(0,d.jsx)("b",{children:a}),(0,d.jsx)("p",{children:b})]})}},89670:(a,b,c)=>{Promise.resolve().then(c.bind(c,94657))},91845:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{$$RSC_SERVER_ACTION_0:()=>u,default:()=>p,dynamic:()=>q,runtime:()=>r});var e=c(75338),f=c(75879);c(68633);var g=c(16780),h=c(82161),i=c(86893),j=c(83963),k=c(60105),l=a([j,k]);[j,k]=l.then?(await l)():l;let q="force-dynamic",r="nodejs",s={executive:"Executive",manager:"Manager",team_lead:"Team Lead",individual_contributor:"Contributor"},t={executive:"mars",manager:"ready",team_lead:"warn",individual_contributor:"neutral"};function m(a=""){return a.split(/\s+/).map(a=>a[0]).filter(Boolean).slice(0,2).join("").toUpperCase()||"\xb7"}let u=async function(a){let b=String(a.get("agent_id")||"").trim();if(!b)return;let c=String(a.get("reports_to")||"").trim(),d={reports_to:""===c?null:c},e=String(a.get("role")||"").trim();e&&(d.role=e);let f=String(a.get("title")||"").trim();(f||a.has("title"))&&(d.title=f||null);try{(0,j.jN)(b,d)}catch(a){console.warn("updateAgentOrg failed",a?.message)}(0,g.revalidatePath)("/org"),(0,g.revalidatePath)("/agents"),(0,h.redirect)("/org")};function n({node:a,workloadById:b}){let c=function(a){if(a.role&&s[a.role])return a.role;let b=a.reports?.length||0;return b>=4?"executive":b>=2?"manager":1===b?"team_lead":"individual_contributor"}(a),d=s[c],f=t[c],g=a.reports?.length||0,h=b.get(a.id),j=Number(h?.active_tasks||0),k=Number(h?.blocked_tasks||0),l=Number(h?.completed_tasks||0),n=a.status||"created";return(0,e.jsxs)("article",{className:`org-card org-card--${c}`,"data-reports":g>0?"has":"none",children:[(0,e.jsxs)("div",{className:"org-card-head",children:[(0,e.jsx)("div",{className:"org-card-avatar","aria-hidden":"true",children:m(a.name)}),(0,e.jsxs)("div",{className:"org-card-identity",children:[(0,e.jsx)("div",{className:"org-card-name",children:a.name}),(0,e.jsx)("div",{className:"org-card-title",children:a.title||a.mission?.slice(0,64)||"No title set"})]})]}),(0,e.jsxs)("div",{className:"org-card-meta",children:[(0,e.jsx)(i.qs,{tone:f,children:d}),(0,e.jsx)(i.qs,{tone:"heartbeat ok"===n?"ready":"terminated"===n?"danger":"neutral",children:n}),g>0?(0,e.jsxs)(i.qs,{tone:"neutral",children:[g," report",1===g?"":"s"]}):null]}),(0,e.jsxs)("dl",{className:"org-card-stats",children:[(0,e.jsxs)("div",{children:[(0,e.jsx)("dt",{children:"Active"}),(0,e.jsx)("dd",{children:j})]}),(0,e.jsxs)("div",{children:[(0,e.jsx)("dt",{children:"Blocked"}),(0,e.jsx)("dd",{className:k?"is-warn":"",children:k})]}),(0,e.jsxs)("div",{children:[(0,e.jsx)("dt",{children:"Done"}),(0,e.jsx)("dd",{children:l})]})]})]})}function o({node:a,workloadById:b}){let c=(a.reports||[]).length>0;return(0,e.jsxs)("li",{className:"org-branch",children:[(0,e.jsx)(n,{node:a,workloadById:b}),c?(0,e.jsx)("ul",{className:"org-children",children:a.reports.map(a=>(0,e.jsx)(o,{node:a,workloadById:b},a.id))}):null]})}function p(){let a=(0,j.zP)(),b=(0,j.hC)(),c=(0,k.vc)(),d=new Map((b.workload||[]).map(a=>[a.agent_id,a])),f=c.filter(a=>c.some(b=>b.reports_to===a.id)).length,g=c.filter(a=>!a.reports_to&&a.id).length;return(0,e.jsxs)(i.iN,{title:"Org",description:"Company-style structure for your agent workforce. Set managers, define roles, and see workload at a glance.",children:[(0,e.jsxs)("section",{className:"admin-stats",children:[(0,e.jsx)(i.hI,{label:"Headcount",value:b.totals.active_agents}),(0,e.jsx)(i.hI,{label:"Leaders",value:f}),(0,e.jsx)(i.hI,{label:"Root nodes",value:g}),(0,e.jsx)(i.hI,{label:"Active tasks",value:b.totals.active_tasks})]}),(0,e.jsxs)("section",{className:"admin-panel",children:[(0,e.jsxs)("div",{className:"admin-panel-head",children:[(0,e.jsx)("span",{children:"Organisation chart"}),(0,e.jsx)("small",{children:"Top-down hierarchy. Each card shows role, status, and current workload."})]}),a.length?(0,e.jsx)("div",{className:"org-chart-scroll",children:(0,e.jsx)("ul",{className:"org-chart",children:a.map(a=>(0,e.jsx)(o,{node:a,workloadById:d},a.id))})}):(0,e.jsx)(i.pp,{title:"No agents yet",children:"Create an agent on the Agents page, then come back here to assign managers."})]}),(0,e.jsxs)("section",{className:"admin-grid reports-layout",children:[(0,e.jsxs)("div",{className:"admin-panel",children:[(0,e.jsxs)("div",{className:"admin-panel-head",children:[(0,e.jsx)("span",{children:"Reporting lines"}),(0,e.jsx)("small",{children:"Re-parent any agent. Cycles are blocked automatically."})]}),c.length?(0,e.jsx)("div",{className:"admin-card-list compact",children:c.map(a=>{let b=a.reports_to?c.find(b=>b.id===a.reports_to):null,d=c.filter(b=>b.id!==a.id),f=a.role&&s[a.role]?a.role:"individual_contributor";return(0,e.jsxs)("form",{action:u,className:"org-reporting-row",children:[(0,e.jsx)("input",{type:"hidden",name:"agent_id",value:a.id}),(0,e.jsxs)("div",{className:"org-reporting-identity",children:[(0,e.jsx)("div",{className:"org-card-avatar small","aria-hidden":"true",children:m(a.name)}),(0,e.jsxs)("div",{children:[(0,e.jsx)("div",{className:"org-reporting-name",children:a.name}),(0,e.jsx)("div",{className:"org-reporting-sub",children:b?`Reports to ${b.name}`:"Top of chain"})]})]}),(0,e.jsxs)("div",{className:"org-reporting-fields",children:[(0,e.jsxs)("label",{className:"org-reporting-field",children:[(0,e.jsx)("span",{children:"Title"}),(0,e.jsx)("input",{type:"text",name:"title",defaultValue:a.title||"",placeholder:"e.g. Marketing Manager"})]}),(0,e.jsxs)("label",{className:"org-reporting-field",children:[(0,e.jsx)("span",{children:"Role"}),(0,e.jsx)("select",{name:"role",defaultValue:f,children:Object.entries(s).map(([a,b])=>(0,e.jsx)("option",{value:a,children:b},a))})]}),(0,e.jsxs)("label",{className:"org-reporting-field",children:[(0,e.jsx)("span",{children:"Manager"}),(0,e.jsxs)("select",{name:"reports_to",defaultValue:a.reports_to||"",children:[(0,e.jsx)("option",{value:"",children:"— None (top of chain)"}),d.map(a=>(0,e.jsx)("option",{value:a.id,children:a.name},a.id))]})]}),(0,e.jsx)("button",{className:"admin-button",type:"submit",children:"Save"})]})]},a.id)})}):(0,e.jsx)(i.pp,{title:"No agents yet",children:"Create agents to start building your org."})]}),(0,e.jsxs)("div",{className:"admin-panel",children:[(0,e.jsxs)("div",{className:"admin-panel-head",children:[(0,e.jsx)("span",{children:"Workload by agent"}),(0,e.jsx)("small",{children:"Derived from active tasks."})]}),b.workload.length?(0,e.jsx)("div",{className:"admin-card-list compact",children:b.workload.map(a=>(0,e.jsxs)("div",{className:"admin-record compact",children:[(0,e.jsxs)("div",{className:"admin-record-top",children:[(0,e.jsx)("b",{children:a.agent_name||a.agent_id}),(0,e.jsxs)(i.qs,{tone:a.blocked_tasks?"danger":a.active_tasks?"ready":"neutral",children:[a.active_tasks," active"]})]}),(0,e.jsxs)("p",{children:[a.total_tasks," total \xb7 ",a.blocked_tasks," blocked \xb7 ",a.completed_tasks," complete"]})]},a.agent_id))}):(0,e.jsx)(i.pp,{title:"No workload data",children:"Assign tasks to see workload distribution."})]})]})]})}(0,f.A)(u,"40a69bb355697beac206a5dbec7ea965751bace2b2",null),d()}catch(a){d(a)}})},94657:(a,b,c)=>{"use strict";c.d(b,{default:()=>f});var d=c(21124),e=c(38301);function f(){let[a,b]=(0,e.useState)([]),[c,f]=(0,e.useState)("");return(0,d.jsx)("div",{className:"project-switcher","data-project-switcher":!0,children:(0,d.jsxs)("select",{value:c,onChange:a=>{var b;f(b=a.target.value),b?localStorage.setItem("madarx.activeProjectId",b):localStorage.removeItem("madarx.activeProjectId"),window.dispatchEvent(new CustomEvent("madarx:project-change",{detail:{project_id:b||null}}))},"aria-label":"Active project",children:[(0,d.jsx)("option",{value:"",children:"All projects"}),a.map(a=>(0,d.jsx)("option",{value:a.id,children:a.name},a.id))]})})}}};
1
+ exports.id=1731,exports.ids=[1731],exports.modules={6974:(a,b,c)=>{Promise.resolve().then(c.bind(c,35271))},35271:(a,b,c)=>{"use strict";c.d(b,{default:()=>d});let d=(0,c(97954).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/home/runner/work/madarx-os/madarx-os/app/components/admin/project-switcher.jsx\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/madarx-os/madarx-os/app/components/admin/project-switcher.jsx","default")},84693:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{"40c350cbd8287321bf8df1fcf5b63965b85aa66490":()=>e.$$RSC_SERVER_ACTION_0});var e=c(91845),f=a([e]);e=(f.then?(await f)():f)[0],d()}catch(a){d(a)}})},86893:(a,b,c)=>{"use strict";c.d(b,{hI:()=>g,iN:()=>f,pp:()=>i,qs:()=>h});var d=c(75338),e=c(35271);function f({kicker:a="madarX OS v1.0",title:b,description:c,actions:f,hideProjectSwitcher:g,children:h}){return(0,d.jsxs)("main",{className:"admin-shell",children:[(0,d.jsxs)("header",{className:"admin-header",children:[(0,d.jsxs)("div",{children:[(0,d.jsx)("span",{className:"admin-kicker",children:a}),(0,d.jsx)("h1",{children:b}),c?(0,d.jsx)("p",{children:c}):null]}),(0,d.jsxs)("div",{className:"admin-header-actions",children:[g?null:(0,d.jsx)(e.default,{}),f]})]}),h]})}function g({label:a,value:b,tone:c}){return(0,d.jsxs)("div",{className:`admin-stat ${c||""}`,children:[(0,d.jsx)("b",{children:b}),(0,d.jsx)("span",{children:a})]})}function h({children:a,tone:b="neutral"}){return(0,d.jsx)("span",{className:`admin-pill ${b}`,children:a})}function i({title:a,children:b}){return(0,d.jsxs)("div",{className:"admin-empty",children:[(0,d.jsx)("b",{children:a}),(0,d.jsx)("p",{children:b})]})}},89670:(a,b,c)=>{Promise.resolve().then(c.bind(c,94657))},91845:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{$$RSC_SERVER_ACTION_0:()=>u,default:()=>p,dynamic:()=>q,runtime:()=>r});var e=c(75338),f=c(75879);c(68633);var g=c(16780),h=c(82161),i=c(86893),j=c(83963),k=c(60105),l=a([j,k]);[j,k]=l.then?(await l)():l;let q="force-dynamic",r="nodejs",s={executive:"Executive",manager:"Manager",team_lead:"Team Lead",individual_contributor:"Contributor"},t={executive:"mars",manager:"ready",team_lead:"warn",individual_contributor:"neutral"};function m(a=""){return a.split(/\s+/).map(a=>a[0]).filter(Boolean).slice(0,2).join("").toUpperCase()||"\xb7"}let u=async function(a){let b=String(a.get("agent_id")||"").trim();if(!b)return;let c=String(a.get("reports_to")||"").trim(),d={reports_to:""===c?null:c},e=String(a.get("role")||"").trim();e&&(d.role=e);let f=String(a.get("title")||"").trim();(f||a.has("title"))&&(d.title=f||null);try{(0,j.jN)(b,d)}catch(a){console.warn("updateAgentOrg failed",a?.message)}(0,g.revalidatePath)("/org"),(0,g.revalidatePath)("/agents"),(0,h.redirect)("/org")};function n({node:a,workloadById:b}){let c=function(a){if(a.role&&s[a.role])return a.role;let b=a.reports?.length||0;return b>=4?"executive":b>=2?"manager":1===b?"team_lead":"individual_contributor"}(a),d=s[c],f=t[c],g=a.reports?.length||0,h=b.get(a.id),j=Number(h?.active_tasks||0),k=Number(h?.blocked_tasks||0),l=Number(h?.completed_tasks||0),n=a.status||"created";return(0,e.jsxs)("article",{className:`org-card org-card--${c}`,"data-reports":g>0?"has":"none",children:[(0,e.jsxs)("div",{className:"org-card-head",children:[(0,e.jsx)("div",{className:"org-card-avatar","aria-hidden":"true",children:m(a.name)}),(0,e.jsxs)("div",{className:"org-card-identity",children:[(0,e.jsx)("div",{className:"org-card-name",children:a.name}),(0,e.jsx)("div",{className:"org-card-title",children:a.title||a.mission?.slice(0,64)||"No title set"})]})]}),(0,e.jsxs)("div",{className:"org-card-meta",children:[(0,e.jsx)(i.qs,{tone:f,children:d}),(0,e.jsx)(i.qs,{tone:"heartbeat ok"===n?"ready":"terminated"===n?"danger":"neutral",children:n}),g>0?(0,e.jsxs)(i.qs,{tone:"neutral",children:[g," report",1===g?"":"s"]}):null]}),(0,e.jsxs)("dl",{className:"org-card-stats",children:[(0,e.jsxs)("div",{children:[(0,e.jsx)("dt",{children:"Active"}),(0,e.jsx)("dd",{children:j})]}),(0,e.jsxs)("div",{children:[(0,e.jsx)("dt",{children:"Blocked"}),(0,e.jsx)("dd",{className:k?"is-warn":"",children:k})]}),(0,e.jsxs)("div",{children:[(0,e.jsx)("dt",{children:"Done"}),(0,e.jsx)("dd",{children:l})]})]})]})}function o({node:a,workloadById:b}){let c=(a.reports||[]).length>0;return(0,e.jsxs)("li",{className:"org-branch",children:[(0,e.jsx)(n,{node:a,workloadById:b}),c?(0,e.jsx)("ul",{className:"org-children",children:a.reports.map(a=>(0,e.jsx)(o,{node:a,workloadById:b},a.id))}):null]})}function p(){let a=(0,j.zP)(),b=(0,j.hC)(),c=(0,k.vc)(),d=new Map((b.workload||[]).map(a=>[a.agent_id,a])),f=c.filter(a=>c.some(b=>b.reports_to===a.id)).length,g=c.filter(a=>!a.reports_to&&a.id).length;return(0,e.jsxs)(i.iN,{title:"Org",description:"Company-style structure for your agent workforce. Set managers, define roles, and see workload at a glance.",children:[(0,e.jsxs)("section",{className:"admin-stats",children:[(0,e.jsx)(i.hI,{label:"Headcount",value:b.totals.active_agents}),(0,e.jsx)(i.hI,{label:"Leaders",value:f}),(0,e.jsx)(i.hI,{label:"Root nodes",value:g}),(0,e.jsx)(i.hI,{label:"Active tasks",value:b.totals.active_tasks})]}),(0,e.jsxs)("section",{className:"admin-panel",children:[(0,e.jsxs)("div",{className:"admin-panel-head",children:[(0,e.jsx)("span",{children:"Organisation chart"}),(0,e.jsx)("small",{children:"Top-down hierarchy. Each card shows role, status, and current workload."})]}),a.length?(0,e.jsx)("div",{className:"org-chart-scroll",children:(0,e.jsx)("ul",{className:"org-chart",children:a.map(a=>(0,e.jsx)(o,{node:a,workloadById:d},a.id))})}):(0,e.jsx)(i.pp,{title:"No agents yet",children:"Create an agent on the Agents page, then come back here to assign managers."})]}),(0,e.jsxs)("section",{className:"admin-grid reports-layout",children:[(0,e.jsxs)("div",{className:"admin-panel",children:[(0,e.jsxs)("div",{className:"admin-panel-head",children:[(0,e.jsx)("span",{children:"Reporting lines"}),(0,e.jsx)("small",{children:"Re-parent any agent. Cycles are blocked automatically."})]}),c.length?(0,e.jsx)("div",{className:"admin-card-list compact",children:c.map(a=>{let b=a.reports_to?c.find(b=>b.id===a.reports_to):null,d=c.filter(b=>b.id!==a.id),f=a.role&&s[a.role]?a.role:"individual_contributor";return(0,e.jsxs)("form",{action:u,className:"org-reporting-row",children:[(0,e.jsx)("input",{type:"hidden",name:"agent_id",value:a.id}),(0,e.jsxs)("div",{className:"org-reporting-identity",children:[(0,e.jsx)("div",{className:"org-card-avatar small","aria-hidden":"true",children:m(a.name)}),(0,e.jsxs)("div",{children:[(0,e.jsx)("div",{className:"org-reporting-name",children:a.name}),(0,e.jsx)("div",{className:"org-reporting-sub",children:b?`Reports to ${b.name}`:"Top of chain"})]})]}),(0,e.jsxs)("div",{className:"org-reporting-fields",children:[(0,e.jsxs)("label",{className:"org-reporting-field",children:[(0,e.jsx)("span",{children:"Title"}),(0,e.jsx)("input",{type:"text",name:"title",defaultValue:a.title||"",placeholder:"e.g. Marketing Manager"})]}),(0,e.jsxs)("label",{className:"org-reporting-field",children:[(0,e.jsx)("span",{children:"Role"}),(0,e.jsx)("select",{name:"role",defaultValue:f,children:Object.entries(s).map(([a,b])=>(0,e.jsx)("option",{value:a,children:b},a))})]}),(0,e.jsxs)("label",{className:"org-reporting-field",children:[(0,e.jsx)("span",{children:"Manager"}),(0,e.jsxs)("select",{name:"reports_to",defaultValue:a.reports_to||"",children:[(0,e.jsx)("option",{value:"",children:"— None (top of chain)"}),d.map(a=>(0,e.jsx)("option",{value:a.id,children:a.name},a.id))]})]}),(0,e.jsx)("button",{className:"admin-button",type:"submit",children:"Save"})]})]},a.id)})}):(0,e.jsx)(i.pp,{title:"No agents yet",children:"Create agents to start building your org."})]}),(0,e.jsxs)("div",{className:"admin-panel",children:[(0,e.jsxs)("div",{className:"admin-panel-head",children:[(0,e.jsx)("span",{children:"Workload by agent"}),(0,e.jsx)("small",{children:"Derived from active tasks."})]}),b.workload.length?(0,e.jsx)("div",{className:"admin-card-list compact",children:b.workload.map(a=>(0,e.jsxs)("div",{className:"admin-record compact",children:[(0,e.jsxs)("div",{className:"admin-record-top",children:[(0,e.jsx)("b",{children:a.agent_name||a.agent_id}),(0,e.jsxs)(i.qs,{tone:a.blocked_tasks?"danger":a.active_tasks?"ready":"neutral",children:[a.active_tasks," active"]})]}),(0,e.jsxs)("p",{children:[a.total_tasks," total \xb7 ",a.blocked_tasks," blocked \xb7 ",a.completed_tasks," complete"]})]},a.agent_id))}):(0,e.jsx)(i.pp,{title:"No workload data",children:"Assign tasks to see workload distribution."})]})]})]})}(0,f.A)(u,"40c350cbd8287321bf8df1fcf5b63965b85aa66490",null),d()}catch(a){d(a)}})},94657:(a,b,c)=>{"use strict";c.d(b,{default:()=>f});var d=c(21124),e=c(38301);function f(){let[a,b]=(0,e.useState)([]),[c,f]=(0,e.useState)("");return(0,d.jsx)("div",{className:"project-switcher","data-project-switcher":!0,children:(0,d.jsxs)("select",{value:c,onChange:a=>{var b;f(b=a.target.value),b?localStorage.setItem("madarx.activeProjectId",b):localStorage.removeItem("madarx.activeProjectId"),window.dispatchEvent(new CustomEvent("madarx:project-change",{detail:{project_id:b||null}}))},"aria-label":"Active project",children:[(0,d.jsx)("option",{value:"",children:"All projects"}),a.map(a=>(0,d.jsx)("option",{value:a.id,children:a.name},a.id))]})})}}};
@@ -1,2 +1,2 @@
1
- "use strict";exports.id=1997,exports.ids=[1997],exports.modules={51997:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{claimEmailInvitesViaCloud:()=>n}),c(77598);var e=c(84104),f=c(81909),g=c(16343),h=c(37937),i=c(79336),j=a([e,f,g,h,i]);function k(){}function l(a,b={}){try{let c=(0,f.r6)(a,{agent_id:b.agent_id,project_id:b.project_id});if(c)return c}catch{}return process.env[a]||null}function m(a,b={}){for(let[c,d]of Object.entries(b)){if(!/^[A-Za-z_][A-Za-z0-9_]*$/.test(c))throw Error(`Invalid filter column: ${c}`);a.searchParams.set(c,String(d).includes(".")?String(d):`eq.${d}`)}}async function n(a,b={}){let c,d=a?.supabase_access_token;if(!d||!function(a={}){let b=l("SUPABASE_URL",a),c=l("SUPABASE_ANON_KEY",a);return!!(b&&c)}(b))return[];try{c=await (function(a,b={}){if(k(),!a)throw Error("getSharedCloudUserClient: an access token (user JWT) is required");let c=l("SUPABASE_URL",b),d=l("SUPABASE_ANON_KEY",b);if(!c||!d)throw Error("Shared cloud (user) not configured: set SUPABASE_URL and SUPABASE_ANON_KEY.");return function({baseUrl:a,apikey:b,bearer:c,agentId:d=null}){let e=`${a.replace(/\/+$/g,"")}/rest/v1`;function f(a={}){return{Authorization:`Bearer ${c}`,apikey:b,Accept:"application/json",...a}}async function h(a){let b={};try{b=await a.json()}catch{}return b.message||b.error||a.statusText||`HTTP ${a.status}`}return{async select(a,{filters:b={},select:c="*",limit:i=100}={}){let j=new URL(`${e}/${a}`);j.searchParams.set("select",c),j.searchParams.set("limit",String(Math.min(Math.max(Number(i)||1,1),1e3))),m(j,b);let k=await (0,g.N)("shared_cloud_select",d)(j,{headers:f()});if(!k.ok)throw Error(`shared_cloud select(${a}) failed: ${await h(k)}`);return k.json()},async upsert(a,b,{onConflict:c}={}){let i=Array.isArray(b)?b:[b],j=new URL(`${e}/${a}`);c&&j.searchParams.set("on_conflict",String(c));let k=await (0,g.N)("shared_cloud_upsert",d)(j,{method:"POST",headers:f({"Content-Type":"application/json",Prefer:"resolution=merge-duplicates,return=representation"}),body:JSON.stringify(i)});if(!k.ok)throw Error(`shared_cloud upsert(${a}) failed: ${await h(k)}`);return k.json()},async delete(a,{filters:b}={}){if(!b||!Object.keys(b).length)throw Error("shared_cloud delete requires filters; bulk delete is blocked.");let c=new URL(`${e}/${a}`);m(c,b);let i=await (0,g.N)("shared_cloud_delete",d)(c,{method:"DELETE",headers:f({Prefer:"return=representation"})});if(!i.ok)throw Error(`shared_cloud delete(${a}) failed: ${await h(i)}`);return i.json()},async rpc(a,b={}){if(!/^[A-Za-z_][A-Za-z0-9_]*$/.test(a))throw Error(`Invalid rpc function name: ${a}`);let c=new URL(`${e}/rpc/${a}`),i=await (0,g.N)("shared_cloud_rpc",d)(c,{method:"POST",headers:f({"Content-Type":"application/json"}),body:JSON.stringify(b??{})});if(!i.ok)throw Error(`shared_cloud rpc(${a}) failed: ${await h(i)}`);return i.json()}}}({baseUrl:c,apikey:d,bearer:a,agentId:b.agent_id??null})})(d,b).rpc("claim_email_invites")}catch{return[]}let f=Array.isArray(c)?c:[],h=[];for(let b of f){let c=b.granted_role||b.role;b.org_id&&(!function(a,b,c,d){let f=(0,e.Lf)();if(!f.prepare("SELECT id FROM organizations WHERE id = ?").get(a)){let b=(0,e.kF)();f.prepare(`INSERT INTO organizations (id, slug, name, plan, created_at, updated_at)
2
- VALUES (?, ?, ?, 'free', ?, ?) ON CONFLICT(id) DO NOTHING`).run(a,`org-${String(a).slice(-8)}`,String(a),b,b)}f.prepare("SELECT id FROM org_memberships WHERE org_id = ? AND user_id = ?").get(a,b)||f.prepare("INSERT INTO org_memberships (id, org_id, user_id, role, accepted_at) VALUES (?, ?, ?, ?, ?)").run((0,e.Si)("mem"),a,b,c,(0,e.kF)())}(b.org_id,a.user_id,c),h.push({org_id:b.org_id,role:c}))}return h}[e,f,g,h,i]=j.then?(await j)():j,Object.freeze(["private","team","org","link"]),Object.freeze(["org","team","private"]),Object.freeze(["dashboard_space","project"]),Object.freeze(["folder","file","artifact"]),Object.freeze(["user","team","org"]),Object.freeze(["user","org"]),Object.freeze(["read","write","admin"]),Object.freeze({read:1,write:2,admin:3}),d()}catch(a){d(a)}})}};
1
+ "use strict";exports.id=1997,exports.ids=[1997],exports.modules={51997:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{claimEmailInvitesViaCloud:()=>r,mirrorCloudMembershipsForUser:()=>s}),c(77598);var e=c(84104),f=c(81909),g=c(16343),h=c(37937),i=c(79336),j=a([e,f,g,h,i]);function k(){}function l(a,b={}){try{let c=(0,f.r6)(a,{agent_id:b.agent_id,project_id:b.project_id});if(c)return c}catch{}return process.env[a]||null}function m(a,b={}){for(let[c,d]of Object.entries(b)){if(!/^[A-Za-z_][A-Za-z0-9_]*$/.test(c))throw Error(`Invalid filter column: ${c}`);a.searchParams.set(c,String(d).includes(".")?String(d):`eq.${d}`)}}function n({baseUrl:a,apikey:b,bearer:c,agentId:d=null}){let e=`${a.replace(/\/+$/g,"")}/rest/v1`;function f(a={}){return{Authorization:`Bearer ${c}`,apikey:b,Accept:"application/json",...a}}async function h(a){let b={};try{b=await a.json()}catch{}return b.message||b.error||a.statusText||`HTTP ${a.status}`}return{async select(a,{filters:b={},select:c="*",limit:i=100}={}){let j=new URL(`${e}/${a}`);j.searchParams.set("select",c),j.searchParams.set("limit",String(Math.min(Math.max(Number(i)||1,1),1e3))),m(j,b);let k=await (0,g.N)("shared_cloud_select",d)(j,{headers:f()});if(!k.ok)throw Error(`shared_cloud select(${a}) failed: ${await h(k)}`);return k.json()},async upsert(a,b,{onConflict:c}={}){let i=Array.isArray(b)?b:[b],j=new URL(`${e}/${a}`);c&&j.searchParams.set("on_conflict",String(c));let k=await (0,g.N)("shared_cloud_upsert",d)(j,{method:"POST",headers:f({"Content-Type":"application/json",Prefer:"resolution=merge-duplicates,return=representation"}),body:JSON.stringify(i)});if(!k.ok)throw Error(`shared_cloud upsert(${a}) failed: ${await h(k)}`);return k.json()},async delete(a,{filters:b}={}){if(!b||!Object.keys(b).length)throw Error("shared_cloud delete requires filters; bulk delete is blocked.");let c=new URL(`${e}/${a}`);m(c,b);let i=await (0,g.N)("shared_cloud_delete",d)(c,{method:"DELETE",headers:f({Prefer:"return=representation"})});if(!i.ok)throw Error(`shared_cloud delete(${a}) failed: ${await h(i)}`);return i.json()},async rpc(a,b={}){if(!/^[A-Za-z_][A-Za-z0-9_]*$/.test(a))throw Error(`Invalid rpc function name: ${a}`);let c=new URL(`${e}/rpc/${a}`),i=await (0,g.N)("shared_cloud_rpc",d)(c,{method:"POST",headers:f({"Content-Type":"application/json"}),body:JSON.stringify(b??{})});if(!i.ok)throw Error(`shared_cloud rpc(${a}) failed: ${await h(i)}`);return i.json()}}}function o(a={}){let b=l("SUPABASE_URL",a),c=l("SUPABASE_ANON_KEY",a);return!!(b&&c)}function p(a,b={}){if(k(),!a)throw Error("getSharedCloudUserClient: an access token (user JWT) is required");let c=l("SUPABASE_URL",b),d=l("SUPABASE_ANON_KEY",b);if(!c||!d)throw Error("Shared cloud (user) not configured: set SUPABASE_URL and SUPABASE_ANON_KEY.");return n({baseUrl:c,apikey:d,bearer:a,agentId:b.agent_id??null})}function q(a,b,c,d){let f=(0,e.Lf)();if(!f.prepare("SELECT id FROM organizations WHERE id = ?").get(a)){let b=(0,e.kF)();f.prepare(`INSERT INTO organizations (id, slug, name, plan, created_at, updated_at)
2
+ VALUES (?, ?, ?, 'free', ?, ?) ON CONFLICT(id) DO NOTHING`).run(a,`org-${String(a).slice(-8)}`,d||String(a),b,b)}f.prepare("SELECT id FROM org_memberships WHERE org_id = ? AND user_id = ?").get(a,b)||f.prepare("INSERT INTO org_memberships (id, org_id, user_id, role, accepted_at) VALUES (?, ?, ?, ?, ?)").run((0,e.Si)("mem"),a,b,c,(0,e.kF)())}async function r(a,b={}){let c,d=a?.supabase_access_token;if(!d||!o(b))return[];try{c=await p(d,b).rpc("claim_email_invites")}catch{return[]}let e=Array.isArray(c)?c:[],f=[];for(let b of e){let c=b.granted_role||b.role;b.org_id&&(q(b.org_id,a.user_id,c),f.push({org_id:b.org_id,role:c}))}return f}async function s(a,b={}){let c,d,e=a?.user_id;if(!e)return[];let f=a?.supabase_access_token||null,g=function({serviceReady:a,userReady:b,accessToken:c}){return a?"admin":b&&c?"user":null}({serviceReady:function(a={}){let b=l("SUPABASE_URL",a),c=l("SUPABASE_SERVICE_ROLE_KEY",a);return!!(b&&c)}(b),userReady:o(b),accessToken:f});if(!g)return[];try{c="admin"===g?function(a={}){let b=l("SUPABASE_URL",a),c=l("SUPABASE_SERVICE_ROLE_KEY",a);if(!b||!c)throw Error("Shared cloud not configured: set SUPABASE_URL and SUPABASE_SERVICE_ROLE_KEY.");return n({baseUrl:b,apikey:c,bearer:c,agentId:a.agent_id??null})}(b):p(f,b)}catch{return[]}try{d=await c.select("org_memberships",{filters:{user_id:e},select:"org_id,role",limit:100})}catch{return[]}if(!Array.isArray(d)||0===d.length)return[];let h=[...new Set(d.map(a=>a.org_id).filter(Boolean))],i=new Map;try{if(h.length){let a=await c.select("organizations",{filters:{id:`in.(${h.join(",")})`},select:"id,name",limit:1e3});for(let b of Array.isArray(a)?a:[])b.id&&i.set(b.id,b.name)}}catch{}let j=[];for(let a of d)a.org_id&&(q(a.org_id,e,a.role,i.get(a.org_id)),j.push({org_id:a.org_id,role:a.role}));return j}[e,f,g,h,i]=j.then?(await j)():j,Object.freeze(["private","team","org","link"]),Object.freeze(["org","team","private"]),Object.freeze(["dashboard_space","project"]),Object.freeze(["folder","file","artifact"]),Object.freeze(["user","team","org"]),Object.freeze(["user","org"]),Object.freeze(["read","write","admin"]),Object.freeze({read:1,write:2,admin:3}),d()}catch(a){d(a)}})}};