madarx 2.24.0 → 2.24.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1244) hide show
  1. package/.next/standalone/.next/BUILD_ID +1 -1
  2. package/.next/standalone/.next/app-build-manifest.json +756 -735
  3. package/.next/standalone/.next/app-path-routes-manifest.json +92 -89
  4. package/.next/standalone/.next/build-manifest.json +5 -5
  5. package/.next/standalone/.next/prerender-manifest.json +3 -3
  6. package/.next/standalone/.next/react-loadable-manifest.json +2 -2
  7. package/.next/standalone/.next/server/app/(home)/page_client-reference-manifest.js +1 -1
  8. package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  9. package/.next/standalone/.next/server/app/_not-found.html +2 -2
  10. package/.next/standalone/.next/server/app/_not-found.rsc +3 -3
  11. package/.next/standalone/.next/server/app/activity/page_client-reference-manifest.js +1 -1
  12. package/.next/standalone/.next/server/app/admin/page.js +2 -2
  13. package/.next/standalone/.next/server/app/admin/page_client-reference-manifest.js +1 -1
  14. package/.next/standalone/.next/server/app/agents/[id]/page.js +4 -4
  15. package/.next/standalone/.next/server/app/agents/[id]/page_client-reference-manifest.js +1 -1
  16. package/.next/standalone/.next/server/app/agents/page.js +1 -1
  17. package/.next/standalone/.next/server/app/agents/page_client-reference-manifest.js +1 -1
  18. package/.next/standalone/.next/server/app/api/activity/route_client-reference-manifest.js +1 -1
  19. package/.next/standalone/.next/server/app/api/admin/audit-export/route_client-reference-manifest.js +1 -1
  20. package/.next/standalone/.next/server/app/api/admin/share-links/route_client-reference-manifest.js +1 -1
  21. package/.next/standalone/.next/server/app/api/agent-memory/route_client-reference-manifest.js +1 -1
  22. package/.next/standalone/.next/server/app/api/agent-runs/[id]/cancel/route_client-reference-manifest.js +1 -1
  23. package/.next/standalone/.next/server/app/api/agent-runs/[id]/events/route_client-reference-manifest.js +1 -1
  24. package/.next/standalone/.next/server/app/api/agent-runs/[id]/log/route_client-reference-manifest.js +1 -1
  25. package/.next/standalone/.next/server/app/api/agent-runs/[id]/route_client-reference-manifest.js +1 -1
  26. package/.next/standalone/.next/server/app/api/agent-runs/route_client-reference-manifest.js +1 -1
  27. package/.next/standalone/.next/server/app/api/agents/[id]/active-run/route_client-reference-manifest.js +1 -1
  28. package/.next/standalone/.next/server/app/api/agents/[id]/chain/route_client-reference-manifest.js +1 -1
  29. package/.next/standalone/.next/server/app/api/agents/[id]/memory/route_client-reference-manifest.js +1 -1
  30. package/.next/standalone/.next/server/app/api/agents/[id]/reports/route_client-reference-manifest.js +1 -1
  31. package/.next/standalone/.next/server/app/api/agents/[id]/run/route_client-reference-manifest.js +1 -1
  32. package/.next/standalone/.next/server/app/api/agents/[id]/skills/route_client-reference-manifest.js +1 -1
  33. package/.next/standalone/.next/server/app/api/agents/active-runs/route_client-reference-manifest.js +1 -1
  34. package/.next/standalone/.next/server/app/api/agents/create/route_client-reference-manifest.js +1 -1
  35. package/.next/standalone/.next/server/app/api/agents/ops/route_client-reference-manifest.js +1 -1
  36. package/.next/standalone/.next/server/app/api/agents/resume-approval/route_client-reference-manifest.js +1 -1
  37. package/.next/standalone/.next/server/app/api/approvals/[id]/route_client-reference-manifest.js +1 -1
  38. package/.next/standalone/.next/server/app/api/approvals/route_client-reference-manifest.js +1 -1
  39. package/.next/standalone/.next/server/app/api/artifacts/[id]/acl/route_client-reference-manifest.js +1 -1
  40. package/.next/standalone/.next/server/app/api/artifacts/[id]/protect/route_client-reference-manifest.js +1 -1
  41. package/.next/standalone/.next/server/app/api/artifacts/[id]/raw/route_client-reference-manifest.js +1 -1
  42. package/.next/standalone/.next/server/app/api/artifacts/[id]/route_client-reference-manifest.js +1 -1
  43. package/.next/standalone/.next/server/app/api/artifacts/[id]/share-link/[linkId]/route_client-reference-manifest.js +1 -1
  44. package/.next/standalone/.next/server/app/api/artifacts/[id]/share-link/route_client-reference-manifest.js +1 -1
  45. package/.next/standalone/.next/server/app/api/artifacts/upload/route_client-reference-manifest.js +1 -1
  46. package/.next/standalone/.next/server/app/api/audit/list/route_client-reference-manifest.js +1 -1
  47. package/.next/standalone/.next/server/app/api/audit/search/route_client-reference-manifest.js +1 -1
  48. package/.next/standalone/.next/server/app/api/auth/callback/route_client-reference-manifest.js +1 -1
  49. package/.next/standalone/.next/server/app/api/auth/config/route_client-reference-manifest.js +1 -1
  50. package/.next/standalone/.next/server/app/api/auth/join-bootstrap/route_client-reference-manifest.js +1 -1
  51. package/.next/standalone/.next/server/app/api/auth/session/route_client-reference-manifest.js +1 -1
  52. package/.next/standalone/.next/server/app/api/brand/route_client-reference-manifest.js +1 -1
  53. package/.next/standalone/.next/server/app/api/brand/share/route_client-reference-manifest.js +1 -1
  54. package/.next/standalone/.next/server/app/api/chat/sessions/[id]/route_client-reference-manifest.js +1 -1
  55. package/.next/standalone/.next/server/app/api/chat/sessions/route_client-reference-manifest.js +1 -1
  56. package/.next/standalone/.next/server/app/api/cloud/schema/route_client-reference-manifest.js +1 -1
  57. package/.next/standalone/.next/server/app/api/compliance/export/route_client-reference-manifest.js +1 -1
  58. package/.next/standalone/.next/server/app/api/config/env/route_client-reference-manifest.js +1 -1
  59. package/.next/standalone/.next/server/app/api/config/route_client-reference-manifest.js +1 -1
  60. package/.next/standalone/.next/server/app/api/connections/[service]/route_client-reference-manifest.js +1 -1
  61. package/.next/standalone/.next/server/app/api/connections/[service]/verify/route.js +1 -1
  62. package/.next/standalone/.next/server/app/api/connections/[service]/verify/route_client-reference-manifest.js +1 -1
  63. package/.next/standalone/.next/server/app/api/connections/route_client-reference-manifest.js +1 -1
  64. package/.next/standalone/.next/server/app/api/connectivity/allowlist/route.js +28 -0
  65. package/.next/standalone/.next/server/app/api/connectivity/allowlist/route.js.nft.json +1 -0
  66. package/.next/standalone/.next/server/app/api/connectivity/allowlist/route_client-reference-manifest.js +1 -0
  67. package/.next/standalone/.next/server/app/api/connectivity/smoke/route.js +28 -0
  68. package/.next/standalone/.next/server/app/api/connectivity/smoke/route.js.nft.json +1 -0
  69. package/.next/standalone/.next/server/app/api/connectivity/smoke/route_client-reference-manifest.js +1 -0
  70. package/.next/standalone/.next/server/app/api/connectivity/status/route.js +28 -0
  71. package/.next/standalone/.next/server/app/api/connectivity/status/route.js.nft.json +1 -0
  72. package/.next/standalone/.next/server/app/api/connectivity/status/route_client-reference-manifest.js +1 -0
  73. package/.next/standalone/.next/server/app/api/cron/tick/route_client-reference-manifest.js +1 -1
  74. package/.next/standalone/.next/server/app/api/dashboard/spaces/[id]/move/route_client-reference-manifest.js +1 -1
  75. package/.next/standalone/.next/server/app/api/dashboard/spaces/[id]/route_client-reference-manifest.js +1 -1
  76. package/.next/standalone/.next/server/app/api/dashboard/spaces/[id]/share-link/[linkId]/route_client-reference-manifest.js +1 -1
  77. package/.next/standalone/.next/server/app/api/dashboard/spaces/[id]/share-link/route_client-reference-manifest.js +1 -1
  78. package/.next/standalone/.next/server/app/api/dashboard/spaces/import/route_client-reference-manifest.js +1 -1
  79. package/.next/standalone/.next/server/app/api/dashboard/spaces/layout/route_client-reference-manifest.js +1 -1
  80. package/.next/standalone/.next/server/app/api/dashboard/spaces/route_client-reference-manifest.js +1 -1
  81. package/.next/standalone/.next/server/app/api/disk/files/[id]/blob/route_client-reference-manifest.js +1 -1
  82. package/.next/standalone/.next/server/app/api/disk/files/[id]/route_client-reference-manifest.js +1 -1
  83. package/.next/standalone/.next/server/app/api/disk/files/[id]/transcribe/route_client-reference-manifest.js +1 -1
  84. package/.next/standalone/.next/server/app/api/disk/files/route_client-reference-manifest.js +1 -1
  85. package/.next/standalone/.next/server/app/api/disk/folders/route_client-reference-manifest.js +1 -1
  86. package/.next/standalone/.next/server/app/api/events/since/[cursor]/route_client-reference-manifest.js +1 -1
  87. package/.next/standalone/.next/server/app/api/events/stream/route_client-reference-manifest.js +1 -1
  88. package/.next/standalone/.next/server/app/api/fs/create-folder/route_client-reference-manifest.js +1 -1
  89. package/.next/standalone/.next/server/app/api/fs/pick-folder/route_client-reference-manifest.js +1 -1
  90. package/.next/standalone/.next/server/app/api/hail/engagements/[id]/blueprint/route_client-reference-manifest.js +1 -1
  91. package/.next/standalone/.next/server/app/api/hail/engagements/[id]/diagnostic/route_client-reference-manifest.js +1 -1
  92. package/.next/standalone/.next/server/app/api/hail/engagements/[id]/governance/route_client-reference-manifest.js +1 -1
  93. package/.next/standalone/.next/server/app/api/hail/engagements/[id]/interview/route_client-reference-manifest.js +1 -1
  94. package/.next/standalone/.next/server/app/api/hail/engagements/[id]/pilot/route_client-reference-manifest.js +1 -1
  95. package/.next/standalone/.next/server/app/api/hail/engagements/[id]/quarterly/route_client-reference-manifest.js +1 -1
  96. package/.next/standalone/.next/server/app/api/hail/engagements/[id]/route_client-reference-manifest.js +1 -1
  97. package/.next/standalone/.next/server/app/api/hail/engagements/[id]/setup-package/route_client-reference-manifest.js +1 -1
  98. package/.next/standalone/.next/server/app/api/hail/engagements/route_client-reference-manifest.js +1 -1
  99. package/.next/standalone/.next/server/app/api/hail/interviews/[id]/responses/route_client-reference-manifest.js +1 -1
  100. package/.next/standalone/.next/server/app/api/hail/interviews/[id]/route_client-reference-manifest.js +1 -1
  101. package/.next/standalone/.next/server/app/api/hail/setup-packages/[id]/apply/route_client-reference-manifest.js +1 -1
  102. package/.next/standalone/.next/server/app/api/hail/setup-packages/validate/route_client-reference-manifest.js +1 -1
  103. package/.next/standalone/.next/server/app/api/heartbeat/tick/route_client-reference-manifest.js +1 -1
  104. package/.next/standalone/.next/server/app/api/heartbeat/worker/route_client-reference-manifest.js +1 -1
  105. package/.next/standalone/.next/server/app/api/help/route_client-reference-manifest.js +1 -1
  106. package/.next/standalone/.next/server/app/api/hermes/jobs/[id]/events/route_client-reference-manifest.js +1 -1
  107. package/.next/standalone/.next/server/app/api/hermes/jobs/[id]/route_client-reference-manifest.js +1 -1
  108. package/.next/standalone/.next/server/app/api/hermes/jobs/route_client-reference-manifest.js +1 -1
  109. package/.next/standalone/.next/server/app/api/integrations/google/callback/route_client-reference-manifest.js +1 -1
  110. package/.next/standalone/.next/server/app/api/integrations/google/oauth/route_client-reference-manifest.js +1 -1
  111. package/.next/standalone/.next/server/app/api/marketplace/[id]/route_client-reference-manifest.js +1 -1
  112. package/.next/standalone/.next/server/app/api/marketplace/open-design/route_client-reference-manifest.js +1 -1
  113. package/.next/standalone/.next/server/app/api/marketplace/route_client-reference-manifest.js +1 -1
  114. package/.next/standalone/.next/server/app/api/mines/import-roots/route_client-reference-manifest.js +1 -1
  115. package/.next/standalone/.next/server/app/api/mines/portfolio/route_client-reference-manifest.js +1 -1
  116. package/.next/standalone/.next/server/app/api/mines/projects/[id]/chunks/route_client-reference-manifest.js +1 -1
  117. package/.next/standalone/.next/server/app/api/mines/projects/[id]/diligence/route_client-reference-manifest.js +1 -1
  118. package/.next/standalone/.next/server/app/api/mines/projects/[id]/import/route_client-reference-manifest.js +1 -1
  119. package/.next/standalone/.next/server/app/api/mines/projects/[id]/publish/route_client-reference-manifest.js +1 -1
  120. package/.next/standalone/.next/server/app/api/mines/projects/route_client-reference-manifest.js +1 -1
  121. package/.next/standalone/.next/server/app/api/missions/route_client-reference-manifest.js +1 -1
  122. package/.next/standalone/.next/server/app/api/models/route_client-reference-manifest.js +1 -1
  123. package/.next/standalone/.next/server/app/api/onboarding/blueprint/route_client-reference-manifest.js +1 -1
  124. package/.next/standalone/.next/server/app/api/onboarding/launch/route_client-reference-manifest.js +1 -1
  125. package/.next/standalone/.next/server/app/api/orchestrator/command/route_client-reference-manifest.js +1 -1
  126. package/.next/standalone/.next/server/app/api/orchestrator/stream/attach/route_client-reference-manifest.js +1 -1
  127. package/.next/standalone/.next/server/app/api/orchestrator/stream/route_client-reference-manifest.js +1 -1
  128. package/.next/standalone/.next/server/app/api/orchestrator/upload/route_client-reference-manifest.js +1 -1
  129. package/.next/standalone/.next/server/app/api/org/route_client-reference-manifest.js +1 -1
  130. package/.next/standalone/.next/server/app/api/orgs/[id]/invites/[inviteId]/route_client-reference-manifest.js +1 -1
  131. package/.next/standalone/.next/server/app/api/orgs/[id]/invites/route_client-reference-manifest.js +1 -1
  132. package/.next/standalone/.next/server/app/api/orgs/[id]/members/[userId]/role/route_client-reference-manifest.js +1 -1
  133. package/.next/standalone/.next/server/app/api/orgs/[id]/members/[userId]/route_client-reference-manifest.js +1 -1
  134. package/.next/standalone/.next/server/app/api/orgs/[id]/members/route_client-reference-manifest.js +1 -1
  135. package/.next/standalone/.next/server/app/api/orgs/[id]/route_client-reference-manifest.js +1 -1
  136. package/.next/standalone/.next/server/app/api/orgs/invites/pending/route_client-reference-manifest.js +1 -1
  137. package/.next/standalone/.next/server/app/api/orgs/join/route_client-reference-manifest.js +1 -1
  138. package/.next/standalone/.next/server/app/api/orgs/join-complete/route_client-reference-manifest.js +1 -1
  139. package/.next/standalone/.next/server/app/api/orgs/route_client-reference-manifest.js +1 -1
  140. package/.next/standalone/.next/server/app/api/printing-press/clis/route_client-reference-manifest.js +1 -1
  141. package/.next/standalone/.next/server/app/api/printing-press/install/route_client-reference-manifest.js +1 -1
  142. package/.next/standalone/.next/server/app/api/printing-press/security-mode/route_client-reference-manifest.js +1 -1
  143. package/.next/standalone/.next/server/app/api/privacy/config/route_client-reference-manifest.js +1 -1
  144. package/.next/standalone/.next/server/app/api/privacy/verify/route_client-reference-manifest.js +1 -1
  145. package/.next/standalone/.next/server/app/api/processes/[id]/route_client-reference-manifest.js +1 -1
  146. package/.next/standalone/.next/server/app/api/processes/[id]/share-link/route_client-reference-manifest.js +1 -1
  147. package/.next/standalone/.next/server/app/api/processes/[id]/stages/[stageId]/override/route_client-reference-manifest.js +1 -1
  148. package/.next/standalone/.next/server/app/api/processes/[id]/stages/[stageId]/retry/route_client-reference-manifest.js +1 -1
  149. package/.next/standalone/.next/server/app/api/processes/[id]/stages/[stageId]/submit/route_client-reference-manifest.js +1 -1
  150. package/.next/standalone/.next/server/app/api/processes/definitions/[slug]/route_client-reference-manifest.js +1 -1
  151. package/.next/standalone/.next/server/app/api/processes/definitions/[slug]/settings/route_client-reference-manifest.js +1 -1
  152. package/.next/standalone/.next/server/app/api/processes/definitions/route_client-reference-manifest.js +1 -1
  153. package/.next/standalone/.next/server/app/api/processes/definitions/validate/route_client-reference-manifest.js +1 -1
  154. package/.next/standalone/.next/server/app/api/processes/route_client-reference-manifest.js +1 -1
  155. package/.next/standalone/.next/server/app/api/processes/start-and-route/route_client-reference-manifest.js +1 -1
  156. package/.next/standalone/.next/server/app/api/projects/[slug]/library/route_client-reference-manifest.js +1 -1
  157. package/.next/standalone/.next/server/app/api/projects/[slug]/route_client-reference-manifest.js +1 -1
  158. package/.next/standalone/.next/server/app/api/projects/route_client-reference-manifest.js +1 -1
  159. package/.next/standalone/.next/server/app/api/runs/approve-claude-run/route_client-reference-manifest.js +1 -1
  160. package/.next/standalone/.next/server/app/api/runs/claude-code-dry-run/route_client-reference-manifest.js +1 -1
  161. package/.next/standalone/.next/server/app/api/runs/competitor-report/route_client-reference-manifest.js +1 -1
  162. package/.next/standalone/.next/server/app/api/runs/engine-ping/route_client-reference-manifest.js +1 -1
  163. package/.next/standalone/.next/server/app/api/runs/marketing-plan/route_client-reference-manifest.js +1 -1
  164. package/.next/standalone/.next/server/app/api/schedules/upsert/route_client-reference-manifest.js +1 -1
  165. package/.next/standalone/.next/server/app/api/secrets/[name]/route_client-reference-manifest.js +1 -1
  166. package/.next/standalone/.next/server/app/api/secrets/route_client-reference-manifest.js +1 -1
  167. package/.next/standalone/.next/server/app/api/settings/trust-mode/route_client-reference-manifest.js +1 -1
  168. package/.next/standalone/.next/server/app/api/share/[token]/otp/route_client-reference-manifest.js +1 -1
  169. package/.next/standalone/.next/server/app/api/share/[token]/route.js +1 -1
  170. package/.next/standalone/.next/server/app/api/share/[token]/route_client-reference-manifest.js +1 -1
  171. package/.next/standalone/.next/server/app/api/share/[token]/verify/route_client-reference-manifest.js +1 -1
  172. package/.next/standalone/.next/server/app/api/share/space/[token]/otp/route_client-reference-manifest.js +1 -1
  173. package/.next/standalone/.next/server/app/api/share/space/[token]/route_client-reference-manifest.js +1 -1
  174. package/.next/standalone/.next/server/app/api/share/space/[token]/verify/route_client-reference-manifest.js +1 -1
  175. package/.next/standalone/.next/server/app/api/shared/spaces/[id]/acl/route_client-reference-manifest.js +1 -1
  176. package/.next/standalone/.next/server/app/api/shared/spaces/publish/route_client-reference-manifest.js +1 -1
  177. package/.next/standalone/.next/server/app/api/shared/spaces/route_client-reference-manifest.js +1 -1
  178. package/.next/standalone/.next/server/app/api/shared/spaces/status/route_client-reference-manifest.js +1 -1
  179. package/.next/standalone/.next/server/app/api/shared/spaces/unpublish/route_client-reference-manifest.js +1 -1
  180. package/.next/standalone/.next/server/app/api/state/route_client-reference-manifest.js +1 -1
  181. package/.next/standalone/.next/server/app/api/system/update/route_client-reference-manifest.js +1 -1
  182. package/.next/standalone/.next/server/app/api/tasks/[id]/active-run/route_client-reference-manifest.js +1 -1
  183. package/.next/standalone/.next/server/app/api/tasks/[id]/attachments/route_client-reference-manifest.js +1 -1
  184. package/.next/standalone/.next/server/app/api/tasks/[id]/checklist/[itemId]/route_client-reference-manifest.js +1 -1
  185. package/.next/standalone/.next/server/app/api/tasks/[id]/checklist/route_client-reference-manifest.js +1 -1
  186. package/.next/standalone/.next/server/app/api/tasks/[id]/checkout/route_client-reference-manifest.js +1 -1
  187. package/.next/standalone/.next/server/app/api/tasks/[id]/children/route_client-reference-manifest.js +1 -1
  188. package/.next/standalone/.next/server/app/api/tasks/[id]/comments/route_client-reference-manifest.js +1 -1
  189. package/.next/standalone/.next/server/app/api/tasks/[id]/events/route_client-reference-manifest.js +1 -1
  190. package/.next/standalone/.next/server/app/api/tasks/[id]/live-runs/route_client-reference-manifest.js +1 -1
  191. package/.next/standalone/.next/server/app/api/tasks/[id]/release/route_client-reference-manifest.js +1 -1
  192. package/.next/standalone/.next/server/app/api/tasks/[id]/route_client-reference-manifest.js +1 -1
  193. package/.next/standalone/.next/server/app/api/tasks/route_client-reference-manifest.js +1 -1
  194. package/.next/standalone/.next/server/app/api/tool-allowlists/[id]/route_client-reference-manifest.js +1 -1
  195. package/.next/standalone/.next/server/app/api/tool-allowlists/route_client-reference-manifest.js +1 -1
  196. package/.next/standalone/.next/server/app/api/tool-egress/route_client-reference-manifest.js +1 -1
  197. package/.next/standalone/.next/server/app/api/tools/[name]/approve/route_client-reference-manifest.js +1 -1
  198. package/.next/standalone/.next/server/app/api/tools/[name]/route_client-reference-manifest.js +1 -1
  199. package/.next/standalone/.next/server/app/api/tools/route_client-reference-manifest.js +1 -1
  200. package/.next/standalone/.next/server/app/api/transcripts/route_client-reference-manifest.js +1 -1
  201. package/.next/standalone/.next/server/app/api/voice/providers/route_client-reference-manifest.js +1 -1
  202. package/.next/standalone/.next/server/app/api/voice/realtime/context/route_client-reference-manifest.js +1 -1
  203. package/.next/standalone/.next/server/app/api/voice/realtime/session/route_client-reference-manifest.js +1 -1
  204. package/.next/standalone/.next/server/app/api/voice/realtime/tool-result/route_client-reference-manifest.js +1 -1
  205. package/.next/standalone/.next/server/app/api/voice/realtime/tools/route_client-reference-manifest.js +1 -1
  206. package/.next/standalone/.next/server/app/api/voice/tts/route_client-reference-manifest.js +1 -1
  207. package/.next/standalone/.next/server/app/api/whatsapp/allowlist/route_client-reference-manifest.js +1 -1
  208. package/.next/standalone/.next/server/app/api/whatsapp/disconnect/route.js +1 -1
  209. package/.next/standalone/.next/server/app/api/whatsapp/disconnect/route_client-reference-manifest.js +1 -1
  210. package/.next/standalone/.next/server/app/api/whatsapp/messages/route_client-reference-manifest.js +1 -1
  211. package/.next/standalone/.next/server/app/api/whatsapp/qr/route.js +1 -1
  212. package/.next/standalone/.next/server/app/api/whatsapp/qr/route_client-reference-manifest.js +1 -1
  213. package/.next/standalone/.next/server/app/api/whatsapp/send/route.js +1 -1
  214. package/.next/standalone/.next/server/app/api/whatsapp/send/route_client-reference-manifest.js +1 -1
  215. package/.next/standalone/.next/server/app/api/whatsapp/status/route_client-reference-manifest.js +1 -1
  216. package/.next/standalone/.next/server/app/approvals/page.js +1 -1
  217. package/.next/standalone/.next/server/app/approvals/page_client-reference-manifest.js +1 -1
  218. package/.next/standalone/.next/server/app/architecture/page_client-reference-manifest.js +1 -1
  219. package/.next/standalone/.next/server/app/architecture.html +2 -2
  220. package/.next/standalone/.next/server/app/architecture.rsc +3 -3
  221. package/.next/standalone/.next/server/app/audit/live/page_client-reference-manifest.js +1 -1
  222. package/.next/standalone/.next/server/app/audit/page_client-reference-manifest.js +1 -1
  223. package/.next/standalone/.next/server/app/brand/page_client-reference-manifest.js +1 -1
  224. package/.next/standalone/.next/server/app/brand.html +2 -2
  225. package/.next/standalone/.next/server/app/brand.rsc +3 -3
  226. package/.next/standalone/.next/server/app/disk/page_client-reference-manifest.js +1 -1
  227. package/.next/standalone/.next/server/app/federated-ai/page_client-reference-manifest.js +1 -1
  228. package/.next/standalone/.next/server/app/federated-ai.html +2 -2
  229. package/.next/standalone/.next/server/app/federated-ai.rsc +3 -3
  230. package/.next/standalone/.next/server/app/hail/[id]/governance/page_client-reference-manifest.js +1 -1
  231. package/.next/standalone/.next/server/app/hail/[id]/interview/page.js +2 -2
  232. package/.next/standalone/.next/server/app/hail/[id]/interview/page_client-reference-manifest.js +1 -1
  233. package/.next/standalone/.next/server/app/hail/[id]/page.js +2 -2
  234. package/.next/standalone/.next/server/app/hail/[id]/page_client-reference-manifest.js +1 -1
  235. package/.next/standalone/.next/server/app/hail/[id]/setup/page.js +2 -2
  236. package/.next/standalone/.next/server/app/hail/[id]/setup/page_client-reference-manifest.js +1 -1
  237. package/.next/standalone/.next/server/app/hail/page.js +2 -2
  238. package/.next/standalone/.next/server/app/hail/page_client-reference-manifest.js +1 -1
  239. package/.next/standalone/.next/server/app/help/[slug]/page_client-reference-manifest.js +1 -1
  240. package/.next/standalone/.next/server/app/help/page_client-reference-manifest.js +1 -1
  241. package/.next/standalone/.next/server/app/index.html +2 -2
  242. package/.next/standalone/.next/server/app/index.rsc +3 -3
  243. package/.next/standalone/.next/server/app/join/page_client-reference-manifest.js +1 -1
  244. package/.next/standalone/.next/server/app/join.html +1 -1
  245. package/.next/standalone/.next/server/app/join.rsc +3 -3
  246. package/.next/standalone/.next/server/app/login/page_client-reference-manifest.js +1 -1
  247. package/.next/standalone/.next/server/app/marketplace/page.js +2 -2
  248. package/.next/standalone/.next/server/app/marketplace/page_client-reference-manifest.js +1 -1
  249. package/.next/standalone/.next/server/app/mines/[projectId]/page_client-reference-manifest.js +1 -1
  250. package/.next/standalone/.next/server/app/mines/[projectId]/results/page_client-reference-manifest.js +1 -1
  251. package/.next/standalone/.next/server/app/mines/page_client-reference-manifest.js +1 -1
  252. package/.next/standalone/.next/server/app/missions/page.js +2 -2
  253. package/.next/standalone/.next/server/app/missions/page_client-reference-manifest.js +1 -1
  254. package/.next/standalone/.next/server/app/onboarding/org/page_client-reference-manifest.js +1 -1
  255. package/.next/standalone/.next/server/app/onboarding/page_client-reference-manifest.js +1 -1
  256. package/.next/standalone/.next/server/app/onboarding/team/page_client-reference-manifest.js +1 -1
  257. package/.next/standalone/.next/server/app/onboarding.html +2 -2
  258. package/.next/standalone/.next/server/app/onboarding.rsc +3 -3
  259. package/.next/standalone/.next/server/app/org/page.js +1 -1
  260. package/.next/standalone/.next/server/app/org/page.js.nft.json +1 -1
  261. package/.next/standalone/.next/server/app/org/page_client-reference-manifest.js +1 -1
  262. package/.next/standalone/.next/server/app/projects/[slug]/log/page_client-reference-manifest.js +1 -1
  263. package/.next/standalone/.next/server/app/projects/[slug]/page_client-reference-manifest.js +1 -1
  264. package/.next/standalone/.next/server/app/projects/new/page.js +2 -2
  265. package/.next/standalone/.next/server/app/projects/new/page_client-reference-manifest.js +1 -1
  266. package/.next/standalone/.next/server/app/projects/new.html +2 -2
  267. package/.next/standalone/.next/server/app/projects/new.rsc +4 -4
  268. package/.next/standalone/.next/server/app/projects/page.js +20 -9
  269. package/.next/standalone/.next/server/app/projects/page_client-reference-manifest.js +1 -1
  270. package/.next/standalone/.next/server/app/reports/[file]/route_client-reference-manifest.js +1 -1
  271. package/.next/standalone/.next/server/app/reports/page_client-reference-manifest.js +1 -1
  272. package/.next/standalone/.next/server/app/runtime/page_client-reference-manifest.js +1 -1
  273. package/.next/standalone/.next/server/app/schedules/page.js +2 -2
  274. package/.next/standalone/.next/server/app/schedules/page_client-reference-manifest.js +1 -1
  275. package/.next/standalone/.next/server/app/settings/account/page_client-reference-manifest.js +1 -1
  276. package/.next/standalone/.next/server/app/settings/advanced/page_client-reference-manifest.js +1 -1
  277. package/.next/standalone/.next/server/app/settings/appearance/page_client-reference-manifest.js +1 -1
  278. package/.next/standalone/.next/server/app/settings/brand/page_client-reference-manifest.js +1 -1
  279. package/.next/standalone/.next/server/app/settings/brand.html +2 -2
  280. package/.next/standalone/.next/server/app/settings/brand.rsc +3 -3
  281. package/.next/standalone/.next/server/app/settings/connectors/page_client-reference-manifest.js +1 -1
  282. package/.next/standalone/.next/server/app/settings/engines/page_client-reference-manifest.js +1 -1
  283. package/.next/standalone/.next/server/app/settings/onboarding/page_client-reference-manifest.js +1 -1
  284. package/.next/standalone/.next/server/app/settings/onboarding.html +2 -2
  285. package/.next/standalone/.next/server/app/settings/onboarding.rsc +3 -3
  286. package/.next/standalone/.next/server/app/settings/organization/page.js +1 -1
  287. package/.next/standalone/.next/server/app/settings/organization/page.js.nft.json +1 -1
  288. package/.next/standalone/.next/server/app/settings/organization/page_client-reference-manifest.js +1 -1
  289. package/.next/standalone/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  290. package/.next/standalone/.next/server/app/settings/runtime/page_client-reference-manifest.js +1 -1
  291. package/.next/standalone/.next/server/app/settings/team/page_client-reference-manifest.js +1 -1
  292. package/.next/standalone/.next/server/app/settings/tools/page_client-reference-manifest.js +1 -1
  293. package/.next/standalone/.next/server/app/settings.html +2 -2
  294. package/.next/standalone/.next/server/app/settings.rsc +3 -3
  295. package/.next/standalone/.next/server/app/share/[token]/page_client-reference-manifest.js +1 -1
  296. package/.next/standalone/.next/server/app/share/space/[token]/page_client-reference-manifest.js +1 -1
  297. package/.next/standalone/.next/server/app/tasks/[id]/page.js +2 -2
  298. package/.next/standalone/.next/server/app/tasks/[id]/page_client-reference-manifest.js +1 -1
  299. package/.next/standalone/.next/server/app/tasks/page.js +1 -1
  300. package/.next/standalone/.next/server/app/tasks/page_client-reference-manifest.js +1 -1
  301. package/.next/standalone/.next/server/app/team/[agentId]/page_client-reference-manifest.js +1 -1
  302. package/.next/standalone/.next/server/app/team/page_client-reference-manifest.js +1 -1
  303. package/.next/standalone/.next/server/app/tools/page_client-reference-manifest.js +1 -1
  304. package/.next/standalone/.next/server/app/whatsapp/page.js +1 -1
  305. package/.next/standalone/.next/server/app/whatsapp/page_client-reference-manifest.js +1 -1
  306. package/.next/standalone/.next/server/app/whatsapp.html +2 -2
  307. package/.next/standalone/.next/server/app/whatsapp.rsc +4 -4
  308. package/.next/standalone/.next/server/app/workflows/[caseId]/page_client-reference-manifest.js +1 -1
  309. package/.next/standalone/.next/server/app/workflows/new/[caseId]/page_client-reference-manifest.js +1 -1
  310. package/.next/standalone/.next/server/app/workflows/new/definition/page_client-reference-manifest.js +1 -1
  311. package/.next/standalone/.next/server/app/workflows/page_client-reference-manifest.js +1 -1
  312. package/.next/standalone/.next/server/app/workflows/share/[caseId]/page_client-reference-manifest.js +1 -1
  313. package/.next/standalone/.next/server/app-paths-manifest.json +92 -89
  314. package/.next/standalone/.next/server/chunks/1699.js +12 -1
  315. package/.next/standalone/.next/server/chunks/4143.js +1 -1
  316. package/.next/standalone/.next/server/chunks/4949.js +1 -0
  317. package/.next/standalone/.next/server/chunks/511.js +1 -1
  318. package/.next/standalone/.next/server/chunks/6059.js +1 -1
  319. package/.next/standalone/.next/server/chunks/8390.js +29 -6
  320. package/.next/standalone/.next/server/functions-config-manifest.json +40 -37
  321. package/.next/standalone/.next/server/middleware-build-manifest.js +1 -1
  322. package/.next/standalone/.next/server/middleware-manifest.json +5 -5
  323. package/.next/standalone/.next/server/middleware-react-loadable-manifest.js +1 -1
  324. package/.next/standalone/.next/server/pages/404.html +2 -2
  325. package/.next/standalone/.next/server/pages/500.html +1 -1
  326. package/.next/standalone/.next/server/pages-manifest.json +1 -1
  327. package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
  328. package/.next/standalone/.next/server/server-reference-manifest.json +1 -1
  329. package/.next/standalone/.next/static/DolrPgGSY-J2Mq_5nw2iX/_buildManifest.js +1 -0
  330. package/.next/standalone/.next/static/chunks/3168.bfda0afc8c838efd.js +1 -0
  331. package/.next/standalone/.next/static/chunks/4119-88678985133f8e3e.js +1 -0
  332. package/.next/standalone/.next/static/chunks/app/activity/loading-50b3fa7d503e745e.js +1 -0
  333. package/.next/standalone/.next/static/chunks/app/agents/[id]/loading-50b3fa7d503e745e.js +1 -0
  334. package/.next/standalone/.next/static/chunks/app/agents/loading-50b3fa7d503e745e.js +1 -0
  335. package/.next/standalone/.next/static/chunks/app/api/activity/route-50b3fa7d503e745e.js +1 -0
  336. package/.next/standalone/.next/static/chunks/app/api/admin/audit-export/route-50b3fa7d503e745e.js +1 -0
  337. package/.next/standalone/.next/static/chunks/app/api/admin/share-links/route-50b3fa7d503e745e.js +1 -0
  338. package/.next/standalone/.next/static/chunks/app/api/agent-memory/route-50b3fa7d503e745e.js +1 -0
  339. package/.next/standalone/.next/static/chunks/app/api/agent-runs/[id]/cancel/route-50b3fa7d503e745e.js +1 -0
  340. package/.next/standalone/.next/static/chunks/app/api/agent-runs/[id]/events/route-50b3fa7d503e745e.js +1 -0
  341. package/.next/standalone/.next/static/chunks/app/api/agent-runs/[id]/log/route-50b3fa7d503e745e.js +1 -0
  342. package/.next/standalone/.next/static/chunks/app/api/agent-runs/[id]/route-50b3fa7d503e745e.js +1 -0
  343. package/.next/standalone/.next/static/chunks/app/api/agent-runs/route-50b3fa7d503e745e.js +1 -0
  344. package/.next/standalone/.next/static/chunks/app/api/agents/[id]/active-run/route-50b3fa7d503e745e.js +1 -0
  345. package/.next/standalone/.next/static/chunks/app/api/agents/[id]/chain/route-50b3fa7d503e745e.js +1 -0
  346. package/.next/standalone/.next/static/chunks/app/api/agents/[id]/memory/route-50b3fa7d503e745e.js +1 -0
  347. package/.next/standalone/.next/static/chunks/app/api/agents/[id]/reports/route-50b3fa7d503e745e.js +1 -0
  348. package/.next/standalone/.next/static/chunks/app/api/agents/[id]/run/route-50b3fa7d503e745e.js +1 -0
  349. package/.next/standalone/.next/static/chunks/app/api/agents/[id]/skills/route-50b3fa7d503e745e.js +1 -0
  350. package/.next/standalone/.next/static/chunks/app/api/agents/active-runs/route-50b3fa7d503e745e.js +1 -0
  351. package/.next/standalone/.next/static/chunks/app/api/agents/create/route-50b3fa7d503e745e.js +1 -0
  352. package/.next/standalone/.next/static/chunks/app/api/agents/ops/route-50b3fa7d503e745e.js +1 -0
  353. package/.next/standalone/.next/static/chunks/app/api/agents/resume-approval/route-50b3fa7d503e745e.js +1 -0
  354. package/.next/standalone/.next/static/chunks/app/api/approvals/[id]/route-50b3fa7d503e745e.js +1 -0
  355. package/.next/standalone/.next/static/chunks/app/api/approvals/route-50b3fa7d503e745e.js +1 -0
  356. package/.next/standalone/.next/static/chunks/app/api/artifacts/[id]/acl/route-50b3fa7d503e745e.js +1 -0
  357. package/.next/standalone/.next/static/chunks/app/api/artifacts/[id]/protect/route-50b3fa7d503e745e.js +1 -0
  358. package/.next/standalone/.next/static/chunks/app/api/artifacts/[id]/raw/route-50b3fa7d503e745e.js +1 -0
  359. package/.next/standalone/.next/static/chunks/app/api/artifacts/[id]/route-50b3fa7d503e745e.js +1 -0
  360. package/.next/standalone/.next/static/chunks/app/api/artifacts/[id]/share-link/[linkId]/route-50b3fa7d503e745e.js +1 -0
  361. package/.next/standalone/.next/static/chunks/app/api/artifacts/[id]/share-link/route-50b3fa7d503e745e.js +1 -0
  362. package/.next/standalone/.next/static/chunks/app/api/artifacts/upload/route-50b3fa7d503e745e.js +1 -0
  363. package/.next/standalone/.next/static/chunks/app/api/audit/list/route-50b3fa7d503e745e.js +1 -0
  364. package/.next/standalone/.next/static/chunks/app/api/audit/search/route-50b3fa7d503e745e.js +1 -0
  365. package/.next/standalone/.next/static/chunks/app/api/auth/callback/route-50b3fa7d503e745e.js +1 -0
  366. package/.next/standalone/.next/static/chunks/app/api/auth/config/route-50b3fa7d503e745e.js +1 -0
  367. package/.next/standalone/.next/static/chunks/app/api/auth/join-bootstrap/route-50b3fa7d503e745e.js +1 -0
  368. package/.next/standalone/.next/static/chunks/app/api/auth/session/route-50b3fa7d503e745e.js +1 -0
  369. package/.next/standalone/.next/static/chunks/app/api/brand/route-50b3fa7d503e745e.js +1 -0
  370. package/.next/standalone/.next/static/chunks/app/api/brand/share/route-50b3fa7d503e745e.js +1 -0
  371. package/.next/standalone/.next/static/chunks/app/api/chat/sessions/[id]/route-50b3fa7d503e745e.js +1 -0
  372. package/.next/standalone/.next/static/chunks/app/api/chat/sessions/route-50b3fa7d503e745e.js +1 -0
  373. package/.next/standalone/.next/static/chunks/app/api/cloud/schema/route-50b3fa7d503e745e.js +1 -0
  374. package/.next/standalone/.next/static/chunks/app/api/compliance/export/route-50b3fa7d503e745e.js +1 -0
  375. package/.next/standalone/.next/static/chunks/app/api/config/env/route-50b3fa7d503e745e.js +1 -0
  376. package/.next/standalone/.next/static/chunks/app/api/config/route-50b3fa7d503e745e.js +1 -0
  377. package/.next/standalone/.next/static/chunks/app/api/connections/[service]/route-50b3fa7d503e745e.js +1 -0
  378. package/.next/standalone/.next/static/chunks/app/api/connections/[service]/verify/route-50b3fa7d503e745e.js +1 -0
  379. package/.next/standalone/.next/static/chunks/app/api/connections/route-50b3fa7d503e745e.js +1 -0
  380. package/.next/standalone/.next/static/chunks/app/api/connectivity/allowlist/route-50b3fa7d503e745e.js +1 -0
  381. package/.next/standalone/.next/static/chunks/app/api/connectivity/smoke/route-50b3fa7d503e745e.js +1 -0
  382. package/.next/standalone/.next/static/chunks/app/api/connectivity/status/route-50b3fa7d503e745e.js +1 -0
  383. package/.next/standalone/.next/static/chunks/app/api/cron/tick/route-50b3fa7d503e745e.js +1 -0
  384. package/.next/standalone/.next/static/chunks/app/api/dashboard/spaces/[id]/move/route-50b3fa7d503e745e.js +1 -0
  385. package/.next/standalone/.next/static/chunks/app/api/dashboard/spaces/[id]/route-50b3fa7d503e745e.js +1 -0
  386. package/.next/standalone/.next/static/chunks/app/api/dashboard/spaces/[id]/share-link/[linkId]/route-50b3fa7d503e745e.js +1 -0
  387. package/.next/standalone/.next/static/chunks/app/api/dashboard/spaces/[id]/share-link/route-50b3fa7d503e745e.js +1 -0
  388. package/.next/standalone/.next/static/chunks/app/api/dashboard/spaces/import/route-50b3fa7d503e745e.js +1 -0
  389. package/.next/standalone/.next/static/chunks/app/api/dashboard/spaces/layout/route-50b3fa7d503e745e.js +1 -0
  390. package/.next/standalone/.next/static/chunks/app/api/dashboard/spaces/route-50b3fa7d503e745e.js +1 -0
  391. package/.next/standalone/.next/static/chunks/app/api/disk/files/[id]/blob/route-50b3fa7d503e745e.js +1 -0
  392. package/.next/standalone/.next/static/chunks/app/api/disk/files/[id]/route-50b3fa7d503e745e.js +1 -0
  393. package/.next/standalone/.next/static/chunks/app/api/disk/files/[id]/transcribe/route-50b3fa7d503e745e.js +1 -0
  394. package/.next/standalone/.next/static/chunks/app/api/disk/files/route-50b3fa7d503e745e.js +1 -0
  395. package/.next/standalone/.next/static/chunks/app/api/disk/folders/route-50b3fa7d503e745e.js +1 -0
  396. package/.next/standalone/.next/static/chunks/app/api/events/since/[cursor]/route-50b3fa7d503e745e.js +1 -0
  397. package/.next/standalone/.next/static/chunks/app/api/events/stream/route-50b3fa7d503e745e.js +1 -0
  398. package/.next/standalone/.next/static/chunks/app/api/fs/create-folder/route-50b3fa7d503e745e.js +1 -0
  399. package/.next/standalone/.next/static/chunks/app/api/fs/pick-folder/route-50b3fa7d503e745e.js +1 -0
  400. package/.next/standalone/.next/static/chunks/app/api/hail/engagements/[id]/blueprint/route-50b3fa7d503e745e.js +1 -0
  401. package/.next/standalone/.next/static/chunks/app/api/hail/engagements/[id]/diagnostic/route-50b3fa7d503e745e.js +1 -0
  402. package/.next/standalone/.next/static/chunks/app/api/hail/engagements/[id]/governance/route-50b3fa7d503e745e.js +1 -0
  403. package/.next/standalone/.next/static/chunks/app/api/hail/engagements/[id]/interview/route-50b3fa7d503e745e.js +1 -0
  404. package/.next/standalone/.next/static/chunks/app/api/hail/engagements/[id]/pilot/route-50b3fa7d503e745e.js +1 -0
  405. package/.next/standalone/.next/static/chunks/app/api/hail/engagements/[id]/quarterly/route-50b3fa7d503e745e.js +1 -0
  406. package/.next/standalone/.next/static/chunks/app/api/hail/engagements/[id]/route-50b3fa7d503e745e.js +1 -0
  407. package/.next/standalone/.next/static/chunks/app/api/hail/engagements/[id]/setup-package/route-50b3fa7d503e745e.js +1 -0
  408. package/.next/standalone/.next/static/chunks/app/api/hail/engagements/route-50b3fa7d503e745e.js +1 -0
  409. package/.next/standalone/.next/static/chunks/app/api/hail/interviews/[id]/responses/route-50b3fa7d503e745e.js +1 -0
  410. package/.next/standalone/.next/static/chunks/app/api/hail/interviews/[id]/route-50b3fa7d503e745e.js +1 -0
  411. package/.next/standalone/.next/static/chunks/app/api/hail/setup-packages/[id]/apply/route-50b3fa7d503e745e.js +1 -0
  412. package/.next/standalone/.next/static/chunks/app/api/hail/setup-packages/validate/route-50b3fa7d503e745e.js +1 -0
  413. package/.next/standalone/.next/static/chunks/app/api/heartbeat/tick/route-50b3fa7d503e745e.js +1 -0
  414. package/.next/standalone/.next/static/chunks/app/api/heartbeat/worker/route-50b3fa7d503e745e.js +1 -0
  415. package/.next/standalone/.next/static/chunks/app/api/help/route-50b3fa7d503e745e.js +1 -0
  416. package/.next/standalone/.next/static/chunks/app/api/hermes/jobs/[id]/events/route-50b3fa7d503e745e.js +1 -0
  417. package/.next/standalone/.next/static/chunks/app/api/hermes/jobs/[id]/route-50b3fa7d503e745e.js +1 -0
  418. package/.next/standalone/.next/static/chunks/app/api/hermes/jobs/route-50b3fa7d503e745e.js +1 -0
  419. package/.next/standalone/.next/static/chunks/app/api/integrations/google/callback/route-50b3fa7d503e745e.js +1 -0
  420. package/.next/standalone/.next/static/chunks/app/api/integrations/google/oauth/route-50b3fa7d503e745e.js +1 -0
  421. package/.next/standalone/.next/static/chunks/app/api/marketplace/[id]/route-50b3fa7d503e745e.js +1 -0
  422. package/.next/standalone/.next/static/chunks/app/api/marketplace/open-design/route-50b3fa7d503e745e.js +1 -0
  423. package/.next/standalone/.next/static/chunks/app/api/marketplace/route-50b3fa7d503e745e.js +1 -0
  424. package/.next/standalone/.next/static/chunks/app/api/mines/import-roots/route-50b3fa7d503e745e.js +1 -0
  425. package/.next/standalone/.next/static/chunks/app/api/mines/portfolio/route-50b3fa7d503e745e.js +1 -0
  426. package/.next/standalone/.next/static/chunks/app/api/mines/projects/[id]/chunks/route-50b3fa7d503e745e.js +1 -0
  427. package/.next/standalone/.next/static/chunks/app/api/mines/projects/[id]/diligence/route-50b3fa7d503e745e.js +1 -0
  428. package/.next/standalone/.next/static/chunks/app/api/mines/projects/[id]/import/route-50b3fa7d503e745e.js +1 -0
  429. package/.next/standalone/.next/static/chunks/app/api/mines/projects/[id]/publish/route-50b3fa7d503e745e.js +1 -0
  430. package/.next/standalone/.next/static/chunks/app/api/mines/projects/route-50b3fa7d503e745e.js +1 -0
  431. package/.next/standalone/.next/static/chunks/app/api/missions/route-50b3fa7d503e745e.js +1 -0
  432. package/.next/standalone/.next/static/chunks/app/api/models/route-50b3fa7d503e745e.js +1 -0
  433. package/.next/standalone/.next/static/chunks/app/api/onboarding/blueprint/route-50b3fa7d503e745e.js +1 -0
  434. package/.next/standalone/.next/static/chunks/app/api/onboarding/launch/route-50b3fa7d503e745e.js +1 -0
  435. package/.next/standalone/.next/static/chunks/app/api/orchestrator/command/route-50b3fa7d503e745e.js +1 -0
  436. package/.next/standalone/.next/static/chunks/app/api/orchestrator/stream/attach/route-50b3fa7d503e745e.js +1 -0
  437. package/.next/standalone/.next/static/chunks/app/api/orchestrator/stream/route-50b3fa7d503e745e.js +1 -0
  438. package/.next/standalone/.next/static/chunks/app/api/orchestrator/upload/route-50b3fa7d503e745e.js +1 -0
  439. package/.next/standalone/.next/static/chunks/app/api/org/route-50b3fa7d503e745e.js +1 -0
  440. package/.next/standalone/.next/static/chunks/app/api/orgs/[id]/invites/[inviteId]/route-50b3fa7d503e745e.js +1 -0
  441. package/.next/standalone/.next/static/chunks/app/api/orgs/[id]/invites/route-50b3fa7d503e745e.js +1 -0
  442. package/.next/standalone/.next/static/chunks/app/api/orgs/[id]/members/[userId]/role/route-50b3fa7d503e745e.js +1 -0
  443. package/.next/standalone/.next/static/chunks/app/api/orgs/[id]/members/[userId]/route-50b3fa7d503e745e.js +1 -0
  444. package/.next/standalone/.next/static/chunks/app/api/orgs/[id]/members/route-50b3fa7d503e745e.js +1 -0
  445. package/.next/standalone/.next/static/chunks/app/api/orgs/[id]/route-50b3fa7d503e745e.js +1 -0
  446. package/.next/standalone/.next/static/chunks/app/api/orgs/invites/pending/route-50b3fa7d503e745e.js +1 -0
  447. package/.next/standalone/.next/static/chunks/app/api/orgs/join/route-50b3fa7d503e745e.js +1 -0
  448. package/.next/standalone/.next/static/chunks/app/api/orgs/join-complete/route-50b3fa7d503e745e.js +1 -0
  449. package/.next/standalone/.next/static/chunks/app/api/orgs/route-50b3fa7d503e745e.js +1 -0
  450. package/.next/standalone/.next/static/chunks/app/api/printing-press/clis/route-50b3fa7d503e745e.js +1 -0
  451. package/.next/standalone/.next/static/chunks/app/api/printing-press/install/route-50b3fa7d503e745e.js +1 -0
  452. package/.next/standalone/.next/static/chunks/app/api/printing-press/security-mode/route-50b3fa7d503e745e.js +1 -0
  453. package/.next/standalone/.next/static/chunks/app/api/privacy/config/route-50b3fa7d503e745e.js +1 -0
  454. package/.next/standalone/.next/static/chunks/app/api/privacy/verify/route-50b3fa7d503e745e.js +1 -0
  455. package/.next/standalone/.next/static/chunks/app/api/processes/[id]/route-50b3fa7d503e745e.js +1 -0
  456. package/.next/standalone/.next/static/chunks/app/api/processes/[id]/share-link/route-50b3fa7d503e745e.js +1 -0
  457. package/.next/standalone/.next/static/chunks/app/api/processes/[id]/stages/[stageId]/override/route-50b3fa7d503e745e.js +1 -0
  458. package/.next/standalone/.next/static/chunks/app/api/processes/[id]/stages/[stageId]/retry/route-50b3fa7d503e745e.js +1 -0
  459. package/.next/standalone/.next/static/chunks/app/api/processes/[id]/stages/[stageId]/submit/route-50b3fa7d503e745e.js +1 -0
  460. package/.next/standalone/.next/static/chunks/app/api/processes/definitions/[slug]/route-50b3fa7d503e745e.js +1 -0
  461. package/.next/standalone/.next/static/chunks/app/api/processes/definitions/[slug]/settings/route-50b3fa7d503e745e.js +1 -0
  462. package/.next/standalone/.next/static/chunks/app/api/processes/definitions/route-50b3fa7d503e745e.js +1 -0
  463. package/.next/standalone/.next/static/chunks/app/api/processes/definitions/validate/route-50b3fa7d503e745e.js +1 -0
  464. package/.next/standalone/.next/static/chunks/app/api/processes/route-50b3fa7d503e745e.js +1 -0
  465. package/.next/standalone/.next/static/chunks/app/api/processes/start-and-route/route-50b3fa7d503e745e.js +1 -0
  466. package/.next/standalone/.next/static/chunks/app/api/projects/[slug]/library/route-50b3fa7d503e745e.js +1 -0
  467. package/.next/standalone/.next/static/chunks/app/api/projects/[slug]/route-50b3fa7d503e745e.js +1 -0
  468. package/.next/standalone/.next/static/chunks/app/api/projects/route-50b3fa7d503e745e.js +1 -0
  469. package/.next/standalone/.next/static/chunks/app/api/runs/approve-claude-run/route-50b3fa7d503e745e.js +1 -0
  470. package/.next/standalone/.next/static/chunks/app/api/runs/claude-code-dry-run/route-50b3fa7d503e745e.js +1 -0
  471. package/.next/standalone/.next/static/chunks/app/api/runs/competitor-report/route-50b3fa7d503e745e.js +1 -0
  472. package/.next/standalone/.next/static/chunks/app/api/runs/engine-ping/route-50b3fa7d503e745e.js +1 -0
  473. package/.next/standalone/.next/static/chunks/app/api/runs/marketing-plan/route-50b3fa7d503e745e.js +1 -0
  474. package/.next/standalone/.next/static/chunks/app/api/schedules/upsert/route-50b3fa7d503e745e.js +1 -0
  475. package/.next/standalone/.next/static/chunks/app/api/secrets/[name]/route-50b3fa7d503e745e.js +1 -0
  476. package/.next/standalone/.next/static/chunks/app/api/secrets/route-50b3fa7d503e745e.js +1 -0
  477. package/.next/standalone/.next/static/chunks/app/api/settings/trust-mode/route-50b3fa7d503e745e.js +1 -0
  478. package/.next/standalone/.next/static/chunks/app/api/share/[token]/otp/route-50b3fa7d503e745e.js +1 -0
  479. package/.next/standalone/.next/static/chunks/app/api/share/[token]/route-50b3fa7d503e745e.js +1 -0
  480. package/.next/standalone/.next/static/chunks/app/api/share/[token]/verify/route-50b3fa7d503e745e.js +1 -0
  481. package/.next/standalone/.next/static/chunks/app/api/share/space/[token]/otp/route-50b3fa7d503e745e.js +1 -0
  482. package/.next/standalone/.next/static/chunks/app/api/share/space/[token]/route-50b3fa7d503e745e.js +1 -0
  483. package/.next/standalone/.next/static/chunks/app/api/share/space/[token]/verify/route-50b3fa7d503e745e.js +1 -0
  484. package/.next/standalone/.next/static/chunks/app/api/shared/spaces/[id]/acl/route-50b3fa7d503e745e.js +1 -0
  485. package/.next/standalone/.next/static/chunks/app/api/shared/spaces/publish/route-50b3fa7d503e745e.js +1 -0
  486. package/.next/standalone/.next/static/chunks/app/api/shared/spaces/route-50b3fa7d503e745e.js +1 -0
  487. package/.next/standalone/.next/static/chunks/app/api/shared/spaces/status/route-50b3fa7d503e745e.js +1 -0
  488. package/.next/standalone/.next/static/chunks/app/api/shared/spaces/unpublish/route-50b3fa7d503e745e.js +1 -0
  489. package/.next/standalone/.next/static/chunks/app/api/state/route-50b3fa7d503e745e.js +1 -0
  490. package/.next/standalone/.next/static/chunks/app/api/system/update/route-50b3fa7d503e745e.js +1 -0
  491. package/.next/standalone/.next/static/chunks/app/api/tasks/[id]/active-run/route-50b3fa7d503e745e.js +1 -0
  492. package/.next/standalone/.next/static/chunks/app/api/tasks/[id]/attachments/route-50b3fa7d503e745e.js +1 -0
  493. package/.next/standalone/.next/static/chunks/app/api/tasks/[id]/checklist/[itemId]/route-50b3fa7d503e745e.js +1 -0
  494. package/.next/standalone/.next/static/chunks/app/api/tasks/[id]/checklist/route-50b3fa7d503e745e.js +1 -0
  495. package/.next/standalone/.next/static/chunks/app/api/tasks/[id]/checkout/route-50b3fa7d503e745e.js +1 -0
  496. package/.next/standalone/.next/static/chunks/app/api/tasks/[id]/children/route-50b3fa7d503e745e.js +1 -0
  497. package/.next/standalone/.next/static/chunks/app/api/tasks/[id]/comments/route-50b3fa7d503e745e.js +1 -0
  498. package/.next/standalone/.next/static/chunks/app/api/tasks/[id]/events/route-50b3fa7d503e745e.js +1 -0
  499. package/.next/standalone/.next/static/chunks/app/api/tasks/[id]/live-runs/route-50b3fa7d503e745e.js +1 -0
  500. package/.next/standalone/.next/static/chunks/app/api/tasks/[id]/release/route-50b3fa7d503e745e.js +1 -0
  501. package/.next/standalone/.next/static/chunks/app/api/tasks/[id]/route-50b3fa7d503e745e.js +1 -0
  502. package/.next/standalone/.next/static/chunks/app/api/tasks/route-50b3fa7d503e745e.js +1 -0
  503. package/.next/standalone/.next/static/chunks/app/api/tool-allowlists/[id]/route-50b3fa7d503e745e.js +1 -0
  504. package/.next/standalone/.next/static/chunks/app/api/tool-allowlists/route-50b3fa7d503e745e.js +1 -0
  505. package/.next/standalone/.next/static/chunks/app/api/tool-egress/route-50b3fa7d503e745e.js +1 -0
  506. package/.next/standalone/.next/static/chunks/app/api/tools/[name]/approve/route-50b3fa7d503e745e.js +1 -0
  507. package/.next/standalone/.next/static/chunks/app/api/tools/[name]/route-50b3fa7d503e745e.js +1 -0
  508. package/.next/standalone/.next/static/chunks/app/api/tools/route-50b3fa7d503e745e.js +1 -0
  509. package/.next/standalone/.next/static/chunks/app/api/transcripts/route-50b3fa7d503e745e.js +1 -0
  510. package/.next/standalone/.next/static/chunks/app/api/voice/providers/route-50b3fa7d503e745e.js +1 -0
  511. package/.next/standalone/.next/static/chunks/app/api/voice/realtime/context/route-50b3fa7d503e745e.js +1 -0
  512. package/.next/standalone/.next/static/chunks/app/api/voice/realtime/session/route-50b3fa7d503e745e.js +1 -0
  513. package/.next/standalone/.next/static/chunks/app/api/voice/realtime/tool-result/route-50b3fa7d503e745e.js +1 -0
  514. package/.next/standalone/.next/static/chunks/app/api/voice/realtime/tools/route-50b3fa7d503e745e.js +1 -0
  515. package/.next/standalone/.next/static/chunks/app/api/voice/tts/route-50b3fa7d503e745e.js +1 -0
  516. package/.next/standalone/.next/static/chunks/app/api/whatsapp/allowlist/route-50b3fa7d503e745e.js +1 -0
  517. package/.next/standalone/.next/static/chunks/app/api/whatsapp/disconnect/route-50b3fa7d503e745e.js +1 -0
  518. package/.next/standalone/.next/static/chunks/app/api/whatsapp/messages/route-50b3fa7d503e745e.js +1 -0
  519. package/.next/standalone/.next/static/chunks/app/api/whatsapp/qr/route-50b3fa7d503e745e.js +1 -0
  520. package/.next/standalone/.next/static/chunks/app/api/whatsapp/send/route-50b3fa7d503e745e.js +1 -0
  521. package/.next/standalone/.next/static/chunks/app/api/whatsapp/status/route-50b3fa7d503e745e.js +1 -0
  522. package/.next/standalone/.next/static/chunks/app/approvals/loading-50b3fa7d503e745e.js +1 -0
  523. package/.next/standalone/.next/static/chunks/app/architecture/loading-50b3fa7d503e745e.js +1 -0
  524. package/.next/standalone/.next/static/chunks/app/audit/loading-50b3fa7d503e745e.js +1 -0
  525. package/.next/standalone/.next/static/chunks/app/brand/loading-50b3fa7d503e745e.js +1 -0
  526. package/.next/standalone/.next/static/chunks/app/disk/loading-50b3fa7d503e745e.js +1 -0
  527. package/.next/standalone/.next/static/chunks/app/federated-ai/loading-50b3fa7d503e745e.js +1 -0
  528. package/.next/standalone/.next/static/chunks/app/help/loading-50b3fa7d503e745e.js +1 -0
  529. package/.next/standalone/.next/static/chunks/app/layout-1fe56531c37a6849.js +1 -0
  530. package/.next/standalone/.next/static/chunks/app/loading-50b3fa7d503e745e.js +1 -0
  531. package/.next/standalone/.next/static/chunks/app/marketplace/loading-50b3fa7d503e745e.js +1 -0
  532. package/.next/standalone/.next/static/chunks/app/missions/loading-50b3fa7d503e745e.js +1 -0
  533. package/.next/standalone/.next/static/chunks/app/onboarding/loading-50b3fa7d503e745e.js +1 -0
  534. package/.next/standalone/.next/static/chunks/app/org/loading-50b3fa7d503e745e.js +1 -0
  535. package/.next/standalone/.next/static/chunks/app/projects/[slug]/loading-50b3fa7d503e745e.js +1 -0
  536. package/.next/standalone/.next/static/chunks/app/projects/loading-50b3fa7d503e745e.js +1 -0
  537. package/.next/standalone/.next/static/chunks/app/projects/page-8efb69f23edca22d.js +1 -0
  538. package/.next/standalone/.next/static/chunks/app/reports/[file]/route-50b3fa7d503e745e.js +1 -0
  539. package/.next/standalone/.next/static/chunks/app/reports/loading-50b3fa7d503e745e.js +1 -0
  540. package/.next/standalone/.next/static/chunks/app/runtime/loading-50b3fa7d503e745e.js +1 -0
  541. package/.next/standalone/.next/static/chunks/app/schedules/loading-50b3fa7d503e745e.js +1 -0
  542. package/.next/standalone/.next/static/chunks/app/settings/loading-50b3fa7d503e745e.js +1 -0
  543. package/.next/standalone/.next/static/chunks/app/settings/page-50b3fa7d503e745e.js +1 -0
  544. package/.next/standalone/.next/static/chunks/app/tasks/[id]/loading-50b3fa7d503e745e.js +1 -0
  545. package/.next/standalone/.next/static/chunks/app/tasks/loading-50b3fa7d503e745e.js +1 -0
  546. package/.next/standalone/.next/static/chunks/app/tools/loading-50b3fa7d503e745e.js +1 -0
  547. package/.next/standalone/.next/static/chunks/app/tools/page-50b3fa7d503e745e.js +1 -0
  548. package/.next/standalone/.next/static/chunks/app/whatsapp/loading-50b3fa7d503e745e.js +1 -0
  549. package/.next/standalone/.next/static/chunks/app/whatsapp/page-0a722b2ff89d8fb0.js +1 -0
  550. package/.next/standalone/.next/static/chunks/app/workflows/share/[caseId]/page-50b3fa7d503e745e.js +1 -0
  551. package/.next/standalone/.next/static/chunks/webpack-898ec578bfafc53f.js +1 -0
  552. package/.next/standalone/CHANGELOG.md +14 -8
  553. package/.next/standalone/package.json +2 -1
  554. package/.next/static/DolrPgGSY-J2Mq_5nw2iX/_buildManifest.js +1 -0
  555. package/.next/static/chunks/3168.bfda0afc8c838efd.js +1 -0
  556. package/.next/static/chunks/4119-88678985133f8e3e.js +1 -0
  557. package/.next/static/chunks/app/activity/loading-50b3fa7d503e745e.js +1 -0
  558. package/.next/static/chunks/app/agents/[id]/loading-50b3fa7d503e745e.js +1 -0
  559. package/.next/static/chunks/app/agents/loading-50b3fa7d503e745e.js +1 -0
  560. package/.next/static/chunks/app/api/activity/route-50b3fa7d503e745e.js +1 -0
  561. package/.next/static/chunks/app/api/admin/audit-export/route-50b3fa7d503e745e.js +1 -0
  562. package/.next/static/chunks/app/api/admin/share-links/route-50b3fa7d503e745e.js +1 -0
  563. package/.next/static/chunks/app/api/agent-memory/route-50b3fa7d503e745e.js +1 -0
  564. package/.next/static/chunks/app/api/agent-runs/[id]/cancel/route-50b3fa7d503e745e.js +1 -0
  565. package/.next/static/chunks/app/api/agent-runs/[id]/events/route-50b3fa7d503e745e.js +1 -0
  566. package/.next/static/chunks/app/api/agent-runs/[id]/log/route-50b3fa7d503e745e.js +1 -0
  567. package/.next/static/chunks/app/api/agent-runs/[id]/route-50b3fa7d503e745e.js +1 -0
  568. package/.next/static/chunks/app/api/agent-runs/route-50b3fa7d503e745e.js +1 -0
  569. package/.next/static/chunks/app/api/agents/[id]/active-run/route-50b3fa7d503e745e.js +1 -0
  570. package/.next/static/chunks/app/api/agents/[id]/chain/route-50b3fa7d503e745e.js +1 -0
  571. package/.next/static/chunks/app/api/agents/[id]/memory/route-50b3fa7d503e745e.js +1 -0
  572. package/.next/static/chunks/app/api/agents/[id]/reports/route-50b3fa7d503e745e.js +1 -0
  573. package/.next/static/chunks/app/api/agents/[id]/run/route-50b3fa7d503e745e.js +1 -0
  574. package/.next/static/chunks/app/api/agents/[id]/skills/route-50b3fa7d503e745e.js +1 -0
  575. package/.next/static/chunks/app/api/agents/active-runs/route-50b3fa7d503e745e.js +1 -0
  576. package/.next/static/chunks/app/api/agents/create/route-50b3fa7d503e745e.js +1 -0
  577. package/.next/static/chunks/app/api/agents/ops/route-50b3fa7d503e745e.js +1 -0
  578. package/.next/static/chunks/app/api/agents/resume-approval/route-50b3fa7d503e745e.js +1 -0
  579. package/.next/static/chunks/app/api/approvals/[id]/route-50b3fa7d503e745e.js +1 -0
  580. package/.next/static/chunks/app/api/approvals/route-50b3fa7d503e745e.js +1 -0
  581. package/.next/static/chunks/app/api/artifacts/[id]/acl/route-50b3fa7d503e745e.js +1 -0
  582. package/.next/static/chunks/app/api/artifacts/[id]/protect/route-50b3fa7d503e745e.js +1 -0
  583. package/.next/static/chunks/app/api/artifacts/[id]/raw/route-50b3fa7d503e745e.js +1 -0
  584. package/.next/static/chunks/app/api/artifacts/[id]/route-50b3fa7d503e745e.js +1 -0
  585. package/.next/static/chunks/app/api/artifacts/[id]/share-link/[linkId]/route-50b3fa7d503e745e.js +1 -0
  586. package/.next/static/chunks/app/api/artifacts/[id]/share-link/route-50b3fa7d503e745e.js +1 -0
  587. package/.next/static/chunks/app/api/artifacts/upload/route-50b3fa7d503e745e.js +1 -0
  588. package/.next/static/chunks/app/api/audit/list/route-50b3fa7d503e745e.js +1 -0
  589. package/.next/static/chunks/app/api/audit/search/route-50b3fa7d503e745e.js +1 -0
  590. package/.next/static/chunks/app/api/auth/callback/route-50b3fa7d503e745e.js +1 -0
  591. package/.next/static/chunks/app/api/auth/config/route-50b3fa7d503e745e.js +1 -0
  592. package/.next/static/chunks/app/api/auth/join-bootstrap/route-50b3fa7d503e745e.js +1 -0
  593. package/.next/static/chunks/app/api/auth/session/route-50b3fa7d503e745e.js +1 -0
  594. package/.next/static/chunks/app/api/brand/route-50b3fa7d503e745e.js +1 -0
  595. package/.next/static/chunks/app/api/brand/share/route-50b3fa7d503e745e.js +1 -0
  596. package/.next/static/chunks/app/api/chat/sessions/[id]/route-50b3fa7d503e745e.js +1 -0
  597. package/.next/static/chunks/app/api/chat/sessions/route-50b3fa7d503e745e.js +1 -0
  598. package/.next/static/chunks/app/api/cloud/schema/route-50b3fa7d503e745e.js +1 -0
  599. package/.next/static/chunks/app/api/compliance/export/route-50b3fa7d503e745e.js +1 -0
  600. package/.next/static/chunks/app/api/config/env/route-50b3fa7d503e745e.js +1 -0
  601. package/.next/static/chunks/app/api/config/route-50b3fa7d503e745e.js +1 -0
  602. package/.next/static/chunks/app/api/connections/[service]/route-50b3fa7d503e745e.js +1 -0
  603. package/.next/static/chunks/app/api/connections/[service]/verify/route-50b3fa7d503e745e.js +1 -0
  604. package/.next/static/chunks/app/api/connections/route-50b3fa7d503e745e.js +1 -0
  605. package/.next/static/chunks/app/api/connectivity/allowlist/route-50b3fa7d503e745e.js +1 -0
  606. package/.next/static/chunks/app/api/connectivity/smoke/route-50b3fa7d503e745e.js +1 -0
  607. package/.next/static/chunks/app/api/connectivity/status/route-50b3fa7d503e745e.js +1 -0
  608. package/.next/static/chunks/app/api/cron/tick/route-50b3fa7d503e745e.js +1 -0
  609. package/.next/static/chunks/app/api/dashboard/spaces/[id]/move/route-50b3fa7d503e745e.js +1 -0
  610. package/.next/static/chunks/app/api/dashboard/spaces/[id]/route-50b3fa7d503e745e.js +1 -0
  611. package/.next/static/chunks/app/api/dashboard/spaces/[id]/share-link/[linkId]/route-50b3fa7d503e745e.js +1 -0
  612. package/.next/static/chunks/app/api/dashboard/spaces/[id]/share-link/route-50b3fa7d503e745e.js +1 -0
  613. package/.next/static/chunks/app/api/dashboard/spaces/import/route-50b3fa7d503e745e.js +1 -0
  614. package/.next/static/chunks/app/api/dashboard/spaces/layout/route-50b3fa7d503e745e.js +1 -0
  615. package/.next/static/chunks/app/api/dashboard/spaces/route-50b3fa7d503e745e.js +1 -0
  616. package/.next/static/chunks/app/api/disk/files/[id]/blob/route-50b3fa7d503e745e.js +1 -0
  617. package/.next/static/chunks/app/api/disk/files/[id]/route-50b3fa7d503e745e.js +1 -0
  618. package/.next/static/chunks/app/api/disk/files/[id]/transcribe/route-50b3fa7d503e745e.js +1 -0
  619. package/.next/static/chunks/app/api/disk/files/route-50b3fa7d503e745e.js +1 -0
  620. package/.next/static/chunks/app/api/disk/folders/route-50b3fa7d503e745e.js +1 -0
  621. package/.next/static/chunks/app/api/events/since/[cursor]/route-50b3fa7d503e745e.js +1 -0
  622. package/.next/static/chunks/app/api/events/stream/route-50b3fa7d503e745e.js +1 -0
  623. package/.next/static/chunks/app/api/fs/create-folder/route-50b3fa7d503e745e.js +1 -0
  624. package/.next/static/chunks/app/api/fs/pick-folder/route-50b3fa7d503e745e.js +1 -0
  625. package/.next/static/chunks/app/api/hail/engagements/[id]/blueprint/route-50b3fa7d503e745e.js +1 -0
  626. package/.next/static/chunks/app/api/hail/engagements/[id]/diagnostic/route-50b3fa7d503e745e.js +1 -0
  627. package/.next/static/chunks/app/api/hail/engagements/[id]/governance/route-50b3fa7d503e745e.js +1 -0
  628. package/.next/static/chunks/app/api/hail/engagements/[id]/interview/route-50b3fa7d503e745e.js +1 -0
  629. package/.next/static/chunks/app/api/hail/engagements/[id]/pilot/route-50b3fa7d503e745e.js +1 -0
  630. package/.next/static/chunks/app/api/hail/engagements/[id]/quarterly/route-50b3fa7d503e745e.js +1 -0
  631. package/.next/static/chunks/app/api/hail/engagements/[id]/route-50b3fa7d503e745e.js +1 -0
  632. package/.next/static/chunks/app/api/hail/engagements/[id]/setup-package/route-50b3fa7d503e745e.js +1 -0
  633. package/.next/static/chunks/app/api/hail/engagements/route-50b3fa7d503e745e.js +1 -0
  634. package/.next/static/chunks/app/api/hail/interviews/[id]/responses/route-50b3fa7d503e745e.js +1 -0
  635. package/.next/static/chunks/app/api/hail/interviews/[id]/route-50b3fa7d503e745e.js +1 -0
  636. package/.next/static/chunks/app/api/hail/setup-packages/[id]/apply/route-50b3fa7d503e745e.js +1 -0
  637. package/.next/static/chunks/app/api/hail/setup-packages/validate/route-50b3fa7d503e745e.js +1 -0
  638. package/.next/static/chunks/app/api/heartbeat/tick/route-50b3fa7d503e745e.js +1 -0
  639. package/.next/static/chunks/app/api/heartbeat/worker/route-50b3fa7d503e745e.js +1 -0
  640. package/.next/static/chunks/app/api/help/route-50b3fa7d503e745e.js +1 -0
  641. package/.next/static/chunks/app/api/hermes/jobs/[id]/events/route-50b3fa7d503e745e.js +1 -0
  642. package/.next/static/chunks/app/api/hermes/jobs/[id]/route-50b3fa7d503e745e.js +1 -0
  643. package/.next/static/chunks/app/api/hermes/jobs/route-50b3fa7d503e745e.js +1 -0
  644. package/.next/static/chunks/app/api/integrations/google/callback/route-50b3fa7d503e745e.js +1 -0
  645. package/.next/static/chunks/app/api/integrations/google/oauth/route-50b3fa7d503e745e.js +1 -0
  646. package/.next/static/chunks/app/api/marketplace/[id]/route-50b3fa7d503e745e.js +1 -0
  647. package/.next/static/chunks/app/api/marketplace/open-design/route-50b3fa7d503e745e.js +1 -0
  648. package/.next/static/chunks/app/api/marketplace/route-50b3fa7d503e745e.js +1 -0
  649. package/.next/static/chunks/app/api/mines/import-roots/route-50b3fa7d503e745e.js +1 -0
  650. package/.next/static/chunks/app/api/mines/portfolio/route-50b3fa7d503e745e.js +1 -0
  651. package/.next/static/chunks/app/api/mines/projects/[id]/chunks/route-50b3fa7d503e745e.js +1 -0
  652. package/.next/static/chunks/app/api/mines/projects/[id]/diligence/route-50b3fa7d503e745e.js +1 -0
  653. package/.next/static/chunks/app/api/mines/projects/[id]/import/route-50b3fa7d503e745e.js +1 -0
  654. package/.next/static/chunks/app/api/mines/projects/[id]/publish/route-50b3fa7d503e745e.js +1 -0
  655. package/.next/static/chunks/app/api/mines/projects/route-50b3fa7d503e745e.js +1 -0
  656. package/.next/static/chunks/app/api/missions/route-50b3fa7d503e745e.js +1 -0
  657. package/.next/static/chunks/app/api/models/route-50b3fa7d503e745e.js +1 -0
  658. package/.next/static/chunks/app/api/onboarding/blueprint/route-50b3fa7d503e745e.js +1 -0
  659. package/.next/static/chunks/app/api/onboarding/launch/route-50b3fa7d503e745e.js +1 -0
  660. package/.next/static/chunks/app/api/orchestrator/command/route-50b3fa7d503e745e.js +1 -0
  661. package/.next/static/chunks/app/api/orchestrator/stream/attach/route-50b3fa7d503e745e.js +1 -0
  662. package/.next/static/chunks/app/api/orchestrator/stream/route-50b3fa7d503e745e.js +1 -0
  663. package/.next/static/chunks/app/api/orchestrator/upload/route-50b3fa7d503e745e.js +1 -0
  664. package/.next/static/chunks/app/api/org/route-50b3fa7d503e745e.js +1 -0
  665. package/.next/static/chunks/app/api/orgs/[id]/invites/[inviteId]/route-50b3fa7d503e745e.js +1 -0
  666. package/.next/static/chunks/app/api/orgs/[id]/invites/route-50b3fa7d503e745e.js +1 -0
  667. package/.next/static/chunks/app/api/orgs/[id]/members/[userId]/role/route-50b3fa7d503e745e.js +1 -0
  668. package/.next/static/chunks/app/api/orgs/[id]/members/[userId]/route-50b3fa7d503e745e.js +1 -0
  669. package/.next/static/chunks/app/api/orgs/[id]/members/route-50b3fa7d503e745e.js +1 -0
  670. package/.next/static/chunks/app/api/orgs/[id]/route-50b3fa7d503e745e.js +1 -0
  671. package/.next/static/chunks/app/api/orgs/invites/pending/route-50b3fa7d503e745e.js +1 -0
  672. package/.next/static/chunks/app/api/orgs/join/route-50b3fa7d503e745e.js +1 -0
  673. package/.next/static/chunks/app/api/orgs/join-complete/route-50b3fa7d503e745e.js +1 -0
  674. package/.next/static/chunks/app/api/orgs/route-50b3fa7d503e745e.js +1 -0
  675. package/.next/static/chunks/app/api/printing-press/clis/route-50b3fa7d503e745e.js +1 -0
  676. package/.next/static/chunks/app/api/printing-press/install/route-50b3fa7d503e745e.js +1 -0
  677. package/.next/static/chunks/app/api/printing-press/security-mode/route-50b3fa7d503e745e.js +1 -0
  678. package/.next/static/chunks/app/api/privacy/config/route-50b3fa7d503e745e.js +1 -0
  679. package/.next/static/chunks/app/api/privacy/verify/route-50b3fa7d503e745e.js +1 -0
  680. package/.next/static/chunks/app/api/processes/[id]/route-50b3fa7d503e745e.js +1 -0
  681. package/.next/static/chunks/app/api/processes/[id]/share-link/route-50b3fa7d503e745e.js +1 -0
  682. package/.next/static/chunks/app/api/processes/[id]/stages/[stageId]/override/route-50b3fa7d503e745e.js +1 -0
  683. package/.next/static/chunks/app/api/processes/[id]/stages/[stageId]/retry/route-50b3fa7d503e745e.js +1 -0
  684. package/.next/static/chunks/app/api/processes/[id]/stages/[stageId]/submit/route-50b3fa7d503e745e.js +1 -0
  685. package/.next/static/chunks/app/api/processes/definitions/[slug]/route-50b3fa7d503e745e.js +1 -0
  686. package/.next/static/chunks/app/api/processes/definitions/[slug]/settings/route-50b3fa7d503e745e.js +1 -0
  687. package/.next/static/chunks/app/api/processes/definitions/route-50b3fa7d503e745e.js +1 -0
  688. package/.next/static/chunks/app/api/processes/definitions/validate/route-50b3fa7d503e745e.js +1 -0
  689. package/.next/static/chunks/app/api/processes/route-50b3fa7d503e745e.js +1 -0
  690. package/.next/static/chunks/app/api/processes/start-and-route/route-50b3fa7d503e745e.js +1 -0
  691. package/.next/static/chunks/app/api/projects/[slug]/library/route-50b3fa7d503e745e.js +1 -0
  692. package/.next/static/chunks/app/api/projects/[slug]/route-50b3fa7d503e745e.js +1 -0
  693. package/.next/static/chunks/app/api/projects/route-50b3fa7d503e745e.js +1 -0
  694. package/.next/static/chunks/app/api/runs/approve-claude-run/route-50b3fa7d503e745e.js +1 -0
  695. package/.next/static/chunks/app/api/runs/claude-code-dry-run/route-50b3fa7d503e745e.js +1 -0
  696. package/.next/static/chunks/app/api/runs/competitor-report/route-50b3fa7d503e745e.js +1 -0
  697. package/.next/static/chunks/app/api/runs/engine-ping/route-50b3fa7d503e745e.js +1 -0
  698. package/.next/static/chunks/app/api/runs/marketing-plan/route-50b3fa7d503e745e.js +1 -0
  699. package/.next/static/chunks/app/api/schedules/upsert/route-50b3fa7d503e745e.js +1 -0
  700. package/.next/static/chunks/app/api/secrets/[name]/route-50b3fa7d503e745e.js +1 -0
  701. package/.next/static/chunks/app/api/secrets/route-50b3fa7d503e745e.js +1 -0
  702. package/.next/static/chunks/app/api/settings/trust-mode/route-50b3fa7d503e745e.js +1 -0
  703. package/.next/static/chunks/app/api/share/[token]/otp/route-50b3fa7d503e745e.js +1 -0
  704. package/.next/static/chunks/app/api/share/[token]/route-50b3fa7d503e745e.js +1 -0
  705. package/.next/static/chunks/app/api/share/[token]/verify/route-50b3fa7d503e745e.js +1 -0
  706. package/.next/static/chunks/app/api/share/space/[token]/otp/route-50b3fa7d503e745e.js +1 -0
  707. package/.next/static/chunks/app/api/share/space/[token]/route-50b3fa7d503e745e.js +1 -0
  708. package/.next/static/chunks/app/api/share/space/[token]/verify/route-50b3fa7d503e745e.js +1 -0
  709. package/.next/static/chunks/app/api/shared/spaces/[id]/acl/route-50b3fa7d503e745e.js +1 -0
  710. package/.next/static/chunks/app/api/shared/spaces/publish/route-50b3fa7d503e745e.js +1 -0
  711. package/.next/static/chunks/app/api/shared/spaces/route-50b3fa7d503e745e.js +1 -0
  712. package/.next/static/chunks/app/api/shared/spaces/status/route-50b3fa7d503e745e.js +1 -0
  713. package/.next/static/chunks/app/api/shared/spaces/unpublish/route-50b3fa7d503e745e.js +1 -0
  714. package/.next/static/chunks/app/api/state/route-50b3fa7d503e745e.js +1 -0
  715. package/.next/static/chunks/app/api/system/update/route-50b3fa7d503e745e.js +1 -0
  716. package/.next/static/chunks/app/api/tasks/[id]/active-run/route-50b3fa7d503e745e.js +1 -0
  717. package/.next/static/chunks/app/api/tasks/[id]/attachments/route-50b3fa7d503e745e.js +1 -0
  718. package/.next/static/chunks/app/api/tasks/[id]/checklist/[itemId]/route-50b3fa7d503e745e.js +1 -0
  719. package/.next/static/chunks/app/api/tasks/[id]/checklist/route-50b3fa7d503e745e.js +1 -0
  720. package/.next/static/chunks/app/api/tasks/[id]/checkout/route-50b3fa7d503e745e.js +1 -0
  721. package/.next/static/chunks/app/api/tasks/[id]/children/route-50b3fa7d503e745e.js +1 -0
  722. package/.next/static/chunks/app/api/tasks/[id]/comments/route-50b3fa7d503e745e.js +1 -0
  723. package/.next/static/chunks/app/api/tasks/[id]/events/route-50b3fa7d503e745e.js +1 -0
  724. package/.next/static/chunks/app/api/tasks/[id]/live-runs/route-50b3fa7d503e745e.js +1 -0
  725. package/.next/static/chunks/app/api/tasks/[id]/release/route-50b3fa7d503e745e.js +1 -0
  726. package/.next/static/chunks/app/api/tasks/[id]/route-50b3fa7d503e745e.js +1 -0
  727. package/.next/static/chunks/app/api/tasks/route-50b3fa7d503e745e.js +1 -0
  728. package/.next/static/chunks/app/api/tool-allowlists/[id]/route-50b3fa7d503e745e.js +1 -0
  729. package/.next/static/chunks/app/api/tool-allowlists/route-50b3fa7d503e745e.js +1 -0
  730. package/.next/static/chunks/app/api/tool-egress/route-50b3fa7d503e745e.js +1 -0
  731. package/.next/static/chunks/app/api/tools/[name]/approve/route-50b3fa7d503e745e.js +1 -0
  732. package/.next/static/chunks/app/api/tools/[name]/route-50b3fa7d503e745e.js +1 -0
  733. package/.next/static/chunks/app/api/tools/route-50b3fa7d503e745e.js +1 -0
  734. package/.next/static/chunks/app/api/transcripts/route-50b3fa7d503e745e.js +1 -0
  735. package/.next/static/chunks/app/api/voice/providers/route-50b3fa7d503e745e.js +1 -0
  736. package/.next/static/chunks/app/api/voice/realtime/context/route-50b3fa7d503e745e.js +1 -0
  737. package/.next/static/chunks/app/api/voice/realtime/session/route-50b3fa7d503e745e.js +1 -0
  738. package/.next/static/chunks/app/api/voice/realtime/tool-result/route-50b3fa7d503e745e.js +1 -0
  739. package/.next/static/chunks/app/api/voice/realtime/tools/route-50b3fa7d503e745e.js +1 -0
  740. package/.next/static/chunks/app/api/voice/tts/route-50b3fa7d503e745e.js +1 -0
  741. package/.next/static/chunks/app/api/whatsapp/allowlist/route-50b3fa7d503e745e.js +1 -0
  742. package/.next/static/chunks/app/api/whatsapp/disconnect/route-50b3fa7d503e745e.js +1 -0
  743. package/.next/static/chunks/app/api/whatsapp/messages/route-50b3fa7d503e745e.js +1 -0
  744. package/.next/static/chunks/app/api/whatsapp/qr/route-50b3fa7d503e745e.js +1 -0
  745. package/.next/static/chunks/app/api/whatsapp/send/route-50b3fa7d503e745e.js +1 -0
  746. package/.next/static/chunks/app/api/whatsapp/status/route-50b3fa7d503e745e.js +1 -0
  747. package/.next/static/chunks/app/approvals/loading-50b3fa7d503e745e.js +1 -0
  748. package/.next/static/chunks/app/architecture/loading-50b3fa7d503e745e.js +1 -0
  749. package/.next/static/chunks/app/audit/loading-50b3fa7d503e745e.js +1 -0
  750. package/.next/static/chunks/app/brand/loading-50b3fa7d503e745e.js +1 -0
  751. package/.next/static/chunks/app/disk/loading-50b3fa7d503e745e.js +1 -0
  752. package/.next/static/chunks/app/federated-ai/loading-50b3fa7d503e745e.js +1 -0
  753. package/.next/static/chunks/app/help/loading-50b3fa7d503e745e.js +1 -0
  754. package/.next/static/chunks/app/layout-1fe56531c37a6849.js +1 -0
  755. package/.next/static/chunks/app/loading-50b3fa7d503e745e.js +1 -0
  756. package/.next/static/chunks/app/marketplace/loading-50b3fa7d503e745e.js +1 -0
  757. package/.next/static/chunks/app/missions/loading-50b3fa7d503e745e.js +1 -0
  758. package/.next/static/chunks/app/onboarding/loading-50b3fa7d503e745e.js +1 -0
  759. package/.next/static/chunks/app/org/loading-50b3fa7d503e745e.js +1 -0
  760. package/.next/static/chunks/app/projects/[slug]/loading-50b3fa7d503e745e.js +1 -0
  761. package/.next/static/chunks/app/projects/loading-50b3fa7d503e745e.js +1 -0
  762. package/.next/static/chunks/app/projects/page-8efb69f23edca22d.js +1 -0
  763. package/.next/static/chunks/app/reports/[file]/route-50b3fa7d503e745e.js +1 -0
  764. package/.next/static/chunks/app/reports/loading-50b3fa7d503e745e.js +1 -0
  765. package/.next/static/chunks/app/runtime/loading-50b3fa7d503e745e.js +1 -0
  766. package/.next/static/chunks/app/schedules/loading-50b3fa7d503e745e.js +1 -0
  767. package/.next/static/chunks/app/settings/loading-50b3fa7d503e745e.js +1 -0
  768. package/.next/static/chunks/app/settings/page-50b3fa7d503e745e.js +1 -0
  769. package/.next/static/chunks/app/tasks/[id]/loading-50b3fa7d503e745e.js +1 -0
  770. package/.next/static/chunks/app/tasks/loading-50b3fa7d503e745e.js +1 -0
  771. package/.next/static/chunks/app/tools/loading-50b3fa7d503e745e.js +1 -0
  772. package/.next/static/chunks/app/tools/page-50b3fa7d503e745e.js +1 -0
  773. package/.next/static/chunks/app/whatsapp/loading-50b3fa7d503e745e.js +1 -0
  774. package/.next/static/chunks/app/whatsapp/page-0a722b2ff89d8fb0.js +1 -0
  775. package/.next/static/chunks/app/workflows/share/[caseId]/page-50b3fa7d503e745e.js +1 -0
  776. package/.next/static/chunks/webpack-898ec578bfafc53f.js +1 -0
  777. package/CHANGELOG.md +14 -8
  778. package/ai-docs/api-surface.md +6 -2
  779. package/ai-docs/key-constraints.md +1 -1
  780. package/app/api/connectivity/allowlist/route.js +72 -0
  781. package/app/api/connectivity/smoke/route.js +40 -0
  782. package/app/api/connectivity/status/route.js +18 -0
  783. package/app/components/app-topbar.jsx +22 -13
  784. package/app/components/dashboard/config-panel.jsx +6 -6
  785. package/app/components/dashboard/whatsapp-section.jsx +85 -20
  786. package/app/whatsapp/page.js +4 -4
  787. package/lib/channel-allowlist.js +144 -0
  788. package/lib/channels/discord-adapter.js +117 -0
  789. package/lib/channels/imessage-adapter.js +106 -0
  790. package/lib/channels/index.js +40 -3
  791. package/lib/channels/signal-adapter.js +96 -0
  792. package/lib/channels/slack-adapter.js +86 -0
  793. package/lib/channels/smoke.js +36 -0
  794. package/lib/channels/telegram-adapter.js +89 -0
  795. package/lib/channels/webhook-adapter.js +64 -0
  796. package/lib/connectivity-status.js +110 -0
  797. package/lib/sandbox/index.js +334 -49
  798. package/lib/schema.js +11 -0
  799. package/lib/whatsapp-router.js +22 -12
  800. package/package.json +2 -1
  801. package/scripts/vreach-channel-smoke.mjs +105 -0
  802. package/.next/standalone/.next/server/chunks/8460.js +0 -1
  803. package/.next/standalone/.next/static/-RjcZjzMx7XdfCnofRZHf/_buildManifest.js +0 -1
  804. package/.next/standalone/.next/static/chunks/3168.9b96304f6b1d2346.js +0 -1
  805. package/.next/standalone/.next/static/chunks/4119-cfb6260557a0a3d2.js +0 -1
  806. package/.next/standalone/.next/static/chunks/app/activity/loading-330c75ad96940fb9.js +0 -1
  807. package/.next/standalone/.next/static/chunks/app/agents/[id]/loading-330c75ad96940fb9.js +0 -1
  808. package/.next/standalone/.next/static/chunks/app/agents/loading-330c75ad96940fb9.js +0 -1
  809. package/.next/standalone/.next/static/chunks/app/api/activity/route-330c75ad96940fb9.js +0 -1
  810. package/.next/standalone/.next/static/chunks/app/api/admin/audit-export/route-330c75ad96940fb9.js +0 -1
  811. package/.next/standalone/.next/static/chunks/app/api/admin/share-links/route-330c75ad96940fb9.js +0 -1
  812. package/.next/standalone/.next/static/chunks/app/api/agent-memory/route-330c75ad96940fb9.js +0 -1
  813. package/.next/standalone/.next/static/chunks/app/api/agent-runs/[id]/cancel/route-330c75ad96940fb9.js +0 -1
  814. package/.next/standalone/.next/static/chunks/app/api/agent-runs/[id]/events/route-330c75ad96940fb9.js +0 -1
  815. package/.next/standalone/.next/static/chunks/app/api/agent-runs/[id]/log/route-330c75ad96940fb9.js +0 -1
  816. package/.next/standalone/.next/static/chunks/app/api/agent-runs/[id]/route-330c75ad96940fb9.js +0 -1
  817. package/.next/standalone/.next/static/chunks/app/api/agent-runs/route-330c75ad96940fb9.js +0 -1
  818. package/.next/standalone/.next/static/chunks/app/api/agents/[id]/active-run/route-330c75ad96940fb9.js +0 -1
  819. package/.next/standalone/.next/static/chunks/app/api/agents/[id]/chain/route-330c75ad96940fb9.js +0 -1
  820. package/.next/standalone/.next/static/chunks/app/api/agents/[id]/memory/route-330c75ad96940fb9.js +0 -1
  821. package/.next/standalone/.next/static/chunks/app/api/agents/[id]/reports/route-330c75ad96940fb9.js +0 -1
  822. package/.next/standalone/.next/static/chunks/app/api/agents/[id]/run/route-330c75ad96940fb9.js +0 -1
  823. package/.next/standalone/.next/static/chunks/app/api/agents/[id]/skills/route-330c75ad96940fb9.js +0 -1
  824. package/.next/standalone/.next/static/chunks/app/api/agents/active-runs/route-330c75ad96940fb9.js +0 -1
  825. package/.next/standalone/.next/static/chunks/app/api/agents/create/route-330c75ad96940fb9.js +0 -1
  826. package/.next/standalone/.next/static/chunks/app/api/agents/ops/route-330c75ad96940fb9.js +0 -1
  827. package/.next/standalone/.next/static/chunks/app/api/agents/resume-approval/route-330c75ad96940fb9.js +0 -1
  828. package/.next/standalone/.next/static/chunks/app/api/approvals/[id]/route-330c75ad96940fb9.js +0 -1
  829. package/.next/standalone/.next/static/chunks/app/api/approvals/route-330c75ad96940fb9.js +0 -1
  830. package/.next/standalone/.next/static/chunks/app/api/artifacts/[id]/acl/route-330c75ad96940fb9.js +0 -1
  831. package/.next/standalone/.next/static/chunks/app/api/artifacts/[id]/protect/route-330c75ad96940fb9.js +0 -1
  832. package/.next/standalone/.next/static/chunks/app/api/artifacts/[id]/raw/route-330c75ad96940fb9.js +0 -1
  833. package/.next/standalone/.next/static/chunks/app/api/artifacts/[id]/route-330c75ad96940fb9.js +0 -1
  834. package/.next/standalone/.next/static/chunks/app/api/artifacts/[id]/share-link/[linkId]/route-330c75ad96940fb9.js +0 -1
  835. package/.next/standalone/.next/static/chunks/app/api/artifacts/[id]/share-link/route-330c75ad96940fb9.js +0 -1
  836. package/.next/standalone/.next/static/chunks/app/api/artifacts/upload/route-330c75ad96940fb9.js +0 -1
  837. package/.next/standalone/.next/static/chunks/app/api/audit/list/route-330c75ad96940fb9.js +0 -1
  838. package/.next/standalone/.next/static/chunks/app/api/audit/search/route-330c75ad96940fb9.js +0 -1
  839. package/.next/standalone/.next/static/chunks/app/api/auth/callback/route-330c75ad96940fb9.js +0 -1
  840. package/.next/standalone/.next/static/chunks/app/api/auth/config/route-330c75ad96940fb9.js +0 -1
  841. package/.next/standalone/.next/static/chunks/app/api/auth/join-bootstrap/route-330c75ad96940fb9.js +0 -1
  842. package/.next/standalone/.next/static/chunks/app/api/auth/session/route-330c75ad96940fb9.js +0 -1
  843. package/.next/standalone/.next/static/chunks/app/api/brand/route-330c75ad96940fb9.js +0 -1
  844. package/.next/standalone/.next/static/chunks/app/api/brand/share/route-330c75ad96940fb9.js +0 -1
  845. package/.next/standalone/.next/static/chunks/app/api/chat/sessions/[id]/route-330c75ad96940fb9.js +0 -1
  846. package/.next/standalone/.next/static/chunks/app/api/chat/sessions/route-330c75ad96940fb9.js +0 -1
  847. package/.next/standalone/.next/static/chunks/app/api/cloud/schema/route-330c75ad96940fb9.js +0 -1
  848. package/.next/standalone/.next/static/chunks/app/api/compliance/export/route-330c75ad96940fb9.js +0 -1
  849. package/.next/standalone/.next/static/chunks/app/api/config/env/route-330c75ad96940fb9.js +0 -1
  850. package/.next/standalone/.next/static/chunks/app/api/config/route-330c75ad96940fb9.js +0 -1
  851. package/.next/standalone/.next/static/chunks/app/api/connections/[service]/route-330c75ad96940fb9.js +0 -1
  852. package/.next/standalone/.next/static/chunks/app/api/connections/[service]/verify/route-330c75ad96940fb9.js +0 -1
  853. package/.next/standalone/.next/static/chunks/app/api/connections/route-330c75ad96940fb9.js +0 -1
  854. package/.next/standalone/.next/static/chunks/app/api/cron/tick/route-330c75ad96940fb9.js +0 -1
  855. package/.next/standalone/.next/static/chunks/app/api/dashboard/spaces/[id]/move/route-330c75ad96940fb9.js +0 -1
  856. package/.next/standalone/.next/static/chunks/app/api/dashboard/spaces/[id]/route-330c75ad96940fb9.js +0 -1
  857. package/.next/standalone/.next/static/chunks/app/api/dashboard/spaces/[id]/share-link/[linkId]/route-330c75ad96940fb9.js +0 -1
  858. package/.next/standalone/.next/static/chunks/app/api/dashboard/spaces/[id]/share-link/route-330c75ad96940fb9.js +0 -1
  859. package/.next/standalone/.next/static/chunks/app/api/dashboard/spaces/import/route-330c75ad96940fb9.js +0 -1
  860. package/.next/standalone/.next/static/chunks/app/api/dashboard/spaces/layout/route-330c75ad96940fb9.js +0 -1
  861. package/.next/standalone/.next/static/chunks/app/api/dashboard/spaces/route-330c75ad96940fb9.js +0 -1
  862. package/.next/standalone/.next/static/chunks/app/api/disk/files/[id]/blob/route-330c75ad96940fb9.js +0 -1
  863. package/.next/standalone/.next/static/chunks/app/api/disk/files/[id]/route-330c75ad96940fb9.js +0 -1
  864. package/.next/standalone/.next/static/chunks/app/api/disk/files/[id]/transcribe/route-330c75ad96940fb9.js +0 -1
  865. package/.next/standalone/.next/static/chunks/app/api/disk/files/route-330c75ad96940fb9.js +0 -1
  866. package/.next/standalone/.next/static/chunks/app/api/disk/folders/route-330c75ad96940fb9.js +0 -1
  867. package/.next/standalone/.next/static/chunks/app/api/events/since/[cursor]/route-330c75ad96940fb9.js +0 -1
  868. package/.next/standalone/.next/static/chunks/app/api/events/stream/route-330c75ad96940fb9.js +0 -1
  869. package/.next/standalone/.next/static/chunks/app/api/fs/create-folder/route-330c75ad96940fb9.js +0 -1
  870. package/.next/standalone/.next/static/chunks/app/api/fs/pick-folder/route-330c75ad96940fb9.js +0 -1
  871. package/.next/standalone/.next/static/chunks/app/api/hail/engagements/[id]/blueprint/route-330c75ad96940fb9.js +0 -1
  872. package/.next/standalone/.next/static/chunks/app/api/hail/engagements/[id]/diagnostic/route-330c75ad96940fb9.js +0 -1
  873. package/.next/standalone/.next/static/chunks/app/api/hail/engagements/[id]/governance/route-330c75ad96940fb9.js +0 -1
  874. package/.next/standalone/.next/static/chunks/app/api/hail/engagements/[id]/interview/route-330c75ad96940fb9.js +0 -1
  875. package/.next/standalone/.next/static/chunks/app/api/hail/engagements/[id]/pilot/route-330c75ad96940fb9.js +0 -1
  876. package/.next/standalone/.next/static/chunks/app/api/hail/engagements/[id]/quarterly/route-330c75ad96940fb9.js +0 -1
  877. package/.next/standalone/.next/static/chunks/app/api/hail/engagements/[id]/route-330c75ad96940fb9.js +0 -1
  878. package/.next/standalone/.next/static/chunks/app/api/hail/engagements/[id]/setup-package/route-330c75ad96940fb9.js +0 -1
  879. package/.next/standalone/.next/static/chunks/app/api/hail/engagements/route-330c75ad96940fb9.js +0 -1
  880. package/.next/standalone/.next/static/chunks/app/api/hail/interviews/[id]/responses/route-330c75ad96940fb9.js +0 -1
  881. package/.next/standalone/.next/static/chunks/app/api/hail/interviews/[id]/route-330c75ad96940fb9.js +0 -1
  882. package/.next/standalone/.next/static/chunks/app/api/hail/setup-packages/[id]/apply/route-330c75ad96940fb9.js +0 -1
  883. package/.next/standalone/.next/static/chunks/app/api/hail/setup-packages/validate/route-330c75ad96940fb9.js +0 -1
  884. package/.next/standalone/.next/static/chunks/app/api/heartbeat/tick/route-330c75ad96940fb9.js +0 -1
  885. package/.next/standalone/.next/static/chunks/app/api/heartbeat/worker/route-330c75ad96940fb9.js +0 -1
  886. package/.next/standalone/.next/static/chunks/app/api/help/route-330c75ad96940fb9.js +0 -1
  887. package/.next/standalone/.next/static/chunks/app/api/hermes/jobs/[id]/events/route-330c75ad96940fb9.js +0 -1
  888. package/.next/standalone/.next/static/chunks/app/api/hermes/jobs/[id]/route-330c75ad96940fb9.js +0 -1
  889. package/.next/standalone/.next/static/chunks/app/api/hermes/jobs/route-330c75ad96940fb9.js +0 -1
  890. package/.next/standalone/.next/static/chunks/app/api/integrations/google/callback/route-330c75ad96940fb9.js +0 -1
  891. package/.next/standalone/.next/static/chunks/app/api/integrations/google/oauth/route-330c75ad96940fb9.js +0 -1
  892. package/.next/standalone/.next/static/chunks/app/api/marketplace/[id]/route-330c75ad96940fb9.js +0 -1
  893. package/.next/standalone/.next/static/chunks/app/api/marketplace/open-design/route-330c75ad96940fb9.js +0 -1
  894. package/.next/standalone/.next/static/chunks/app/api/marketplace/route-330c75ad96940fb9.js +0 -1
  895. package/.next/standalone/.next/static/chunks/app/api/mines/import-roots/route-330c75ad96940fb9.js +0 -1
  896. package/.next/standalone/.next/static/chunks/app/api/mines/portfolio/route-330c75ad96940fb9.js +0 -1
  897. package/.next/standalone/.next/static/chunks/app/api/mines/projects/[id]/chunks/route-330c75ad96940fb9.js +0 -1
  898. package/.next/standalone/.next/static/chunks/app/api/mines/projects/[id]/diligence/route-330c75ad96940fb9.js +0 -1
  899. package/.next/standalone/.next/static/chunks/app/api/mines/projects/[id]/import/route-330c75ad96940fb9.js +0 -1
  900. package/.next/standalone/.next/static/chunks/app/api/mines/projects/[id]/publish/route-330c75ad96940fb9.js +0 -1
  901. package/.next/standalone/.next/static/chunks/app/api/mines/projects/route-330c75ad96940fb9.js +0 -1
  902. package/.next/standalone/.next/static/chunks/app/api/missions/route-330c75ad96940fb9.js +0 -1
  903. package/.next/standalone/.next/static/chunks/app/api/models/route-330c75ad96940fb9.js +0 -1
  904. package/.next/standalone/.next/static/chunks/app/api/onboarding/blueprint/route-330c75ad96940fb9.js +0 -1
  905. package/.next/standalone/.next/static/chunks/app/api/onboarding/launch/route-330c75ad96940fb9.js +0 -1
  906. package/.next/standalone/.next/static/chunks/app/api/orchestrator/command/route-330c75ad96940fb9.js +0 -1
  907. package/.next/standalone/.next/static/chunks/app/api/orchestrator/stream/attach/route-330c75ad96940fb9.js +0 -1
  908. package/.next/standalone/.next/static/chunks/app/api/orchestrator/stream/route-330c75ad96940fb9.js +0 -1
  909. package/.next/standalone/.next/static/chunks/app/api/orchestrator/upload/route-330c75ad96940fb9.js +0 -1
  910. package/.next/standalone/.next/static/chunks/app/api/org/route-330c75ad96940fb9.js +0 -1
  911. package/.next/standalone/.next/static/chunks/app/api/orgs/[id]/invites/[inviteId]/route-330c75ad96940fb9.js +0 -1
  912. package/.next/standalone/.next/static/chunks/app/api/orgs/[id]/invites/route-330c75ad96940fb9.js +0 -1
  913. package/.next/standalone/.next/static/chunks/app/api/orgs/[id]/members/[userId]/role/route-330c75ad96940fb9.js +0 -1
  914. package/.next/standalone/.next/static/chunks/app/api/orgs/[id]/members/[userId]/route-330c75ad96940fb9.js +0 -1
  915. package/.next/standalone/.next/static/chunks/app/api/orgs/[id]/members/route-330c75ad96940fb9.js +0 -1
  916. package/.next/standalone/.next/static/chunks/app/api/orgs/[id]/route-330c75ad96940fb9.js +0 -1
  917. package/.next/standalone/.next/static/chunks/app/api/orgs/invites/pending/route-330c75ad96940fb9.js +0 -1
  918. package/.next/standalone/.next/static/chunks/app/api/orgs/join/route-330c75ad96940fb9.js +0 -1
  919. package/.next/standalone/.next/static/chunks/app/api/orgs/join-complete/route-330c75ad96940fb9.js +0 -1
  920. package/.next/standalone/.next/static/chunks/app/api/orgs/route-330c75ad96940fb9.js +0 -1
  921. package/.next/standalone/.next/static/chunks/app/api/printing-press/clis/route-330c75ad96940fb9.js +0 -1
  922. package/.next/standalone/.next/static/chunks/app/api/printing-press/install/route-330c75ad96940fb9.js +0 -1
  923. package/.next/standalone/.next/static/chunks/app/api/printing-press/security-mode/route-330c75ad96940fb9.js +0 -1
  924. package/.next/standalone/.next/static/chunks/app/api/privacy/config/route-330c75ad96940fb9.js +0 -1
  925. package/.next/standalone/.next/static/chunks/app/api/privacy/verify/route-330c75ad96940fb9.js +0 -1
  926. package/.next/standalone/.next/static/chunks/app/api/processes/[id]/route-330c75ad96940fb9.js +0 -1
  927. package/.next/standalone/.next/static/chunks/app/api/processes/[id]/share-link/route-330c75ad96940fb9.js +0 -1
  928. package/.next/standalone/.next/static/chunks/app/api/processes/[id]/stages/[stageId]/override/route-330c75ad96940fb9.js +0 -1
  929. package/.next/standalone/.next/static/chunks/app/api/processes/[id]/stages/[stageId]/retry/route-330c75ad96940fb9.js +0 -1
  930. package/.next/standalone/.next/static/chunks/app/api/processes/[id]/stages/[stageId]/submit/route-330c75ad96940fb9.js +0 -1
  931. package/.next/standalone/.next/static/chunks/app/api/processes/definitions/[slug]/route-330c75ad96940fb9.js +0 -1
  932. package/.next/standalone/.next/static/chunks/app/api/processes/definitions/[slug]/settings/route-330c75ad96940fb9.js +0 -1
  933. package/.next/standalone/.next/static/chunks/app/api/processes/definitions/route-330c75ad96940fb9.js +0 -1
  934. package/.next/standalone/.next/static/chunks/app/api/processes/definitions/validate/route-330c75ad96940fb9.js +0 -1
  935. package/.next/standalone/.next/static/chunks/app/api/processes/route-330c75ad96940fb9.js +0 -1
  936. package/.next/standalone/.next/static/chunks/app/api/processes/start-and-route/route-330c75ad96940fb9.js +0 -1
  937. package/.next/standalone/.next/static/chunks/app/api/projects/[slug]/library/route-330c75ad96940fb9.js +0 -1
  938. package/.next/standalone/.next/static/chunks/app/api/projects/[slug]/route-330c75ad96940fb9.js +0 -1
  939. package/.next/standalone/.next/static/chunks/app/api/projects/route-330c75ad96940fb9.js +0 -1
  940. package/.next/standalone/.next/static/chunks/app/api/runs/approve-claude-run/route-330c75ad96940fb9.js +0 -1
  941. package/.next/standalone/.next/static/chunks/app/api/runs/claude-code-dry-run/route-330c75ad96940fb9.js +0 -1
  942. package/.next/standalone/.next/static/chunks/app/api/runs/competitor-report/route-330c75ad96940fb9.js +0 -1
  943. package/.next/standalone/.next/static/chunks/app/api/runs/engine-ping/route-330c75ad96940fb9.js +0 -1
  944. package/.next/standalone/.next/static/chunks/app/api/runs/marketing-plan/route-330c75ad96940fb9.js +0 -1
  945. package/.next/standalone/.next/static/chunks/app/api/schedules/upsert/route-330c75ad96940fb9.js +0 -1
  946. package/.next/standalone/.next/static/chunks/app/api/secrets/[name]/route-330c75ad96940fb9.js +0 -1
  947. package/.next/standalone/.next/static/chunks/app/api/secrets/route-330c75ad96940fb9.js +0 -1
  948. package/.next/standalone/.next/static/chunks/app/api/settings/trust-mode/route-330c75ad96940fb9.js +0 -1
  949. package/.next/standalone/.next/static/chunks/app/api/share/[token]/otp/route-330c75ad96940fb9.js +0 -1
  950. package/.next/standalone/.next/static/chunks/app/api/share/[token]/route-330c75ad96940fb9.js +0 -1
  951. package/.next/standalone/.next/static/chunks/app/api/share/[token]/verify/route-330c75ad96940fb9.js +0 -1
  952. package/.next/standalone/.next/static/chunks/app/api/share/space/[token]/otp/route-330c75ad96940fb9.js +0 -1
  953. package/.next/standalone/.next/static/chunks/app/api/share/space/[token]/route-330c75ad96940fb9.js +0 -1
  954. package/.next/standalone/.next/static/chunks/app/api/share/space/[token]/verify/route-330c75ad96940fb9.js +0 -1
  955. package/.next/standalone/.next/static/chunks/app/api/shared/spaces/[id]/acl/route-330c75ad96940fb9.js +0 -1
  956. package/.next/standalone/.next/static/chunks/app/api/shared/spaces/publish/route-330c75ad96940fb9.js +0 -1
  957. package/.next/standalone/.next/static/chunks/app/api/shared/spaces/route-330c75ad96940fb9.js +0 -1
  958. package/.next/standalone/.next/static/chunks/app/api/shared/spaces/status/route-330c75ad96940fb9.js +0 -1
  959. package/.next/standalone/.next/static/chunks/app/api/shared/spaces/unpublish/route-330c75ad96940fb9.js +0 -1
  960. package/.next/standalone/.next/static/chunks/app/api/state/route-330c75ad96940fb9.js +0 -1
  961. package/.next/standalone/.next/static/chunks/app/api/system/update/route-330c75ad96940fb9.js +0 -1
  962. package/.next/standalone/.next/static/chunks/app/api/tasks/[id]/active-run/route-330c75ad96940fb9.js +0 -1
  963. package/.next/standalone/.next/static/chunks/app/api/tasks/[id]/attachments/route-330c75ad96940fb9.js +0 -1
  964. package/.next/standalone/.next/static/chunks/app/api/tasks/[id]/checklist/[itemId]/route-330c75ad96940fb9.js +0 -1
  965. package/.next/standalone/.next/static/chunks/app/api/tasks/[id]/checklist/route-330c75ad96940fb9.js +0 -1
  966. package/.next/standalone/.next/static/chunks/app/api/tasks/[id]/checkout/route-330c75ad96940fb9.js +0 -1
  967. package/.next/standalone/.next/static/chunks/app/api/tasks/[id]/children/route-330c75ad96940fb9.js +0 -1
  968. package/.next/standalone/.next/static/chunks/app/api/tasks/[id]/comments/route-330c75ad96940fb9.js +0 -1
  969. package/.next/standalone/.next/static/chunks/app/api/tasks/[id]/events/route-330c75ad96940fb9.js +0 -1
  970. package/.next/standalone/.next/static/chunks/app/api/tasks/[id]/live-runs/route-330c75ad96940fb9.js +0 -1
  971. package/.next/standalone/.next/static/chunks/app/api/tasks/[id]/release/route-330c75ad96940fb9.js +0 -1
  972. package/.next/standalone/.next/static/chunks/app/api/tasks/[id]/route-330c75ad96940fb9.js +0 -1
  973. package/.next/standalone/.next/static/chunks/app/api/tasks/route-330c75ad96940fb9.js +0 -1
  974. package/.next/standalone/.next/static/chunks/app/api/tool-allowlists/[id]/route-330c75ad96940fb9.js +0 -1
  975. package/.next/standalone/.next/static/chunks/app/api/tool-allowlists/route-330c75ad96940fb9.js +0 -1
  976. package/.next/standalone/.next/static/chunks/app/api/tool-egress/route-330c75ad96940fb9.js +0 -1
  977. package/.next/standalone/.next/static/chunks/app/api/tools/[name]/approve/route-330c75ad96940fb9.js +0 -1
  978. package/.next/standalone/.next/static/chunks/app/api/tools/[name]/route-330c75ad96940fb9.js +0 -1
  979. package/.next/standalone/.next/static/chunks/app/api/tools/route-330c75ad96940fb9.js +0 -1
  980. package/.next/standalone/.next/static/chunks/app/api/transcripts/route-330c75ad96940fb9.js +0 -1
  981. package/.next/standalone/.next/static/chunks/app/api/voice/providers/route-330c75ad96940fb9.js +0 -1
  982. package/.next/standalone/.next/static/chunks/app/api/voice/realtime/context/route-330c75ad96940fb9.js +0 -1
  983. package/.next/standalone/.next/static/chunks/app/api/voice/realtime/session/route-330c75ad96940fb9.js +0 -1
  984. package/.next/standalone/.next/static/chunks/app/api/voice/realtime/tool-result/route-330c75ad96940fb9.js +0 -1
  985. package/.next/standalone/.next/static/chunks/app/api/voice/realtime/tools/route-330c75ad96940fb9.js +0 -1
  986. package/.next/standalone/.next/static/chunks/app/api/voice/tts/route-330c75ad96940fb9.js +0 -1
  987. package/.next/standalone/.next/static/chunks/app/api/whatsapp/allowlist/route-330c75ad96940fb9.js +0 -1
  988. package/.next/standalone/.next/static/chunks/app/api/whatsapp/disconnect/route-330c75ad96940fb9.js +0 -1
  989. package/.next/standalone/.next/static/chunks/app/api/whatsapp/messages/route-330c75ad96940fb9.js +0 -1
  990. package/.next/standalone/.next/static/chunks/app/api/whatsapp/qr/route-330c75ad96940fb9.js +0 -1
  991. package/.next/standalone/.next/static/chunks/app/api/whatsapp/send/route-330c75ad96940fb9.js +0 -1
  992. package/.next/standalone/.next/static/chunks/app/api/whatsapp/status/route-330c75ad96940fb9.js +0 -1
  993. package/.next/standalone/.next/static/chunks/app/approvals/loading-330c75ad96940fb9.js +0 -1
  994. package/.next/standalone/.next/static/chunks/app/architecture/loading-330c75ad96940fb9.js +0 -1
  995. package/.next/standalone/.next/static/chunks/app/audit/loading-330c75ad96940fb9.js +0 -1
  996. package/.next/standalone/.next/static/chunks/app/brand/loading-330c75ad96940fb9.js +0 -1
  997. package/.next/standalone/.next/static/chunks/app/disk/loading-330c75ad96940fb9.js +0 -1
  998. package/.next/standalone/.next/static/chunks/app/federated-ai/loading-330c75ad96940fb9.js +0 -1
  999. package/.next/standalone/.next/static/chunks/app/help/loading-330c75ad96940fb9.js +0 -1
  1000. package/.next/standalone/.next/static/chunks/app/layout-212e0d6723e7eb38.js +0 -1
  1001. package/.next/standalone/.next/static/chunks/app/loading-330c75ad96940fb9.js +0 -1
  1002. package/.next/standalone/.next/static/chunks/app/marketplace/loading-330c75ad96940fb9.js +0 -1
  1003. package/.next/standalone/.next/static/chunks/app/missions/loading-330c75ad96940fb9.js +0 -1
  1004. package/.next/standalone/.next/static/chunks/app/onboarding/loading-330c75ad96940fb9.js +0 -1
  1005. package/.next/standalone/.next/static/chunks/app/org/loading-330c75ad96940fb9.js +0 -1
  1006. package/.next/standalone/.next/static/chunks/app/projects/[slug]/loading-330c75ad96940fb9.js +0 -1
  1007. package/.next/standalone/.next/static/chunks/app/projects/loading-330c75ad96940fb9.js +0 -1
  1008. package/.next/standalone/.next/static/chunks/app/projects/page-4917c27caba276a2.js +0 -1
  1009. package/.next/standalone/.next/static/chunks/app/reports/[file]/route-330c75ad96940fb9.js +0 -1
  1010. package/.next/standalone/.next/static/chunks/app/reports/loading-330c75ad96940fb9.js +0 -1
  1011. package/.next/standalone/.next/static/chunks/app/runtime/loading-330c75ad96940fb9.js +0 -1
  1012. package/.next/standalone/.next/static/chunks/app/schedules/loading-330c75ad96940fb9.js +0 -1
  1013. package/.next/standalone/.next/static/chunks/app/settings/loading-330c75ad96940fb9.js +0 -1
  1014. package/.next/standalone/.next/static/chunks/app/settings/page-330c75ad96940fb9.js +0 -1
  1015. package/.next/standalone/.next/static/chunks/app/tasks/[id]/loading-330c75ad96940fb9.js +0 -1
  1016. package/.next/standalone/.next/static/chunks/app/tasks/loading-330c75ad96940fb9.js +0 -1
  1017. package/.next/standalone/.next/static/chunks/app/tools/loading-330c75ad96940fb9.js +0 -1
  1018. package/.next/standalone/.next/static/chunks/app/tools/page-330c75ad96940fb9.js +0 -1
  1019. package/.next/standalone/.next/static/chunks/app/whatsapp/loading-330c75ad96940fb9.js +0 -1
  1020. package/.next/standalone/.next/static/chunks/app/whatsapp/page-e68333286b73e532.js +0 -1
  1021. package/.next/standalone/.next/static/chunks/app/workflows/share/[caseId]/page-330c75ad96940fb9.js +0 -1
  1022. package/.next/standalone/.next/static/chunks/webpack-70fa3d729cba3d69.js +0 -1
  1023. package/.next/static/-RjcZjzMx7XdfCnofRZHf/_buildManifest.js +0 -1
  1024. package/.next/static/chunks/3168.9b96304f6b1d2346.js +0 -1
  1025. package/.next/static/chunks/4119-cfb6260557a0a3d2.js +0 -1
  1026. package/.next/static/chunks/app/activity/loading-330c75ad96940fb9.js +0 -1
  1027. package/.next/static/chunks/app/agents/[id]/loading-330c75ad96940fb9.js +0 -1
  1028. package/.next/static/chunks/app/agents/loading-330c75ad96940fb9.js +0 -1
  1029. package/.next/static/chunks/app/api/activity/route-330c75ad96940fb9.js +0 -1
  1030. package/.next/static/chunks/app/api/admin/audit-export/route-330c75ad96940fb9.js +0 -1
  1031. package/.next/static/chunks/app/api/admin/share-links/route-330c75ad96940fb9.js +0 -1
  1032. package/.next/static/chunks/app/api/agent-memory/route-330c75ad96940fb9.js +0 -1
  1033. package/.next/static/chunks/app/api/agent-runs/[id]/cancel/route-330c75ad96940fb9.js +0 -1
  1034. package/.next/static/chunks/app/api/agent-runs/[id]/events/route-330c75ad96940fb9.js +0 -1
  1035. package/.next/static/chunks/app/api/agent-runs/[id]/log/route-330c75ad96940fb9.js +0 -1
  1036. package/.next/static/chunks/app/api/agent-runs/[id]/route-330c75ad96940fb9.js +0 -1
  1037. package/.next/static/chunks/app/api/agent-runs/route-330c75ad96940fb9.js +0 -1
  1038. package/.next/static/chunks/app/api/agents/[id]/active-run/route-330c75ad96940fb9.js +0 -1
  1039. package/.next/static/chunks/app/api/agents/[id]/chain/route-330c75ad96940fb9.js +0 -1
  1040. package/.next/static/chunks/app/api/agents/[id]/memory/route-330c75ad96940fb9.js +0 -1
  1041. package/.next/static/chunks/app/api/agents/[id]/reports/route-330c75ad96940fb9.js +0 -1
  1042. package/.next/static/chunks/app/api/agents/[id]/run/route-330c75ad96940fb9.js +0 -1
  1043. package/.next/static/chunks/app/api/agents/[id]/skills/route-330c75ad96940fb9.js +0 -1
  1044. package/.next/static/chunks/app/api/agents/active-runs/route-330c75ad96940fb9.js +0 -1
  1045. package/.next/static/chunks/app/api/agents/create/route-330c75ad96940fb9.js +0 -1
  1046. package/.next/static/chunks/app/api/agents/ops/route-330c75ad96940fb9.js +0 -1
  1047. package/.next/static/chunks/app/api/agents/resume-approval/route-330c75ad96940fb9.js +0 -1
  1048. package/.next/static/chunks/app/api/approvals/[id]/route-330c75ad96940fb9.js +0 -1
  1049. package/.next/static/chunks/app/api/approvals/route-330c75ad96940fb9.js +0 -1
  1050. package/.next/static/chunks/app/api/artifacts/[id]/acl/route-330c75ad96940fb9.js +0 -1
  1051. package/.next/static/chunks/app/api/artifacts/[id]/protect/route-330c75ad96940fb9.js +0 -1
  1052. package/.next/static/chunks/app/api/artifacts/[id]/raw/route-330c75ad96940fb9.js +0 -1
  1053. package/.next/static/chunks/app/api/artifacts/[id]/route-330c75ad96940fb9.js +0 -1
  1054. package/.next/static/chunks/app/api/artifacts/[id]/share-link/[linkId]/route-330c75ad96940fb9.js +0 -1
  1055. package/.next/static/chunks/app/api/artifacts/[id]/share-link/route-330c75ad96940fb9.js +0 -1
  1056. package/.next/static/chunks/app/api/artifacts/upload/route-330c75ad96940fb9.js +0 -1
  1057. package/.next/static/chunks/app/api/audit/list/route-330c75ad96940fb9.js +0 -1
  1058. package/.next/static/chunks/app/api/audit/search/route-330c75ad96940fb9.js +0 -1
  1059. package/.next/static/chunks/app/api/auth/callback/route-330c75ad96940fb9.js +0 -1
  1060. package/.next/static/chunks/app/api/auth/config/route-330c75ad96940fb9.js +0 -1
  1061. package/.next/static/chunks/app/api/auth/join-bootstrap/route-330c75ad96940fb9.js +0 -1
  1062. package/.next/static/chunks/app/api/auth/session/route-330c75ad96940fb9.js +0 -1
  1063. package/.next/static/chunks/app/api/brand/route-330c75ad96940fb9.js +0 -1
  1064. package/.next/static/chunks/app/api/brand/share/route-330c75ad96940fb9.js +0 -1
  1065. package/.next/static/chunks/app/api/chat/sessions/[id]/route-330c75ad96940fb9.js +0 -1
  1066. package/.next/static/chunks/app/api/chat/sessions/route-330c75ad96940fb9.js +0 -1
  1067. package/.next/static/chunks/app/api/cloud/schema/route-330c75ad96940fb9.js +0 -1
  1068. package/.next/static/chunks/app/api/compliance/export/route-330c75ad96940fb9.js +0 -1
  1069. package/.next/static/chunks/app/api/config/env/route-330c75ad96940fb9.js +0 -1
  1070. package/.next/static/chunks/app/api/config/route-330c75ad96940fb9.js +0 -1
  1071. package/.next/static/chunks/app/api/connections/[service]/route-330c75ad96940fb9.js +0 -1
  1072. package/.next/static/chunks/app/api/connections/[service]/verify/route-330c75ad96940fb9.js +0 -1
  1073. package/.next/static/chunks/app/api/connections/route-330c75ad96940fb9.js +0 -1
  1074. package/.next/static/chunks/app/api/cron/tick/route-330c75ad96940fb9.js +0 -1
  1075. package/.next/static/chunks/app/api/dashboard/spaces/[id]/move/route-330c75ad96940fb9.js +0 -1
  1076. package/.next/static/chunks/app/api/dashboard/spaces/[id]/route-330c75ad96940fb9.js +0 -1
  1077. package/.next/static/chunks/app/api/dashboard/spaces/[id]/share-link/[linkId]/route-330c75ad96940fb9.js +0 -1
  1078. package/.next/static/chunks/app/api/dashboard/spaces/[id]/share-link/route-330c75ad96940fb9.js +0 -1
  1079. package/.next/static/chunks/app/api/dashboard/spaces/import/route-330c75ad96940fb9.js +0 -1
  1080. package/.next/static/chunks/app/api/dashboard/spaces/layout/route-330c75ad96940fb9.js +0 -1
  1081. package/.next/static/chunks/app/api/dashboard/spaces/route-330c75ad96940fb9.js +0 -1
  1082. package/.next/static/chunks/app/api/disk/files/[id]/blob/route-330c75ad96940fb9.js +0 -1
  1083. package/.next/static/chunks/app/api/disk/files/[id]/route-330c75ad96940fb9.js +0 -1
  1084. package/.next/static/chunks/app/api/disk/files/[id]/transcribe/route-330c75ad96940fb9.js +0 -1
  1085. package/.next/static/chunks/app/api/disk/files/route-330c75ad96940fb9.js +0 -1
  1086. package/.next/static/chunks/app/api/disk/folders/route-330c75ad96940fb9.js +0 -1
  1087. package/.next/static/chunks/app/api/events/since/[cursor]/route-330c75ad96940fb9.js +0 -1
  1088. package/.next/static/chunks/app/api/events/stream/route-330c75ad96940fb9.js +0 -1
  1089. package/.next/static/chunks/app/api/fs/create-folder/route-330c75ad96940fb9.js +0 -1
  1090. package/.next/static/chunks/app/api/fs/pick-folder/route-330c75ad96940fb9.js +0 -1
  1091. package/.next/static/chunks/app/api/hail/engagements/[id]/blueprint/route-330c75ad96940fb9.js +0 -1
  1092. package/.next/static/chunks/app/api/hail/engagements/[id]/diagnostic/route-330c75ad96940fb9.js +0 -1
  1093. package/.next/static/chunks/app/api/hail/engagements/[id]/governance/route-330c75ad96940fb9.js +0 -1
  1094. package/.next/static/chunks/app/api/hail/engagements/[id]/interview/route-330c75ad96940fb9.js +0 -1
  1095. package/.next/static/chunks/app/api/hail/engagements/[id]/pilot/route-330c75ad96940fb9.js +0 -1
  1096. package/.next/static/chunks/app/api/hail/engagements/[id]/quarterly/route-330c75ad96940fb9.js +0 -1
  1097. package/.next/static/chunks/app/api/hail/engagements/[id]/route-330c75ad96940fb9.js +0 -1
  1098. package/.next/static/chunks/app/api/hail/engagements/[id]/setup-package/route-330c75ad96940fb9.js +0 -1
  1099. package/.next/static/chunks/app/api/hail/engagements/route-330c75ad96940fb9.js +0 -1
  1100. package/.next/static/chunks/app/api/hail/interviews/[id]/responses/route-330c75ad96940fb9.js +0 -1
  1101. package/.next/static/chunks/app/api/hail/interviews/[id]/route-330c75ad96940fb9.js +0 -1
  1102. package/.next/static/chunks/app/api/hail/setup-packages/[id]/apply/route-330c75ad96940fb9.js +0 -1
  1103. package/.next/static/chunks/app/api/hail/setup-packages/validate/route-330c75ad96940fb9.js +0 -1
  1104. package/.next/static/chunks/app/api/heartbeat/tick/route-330c75ad96940fb9.js +0 -1
  1105. package/.next/static/chunks/app/api/heartbeat/worker/route-330c75ad96940fb9.js +0 -1
  1106. package/.next/static/chunks/app/api/help/route-330c75ad96940fb9.js +0 -1
  1107. package/.next/static/chunks/app/api/hermes/jobs/[id]/events/route-330c75ad96940fb9.js +0 -1
  1108. package/.next/static/chunks/app/api/hermes/jobs/[id]/route-330c75ad96940fb9.js +0 -1
  1109. package/.next/static/chunks/app/api/hermes/jobs/route-330c75ad96940fb9.js +0 -1
  1110. package/.next/static/chunks/app/api/integrations/google/callback/route-330c75ad96940fb9.js +0 -1
  1111. package/.next/static/chunks/app/api/integrations/google/oauth/route-330c75ad96940fb9.js +0 -1
  1112. package/.next/static/chunks/app/api/marketplace/[id]/route-330c75ad96940fb9.js +0 -1
  1113. package/.next/static/chunks/app/api/marketplace/open-design/route-330c75ad96940fb9.js +0 -1
  1114. package/.next/static/chunks/app/api/marketplace/route-330c75ad96940fb9.js +0 -1
  1115. package/.next/static/chunks/app/api/mines/import-roots/route-330c75ad96940fb9.js +0 -1
  1116. package/.next/static/chunks/app/api/mines/portfolio/route-330c75ad96940fb9.js +0 -1
  1117. package/.next/static/chunks/app/api/mines/projects/[id]/chunks/route-330c75ad96940fb9.js +0 -1
  1118. package/.next/static/chunks/app/api/mines/projects/[id]/diligence/route-330c75ad96940fb9.js +0 -1
  1119. package/.next/static/chunks/app/api/mines/projects/[id]/import/route-330c75ad96940fb9.js +0 -1
  1120. package/.next/static/chunks/app/api/mines/projects/[id]/publish/route-330c75ad96940fb9.js +0 -1
  1121. package/.next/static/chunks/app/api/mines/projects/route-330c75ad96940fb9.js +0 -1
  1122. package/.next/static/chunks/app/api/missions/route-330c75ad96940fb9.js +0 -1
  1123. package/.next/static/chunks/app/api/models/route-330c75ad96940fb9.js +0 -1
  1124. package/.next/static/chunks/app/api/onboarding/blueprint/route-330c75ad96940fb9.js +0 -1
  1125. package/.next/static/chunks/app/api/onboarding/launch/route-330c75ad96940fb9.js +0 -1
  1126. package/.next/static/chunks/app/api/orchestrator/command/route-330c75ad96940fb9.js +0 -1
  1127. package/.next/static/chunks/app/api/orchestrator/stream/attach/route-330c75ad96940fb9.js +0 -1
  1128. package/.next/static/chunks/app/api/orchestrator/stream/route-330c75ad96940fb9.js +0 -1
  1129. package/.next/static/chunks/app/api/orchestrator/upload/route-330c75ad96940fb9.js +0 -1
  1130. package/.next/static/chunks/app/api/org/route-330c75ad96940fb9.js +0 -1
  1131. package/.next/static/chunks/app/api/orgs/[id]/invites/[inviteId]/route-330c75ad96940fb9.js +0 -1
  1132. package/.next/static/chunks/app/api/orgs/[id]/invites/route-330c75ad96940fb9.js +0 -1
  1133. package/.next/static/chunks/app/api/orgs/[id]/members/[userId]/role/route-330c75ad96940fb9.js +0 -1
  1134. package/.next/static/chunks/app/api/orgs/[id]/members/[userId]/route-330c75ad96940fb9.js +0 -1
  1135. package/.next/static/chunks/app/api/orgs/[id]/members/route-330c75ad96940fb9.js +0 -1
  1136. package/.next/static/chunks/app/api/orgs/[id]/route-330c75ad96940fb9.js +0 -1
  1137. package/.next/static/chunks/app/api/orgs/invites/pending/route-330c75ad96940fb9.js +0 -1
  1138. package/.next/static/chunks/app/api/orgs/join/route-330c75ad96940fb9.js +0 -1
  1139. package/.next/static/chunks/app/api/orgs/join-complete/route-330c75ad96940fb9.js +0 -1
  1140. package/.next/static/chunks/app/api/orgs/route-330c75ad96940fb9.js +0 -1
  1141. package/.next/static/chunks/app/api/printing-press/clis/route-330c75ad96940fb9.js +0 -1
  1142. package/.next/static/chunks/app/api/printing-press/install/route-330c75ad96940fb9.js +0 -1
  1143. package/.next/static/chunks/app/api/printing-press/security-mode/route-330c75ad96940fb9.js +0 -1
  1144. package/.next/static/chunks/app/api/privacy/config/route-330c75ad96940fb9.js +0 -1
  1145. package/.next/static/chunks/app/api/privacy/verify/route-330c75ad96940fb9.js +0 -1
  1146. package/.next/static/chunks/app/api/processes/[id]/route-330c75ad96940fb9.js +0 -1
  1147. package/.next/static/chunks/app/api/processes/[id]/share-link/route-330c75ad96940fb9.js +0 -1
  1148. package/.next/static/chunks/app/api/processes/[id]/stages/[stageId]/override/route-330c75ad96940fb9.js +0 -1
  1149. package/.next/static/chunks/app/api/processes/[id]/stages/[stageId]/retry/route-330c75ad96940fb9.js +0 -1
  1150. package/.next/static/chunks/app/api/processes/[id]/stages/[stageId]/submit/route-330c75ad96940fb9.js +0 -1
  1151. package/.next/static/chunks/app/api/processes/definitions/[slug]/route-330c75ad96940fb9.js +0 -1
  1152. package/.next/static/chunks/app/api/processes/definitions/[slug]/settings/route-330c75ad96940fb9.js +0 -1
  1153. package/.next/static/chunks/app/api/processes/definitions/route-330c75ad96940fb9.js +0 -1
  1154. package/.next/static/chunks/app/api/processes/definitions/validate/route-330c75ad96940fb9.js +0 -1
  1155. package/.next/static/chunks/app/api/processes/route-330c75ad96940fb9.js +0 -1
  1156. package/.next/static/chunks/app/api/processes/start-and-route/route-330c75ad96940fb9.js +0 -1
  1157. package/.next/static/chunks/app/api/projects/[slug]/library/route-330c75ad96940fb9.js +0 -1
  1158. package/.next/static/chunks/app/api/projects/[slug]/route-330c75ad96940fb9.js +0 -1
  1159. package/.next/static/chunks/app/api/projects/route-330c75ad96940fb9.js +0 -1
  1160. package/.next/static/chunks/app/api/runs/approve-claude-run/route-330c75ad96940fb9.js +0 -1
  1161. package/.next/static/chunks/app/api/runs/claude-code-dry-run/route-330c75ad96940fb9.js +0 -1
  1162. package/.next/static/chunks/app/api/runs/competitor-report/route-330c75ad96940fb9.js +0 -1
  1163. package/.next/static/chunks/app/api/runs/engine-ping/route-330c75ad96940fb9.js +0 -1
  1164. package/.next/static/chunks/app/api/runs/marketing-plan/route-330c75ad96940fb9.js +0 -1
  1165. package/.next/static/chunks/app/api/schedules/upsert/route-330c75ad96940fb9.js +0 -1
  1166. package/.next/static/chunks/app/api/secrets/[name]/route-330c75ad96940fb9.js +0 -1
  1167. package/.next/static/chunks/app/api/secrets/route-330c75ad96940fb9.js +0 -1
  1168. package/.next/static/chunks/app/api/settings/trust-mode/route-330c75ad96940fb9.js +0 -1
  1169. package/.next/static/chunks/app/api/share/[token]/otp/route-330c75ad96940fb9.js +0 -1
  1170. package/.next/static/chunks/app/api/share/[token]/route-330c75ad96940fb9.js +0 -1
  1171. package/.next/static/chunks/app/api/share/[token]/verify/route-330c75ad96940fb9.js +0 -1
  1172. package/.next/static/chunks/app/api/share/space/[token]/otp/route-330c75ad96940fb9.js +0 -1
  1173. package/.next/static/chunks/app/api/share/space/[token]/route-330c75ad96940fb9.js +0 -1
  1174. package/.next/static/chunks/app/api/share/space/[token]/verify/route-330c75ad96940fb9.js +0 -1
  1175. package/.next/static/chunks/app/api/shared/spaces/[id]/acl/route-330c75ad96940fb9.js +0 -1
  1176. package/.next/static/chunks/app/api/shared/spaces/publish/route-330c75ad96940fb9.js +0 -1
  1177. package/.next/static/chunks/app/api/shared/spaces/route-330c75ad96940fb9.js +0 -1
  1178. package/.next/static/chunks/app/api/shared/spaces/status/route-330c75ad96940fb9.js +0 -1
  1179. package/.next/static/chunks/app/api/shared/spaces/unpublish/route-330c75ad96940fb9.js +0 -1
  1180. package/.next/static/chunks/app/api/state/route-330c75ad96940fb9.js +0 -1
  1181. package/.next/static/chunks/app/api/system/update/route-330c75ad96940fb9.js +0 -1
  1182. package/.next/static/chunks/app/api/tasks/[id]/active-run/route-330c75ad96940fb9.js +0 -1
  1183. package/.next/static/chunks/app/api/tasks/[id]/attachments/route-330c75ad96940fb9.js +0 -1
  1184. package/.next/static/chunks/app/api/tasks/[id]/checklist/[itemId]/route-330c75ad96940fb9.js +0 -1
  1185. package/.next/static/chunks/app/api/tasks/[id]/checklist/route-330c75ad96940fb9.js +0 -1
  1186. package/.next/static/chunks/app/api/tasks/[id]/checkout/route-330c75ad96940fb9.js +0 -1
  1187. package/.next/static/chunks/app/api/tasks/[id]/children/route-330c75ad96940fb9.js +0 -1
  1188. package/.next/static/chunks/app/api/tasks/[id]/comments/route-330c75ad96940fb9.js +0 -1
  1189. package/.next/static/chunks/app/api/tasks/[id]/events/route-330c75ad96940fb9.js +0 -1
  1190. package/.next/static/chunks/app/api/tasks/[id]/live-runs/route-330c75ad96940fb9.js +0 -1
  1191. package/.next/static/chunks/app/api/tasks/[id]/release/route-330c75ad96940fb9.js +0 -1
  1192. package/.next/static/chunks/app/api/tasks/[id]/route-330c75ad96940fb9.js +0 -1
  1193. package/.next/static/chunks/app/api/tasks/route-330c75ad96940fb9.js +0 -1
  1194. package/.next/static/chunks/app/api/tool-allowlists/[id]/route-330c75ad96940fb9.js +0 -1
  1195. package/.next/static/chunks/app/api/tool-allowlists/route-330c75ad96940fb9.js +0 -1
  1196. package/.next/static/chunks/app/api/tool-egress/route-330c75ad96940fb9.js +0 -1
  1197. package/.next/static/chunks/app/api/tools/[name]/approve/route-330c75ad96940fb9.js +0 -1
  1198. package/.next/static/chunks/app/api/tools/[name]/route-330c75ad96940fb9.js +0 -1
  1199. package/.next/static/chunks/app/api/tools/route-330c75ad96940fb9.js +0 -1
  1200. package/.next/static/chunks/app/api/transcripts/route-330c75ad96940fb9.js +0 -1
  1201. package/.next/static/chunks/app/api/voice/providers/route-330c75ad96940fb9.js +0 -1
  1202. package/.next/static/chunks/app/api/voice/realtime/context/route-330c75ad96940fb9.js +0 -1
  1203. package/.next/static/chunks/app/api/voice/realtime/session/route-330c75ad96940fb9.js +0 -1
  1204. package/.next/static/chunks/app/api/voice/realtime/tool-result/route-330c75ad96940fb9.js +0 -1
  1205. package/.next/static/chunks/app/api/voice/realtime/tools/route-330c75ad96940fb9.js +0 -1
  1206. package/.next/static/chunks/app/api/voice/tts/route-330c75ad96940fb9.js +0 -1
  1207. package/.next/static/chunks/app/api/whatsapp/allowlist/route-330c75ad96940fb9.js +0 -1
  1208. package/.next/static/chunks/app/api/whatsapp/disconnect/route-330c75ad96940fb9.js +0 -1
  1209. package/.next/static/chunks/app/api/whatsapp/messages/route-330c75ad96940fb9.js +0 -1
  1210. package/.next/static/chunks/app/api/whatsapp/qr/route-330c75ad96940fb9.js +0 -1
  1211. package/.next/static/chunks/app/api/whatsapp/send/route-330c75ad96940fb9.js +0 -1
  1212. package/.next/static/chunks/app/api/whatsapp/status/route-330c75ad96940fb9.js +0 -1
  1213. package/.next/static/chunks/app/approvals/loading-330c75ad96940fb9.js +0 -1
  1214. package/.next/static/chunks/app/architecture/loading-330c75ad96940fb9.js +0 -1
  1215. package/.next/static/chunks/app/audit/loading-330c75ad96940fb9.js +0 -1
  1216. package/.next/static/chunks/app/brand/loading-330c75ad96940fb9.js +0 -1
  1217. package/.next/static/chunks/app/disk/loading-330c75ad96940fb9.js +0 -1
  1218. package/.next/static/chunks/app/federated-ai/loading-330c75ad96940fb9.js +0 -1
  1219. package/.next/static/chunks/app/help/loading-330c75ad96940fb9.js +0 -1
  1220. package/.next/static/chunks/app/layout-212e0d6723e7eb38.js +0 -1
  1221. package/.next/static/chunks/app/loading-330c75ad96940fb9.js +0 -1
  1222. package/.next/static/chunks/app/marketplace/loading-330c75ad96940fb9.js +0 -1
  1223. package/.next/static/chunks/app/missions/loading-330c75ad96940fb9.js +0 -1
  1224. package/.next/static/chunks/app/onboarding/loading-330c75ad96940fb9.js +0 -1
  1225. package/.next/static/chunks/app/org/loading-330c75ad96940fb9.js +0 -1
  1226. package/.next/static/chunks/app/projects/[slug]/loading-330c75ad96940fb9.js +0 -1
  1227. package/.next/static/chunks/app/projects/loading-330c75ad96940fb9.js +0 -1
  1228. package/.next/static/chunks/app/projects/page-4917c27caba276a2.js +0 -1
  1229. package/.next/static/chunks/app/reports/[file]/route-330c75ad96940fb9.js +0 -1
  1230. package/.next/static/chunks/app/reports/loading-330c75ad96940fb9.js +0 -1
  1231. package/.next/static/chunks/app/runtime/loading-330c75ad96940fb9.js +0 -1
  1232. package/.next/static/chunks/app/schedules/loading-330c75ad96940fb9.js +0 -1
  1233. package/.next/static/chunks/app/settings/loading-330c75ad96940fb9.js +0 -1
  1234. package/.next/static/chunks/app/settings/page-330c75ad96940fb9.js +0 -1
  1235. package/.next/static/chunks/app/tasks/[id]/loading-330c75ad96940fb9.js +0 -1
  1236. package/.next/static/chunks/app/tasks/loading-330c75ad96940fb9.js +0 -1
  1237. package/.next/static/chunks/app/tools/loading-330c75ad96940fb9.js +0 -1
  1238. package/.next/static/chunks/app/tools/page-330c75ad96940fb9.js +0 -1
  1239. package/.next/static/chunks/app/whatsapp/loading-330c75ad96940fb9.js +0 -1
  1240. package/.next/static/chunks/app/whatsapp/page-e68333286b73e532.js +0 -1
  1241. package/.next/static/chunks/app/workflows/share/[caseId]/page-330c75ad96940fb9.js +0 -1
  1242. package/.next/static/chunks/webpack-70fa3d729cba3d69.js +0 -1
  1243. /package/.next/standalone/.next/static/{-RjcZjzMx7XdfCnofRZHf → DolrPgGSY-J2Mq_5nw2iX}/_ssgManifest.js +0 -0
  1244. /package/.next/static/{-RjcZjzMx7XdfCnofRZHf → DolrPgGSY-J2Mq_5nw2iX}/_ssgManifest.js +0 -0
@@ -0,0 +1,144 @@
1
+ import { getDb, nowIso, newId } from './db.js';
2
+
3
+ const KNOWN_CHANNELS = new Set(['whatsapp', 'telegram', 'slack', 'discord', 'imessage', 'signal', 'webhook']);
4
+
5
+ export function normalizeChannel(channel) {
6
+ const value = String(channel || '').trim().toLowerCase();
7
+ if (!value) throw new Error('channel is required');
8
+ if (!KNOWN_CHANNELS.has(value)) throw new Error(`unsupported channel: ${value}`);
9
+ return value;
10
+ }
11
+
12
+ export function normalizeAddress(channel, value) {
13
+ const ch = normalizeChannel(channel);
14
+ const raw = String(value || '').trim();
15
+ if (!raw) return '';
16
+ if (ch === 'whatsapp') {
17
+ if (raw.includes('@')) return raw;
18
+ const digits = raw.replace(/[^0-9]/g, '');
19
+ return digits ? `${digits}@s.whatsapp.net` : '';
20
+ }
21
+ return raw;
22
+ }
23
+
24
+ export function inferAddressKind(channel, address) {
25
+ const ch = normalizeChannel(channel);
26
+ const value = String(address || '');
27
+ if (ch === 'whatsapp') return value.endsWith('@g.us') ? 'group' : 'dm';
28
+ if (ch === 'slack' || ch === 'discord') return value.startsWith('D') ? 'dm' : 'channel';
29
+ if (ch === 'telegram') return value.startsWith('-') ? 'group' : 'dm';
30
+ if (ch === 'webhook') return 'endpoint';
31
+ return 'dm';
32
+ }
33
+
34
+ function legacyWhatsAppRows() {
35
+ try {
36
+ return getDb().prepare(`
37
+ SELECT id, 'whatsapp' AS channel, chat_id AS address, chat_id, kind, label, created_at
38
+ FROM whatsapp_allowlist
39
+ ORDER BY created_at DESC
40
+ `).all();
41
+ } catch {
42
+ return [];
43
+ }
44
+ }
45
+
46
+ function genericRows(channel = null) {
47
+ const db = getDb();
48
+ if (channel) {
49
+ return db.prepare(`
50
+ SELECT id, channel, address, address AS chat_id, kind, label, created_at
51
+ FROM channel_allowlist
52
+ WHERE channel = ?
53
+ ORDER BY created_at DESC
54
+ `).all(normalizeChannel(channel));
55
+ }
56
+ return db.prepare(`
57
+ SELECT id, channel, address, address AS chat_id, kind, label, created_at
58
+ FROM channel_allowlist
59
+ ORDER BY channel ASC, created_at DESC
60
+ `).all();
61
+ }
62
+
63
+ export function listChannelAllowlist(channel = null) {
64
+ if (channel && normalizeChannel(channel) === 'whatsapp') {
65
+ const legacy = legacyWhatsAppRows();
66
+ const generic = genericRows('whatsapp');
67
+ const seen = new Set();
68
+ return [...legacy, ...generic].filter(row => {
69
+ const key = `${row.channel}:${row.address || row.chat_id}`;
70
+ if (seen.has(key)) return false;
71
+ seen.add(key);
72
+ return true;
73
+ });
74
+ }
75
+ if (channel) return genericRows(channel);
76
+ const legacy = legacyWhatsAppRows();
77
+ const generic = genericRows();
78
+ const seen = new Set();
79
+ return [...legacy, ...generic].filter(row => {
80
+ const key = `${row.channel}:${row.address || row.chat_id}`;
81
+ if (seen.has(key)) return false;
82
+ seen.add(key);
83
+ return true;
84
+ });
85
+ }
86
+
87
+ export function isChannelAllowed(channel, address) {
88
+ const ch = normalizeChannel(channel);
89
+ const normalized = normalizeAddress(ch, address);
90
+ if (!normalized) return false;
91
+ if (ch === 'whatsapp') {
92
+ const legacy = getDb().prepare('SELECT id FROM whatsapp_allowlist WHERE chat_id = ? LIMIT 1').get(normalized);
93
+ if (legacy) return true;
94
+ }
95
+ return Boolean(getDb().prepare('SELECT id FROM channel_allowlist WHERE channel = ? AND address = ? LIMIT 1').get(ch, normalized));
96
+ }
97
+
98
+ export function addChannelAllowlistEntry({ channel, address, chat_id, kind = null, label = null }) {
99
+ const ch = normalizeChannel(channel);
100
+ const normalized = normalizeAddress(ch, address || chat_id);
101
+ if (!normalized) throw new Error('address is required');
102
+ const rowKind = kind || inferAddressKind(ch, normalized);
103
+ if (ch === 'whatsapp') {
104
+ const id = newId('waal');
105
+ getDb().prepare(`
106
+ INSERT INTO whatsapp_allowlist (id, chat_id, kind, label, created_at)
107
+ VALUES (?, ?, ?, ?, ?)
108
+ ON CONFLICT(chat_id) DO UPDATE SET kind = excluded.kind, label = excluded.label
109
+ `).run(id, normalized, String(rowKind), label ? String(label) : null, nowIso());
110
+ return getDb().prepare(`
111
+ SELECT id, 'whatsapp' AS channel, chat_id AS address, chat_id, kind, label, created_at
112
+ FROM whatsapp_allowlist WHERE chat_id = ?
113
+ `).get(normalized);
114
+ }
115
+ const id = newId('chal');
116
+ getDb().prepare(`
117
+ INSERT INTO channel_allowlist (id, channel, address, kind, label, created_at)
118
+ VALUES (?, ?, ?, ?, ?, ?)
119
+ ON CONFLICT(channel, address) DO UPDATE SET kind = excluded.kind, label = excluded.label
120
+ `).run(id, ch, normalized, String(rowKind), label ? String(label) : null, nowIso());
121
+ return getDb().prepare(`
122
+ SELECT id, channel, address, address AS chat_id, kind, label, created_at
123
+ FROM channel_allowlist WHERE channel = ? AND address = ?
124
+ `).get(ch, normalized);
125
+ }
126
+
127
+ export function removeChannelAllowlistEntry(channel, address) {
128
+ const ch = normalizeChannel(channel);
129
+ const normalized = normalizeAddress(ch, address);
130
+ if (!normalized) return 0;
131
+ if (ch === 'whatsapp') {
132
+ const legacy = getDb().prepare('DELETE FROM whatsapp_allowlist WHERE chat_id = ?').run(normalized).changes;
133
+ const generic = getDb().prepare('DELETE FROM channel_allowlist WHERE channel = ? AND address = ?').run(ch, normalized).changes;
134
+ return legacy + generic;
135
+ }
136
+ return getDb().prepare('DELETE FROM channel_allowlist WHERE channel = ? AND address = ?').run(ch, normalized).changes;
137
+ }
138
+
139
+ export function channelAllowlistSummary() {
140
+ const rows = listChannelAllowlist();
141
+ const counts = Object.fromEntries([...KNOWN_CHANNELS].map(channel => [channel, 0]));
142
+ for (const row of rows) counts[row.channel] = (counts[row.channel] || 0) + 1;
143
+ return counts;
144
+ }
@@ -0,0 +1,117 @@
1
+ // @ts-check
2
+ /**
3
+ * R2 — Discord channel adapter.
4
+ *
5
+ * Transport-only wrapper over the Discord REST API (v10). It normalizes inbound
6
+ * gateway message objects to the canonical {@link ChannelEvent} — including
7
+ * attachment → media mapping — and sends replies through the channel-messages
8
+ * endpoint. No routing / allowlist / rate-limit logic lives here. Token and
9
+ * `fetch` resolve lazily at send time: inject `{ token, fetch }` in tests;
10
+ * otherwise `DISCORD_BOT_TOKEN` + global `fetch` are used. The bot auth scheme is
11
+ * `Bot <token>`. Inbound is gateway/webhook-driven, so `connect`/`disconnect` are
12
+ * no-ops.
13
+ */
14
+
15
+ import { defineAdapter, normalizeInbound } from './contract.js';
16
+
17
+ /** @typedef {import('./contract.js').ChannelEvent} ChannelEvent */
18
+ /** @typedef {import('./contract.js').ChannelMedia} ChannelMedia */
19
+
20
+ /**
21
+ * @typedef {Object} DiscordAdapterConfig
22
+ * @property {string} [token] - bot token; falls back to DISCORD_BOT_TOKEN at send time
23
+ * @property {typeof fetch} [fetch] - fetch impl; falls back to global fetch at send time
24
+ */
25
+
26
+ /**
27
+ * Map a Discord attachment content-type to a canonical media type.
28
+ * @param {string|undefined} contentType
29
+ * @returns {string}
30
+ */
31
+ function mediaTypeFromMime(contentType) {
32
+ if (typeof contentType !== 'string') return 'document';
33
+ if (contentType.startsWith('image/')) return 'image';
34
+ if (contentType.startsWith('video/')) return 'video';
35
+ if (contentType.startsWith('audio/')) return 'audio';
36
+ return 'document';
37
+ }
38
+
39
+ /**
40
+ * Map a Discord attachment object to a {@link ChannelMedia} entry. Only present
41
+ * fields are included so the shape stays minimal.
42
+ * @param {Record<string, *>} att
43
+ * @returns {ChannelMedia}
44
+ */
45
+ function mapAttachment(att) {
46
+ /** @type {ChannelMedia} */
47
+ const media = { type: mediaTypeFromMime(att?.content_type), url: att?.url };
48
+ if (att?.content_type) media.mimetype = att.content_type;
49
+ if (att?.filename) media.filename = att.filename;
50
+ return media;
51
+ }
52
+
53
+ /**
54
+ * Normalize a Discord gateway message object into a {@link ChannelEvent}.
55
+ * The original payload is preserved by reference.
56
+ * @param {Record<string, *>} raw
57
+ * @returns {ChannelEvent}
58
+ */
59
+ export function normalizeDiscord(raw) {
60
+ const src = raw && typeof raw === 'object' ? raw : {};
61
+ const author = src.author || {};
62
+ const attachments = Array.isArray(src.attachments) ? src.attachments : [];
63
+ const mapped = {
64
+ chat_id: src.channel_id,
65
+ sender: author.id,
66
+ message_id: src.id,
67
+ text: src.content,
68
+ ts: src.timestamp,
69
+ media: attachments.map(mapAttachment),
70
+ };
71
+ const event = normalizeInbound('discord', mapped);
72
+ event.raw = raw;
73
+ return event;
74
+ }
75
+
76
+ /**
77
+ * Create a transport-only Discord adapter.
78
+ * @param {DiscordAdapterConfig} [config]
79
+ * @returns {import('./contract.js').ChannelAdapter}
80
+ */
81
+ export function createDiscordAdapter(config = {}) {
82
+ const resolveToken = () => {
83
+ const token = config.token || process.env.DISCORD_BOT_TOKEN;
84
+ if (!token) throw new Error('discord adapter: no bot token (set DISCORD_BOT_TOKEN or inject { token })');
85
+ return token;
86
+ };
87
+ const resolveFetch = () => {
88
+ const f = config.fetch || globalThis.fetch;
89
+ if (typeof f !== 'function') throw new Error('discord adapter: no fetch available (inject { fetch })');
90
+ return f;
91
+ };
92
+
93
+ return defineAdapter({
94
+ channel: 'discord',
95
+ async connect() { return { ok: true, mode: 'gateway' }; },
96
+ async disconnect() { return { ok: true }; },
97
+ /**
98
+ * @param {string} chatId
99
+ * @param {string} text
100
+ */
101
+ async send(chatId, text) {
102
+ const token = resolveToken();
103
+ const res = await resolveFetch()(`https://discord.com/api/v10/channels/${chatId}/messages`, {
104
+ method: 'POST',
105
+ headers: {
106
+ Authorization: `Bot ${token}`,
107
+ 'Content-Type': 'application/json',
108
+ },
109
+ body: JSON.stringify({ content: text }),
110
+ });
111
+ const data = /** @type {*} */ (await res.json());
112
+ const id = data?.id;
113
+ return { ok: true, message_id: id != null ? String(id) : null, raw: data };
114
+ },
115
+ normalizeInbound: normalizeDiscord,
116
+ });
117
+ }
@@ -0,0 +1,106 @@
1
+ // @ts-check
2
+ /**
3
+ * R2 — iMessage channel adapter.
4
+ *
5
+ * Transport-only wrapper over the local macOS Messages app. It normalizes simple
6
+ * local Messages event fields to the canonical {@link ChannelEvent} and sends
7
+ * replies by driving `osascript` (AppleScript) at send time. No routing /
8
+ * allowlist / rate-limit logic lives here. The command runner resolves lazily at
9
+ * send time: inject `{ run }` in tests; otherwise `child_process.execFile` runs
10
+ * `osascript` locally. There are no network credentials — delivery is local to the
11
+ * machine's signed-in Messages account, so `connect`/`disconnect` are no-ops.
12
+ */
13
+
14
+ import { defineAdapter, normalizeInbound } from './contract.js';
15
+
16
+ /** @typedef {import('./contract.js').ChannelEvent} ChannelEvent */
17
+
18
+ /**
19
+ * @typedef {Object} IMessageAdapterConfig
20
+ * @property {(command: string, args: string[]) => Promise<*>} [run] - command runner; falls back to execFile(osascript) at send time
21
+ */
22
+
23
+ /**
24
+ * Normalize a local Messages event into a {@link ChannelEvent}. The simple local
25
+ * shape already uses canonical field names (`chat_id`, `sender`, `message_id`,
26
+ * `text`, `timestamp`), so this defers to {@link normalizeInbound}. The original
27
+ * payload is preserved by reference.
28
+ * @param {Record<string, *>} raw
29
+ * @returns {ChannelEvent}
30
+ */
31
+ export function normalizeIMessage(raw) {
32
+ const event = normalizeInbound('imessage', raw);
33
+ event.raw = raw;
34
+ return event;
35
+ }
36
+
37
+ /**
38
+ * Escape a string for safe interpolation into an AppleScript string literal.
39
+ * @param {string} value
40
+ * @returns {string}
41
+ */
42
+ function escapeAppleScript(value) {
43
+ return String(value).replace(/\\/g, '\\\\').replace(/"/g, '\\"');
44
+ }
45
+
46
+ /**
47
+ * Build the `osascript` argument vector that sends `text` to `chatId` (a phone
48
+ * number or email handle) through the signed-in iMessage account.
49
+ * @param {string} chatId
50
+ * @param {string} text
51
+ * @returns {string[]}
52
+ */
53
+ function buildOsascriptArgs(chatId, text) {
54
+ const lines = [
55
+ 'tell application "Messages"',
56
+ `set targetBuddy to "${escapeAppleScript(chatId)}"`,
57
+ 'set targetService to id of 1st account whose service type = iMessage',
58
+ `send "${escapeAppleScript(text)}" to buddy targetBuddy of service id targetService`,
59
+ 'end tell',
60
+ ];
61
+ return lines.flatMap((line) => ['-e', line]);
62
+ }
63
+
64
+ /**
65
+ * Run a command via `child_process.execFile`, resolving with `{ stdout, stderr }`.
66
+ * Imported lazily so the module loads without `node:child_process` in environments
67
+ * that only ever inject a `run`.
68
+ * @param {string} command
69
+ * @param {string[]} args
70
+ * @returns {Promise<{ stdout: string, stderr: string }>}
71
+ */
72
+ async function execFileRun(command, args) {
73
+ const { execFile } = await import('node:child_process');
74
+ return new Promise((resolve, reject) => {
75
+ execFile(command, args, (err, stdout, stderr) => {
76
+ if (err) reject(err);
77
+ else resolve({ stdout: String(stdout), stderr: String(stderr) });
78
+ });
79
+ });
80
+ }
81
+
82
+ /**
83
+ * Create a transport-only iMessage adapter.
84
+ * @param {IMessageAdapterConfig} [config]
85
+ * @returns {import('./contract.js').ChannelAdapter}
86
+ */
87
+ export function createIMessageAdapter(config = {}) {
88
+ const run = typeof config.run === 'function' ? config.run : execFileRun;
89
+
90
+ return defineAdapter({
91
+ channel: 'imessage',
92
+ // Local delivery; nothing persistent to open or close.
93
+ async connect() { return { ok: true, mode: 'local' }; },
94
+ async disconnect() { return { ok: true }; },
95
+ /**
96
+ * @param {string} chatId
97
+ * @param {string} text
98
+ */
99
+ async send(chatId, text) {
100
+ const args = buildOsascriptArgs(String(chatId), text);
101
+ const result = await run('osascript', args);
102
+ return { ok: true, message_id: null, raw: result };
103
+ },
104
+ normalizeInbound: normalizeIMessage,
105
+ });
106
+ }
@@ -10,8 +10,8 @@
10
10
  * …and the generic router can route + reply through it with no core change.
11
11
  *
12
12
  * Status: foundation shipped (contract, registry, deterministic routing, generic
13
- * router, WhatsApp adapter seam). Telegram / Slack / Discord / iMessage / Signal
14
- * are follow-on adapters not yet implemented.
13
+ * router) plus the R2 acceptance channels: WhatsApp / Telegram / Slack / Discord /
14
+ * iMessage / Signal / Webhook adapters.
15
15
  */
16
16
 
17
17
  export { normalizeInbound, defineAdapter } from './contract.js';
@@ -19,16 +19,53 @@ export { createRegistry, defaultRegistry } from './registry.js';
19
19
  export { resolveRoute, routeSpecificity, bindingMatches, originOf } from './routing.js';
20
20
  export { dispatchInbound, sendReply } from './router.js';
21
21
  export { whatsappAdapter, normalizeWhatsApp } from './whatsapp-adapter.js';
22
+ export { createTelegramAdapter, normalizeTelegram } from './telegram-adapter.js';
23
+ export { createSlackAdapter, normalizeSlack } from './slack-adapter.js';
24
+ export { createDiscordAdapter, normalizeDiscord } from './discord-adapter.js';
25
+ export { createIMessageAdapter, normalizeIMessage } from './imessage-adapter.js';
26
+ export { createSignalAdapter, normalizeSignal } from './signal-adapter.js';
27
+ export { createWebhookAdapter, normalizeWebhook } from './webhook-adapter.js';
22
28
 
23
29
  import { defaultRegistry } from './registry.js';
24
30
  import { whatsappAdapter } from './whatsapp-adapter.js';
31
+ import { createTelegramAdapter } from './telegram-adapter.js';
32
+ import { createSlackAdapter } from './slack-adapter.js';
33
+ import { createDiscordAdapter } from './discord-adapter.js';
34
+ import { createIMessageAdapter } from './imessage-adapter.js';
35
+ import { createSignalAdapter } from './signal-adapter.js';
36
+ import { createWebhookAdapter } from './webhook-adapter.js';
37
+
38
+ /**
39
+ * Per-adapter construction config for {@link registerBuiltinAdapters}. Each entry
40
+ * accepts injected dependencies (used by tests and explicit wiring); anything
41
+ * omitted resolves from env vars / global fetch / the local runner at send time.
42
+ * @typedef {Object} BuiltinAdapterConfig
43
+ * @property {import('./telegram-adapter.js').TelegramAdapterConfig} [telegram]
44
+ * @property {import('./slack-adapter.js').SlackAdapterConfig} [slack]
45
+ * @property {import('./discord-adapter.js').DiscordAdapterConfig} [discord]
46
+ * @property {import('./imessage-adapter.js').IMessageAdapterConfig} [imessage]
47
+ * @property {import('./signal-adapter.js').SignalAdapterConfig} [signal]
48
+ * @property {import('./webhook-adapter.js').WebhookAdapterConfig} [webhook]
49
+ */
25
50
 
26
51
  /**
27
52
  * Register the built-in adapters into a registry (default: the shared one).
28
53
  * Idempotent — safe to call at every boot. Follow-on channels register here too.
54
+ *
55
+ * All R2 acceptance adapters are always registered. Environment- or device-backed
56
+ * transports resolve their credentials / local CLIs lazily at send time, so a bare
57
+ * `registerBuiltinAdapters()` is still safe in tests and boot paths that do not
58
+ * exercise those sends.
29
59
  * @param {import('./registry.js').ChannelRegistry} [registry]
60
+ * @param {BuiltinAdapterConfig} [config] - optional per-adapter dependency injection
30
61
  */
31
- export function registerBuiltinAdapters(registry = defaultRegistry) {
62
+ export function registerBuiltinAdapters(registry = defaultRegistry, config = {}) {
32
63
  registry.register(whatsappAdapter, { replace: true });
64
+ registry.register(createTelegramAdapter(config.telegram), { replace: true });
65
+ registry.register(createSlackAdapter(config.slack), { replace: true });
66
+ registry.register(createDiscordAdapter(config.discord), { replace: true });
67
+ registry.register(createIMessageAdapter(config.imessage), { replace: true });
68
+ registry.register(createSignalAdapter(config.signal), { replace: true });
69
+ registry.register(createWebhookAdapter(config.webhook), { replace: true });
33
70
  return registry;
34
71
  }
@@ -0,0 +1,96 @@
1
+ // @ts-check
2
+ /**
3
+ * R2 — Signal channel adapter.
4
+ *
5
+ * Transport-only wrapper over `signal-cli`. It normalizes inbound signal-cli JSON
6
+ * envelopes to the canonical {@link ChannelEvent} and sends replies by invoking
7
+ * `signal-cli` at send time. No routing / allowlist / rate-limit logic lives here.
8
+ * The command runner resolves lazily at send time: inject `{ run }` in tests;
9
+ * otherwise `child_process.execFile` runs `signal-cli` locally. The account is
10
+ * resolved at send time from `config.account` or `SIGNAL_CLI_ACCOUNT`. Inbound is
11
+ * poller/daemon-driven, so `connect`/`disconnect` are no-ops.
12
+ */
13
+
14
+ import { defineAdapter, normalizeInbound } from './contract.js';
15
+
16
+ /** @typedef {import('./contract.js').ChannelEvent} ChannelEvent */
17
+
18
+ /**
19
+ * @typedef {Object} SignalAdapterConfig
20
+ * @property {string} [account] - sender account; falls back to SIGNAL_CLI_ACCOUNT at send time
21
+ * @property {(command: string, args: string[]) => Promise<*>} [run] - command runner; falls back to execFile(signal-cli) at send time
22
+ */
23
+
24
+ /**
25
+ * Normalize a signal-cli JSON envelope into a {@link ChannelEvent}. Accepts a full
26
+ * `{ envelope: {...} }` wrapper, a bare envelope, or an already-normalized event.
27
+ * The original payload is preserved by reference.
28
+ * @param {Record<string, *>} raw
29
+ * @returns {ChannelEvent}
30
+ */
31
+ export function normalizeSignal(raw) {
32
+ const src = raw && typeof raw === 'object' ? raw : {};
33
+ const env = src.envelope || src;
34
+ const data = env?.dataMessage || {};
35
+ const timestamp = env?.timestamp;
36
+ const mapped = {
37
+ chat_id: env?.source,
38
+ sender: env?.source,
39
+ message_id: timestamp,
40
+ text: data?.message,
41
+ ts: timestamp != null ? new Date(Number(timestamp)).toISOString() : undefined,
42
+ };
43
+ const event = normalizeInbound('signal', mapped);
44
+ event.raw = raw;
45
+ return event;
46
+ }
47
+
48
+ /**
49
+ * Run a command via `child_process.execFile`, resolving with `{ stdout, stderr }`.
50
+ * Imported lazily so the module loads without `node:child_process` in environments
51
+ * that only ever inject a `run`.
52
+ * @param {string} command
53
+ * @param {string[]} args
54
+ * @returns {Promise<{ stdout: string, stderr: string }>}
55
+ */
56
+ async function execFileRun(command, args) {
57
+ const { execFile } = await import('node:child_process');
58
+ return new Promise((resolve, reject) => {
59
+ execFile(command, args, (err, stdout, stderr) => {
60
+ if (err) reject(err);
61
+ else resolve({ stdout: String(stdout), stderr: String(stderr) });
62
+ });
63
+ });
64
+ }
65
+
66
+ /**
67
+ * Create a transport-only Signal adapter.
68
+ * @param {SignalAdapterConfig} [config]
69
+ * @returns {import('./contract.js').ChannelAdapter}
70
+ */
71
+ export function createSignalAdapter(config = {}) {
72
+ const run = typeof config.run === 'function' ? config.run : execFileRun;
73
+ const resolveAccount = () => {
74
+ const account = config.account || process.env.SIGNAL_CLI_ACCOUNT;
75
+ if (!account) throw new Error('signal adapter: no account (set SIGNAL_CLI_ACCOUNT or inject { account })');
76
+ return account;
77
+ };
78
+
79
+ return defineAdapter({
80
+ channel: 'signal',
81
+ // Poller/daemon-driven; nothing persistent to open or close.
82
+ async connect() { return { ok: true, mode: 'cli' }; },
83
+ async disconnect() { return { ok: true }; },
84
+ /**
85
+ * @param {string} chatId
86
+ * @param {string} text
87
+ */
88
+ async send(chatId, text) {
89
+ const account = resolveAccount();
90
+ const args = ['-a', account, 'send', '-m', text, String(chatId)];
91
+ const result = await run('signal-cli', args);
92
+ return { ok: true, message_id: null, raw: result };
93
+ },
94
+ normalizeInbound: normalizeSignal,
95
+ });
96
+ }
@@ -0,0 +1,86 @@
1
+ // @ts-check
2
+ /**
3
+ * R2 — Slack channel adapter.
4
+ *
5
+ * Transport-only wrapper over the Slack Web API. It normalizes inbound Events API
6
+ * envelopes to the canonical {@link ChannelEvent} and sends replies through
7
+ * `chat.postMessage`. No routing / allowlist / rate-limit logic lives here. Token
8
+ * and `fetch` resolve lazily at send time: inject `{ token, fetch }` in tests;
9
+ * otherwise `SLACK_BOT_TOKEN` + global `fetch` are used. Inbound is event-driven,
10
+ * so `connect`/`disconnect` are no-ops.
11
+ */
12
+
13
+ import { defineAdapter, normalizeInbound } from './contract.js';
14
+
15
+ /** @typedef {import('./contract.js').ChannelEvent} ChannelEvent */
16
+
17
+ /**
18
+ * @typedef {Object} SlackAdapterConfig
19
+ * @property {string} [token] - bot token; falls back to SLACK_BOT_TOKEN at send time
20
+ * @property {typeof fetch} [fetch] - fetch impl; falls back to global fetch at send time
21
+ */
22
+
23
+ /**
24
+ * Normalize a Slack Events API payload into a {@link ChannelEvent}.
25
+ * Accepts a full envelope (`{ event: {...} }`), a bare event, or an
26
+ * already-normalized event. The original payload is preserved by reference.
27
+ * @param {Record<string, *>} raw
28
+ * @returns {ChannelEvent}
29
+ */
30
+ export function normalizeSlack(raw) {
31
+ const src = raw && typeof raw === 'object' ? raw : {};
32
+ const ev = src.event || src;
33
+ const mapped = {
34
+ chat_id: ev?.channel,
35
+ sender: ev?.user || ev?.bot_id,
36
+ message_id: ev?.ts,
37
+ text: ev?.text,
38
+ ts: ev?.ts,
39
+ };
40
+ const event = normalizeInbound('slack', mapped);
41
+ event.raw = raw;
42
+ return event;
43
+ }
44
+
45
+ /**
46
+ * Create a transport-only Slack adapter.
47
+ * @param {SlackAdapterConfig} [config]
48
+ * @returns {import('./contract.js').ChannelAdapter}
49
+ */
50
+ export function createSlackAdapter(config = {}) {
51
+ const resolveToken = () => {
52
+ const token = config.token || process.env.SLACK_BOT_TOKEN;
53
+ if (!token) throw new Error('slack adapter: no bot token (set SLACK_BOT_TOKEN or inject { token })');
54
+ return token;
55
+ };
56
+ const resolveFetch = () => {
57
+ const f = config.fetch || globalThis.fetch;
58
+ if (typeof f !== 'function') throw new Error('slack adapter: no fetch available (inject { fetch })');
59
+ return f;
60
+ };
61
+
62
+ return defineAdapter({
63
+ channel: 'slack',
64
+ async connect() { return { ok: true, mode: 'events_api' }; },
65
+ async disconnect() { return { ok: true }; },
66
+ /**
67
+ * @param {string} chatId
68
+ * @param {string} text
69
+ */
70
+ async send(chatId, text) {
71
+ const token = resolveToken();
72
+ const res = await resolveFetch()('https://slack.com/api/chat.postMessage', {
73
+ method: 'POST',
74
+ headers: {
75
+ Authorization: `Bearer ${token}`,
76
+ 'Content-Type': 'application/json; charset=utf-8',
77
+ },
78
+ body: JSON.stringify({ channel: String(chatId), text }),
79
+ });
80
+ const data = /** @type {*} */ (await res.json());
81
+ const id = data?.ts;
82
+ return { ok: data?.ok !== false, message_id: id != null ? String(id) : null, raw: data };
83
+ },
84
+ normalizeInbound: normalizeSlack,
85
+ });
86
+ }
@@ -0,0 +1,36 @@
1
+ import { createRegistry } from './registry.js';
2
+ import { registerBuiltinAdapters } from './index.js';
3
+ import { getConnectivityStatus } from '../connectivity-status.js';
4
+
5
+ const SMOKE_TEXT = 'madarX OS V-REACH smoke test';
6
+
7
+ export async function runChannelSmoke({ channel, address, text = SMOKE_TEXT, adapterConfig = {}, dryRun = true } = {}) {
8
+ if (!channel) throw new Error('channel is required');
9
+ const registry = registerBuiltinAdapters(createRegistry(), adapterConfig);
10
+ const adapter = registry.get(String(channel));
11
+ if (!adapter) throw new Error(`unsupported channel: ${channel}`);
12
+ if (!address) {
13
+ return { channel: String(channel), ok: false, skipped: 'missing_address' };
14
+ }
15
+ if (dryRun) {
16
+ return { channel: String(channel), ok: true, dry_run: true, address: String(address), text };
17
+ }
18
+ const result = await adapter.send(String(address), text);
19
+ return { channel: String(channel), ok: true, dry_run: false, result };
20
+ }
21
+
22
+ export async function getVReachSmokeMatrix({ includeHealth = false } = {}) {
23
+ const status = await getConnectivityStatus({ includeHealth });
24
+ return {
25
+ ok: true,
26
+ metric: 'V-REACH',
27
+ target: '>=6 configured, allowlisted channels behind deterministic adapters',
28
+ channels: status.channels.map(row => ({
29
+ channel: row.channel,
30
+ configured: row.configured,
31
+ allowlist_count: row.allowlist_count,
32
+ ready_for_live_smoke: row.ready_for_live_smoke,
33
+ missing: row.missing,
34
+ })),
35
+ };
36
+ }