madarx 2.16.2 → 2.17.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1317) hide show
  1. package/.next/standalone/.next/BUILD_ID +1 -1
  2. package/.next/standalone/.next/app-build-manifest.json +676 -669
  3. package/.next/standalone/.next/app-path-routes-manifest.json +77 -76
  4. package/.next/standalone/.next/build-manifest.json +5 -5
  5. package/.next/standalone/.next/prerender-manifest.json +21 -21
  6. package/.next/standalone/.next/routes-manifest.json +8 -0
  7. package/.next/standalone/.next/server/app/_not-found/page.js +1 -1
  8. package/.next/standalone/.next/server/app/_not-found/page.js.nft.json +1 -1
  9. package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  10. package/.next/standalone/.next/server/app/_not-found.html +1 -1
  11. package/.next/standalone/.next/server/app/_not-found.rsc +4 -4
  12. package/.next/standalone/.next/server/app/activity/page.js +1 -1
  13. package/.next/standalone/.next/server/app/activity/page.js.nft.json +1 -1
  14. package/.next/standalone/.next/server/app/activity/page_client-reference-manifest.js +1 -1
  15. package/.next/standalone/.next/server/app/admin/page.js +4 -4
  16. package/.next/standalone/.next/server/app/admin/page.js.nft.json +1 -1
  17. package/.next/standalone/.next/server/app/admin/page_client-reference-manifest.js +1 -1
  18. package/.next/standalone/.next/server/app/agents/[id]/page.js +5 -5
  19. package/.next/standalone/.next/server/app/agents/[id]/page.js.nft.json +1 -1
  20. package/.next/standalone/.next/server/app/agents/[id]/page_client-reference-manifest.js +1 -1
  21. package/.next/standalone/.next/server/app/agents/page.js +1 -1
  22. package/.next/standalone/.next/server/app/agents/page.js.nft.json +1 -1
  23. package/.next/standalone/.next/server/app/agents/page_client-reference-manifest.js +1 -1
  24. package/.next/standalone/.next/server/app/api/activity/route_client-reference-manifest.js +1 -1
  25. package/.next/standalone/.next/server/app/api/admin/audit-export/route_client-reference-manifest.js +1 -1
  26. package/.next/standalone/.next/server/app/api/admin/share-links/route_client-reference-manifest.js +1 -1
  27. package/.next/standalone/.next/server/app/api/agent-memory/route_client-reference-manifest.js +1 -1
  28. package/.next/standalone/.next/server/app/api/agent-runs/[id]/cancel/route_client-reference-manifest.js +1 -1
  29. package/.next/standalone/.next/server/app/api/agent-runs/[id]/events/route_client-reference-manifest.js +1 -1
  30. package/.next/standalone/.next/server/app/api/agent-runs/[id]/log/route_client-reference-manifest.js +1 -1
  31. package/.next/standalone/.next/server/app/api/agent-runs/[id]/route_client-reference-manifest.js +1 -1
  32. package/.next/standalone/.next/server/app/api/agent-runs/route_client-reference-manifest.js +1 -1
  33. package/.next/standalone/.next/server/app/api/agents/[id]/active-run/route.js +1 -0
  34. package/.next/standalone/.next/server/app/api/agents/[id]/active-run/route.js.nft.json +1 -0
  35. package/.next/standalone/.next/server/app/api/agents/[id]/active-run/route_client-reference-manifest.js +1 -0
  36. package/.next/standalone/.next/server/app/api/agents/[id]/chain/route_client-reference-manifest.js +1 -1
  37. package/.next/standalone/.next/server/app/api/agents/[id]/memory/route_client-reference-manifest.js +1 -1
  38. package/.next/standalone/.next/server/app/api/agents/[id]/reports/route_client-reference-manifest.js +1 -1
  39. package/.next/standalone/.next/server/app/api/agents/[id]/run/route.js +1 -1
  40. package/.next/standalone/.next/server/app/api/agents/[id]/run/route.js.nft.json +1 -1
  41. package/.next/standalone/.next/server/app/api/agents/[id]/run/route_client-reference-manifest.js +1 -1
  42. package/.next/standalone/.next/server/app/api/agents/[id]/skills/route_client-reference-manifest.js +1 -1
  43. package/.next/standalone/.next/server/app/api/agents/create/route_client-reference-manifest.js +1 -1
  44. package/.next/standalone/.next/server/app/api/agents/ops/route_client-reference-manifest.js +1 -1
  45. package/.next/standalone/.next/server/app/api/approvals/[id]/route_client-reference-manifest.js +1 -1
  46. package/.next/standalone/.next/server/app/api/approvals/route_client-reference-manifest.js +1 -1
  47. package/.next/standalone/.next/server/app/api/artifacts/[id]/acl/route_client-reference-manifest.js +1 -1
  48. package/.next/standalone/.next/server/app/api/artifacts/[id]/protect/route_client-reference-manifest.js +1 -1
  49. package/.next/standalone/.next/server/app/api/artifacts/[id]/raw/route_client-reference-manifest.js +1 -1
  50. package/.next/standalone/.next/server/app/api/artifacts/[id]/route_client-reference-manifest.js +1 -1
  51. package/.next/standalone/.next/server/app/api/artifacts/[id]/share-link/[linkId]/route_client-reference-manifest.js +1 -1
  52. package/.next/standalone/.next/server/app/api/artifacts/[id]/share-link/route_client-reference-manifest.js +1 -1
  53. package/.next/standalone/.next/server/app/api/artifacts/upload/route_client-reference-manifest.js +1 -1
  54. package/.next/standalone/.next/server/app/api/audit/list/route_client-reference-manifest.js +1 -1
  55. package/.next/standalone/.next/server/app/api/audit/search/route_client-reference-manifest.js +1 -1
  56. package/.next/standalone/.next/server/app/api/auth/callback/route_client-reference-manifest.js +1 -1
  57. package/.next/standalone/.next/server/app/api/auth/config/route_client-reference-manifest.js +1 -1
  58. package/.next/standalone/.next/server/app/api/auth/join-bootstrap/route_client-reference-manifest.js +1 -1
  59. package/.next/standalone/.next/server/app/api/auth/session/route_client-reference-manifest.js +1 -1
  60. package/.next/standalone/.next/server/app/api/brand/route_client-reference-manifest.js +1 -1
  61. package/.next/standalone/.next/server/app/api/brand/share/route_client-reference-manifest.js +1 -1
  62. package/.next/standalone/.next/server/app/api/chat/sessions/[id]/route_client-reference-manifest.js +1 -1
  63. package/.next/standalone/.next/server/app/api/chat/sessions/route_client-reference-manifest.js +1 -1
  64. package/.next/standalone/.next/server/app/api/config/env/route_client-reference-manifest.js +1 -1
  65. package/.next/standalone/.next/server/app/api/config/route_client-reference-manifest.js +1 -1
  66. package/.next/standalone/.next/server/app/api/connections/[service]/route_client-reference-manifest.js +1 -1
  67. package/.next/standalone/.next/server/app/api/connections/[service]/verify/route_client-reference-manifest.js +1 -1
  68. package/.next/standalone/.next/server/app/api/connections/route_client-reference-manifest.js +1 -1
  69. package/.next/standalone/.next/server/app/api/cron/tick/route_client-reference-manifest.js +1 -1
  70. package/.next/standalone/.next/server/app/api/dashboard/spaces/[id]/move/route_client-reference-manifest.js +1 -1
  71. package/.next/standalone/.next/server/app/api/dashboard/spaces/[id]/route_client-reference-manifest.js +1 -1
  72. package/.next/standalone/.next/server/app/api/dashboard/spaces/[id]/share-link/[linkId]/route_client-reference-manifest.js +1 -1
  73. package/.next/standalone/.next/server/app/api/dashboard/spaces/[id]/share-link/route_client-reference-manifest.js +1 -1
  74. package/.next/standalone/.next/server/app/api/dashboard/spaces/import/route_client-reference-manifest.js +1 -1
  75. package/.next/standalone/.next/server/app/api/dashboard/spaces/route_client-reference-manifest.js +1 -1
  76. package/.next/standalone/.next/server/app/api/disk/files/[id]/blob/route_client-reference-manifest.js +1 -1
  77. package/.next/standalone/.next/server/app/api/disk/files/[id]/route_client-reference-manifest.js +1 -1
  78. package/.next/standalone/.next/server/app/api/disk/files/[id]/transcribe/route_client-reference-manifest.js +1 -1
  79. package/.next/standalone/.next/server/app/api/disk/files/route_client-reference-manifest.js +1 -1
  80. package/.next/standalone/.next/server/app/api/disk/folders/route_client-reference-manifest.js +1 -1
  81. package/.next/standalone/.next/server/app/api/events/since/[cursor]/route_client-reference-manifest.js +1 -1
  82. package/.next/standalone/.next/server/app/api/events/stream/route_client-reference-manifest.js +1 -1
  83. package/.next/standalone/.next/server/app/api/fs/create-folder/route_client-reference-manifest.js +1 -1
  84. package/.next/standalone/.next/server/app/api/fs/pick-folder/route_client-reference-manifest.js +1 -1
  85. package/.next/standalone/.next/server/app/api/hail/engagements/[id]/blueprint/route_client-reference-manifest.js +1 -1
  86. package/.next/standalone/.next/server/app/api/hail/engagements/[id]/diagnostic/route_client-reference-manifest.js +1 -1
  87. package/.next/standalone/.next/server/app/api/hail/engagements/[id]/governance/route_client-reference-manifest.js +1 -1
  88. package/.next/standalone/.next/server/app/api/hail/engagements/[id]/interview/route_client-reference-manifest.js +1 -1
  89. package/.next/standalone/.next/server/app/api/hail/engagements/[id]/pilot/route_client-reference-manifest.js +1 -1
  90. package/.next/standalone/.next/server/app/api/hail/engagements/[id]/quarterly/route_client-reference-manifest.js +1 -1
  91. package/.next/standalone/.next/server/app/api/hail/engagements/[id]/route_client-reference-manifest.js +1 -1
  92. package/.next/standalone/.next/server/app/api/hail/engagements/[id]/setup-package/route_client-reference-manifest.js +1 -1
  93. package/.next/standalone/.next/server/app/api/hail/engagements/route_client-reference-manifest.js +1 -1
  94. package/.next/standalone/.next/server/app/api/hail/interviews/[id]/responses/route_client-reference-manifest.js +1 -1
  95. package/.next/standalone/.next/server/app/api/hail/interviews/[id]/route_client-reference-manifest.js +1 -1
  96. package/.next/standalone/.next/server/app/api/hail/setup-packages/[id]/apply/route_client-reference-manifest.js +1 -1
  97. package/.next/standalone/.next/server/app/api/hail/setup-packages/validate/route_client-reference-manifest.js +1 -1
  98. package/.next/standalone/.next/server/app/api/heartbeat/tick/route_client-reference-manifest.js +1 -1
  99. package/.next/standalone/.next/server/app/api/heartbeat/worker/route_client-reference-manifest.js +1 -1
  100. package/.next/standalone/.next/server/app/api/help/route_client-reference-manifest.js +1 -1
  101. package/.next/standalone/.next/server/app/api/hermes/jobs/[id]/events/route_client-reference-manifest.js +1 -1
  102. package/.next/standalone/.next/server/app/api/hermes/jobs/[id]/route_client-reference-manifest.js +1 -1
  103. package/.next/standalone/.next/server/app/api/hermes/jobs/route_client-reference-manifest.js +1 -1
  104. package/.next/standalone/.next/server/app/api/integrations/google/callback/route_client-reference-manifest.js +1 -1
  105. package/.next/standalone/.next/server/app/api/integrations/google/oauth/route_client-reference-manifest.js +1 -1
  106. package/.next/standalone/.next/server/app/api/marketplace/[id]/route_client-reference-manifest.js +1 -1
  107. package/.next/standalone/.next/server/app/api/marketplace/open-design/route_client-reference-manifest.js +1 -1
  108. package/.next/standalone/.next/server/app/api/marketplace/route_client-reference-manifest.js +1 -1
  109. package/.next/standalone/.next/server/app/api/mines/import-roots/route_client-reference-manifest.js +1 -1
  110. package/.next/standalone/.next/server/app/api/mines/portfolio/route_client-reference-manifest.js +1 -1
  111. package/.next/standalone/.next/server/app/api/mines/projects/[id]/chunks/route_client-reference-manifest.js +1 -1
  112. package/.next/standalone/.next/server/app/api/mines/projects/[id]/diligence/route_client-reference-manifest.js +1 -1
  113. package/.next/standalone/.next/server/app/api/mines/projects/[id]/import/route_client-reference-manifest.js +1 -1
  114. package/.next/standalone/.next/server/app/api/mines/projects/[id]/publish/route_client-reference-manifest.js +1 -1
  115. package/.next/standalone/.next/server/app/api/mines/projects/route_client-reference-manifest.js +1 -1
  116. package/.next/standalone/.next/server/app/api/missions/route_client-reference-manifest.js +1 -1
  117. package/.next/standalone/.next/server/app/api/models/route_client-reference-manifest.js +1 -1
  118. package/.next/standalone/.next/server/app/api/onboarding/blueprint/route_client-reference-manifest.js +1 -1
  119. package/.next/standalone/.next/server/app/api/onboarding/launch/route_client-reference-manifest.js +1 -1
  120. package/.next/standalone/.next/server/app/api/orchestrator/command/route_client-reference-manifest.js +1 -1
  121. package/.next/standalone/.next/server/app/api/orchestrator/stream/route_client-reference-manifest.js +1 -1
  122. package/.next/standalone/.next/server/app/api/orchestrator/upload/route_client-reference-manifest.js +1 -1
  123. package/.next/standalone/.next/server/app/api/org/route_client-reference-manifest.js +1 -1
  124. package/.next/standalone/.next/server/app/api/orgs/[id]/invites/[inviteId]/route_client-reference-manifest.js +1 -1
  125. package/.next/standalone/.next/server/app/api/orgs/[id]/invites/route_client-reference-manifest.js +1 -1
  126. package/.next/standalone/.next/server/app/api/orgs/[id]/members/[userId]/role/route_client-reference-manifest.js +1 -1
  127. package/.next/standalone/.next/server/app/api/orgs/[id]/members/[userId]/route_client-reference-manifest.js +1 -1
  128. package/.next/standalone/.next/server/app/api/orgs/[id]/members/route_client-reference-manifest.js +1 -1
  129. package/.next/standalone/.next/server/app/api/orgs/[id]/route_client-reference-manifest.js +1 -1
  130. package/.next/standalone/.next/server/app/api/orgs/invites/pending/route_client-reference-manifest.js +1 -1
  131. package/.next/standalone/.next/server/app/api/orgs/join/route_client-reference-manifest.js +1 -1
  132. package/.next/standalone/.next/server/app/api/orgs/join-complete/route_client-reference-manifest.js +1 -1
  133. package/.next/standalone/.next/server/app/api/orgs/route_client-reference-manifest.js +1 -1
  134. package/.next/standalone/.next/server/app/api/printing-press/clis/route_client-reference-manifest.js +1 -1
  135. package/.next/standalone/.next/server/app/api/printing-press/install/route_client-reference-manifest.js +1 -1
  136. package/.next/standalone/.next/server/app/api/printing-press/security-mode/route_client-reference-manifest.js +1 -1
  137. package/.next/standalone/.next/server/app/api/privacy/config/route_client-reference-manifest.js +1 -1
  138. package/.next/standalone/.next/server/app/api/privacy/verify/route_client-reference-manifest.js +1 -1
  139. package/.next/standalone/.next/server/app/api/processes/[id]/route_client-reference-manifest.js +1 -1
  140. package/.next/standalone/.next/server/app/api/processes/[id]/share-link/route_client-reference-manifest.js +1 -1
  141. package/.next/standalone/.next/server/app/api/processes/[id]/stages/[stageId]/override/route_client-reference-manifest.js +1 -1
  142. package/.next/standalone/.next/server/app/api/processes/[id]/stages/[stageId]/retry/route_client-reference-manifest.js +1 -1
  143. package/.next/standalone/.next/server/app/api/processes/[id]/stages/[stageId]/submit/route_client-reference-manifest.js +1 -1
  144. package/.next/standalone/.next/server/app/api/processes/definitions/[slug]/route_client-reference-manifest.js +1 -1
  145. package/.next/standalone/.next/server/app/api/processes/definitions/[slug]/settings/route_client-reference-manifest.js +1 -1
  146. package/.next/standalone/.next/server/app/api/processes/definitions/route_client-reference-manifest.js +1 -1
  147. package/.next/standalone/.next/server/app/api/processes/definitions/validate/route_client-reference-manifest.js +1 -1
  148. package/.next/standalone/.next/server/app/api/processes/route_client-reference-manifest.js +1 -1
  149. package/.next/standalone/.next/server/app/api/processes/start-and-route/route_client-reference-manifest.js +1 -1
  150. package/.next/standalone/.next/server/app/api/projects/[slug]/library/route_client-reference-manifest.js +1 -1
  151. package/.next/standalone/.next/server/app/api/projects/[slug]/route_client-reference-manifest.js +1 -1
  152. package/.next/standalone/.next/server/app/api/projects/route_client-reference-manifest.js +1 -1
  153. package/.next/standalone/.next/server/app/api/runs/approve-claude-run/route_client-reference-manifest.js +1 -1
  154. package/.next/standalone/.next/server/app/api/runs/claude-code-dry-run/route_client-reference-manifest.js +1 -1
  155. package/.next/standalone/.next/server/app/api/runs/competitor-report/route_client-reference-manifest.js +1 -1
  156. package/.next/standalone/.next/server/app/api/runs/engine-ping/route_client-reference-manifest.js +1 -1
  157. package/.next/standalone/.next/server/app/api/runs/marketing-plan/route_client-reference-manifest.js +1 -1
  158. package/.next/standalone/.next/server/app/api/schedules/upsert/route_client-reference-manifest.js +1 -1
  159. package/.next/standalone/.next/server/app/api/secrets/[name]/route_client-reference-manifest.js +1 -1
  160. package/.next/standalone/.next/server/app/api/secrets/route_client-reference-manifest.js +1 -1
  161. package/.next/standalone/.next/server/app/api/settings/trust-mode/route_client-reference-manifest.js +1 -1
  162. package/.next/standalone/.next/server/app/api/share/[token]/otp/route_client-reference-manifest.js +1 -1
  163. package/.next/standalone/.next/server/app/api/share/[token]/route_client-reference-manifest.js +1 -1
  164. package/.next/standalone/.next/server/app/api/share/[token]/verify/route_client-reference-manifest.js +1 -1
  165. package/.next/standalone/.next/server/app/api/share/space/[token]/otp/route_client-reference-manifest.js +1 -1
  166. package/.next/standalone/.next/server/app/api/share/space/[token]/route_client-reference-manifest.js +1 -1
  167. package/.next/standalone/.next/server/app/api/share/space/[token]/verify/route_client-reference-manifest.js +1 -1
  168. package/.next/standalone/.next/server/app/api/shared/spaces/[id]/acl/route_client-reference-manifest.js +1 -1
  169. package/.next/standalone/.next/server/app/api/shared/spaces/publish/route_client-reference-manifest.js +1 -1
  170. package/.next/standalone/.next/server/app/api/shared/spaces/route_client-reference-manifest.js +1 -1
  171. package/.next/standalone/.next/server/app/api/shared/spaces/status/route_client-reference-manifest.js +1 -1
  172. package/.next/standalone/.next/server/app/api/shared/spaces/unpublish/route_client-reference-manifest.js +1 -1
  173. package/.next/standalone/.next/server/app/api/state/route_client-reference-manifest.js +1 -1
  174. package/.next/standalone/.next/server/app/api/system/update/route_client-reference-manifest.js +1 -1
  175. package/.next/standalone/.next/server/app/api/tasks/[id]/active-run/route_client-reference-manifest.js +1 -1
  176. package/.next/standalone/.next/server/app/api/tasks/[id]/attachments/route_client-reference-manifest.js +1 -1
  177. package/.next/standalone/.next/server/app/api/tasks/[id]/checklist/[itemId]/route_client-reference-manifest.js +1 -1
  178. package/.next/standalone/.next/server/app/api/tasks/[id]/checklist/route_client-reference-manifest.js +1 -1
  179. package/.next/standalone/.next/server/app/api/tasks/[id]/checkout/route_client-reference-manifest.js +1 -1
  180. package/.next/standalone/.next/server/app/api/tasks/[id]/children/route_client-reference-manifest.js +1 -1
  181. package/.next/standalone/.next/server/app/api/tasks/[id]/comments/route_client-reference-manifest.js +1 -1
  182. package/.next/standalone/.next/server/app/api/tasks/[id]/events/route_client-reference-manifest.js +1 -1
  183. package/.next/standalone/.next/server/app/api/tasks/[id]/live-runs/route_client-reference-manifest.js +1 -1
  184. package/.next/standalone/.next/server/app/api/tasks/[id]/release/route_client-reference-manifest.js +1 -1
  185. package/.next/standalone/.next/server/app/api/tasks/[id]/route_client-reference-manifest.js +1 -1
  186. package/.next/standalone/.next/server/app/api/tasks/route_client-reference-manifest.js +1 -1
  187. package/.next/standalone/.next/server/app/api/tool-allowlists/[id]/route_client-reference-manifest.js +1 -1
  188. package/.next/standalone/.next/server/app/api/tool-allowlists/route_client-reference-manifest.js +1 -1
  189. package/.next/standalone/.next/server/app/api/tool-egress/route_client-reference-manifest.js +1 -1
  190. package/.next/standalone/.next/server/app/api/tools/[name]/approve/route_client-reference-manifest.js +1 -1
  191. package/.next/standalone/.next/server/app/api/tools/[name]/route_client-reference-manifest.js +1 -1
  192. package/.next/standalone/.next/server/app/api/tools/route_client-reference-manifest.js +1 -1
  193. package/.next/standalone/.next/server/app/api/transcripts/route_client-reference-manifest.js +1 -1
  194. package/.next/standalone/.next/server/app/api/voice/providers/route_client-reference-manifest.js +1 -1
  195. package/.next/standalone/.next/server/app/api/voice/realtime/context/route_client-reference-manifest.js +1 -1
  196. package/.next/standalone/.next/server/app/api/voice/realtime/session/route_client-reference-manifest.js +1 -1
  197. package/.next/standalone/.next/server/app/api/voice/realtime/tool-result/route_client-reference-manifest.js +1 -1
  198. package/.next/standalone/.next/server/app/api/voice/realtime/tools/route_client-reference-manifest.js +1 -1
  199. package/.next/standalone/.next/server/app/api/voice/tts/route_client-reference-manifest.js +1 -1
  200. package/.next/standalone/.next/server/app/api/whatsapp/allowlist/route_client-reference-manifest.js +1 -1
  201. package/.next/standalone/.next/server/app/api/whatsapp/disconnect/route_client-reference-manifest.js +1 -1
  202. package/.next/standalone/.next/server/app/api/whatsapp/messages/route_client-reference-manifest.js +1 -1
  203. package/.next/standalone/.next/server/app/api/whatsapp/qr/route_client-reference-manifest.js +1 -1
  204. package/.next/standalone/.next/server/app/api/whatsapp/send/route_client-reference-manifest.js +1 -1
  205. package/.next/standalone/.next/server/app/api/whatsapp/status/route_client-reference-manifest.js +1 -1
  206. package/.next/standalone/.next/server/app/approvals/page.js +2 -2
  207. package/.next/standalone/.next/server/app/approvals/page.js.nft.json +1 -1
  208. package/.next/standalone/.next/server/app/approvals/page_client-reference-manifest.js +1 -1
  209. package/.next/standalone/.next/server/app/architecture/page.js +1 -1
  210. package/.next/standalone/.next/server/app/architecture/page.js.nft.json +1 -1
  211. package/.next/standalone/.next/server/app/architecture/page_client-reference-manifest.js +1 -1
  212. package/.next/standalone/.next/server/app/architecture.html +2 -2
  213. package/.next/standalone/.next/server/app/architecture.rsc +4 -4
  214. package/.next/standalone/.next/server/app/audit/live/page.js +1 -1
  215. package/.next/standalone/.next/server/app/audit/live/page.js.nft.json +1 -1
  216. package/.next/standalone/.next/server/app/audit/live/page_client-reference-manifest.js +1 -1
  217. package/.next/standalone/.next/server/app/audit/page.js +1 -1
  218. package/.next/standalone/.next/server/app/audit/page.js.nft.json +1 -1
  219. package/.next/standalone/.next/server/app/audit/page_client-reference-manifest.js +1 -1
  220. package/.next/standalone/.next/server/app/brand/page.js +1 -1
  221. package/.next/standalone/.next/server/app/brand/page.js.nft.json +1 -1
  222. package/.next/standalone/.next/server/app/brand/page_client-reference-manifest.js +1 -1
  223. package/.next/standalone/.next/server/app/brand.html +1 -1
  224. package/.next/standalone/.next/server/app/brand.rsc +4 -4
  225. package/.next/standalone/.next/server/app/disk/page.js +1 -1
  226. package/.next/standalone/.next/server/app/disk/page.js.nft.json +1 -1
  227. package/.next/standalone/.next/server/app/disk/page_client-reference-manifest.js +1 -1
  228. package/.next/standalone/.next/server/app/federated-ai/page.js +1 -1
  229. package/.next/standalone/.next/server/app/federated-ai/page.js.nft.json +1 -1
  230. package/.next/standalone/.next/server/app/federated-ai/page_client-reference-manifest.js +1 -1
  231. package/.next/standalone/.next/server/app/federated-ai.html +2 -2
  232. package/.next/standalone/.next/server/app/federated-ai.rsc +4 -4
  233. package/.next/standalone/.next/server/app/hail/[id]/governance/page.js +1 -1
  234. package/.next/standalone/.next/server/app/hail/[id]/governance/page.js.nft.json +1 -1
  235. package/.next/standalone/.next/server/app/hail/[id]/governance/page_client-reference-manifest.js +1 -1
  236. package/.next/standalone/.next/server/app/hail/[id]/interview/page.js +2 -2
  237. package/.next/standalone/.next/server/app/hail/[id]/interview/page.js.nft.json +1 -1
  238. package/.next/standalone/.next/server/app/hail/[id]/interview/page_client-reference-manifest.js +1 -1
  239. package/.next/standalone/.next/server/app/hail/[id]/page.js +1 -1
  240. package/.next/standalone/.next/server/app/hail/[id]/page.js.nft.json +1 -1
  241. package/.next/standalone/.next/server/app/hail/[id]/page_client-reference-manifest.js +1 -1
  242. package/.next/standalone/.next/server/app/hail/[id]/setup/page.js +1 -1
  243. package/.next/standalone/.next/server/app/hail/[id]/setup/page.js.nft.json +1 -1
  244. package/.next/standalone/.next/server/app/hail/[id]/setup/page_client-reference-manifest.js +1 -1
  245. package/.next/standalone/.next/server/app/hail/page.js +3 -3
  246. package/.next/standalone/.next/server/app/hail/page.js.nft.json +1 -1
  247. package/.next/standalone/.next/server/app/hail/page_client-reference-manifest.js +1 -1
  248. package/.next/standalone/.next/server/app/help/[slug]/page.js +1 -1
  249. package/.next/standalone/.next/server/app/help/[slug]/page.js.nft.json +1 -1
  250. package/.next/standalone/.next/server/app/help/[slug]/page_client-reference-manifest.js +1 -1
  251. package/.next/standalone/.next/server/app/help/page.js +1 -1
  252. package/.next/standalone/.next/server/app/help/page.js.nft.json +1 -1
  253. package/.next/standalone/.next/server/app/help/page_client-reference-manifest.js +1 -1
  254. package/.next/standalone/.next/server/app/index.html +2 -2
  255. package/.next/standalone/.next/server/app/index.rsc +5 -5
  256. package/.next/standalone/.next/server/app/join/page.js +1 -1
  257. package/.next/standalone/.next/server/app/join/page.js.nft.json +1 -1
  258. package/.next/standalone/.next/server/app/join/page_client-reference-manifest.js +1 -1
  259. package/.next/standalone/.next/server/app/join.html +1 -1
  260. package/.next/standalone/.next/server/app/join.rsc +4 -4
  261. package/.next/standalone/.next/server/app/login/page.js +1 -1
  262. package/.next/standalone/.next/server/app/login/page.js.nft.json +1 -1
  263. package/.next/standalone/.next/server/app/login/page_client-reference-manifest.js +1 -1
  264. package/.next/standalone/.next/server/app/marketplace/page.js +2 -2
  265. package/.next/standalone/.next/server/app/marketplace/page.js.nft.json +1 -1
  266. package/.next/standalone/.next/server/app/marketplace/page_client-reference-manifest.js +1 -1
  267. package/.next/standalone/.next/server/app/mines/[projectId]/page.js +1 -1
  268. package/.next/standalone/.next/server/app/mines/[projectId]/page.js.nft.json +1 -1
  269. package/.next/standalone/.next/server/app/mines/[projectId]/page_client-reference-manifest.js +1 -1
  270. package/.next/standalone/.next/server/app/mines/[projectId]/results/page.js +1 -1
  271. package/.next/standalone/.next/server/app/mines/[projectId]/results/page.js.nft.json +1 -1
  272. package/.next/standalone/.next/server/app/mines/[projectId]/results/page_client-reference-manifest.js +1 -1
  273. package/.next/standalone/.next/server/app/mines/page.js +1 -1
  274. package/.next/standalone/.next/server/app/mines/page.js.nft.json +1 -1
  275. package/.next/standalone/.next/server/app/mines/page_client-reference-manifest.js +1 -1
  276. package/.next/standalone/.next/server/app/missions/page.js +2 -2
  277. package/.next/standalone/.next/server/app/missions/page.js.nft.json +1 -1
  278. package/.next/standalone/.next/server/app/missions/page_client-reference-manifest.js +1 -1
  279. package/.next/standalone/.next/server/app/onboarding/org/page.js +1 -1
  280. package/.next/standalone/.next/server/app/onboarding/org/page.js.nft.json +1 -1
  281. package/.next/standalone/.next/server/app/onboarding/org/page_client-reference-manifest.js +1 -1
  282. package/.next/standalone/.next/server/app/onboarding/page.js +1 -1
  283. package/.next/standalone/.next/server/app/onboarding/page.js.nft.json +1 -1
  284. package/.next/standalone/.next/server/app/onboarding/page_client-reference-manifest.js +1 -1
  285. package/.next/standalone/.next/server/app/onboarding.html +2 -2
  286. package/.next/standalone/.next/server/app/onboarding.rsc +4 -4
  287. package/.next/standalone/.next/server/app/org/page.js +1 -1
  288. package/.next/standalone/.next/server/app/org/page.js.nft.json +1 -1
  289. package/.next/standalone/.next/server/app/org/page_client-reference-manifest.js +1 -1
  290. package/.next/standalone/.next/server/app/page.js +2 -2
  291. package/.next/standalone/.next/server/app/page.js.nft.json +1 -1
  292. package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
  293. package/.next/standalone/.next/server/app/projects/[slug]/log/page.js +1 -1
  294. package/.next/standalone/.next/server/app/projects/[slug]/log/page.js.nft.json +1 -1
  295. package/.next/standalone/.next/server/app/projects/[slug]/log/page_client-reference-manifest.js +1 -1
  296. package/.next/standalone/.next/server/app/projects/[slug]/page.js +1 -1
  297. package/.next/standalone/.next/server/app/projects/[slug]/page.js.nft.json +1 -1
  298. package/.next/standalone/.next/server/app/projects/[slug]/page_client-reference-manifest.js +1 -1
  299. package/.next/standalone/.next/server/app/projects/new/page.js +3 -3
  300. package/.next/standalone/.next/server/app/projects/new/page.js.nft.json +1 -1
  301. package/.next/standalone/.next/server/app/projects/new/page_client-reference-manifest.js +1 -1
  302. package/.next/standalone/.next/server/app/projects/new.html +2 -1
  303. package/.next/standalone/.next/server/app/projects/new.rsc +5 -5
  304. package/.next/standalone/.next/server/app/projects/page.js +14 -14
  305. package/.next/standalone/.next/server/app/projects/page.js.nft.json +1 -1
  306. package/.next/standalone/.next/server/app/projects/page_client-reference-manifest.js +1 -1
  307. package/.next/standalone/.next/server/app/reports/[file]/route_client-reference-manifest.js +1 -1
  308. package/.next/standalone/.next/server/app/reports/page.js +1 -1
  309. package/.next/standalone/.next/server/app/reports/page.js.nft.json +1 -1
  310. package/.next/standalone/.next/server/app/reports/page_client-reference-manifest.js +1 -1
  311. package/.next/standalone/.next/server/app/runtime/page.js +1 -1
  312. package/.next/standalone/.next/server/app/runtime/page.js.nft.json +1 -1
  313. package/.next/standalone/.next/server/app/runtime/page_client-reference-manifest.js +1 -1
  314. package/.next/standalone/.next/server/app/schedules/page.js +2 -2
  315. package/.next/standalone/.next/server/app/schedules/page.js.nft.json +1 -1
  316. package/.next/standalone/.next/server/app/schedules/page_client-reference-manifest.js +1 -1
  317. package/.next/standalone/.next/server/app/settings/account/page.js +1 -1
  318. package/.next/standalone/.next/server/app/settings/account/page.js.nft.json +1 -1
  319. package/.next/standalone/.next/server/app/settings/account/page_client-reference-manifest.js +1 -1
  320. package/.next/standalone/.next/server/app/settings/advanced/page.js +1 -1
  321. package/.next/standalone/.next/server/app/settings/advanced/page.js.nft.json +1 -1
  322. package/.next/standalone/.next/server/app/settings/advanced/page_client-reference-manifest.js +1 -1
  323. package/.next/standalone/.next/server/app/settings/appearance/page.js +1 -1
  324. package/.next/standalone/.next/server/app/settings/appearance/page.js.nft.json +1 -1
  325. package/.next/standalone/.next/server/app/settings/appearance/page_client-reference-manifest.js +1 -1
  326. package/.next/standalone/.next/server/app/settings/brand/page.js +1 -1
  327. package/.next/standalone/.next/server/app/settings/brand/page.js.nft.json +1 -1
  328. package/.next/standalone/.next/server/app/settings/brand/page_client-reference-manifest.js +1 -1
  329. package/.next/standalone/.next/server/app/settings/brand.html +2 -2
  330. package/.next/standalone/.next/server/app/settings/brand.rsc +4 -4
  331. package/.next/standalone/.next/server/app/settings/connectors/page.js +1 -1
  332. package/.next/standalone/.next/server/app/settings/connectors/page.js.nft.json +1 -1
  333. package/.next/standalone/.next/server/app/settings/connectors/page_client-reference-manifest.js +1 -1
  334. package/.next/standalone/.next/server/app/settings/engines/page.js +1 -1
  335. package/.next/standalone/.next/server/app/settings/engines/page.js.nft.json +1 -1
  336. package/.next/standalone/.next/server/app/settings/engines/page_client-reference-manifest.js +1 -1
  337. package/.next/standalone/.next/server/app/settings/onboarding/page.js +1 -1
  338. package/.next/standalone/.next/server/app/settings/onboarding/page.js.nft.json +1 -1
  339. package/.next/standalone/.next/server/app/settings/onboarding/page_client-reference-manifest.js +1 -1
  340. package/.next/standalone/.next/server/app/settings/onboarding.html +2 -2
  341. package/.next/standalone/.next/server/app/settings/onboarding.rsc +4 -4
  342. package/.next/standalone/.next/server/app/settings/organization/page.js +1 -1
  343. package/.next/standalone/.next/server/app/settings/organization/page.js.nft.json +1 -1
  344. package/.next/standalone/.next/server/app/settings/organization/page_client-reference-manifest.js +1 -1
  345. package/.next/standalone/.next/server/app/settings/page.js +1 -1
  346. package/.next/standalone/.next/server/app/settings/page.js.nft.json +1 -1
  347. package/.next/standalone/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  348. package/.next/standalone/.next/server/app/settings/runtime/page.js +1 -1
  349. package/.next/standalone/.next/server/app/settings/runtime/page.js.nft.json +1 -1
  350. package/.next/standalone/.next/server/app/settings/runtime/page_client-reference-manifest.js +1 -1
  351. package/.next/standalone/.next/server/app/settings/team/page.js +1 -1
  352. package/.next/standalone/.next/server/app/settings/team/page.js.nft.json +1 -1
  353. package/.next/standalone/.next/server/app/settings/team/page_client-reference-manifest.js +1 -1
  354. package/.next/standalone/.next/server/app/settings/tools/page.js +1 -1
  355. package/.next/standalone/.next/server/app/settings/tools/page.js.nft.json +1 -1
  356. package/.next/standalone/.next/server/app/settings/tools/page_client-reference-manifest.js +1 -1
  357. package/.next/standalone/.next/server/app/settings.html +2 -2
  358. package/.next/standalone/.next/server/app/settings.rsc +4 -4
  359. package/.next/standalone/.next/server/app/share/[token]/page.js +1 -1
  360. package/.next/standalone/.next/server/app/share/[token]/page.js.nft.json +1 -1
  361. package/.next/standalone/.next/server/app/share/[token]/page_client-reference-manifest.js +1 -1
  362. package/.next/standalone/.next/server/app/share/space/[token]/page.js +1 -1
  363. package/.next/standalone/.next/server/app/share/space/[token]/page.js.nft.json +1 -1
  364. package/.next/standalone/.next/server/app/share/space/[token]/page_client-reference-manifest.js +1 -1
  365. package/.next/standalone/.next/server/app/tasks/[id]/page.js +2 -2
  366. package/.next/standalone/.next/server/app/tasks/[id]/page.js.nft.json +1 -1
  367. package/.next/standalone/.next/server/app/tasks/[id]/page_client-reference-manifest.js +1 -1
  368. package/.next/standalone/.next/server/app/tasks/page.js +2 -2
  369. package/.next/standalone/.next/server/app/tasks/page.js.nft.json +1 -1
  370. package/.next/standalone/.next/server/app/tasks/page_client-reference-manifest.js +1 -1
  371. package/.next/standalone/.next/server/app/team/[agentId]/page.js +1 -1
  372. package/.next/standalone/.next/server/app/team/[agentId]/page.js.nft.json +1 -1
  373. package/.next/standalone/.next/server/app/team/[agentId]/page_client-reference-manifest.js +1 -1
  374. package/.next/standalone/.next/server/app/team/page.js +1 -1
  375. package/.next/standalone/.next/server/app/team/page.js.nft.json +1 -1
  376. package/.next/standalone/.next/server/app/team/page_client-reference-manifest.js +1 -1
  377. package/.next/standalone/.next/server/app/tools/page.js +1 -1
  378. package/.next/standalone/.next/server/app/tools/page.js.nft.json +1 -1
  379. package/.next/standalone/.next/server/app/tools/page_client-reference-manifest.js +1 -1
  380. package/.next/standalone/.next/server/app/whatsapp/page.js +1 -1
  381. package/.next/standalone/.next/server/app/whatsapp/page.js.nft.json +1 -1
  382. package/.next/standalone/.next/server/app/whatsapp/page_client-reference-manifest.js +1 -1
  383. package/.next/standalone/.next/server/app/whatsapp.html +2 -2
  384. package/.next/standalone/.next/server/app/whatsapp.rsc +4 -4
  385. package/.next/standalone/.next/server/app/workflows/[caseId]/page.js +1 -1
  386. package/.next/standalone/.next/server/app/workflows/[caseId]/page.js.nft.json +1 -1
  387. package/.next/standalone/.next/server/app/workflows/[caseId]/page_client-reference-manifest.js +1 -1
  388. package/.next/standalone/.next/server/app/workflows/new/[caseId]/page.js +1 -1
  389. package/.next/standalone/.next/server/app/workflows/new/[caseId]/page.js.nft.json +1 -1
  390. package/.next/standalone/.next/server/app/workflows/new/[caseId]/page_client-reference-manifest.js +1 -1
  391. package/.next/standalone/.next/server/app/workflows/new/definition/page.js +1 -1
  392. package/.next/standalone/.next/server/app/workflows/new/definition/page.js.nft.json +1 -1
  393. package/.next/standalone/.next/server/app/workflows/new/definition/page_client-reference-manifest.js +1 -1
  394. package/.next/standalone/.next/server/app/workflows/page.js +1 -1
  395. package/.next/standalone/.next/server/app/workflows/page.js.nft.json +1 -1
  396. package/.next/standalone/.next/server/app/workflows/page_client-reference-manifest.js +1 -1
  397. package/.next/standalone/.next/server/app/workflows/share/[caseId]/page.js +1 -1
  398. package/.next/standalone/.next/server/app/workflows/share/[caseId]/page.js.nft.json +1 -1
  399. package/.next/standalone/.next/server/app/workflows/share/[caseId]/page_client-reference-manifest.js +1 -1
  400. package/.next/standalone/.next/server/app-paths-manifest.json +77 -76
  401. package/.next/standalone/.next/server/chunks/1699.js +27 -27
  402. package/.next/standalone/.next/server/chunks/3806.js +1 -0
  403. package/.next/standalone/.next/server/chunks/4740.js +1 -1
  404. package/.next/standalone/.next/server/chunks/6059.js +1 -1
  405. package/.next/standalone/.next/server/chunks/8194.js +1 -0
  406. package/.next/standalone/.next/server/chunks/9195.js +9 -0
  407. package/.next/standalone/.next/server/functions-config-manifest.json +40 -39
  408. package/.next/standalone/.next/server/middleware-build-manifest.js +1 -1
  409. package/.next/standalone/.next/server/middleware-manifest.json +5 -5
  410. package/.next/standalone/.next/server/pages/404.html +1 -1
  411. package/.next/standalone/.next/server/pages/500.html +1 -1
  412. package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
  413. package/.next/standalone/.next/server/server-reference-manifest.json +1 -1
  414. package/.next/standalone/.next/static/chunks/3054-451abdd7b9afc2ac.js +1 -0
  415. package/.next/standalone/.next/static/chunks/app/activity/loading-17ae3509caaa1354.js +1 -0
  416. package/.next/standalone/.next/static/chunks/app/agents/[id]/loading-17ae3509caaa1354.js +1 -0
  417. package/.next/standalone/.next/static/chunks/app/agents/[id]/page-e4bcb0ace2900a11.js +1 -0
  418. package/.next/standalone/.next/static/chunks/app/agents/loading-17ae3509caaa1354.js +1 -0
  419. package/.next/standalone/.next/static/chunks/app/agents/page-47a00aa58327a35e.js +1 -0
  420. package/.next/standalone/.next/static/chunks/app/api/activity/route-17ae3509caaa1354.js +1 -0
  421. package/.next/standalone/.next/static/chunks/app/api/admin/audit-export/route-17ae3509caaa1354.js +1 -0
  422. package/.next/standalone/.next/static/chunks/app/api/admin/share-links/route-17ae3509caaa1354.js +1 -0
  423. package/.next/standalone/.next/static/chunks/app/api/agent-memory/route-17ae3509caaa1354.js +1 -0
  424. package/.next/standalone/.next/static/chunks/app/api/agent-runs/[id]/cancel/route-17ae3509caaa1354.js +1 -0
  425. package/.next/standalone/.next/static/chunks/app/api/agent-runs/[id]/events/route-17ae3509caaa1354.js +1 -0
  426. package/.next/standalone/.next/static/chunks/app/api/agent-runs/[id]/log/route-17ae3509caaa1354.js +1 -0
  427. package/.next/standalone/.next/static/chunks/app/api/agent-runs/[id]/route-17ae3509caaa1354.js +1 -0
  428. package/.next/standalone/.next/static/chunks/app/api/agent-runs/route-17ae3509caaa1354.js +1 -0
  429. package/.next/standalone/.next/static/chunks/app/api/agents/[id]/active-run/route-17ae3509caaa1354.js +1 -0
  430. package/.next/standalone/.next/static/chunks/app/api/agents/[id]/chain/route-17ae3509caaa1354.js +1 -0
  431. package/.next/standalone/.next/static/chunks/app/api/agents/[id]/memory/route-17ae3509caaa1354.js +1 -0
  432. package/.next/standalone/.next/static/chunks/app/api/agents/[id]/reports/route-17ae3509caaa1354.js +1 -0
  433. package/.next/standalone/.next/static/chunks/app/api/agents/[id]/run/route-17ae3509caaa1354.js +1 -0
  434. package/.next/standalone/.next/static/chunks/app/api/agents/[id]/skills/route-17ae3509caaa1354.js +1 -0
  435. package/.next/standalone/.next/static/chunks/app/api/agents/create/route-17ae3509caaa1354.js +1 -0
  436. package/.next/standalone/.next/static/chunks/app/api/agents/ops/route-17ae3509caaa1354.js +1 -0
  437. package/.next/standalone/.next/static/chunks/app/api/approvals/[id]/route-17ae3509caaa1354.js +1 -0
  438. package/.next/standalone/.next/static/chunks/app/api/approvals/route-17ae3509caaa1354.js +1 -0
  439. package/.next/standalone/.next/static/chunks/app/api/artifacts/[id]/acl/route-17ae3509caaa1354.js +1 -0
  440. package/.next/standalone/.next/static/chunks/app/api/artifacts/[id]/protect/route-17ae3509caaa1354.js +1 -0
  441. package/.next/standalone/.next/static/chunks/app/api/artifacts/[id]/raw/route-17ae3509caaa1354.js +1 -0
  442. package/.next/standalone/.next/static/chunks/app/api/artifacts/[id]/route-17ae3509caaa1354.js +1 -0
  443. package/.next/standalone/.next/static/chunks/app/api/artifacts/[id]/share-link/[linkId]/route-17ae3509caaa1354.js +1 -0
  444. package/.next/standalone/.next/static/chunks/app/api/artifacts/[id]/share-link/route-17ae3509caaa1354.js +1 -0
  445. package/.next/standalone/.next/static/chunks/app/api/artifacts/upload/route-17ae3509caaa1354.js +1 -0
  446. package/.next/standalone/.next/static/chunks/app/api/audit/list/route-17ae3509caaa1354.js +1 -0
  447. package/.next/standalone/.next/static/chunks/app/api/audit/search/route-17ae3509caaa1354.js +1 -0
  448. package/.next/standalone/.next/static/chunks/app/api/auth/callback/route-17ae3509caaa1354.js +1 -0
  449. package/.next/standalone/.next/static/chunks/app/api/auth/config/route-17ae3509caaa1354.js +1 -0
  450. package/.next/standalone/.next/static/chunks/app/api/auth/join-bootstrap/route-17ae3509caaa1354.js +1 -0
  451. package/.next/standalone/.next/static/chunks/app/api/auth/session/route-17ae3509caaa1354.js +1 -0
  452. package/.next/standalone/.next/static/chunks/app/api/brand/route-17ae3509caaa1354.js +1 -0
  453. package/.next/standalone/.next/static/chunks/app/api/brand/share/route-17ae3509caaa1354.js +1 -0
  454. package/.next/standalone/.next/static/chunks/app/api/chat/sessions/[id]/route-17ae3509caaa1354.js +1 -0
  455. package/.next/standalone/.next/static/chunks/app/api/chat/sessions/route-17ae3509caaa1354.js +1 -0
  456. package/.next/standalone/.next/static/chunks/app/api/config/env/route-17ae3509caaa1354.js +1 -0
  457. package/.next/standalone/.next/static/chunks/app/api/config/route-17ae3509caaa1354.js +1 -0
  458. package/.next/standalone/.next/static/chunks/app/api/connections/[service]/route-17ae3509caaa1354.js +1 -0
  459. package/.next/standalone/.next/static/chunks/app/api/connections/[service]/verify/route-17ae3509caaa1354.js +1 -0
  460. package/.next/standalone/.next/static/chunks/app/api/connections/route-17ae3509caaa1354.js +1 -0
  461. package/.next/standalone/.next/static/chunks/app/api/cron/tick/route-17ae3509caaa1354.js +1 -0
  462. package/.next/standalone/.next/static/chunks/app/api/dashboard/spaces/[id]/move/route-17ae3509caaa1354.js +1 -0
  463. package/.next/standalone/.next/static/chunks/app/api/dashboard/spaces/[id]/route-17ae3509caaa1354.js +1 -0
  464. package/.next/standalone/.next/static/chunks/app/api/dashboard/spaces/[id]/share-link/[linkId]/route-17ae3509caaa1354.js +1 -0
  465. package/.next/standalone/.next/static/chunks/app/api/dashboard/spaces/[id]/share-link/route-17ae3509caaa1354.js +1 -0
  466. package/.next/standalone/.next/static/chunks/app/api/dashboard/spaces/import/route-17ae3509caaa1354.js +1 -0
  467. package/.next/standalone/.next/static/chunks/app/api/dashboard/spaces/route-17ae3509caaa1354.js +1 -0
  468. package/.next/standalone/.next/static/chunks/app/api/disk/files/[id]/blob/route-17ae3509caaa1354.js +1 -0
  469. package/.next/standalone/.next/static/chunks/app/api/disk/files/[id]/route-17ae3509caaa1354.js +1 -0
  470. package/.next/standalone/.next/static/chunks/app/api/disk/files/[id]/transcribe/route-17ae3509caaa1354.js +1 -0
  471. package/.next/standalone/.next/static/chunks/app/api/disk/files/route-17ae3509caaa1354.js +1 -0
  472. package/.next/standalone/.next/static/chunks/app/api/disk/folders/route-17ae3509caaa1354.js +1 -0
  473. package/.next/standalone/.next/static/chunks/app/api/events/since/[cursor]/route-17ae3509caaa1354.js +1 -0
  474. package/.next/standalone/.next/static/chunks/app/api/events/stream/route-17ae3509caaa1354.js +1 -0
  475. package/.next/standalone/.next/static/chunks/app/api/fs/create-folder/route-17ae3509caaa1354.js +1 -0
  476. package/.next/standalone/.next/static/chunks/app/api/fs/pick-folder/route-17ae3509caaa1354.js +1 -0
  477. package/.next/standalone/.next/static/chunks/app/api/hail/engagements/[id]/blueprint/route-17ae3509caaa1354.js +1 -0
  478. package/.next/standalone/.next/static/chunks/app/api/hail/engagements/[id]/diagnostic/route-17ae3509caaa1354.js +1 -0
  479. package/.next/standalone/.next/static/chunks/app/api/hail/engagements/[id]/governance/route-17ae3509caaa1354.js +1 -0
  480. package/.next/standalone/.next/static/chunks/app/api/hail/engagements/[id]/interview/route-17ae3509caaa1354.js +1 -0
  481. package/.next/standalone/.next/static/chunks/app/api/hail/engagements/[id]/pilot/route-17ae3509caaa1354.js +1 -0
  482. package/.next/standalone/.next/static/chunks/app/api/hail/engagements/[id]/quarterly/route-17ae3509caaa1354.js +1 -0
  483. package/.next/standalone/.next/static/chunks/app/api/hail/engagements/[id]/route-17ae3509caaa1354.js +1 -0
  484. package/.next/standalone/.next/static/chunks/app/api/hail/engagements/[id]/setup-package/route-17ae3509caaa1354.js +1 -0
  485. package/.next/standalone/.next/static/chunks/app/api/hail/engagements/route-17ae3509caaa1354.js +1 -0
  486. package/.next/standalone/.next/static/chunks/app/api/hail/interviews/[id]/responses/route-17ae3509caaa1354.js +1 -0
  487. package/.next/standalone/.next/static/chunks/app/api/hail/interviews/[id]/route-17ae3509caaa1354.js +1 -0
  488. package/.next/standalone/.next/static/chunks/app/api/hail/setup-packages/[id]/apply/route-17ae3509caaa1354.js +1 -0
  489. package/.next/standalone/.next/static/chunks/app/api/hail/setup-packages/validate/route-17ae3509caaa1354.js +1 -0
  490. package/.next/standalone/.next/static/chunks/app/api/heartbeat/tick/route-17ae3509caaa1354.js +1 -0
  491. package/.next/standalone/.next/static/chunks/app/api/heartbeat/worker/route-17ae3509caaa1354.js +1 -0
  492. package/.next/standalone/.next/static/chunks/app/api/help/route-17ae3509caaa1354.js +1 -0
  493. package/.next/standalone/.next/static/chunks/app/api/hermes/jobs/[id]/events/route-17ae3509caaa1354.js +1 -0
  494. package/.next/standalone/.next/static/chunks/app/api/hermes/jobs/[id]/route-17ae3509caaa1354.js +1 -0
  495. package/.next/standalone/.next/static/chunks/app/api/hermes/jobs/route-17ae3509caaa1354.js +1 -0
  496. package/.next/standalone/.next/static/chunks/app/api/integrations/google/callback/route-17ae3509caaa1354.js +1 -0
  497. package/.next/standalone/.next/static/chunks/app/api/integrations/google/oauth/route-17ae3509caaa1354.js +1 -0
  498. package/.next/standalone/.next/static/chunks/app/api/marketplace/[id]/route-17ae3509caaa1354.js +1 -0
  499. package/.next/standalone/.next/static/chunks/app/api/marketplace/open-design/route-17ae3509caaa1354.js +1 -0
  500. package/.next/standalone/.next/static/chunks/app/api/marketplace/route-17ae3509caaa1354.js +1 -0
  501. package/.next/standalone/.next/static/chunks/app/api/mines/import-roots/route-17ae3509caaa1354.js +1 -0
  502. package/.next/standalone/.next/static/chunks/app/api/mines/portfolio/route-17ae3509caaa1354.js +1 -0
  503. package/.next/standalone/.next/static/chunks/app/api/mines/projects/[id]/chunks/route-17ae3509caaa1354.js +1 -0
  504. package/.next/standalone/.next/static/chunks/app/api/mines/projects/[id]/diligence/route-17ae3509caaa1354.js +1 -0
  505. package/.next/standalone/.next/static/chunks/app/api/mines/projects/[id]/import/route-17ae3509caaa1354.js +1 -0
  506. package/.next/standalone/.next/static/chunks/app/api/mines/projects/[id]/publish/route-17ae3509caaa1354.js +1 -0
  507. package/.next/standalone/.next/static/chunks/app/api/mines/projects/route-17ae3509caaa1354.js +1 -0
  508. package/.next/standalone/.next/static/chunks/app/api/missions/route-17ae3509caaa1354.js +1 -0
  509. package/.next/standalone/.next/static/chunks/app/api/models/route-17ae3509caaa1354.js +1 -0
  510. package/.next/standalone/.next/static/chunks/app/api/onboarding/blueprint/route-17ae3509caaa1354.js +1 -0
  511. package/.next/standalone/.next/static/chunks/app/api/onboarding/launch/route-17ae3509caaa1354.js +1 -0
  512. package/.next/standalone/.next/static/chunks/app/api/orchestrator/command/route-17ae3509caaa1354.js +1 -0
  513. package/.next/standalone/.next/static/chunks/app/api/orchestrator/stream/route-17ae3509caaa1354.js +1 -0
  514. package/.next/standalone/.next/static/chunks/app/api/orchestrator/upload/route-17ae3509caaa1354.js +1 -0
  515. package/.next/standalone/.next/static/chunks/app/api/org/route-17ae3509caaa1354.js +1 -0
  516. package/.next/standalone/.next/static/chunks/app/api/orgs/[id]/invites/[inviteId]/route-17ae3509caaa1354.js +1 -0
  517. package/.next/standalone/.next/static/chunks/app/api/orgs/[id]/invites/route-17ae3509caaa1354.js +1 -0
  518. package/.next/standalone/.next/static/chunks/app/api/orgs/[id]/members/[userId]/role/route-17ae3509caaa1354.js +1 -0
  519. package/.next/standalone/.next/static/chunks/app/api/orgs/[id]/members/[userId]/route-17ae3509caaa1354.js +1 -0
  520. package/.next/standalone/.next/static/chunks/app/api/orgs/[id]/members/route-17ae3509caaa1354.js +1 -0
  521. package/.next/standalone/.next/static/chunks/app/api/orgs/[id]/route-17ae3509caaa1354.js +1 -0
  522. package/.next/standalone/.next/static/chunks/app/api/orgs/invites/pending/route-17ae3509caaa1354.js +1 -0
  523. package/.next/standalone/.next/static/chunks/app/api/orgs/join/route-17ae3509caaa1354.js +1 -0
  524. package/.next/standalone/.next/static/chunks/app/api/orgs/join-complete/route-17ae3509caaa1354.js +1 -0
  525. package/.next/standalone/.next/static/chunks/app/api/orgs/route-17ae3509caaa1354.js +1 -0
  526. package/.next/standalone/.next/static/chunks/app/api/printing-press/clis/route-17ae3509caaa1354.js +1 -0
  527. package/.next/standalone/.next/static/chunks/app/api/printing-press/install/route-17ae3509caaa1354.js +1 -0
  528. package/.next/standalone/.next/static/chunks/app/api/printing-press/security-mode/route-17ae3509caaa1354.js +1 -0
  529. package/.next/standalone/.next/static/chunks/app/api/privacy/config/route-17ae3509caaa1354.js +1 -0
  530. package/.next/standalone/.next/static/chunks/app/api/privacy/verify/route-17ae3509caaa1354.js +1 -0
  531. package/.next/standalone/.next/static/chunks/app/api/processes/[id]/route-17ae3509caaa1354.js +1 -0
  532. package/.next/standalone/.next/static/chunks/app/api/processes/[id]/share-link/route-17ae3509caaa1354.js +1 -0
  533. package/.next/standalone/.next/static/chunks/app/api/processes/[id]/stages/[stageId]/override/route-17ae3509caaa1354.js +1 -0
  534. package/.next/standalone/.next/static/chunks/app/api/processes/[id]/stages/[stageId]/retry/route-17ae3509caaa1354.js +1 -0
  535. package/.next/standalone/.next/static/chunks/app/api/processes/[id]/stages/[stageId]/submit/route-17ae3509caaa1354.js +1 -0
  536. package/.next/standalone/.next/static/chunks/app/api/processes/definitions/[slug]/route-17ae3509caaa1354.js +1 -0
  537. package/.next/standalone/.next/static/chunks/app/api/processes/definitions/[slug]/settings/route-17ae3509caaa1354.js +1 -0
  538. package/.next/standalone/.next/static/chunks/app/api/processes/definitions/route-17ae3509caaa1354.js +1 -0
  539. package/.next/standalone/.next/static/chunks/app/api/processes/definitions/validate/route-17ae3509caaa1354.js +1 -0
  540. package/.next/standalone/.next/static/chunks/app/api/processes/route-17ae3509caaa1354.js +1 -0
  541. package/.next/standalone/.next/static/chunks/app/api/processes/start-and-route/route-17ae3509caaa1354.js +1 -0
  542. package/.next/standalone/.next/static/chunks/app/api/projects/[slug]/library/route-17ae3509caaa1354.js +1 -0
  543. package/.next/standalone/.next/static/chunks/app/api/projects/[slug]/route-17ae3509caaa1354.js +1 -0
  544. package/.next/standalone/.next/static/chunks/app/api/projects/route-17ae3509caaa1354.js +1 -0
  545. package/.next/standalone/.next/static/chunks/app/api/runs/approve-claude-run/route-17ae3509caaa1354.js +1 -0
  546. package/.next/standalone/.next/static/chunks/app/api/runs/claude-code-dry-run/route-17ae3509caaa1354.js +1 -0
  547. package/.next/standalone/.next/static/chunks/app/api/runs/competitor-report/route-17ae3509caaa1354.js +1 -0
  548. package/.next/standalone/.next/static/chunks/app/api/runs/engine-ping/route-17ae3509caaa1354.js +1 -0
  549. package/.next/standalone/.next/static/chunks/app/api/runs/marketing-plan/route-17ae3509caaa1354.js +1 -0
  550. package/.next/standalone/.next/static/chunks/app/api/schedules/upsert/route-17ae3509caaa1354.js +1 -0
  551. package/.next/standalone/.next/static/chunks/app/api/secrets/[name]/route-17ae3509caaa1354.js +1 -0
  552. package/.next/standalone/.next/static/chunks/app/api/secrets/route-17ae3509caaa1354.js +1 -0
  553. package/.next/standalone/.next/static/chunks/app/api/settings/trust-mode/route-17ae3509caaa1354.js +1 -0
  554. package/.next/standalone/.next/static/chunks/app/api/share/[token]/otp/route-17ae3509caaa1354.js +1 -0
  555. package/.next/standalone/.next/static/chunks/app/api/share/[token]/route-17ae3509caaa1354.js +1 -0
  556. package/.next/standalone/.next/static/chunks/app/api/share/[token]/verify/route-17ae3509caaa1354.js +1 -0
  557. package/.next/standalone/.next/static/chunks/app/api/share/space/[token]/otp/route-17ae3509caaa1354.js +1 -0
  558. package/.next/standalone/.next/static/chunks/app/api/share/space/[token]/route-17ae3509caaa1354.js +1 -0
  559. package/.next/standalone/.next/static/chunks/app/api/share/space/[token]/verify/route-17ae3509caaa1354.js +1 -0
  560. package/.next/standalone/.next/static/chunks/app/api/shared/spaces/[id]/acl/route-17ae3509caaa1354.js +1 -0
  561. package/.next/standalone/.next/static/chunks/app/api/shared/spaces/publish/route-17ae3509caaa1354.js +1 -0
  562. package/.next/standalone/.next/static/chunks/app/api/shared/spaces/route-17ae3509caaa1354.js +1 -0
  563. package/.next/standalone/.next/static/chunks/app/api/shared/spaces/status/route-17ae3509caaa1354.js +1 -0
  564. package/.next/standalone/.next/static/chunks/app/api/shared/spaces/unpublish/route-17ae3509caaa1354.js +1 -0
  565. package/.next/standalone/.next/static/chunks/app/api/state/route-17ae3509caaa1354.js +1 -0
  566. package/.next/standalone/.next/static/chunks/app/api/system/update/route-17ae3509caaa1354.js +1 -0
  567. package/.next/standalone/.next/static/chunks/app/api/tasks/[id]/active-run/route-17ae3509caaa1354.js +1 -0
  568. package/.next/standalone/.next/static/chunks/app/api/tasks/[id]/attachments/route-17ae3509caaa1354.js +1 -0
  569. package/.next/standalone/.next/static/chunks/app/api/tasks/[id]/checklist/[itemId]/route-17ae3509caaa1354.js +1 -0
  570. package/.next/standalone/.next/static/chunks/app/api/tasks/[id]/checklist/route-17ae3509caaa1354.js +1 -0
  571. package/.next/standalone/.next/static/chunks/app/api/tasks/[id]/checkout/route-17ae3509caaa1354.js +1 -0
  572. package/.next/standalone/.next/static/chunks/app/api/tasks/[id]/children/route-17ae3509caaa1354.js +1 -0
  573. package/.next/standalone/.next/static/chunks/app/api/tasks/[id]/comments/route-17ae3509caaa1354.js +1 -0
  574. package/.next/standalone/.next/static/chunks/app/api/tasks/[id]/events/route-17ae3509caaa1354.js +1 -0
  575. package/.next/standalone/.next/static/chunks/app/api/tasks/[id]/live-runs/route-17ae3509caaa1354.js +1 -0
  576. package/.next/standalone/.next/static/chunks/app/api/tasks/[id]/release/route-17ae3509caaa1354.js +1 -0
  577. package/.next/standalone/.next/static/chunks/app/api/tasks/[id]/route-17ae3509caaa1354.js +1 -0
  578. package/.next/standalone/.next/static/chunks/app/api/tasks/route-17ae3509caaa1354.js +1 -0
  579. package/.next/standalone/.next/static/chunks/app/api/tool-allowlists/[id]/route-17ae3509caaa1354.js +1 -0
  580. package/.next/standalone/.next/static/chunks/app/api/tool-allowlists/route-17ae3509caaa1354.js +1 -0
  581. package/.next/standalone/.next/static/chunks/app/api/tool-egress/route-17ae3509caaa1354.js +1 -0
  582. package/.next/standalone/.next/static/chunks/app/api/tools/[name]/approve/route-17ae3509caaa1354.js +1 -0
  583. package/.next/standalone/.next/static/chunks/app/api/tools/[name]/route-17ae3509caaa1354.js +1 -0
  584. package/.next/standalone/.next/static/chunks/app/api/tools/route-17ae3509caaa1354.js +1 -0
  585. package/.next/standalone/.next/static/chunks/app/api/transcripts/route-17ae3509caaa1354.js +1 -0
  586. package/.next/standalone/.next/static/chunks/app/api/voice/providers/route-17ae3509caaa1354.js +1 -0
  587. package/.next/standalone/.next/static/chunks/app/api/voice/realtime/context/route-17ae3509caaa1354.js +1 -0
  588. package/.next/standalone/.next/static/chunks/app/api/voice/realtime/session/route-17ae3509caaa1354.js +1 -0
  589. package/.next/standalone/.next/static/chunks/app/api/voice/realtime/tool-result/route-17ae3509caaa1354.js +1 -0
  590. package/.next/standalone/.next/static/chunks/app/api/voice/realtime/tools/route-17ae3509caaa1354.js +1 -0
  591. package/.next/standalone/.next/static/chunks/app/api/voice/tts/route-17ae3509caaa1354.js +1 -0
  592. package/.next/standalone/.next/static/chunks/app/api/whatsapp/allowlist/route-17ae3509caaa1354.js +1 -0
  593. package/.next/standalone/.next/static/chunks/app/api/whatsapp/disconnect/route-17ae3509caaa1354.js +1 -0
  594. package/.next/standalone/.next/static/chunks/app/api/whatsapp/messages/route-17ae3509caaa1354.js +1 -0
  595. package/.next/standalone/.next/static/chunks/app/api/whatsapp/qr/route-17ae3509caaa1354.js +1 -0
  596. package/.next/standalone/.next/static/chunks/app/api/whatsapp/send/route-17ae3509caaa1354.js +1 -0
  597. package/.next/standalone/.next/static/chunks/app/api/whatsapp/status/route-17ae3509caaa1354.js +1 -0
  598. package/.next/standalone/.next/static/chunks/app/approvals/loading-17ae3509caaa1354.js +1 -0
  599. package/.next/standalone/.next/static/chunks/app/architecture/loading-17ae3509caaa1354.js +1 -0
  600. package/.next/standalone/.next/static/chunks/app/audit/loading-17ae3509caaa1354.js +1 -0
  601. package/.next/standalone/.next/static/chunks/app/brand/loading-17ae3509caaa1354.js +1 -0
  602. package/.next/standalone/.next/static/chunks/app/disk/loading-17ae3509caaa1354.js +1 -0
  603. package/.next/standalone/.next/static/chunks/app/federated-ai/loading-17ae3509caaa1354.js +1 -0
  604. package/.next/standalone/.next/static/chunks/app/help/loading-17ae3509caaa1354.js +1 -0
  605. package/.next/standalone/.next/static/chunks/app/layout-b7e1918b9125641e.js +1 -0
  606. package/.next/standalone/.next/static/chunks/app/loading-17ae3509caaa1354.js +1 -0
  607. package/.next/standalone/.next/static/chunks/app/login/page-d2298bc1803944ae.js +1 -0
  608. package/.next/standalone/.next/static/chunks/app/marketplace/loading-17ae3509caaa1354.js +1 -0
  609. package/.next/standalone/.next/static/chunks/app/missions/loading-17ae3509caaa1354.js +1 -0
  610. package/.next/standalone/.next/static/chunks/app/onboarding/loading-17ae3509caaa1354.js +1 -0
  611. package/.next/standalone/.next/static/chunks/app/org/loading-17ae3509caaa1354.js +1 -0
  612. package/.next/standalone/.next/static/chunks/app/page-887ef6f96897f78a.js +1 -0
  613. package/.next/standalone/.next/static/chunks/app/projects/[slug]/loading-17ae3509caaa1354.js +1 -0
  614. package/.next/standalone/.next/static/chunks/app/projects/loading-17ae3509caaa1354.js +1 -0
  615. package/.next/standalone/.next/static/chunks/app/projects/page-739d4cc74824d336.js +1 -0
  616. package/.next/standalone/.next/static/chunks/app/reports/[file]/route-17ae3509caaa1354.js +1 -0
  617. package/.next/standalone/.next/static/chunks/app/reports/loading-17ae3509caaa1354.js +1 -0
  618. package/.next/standalone/.next/static/chunks/app/runtime/loading-17ae3509caaa1354.js +1 -0
  619. package/.next/standalone/.next/static/chunks/app/schedules/loading-17ae3509caaa1354.js +1 -0
  620. package/.next/standalone/.next/static/chunks/app/settings/loading-17ae3509caaa1354.js +1 -0
  621. package/.next/standalone/.next/static/chunks/app/settings/page-17ae3509caaa1354.js +1 -0
  622. package/.next/standalone/.next/static/chunks/app/tasks/[id]/loading-17ae3509caaa1354.js +1 -0
  623. package/.next/standalone/.next/static/chunks/app/tasks/loading-17ae3509caaa1354.js +1 -0
  624. package/.next/standalone/.next/static/chunks/app/tools/loading-17ae3509caaa1354.js +1 -0
  625. package/.next/standalone/.next/static/chunks/app/tools/page-17ae3509caaa1354.js +1 -0
  626. package/.next/standalone/.next/static/chunks/app/whatsapp/loading-17ae3509caaa1354.js +1 -0
  627. package/.next/standalone/.next/static/chunks/app/workflows/share/[caseId]/page-17ae3509caaa1354.js +1 -0
  628. package/.next/standalone/.next/static/chunks/webpack-f916d679fe38a701.js +1 -0
  629. package/.next/standalone/.next/static/css/2587cd46c922a6d8.css +1 -0
  630. package/.next/standalone/CHANGELOG.md +22 -0
  631. package/.next/standalone/package.json +4 -2
  632. package/.next/static/chunks/3054-451abdd7b9afc2ac.js +1 -0
  633. package/.next/static/chunks/app/activity/loading-17ae3509caaa1354.js +1 -0
  634. package/.next/static/chunks/app/agents/[id]/loading-17ae3509caaa1354.js +1 -0
  635. package/.next/static/chunks/app/agents/[id]/page-e4bcb0ace2900a11.js +1 -0
  636. package/.next/static/chunks/app/agents/loading-17ae3509caaa1354.js +1 -0
  637. package/.next/static/chunks/app/agents/page-47a00aa58327a35e.js +1 -0
  638. package/.next/static/chunks/app/api/activity/route-17ae3509caaa1354.js +1 -0
  639. package/.next/static/chunks/app/api/admin/audit-export/route-17ae3509caaa1354.js +1 -0
  640. package/.next/static/chunks/app/api/admin/share-links/route-17ae3509caaa1354.js +1 -0
  641. package/.next/static/chunks/app/api/agent-memory/route-17ae3509caaa1354.js +1 -0
  642. package/.next/static/chunks/app/api/agent-runs/[id]/cancel/route-17ae3509caaa1354.js +1 -0
  643. package/.next/static/chunks/app/api/agent-runs/[id]/events/route-17ae3509caaa1354.js +1 -0
  644. package/.next/static/chunks/app/api/agent-runs/[id]/log/route-17ae3509caaa1354.js +1 -0
  645. package/.next/static/chunks/app/api/agent-runs/[id]/route-17ae3509caaa1354.js +1 -0
  646. package/.next/static/chunks/app/api/agent-runs/route-17ae3509caaa1354.js +1 -0
  647. package/.next/static/chunks/app/api/agents/[id]/active-run/route-17ae3509caaa1354.js +1 -0
  648. package/.next/static/chunks/app/api/agents/[id]/chain/route-17ae3509caaa1354.js +1 -0
  649. package/.next/static/chunks/app/api/agents/[id]/memory/route-17ae3509caaa1354.js +1 -0
  650. package/.next/static/chunks/app/api/agents/[id]/reports/route-17ae3509caaa1354.js +1 -0
  651. package/.next/static/chunks/app/api/agents/[id]/run/route-17ae3509caaa1354.js +1 -0
  652. package/.next/static/chunks/app/api/agents/[id]/skills/route-17ae3509caaa1354.js +1 -0
  653. package/.next/static/chunks/app/api/agents/create/route-17ae3509caaa1354.js +1 -0
  654. package/.next/static/chunks/app/api/agents/ops/route-17ae3509caaa1354.js +1 -0
  655. package/.next/static/chunks/app/api/approvals/[id]/route-17ae3509caaa1354.js +1 -0
  656. package/.next/static/chunks/app/api/approvals/route-17ae3509caaa1354.js +1 -0
  657. package/.next/static/chunks/app/api/artifacts/[id]/acl/route-17ae3509caaa1354.js +1 -0
  658. package/.next/static/chunks/app/api/artifacts/[id]/protect/route-17ae3509caaa1354.js +1 -0
  659. package/.next/static/chunks/app/api/artifacts/[id]/raw/route-17ae3509caaa1354.js +1 -0
  660. package/.next/static/chunks/app/api/artifacts/[id]/route-17ae3509caaa1354.js +1 -0
  661. package/.next/static/chunks/app/api/artifacts/[id]/share-link/[linkId]/route-17ae3509caaa1354.js +1 -0
  662. package/.next/static/chunks/app/api/artifacts/[id]/share-link/route-17ae3509caaa1354.js +1 -0
  663. package/.next/static/chunks/app/api/artifacts/upload/route-17ae3509caaa1354.js +1 -0
  664. package/.next/static/chunks/app/api/audit/list/route-17ae3509caaa1354.js +1 -0
  665. package/.next/static/chunks/app/api/audit/search/route-17ae3509caaa1354.js +1 -0
  666. package/.next/static/chunks/app/api/auth/callback/route-17ae3509caaa1354.js +1 -0
  667. package/.next/static/chunks/app/api/auth/config/route-17ae3509caaa1354.js +1 -0
  668. package/.next/static/chunks/app/api/auth/join-bootstrap/route-17ae3509caaa1354.js +1 -0
  669. package/.next/static/chunks/app/api/auth/session/route-17ae3509caaa1354.js +1 -0
  670. package/.next/static/chunks/app/api/brand/route-17ae3509caaa1354.js +1 -0
  671. package/.next/static/chunks/app/api/brand/share/route-17ae3509caaa1354.js +1 -0
  672. package/.next/static/chunks/app/api/chat/sessions/[id]/route-17ae3509caaa1354.js +1 -0
  673. package/.next/static/chunks/app/api/chat/sessions/route-17ae3509caaa1354.js +1 -0
  674. package/.next/static/chunks/app/api/config/env/route-17ae3509caaa1354.js +1 -0
  675. package/.next/static/chunks/app/api/config/route-17ae3509caaa1354.js +1 -0
  676. package/.next/static/chunks/app/api/connections/[service]/route-17ae3509caaa1354.js +1 -0
  677. package/.next/static/chunks/app/api/connections/[service]/verify/route-17ae3509caaa1354.js +1 -0
  678. package/.next/static/chunks/app/api/connections/route-17ae3509caaa1354.js +1 -0
  679. package/.next/static/chunks/app/api/cron/tick/route-17ae3509caaa1354.js +1 -0
  680. package/.next/static/chunks/app/api/dashboard/spaces/[id]/move/route-17ae3509caaa1354.js +1 -0
  681. package/.next/static/chunks/app/api/dashboard/spaces/[id]/route-17ae3509caaa1354.js +1 -0
  682. package/.next/static/chunks/app/api/dashboard/spaces/[id]/share-link/[linkId]/route-17ae3509caaa1354.js +1 -0
  683. package/.next/static/chunks/app/api/dashboard/spaces/[id]/share-link/route-17ae3509caaa1354.js +1 -0
  684. package/.next/static/chunks/app/api/dashboard/spaces/import/route-17ae3509caaa1354.js +1 -0
  685. package/.next/static/chunks/app/api/dashboard/spaces/route-17ae3509caaa1354.js +1 -0
  686. package/.next/static/chunks/app/api/disk/files/[id]/blob/route-17ae3509caaa1354.js +1 -0
  687. package/.next/static/chunks/app/api/disk/files/[id]/route-17ae3509caaa1354.js +1 -0
  688. package/.next/static/chunks/app/api/disk/files/[id]/transcribe/route-17ae3509caaa1354.js +1 -0
  689. package/.next/static/chunks/app/api/disk/files/route-17ae3509caaa1354.js +1 -0
  690. package/.next/static/chunks/app/api/disk/folders/route-17ae3509caaa1354.js +1 -0
  691. package/.next/static/chunks/app/api/events/since/[cursor]/route-17ae3509caaa1354.js +1 -0
  692. package/.next/static/chunks/app/api/events/stream/route-17ae3509caaa1354.js +1 -0
  693. package/.next/static/chunks/app/api/fs/create-folder/route-17ae3509caaa1354.js +1 -0
  694. package/.next/static/chunks/app/api/fs/pick-folder/route-17ae3509caaa1354.js +1 -0
  695. package/.next/static/chunks/app/api/hail/engagements/[id]/blueprint/route-17ae3509caaa1354.js +1 -0
  696. package/.next/static/chunks/app/api/hail/engagements/[id]/diagnostic/route-17ae3509caaa1354.js +1 -0
  697. package/.next/static/chunks/app/api/hail/engagements/[id]/governance/route-17ae3509caaa1354.js +1 -0
  698. package/.next/static/chunks/app/api/hail/engagements/[id]/interview/route-17ae3509caaa1354.js +1 -0
  699. package/.next/static/chunks/app/api/hail/engagements/[id]/pilot/route-17ae3509caaa1354.js +1 -0
  700. package/.next/static/chunks/app/api/hail/engagements/[id]/quarterly/route-17ae3509caaa1354.js +1 -0
  701. package/.next/static/chunks/app/api/hail/engagements/[id]/route-17ae3509caaa1354.js +1 -0
  702. package/.next/static/chunks/app/api/hail/engagements/[id]/setup-package/route-17ae3509caaa1354.js +1 -0
  703. package/.next/static/chunks/app/api/hail/engagements/route-17ae3509caaa1354.js +1 -0
  704. package/.next/static/chunks/app/api/hail/interviews/[id]/responses/route-17ae3509caaa1354.js +1 -0
  705. package/.next/static/chunks/app/api/hail/interviews/[id]/route-17ae3509caaa1354.js +1 -0
  706. package/.next/static/chunks/app/api/hail/setup-packages/[id]/apply/route-17ae3509caaa1354.js +1 -0
  707. package/.next/static/chunks/app/api/hail/setup-packages/validate/route-17ae3509caaa1354.js +1 -0
  708. package/.next/static/chunks/app/api/heartbeat/tick/route-17ae3509caaa1354.js +1 -0
  709. package/.next/static/chunks/app/api/heartbeat/worker/route-17ae3509caaa1354.js +1 -0
  710. package/.next/static/chunks/app/api/help/route-17ae3509caaa1354.js +1 -0
  711. package/.next/static/chunks/app/api/hermes/jobs/[id]/events/route-17ae3509caaa1354.js +1 -0
  712. package/.next/static/chunks/app/api/hermes/jobs/[id]/route-17ae3509caaa1354.js +1 -0
  713. package/.next/static/chunks/app/api/hermes/jobs/route-17ae3509caaa1354.js +1 -0
  714. package/.next/static/chunks/app/api/integrations/google/callback/route-17ae3509caaa1354.js +1 -0
  715. package/.next/static/chunks/app/api/integrations/google/oauth/route-17ae3509caaa1354.js +1 -0
  716. package/.next/static/chunks/app/api/marketplace/[id]/route-17ae3509caaa1354.js +1 -0
  717. package/.next/static/chunks/app/api/marketplace/open-design/route-17ae3509caaa1354.js +1 -0
  718. package/.next/static/chunks/app/api/marketplace/route-17ae3509caaa1354.js +1 -0
  719. package/.next/static/chunks/app/api/mines/import-roots/route-17ae3509caaa1354.js +1 -0
  720. package/.next/static/chunks/app/api/mines/portfolio/route-17ae3509caaa1354.js +1 -0
  721. package/.next/static/chunks/app/api/mines/projects/[id]/chunks/route-17ae3509caaa1354.js +1 -0
  722. package/.next/static/chunks/app/api/mines/projects/[id]/diligence/route-17ae3509caaa1354.js +1 -0
  723. package/.next/static/chunks/app/api/mines/projects/[id]/import/route-17ae3509caaa1354.js +1 -0
  724. package/.next/static/chunks/app/api/mines/projects/[id]/publish/route-17ae3509caaa1354.js +1 -0
  725. package/.next/static/chunks/app/api/mines/projects/route-17ae3509caaa1354.js +1 -0
  726. package/.next/static/chunks/app/api/missions/route-17ae3509caaa1354.js +1 -0
  727. package/.next/static/chunks/app/api/models/route-17ae3509caaa1354.js +1 -0
  728. package/.next/static/chunks/app/api/onboarding/blueprint/route-17ae3509caaa1354.js +1 -0
  729. package/.next/static/chunks/app/api/onboarding/launch/route-17ae3509caaa1354.js +1 -0
  730. package/.next/static/chunks/app/api/orchestrator/command/route-17ae3509caaa1354.js +1 -0
  731. package/.next/static/chunks/app/api/orchestrator/stream/route-17ae3509caaa1354.js +1 -0
  732. package/.next/static/chunks/app/api/orchestrator/upload/route-17ae3509caaa1354.js +1 -0
  733. package/.next/static/chunks/app/api/org/route-17ae3509caaa1354.js +1 -0
  734. package/.next/static/chunks/app/api/orgs/[id]/invites/[inviteId]/route-17ae3509caaa1354.js +1 -0
  735. package/.next/static/chunks/app/api/orgs/[id]/invites/route-17ae3509caaa1354.js +1 -0
  736. package/.next/static/chunks/app/api/orgs/[id]/members/[userId]/role/route-17ae3509caaa1354.js +1 -0
  737. package/.next/static/chunks/app/api/orgs/[id]/members/[userId]/route-17ae3509caaa1354.js +1 -0
  738. package/.next/static/chunks/app/api/orgs/[id]/members/route-17ae3509caaa1354.js +1 -0
  739. package/.next/static/chunks/app/api/orgs/[id]/route-17ae3509caaa1354.js +1 -0
  740. package/.next/static/chunks/app/api/orgs/invites/pending/route-17ae3509caaa1354.js +1 -0
  741. package/.next/static/chunks/app/api/orgs/join/route-17ae3509caaa1354.js +1 -0
  742. package/.next/static/chunks/app/api/orgs/join-complete/route-17ae3509caaa1354.js +1 -0
  743. package/.next/static/chunks/app/api/orgs/route-17ae3509caaa1354.js +1 -0
  744. package/.next/static/chunks/app/api/printing-press/clis/route-17ae3509caaa1354.js +1 -0
  745. package/.next/static/chunks/app/api/printing-press/install/route-17ae3509caaa1354.js +1 -0
  746. package/.next/static/chunks/app/api/printing-press/security-mode/route-17ae3509caaa1354.js +1 -0
  747. package/.next/static/chunks/app/api/privacy/config/route-17ae3509caaa1354.js +1 -0
  748. package/.next/static/chunks/app/api/privacy/verify/route-17ae3509caaa1354.js +1 -0
  749. package/.next/static/chunks/app/api/processes/[id]/route-17ae3509caaa1354.js +1 -0
  750. package/.next/static/chunks/app/api/processes/[id]/share-link/route-17ae3509caaa1354.js +1 -0
  751. package/.next/static/chunks/app/api/processes/[id]/stages/[stageId]/override/route-17ae3509caaa1354.js +1 -0
  752. package/.next/static/chunks/app/api/processes/[id]/stages/[stageId]/retry/route-17ae3509caaa1354.js +1 -0
  753. package/.next/static/chunks/app/api/processes/[id]/stages/[stageId]/submit/route-17ae3509caaa1354.js +1 -0
  754. package/.next/static/chunks/app/api/processes/definitions/[slug]/route-17ae3509caaa1354.js +1 -0
  755. package/.next/static/chunks/app/api/processes/definitions/[slug]/settings/route-17ae3509caaa1354.js +1 -0
  756. package/.next/static/chunks/app/api/processes/definitions/route-17ae3509caaa1354.js +1 -0
  757. package/.next/static/chunks/app/api/processes/definitions/validate/route-17ae3509caaa1354.js +1 -0
  758. package/.next/static/chunks/app/api/processes/route-17ae3509caaa1354.js +1 -0
  759. package/.next/static/chunks/app/api/processes/start-and-route/route-17ae3509caaa1354.js +1 -0
  760. package/.next/static/chunks/app/api/projects/[slug]/library/route-17ae3509caaa1354.js +1 -0
  761. package/.next/static/chunks/app/api/projects/[slug]/route-17ae3509caaa1354.js +1 -0
  762. package/.next/static/chunks/app/api/projects/route-17ae3509caaa1354.js +1 -0
  763. package/.next/static/chunks/app/api/runs/approve-claude-run/route-17ae3509caaa1354.js +1 -0
  764. package/.next/static/chunks/app/api/runs/claude-code-dry-run/route-17ae3509caaa1354.js +1 -0
  765. package/.next/static/chunks/app/api/runs/competitor-report/route-17ae3509caaa1354.js +1 -0
  766. package/.next/static/chunks/app/api/runs/engine-ping/route-17ae3509caaa1354.js +1 -0
  767. package/.next/static/chunks/app/api/runs/marketing-plan/route-17ae3509caaa1354.js +1 -0
  768. package/.next/static/chunks/app/api/schedules/upsert/route-17ae3509caaa1354.js +1 -0
  769. package/.next/static/chunks/app/api/secrets/[name]/route-17ae3509caaa1354.js +1 -0
  770. package/.next/static/chunks/app/api/secrets/route-17ae3509caaa1354.js +1 -0
  771. package/.next/static/chunks/app/api/settings/trust-mode/route-17ae3509caaa1354.js +1 -0
  772. package/.next/static/chunks/app/api/share/[token]/otp/route-17ae3509caaa1354.js +1 -0
  773. package/.next/static/chunks/app/api/share/[token]/route-17ae3509caaa1354.js +1 -0
  774. package/.next/static/chunks/app/api/share/[token]/verify/route-17ae3509caaa1354.js +1 -0
  775. package/.next/static/chunks/app/api/share/space/[token]/otp/route-17ae3509caaa1354.js +1 -0
  776. package/.next/static/chunks/app/api/share/space/[token]/route-17ae3509caaa1354.js +1 -0
  777. package/.next/static/chunks/app/api/share/space/[token]/verify/route-17ae3509caaa1354.js +1 -0
  778. package/.next/static/chunks/app/api/shared/spaces/[id]/acl/route-17ae3509caaa1354.js +1 -0
  779. package/.next/static/chunks/app/api/shared/spaces/publish/route-17ae3509caaa1354.js +1 -0
  780. package/.next/static/chunks/app/api/shared/spaces/route-17ae3509caaa1354.js +1 -0
  781. package/.next/static/chunks/app/api/shared/spaces/status/route-17ae3509caaa1354.js +1 -0
  782. package/.next/static/chunks/app/api/shared/spaces/unpublish/route-17ae3509caaa1354.js +1 -0
  783. package/.next/static/chunks/app/api/state/route-17ae3509caaa1354.js +1 -0
  784. package/.next/static/chunks/app/api/system/update/route-17ae3509caaa1354.js +1 -0
  785. package/.next/static/chunks/app/api/tasks/[id]/active-run/route-17ae3509caaa1354.js +1 -0
  786. package/.next/static/chunks/app/api/tasks/[id]/attachments/route-17ae3509caaa1354.js +1 -0
  787. package/.next/static/chunks/app/api/tasks/[id]/checklist/[itemId]/route-17ae3509caaa1354.js +1 -0
  788. package/.next/static/chunks/app/api/tasks/[id]/checklist/route-17ae3509caaa1354.js +1 -0
  789. package/.next/static/chunks/app/api/tasks/[id]/checkout/route-17ae3509caaa1354.js +1 -0
  790. package/.next/static/chunks/app/api/tasks/[id]/children/route-17ae3509caaa1354.js +1 -0
  791. package/.next/static/chunks/app/api/tasks/[id]/comments/route-17ae3509caaa1354.js +1 -0
  792. package/.next/static/chunks/app/api/tasks/[id]/events/route-17ae3509caaa1354.js +1 -0
  793. package/.next/static/chunks/app/api/tasks/[id]/live-runs/route-17ae3509caaa1354.js +1 -0
  794. package/.next/static/chunks/app/api/tasks/[id]/release/route-17ae3509caaa1354.js +1 -0
  795. package/.next/static/chunks/app/api/tasks/[id]/route-17ae3509caaa1354.js +1 -0
  796. package/.next/static/chunks/app/api/tasks/route-17ae3509caaa1354.js +1 -0
  797. package/.next/static/chunks/app/api/tool-allowlists/[id]/route-17ae3509caaa1354.js +1 -0
  798. package/.next/static/chunks/app/api/tool-allowlists/route-17ae3509caaa1354.js +1 -0
  799. package/.next/static/chunks/app/api/tool-egress/route-17ae3509caaa1354.js +1 -0
  800. package/.next/static/chunks/app/api/tools/[name]/approve/route-17ae3509caaa1354.js +1 -0
  801. package/.next/static/chunks/app/api/tools/[name]/route-17ae3509caaa1354.js +1 -0
  802. package/.next/static/chunks/app/api/tools/route-17ae3509caaa1354.js +1 -0
  803. package/.next/static/chunks/app/api/transcripts/route-17ae3509caaa1354.js +1 -0
  804. package/.next/static/chunks/app/api/voice/providers/route-17ae3509caaa1354.js +1 -0
  805. package/.next/static/chunks/app/api/voice/realtime/context/route-17ae3509caaa1354.js +1 -0
  806. package/.next/static/chunks/app/api/voice/realtime/session/route-17ae3509caaa1354.js +1 -0
  807. package/.next/static/chunks/app/api/voice/realtime/tool-result/route-17ae3509caaa1354.js +1 -0
  808. package/.next/static/chunks/app/api/voice/realtime/tools/route-17ae3509caaa1354.js +1 -0
  809. package/.next/static/chunks/app/api/voice/tts/route-17ae3509caaa1354.js +1 -0
  810. package/.next/static/chunks/app/api/whatsapp/allowlist/route-17ae3509caaa1354.js +1 -0
  811. package/.next/static/chunks/app/api/whatsapp/disconnect/route-17ae3509caaa1354.js +1 -0
  812. package/.next/static/chunks/app/api/whatsapp/messages/route-17ae3509caaa1354.js +1 -0
  813. package/.next/static/chunks/app/api/whatsapp/qr/route-17ae3509caaa1354.js +1 -0
  814. package/.next/static/chunks/app/api/whatsapp/send/route-17ae3509caaa1354.js +1 -0
  815. package/.next/static/chunks/app/api/whatsapp/status/route-17ae3509caaa1354.js +1 -0
  816. package/.next/static/chunks/app/approvals/loading-17ae3509caaa1354.js +1 -0
  817. package/.next/static/chunks/app/architecture/loading-17ae3509caaa1354.js +1 -0
  818. package/.next/static/chunks/app/audit/loading-17ae3509caaa1354.js +1 -0
  819. package/.next/static/chunks/app/brand/loading-17ae3509caaa1354.js +1 -0
  820. package/.next/static/chunks/app/disk/loading-17ae3509caaa1354.js +1 -0
  821. package/.next/static/chunks/app/federated-ai/loading-17ae3509caaa1354.js +1 -0
  822. package/.next/static/chunks/app/help/loading-17ae3509caaa1354.js +1 -0
  823. package/.next/static/chunks/app/layout-b7e1918b9125641e.js +1 -0
  824. package/.next/static/chunks/app/loading-17ae3509caaa1354.js +1 -0
  825. package/.next/static/chunks/app/login/page-d2298bc1803944ae.js +1 -0
  826. package/.next/static/chunks/app/marketplace/loading-17ae3509caaa1354.js +1 -0
  827. package/.next/static/chunks/app/missions/loading-17ae3509caaa1354.js +1 -0
  828. package/.next/static/chunks/app/onboarding/loading-17ae3509caaa1354.js +1 -0
  829. package/.next/static/chunks/app/org/loading-17ae3509caaa1354.js +1 -0
  830. package/.next/static/chunks/app/page-887ef6f96897f78a.js +1 -0
  831. package/.next/static/chunks/app/projects/[slug]/loading-17ae3509caaa1354.js +1 -0
  832. package/.next/static/chunks/app/projects/loading-17ae3509caaa1354.js +1 -0
  833. package/.next/static/chunks/app/projects/page-739d4cc74824d336.js +1 -0
  834. package/.next/static/chunks/app/reports/[file]/route-17ae3509caaa1354.js +1 -0
  835. package/.next/static/chunks/app/reports/loading-17ae3509caaa1354.js +1 -0
  836. package/.next/static/chunks/app/runtime/loading-17ae3509caaa1354.js +1 -0
  837. package/.next/static/chunks/app/schedules/loading-17ae3509caaa1354.js +1 -0
  838. package/.next/static/chunks/app/settings/loading-17ae3509caaa1354.js +1 -0
  839. package/.next/static/chunks/app/settings/page-17ae3509caaa1354.js +1 -0
  840. package/.next/static/chunks/app/tasks/[id]/loading-17ae3509caaa1354.js +1 -0
  841. package/.next/static/chunks/app/tasks/loading-17ae3509caaa1354.js +1 -0
  842. package/.next/static/chunks/app/tools/loading-17ae3509caaa1354.js +1 -0
  843. package/.next/static/chunks/app/tools/page-17ae3509caaa1354.js +1 -0
  844. package/.next/static/chunks/app/whatsapp/loading-17ae3509caaa1354.js +1 -0
  845. package/.next/static/chunks/app/workflows/share/[caseId]/page-17ae3509caaa1354.js +1 -0
  846. package/.next/static/chunks/webpack-f916d679fe38a701.js +1 -0
  847. package/.next/static/css/2587cd46c922a6d8.css +1 -0
  848. package/CHANGELOG.md +22 -0
  849. package/ai-docs/api-surface.md +1 -1
  850. package/ai-docs/key-constraints.md +1 -1
  851. package/app/agents/[id]/agent-activity-feed.tsx +43 -7
  852. package/app/agents/[id]/agent-detail-simple.tsx +1 -1
  853. package/app/agents/agent-run-button.jsx +13 -0
  854. package/app/api/agents/[id]/active-run/route.js +23 -0
  855. package/app/api/agents/[id]/run/route.js +27 -8
  856. package/app/components/app-chrome.jsx +2 -0
  857. package/app/components/app-topbar.jsx +100 -0
  858. package/app/components/dashboard/canvas-section.jsx +73 -53
  859. package/app/components/smart-search.jsx +11 -0
  860. package/app/globals.css +119 -9
  861. package/app/login/login-client.jsx +31 -24
  862. package/lib/active-runs.js +33 -0
  863. package/lib/agent-config.js +1 -8
  864. package/lib/agent-engines.js +7 -1
  865. package/lib/agent-runner.js +36 -0
  866. package/lib/auth.js +21 -8
  867. package/lib/heartbeat-worker.js +5 -1
  868. package/lib/tts.js +75 -5
  869. package/package.json +4 -2
  870. package/scripts/misotts-local-server.py +150 -0
  871. package/scripts/prepack-guard.mjs +79 -0
  872. package/.next/standalone/.next/server/chunks/3676.js +0 -9
  873. package/.next/standalone/.next/server/chunks/5093.js +0 -1
  874. package/.next/standalone/.next/server/chunks/5875.js +0 -1
  875. package/.next/standalone/.next/static/chunks/7597-9d44318ae8a6db9b.js +0 -1
  876. package/.next/standalone/.next/static/chunks/app/activity/loading-ac9aed5c6e27d434.js +0 -1
  877. package/.next/standalone/.next/static/chunks/app/agents/[id]/loading-ac9aed5c6e27d434.js +0 -1
  878. package/.next/standalone/.next/static/chunks/app/agents/[id]/page-474f640e84f7b4b5.js +0 -1
  879. package/.next/standalone/.next/static/chunks/app/agents/loading-ac9aed5c6e27d434.js +0 -1
  880. package/.next/standalone/.next/static/chunks/app/agents/page-b79b611acd56712b.js +0 -1
  881. package/.next/standalone/.next/static/chunks/app/api/activity/route-ac9aed5c6e27d434.js +0 -1
  882. package/.next/standalone/.next/static/chunks/app/api/admin/audit-export/route-ac9aed5c6e27d434.js +0 -1
  883. package/.next/standalone/.next/static/chunks/app/api/admin/share-links/route-ac9aed5c6e27d434.js +0 -1
  884. package/.next/standalone/.next/static/chunks/app/api/agent-memory/route-ac9aed5c6e27d434.js +0 -1
  885. package/.next/standalone/.next/static/chunks/app/api/agent-runs/[id]/cancel/route-ac9aed5c6e27d434.js +0 -1
  886. package/.next/standalone/.next/static/chunks/app/api/agent-runs/[id]/events/route-ac9aed5c6e27d434.js +0 -1
  887. package/.next/standalone/.next/static/chunks/app/api/agent-runs/[id]/log/route-ac9aed5c6e27d434.js +0 -1
  888. package/.next/standalone/.next/static/chunks/app/api/agent-runs/[id]/route-ac9aed5c6e27d434.js +0 -1
  889. package/.next/standalone/.next/static/chunks/app/api/agent-runs/route-ac9aed5c6e27d434.js +0 -1
  890. package/.next/standalone/.next/static/chunks/app/api/agents/[id]/chain/route-ac9aed5c6e27d434.js +0 -1
  891. package/.next/standalone/.next/static/chunks/app/api/agents/[id]/memory/route-ac9aed5c6e27d434.js +0 -1
  892. package/.next/standalone/.next/static/chunks/app/api/agents/[id]/reports/route-ac9aed5c6e27d434.js +0 -1
  893. package/.next/standalone/.next/static/chunks/app/api/agents/[id]/run/route-ac9aed5c6e27d434.js +0 -1
  894. package/.next/standalone/.next/static/chunks/app/api/agents/[id]/skills/route-ac9aed5c6e27d434.js +0 -1
  895. package/.next/standalone/.next/static/chunks/app/api/agents/create/route-ac9aed5c6e27d434.js +0 -1
  896. package/.next/standalone/.next/static/chunks/app/api/agents/ops/route-ac9aed5c6e27d434.js +0 -1
  897. package/.next/standalone/.next/static/chunks/app/api/approvals/[id]/route-ac9aed5c6e27d434.js +0 -1
  898. package/.next/standalone/.next/static/chunks/app/api/approvals/route-ac9aed5c6e27d434.js +0 -1
  899. package/.next/standalone/.next/static/chunks/app/api/artifacts/[id]/acl/route-ac9aed5c6e27d434.js +0 -1
  900. package/.next/standalone/.next/static/chunks/app/api/artifacts/[id]/protect/route-ac9aed5c6e27d434.js +0 -1
  901. package/.next/standalone/.next/static/chunks/app/api/artifacts/[id]/raw/route-ac9aed5c6e27d434.js +0 -1
  902. package/.next/standalone/.next/static/chunks/app/api/artifacts/[id]/route-ac9aed5c6e27d434.js +0 -1
  903. package/.next/standalone/.next/static/chunks/app/api/artifacts/[id]/share-link/[linkId]/route-ac9aed5c6e27d434.js +0 -1
  904. package/.next/standalone/.next/static/chunks/app/api/artifacts/[id]/share-link/route-ac9aed5c6e27d434.js +0 -1
  905. package/.next/standalone/.next/static/chunks/app/api/artifacts/upload/route-ac9aed5c6e27d434.js +0 -1
  906. package/.next/standalone/.next/static/chunks/app/api/audit/list/route-ac9aed5c6e27d434.js +0 -1
  907. package/.next/standalone/.next/static/chunks/app/api/audit/search/route-ac9aed5c6e27d434.js +0 -1
  908. package/.next/standalone/.next/static/chunks/app/api/auth/callback/route-ac9aed5c6e27d434.js +0 -1
  909. package/.next/standalone/.next/static/chunks/app/api/auth/config/route-ac9aed5c6e27d434.js +0 -1
  910. package/.next/standalone/.next/static/chunks/app/api/auth/join-bootstrap/route-ac9aed5c6e27d434.js +0 -1
  911. package/.next/standalone/.next/static/chunks/app/api/auth/session/route-ac9aed5c6e27d434.js +0 -1
  912. package/.next/standalone/.next/static/chunks/app/api/brand/route-ac9aed5c6e27d434.js +0 -1
  913. package/.next/standalone/.next/static/chunks/app/api/brand/share/route-ac9aed5c6e27d434.js +0 -1
  914. package/.next/standalone/.next/static/chunks/app/api/chat/sessions/[id]/route-ac9aed5c6e27d434.js +0 -1
  915. package/.next/standalone/.next/static/chunks/app/api/chat/sessions/route-ac9aed5c6e27d434.js +0 -1
  916. package/.next/standalone/.next/static/chunks/app/api/config/env/route-ac9aed5c6e27d434.js +0 -1
  917. package/.next/standalone/.next/static/chunks/app/api/config/route-ac9aed5c6e27d434.js +0 -1
  918. package/.next/standalone/.next/static/chunks/app/api/connections/[service]/route-ac9aed5c6e27d434.js +0 -1
  919. package/.next/standalone/.next/static/chunks/app/api/connections/[service]/verify/route-ac9aed5c6e27d434.js +0 -1
  920. package/.next/standalone/.next/static/chunks/app/api/connections/route-ac9aed5c6e27d434.js +0 -1
  921. package/.next/standalone/.next/static/chunks/app/api/cron/tick/route-ac9aed5c6e27d434.js +0 -1
  922. package/.next/standalone/.next/static/chunks/app/api/dashboard/spaces/[id]/move/route-ac9aed5c6e27d434.js +0 -1
  923. package/.next/standalone/.next/static/chunks/app/api/dashboard/spaces/[id]/route-ac9aed5c6e27d434.js +0 -1
  924. package/.next/standalone/.next/static/chunks/app/api/dashboard/spaces/[id]/share-link/[linkId]/route-ac9aed5c6e27d434.js +0 -1
  925. package/.next/standalone/.next/static/chunks/app/api/dashboard/spaces/[id]/share-link/route-ac9aed5c6e27d434.js +0 -1
  926. package/.next/standalone/.next/static/chunks/app/api/dashboard/spaces/import/route-ac9aed5c6e27d434.js +0 -1
  927. package/.next/standalone/.next/static/chunks/app/api/dashboard/spaces/route-ac9aed5c6e27d434.js +0 -1
  928. package/.next/standalone/.next/static/chunks/app/api/disk/files/[id]/blob/route-ac9aed5c6e27d434.js +0 -1
  929. package/.next/standalone/.next/static/chunks/app/api/disk/files/[id]/route-ac9aed5c6e27d434.js +0 -1
  930. package/.next/standalone/.next/static/chunks/app/api/disk/files/[id]/transcribe/route-ac9aed5c6e27d434.js +0 -1
  931. package/.next/standalone/.next/static/chunks/app/api/disk/files/route-ac9aed5c6e27d434.js +0 -1
  932. package/.next/standalone/.next/static/chunks/app/api/disk/folders/route-ac9aed5c6e27d434.js +0 -1
  933. package/.next/standalone/.next/static/chunks/app/api/events/since/[cursor]/route-ac9aed5c6e27d434.js +0 -1
  934. package/.next/standalone/.next/static/chunks/app/api/events/stream/route-ac9aed5c6e27d434.js +0 -1
  935. package/.next/standalone/.next/static/chunks/app/api/fs/create-folder/route-ac9aed5c6e27d434.js +0 -1
  936. package/.next/standalone/.next/static/chunks/app/api/fs/pick-folder/route-ac9aed5c6e27d434.js +0 -1
  937. package/.next/standalone/.next/static/chunks/app/api/hail/engagements/[id]/blueprint/route-ac9aed5c6e27d434.js +0 -1
  938. package/.next/standalone/.next/static/chunks/app/api/hail/engagements/[id]/diagnostic/route-ac9aed5c6e27d434.js +0 -1
  939. package/.next/standalone/.next/static/chunks/app/api/hail/engagements/[id]/governance/route-ac9aed5c6e27d434.js +0 -1
  940. package/.next/standalone/.next/static/chunks/app/api/hail/engagements/[id]/interview/route-ac9aed5c6e27d434.js +0 -1
  941. package/.next/standalone/.next/static/chunks/app/api/hail/engagements/[id]/pilot/route-ac9aed5c6e27d434.js +0 -1
  942. package/.next/standalone/.next/static/chunks/app/api/hail/engagements/[id]/quarterly/route-ac9aed5c6e27d434.js +0 -1
  943. package/.next/standalone/.next/static/chunks/app/api/hail/engagements/[id]/route-ac9aed5c6e27d434.js +0 -1
  944. package/.next/standalone/.next/static/chunks/app/api/hail/engagements/[id]/setup-package/route-ac9aed5c6e27d434.js +0 -1
  945. package/.next/standalone/.next/static/chunks/app/api/hail/engagements/route-ac9aed5c6e27d434.js +0 -1
  946. package/.next/standalone/.next/static/chunks/app/api/hail/interviews/[id]/responses/route-ac9aed5c6e27d434.js +0 -1
  947. package/.next/standalone/.next/static/chunks/app/api/hail/interviews/[id]/route-ac9aed5c6e27d434.js +0 -1
  948. package/.next/standalone/.next/static/chunks/app/api/hail/setup-packages/[id]/apply/route-ac9aed5c6e27d434.js +0 -1
  949. package/.next/standalone/.next/static/chunks/app/api/hail/setup-packages/validate/route-ac9aed5c6e27d434.js +0 -1
  950. package/.next/standalone/.next/static/chunks/app/api/heartbeat/tick/route-ac9aed5c6e27d434.js +0 -1
  951. package/.next/standalone/.next/static/chunks/app/api/heartbeat/worker/route-ac9aed5c6e27d434.js +0 -1
  952. package/.next/standalone/.next/static/chunks/app/api/help/route-ac9aed5c6e27d434.js +0 -1
  953. package/.next/standalone/.next/static/chunks/app/api/hermes/jobs/[id]/events/route-ac9aed5c6e27d434.js +0 -1
  954. package/.next/standalone/.next/static/chunks/app/api/hermes/jobs/[id]/route-ac9aed5c6e27d434.js +0 -1
  955. package/.next/standalone/.next/static/chunks/app/api/hermes/jobs/route-ac9aed5c6e27d434.js +0 -1
  956. package/.next/standalone/.next/static/chunks/app/api/integrations/google/callback/route-ac9aed5c6e27d434.js +0 -1
  957. package/.next/standalone/.next/static/chunks/app/api/integrations/google/oauth/route-ac9aed5c6e27d434.js +0 -1
  958. package/.next/standalone/.next/static/chunks/app/api/marketplace/[id]/route-ac9aed5c6e27d434.js +0 -1
  959. package/.next/standalone/.next/static/chunks/app/api/marketplace/open-design/route-ac9aed5c6e27d434.js +0 -1
  960. package/.next/standalone/.next/static/chunks/app/api/marketplace/route-ac9aed5c6e27d434.js +0 -1
  961. package/.next/standalone/.next/static/chunks/app/api/mines/import-roots/route-ac9aed5c6e27d434.js +0 -1
  962. package/.next/standalone/.next/static/chunks/app/api/mines/portfolio/route-ac9aed5c6e27d434.js +0 -1
  963. package/.next/standalone/.next/static/chunks/app/api/mines/projects/[id]/chunks/route-ac9aed5c6e27d434.js +0 -1
  964. package/.next/standalone/.next/static/chunks/app/api/mines/projects/[id]/diligence/route-ac9aed5c6e27d434.js +0 -1
  965. package/.next/standalone/.next/static/chunks/app/api/mines/projects/[id]/import/route-ac9aed5c6e27d434.js +0 -1
  966. package/.next/standalone/.next/static/chunks/app/api/mines/projects/[id]/publish/route-ac9aed5c6e27d434.js +0 -1
  967. package/.next/standalone/.next/static/chunks/app/api/mines/projects/route-ac9aed5c6e27d434.js +0 -1
  968. package/.next/standalone/.next/static/chunks/app/api/missions/route-ac9aed5c6e27d434.js +0 -1
  969. package/.next/standalone/.next/static/chunks/app/api/models/route-ac9aed5c6e27d434.js +0 -1
  970. package/.next/standalone/.next/static/chunks/app/api/onboarding/blueprint/route-ac9aed5c6e27d434.js +0 -1
  971. package/.next/standalone/.next/static/chunks/app/api/onboarding/launch/route-ac9aed5c6e27d434.js +0 -1
  972. package/.next/standalone/.next/static/chunks/app/api/orchestrator/command/route-ac9aed5c6e27d434.js +0 -1
  973. package/.next/standalone/.next/static/chunks/app/api/orchestrator/stream/route-ac9aed5c6e27d434.js +0 -1
  974. package/.next/standalone/.next/static/chunks/app/api/orchestrator/upload/route-ac9aed5c6e27d434.js +0 -1
  975. package/.next/standalone/.next/static/chunks/app/api/org/route-ac9aed5c6e27d434.js +0 -1
  976. package/.next/standalone/.next/static/chunks/app/api/orgs/[id]/invites/[inviteId]/route-ac9aed5c6e27d434.js +0 -1
  977. package/.next/standalone/.next/static/chunks/app/api/orgs/[id]/invites/route-ac9aed5c6e27d434.js +0 -1
  978. package/.next/standalone/.next/static/chunks/app/api/orgs/[id]/members/[userId]/role/route-ac9aed5c6e27d434.js +0 -1
  979. package/.next/standalone/.next/static/chunks/app/api/orgs/[id]/members/[userId]/route-ac9aed5c6e27d434.js +0 -1
  980. package/.next/standalone/.next/static/chunks/app/api/orgs/[id]/members/route-ac9aed5c6e27d434.js +0 -1
  981. package/.next/standalone/.next/static/chunks/app/api/orgs/[id]/route-ac9aed5c6e27d434.js +0 -1
  982. package/.next/standalone/.next/static/chunks/app/api/orgs/invites/pending/route-ac9aed5c6e27d434.js +0 -1
  983. package/.next/standalone/.next/static/chunks/app/api/orgs/join/route-ac9aed5c6e27d434.js +0 -1
  984. package/.next/standalone/.next/static/chunks/app/api/orgs/join-complete/route-ac9aed5c6e27d434.js +0 -1
  985. package/.next/standalone/.next/static/chunks/app/api/orgs/route-ac9aed5c6e27d434.js +0 -1
  986. package/.next/standalone/.next/static/chunks/app/api/printing-press/clis/route-ac9aed5c6e27d434.js +0 -1
  987. package/.next/standalone/.next/static/chunks/app/api/printing-press/install/route-ac9aed5c6e27d434.js +0 -1
  988. package/.next/standalone/.next/static/chunks/app/api/printing-press/security-mode/route-ac9aed5c6e27d434.js +0 -1
  989. package/.next/standalone/.next/static/chunks/app/api/privacy/config/route-ac9aed5c6e27d434.js +0 -1
  990. package/.next/standalone/.next/static/chunks/app/api/privacy/verify/route-ac9aed5c6e27d434.js +0 -1
  991. package/.next/standalone/.next/static/chunks/app/api/processes/[id]/route-ac9aed5c6e27d434.js +0 -1
  992. package/.next/standalone/.next/static/chunks/app/api/processes/[id]/share-link/route-ac9aed5c6e27d434.js +0 -1
  993. package/.next/standalone/.next/static/chunks/app/api/processes/[id]/stages/[stageId]/override/route-ac9aed5c6e27d434.js +0 -1
  994. package/.next/standalone/.next/static/chunks/app/api/processes/[id]/stages/[stageId]/retry/route-ac9aed5c6e27d434.js +0 -1
  995. package/.next/standalone/.next/static/chunks/app/api/processes/[id]/stages/[stageId]/submit/route-ac9aed5c6e27d434.js +0 -1
  996. package/.next/standalone/.next/static/chunks/app/api/processes/definitions/[slug]/route-ac9aed5c6e27d434.js +0 -1
  997. package/.next/standalone/.next/static/chunks/app/api/processes/definitions/[slug]/settings/route-ac9aed5c6e27d434.js +0 -1
  998. package/.next/standalone/.next/static/chunks/app/api/processes/definitions/route-ac9aed5c6e27d434.js +0 -1
  999. package/.next/standalone/.next/static/chunks/app/api/processes/definitions/validate/route-ac9aed5c6e27d434.js +0 -1
  1000. package/.next/standalone/.next/static/chunks/app/api/processes/route-ac9aed5c6e27d434.js +0 -1
  1001. package/.next/standalone/.next/static/chunks/app/api/processes/start-and-route/route-ac9aed5c6e27d434.js +0 -1
  1002. package/.next/standalone/.next/static/chunks/app/api/projects/[slug]/library/route-ac9aed5c6e27d434.js +0 -1
  1003. package/.next/standalone/.next/static/chunks/app/api/projects/[slug]/route-ac9aed5c6e27d434.js +0 -1
  1004. package/.next/standalone/.next/static/chunks/app/api/projects/route-ac9aed5c6e27d434.js +0 -1
  1005. package/.next/standalone/.next/static/chunks/app/api/runs/approve-claude-run/route-ac9aed5c6e27d434.js +0 -1
  1006. package/.next/standalone/.next/static/chunks/app/api/runs/claude-code-dry-run/route-ac9aed5c6e27d434.js +0 -1
  1007. package/.next/standalone/.next/static/chunks/app/api/runs/competitor-report/route-ac9aed5c6e27d434.js +0 -1
  1008. package/.next/standalone/.next/static/chunks/app/api/runs/engine-ping/route-ac9aed5c6e27d434.js +0 -1
  1009. package/.next/standalone/.next/static/chunks/app/api/runs/marketing-plan/route-ac9aed5c6e27d434.js +0 -1
  1010. package/.next/standalone/.next/static/chunks/app/api/schedules/upsert/route-ac9aed5c6e27d434.js +0 -1
  1011. package/.next/standalone/.next/static/chunks/app/api/secrets/[name]/route-ac9aed5c6e27d434.js +0 -1
  1012. package/.next/standalone/.next/static/chunks/app/api/secrets/route-ac9aed5c6e27d434.js +0 -1
  1013. package/.next/standalone/.next/static/chunks/app/api/settings/trust-mode/route-ac9aed5c6e27d434.js +0 -1
  1014. package/.next/standalone/.next/static/chunks/app/api/share/[token]/otp/route-ac9aed5c6e27d434.js +0 -1
  1015. package/.next/standalone/.next/static/chunks/app/api/share/[token]/route-ac9aed5c6e27d434.js +0 -1
  1016. package/.next/standalone/.next/static/chunks/app/api/share/[token]/verify/route-ac9aed5c6e27d434.js +0 -1
  1017. package/.next/standalone/.next/static/chunks/app/api/share/space/[token]/otp/route-ac9aed5c6e27d434.js +0 -1
  1018. package/.next/standalone/.next/static/chunks/app/api/share/space/[token]/route-ac9aed5c6e27d434.js +0 -1
  1019. package/.next/standalone/.next/static/chunks/app/api/share/space/[token]/verify/route-ac9aed5c6e27d434.js +0 -1
  1020. package/.next/standalone/.next/static/chunks/app/api/shared/spaces/[id]/acl/route-ac9aed5c6e27d434.js +0 -1
  1021. package/.next/standalone/.next/static/chunks/app/api/shared/spaces/publish/route-ac9aed5c6e27d434.js +0 -1
  1022. package/.next/standalone/.next/static/chunks/app/api/shared/spaces/route-ac9aed5c6e27d434.js +0 -1
  1023. package/.next/standalone/.next/static/chunks/app/api/shared/spaces/status/route-ac9aed5c6e27d434.js +0 -1
  1024. package/.next/standalone/.next/static/chunks/app/api/shared/spaces/unpublish/route-ac9aed5c6e27d434.js +0 -1
  1025. package/.next/standalone/.next/static/chunks/app/api/state/route-ac9aed5c6e27d434.js +0 -1
  1026. package/.next/standalone/.next/static/chunks/app/api/system/update/route-ac9aed5c6e27d434.js +0 -1
  1027. package/.next/standalone/.next/static/chunks/app/api/tasks/[id]/active-run/route-ac9aed5c6e27d434.js +0 -1
  1028. package/.next/standalone/.next/static/chunks/app/api/tasks/[id]/attachments/route-ac9aed5c6e27d434.js +0 -1
  1029. package/.next/standalone/.next/static/chunks/app/api/tasks/[id]/checklist/[itemId]/route-ac9aed5c6e27d434.js +0 -1
  1030. package/.next/standalone/.next/static/chunks/app/api/tasks/[id]/checklist/route-ac9aed5c6e27d434.js +0 -1
  1031. package/.next/standalone/.next/static/chunks/app/api/tasks/[id]/checkout/route-ac9aed5c6e27d434.js +0 -1
  1032. package/.next/standalone/.next/static/chunks/app/api/tasks/[id]/children/route-ac9aed5c6e27d434.js +0 -1
  1033. package/.next/standalone/.next/static/chunks/app/api/tasks/[id]/comments/route-ac9aed5c6e27d434.js +0 -1
  1034. package/.next/standalone/.next/static/chunks/app/api/tasks/[id]/events/route-ac9aed5c6e27d434.js +0 -1
  1035. package/.next/standalone/.next/static/chunks/app/api/tasks/[id]/live-runs/route-ac9aed5c6e27d434.js +0 -1
  1036. package/.next/standalone/.next/static/chunks/app/api/tasks/[id]/release/route-ac9aed5c6e27d434.js +0 -1
  1037. package/.next/standalone/.next/static/chunks/app/api/tasks/[id]/route-ac9aed5c6e27d434.js +0 -1
  1038. package/.next/standalone/.next/static/chunks/app/api/tasks/route-ac9aed5c6e27d434.js +0 -1
  1039. package/.next/standalone/.next/static/chunks/app/api/tool-allowlists/[id]/route-ac9aed5c6e27d434.js +0 -1
  1040. package/.next/standalone/.next/static/chunks/app/api/tool-allowlists/route-ac9aed5c6e27d434.js +0 -1
  1041. package/.next/standalone/.next/static/chunks/app/api/tool-egress/route-ac9aed5c6e27d434.js +0 -1
  1042. package/.next/standalone/.next/static/chunks/app/api/tools/[name]/approve/route-ac9aed5c6e27d434.js +0 -1
  1043. package/.next/standalone/.next/static/chunks/app/api/tools/[name]/route-ac9aed5c6e27d434.js +0 -1
  1044. package/.next/standalone/.next/static/chunks/app/api/tools/route-ac9aed5c6e27d434.js +0 -1
  1045. package/.next/standalone/.next/static/chunks/app/api/transcripts/route-ac9aed5c6e27d434.js +0 -1
  1046. package/.next/standalone/.next/static/chunks/app/api/voice/providers/route-ac9aed5c6e27d434.js +0 -1
  1047. package/.next/standalone/.next/static/chunks/app/api/voice/realtime/context/route-ac9aed5c6e27d434.js +0 -1
  1048. package/.next/standalone/.next/static/chunks/app/api/voice/realtime/session/route-ac9aed5c6e27d434.js +0 -1
  1049. package/.next/standalone/.next/static/chunks/app/api/voice/realtime/tool-result/route-ac9aed5c6e27d434.js +0 -1
  1050. package/.next/standalone/.next/static/chunks/app/api/voice/realtime/tools/route-ac9aed5c6e27d434.js +0 -1
  1051. package/.next/standalone/.next/static/chunks/app/api/voice/tts/route-ac9aed5c6e27d434.js +0 -1
  1052. package/.next/standalone/.next/static/chunks/app/api/whatsapp/allowlist/route-ac9aed5c6e27d434.js +0 -1
  1053. package/.next/standalone/.next/static/chunks/app/api/whatsapp/disconnect/route-ac9aed5c6e27d434.js +0 -1
  1054. package/.next/standalone/.next/static/chunks/app/api/whatsapp/messages/route-ac9aed5c6e27d434.js +0 -1
  1055. package/.next/standalone/.next/static/chunks/app/api/whatsapp/qr/route-ac9aed5c6e27d434.js +0 -1
  1056. package/.next/standalone/.next/static/chunks/app/api/whatsapp/send/route-ac9aed5c6e27d434.js +0 -1
  1057. package/.next/standalone/.next/static/chunks/app/api/whatsapp/status/route-ac9aed5c6e27d434.js +0 -1
  1058. package/.next/standalone/.next/static/chunks/app/approvals/loading-ac9aed5c6e27d434.js +0 -1
  1059. package/.next/standalone/.next/static/chunks/app/architecture/loading-ac9aed5c6e27d434.js +0 -1
  1060. package/.next/standalone/.next/static/chunks/app/audit/loading-ac9aed5c6e27d434.js +0 -1
  1061. package/.next/standalone/.next/static/chunks/app/brand/loading-ac9aed5c6e27d434.js +0 -1
  1062. package/.next/standalone/.next/static/chunks/app/disk/loading-ac9aed5c6e27d434.js +0 -1
  1063. package/.next/standalone/.next/static/chunks/app/federated-ai/loading-ac9aed5c6e27d434.js +0 -1
  1064. package/.next/standalone/.next/static/chunks/app/help/loading-ac9aed5c6e27d434.js +0 -1
  1065. package/.next/standalone/.next/static/chunks/app/layout-eaed78b7751b2b5b.js +0 -1
  1066. package/.next/standalone/.next/static/chunks/app/loading-ac9aed5c6e27d434.js +0 -1
  1067. package/.next/standalone/.next/static/chunks/app/login/page-f990dfc0fe6af059.js +0 -1
  1068. package/.next/standalone/.next/static/chunks/app/marketplace/loading-ac9aed5c6e27d434.js +0 -1
  1069. package/.next/standalone/.next/static/chunks/app/missions/loading-ac9aed5c6e27d434.js +0 -1
  1070. package/.next/standalone/.next/static/chunks/app/onboarding/loading-ac9aed5c6e27d434.js +0 -1
  1071. package/.next/standalone/.next/static/chunks/app/org/loading-ac9aed5c6e27d434.js +0 -1
  1072. package/.next/standalone/.next/static/chunks/app/page-a716d81055cfaa16.js +0 -1
  1073. package/.next/standalone/.next/static/chunks/app/projects/[slug]/loading-ac9aed5c6e27d434.js +0 -1
  1074. package/.next/standalone/.next/static/chunks/app/projects/loading-ac9aed5c6e27d434.js +0 -1
  1075. package/.next/standalone/.next/static/chunks/app/projects/page-054a548cf5443c3f.js +0 -1
  1076. package/.next/standalone/.next/static/chunks/app/reports/[file]/route-ac9aed5c6e27d434.js +0 -1
  1077. package/.next/standalone/.next/static/chunks/app/reports/loading-ac9aed5c6e27d434.js +0 -1
  1078. package/.next/standalone/.next/static/chunks/app/runtime/loading-ac9aed5c6e27d434.js +0 -1
  1079. package/.next/standalone/.next/static/chunks/app/schedules/loading-ac9aed5c6e27d434.js +0 -1
  1080. package/.next/standalone/.next/static/chunks/app/settings/loading-ac9aed5c6e27d434.js +0 -1
  1081. package/.next/standalone/.next/static/chunks/app/settings/page-ac9aed5c6e27d434.js +0 -1
  1082. package/.next/standalone/.next/static/chunks/app/tasks/[id]/loading-ac9aed5c6e27d434.js +0 -1
  1083. package/.next/standalone/.next/static/chunks/app/tasks/loading-ac9aed5c6e27d434.js +0 -1
  1084. package/.next/standalone/.next/static/chunks/app/tools/loading-ac9aed5c6e27d434.js +0 -1
  1085. package/.next/standalone/.next/static/chunks/app/tools/page-ac9aed5c6e27d434.js +0 -1
  1086. package/.next/standalone/.next/static/chunks/app/whatsapp/loading-ac9aed5c6e27d434.js +0 -1
  1087. package/.next/standalone/.next/static/chunks/app/workflows/share/[caseId]/page-ac9aed5c6e27d434.js +0 -1
  1088. package/.next/standalone/.next/static/chunks/webpack-e43c507177dcbe32.js +0 -1
  1089. package/.next/standalone/.next/static/css/46782d1598444516.css +0 -1
  1090. package/.next/standalone/data/.artifacts-migrated-v1 +0 -9
  1091. package/.next/standalone/data/.auth-migrated-v1 +0 -1
  1092. package/.next/standalone/data/.default-project-seeded +0 -1
  1093. package/.next/standalone/data/madarx.sqlite +0 -0
  1094. package/.next/standalone/data/madarx.sqlite-shm +0 -0
  1095. package/.next/standalone/data/madarx.sqlite-wal +0 -0
  1096. package/.next/standalone/data/uae-ai-report-2026-05-18.md +0 -103
  1097. package/.next/standalone/workspace/agents/ops-agent/skills.md +0 -35
  1098. package/.next/standalone/workspace/agents/tool-smith-agent/skills.md +0 -35
  1099. package/.next/static/chunks/7597-9d44318ae8a6db9b.js +0 -1
  1100. package/.next/static/chunks/app/activity/loading-ac9aed5c6e27d434.js +0 -1
  1101. package/.next/static/chunks/app/agents/[id]/loading-ac9aed5c6e27d434.js +0 -1
  1102. package/.next/static/chunks/app/agents/[id]/page-474f640e84f7b4b5.js +0 -1
  1103. package/.next/static/chunks/app/agents/loading-ac9aed5c6e27d434.js +0 -1
  1104. package/.next/static/chunks/app/agents/page-b79b611acd56712b.js +0 -1
  1105. package/.next/static/chunks/app/api/activity/route-ac9aed5c6e27d434.js +0 -1
  1106. package/.next/static/chunks/app/api/admin/audit-export/route-ac9aed5c6e27d434.js +0 -1
  1107. package/.next/static/chunks/app/api/admin/share-links/route-ac9aed5c6e27d434.js +0 -1
  1108. package/.next/static/chunks/app/api/agent-memory/route-ac9aed5c6e27d434.js +0 -1
  1109. package/.next/static/chunks/app/api/agent-runs/[id]/cancel/route-ac9aed5c6e27d434.js +0 -1
  1110. package/.next/static/chunks/app/api/agent-runs/[id]/events/route-ac9aed5c6e27d434.js +0 -1
  1111. package/.next/static/chunks/app/api/agent-runs/[id]/log/route-ac9aed5c6e27d434.js +0 -1
  1112. package/.next/static/chunks/app/api/agent-runs/[id]/route-ac9aed5c6e27d434.js +0 -1
  1113. package/.next/static/chunks/app/api/agent-runs/route-ac9aed5c6e27d434.js +0 -1
  1114. package/.next/static/chunks/app/api/agents/[id]/chain/route-ac9aed5c6e27d434.js +0 -1
  1115. package/.next/static/chunks/app/api/agents/[id]/memory/route-ac9aed5c6e27d434.js +0 -1
  1116. package/.next/static/chunks/app/api/agents/[id]/reports/route-ac9aed5c6e27d434.js +0 -1
  1117. package/.next/static/chunks/app/api/agents/[id]/run/route-ac9aed5c6e27d434.js +0 -1
  1118. package/.next/static/chunks/app/api/agents/[id]/skills/route-ac9aed5c6e27d434.js +0 -1
  1119. package/.next/static/chunks/app/api/agents/create/route-ac9aed5c6e27d434.js +0 -1
  1120. package/.next/static/chunks/app/api/agents/ops/route-ac9aed5c6e27d434.js +0 -1
  1121. package/.next/static/chunks/app/api/approvals/[id]/route-ac9aed5c6e27d434.js +0 -1
  1122. package/.next/static/chunks/app/api/approvals/route-ac9aed5c6e27d434.js +0 -1
  1123. package/.next/static/chunks/app/api/artifacts/[id]/acl/route-ac9aed5c6e27d434.js +0 -1
  1124. package/.next/static/chunks/app/api/artifacts/[id]/protect/route-ac9aed5c6e27d434.js +0 -1
  1125. package/.next/static/chunks/app/api/artifacts/[id]/raw/route-ac9aed5c6e27d434.js +0 -1
  1126. package/.next/static/chunks/app/api/artifacts/[id]/route-ac9aed5c6e27d434.js +0 -1
  1127. package/.next/static/chunks/app/api/artifacts/[id]/share-link/[linkId]/route-ac9aed5c6e27d434.js +0 -1
  1128. package/.next/static/chunks/app/api/artifacts/[id]/share-link/route-ac9aed5c6e27d434.js +0 -1
  1129. package/.next/static/chunks/app/api/artifacts/upload/route-ac9aed5c6e27d434.js +0 -1
  1130. package/.next/static/chunks/app/api/audit/list/route-ac9aed5c6e27d434.js +0 -1
  1131. package/.next/static/chunks/app/api/audit/search/route-ac9aed5c6e27d434.js +0 -1
  1132. package/.next/static/chunks/app/api/auth/callback/route-ac9aed5c6e27d434.js +0 -1
  1133. package/.next/static/chunks/app/api/auth/config/route-ac9aed5c6e27d434.js +0 -1
  1134. package/.next/static/chunks/app/api/auth/join-bootstrap/route-ac9aed5c6e27d434.js +0 -1
  1135. package/.next/static/chunks/app/api/auth/session/route-ac9aed5c6e27d434.js +0 -1
  1136. package/.next/static/chunks/app/api/brand/route-ac9aed5c6e27d434.js +0 -1
  1137. package/.next/static/chunks/app/api/brand/share/route-ac9aed5c6e27d434.js +0 -1
  1138. package/.next/static/chunks/app/api/chat/sessions/[id]/route-ac9aed5c6e27d434.js +0 -1
  1139. package/.next/static/chunks/app/api/chat/sessions/route-ac9aed5c6e27d434.js +0 -1
  1140. package/.next/static/chunks/app/api/config/env/route-ac9aed5c6e27d434.js +0 -1
  1141. package/.next/static/chunks/app/api/config/route-ac9aed5c6e27d434.js +0 -1
  1142. package/.next/static/chunks/app/api/connections/[service]/route-ac9aed5c6e27d434.js +0 -1
  1143. package/.next/static/chunks/app/api/connections/[service]/verify/route-ac9aed5c6e27d434.js +0 -1
  1144. package/.next/static/chunks/app/api/connections/route-ac9aed5c6e27d434.js +0 -1
  1145. package/.next/static/chunks/app/api/cron/tick/route-ac9aed5c6e27d434.js +0 -1
  1146. package/.next/static/chunks/app/api/dashboard/spaces/[id]/move/route-ac9aed5c6e27d434.js +0 -1
  1147. package/.next/static/chunks/app/api/dashboard/spaces/[id]/route-ac9aed5c6e27d434.js +0 -1
  1148. package/.next/static/chunks/app/api/dashboard/spaces/[id]/share-link/[linkId]/route-ac9aed5c6e27d434.js +0 -1
  1149. package/.next/static/chunks/app/api/dashboard/spaces/[id]/share-link/route-ac9aed5c6e27d434.js +0 -1
  1150. package/.next/static/chunks/app/api/dashboard/spaces/import/route-ac9aed5c6e27d434.js +0 -1
  1151. package/.next/static/chunks/app/api/dashboard/spaces/route-ac9aed5c6e27d434.js +0 -1
  1152. package/.next/static/chunks/app/api/disk/files/[id]/blob/route-ac9aed5c6e27d434.js +0 -1
  1153. package/.next/static/chunks/app/api/disk/files/[id]/route-ac9aed5c6e27d434.js +0 -1
  1154. package/.next/static/chunks/app/api/disk/files/[id]/transcribe/route-ac9aed5c6e27d434.js +0 -1
  1155. package/.next/static/chunks/app/api/disk/files/route-ac9aed5c6e27d434.js +0 -1
  1156. package/.next/static/chunks/app/api/disk/folders/route-ac9aed5c6e27d434.js +0 -1
  1157. package/.next/static/chunks/app/api/events/since/[cursor]/route-ac9aed5c6e27d434.js +0 -1
  1158. package/.next/static/chunks/app/api/events/stream/route-ac9aed5c6e27d434.js +0 -1
  1159. package/.next/static/chunks/app/api/fs/create-folder/route-ac9aed5c6e27d434.js +0 -1
  1160. package/.next/static/chunks/app/api/fs/pick-folder/route-ac9aed5c6e27d434.js +0 -1
  1161. package/.next/static/chunks/app/api/hail/engagements/[id]/blueprint/route-ac9aed5c6e27d434.js +0 -1
  1162. package/.next/static/chunks/app/api/hail/engagements/[id]/diagnostic/route-ac9aed5c6e27d434.js +0 -1
  1163. package/.next/static/chunks/app/api/hail/engagements/[id]/governance/route-ac9aed5c6e27d434.js +0 -1
  1164. package/.next/static/chunks/app/api/hail/engagements/[id]/interview/route-ac9aed5c6e27d434.js +0 -1
  1165. package/.next/static/chunks/app/api/hail/engagements/[id]/pilot/route-ac9aed5c6e27d434.js +0 -1
  1166. package/.next/static/chunks/app/api/hail/engagements/[id]/quarterly/route-ac9aed5c6e27d434.js +0 -1
  1167. package/.next/static/chunks/app/api/hail/engagements/[id]/route-ac9aed5c6e27d434.js +0 -1
  1168. package/.next/static/chunks/app/api/hail/engagements/[id]/setup-package/route-ac9aed5c6e27d434.js +0 -1
  1169. package/.next/static/chunks/app/api/hail/engagements/route-ac9aed5c6e27d434.js +0 -1
  1170. package/.next/static/chunks/app/api/hail/interviews/[id]/responses/route-ac9aed5c6e27d434.js +0 -1
  1171. package/.next/static/chunks/app/api/hail/interviews/[id]/route-ac9aed5c6e27d434.js +0 -1
  1172. package/.next/static/chunks/app/api/hail/setup-packages/[id]/apply/route-ac9aed5c6e27d434.js +0 -1
  1173. package/.next/static/chunks/app/api/hail/setup-packages/validate/route-ac9aed5c6e27d434.js +0 -1
  1174. package/.next/static/chunks/app/api/heartbeat/tick/route-ac9aed5c6e27d434.js +0 -1
  1175. package/.next/static/chunks/app/api/heartbeat/worker/route-ac9aed5c6e27d434.js +0 -1
  1176. package/.next/static/chunks/app/api/help/route-ac9aed5c6e27d434.js +0 -1
  1177. package/.next/static/chunks/app/api/hermes/jobs/[id]/events/route-ac9aed5c6e27d434.js +0 -1
  1178. package/.next/static/chunks/app/api/hermes/jobs/[id]/route-ac9aed5c6e27d434.js +0 -1
  1179. package/.next/static/chunks/app/api/hermes/jobs/route-ac9aed5c6e27d434.js +0 -1
  1180. package/.next/static/chunks/app/api/integrations/google/callback/route-ac9aed5c6e27d434.js +0 -1
  1181. package/.next/static/chunks/app/api/integrations/google/oauth/route-ac9aed5c6e27d434.js +0 -1
  1182. package/.next/static/chunks/app/api/marketplace/[id]/route-ac9aed5c6e27d434.js +0 -1
  1183. package/.next/static/chunks/app/api/marketplace/open-design/route-ac9aed5c6e27d434.js +0 -1
  1184. package/.next/static/chunks/app/api/marketplace/route-ac9aed5c6e27d434.js +0 -1
  1185. package/.next/static/chunks/app/api/mines/import-roots/route-ac9aed5c6e27d434.js +0 -1
  1186. package/.next/static/chunks/app/api/mines/portfolio/route-ac9aed5c6e27d434.js +0 -1
  1187. package/.next/static/chunks/app/api/mines/projects/[id]/chunks/route-ac9aed5c6e27d434.js +0 -1
  1188. package/.next/static/chunks/app/api/mines/projects/[id]/diligence/route-ac9aed5c6e27d434.js +0 -1
  1189. package/.next/static/chunks/app/api/mines/projects/[id]/import/route-ac9aed5c6e27d434.js +0 -1
  1190. package/.next/static/chunks/app/api/mines/projects/[id]/publish/route-ac9aed5c6e27d434.js +0 -1
  1191. package/.next/static/chunks/app/api/mines/projects/route-ac9aed5c6e27d434.js +0 -1
  1192. package/.next/static/chunks/app/api/missions/route-ac9aed5c6e27d434.js +0 -1
  1193. package/.next/static/chunks/app/api/models/route-ac9aed5c6e27d434.js +0 -1
  1194. package/.next/static/chunks/app/api/onboarding/blueprint/route-ac9aed5c6e27d434.js +0 -1
  1195. package/.next/static/chunks/app/api/onboarding/launch/route-ac9aed5c6e27d434.js +0 -1
  1196. package/.next/static/chunks/app/api/orchestrator/command/route-ac9aed5c6e27d434.js +0 -1
  1197. package/.next/static/chunks/app/api/orchestrator/stream/route-ac9aed5c6e27d434.js +0 -1
  1198. package/.next/static/chunks/app/api/orchestrator/upload/route-ac9aed5c6e27d434.js +0 -1
  1199. package/.next/static/chunks/app/api/org/route-ac9aed5c6e27d434.js +0 -1
  1200. package/.next/static/chunks/app/api/orgs/[id]/invites/[inviteId]/route-ac9aed5c6e27d434.js +0 -1
  1201. package/.next/static/chunks/app/api/orgs/[id]/invites/route-ac9aed5c6e27d434.js +0 -1
  1202. package/.next/static/chunks/app/api/orgs/[id]/members/[userId]/role/route-ac9aed5c6e27d434.js +0 -1
  1203. package/.next/static/chunks/app/api/orgs/[id]/members/[userId]/route-ac9aed5c6e27d434.js +0 -1
  1204. package/.next/static/chunks/app/api/orgs/[id]/members/route-ac9aed5c6e27d434.js +0 -1
  1205. package/.next/static/chunks/app/api/orgs/[id]/route-ac9aed5c6e27d434.js +0 -1
  1206. package/.next/static/chunks/app/api/orgs/invites/pending/route-ac9aed5c6e27d434.js +0 -1
  1207. package/.next/static/chunks/app/api/orgs/join/route-ac9aed5c6e27d434.js +0 -1
  1208. package/.next/static/chunks/app/api/orgs/join-complete/route-ac9aed5c6e27d434.js +0 -1
  1209. package/.next/static/chunks/app/api/orgs/route-ac9aed5c6e27d434.js +0 -1
  1210. package/.next/static/chunks/app/api/printing-press/clis/route-ac9aed5c6e27d434.js +0 -1
  1211. package/.next/static/chunks/app/api/printing-press/install/route-ac9aed5c6e27d434.js +0 -1
  1212. package/.next/static/chunks/app/api/printing-press/security-mode/route-ac9aed5c6e27d434.js +0 -1
  1213. package/.next/static/chunks/app/api/privacy/config/route-ac9aed5c6e27d434.js +0 -1
  1214. package/.next/static/chunks/app/api/privacy/verify/route-ac9aed5c6e27d434.js +0 -1
  1215. package/.next/static/chunks/app/api/processes/[id]/route-ac9aed5c6e27d434.js +0 -1
  1216. package/.next/static/chunks/app/api/processes/[id]/share-link/route-ac9aed5c6e27d434.js +0 -1
  1217. package/.next/static/chunks/app/api/processes/[id]/stages/[stageId]/override/route-ac9aed5c6e27d434.js +0 -1
  1218. package/.next/static/chunks/app/api/processes/[id]/stages/[stageId]/retry/route-ac9aed5c6e27d434.js +0 -1
  1219. package/.next/static/chunks/app/api/processes/[id]/stages/[stageId]/submit/route-ac9aed5c6e27d434.js +0 -1
  1220. package/.next/static/chunks/app/api/processes/definitions/[slug]/route-ac9aed5c6e27d434.js +0 -1
  1221. package/.next/static/chunks/app/api/processes/definitions/[slug]/settings/route-ac9aed5c6e27d434.js +0 -1
  1222. package/.next/static/chunks/app/api/processes/definitions/route-ac9aed5c6e27d434.js +0 -1
  1223. package/.next/static/chunks/app/api/processes/definitions/validate/route-ac9aed5c6e27d434.js +0 -1
  1224. package/.next/static/chunks/app/api/processes/route-ac9aed5c6e27d434.js +0 -1
  1225. package/.next/static/chunks/app/api/processes/start-and-route/route-ac9aed5c6e27d434.js +0 -1
  1226. package/.next/static/chunks/app/api/projects/[slug]/library/route-ac9aed5c6e27d434.js +0 -1
  1227. package/.next/static/chunks/app/api/projects/[slug]/route-ac9aed5c6e27d434.js +0 -1
  1228. package/.next/static/chunks/app/api/projects/route-ac9aed5c6e27d434.js +0 -1
  1229. package/.next/static/chunks/app/api/runs/approve-claude-run/route-ac9aed5c6e27d434.js +0 -1
  1230. package/.next/static/chunks/app/api/runs/claude-code-dry-run/route-ac9aed5c6e27d434.js +0 -1
  1231. package/.next/static/chunks/app/api/runs/competitor-report/route-ac9aed5c6e27d434.js +0 -1
  1232. package/.next/static/chunks/app/api/runs/engine-ping/route-ac9aed5c6e27d434.js +0 -1
  1233. package/.next/static/chunks/app/api/runs/marketing-plan/route-ac9aed5c6e27d434.js +0 -1
  1234. package/.next/static/chunks/app/api/schedules/upsert/route-ac9aed5c6e27d434.js +0 -1
  1235. package/.next/static/chunks/app/api/secrets/[name]/route-ac9aed5c6e27d434.js +0 -1
  1236. package/.next/static/chunks/app/api/secrets/route-ac9aed5c6e27d434.js +0 -1
  1237. package/.next/static/chunks/app/api/settings/trust-mode/route-ac9aed5c6e27d434.js +0 -1
  1238. package/.next/static/chunks/app/api/share/[token]/otp/route-ac9aed5c6e27d434.js +0 -1
  1239. package/.next/static/chunks/app/api/share/[token]/route-ac9aed5c6e27d434.js +0 -1
  1240. package/.next/static/chunks/app/api/share/[token]/verify/route-ac9aed5c6e27d434.js +0 -1
  1241. package/.next/static/chunks/app/api/share/space/[token]/otp/route-ac9aed5c6e27d434.js +0 -1
  1242. package/.next/static/chunks/app/api/share/space/[token]/route-ac9aed5c6e27d434.js +0 -1
  1243. package/.next/static/chunks/app/api/share/space/[token]/verify/route-ac9aed5c6e27d434.js +0 -1
  1244. package/.next/static/chunks/app/api/shared/spaces/[id]/acl/route-ac9aed5c6e27d434.js +0 -1
  1245. package/.next/static/chunks/app/api/shared/spaces/publish/route-ac9aed5c6e27d434.js +0 -1
  1246. package/.next/static/chunks/app/api/shared/spaces/route-ac9aed5c6e27d434.js +0 -1
  1247. package/.next/static/chunks/app/api/shared/spaces/status/route-ac9aed5c6e27d434.js +0 -1
  1248. package/.next/static/chunks/app/api/shared/spaces/unpublish/route-ac9aed5c6e27d434.js +0 -1
  1249. package/.next/static/chunks/app/api/state/route-ac9aed5c6e27d434.js +0 -1
  1250. package/.next/static/chunks/app/api/system/update/route-ac9aed5c6e27d434.js +0 -1
  1251. package/.next/static/chunks/app/api/tasks/[id]/active-run/route-ac9aed5c6e27d434.js +0 -1
  1252. package/.next/static/chunks/app/api/tasks/[id]/attachments/route-ac9aed5c6e27d434.js +0 -1
  1253. package/.next/static/chunks/app/api/tasks/[id]/checklist/[itemId]/route-ac9aed5c6e27d434.js +0 -1
  1254. package/.next/static/chunks/app/api/tasks/[id]/checklist/route-ac9aed5c6e27d434.js +0 -1
  1255. package/.next/static/chunks/app/api/tasks/[id]/checkout/route-ac9aed5c6e27d434.js +0 -1
  1256. package/.next/static/chunks/app/api/tasks/[id]/children/route-ac9aed5c6e27d434.js +0 -1
  1257. package/.next/static/chunks/app/api/tasks/[id]/comments/route-ac9aed5c6e27d434.js +0 -1
  1258. package/.next/static/chunks/app/api/tasks/[id]/events/route-ac9aed5c6e27d434.js +0 -1
  1259. package/.next/static/chunks/app/api/tasks/[id]/live-runs/route-ac9aed5c6e27d434.js +0 -1
  1260. package/.next/static/chunks/app/api/tasks/[id]/release/route-ac9aed5c6e27d434.js +0 -1
  1261. package/.next/static/chunks/app/api/tasks/[id]/route-ac9aed5c6e27d434.js +0 -1
  1262. package/.next/static/chunks/app/api/tasks/route-ac9aed5c6e27d434.js +0 -1
  1263. package/.next/static/chunks/app/api/tool-allowlists/[id]/route-ac9aed5c6e27d434.js +0 -1
  1264. package/.next/static/chunks/app/api/tool-allowlists/route-ac9aed5c6e27d434.js +0 -1
  1265. package/.next/static/chunks/app/api/tool-egress/route-ac9aed5c6e27d434.js +0 -1
  1266. package/.next/static/chunks/app/api/tools/[name]/approve/route-ac9aed5c6e27d434.js +0 -1
  1267. package/.next/static/chunks/app/api/tools/[name]/route-ac9aed5c6e27d434.js +0 -1
  1268. package/.next/static/chunks/app/api/tools/route-ac9aed5c6e27d434.js +0 -1
  1269. package/.next/static/chunks/app/api/transcripts/route-ac9aed5c6e27d434.js +0 -1
  1270. package/.next/static/chunks/app/api/voice/providers/route-ac9aed5c6e27d434.js +0 -1
  1271. package/.next/static/chunks/app/api/voice/realtime/context/route-ac9aed5c6e27d434.js +0 -1
  1272. package/.next/static/chunks/app/api/voice/realtime/session/route-ac9aed5c6e27d434.js +0 -1
  1273. package/.next/static/chunks/app/api/voice/realtime/tool-result/route-ac9aed5c6e27d434.js +0 -1
  1274. package/.next/static/chunks/app/api/voice/realtime/tools/route-ac9aed5c6e27d434.js +0 -1
  1275. package/.next/static/chunks/app/api/voice/tts/route-ac9aed5c6e27d434.js +0 -1
  1276. package/.next/static/chunks/app/api/whatsapp/allowlist/route-ac9aed5c6e27d434.js +0 -1
  1277. package/.next/static/chunks/app/api/whatsapp/disconnect/route-ac9aed5c6e27d434.js +0 -1
  1278. package/.next/static/chunks/app/api/whatsapp/messages/route-ac9aed5c6e27d434.js +0 -1
  1279. package/.next/static/chunks/app/api/whatsapp/qr/route-ac9aed5c6e27d434.js +0 -1
  1280. package/.next/static/chunks/app/api/whatsapp/send/route-ac9aed5c6e27d434.js +0 -1
  1281. package/.next/static/chunks/app/api/whatsapp/status/route-ac9aed5c6e27d434.js +0 -1
  1282. package/.next/static/chunks/app/approvals/loading-ac9aed5c6e27d434.js +0 -1
  1283. package/.next/static/chunks/app/architecture/loading-ac9aed5c6e27d434.js +0 -1
  1284. package/.next/static/chunks/app/audit/loading-ac9aed5c6e27d434.js +0 -1
  1285. package/.next/static/chunks/app/brand/loading-ac9aed5c6e27d434.js +0 -1
  1286. package/.next/static/chunks/app/disk/loading-ac9aed5c6e27d434.js +0 -1
  1287. package/.next/static/chunks/app/federated-ai/loading-ac9aed5c6e27d434.js +0 -1
  1288. package/.next/static/chunks/app/help/loading-ac9aed5c6e27d434.js +0 -1
  1289. package/.next/static/chunks/app/layout-eaed78b7751b2b5b.js +0 -1
  1290. package/.next/static/chunks/app/loading-ac9aed5c6e27d434.js +0 -1
  1291. package/.next/static/chunks/app/login/page-f990dfc0fe6af059.js +0 -1
  1292. package/.next/static/chunks/app/marketplace/loading-ac9aed5c6e27d434.js +0 -1
  1293. package/.next/static/chunks/app/missions/loading-ac9aed5c6e27d434.js +0 -1
  1294. package/.next/static/chunks/app/onboarding/loading-ac9aed5c6e27d434.js +0 -1
  1295. package/.next/static/chunks/app/org/loading-ac9aed5c6e27d434.js +0 -1
  1296. package/.next/static/chunks/app/page-a716d81055cfaa16.js +0 -1
  1297. package/.next/static/chunks/app/projects/[slug]/loading-ac9aed5c6e27d434.js +0 -1
  1298. package/.next/static/chunks/app/projects/loading-ac9aed5c6e27d434.js +0 -1
  1299. package/.next/static/chunks/app/projects/page-054a548cf5443c3f.js +0 -1
  1300. package/.next/static/chunks/app/reports/[file]/route-ac9aed5c6e27d434.js +0 -1
  1301. package/.next/static/chunks/app/reports/loading-ac9aed5c6e27d434.js +0 -1
  1302. package/.next/static/chunks/app/runtime/loading-ac9aed5c6e27d434.js +0 -1
  1303. package/.next/static/chunks/app/schedules/loading-ac9aed5c6e27d434.js +0 -1
  1304. package/.next/static/chunks/app/settings/loading-ac9aed5c6e27d434.js +0 -1
  1305. package/.next/static/chunks/app/settings/page-ac9aed5c6e27d434.js +0 -1
  1306. package/.next/static/chunks/app/tasks/[id]/loading-ac9aed5c6e27d434.js +0 -1
  1307. package/.next/static/chunks/app/tasks/loading-ac9aed5c6e27d434.js +0 -1
  1308. package/.next/static/chunks/app/tools/loading-ac9aed5c6e27d434.js +0 -1
  1309. package/.next/static/chunks/app/tools/page-ac9aed5c6e27d434.js +0 -1
  1310. package/.next/static/chunks/app/whatsapp/loading-ac9aed5c6e27d434.js +0 -1
  1311. package/.next/static/chunks/app/workflows/share/[caseId]/page-ac9aed5c6e27d434.js +0 -1
  1312. package/.next/static/chunks/webpack-e43c507177dcbe32.js +0 -1
  1313. package/.next/static/css/46782d1598444516.css +0 -1
  1314. /package/.next/standalone/.next/static/{FudFirvPoaz8nsaeW6PBB → ZxaTPKGC9lESQlvHfrHgp}/_buildManifest.js +0 -0
  1315. /package/.next/standalone/.next/static/{FudFirvPoaz8nsaeW6PBB → ZxaTPKGC9lESQlvHfrHgp}/_ssgManifest.js +0 -0
  1316. /package/.next/static/{FudFirvPoaz8nsaeW6PBB → ZxaTPKGC9lESQlvHfrHgp}/_buildManifest.js +0 -0
  1317. /package/.next/static/{FudFirvPoaz8nsaeW6PBB → ZxaTPKGC9lESQlvHfrHgp}/_ssgManifest.js +0 -0
@@ -8,7 +8,7 @@
8
8
  FROM mines_document_chunks
9
9
  WHERE project_id = ?
10
10
  GROUP BY document_category
11
- `).all(a),f=b.prepare("SELECT COUNT(*) AS n FROM mines_spatial_assets WHERE project_id = ?").get(a),g=new Map,i={total_files:0,queued:0,running:0,complete:0,failed:0,skipped:0};for(let a of c){let b=a.document_category;g.has(b)||g.set(b,{document_category:b,document_count:0,chunk_count:0,status_breakdown:{}});let c=g.get(b);c.document_count+=a.n,c.status_breakdown[a.extraction_status]=(c.status_breakdown[a.extraction_status]||0)+a.n,i.total_files+=a.n,i[h[a.extraction_status]||"queued"]+=a.n}for(let a of d)g.has(a.document_category)||g.set(a.document_category,{document_category:a.document_category,document_count:0,chunk_count:0,status_breakdown:{}}),g.get(a.document_category).chunk_count=a.n;let j=[...g.values()].sort((a,b)=>a.document_category.localeCompare(b.document_category)),k=j.filter(a=>a.document_count>0),l=k.filter(a=>(a.status_breakdown.complete||0)+(a.status_breakdown.embedding_failed||0)+(a.status_breakdown.done||0)>0),m=0===k.length?0:Math.round(l.length/k.length*100)/100,n=d.reduce((a,b)=>a+b.n,0);return{project_id:a,categories:j,totals:{documents:i.total_files,chunks:n},spatial_assets_count:f?.n??0,completeness_score:m,progress:i}}d()}catch(a){d(a)}})},5609:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{g:()=>h});var e=c(84104),f=c(42382),g=a([e,f]);[e,f]=g.then?(await g)():g;let i=[{id:"mines-analyst",name:"Mines Analyst",engine:"claude-code",schedule:null,role:"individual_contributor",title:"Mines Analyst",tools:["mines_project_read","mines_assumption_validate","file_read","file_search","web_search","web_fetch","mines_project_create","mines_catalog_import","file_write"],system_prompt:`You are the Mines Analyst for MadarX OS. Your role is to guide users through
11
+ `).all(a),f=b.prepare("SELECT COUNT(*) AS n FROM mines_spatial_assets WHERE project_id = ?").get(a),g=new Map,i={total_files:0,queued:0,running:0,complete:0,failed:0,skipped:0};for(let a of c){let b=a.document_category;g.has(b)||g.set(b,{document_category:b,document_count:0,chunk_count:0,status_breakdown:{}});let c=g.get(b);c.document_count+=a.n,c.status_breakdown[a.extraction_status]=(c.status_breakdown[a.extraction_status]||0)+a.n,i.total_files+=a.n,i[h[a.extraction_status]||"queued"]+=a.n}for(let a of d)g.has(a.document_category)||g.set(a.document_category,{document_category:a.document_category,document_count:0,chunk_count:0,status_breakdown:{}}),g.get(a.document_category).chunk_count=a.n;let j=[...g.values()].sort((a,b)=>a.document_category.localeCompare(b.document_category)),k=j.filter(a=>a.document_count>0),l=k.filter(a=>(a.status_breakdown.complete||0)+(a.status_breakdown.embedding_failed||0)+(a.status_breakdown.done||0)>0),m=0===k.length?0:Math.round(l.length/k.length*100)/100,n=d.reduce((a,b)=>a+b.n,0);return{project_id:a,categories:j,totals:{documents:i.total_files,chunks:n},spatial_assets_count:f?.n??0,completeness_score:m,progress:i}}d()}catch(a){d(a)}})},5543:(a,b,c)=>{"use strict";c.d(b,{default:()=>m});var d=c(21124),e=c(38301),f=c(23312),g=c(43815),h=c(85708);let i=(0,h.createServerReference)("403c25060ebe8ffd3630e52b9e29629efa7a15835b",h.callServer,void 0,h.findSourceMapURL,"createProjectAction");var j=c(54151);let k=[{value:"#c2452a",name:"Mars Red"},{value:"#a83a22",name:"Deep Red"},{value:"#7c2b19",name:"Dark Red"},{value:"#111318",name:"Charcoal"},{value:"#3f3a30",name:"Warm Black"},{value:"#68707b",name:"Slate"},{value:"#cdb78a",name:"Warm Sand"},{value:"#1f6c9f",name:"Skill Blue"}];function l(){let{pending:a}=(0,f.useFormStatus)();return(0,d.jsx)("button",{type:"submit",className:"admin-button",disabled:a,"aria-busy":a?"true":void 0,children:a?"Creating…":"Create project"})}function m({workspaceRoot:a="~/workspace/projects"}){let[b,c]=e.useState(!1),[f,h]=e.useState(""),[m,n]=e.useState("workspace"),[o,p]=e.useState(""),q=e.useRef(null),r=e.useMemo(()=>`${a.replace(/\/$/,"")}/${String(f||"").toLowerCase().trim().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").slice(0,64)||"project"}`,[a,f]);return e.useEffect(()=>{"custom"===m&&q.current?.focus()},[m]),(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("button",{type:"button",className:"admin-button agents-new-cta",onClick:()=>c(!0),children:[(0,d.jsx)("span",{"aria-hidden":!0,className:"agents-new-cta-glyph",children:"+"}),"New project"]}),(0,d.jsx)(g.A,{open:b,onClose:()=>c(!1),eyebrow:"New project",title:"Create a project",children:(0,d.jsxs)("form",{className:"agents-modal-form",action:i,children:[(0,d.jsx)("p",{className:"agents-modal-help",children:"Scope agents, documents, memory, and integrations together."}),(0,d.jsx)("section",{className:"agents-modal-section",children:(0,d.jsxs)("label",{className:"agents-modal-field wide",children:[(0,d.jsx)("span",{children:"Name"}),(0,d.jsx)("input",{name:"name",type:"text",required:!0,placeholder:"Acme Co.",autoComplete:"off",value:f,onChange:a=>h(a.target.value),autoFocus:!0})]})}),(0,d.jsxs)("section",{className:"agents-modal-section",children:[(0,d.jsxs)("div",{className:"agents-modal-section-head",children:[(0,d.jsx)("span",{children:"Folder location"}),(0,d.jsx)("small",{children:"Where this project lives on disk."})]}),(0,d.jsxs)("div",{className:"agents-modal-radio-group",children:[(0,d.jsxs)("label",{className:`agents-modal-radio ${"workspace"===m?"on":""}`,children:[(0,d.jsx)("input",{type:"radio",name:"folder_mode",value:"workspace",checked:"workspace"===m,onChange:()=>n("workspace")}),(0,d.jsxs)("span",{className:"agents-modal-radio-body",children:[(0,d.jsx)("b",{children:"madarX workspace"}),(0,d.jsx)("code",{title:r,children:function(a,b=48){if(!a||a.length<=b)return a;let c=a.slice(0,Math.floor(b/2)-1),d=a.slice(a.length-Math.floor(b/2)+2);return`${c}…${d}`}(r)})]})]}),(0,d.jsxs)("label",{className:`agents-modal-radio ${"custom"===m?"on":""}`,children:[(0,d.jsx)("input",{type:"radio",name:"folder_mode",value:"custom",checked:"custom"===m,onChange:()=>n("custom")}),(0,d.jsxs)("span",{className:"agents-modal-radio-body",children:[(0,d.jsx)("b",{children:"Custom path"}),(0,d.jsx)("small",{children:"Any absolute folder. Created if missing."})]})]})]}),"custom"===m?(0,d.jsx)(j.A,{inputRef:q,value:o,onChange:p}):(0,d.jsx)("input",{type:"hidden",name:"folder_path",value:""})]}),(0,d.jsxs)("section",{className:"agents-modal-section",children:[(0,d.jsxs)("div",{className:"agents-modal-section-head",children:[(0,d.jsx)("span",{children:"Color"}),(0,d.jsx)("small",{children:"Used for the project tile across the app."})]}),(0,d.jsxs)("fieldset",{className:"agents-modal-swatches",children:[(0,d.jsx)("legend",{className:"visually-hidden",children:"Project color"}),k.map(a=>(0,d.jsxs)("label",{className:"agents-modal-swatch",style:{"--swatch":a.value},children:[(0,d.jsx)("input",{type:"radio",name:"color",value:a.value,defaultChecked:"#c2452a"===a.value}),(0,d.jsx)("span",{className:"agents-modal-swatch-ring","aria-hidden":"true"}),(0,d.jsx)("span",{className:"visually-hidden",children:a.name})]},a.value))]})]}),(0,d.jsxs)("section",{className:"agents-modal-section",children:[(0,d.jsxs)("div",{className:"agents-modal-section-head",children:[(0,d.jsx)("span",{children:"Description"}),(0,d.jsx)("small",{children:"Used as context for agents working in this project."})]}),(0,d.jsx)("label",{className:"agents-modal-field wide",children:(0,d.jsx)("textarea",{name:"description",rows:3,placeholder:"What is this project for? Goals, audience, voice, constraints."})})]}),(0,d.jsxs)("footer",{className:"agents-modal-foot",children:[(0,d.jsx)("button",{type:"button",className:"admin-button secondary",onClick:()=>c(!1),children:"Cancel"}),(0,d.jsx)(l,{})]})]})})]})}},5609:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{g:()=>h});var e=c(84104),f=c(42382),g=a([e,f]);[e,f]=g.then?(await g)():g;let i=[{id:"mines-analyst",name:"Mines Analyst",engine:"claude-code",schedule:null,role:"individual_contributor",title:"Mines Analyst",tools:["mines_project_read","mines_assumption_validate","file_read","file_search","web_search","web_fetch","mines_project_create","mines_catalog_import","file_write"],system_prompt:`You are the Mines Analyst for MadarX OS. Your role is to guide users through
12
12
  the Mines module — answering questions, surfacing data gaps, routing to specialist
13
13
  agents, and producing executive summaries.
14
14
 
@@ -299,17 +299,17 @@ MADARX_MASTER_KEY=${b}
299
299
  INSERT INTO mines_valuation_scenarios
300
300
  (id, project_id, valuation_tier, scenario, assumptions_json, result_json, tier_rationale, sensitivity_json, confidence, created_by_agent_id, artifact_id, created_at)
301
301
  VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, NULL, ?, ?)
302
- `).run(j,a,b.tier,c,JSON.stringify(d),JSON.stringify(f),b.reason,g?JSON.stringify(g):null,i,h,(0,e.kF)()),j})({projectId:b,tier:d,scenario:a.scenario,assumptions:a.assumptions,result:a.result,sensitivity:"base"===a.scenario?v:null,artifactId:y,confidence:"modelled"===d.confidence?.8:"moderate"===d.confidence?.6:.35}));return{status:"ok",project_id:b,tier:d.tier,tier_selection:d,t2_blocked:d.t2_blocked,t2_blocking_reason:d.t2_blocking_reason,scenario_ids:z,artifact_id:y,scenarios:k,sensitivity:v}}async function v(a={}){let b=a.scenario_id;if(!b)return{status:"error",error:"scenario_id_required"};let c=(0,e.Lf)(),d=c.prepare("SELECT * FROM mines_valuation_scenarios WHERE id = ?").get(b);if(!d)return{status:"error",error:"not_found"};if("t1_in_situ"!==d.valuation_tier)return{status:"error",error:"sensitivity_not_implemented_for_t2"};let f=l(d.assumptions_json,{}),g=(0,i.H)(f,{grade_std_au_gpt:a.grade_std_au_gpt??.1,grade_std_cu_pct:a.grade_std_cu_pct??.05});return c.prepare("UPDATE mines_valuation_scenarios SET sensitivity_json = ? WHERE id = ?").run(JSON.stringify(g),b),{status:"ok",scenario_id:b,sensitivity:g}}[e,f,j]=k.then?(await k)():k,d()}catch(a){d(a)}})},9907:(a,b,c)=>{"use strict";var d=c(28354),e=c(10407),f={stream:!0},g=Object.prototype.hasOwnProperty,h=new Map;function i(a){var b=globalThis.__next_require__(a);return"function"!=typeof b.then||"fulfilled"===b.status?null:(b.then(function(a){b.status="fulfilled",b.value=a},function(a){b.status="rejected",b.reason=a}),b)}function j(){}function k(a){for(var b=a[1],d=[],e=0;e<b.length;){var f=b[e++];b[e++];var g=h.get(f);if(void 0===g){g=c.e(f),d.push(g);var k=h.set.bind(h,f,null);g.then(k,j),h.set(f,g)}else null!==g&&d.push(g)}return 4===a.length?0===d.length?i(a[0]):Promise.all(d).then(function(){return i(a[0])}):0<d.length?Promise.all(d):null}function l(a){var b=globalThis.__next_require__(a[0]);if(4===a.length&&"function"==typeof b.then)if("fulfilled"===b.status)b=b.value;else throw b.reason;return"*"===a[2]?b:""===a[2]?b.__esModule?b.default:b:g.call(b,a[2])?b[a[2]]:void 0}var m=e.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,n=Symbol.for("react.transitional.element"),o=Symbol.for("react.lazy"),p=Symbol.iterator,q=Symbol.asyncIterator,r=Array.isArray,s=Object.getPrototypeOf,t=Object.prototype,u=new WeakMap;function v(a,b,c,d,e){function f(a,c){c=new Blob([new Uint8Array(c.buffer,c.byteOffset,c.byteLength)]);var d=i++;return null===k&&(k=new FormData),k.append(b+d,c),"$"+a+d.toString(16)}function g(a,v){if(null===v)return null;if("object"==typeof v){switch(v.$$typeof){case n:if(void 0!==c&&-1===a.indexOf(":")){var w,x,y,z,A,B=l.get(this);if(void 0!==B)return c.set(B+":"+a,v),"$T"}throw Error("React Element cannot be passed to Server Functions from the Client without a temporary reference set. Pass a TemporaryReferenceSet to the options.");case o:B=v._payload;var C=v._init;null===k&&(k=new FormData),j++;try{var D=C(B),E=i++,F=h(D,E);return k.append(b+E,F),"$"+E.toString(16)}catch(a){if("object"==typeof a&&null!==a&&"function"==typeof a.then){j++;var G=i++;return B=function(){try{var a=h(v,G),c=k;c.append(b+G,a),j--,0===j&&d(c)}catch(a){e(a)}},a.then(B,B),"$"+G.toString(16)}return e(a),null}finally{j--}}if(B=l.get(v),"function"==typeof v.then){if(void 0!==B)if(m!==v)return B;else m=null;null===k&&(k=new FormData),j++;var H=i++;return a="$@"+H.toString(16),l.set(v,a),v.then(function(a){try{var c=l.get(a),f=void 0!==c?JSON.stringify(c):h(a,H);(a=k).append(b+H,f),j--,0===j&&d(a)}catch(a){e(a)}},e),a}if(void 0!==B)if(m!==v)return B;else m=null;else -1===a.indexOf(":")&&void 0!==(B=l.get(this))&&(a=B+":"+a,l.set(v,a),void 0!==c&&c.set(a,v));if(r(v))return v;if(v instanceof FormData){null===k&&(k=new FormData);var I=k,J=b+"_"+(a=i++)+"_";return v.forEach(function(a,b){I.append(J+b,a)}),"$K"+a.toString(16)}if(v instanceof Map)return a=i++,B=h(Array.from(v),a),null===k&&(k=new FormData),k.append(b+a,B),"$Q"+a.toString(16);if(v instanceof Set)return a=i++,B=h(Array.from(v),a),null===k&&(k=new FormData),k.append(b+a,B),"$W"+a.toString(16);if(v instanceof ArrayBuffer)return a=new Blob([v]),B=i++,null===k&&(k=new FormData),k.append(b+B,a),"$A"+B.toString(16);if(v instanceof Int8Array)return f("O",v);if(v instanceof Uint8Array)return f("o",v);if(v instanceof Uint8ClampedArray)return f("U",v);if(v instanceof Int16Array)return f("S",v);if(v instanceof Uint16Array)return f("s",v);if(v instanceof Int32Array)return f("L",v);if(v instanceof Uint32Array)return f("l",v);if(v instanceof Float32Array)return f("G",v);if(v instanceof Float64Array)return f("g",v);if(v instanceof BigInt64Array)return f("M",v);if(v instanceof BigUint64Array)return f("m",v);if(v instanceof DataView)return f("V",v);if("function"==typeof Blob&&v instanceof Blob)return null===k&&(k=new FormData),a=i++,k.append(b+a,v),"$B"+a.toString(16);if(a=null===(w=v)||"object"!=typeof w?null:"function"==typeof(w=p&&w[p]||w["@@iterator"])?w:null)return(B=a.call(v))===v?(a=i++,B=h(Array.from(B),a),null===k&&(k=new FormData),k.append(b+a,B),"$i"+a.toString(16)):Array.from(B);if("function"==typeof ReadableStream&&v instanceof ReadableStream)return function(a){try{var c,f,h,l,m,n,o,p=a.getReader({mode:"byob"})}catch(l){return c=a.getReader(),null===k&&(k=new FormData),f=k,j++,h=i++,c.read().then(function a(i){if(i.done)f.append(b+h,"C"),0==--j&&d(f);else try{var k=JSON.stringify(i.value,g);f.append(b+h,k),c.read().then(a,e)}catch(a){e(a)}},e),"$R"+h.toString(16)}return l=p,null===k&&(k=new FormData),m=k,j++,n=i++,o=[],l.read(new Uint8Array(1024)).then(function a(c){c.done?(c=i++,m.append(b+c,new Blob(o)),m.append(b+n,'"$o'+c.toString(16)+'"'),m.append(b+n,"C"),0==--j&&d(m)):(o.push(c.value),l.read(new Uint8Array(1024)).then(a,e))},e),"$r"+n.toString(16)}(v);if("function"==typeof(a=v[q]))return x=v,y=a.call(v),null===k&&(k=new FormData),z=k,j++,A=i++,x=x===y,y.next().then(function a(c){if(c.done){if(void 0===c.value)z.append(b+A,"C");else try{var f=JSON.stringify(c.value,g);z.append(b+A,"C"+f)}catch(a){e(a);return}0==--j&&d(z)}else try{var h=JSON.stringify(c.value,g);z.append(b+A,h),y.next().then(a,e)}catch(a){e(a)}},e),"$"+(x?"x":"X")+A.toString(16);if((a=s(v))!==t&&(null===a||null!==s(a))){if(void 0===c)throw Error("Only plain objects, and a few built-ins, can be passed to Server Functions. Classes or null prototypes are not supported.");return"$T"}return v}if("string"==typeof v)return"Z"===v[v.length-1]&&this[a]instanceof Date?"$D"+v:a="$"===v[0]?"$"+v:v;if("boolean"==typeof v)return v;if("number"==typeof v)return Number.isFinite(v)?0===v&&-1/0==1/v?"$-0":v:1/0===v?"$Infinity":-1/0===v?"$-Infinity":"$NaN";if(void 0===v)return"$undefined";if("function"==typeof v){if(void 0!==(B=u.get(v)))return void 0!==(a=l.get(v))||(a=JSON.stringify({id:B.id,bound:B.bound},g),null===k&&(k=new FormData),B=i++,k.set(b+B,a),a="$h"+B.toString(16),l.set(v,a)),a;if(void 0!==c&&-1===a.indexOf(":")&&void 0!==(B=l.get(this)))return c.set(B+":"+a,v),"$T";throw Error("Client Functions cannot be passed directly to Server Functions. Only Functions passed from the Server can be passed back again.")}if("symbol"==typeof v){if(void 0!==c&&-1===a.indexOf(":")&&void 0!==(B=l.get(this)))return c.set(B+":"+a,v),"$T";throw Error("Symbols cannot be passed to a Server Function without a temporary reference set. Pass a TemporaryReferenceSet to the options.")}if("bigint"==typeof v)return"$n"+v.toString(10);throw Error("Type "+typeof v+" is not supported as an argument to a Server Function.")}function h(a,b){return"object"==typeof a&&null!==a&&(b="$"+b.toString(16),l.set(a,b),void 0!==c&&c.set(b,a)),m=a,JSON.stringify(a,g)}var i=1,j=0,k=null,l=new WeakMap,m=a,v=h(a,0);return null===k?d(v):(k.set(b+"0",v),0===j&&d(k)),function(){0<j&&(j=0,null===k?d(v):d(k))}}var w=new WeakMap;function x(a){var b=u.get(this);if(!b)throw Error("Tried to encode a Server Action from a different instance than the encoder is from. This is a bug in React.");var c=null;if(null!==b.bound){if((c=w.get(b))||(d={id:b.id,bound:b.bound},g=new Promise(function(a,b){e=a,f=b}),v(d,"",void 0,function(a){if("string"==typeof a){var b=new FormData;b.append("0",a),a=b}g.status="fulfilled",g.value=a,e(a)},function(a){g.status="rejected",g.reason=a,f(a)}),c=g,w.set(b,c)),"rejected"===c.status)throw c.reason;if("fulfilled"!==c.status)throw c;b=c.value;var d,e,f,g,h=new FormData;b.forEach(function(b,c){h.append("$ACTION_"+a+":"+c,b)}),c=h,b="$ACTION_REF_"+a}else b="$ACTION_ID_"+b.id;return{name:b,method:"POST",encType:"multipart/form-data",data:c}}function y(a,b){var c=u.get(this);if(!c)throw Error("Tried to encode a Server Action from a different instance than the encoder is from. This is a bug in React.");if(c.id!==a)return!1;var d=c.bound;if(null===d)return 0===b;switch(d.status){case"fulfilled":return d.value.length===b;case"pending":throw d;case"rejected":throw d.reason;default:throw"string"!=typeof d.status&&(d.status="pending",d.then(function(a){d.status="fulfilled",d.value=a},function(a){d.status="rejected",d.reason=a})),d}}function z(a,b,c,d){u.has(a)||(u.set(a,{id:b,originalBind:a.bind,bound:c}),Object.defineProperties(a,{$$FORM_ACTION:{value:void 0===d?x:function(){var a=u.get(this);if(!a)throw Error("Tried to encode a Server Action from a different instance than the encoder is from. This is a bug in React.");var b=a.bound;return null===b&&(b=Promise.resolve([])),d(a.id,b)}},$$IS_SIGNATURE_EQUAL:{value:y},bind:{value:C}}))}var A=Function.prototype.bind,B=Array.prototype.slice;function C(){var a=u.get(this);if(!a)return A.apply(this,arguments);var b=a.originalBind.apply(this,arguments),c=B.call(arguments,1),d=null;return d=null!==a.bound?Promise.resolve(a.bound).then(function(a){return a.concat(c)}):Promise.resolve(c),u.set(b,{id:a.id,originalBind:b.bind,bound:d}),Object.defineProperties(b,{$$FORM_ACTION:{value:this.$$FORM_ACTION},$$IS_SIGNATURE_EQUAL:{value:y},bind:{value:C}}),b}function D(a,b,c){this.status=a,this.value=b,this.reason=c}function E(a){switch(a.status){case"resolved_model":P(a);break;case"resolved_module":Q(a)}switch(a.status){case"fulfilled":return a.value;case"pending":case"blocked":case"halted":throw a;default:throw a.reason}}function F(a,b){for(var c=0;c<a.length;c++){var d=a[c];"function"==typeof d?d(b):U(d,b)}}function G(a,b){for(var c=0;c<a.length;c++){var d=a[c];"function"==typeof d?d(b):V(d,b)}}function H(a,b){var c=b.handler.chunk;if(null===c)return null;if(c===a)return b.handler;if(null!==(b=c.value))for(c=0;c<b.length;c++){var d=b[c];if("function"!=typeof d&&null!==(d=H(a,d)))return d}return null}function I(a,b,c){switch(a.status){case"fulfilled":F(b,a.value);break;case"blocked":for(var d=0;d<b.length;d++){var e=b[d];if("function"!=typeof e){var f=H(a,e);if(null!==f)switch(U(e,f.value),b.splice(d,1),d--,null!==c&&-1!==(e=c.indexOf(e))&&c.splice(e,1),a.status){case"fulfilled":F(b,a.value);return;case"rejected":null!==c&&G(c,a.reason);return}}}case"pending":if(a.value)for(d=0;d<b.length;d++)a.value.push(b[d]);else a.value=b;if(a.reason){if(c)for(b=0;b<c.length;b++)a.reason.push(c[b])}else a.reason=c;break;case"rejected":c&&G(c,a.reason)}}function J(a,b,c){"pending"!==b.status&&"blocked"!==b.status?b.reason.error(c):(a=b.reason,b.status="rejected",b.reason=c,null!==a&&G(a,c))}function K(a,b,c){return new D("resolved_model",(c?'{"done":true,"value":':'{"done":false,"value":')+b+"}",a)}function L(a,b,c,d){M(a,b,(d?'{"done":true,"value":':'{"done":false,"value":')+c+"}")}function M(a,b,c){if("pending"!==b.status)b.reason.enqueueModel(c);else{var d=b.value,e=b.reason;b.status="resolved_model",b.value=c,b.reason=a,null!==d&&(P(b),I(b,d,e))}}function N(a,b,c){if("pending"===b.status||"blocked"===b.status){a=b.value;var d=b.reason;b.status="resolved_module",b.value=c,b.reason=null,null!==a&&(Q(b),I(b,a,d))}}D.prototype=Object.create(Promise.prototype),D.prototype.then=function(a,b){switch(this.status){case"resolved_model":P(this);break;case"resolved_module":Q(this)}switch(this.status){case"fulfilled":"function"==typeof a&&a(this.value);break;case"pending":case"blocked":"function"==typeof a&&(null===this.value&&(this.value=[]),this.value.push(a)),"function"==typeof b&&(null===this.reason&&(this.reason=[]),this.reason.push(b));break;case"halted":break;default:"function"==typeof b&&b(this.reason)}};var O=null;function P(a){var b=O;O=null;var c=a.value,d=a.reason;a.status="blocked",a.value=null,a.reason=null;try{var e=JSON.parse(c,d._fromJSON),f=a.value;if(null!==f&&(a.value=null,a.reason=null,F(f,e)),null!==O){if(O.errored)throw O.reason;if(0<O.deps){O.value=e,O.reason=null,O.chunk=a;return}}a.status="fulfilled",a.value=e,a.reason=null}catch(b){a.status="rejected",a.reason=b}finally{O=b}}function Q(a){try{var b=l(a.value);a.status="fulfilled",a.value=b,a.reason=null}catch(b){a.status="rejected",a.reason=b}}function R(a,b){a._closed=!0,a._closedReason=b,a._chunks.forEach(function(c){"pending"===c.status?J(a,c,b):"fulfilled"===c.status&&null!==c.reason&&c.reason.error(b)})}function S(a){return{$$typeof:o,_payload:a,_init:E}}function T(a,b){var c=a._chunks,d=c.get(b);return d||(d=a._closed?new D("rejected",null,a._closedReason):new D("pending",null,null),c.set(b,d)),d}function U(a,b){var c=a.response,d=a.handler,e=a.parentObject,f=a.key,h=a.map,i=a.path;try{for(var j=1;j<i.length;j++){for(;b.$$typeof===o;){var k=b._payload;if(k===d.chunk)b=d.value;else{switch(k.status){case"resolved_model":P(k);break;case"resolved_module":Q(k)}switch(k.status){case"fulfilled":b=k.value;continue;case"blocked":var l=H(k,a);if(null!==l){b=l.value;continue}case"pending":i.splice(0,j-1),null===k.value?k.value=[a]:k.value.push(a),null===k.reason?k.reason=[a]:k.reason.push(a);return;case"halted":return;default:V(a,k.reason);return}}}var m=i[j];if("object"==typeof b&&null!==b&&g.call(b,m))b=b[m];else throw Error("Invalid reference.")}var p=h(c,b,e,f);if("__proto__"!==f&&(e[f]=p),""===f&&null===d.value&&(d.value=p),e[0]===n&&"object"==typeof d.value&&null!==d.value&&d.value.$$typeof===n){var q=d.value;"3"===f&&(q.props=p)}}catch(b){V(a,b);return}d.deps--,0===d.deps&&null!==(a=d.chunk)&&"blocked"===a.status&&(b=a.value,a.status="fulfilled",a.value=d.value,a.reason=d.reason,null!==b&&F(b,d.value))}function V(a,b){var c=a.handler;a=a.response,c.errored||(c.errored=!0,c.value=null,c.reason=b,null!==(c=c.chunk)&&"blocked"===c.status&&J(a,c,b))}function W(a,b,c,d,e,f){if(O){var g=O;g.deps++}else g=O={parent:null,chunk:null,value:null,reason:null,deps:1,errored:!1};return b={response:d,handler:g,parentObject:b,key:c,map:e,path:f},null===a.value?a.value=[b]:a.value.push(b),null===a.reason?a.reason=[b]:a.reason.push(b),null}function X(a,b,c,d){if(!a._serverReferenceConfig)return function(a,b,c){function d(){var a=Array.prototype.slice.call(arguments);return f?"fulfilled"===f.status?b(e,f.value.concat(a)):Promise.resolve(f).then(function(c){return b(e,c.concat(a))}):b(e,a)}var e=a.id,f=a.bound;return z(d,e,f,c),d}(b,a._callServer,a._encodeFormAction);var e=function(a,b){var c="",d=a[b];if(d)c=d.name;else{var e=b.lastIndexOf("#");if(-1!==e&&(c=b.slice(e+1),d=a[b.slice(0,e)]),!d)throw Error('Could not find the module "'+b+'" in the React Server Manifest. This is probably a bug in the React Server Components bundler.')}return d.async?[d.id,d.chunks,c,1]:[d.id,d.chunks,c]}(a._serverReferenceConfig,b.id),f=k(e);if(f)b.bound&&(f=Promise.all([f,b.bound]));else{if(!b.bound)return z(f=l(e),b.id,b.bound,a._encodeFormAction),f;f=Promise.resolve(b.bound)}if(O){var g=O;g.deps++}else g=O={parent:null,chunk:null,value:null,reason:null,deps:1,errored:!1};return f.then(function(){var f=l(e);if(b.bound){var h=b.bound.value.slice(0);h.unshift(null),f=f.bind.apply(f,h)}z(f,b.id,b.bound,a._encodeFormAction),"__proto__"!==d&&(c[d]=f),""===d&&null===g.value&&(g.value=f),c[0]===n&&"object"==typeof g.value&&null!==g.value&&g.value.$$typeof===n&&(h=g.value,"3"===d)&&(h.props=f),g.deps--,0===g.deps&&null!==(f=g.chunk)&&"blocked"===f.status&&(h=f.value,f.status="fulfilled",f.value=g.value,f.reason=null,null!==h&&F(h,g.value))},function(b){if(!g.errored){g.errored=!0,g.value=null,g.reason=b;var c=g.chunk;null!==c&&"blocked"===c.status&&J(a,c,b)}}),null}function Y(a,b,c,d,e){var f=parseInt((b=b.split(":"))[0],16);switch((f=T(a,f)).status){case"resolved_model":P(f);break;case"resolved_module":Q(f)}switch(f.status){case"fulfilled":var g=f.value;for(f=1;f<b.length;f++){for(;g.$$typeof===o;){switch((g=g._payload).status){case"resolved_model":P(g);break;case"resolved_module":Q(g)}switch(g.status){case"fulfilled":g=g.value;break;case"blocked":case"pending":return W(g,c,d,a,e,b.slice(f-1));case"halted":return O?(a=O,a.deps++):O={parent:null,chunk:null,value:null,reason:null,deps:1,errored:!1},null;default:return O?(O.errored=!0,O.value=null,O.reason=g.reason):O={parent:null,chunk:null,value:null,reason:g.reason,deps:0,errored:!0},null}}g=g[b[f]]}return e(a,g,c,d);case"pending":case"blocked":return W(f,c,d,a,e,b);case"halted":return O?(a=O,a.deps++):O={parent:null,chunk:null,value:null,reason:null,deps:1,errored:!1},null;default:return O?(O.errored=!0,O.value=null,O.reason=f.reason):O={parent:null,chunk:null,value:null,reason:f.reason,deps:0,errored:!0},null}}function Z(a,b){return new Map(b)}function $(a,b){return new Set(b)}function _(a,b){return new Blob(b.slice(1),{type:b[0]})}function aa(a,b){a=new FormData;for(var c=0;c<b.length;c++)a.append(b[c][0],b[c][1]);return a}function ab(a,b){return b[Symbol.iterator]()}function ac(a,b){return b}function ad(){throw Error('Trying to call a function from "use server" but the callServer option was not implemented in your router runtime.')}function ae(a,b,c,e,f,g,h){var i,j=new Map;this._bundlerConfig=a,this._serverReferenceConfig=b,this._moduleLoading=c,this._callServer=void 0!==e?e:ad,this._encodeFormAction=f,this._nonce=g,this._chunks=j,this._stringDecoder=new d.TextDecoder,this._fromJSON=null,this._closed=!1,this._closedReason=null,this._tempRefs=h,this._fromJSON=(i=this,function(a,b){if("__proto__"!==a){if("string"==typeof b){var c=i,d=this,e=a,f=b;if("$"===f[0]){if("$"===f)return null!==O&&"0"===e&&(O={parent:O,chunk:null,value:null,reason:null,deps:0,errored:!1}),n;switch(f[1]){case"$":return f.slice(1);case"L":return S(c=T(c,d=parseInt(f.slice(2),16)));case"@":return T(c,d=parseInt(f.slice(2),16));case"S":return Symbol.for(f.slice(2));case"h":return Y(c,f=f.slice(2),d,e,X);case"T":if(d="$"+f.slice(2),null==(c=c._tempRefs))throw Error("Missing a temporary reference set but the RSC response returned a temporary reference. Pass a temporaryReference option with the set that was used with the reply.");return c.get(d);case"Q":return Y(c,f=f.slice(2),d,e,Z);case"W":return Y(c,f=f.slice(2),d,e,$);case"B":return Y(c,f=f.slice(2),d,e,_);case"K":return Y(c,f=f.slice(2),d,e,aa);case"Z":return al();case"i":return Y(c,f=f.slice(2),d,e,ab);case"I":return 1/0;case"-":return"$-0"===f?-0:-1/0;case"N":return NaN;case"u":return;case"D":return new Date(Date.parse(f.slice(2)));case"n":return BigInt(f.slice(2));default:return Y(c,f=f.slice(1),d,e,ac)}}return f}if("object"==typeof b&&null!==b){if(b[0]===n){if(a={$$typeof:n,type:b[1],key:b[2],ref:null,props:b[3]},null!==O){if(O=(b=O).parent,b.errored)a=S(a=new D("rejected",null,b.reason));else if(0<b.deps){var g=new D("blocked",null,null);b.value=a,b.chunk=g,a=S(g)}}}else a=b;return a}return b}})}function af(){return{_rowState:0,_rowID:0,_rowTag:0,_rowLength:0,_buffer:[]}}function ag(a,b,c){var d=(a=a._chunks).get(b);d&&"pending"!==d.status?d.reason.enqueueValue(c):a.set(b,new D("fulfilled",c,null))}function ah(a,b,c,d){var e=a._chunks;(a=e.get(b))?"pending"===a.status&&(b=a.value,a.status="fulfilled",a.value=c,a.reason=d,null!==b&&F(b,a.value)):e.set(b,new D("fulfilled",c,d))}function ai(a,b,c){var d=null,e=!1;c=new ReadableStream({type:c,start:function(a){d=a}});var f=null;ah(a,b,c,{enqueueValue:function(a){null===f?d.enqueue(a):f.then(function(){d.enqueue(a)})},enqueueModel:function(b){if(null===f){var c=new D("resolved_model",b,a);P(c),"fulfilled"===c.status?d.enqueue(c.value):(c.then(function(a){return d.enqueue(a)},function(a){return d.error(a)}),f=c)}else{c=f;var e=new D("pending",null,null);e.then(function(a){return d.enqueue(a)},function(a){return d.error(a)}),f=e,c.then(function(){f===e&&(f=null),M(a,e,b)})}},close:function(){if(!e)if(e=!0,null===f)d.close();else{var a=f;f=null,a.then(function(){return d.close()})}},error:function(a){if(!e)if(e=!0,null===f)d.error(a);else{var b=f;f=null,b.then(function(){return d.error(a)})}}})}function aj(){return this}function ak(a,b,c){var d=[],e=!1,f=0,g={};g[q]=function(){var a,b=0;return(a={next:a=function(a){if(void 0!==a)throw Error("Values cannot be passed to next() of AsyncIterables passed to Client Components.");if(b===d.length){if(e)return new D("fulfilled",{done:!0,value:void 0},null);d[b]=new D("pending",null,null)}return d[b++]}})[q]=aj,a},ah(a,b,c?g[q]():g,{enqueueValue:function(a){if(f===d.length)d[f]=new D("fulfilled",{done:!1,value:a},null);else{var b=d[f],c=b.value,e=b.reason;b.status="fulfilled",b.value={done:!1,value:a},b.reason=null,null!==c&&I(b,c,e)}f++},enqueueModel:function(b){f===d.length?d[f]=K(a,b,!1):L(a,d[f],b,!1),f++},close:function(b){if(!e)for(e=!0,f===d.length?d[f]=K(a,b,!0):L(a,d[f],b,!0),f++;f<d.length;)L(a,d[f++],'"$undefined"',!0)},error:function(b){if(!e)for(e=!0,f===d.length&&(d[f]=new D("pending",null,null));f<d.length;)J(a,d[f++],b)}})}function al(){var a=Error("An error occurred in the Server Components render. The specific message is omitted in production builds to avoid leaking sensitive details. A digest property is included on this error instance which may provide additional details about the nature of the error.");return a.stack="Error: "+a.message,a}function am(a,b){for(var c=a.length,d=b.length,e=0;e<c;e++)d+=a[e].byteLength;d=new Uint8Array(d);for(var f=e=0;f<c;f++){var g=a[f];d.set(g,e),e+=g.byteLength}return d.set(b,e),d}function an(a,b,c,d,e,f){ag(a,b,e=new e((c=0===c.length&&0==d.byteOffset%f?d:am(c,d)).buffer,c.byteOffset,c.byteLength/f))}function ao(a,b,c,d){switch(c){case 73:var e=a,f=b,g=d,h=e._chunks,i=h.get(f);g=JSON.parse(g,e._fromJSON);var j=function(a,b){if(a){var c=a[b[0]];if(a=c&&c[b[2]])c=a.name;else{if(!(a=c&&c["*"]))throw Error('Could not find the module "'+b[0]+'" in the React Server Consumer Manifest. This is probably a bug in the React Server Components bundler.');c=b[2]}return 4===b.length?[a.id,a.chunks,c,1]:[a.id,a.chunks,c]}return b}(e._bundlerConfig,g);if(!function(a,b,c){if(null!==a)for(var d=1;d<b.length;d+=2){var e=m.d,f=e.X,g=a.prefix+b[d],h=a.crossOrigin;h="string"==typeof h?"use-credentials"===h?h:"":void 0,f.call(e,g,{crossOrigin:h,nonce:c})}}(e._moduleLoading,g[1],e._nonce),g=k(j)){if(i){var l=i;l.status="blocked"}else l=new D("blocked",null,null),h.set(f,l);g.then(function(){return N(e,l,j)},function(a){return J(e,l,a)})}else i?N(e,i,j):h.set(f,new D("resolved_module",j,null));break;case 72:switch(b=d[0],a=JSON.parse(d=d.slice(1),a._fromJSON),d=m.d,b){case"D":d.D(a);break;case"C":"string"==typeof a?d.C(a):d.C(a[0],a[1]);break;case"L":b=a[0],c=a[1],3===a.length?d.L(b,c,a[2]):d.L(b,c);break;case"m":"string"==typeof a?d.m(a):d.m(a[0],a[1]);break;case"X":"string"==typeof a?d.X(a):d.X(a[0],a[1]);break;case"S":"string"==typeof a?d.S(a):d.S(a[0],0===a[1]?void 0:a[1],3===a.length?a[2]:void 0);break;case"M":"string"==typeof a?d.M(a):d.M(a[0],a[1])}break;case 69:var n=(c=a._chunks).get(b);d=JSON.parse(d);var o=al();o.digest=d.digest,n?J(a,n,o):c.set(b,new D("rejected",null,o));break;case 84:(c=(a=a._chunks).get(b))&&"pending"!==c.status?c.reason.enqueueValue(d):a.set(b,new D("fulfilled",d,null));break;case 78:case 68:case 74:case 87:throw Error("Failed to read a RSC payload created by a development version of React on the server while using a production version on the client. Always use matching versions on the server and the client.");case 82:ai(a,b,void 0);break;case 114:ai(a,b,"bytes");break;case 88:ak(a,b,!1);break;case 120:ak(a,b,!0);break;case 67:(a=a._chunks.get(b))&&"fulfilled"===a.status&&a.reason.close(""===d?'"$undefined"':d);break;default:(n=(c=a._chunks).get(b))?M(a,n,d):c.set(b,new D("resolved_model",d,a))}}function ap(a,b,c){for(var d=0,e=b._rowState,g=b._rowID,h=b._rowTag,i=b._rowLength,j=b._buffer,k=c.length;d<k;){var l=-1;switch(e){case 0:58===(l=c[d++])?e=1:g=g<<4|(96<l?l-87:l-48);continue;case 1:84===(e=c[d])||65===e||79===e||111===e||85===e||83===e||115===e||76===e||108===e||71===e||103===e||77===e||109===e||86===e?(h=e,e=2,d++):64<e&&91>e||35===e||114===e||120===e?(h=e,e=3,d++):(h=0,e=3);continue;case 2:44===(l=c[d++])?e=4:i=i<<4|(96<l?l-87:l-48);continue;case 3:l=c.indexOf(10,d);break;case 4:(l=d+i)>c.length&&(l=-1)}var m=c.byteOffset+d;if(-1<l)(function(a,b,c,d,e){switch(c){case 65:ag(a,b,am(d,e).buffer);return;case 79:an(a,b,d,e,Int8Array,1);return;case 111:ag(a,b,0===d.length?e:am(d,e));return;case 85:an(a,b,d,e,Uint8ClampedArray,1);return;case 83:an(a,b,d,e,Int16Array,2);return;case 115:an(a,b,d,e,Uint16Array,2);return;case 76:an(a,b,d,e,Int32Array,4);return;case 108:an(a,b,d,e,Uint32Array,4);return;case 71:an(a,b,d,e,Float32Array,4);return;case 103:an(a,b,d,e,Float64Array,8);return;case 77:an(a,b,d,e,BigInt64Array,8);return;case 109:an(a,b,d,e,BigUint64Array,8);return;case 86:an(a,b,d,e,DataView,1);return}for(var g=a._stringDecoder,h="",i=0;i<d.length;i++)h+=g.decode(d[i],f);ao(a,b,c,h+=g.decode(e))})(a,g,h,j,i=new Uint8Array(c.buffer,m,l-d)),d=l,3===e&&d++,i=g=h=e=0,j.length=0;else{a=new Uint8Array(c.buffer,m,c.byteLength-d),j.push(a),i-=a.byteLength;break}}b._rowState=e,b._rowID=g,b._rowTag=h,b._rowLength=i}function aq(a){R(a,Error("Connection closed."))}function ar(){throw Error("Server Functions cannot be called during initial render. This would create a fetch waterfall. Try to use a Server Component to pass data to Client Components instead.")}function as(a){return new ae(a.serverConsumerManifest.moduleMap,a.serverConsumerManifest.serverModuleMap,a.serverConsumerManifest.moduleLoading,ar,a.encodeFormAction,"string"==typeof a.nonce?a.nonce:void 0,a&&a.temporaryReferences?a.temporaryReferences:void 0)}function at(a,b){function c(b){R(a,b)}var d=af(),e=b.getReader();e.read().then(function b(f){var g=f.value;if(!f.done)return ap(a,d,g),e.read().then(b).catch(c);aq(a)}).catch(c)}function au(){throw Error("Server Functions cannot be called during initial render. This would create a fetch waterfall. Try to use a Server Component to pass data to Client Components instead.")}b.createFromFetch=function(a,b){var c=as(b);return a.then(function(a){at(c,a.body)},function(a){R(c,a)}),T(c,0)},b.createFromNodeStream=function(a,b,c){var d=new ae(b.moduleMap,b.serverModuleMap,b.moduleLoading,au,c?c.encodeFormAction:void 0,c&&"string"==typeof c.nonce?c.nonce:void 0,void 0),e=af();return a.on("data",function(a){if("string"==typeof a){for(var b=0,c=e._rowState,f=e._rowID,g=e._rowTag,h=e._rowLength,i=e._buffer,j=a.length;b<j;){var k=-1;switch(c){case 0:58===(k=a.charCodeAt(b++))?c=1:f=f<<4|(96<k?k-87:k-48);continue;case 1:84===(c=a.charCodeAt(b))||65===c||79===c||111===c||85===c||83===c||115===c||76===c||108===c||71===c||103===c||77===c||109===c||86===c?(g=c,c=2,b++):64<c&&91>c||114===c||120===c?(g=c,c=3,b++):(g=0,c=3);continue;case 2:44===(k=a.charCodeAt(b++))?c=4:h=h<<4|(96<k?k-87:k-48);continue;case 3:k=a.indexOf("\n",b);break;case 4:if(84!==g)throw Error("Binary RSC chunks cannot be encoded as strings. This is a bug in the wiring of the React streams.");if(h<a.length||a.length>3*h)throw Error("String chunks need to be passed in their original shape. Not split into smaller string chunks. This is a bug in the wiring of the React streams.");k=a.length}if(-1<k){if(0<i.length)throw Error("String chunks need to be passed in their original shape. Not split into smaller string chunks. This is a bug in the wiring of the React streams.");ao(d,f,g,b=a.slice(b,k)),b=k,3===c&&b++,h=f=g=c=0,i.length=0}else if(a.length!==b)throw Error("String chunks need to be passed in their original shape. Not split into smaller string chunks. This is a bug in the wiring of the React streams.")}e._rowState=c,e._rowID=f,e._rowTag=g,e._rowLength=h}else ap(d,e,a)}),a.on("error",function(a){R(d,a)}),a.on("end",function(){return aq(d)}),T(d,0)},b.createFromReadableStream=function(a,b){return at(b=as(b),a),T(b,0)},b.createServerReference=function(a){function b(){var b=Array.prototype.slice.call(arguments);return ar(a,b)}return z(b,a,null,void 0),b},b.createTemporaryReferenceSet=function(){return new Map},b.encodeReply=function(a,b){return new Promise(function(c,d){var e=v(a,"",b&&b.temporaryReferences?b.temporaryReferences:void 0,c,d);if(b&&b.signal){var f=b.signal;if(f.aborted)e(f.reason);else{var g=function(){e(f.reason),f.removeEventListener("abort",g)};f.addEventListener("abort",g)}}})},b.registerServerReference=function(a,b,c){return z(a,b,null,c),a}},10021:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{D4:()=>n}),c(73024);var e=c(84104),f=c(81909),g=c(16343),h=c(38985),i=c(79336),j=a([e,f,g,h,i]);[e,f,g,h,i]=j.then?(await j)():j;let o=["openai","elevenlabs"],p="alloy",q=new Set(["alloy","echo","fable","onyx","nova","shimmer"]);function k(a,...b){let c=String(a??"");for(let a of b){if(!a)continue;let b=String(a).slice(-4);c=c.split(String(a)).join(`***${b}`)}return c}async function l({text:a,voice:b,model:c,format:d,fetchFn:e}){let g,h=(0,f.r6)("OPENAI_API_KEY")||process.env.OPENAI_API_KEY;if(!h)throw Error("OPENAI_API_KEY missing for OpenAI TTS");let i=b&&q.has(b)?b:p,j=c||"tts-1",l=d||"mp3";try{g=await e("https://api.openai.com/v1/audio/speech",{method:"POST",headers:{Authorization:`Bearer ${h}`,"Content-Type":"application/json"},body:JSON.stringify({model:j,voice:i,input:a,format:l})})}catch(a){throw Error(`openai tts failed: ${k(a?.message,h)}`)}if(!g.ok){let a="";try{a=(await g.text()).slice(0,256)}catch{}throw Error(`openai tts http ${g.status}: ${k(a,h)}`)}return{audio_buffer:Buffer.from(await g.arrayBuffer()),mime_type:"wav"===l?"audio/wav":"audio/mpeg",extension:"wav"===l?"wav":"mp3",provider:"openai",voice:i,model:j}}async function m({text:a,voice:b,model:c,format:d,fetchFn:e}){let g,h=(0,f.r6)("ELEVENLABS_API_KEY")||process.env.ELEVENLABS_API_KEY;if(!h)throw Error("ELEVENLABS_API_KEY missing for ElevenLabs TTS");let i=b||(0,f.r6)("ELEVENLABS_VOICE_ID")||process.env.ELEVENLABS_VOICE_ID||"21m00Tcm4TlvDq8ikWAM",j=c||"eleven_multilingual_v2",l="wav"===d?"pcm_16000":"mp3_44100_128";try{g=await e(`https://api.elevenlabs.io/v1/text-to-speech/${encodeURIComponent(i)}?output_format=${l}`,{method:"POST",headers:{"xi-api-key":h,"Content-Type":"application/json",Accept:"audio/mpeg"},body:JSON.stringify({text:a,model_id:j})})}catch(a){throw Error(`elevenlabs tts failed: ${k(a?.message,h)}`)}if(!g.ok){let a="";try{a=(await g.text()).slice(0,256)}catch{}throw Error(`elevenlabs tts http ${g.status}: ${k(a,h)}`)}return{audio_buffer:Buffer.from(await g.arrayBuffer()),mime_type:l.startsWith("pcm_")?"audio/wav":"audio/mpeg",extension:l.startsWith("pcm_")?"wav":"mp3",provider:"elevenlabs",voice:i,model:j}}async function n(a={}){let b=String(a.text||"").trim();if(!b)throw Error("text is required");if(b.length>4e3)throw Error("text too long: max 4000 characters");let c=String(a.provider||process.env.TTS_DEFAULT_PROVIDER||"openai").toLowerCase(),d=o.includes(c)?c:"openai",f=(0,g.N)("voice_speak",a.agent_id??null,a.fetch||fetch),j=await ("elevenlabs"===d?m:l)({text:b,voice:a.voice,model:a.model,format:a.format,fetchFn:f}),k=Math.max(500,Math.round(b.length/14*1e3)),p=null;if(a.save_to_disk&&a.project_id){let c=(0,i.U1)(a.project_id);if(c){let a=function(a){let b=(0,e.Lf)(),c=(0,h.dh)(a),d=b.prepare("SELECT * FROM disk_folders WHERE project_id = ? AND parent_id = ? AND name = ? LIMIT 1").get(a,c.id,"voice");return d||(0,h.vV)(a,c.id,"voice")}(c.id),d=b.slice(0,40).replace(/[^A-Za-z0-9]+/g,"-").replace(/^-+|-+$/g,"")||"tts";p=(0,h.QM)(c.id,a.id,{name:`${d}-${Date.now()}.${j.extension}`,buffer:j.audio_buffer,type:j.mime_type},{local_only:!1})}}try{(0,e.Lf)().prepare(`
302
+ `).run(j,a,b.tier,c,JSON.stringify(d),JSON.stringify(f),b.reason,g?JSON.stringify(g):null,i,h,(0,e.kF)()),j})({projectId:b,tier:d,scenario:a.scenario,assumptions:a.assumptions,result:a.result,sensitivity:"base"===a.scenario?v:null,artifactId:y,confidence:"modelled"===d.confidence?.8:"moderate"===d.confidence?.6:.35}));return{status:"ok",project_id:b,tier:d.tier,tier_selection:d,t2_blocked:d.t2_blocked,t2_blocking_reason:d.t2_blocking_reason,scenario_ids:z,artifact_id:y,scenarios:k,sensitivity:v}}async function v(a={}){let b=a.scenario_id;if(!b)return{status:"error",error:"scenario_id_required"};let c=(0,e.Lf)(),d=c.prepare("SELECT * FROM mines_valuation_scenarios WHERE id = ?").get(b);if(!d)return{status:"error",error:"not_found"};if("t1_in_situ"!==d.valuation_tier)return{status:"error",error:"sensitivity_not_implemented_for_t2"};let f=l(d.assumptions_json,{}),g=(0,i.H)(f,{grade_std_au_gpt:a.grade_std_au_gpt??.1,grade_std_cu_pct:a.grade_std_cu_pct??.05});return c.prepare("UPDATE mines_valuation_scenarios SET sensitivity_json = ? WHERE id = ?").run(JSON.stringify(g),b),{status:"ok",scenario_id:b,sensitivity:g}}[e,f,j]=k.then?(await k)():k,d()}catch(a){d(a)}})},9907:(a,b,c)=>{"use strict";var d=c(28354),e=c(10407),f={stream:!0},g=Object.prototype.hasOwnProperty,h=new Map;function i(a){var b=globalThis.__next_require__(a);return"function"!=typeof b.then||"fulfilled"===b.status?null:(b.then(function(a){b.status="fulfilled",b.value=a},function(a){b.status="rejected",b.reason=a}),b)}function j(){}function k(a){for(var b=a[1],d=[],e=0;e<b.length;){var f=b[e++];b[e++];var g=h.get(f);if(void 0===g){g=c.e(f),d.push(g);var k=h.set.bind(h,f,null);g.then(k,j),h.set(f,g)}else null!==g&&d.push(g)}return 4===a.length?0===d.length?i(a[0]):Promise.all(d).then(function(){return i(a[0])}):0<d.length?Promise.all(d):null}function l(a){var b=globalThis.__next_require__(a[0]);if(4===a.length&&"function"==typeof b.then)if("fulfilled"===b.status)b=b.value;else throw b.reason;return"*"===a[2]?b:""===a[2]?b.__esModule?b.default:b:g.call(b,a[2])?b[a[2]]:void 0}var m=e.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,n=Symbol.for("react.transitional.element"),o=Symbol.for("react.lazy"),p=Symbol.iterator,q=Symbol.asyncIterator,r=Array.isArray,s=Object.getPrototypeOf,t=Object.prototype,u=new WeakMap;function v(a,b,c,d,e){function f(a,c){c=new Blob([new Uint8Array(c.buffer,c.byteOffset,c.byteLength)]);var d=i++;return null===k&&(k=new FormData),k.append(b+d,c),"$"+a+d.toString(16)}function g(a,v){if(null===v)return null;if("object"==typeof v){switch(v.$$typeof){case n:if(void 0!==c&&-1===a.indexOf(":")){var w,x,y,z,A,B=l.get(this);if(void 0!==B)return c.set(B+":"+a,v),"$T"}throw Error("React Element cannot be passed to Server Functions from the Client without a temporary reference set. Pass a TemporaryReferenceSet to the options.");case o:B=v._payload;var C=v._init;null===k&&(k=new FormData),j++;try{var D=C(B),E=i++,F=h(D,E);return k.append(b+E,F),"$"+E.toString(16)}catch(a){if("object"==typeof a&&null!==a&&"function"==typeof a.then){j++;var G=i++;return B=function(){try{var a=h(v,G),c=k;c.append(b+G,a),j--,0===j&&d(c)}catch(a){e(a)}},a.then(B,B),"$"+G.toString(16)}return e(a),null}finally{j--}}if(B=l.get(v),"function"==typeof v.then){if(void 0!==B)if(m!==v)return B;else m=null;null===k&&(k=new FormData),j++;var H=i++;return a="$@"+H.toString(16),l.set(v,a),v.then(function(a){try{var c=l.get(a),f=void 0!==c?JSON.stringify(c):h(a,H);(a=k).append(b+H,f),j--,0===j&&d(a)}catch(a){e(a)}},e),a}if(void 0!==B)if(m!==v)return B;else m=null;else -1===a.indexOf(":")&&void 0!==(B=l.get(this))&&(a=B+":"+a,l.set(v,a),void 0!==c&&c.set(a,v));if(r(v))return v;if(v instanceof FormData){null===k&&(k=new FormData);var I=k,J=b+"_"+(a=i++)+"_";return v.forEach(function(a,b){I.append(J+b,a)}),"$K"+a.toString(16)}if(v instanceof Map)return a=i++,B=h(Array.from(v),a),null===k&&(k=new FormData),k.append(b+a,B),"$Q"+a.toString(16);if(v instanceof Set)return a=i++,B=h(Array.from(v),a),null===k&&(k=new FormData),k.append(b+a,B),"$W"+a.toString(16);if(v instanceof ArrayBuffer)return a=new Blob([v]),B=i++,null===k&&(k=new FormData),k.append(b+B,a),"$A"+B.toString(16);if(v instanceof Int8Array)return f("O",v);if(v instanceof Uint8Array)return f("o",v);if(v instanceof Uint8ClampedArray)return f("U",v);if(v instanceof Int16Array)return f("S",v);if(v instanceof Uint16Array)return f("s",v);if(v instanceof Int32Array)return f("L",v);if(v instanceof Uint32Array)return f("l",v);if(v instanceof Float32Array)return f("G",v);if(v instanceof Float64Array)return f("g",v);if(v instanceof BigInt64Array)return f("M",v);if(v instanceof BigUint64Array)return f("m",v);if(v instanceof DataView)return f("V",v);if("function"==typeof Blob&&v instanceof Blob)return null===k&&(k=new FormData),a=i++,k.append(b+a,v),"$B"+a.toString(16);if(a=null===(w=v)||"object"!=typeof w?null:"function"==typeof(w=p&&w[p]||w["@@iterator"])?w:null)return(B=a.call(v))===v?(a=i++,B=h(Array.from(B),a),null===k&&(k=new FormData),k.append(b+a,B),"$i"+a.toString(16)):Array.from(B);if("function"==typeof ReadableStream&&v instanceof ReadableStream)return function(a){try{var c,f,h,l,m,n,o,p=a.getReader({mode:"byob"})}catch(l){return c=a.getReader(),null===k&&(k=new FormData),f=k,j++,h=i++,c.read().then(function a(i){if(i.done)f.append(b+h,"C"),0==--j&&d(f);else try{var k=JSON.stringify(i.value,g);f.append(b+h,k),c.read().then(a,e)}catch(a){e(a)}},e),"$R"+h.toString(16)}return l=p,null===k&&(k=new FormData),m=k,j++,n=i++,o=[],l.read(new Uint8Array(1024)).then(function a(c){c.done?(c=i++,m.append(b+c,new Blob(o)),m.append(b+n,'"$o'+c.toString(16)+'"'),m.append(b+n,"C"),0==--j&&d(m)):(o.push(c.value),l.read(new Uint8Array(1024)).then(a,e))},e),"$r"+n.toString(16)}(v);if("function"==typeof(a=v[q]))return x=v,y=a.call(v),null===k&&(k=new FormData),z=k,j++,A=i++,x=x===y,y.next().then(function a(c){if(c.done){if(void 0===c.value)z.append(b+A,"C");else try{var f=JSON.stringify(c.value,g);z.append(b+A,"C"+f)}catch(a){e(a);return}0==--j&&d(z)}else try{var h=JSON.stringify(c.value,g);z.append(b+A,h),y.next().then(a,e)}catch(a){e(a)}},e),"$"+(x?"x":"X")+A.toString(16);if((a=s(v))!==t&&(null===a||null!==s(a))){if(void 0===c)throw Error("Only plain objects, and a few built-ins, can be passed to Server Functions. Classes or null prototypes are not supported.");return"$T"}return v}if("string"==typeof v)return"Z"===v[v.length-1]&&this[a]instanceof Date?"$D"+v:a="$"===v[0]?"$"+v:v;if("boolean"==typeof v)return v;if("number"==typeof v)return Number.isFinite(v)?0===v&&-1/0==1/v?"$-0":v:1/0===v?"$Infinity":-1/0===v?"$-Infinity":"$NaN";if(void 0===v)return"$undefined";if("function"==typeof v){if(void 0!==(B=u.get(v)))return void 0!==(a=l.get(v))||(a=JSON.stringify({id:B.id,bound:B.bound},g),null===k&&(k=new FormData),B=i++,k.set(b+B,a),a="$h"+B.toString(16),l.set(v,a)),a;if(void 0!==c&&-1===a.indexOf(":")&&void 0!==(B=l.get(this)))return c.set(B+":"+a,v),"$T";throw Error("Client Functions cannot be passed directly to Server Functions. Only Functions passed from the Server can be passed back again.")}if("symbol"==typeof v){if(void 0!==c&&-1===a.indexOf(":")&&void 0!==(B=l.get(this)))return c.set(B+":"+a,v),"$T";throw Error("Symbols cannot be passed to a Server Function without a temporary reference set. Pass a TemporaryReferenceSet to the options.")}if("bigint"==typeof v)return"$n"+v.toString(10);throw Error("Type "+typeof v+" is not supported as an argument to a Server Function.")}function h(a,b){return"object"==typeof a&&null!==a&&(b="$"+b.toString(16),l.set(a,b),void 0!==c&&c.set(b,a)),m=a,JSON.stringify(a,g)}var i=1,j=0,k=null,l=new WeakMap,m=a,v=h(a,0);return null===k?d(v):(k.set(b+"0",v),0===j&&d(k)),function(){0<j&&(j=0,null===k?d(v):d(k))}}var w=new WeakMap;function x(a){var b=u.get(this);if(!b)throw Error("Tried to encode a Server Action from a different instance than the encoder is from. This is a bug in React.");var c=null;if(null!==b.bound){if((c=w.get(b))||(d={id:b.id,bound:b.bound},g=new Promise(function(a,b){e=a,f=b}),v(d,"",void 0,function(a){if("string"==typeof a){var b=new FormData;b.append("0",a),a=b}g.status="fulfilled",g.value=a,e(a)},function(a){g.status="rejected",g.reason=a,f(a)}),c=g,w.set(b,c)),"rejected"===c.status)throw c.reason;if("fulfilled"!==c.status)throw c;b=c.value;var d,e,f,g,h=new FormData;b.forEach(function(b,c){h.append("$ACTION_"+a+":"+c,b)}),c=h,b="$ACTION_REF_"+a}else b="$ACTION_ID_"+b.id;return{name:b,method:"POST",encType:"multipart/form-data",data:c}}function y(a,b){var c=u.get(this);if(!c)throw Error("Tried to encode a Server Action from a different instance than the encoder is from. This is a bug in React.");if(c.id!==a)return!1;var d=c.bound;if(null===d)return 0===b;switch(d.status){case"fulfilled":return d.value.length===b;case"pending":throw d;case"rejected":throw d.reason;default:throw"string"!=typeof d.status&&(d.status="pending",d.then(function(a){d.status="fulfilled",d.value=a},function(a){d.status="rejected",d.reason=a})),d}}function z(a,b,c,d){u.has(a)||(u.set(a,{id:b,originalBind:a.bind,bound:c}),Object.defineProperties(a,{$$FORM_ACTION:{value:void 0===d?x:function(){var a=u.get(this);if(!a)throw Error("Tried to encode a Server Action from a different instance than the encoder is from. This is a bug in React.");var b=a.bound;return null===b&&(b=Promise.resolve([])),d(a.id,b)}},$$IS_SIGNATURE_EQUAL:{value:y},bind:{value:C}}))}var A=Function.prototype.bind,B=Array.prototype.slice;function C(){var a=u.get(this);if(!a)return A.apply(this,arguments);var b=a.originalBind.apply(this,arguments),c=B.call(arguments,1),d=null;return d=null!==a.bound?Promise.resolve(a.bound).then(function(a){return a.concat(c)}):Promise.resolve(c),u.set(b,{id:a.id,originalBind:b.bind,bound:d}),Object.defineProperties(b,{$$FORM_ACTION:{value:this.$$FORM_ACTION},$$IS_SIGNATURE_EQUAL:{value:y},bind:{value:C}}),b}function D(a,b,c){this.status=a,this.value=b,this.reason=c}function E(a){switch(a.status){case"resolved_model":P(a);break;case"resolved_module":Q(a)}switch(a.status){case"fulfilled":return a.value;case"pending":case"blocked":case"halted":throw a;default:throw a.reason}}function F(a,b){for(var c=0;c<a.length;c++){var d=a[c];"function"==typeof d?d(b):U(d,b)}}function G(a,b){for(var c=0;c<a.length;c++){var d=a[c];"function"==typeof d?d(b):V(d,b)}}function H(a,b){var c=b.handler.chunk;if(null===c)return null;if(c===a)return b.handler;if(null!==(b=c.value))for(c=0;c<b.length;c++){var d=b[c];if("function"!=typeof d&&null!==(d=H(a,d)))return d}return null}function I(a,b,c){switch(a.status){case"fulfilled":F(b,a.value);break;case"blocked":for(var d=0;d<b.length;d++){var e=b[d];if("function"!=typeof e){var f=H(a,e);if(null!==f)switch(U(e,f.value),b.splice(d,1),d--,null!==c&&-1!==(e=c.indexOf(e))&&c.splice(e,1),a.status){case"fulfilled":F(b,a.value);return;case"rejected":null!==c&&G(c,a.reason);return}}}case"pending":if(a.value)for(d=0;d<b.length;d++)a.value.push(b[d]);else a.value=b;if(a.reason){if(c)for(b=0;b<c.length;b++)a.reason.push(c[b])}else a.reason=c;break;case"rejected":c&&G(c,a.reason)}}function J(a,b,c){"pending"!==b.status&&"blocked"!==b.status?b.reason.error(c):(a=b.reason,b.status="rejected",b.reason=c,null!==a&&G(a,c))}function K(a,b,c){return new D("resolved_model",(c?'{"done":true,"value":':'{"done":false,"value":')+b+"}",a)}function L(a,b,c,d){M(a,b,(d?'{"done":true,"value":':'{"done":false,"value":')+c+"}")}function M(a,b,c){if("pending"!==b.status)b.reason.enqueueModel(c);else{var d=b.value,e=b.reason;b.status="resolved_model",b.value=c,b.reason=a,null!==d&&(P(b),I(b,d,e))}}function N(a,b,c){if("pending"===b.status||"blocked"===b.status){a=b.value;var d=b.reason;b.status="resolved_module",b.value=c,b.reason=null,null!==a&&(Q(b),I(b,a,d))}}D.prototype=Object.create(Promise.prototype),D.prototype.then=function(a,b){switch(this.status){case"resolved_model":P(this);break;case"resolved_module":Q(this)}switch(this.status){case"fulfilled":"function"==typeof a&&a(this.value);break;case"pending":case"blocked":"function"==typeof a&&(null===this.value&&(this.value=[]),this.value.push(a)),"function"==typeof b&&(null===this.reason&&(this.reason=[]),this.reason.push(b));break;case"halted":break;default:"function"==typeof b&&b(this.reason)}};var O=null;function P(a){var b=O;O=null;var c=a.value,d=a.reason;a.status="blocked",a.value=null,a.reason=null;try{var e=JSON.parse(c,d._fromJSON),f=a.value;if(null!==f&&(a.value=null,a.reason=null,F(f,e)),null!==O){if(O.errored)throw O.reason;if(0<O.deps){O.value=e,O.reason=null,O.chunk=a;return}}a.status="fulfilled",a.value=e,a.reason=null}catch(b){a.status="rejected",a.reason=b}finally{O=b}}function Q(a){try{var b=l(a.value);a.status="fulfilled",a.value=b,a.reason=null}catch(b){a.status="rejected",a.reason=b}}function R(a,b){a._closed=!0,a._closedReason=b,a._chunks.forEach(function(c){"pending"===c.status?J(a,c,b):"fulfilled"===c.status&&null!==c.reason&&c.reason.error(b)})}function S(a){return{$$typeof:o,_payload:a,_init:E}}function T(a,b){var c=a._chunks,d=c.get(b);return d||(d=a._closed?new D("rejected",null,a._closedReason):new D("pending",null,null),c.set(b,d)),d}function U(a,b){var c=a.response,d=a.handler,e=a.parentObject,f=a.key,h=a.map,i=a.path;try{for(var j=1;j<i.length;j++){for(;b.$$typeof===o;){var k=b._payload;if(k===d.chunk)b=d.value;else{switch(k.status){case"resolved_model":P(k);break;case"resolved_module":Q(k)}switch(k.status){case"fulfilled":b=k.value;continue;case"blocked":var l=H(k,a);if(null!==l){b=l.value;continue}case"pending":i.splice(0,j-1),null===k.value?k.value=[a]:k.value.push(a),null===k.reason?k.reason=[a]:k.reason.push(a);return;case"halted":return;default:V(a,k.reason);return}}}var m=i[j];if("object"==typeof b&&null!==b&&g.call(b,m))b=b[m];else throw Error("Invalid reference.")}var p=h(c,b,e,f);if("__proto__"!==f&&(e[f]=p),""===f&&null===d.value&&(d.value=p),e[0]===n&&"object"==typeof d.value&&null!==d.value&&d.value.$$typeof===n){var q=d.value;"3"===f&&(q.props=p)}}catch(b){V(a,b);return}d.deps--,0===d.deps&&null!==(a=d.chunk)&&"blocked"===a.status&&(b=a.value,a.status="fulfilled",a.value=d.value,a.reason=d.reason,null!==b&&F(b,d.value))}function V(a,b){var c=a.handler;a=a.response,c.errored||(c.errored=!0,c.value=null,c.reason=b,null!==(c=c.chunk)&&"blocked"===c.status&&J(a,c,b))}function W(a,b,c,d,e,f){if(O){var g=O;g.deps++}else g=O={parent:null,chunk:null,value:null,reason:null,deps:1,errored:!1};return b={response:d,handler:g,parentObject:b,key:c,map:e,path:f},null===a.value?a.value=[b]:a.value.push(b),null===a.reason?a.reason=[b]:a.reason.push(b),null}function X(a,b,c,d){if(!a._serverReferenceConfig)return function(a,b,c){function d(){var a=Array.prototype.slice.call(arguments);return f?"fulfilled"===f.status?b(e,f.value.concat(a)):Promise.resolve(f).then(function(c){return b(e,c.concat(a))}):b(e,a)}var e=a.id,f=a.bound;return z(d,e,f,c),d}(b,a._callServer,a._encodeFormAction);var e=function(a,b){var c="",d=a[b];if(d)c=d.name;else{var e=b.lastIndexOf("#");if(-1!==e&&(c=b.slice(e+1),d=a[b.slice(0,e)]),!d)throw Error('Could not find the module "'+b+'" in the React Server Manifest. This is probably a bug in the React Server Components bundler.')}return d.async?[d.id,d.chunks,c,1]:[d.id,d.chunks,c]}(a._serverReferenceConfig,b.id),f=k(e);if(f)b.bound&&(f=Promise.all([f,b.bound]));else{if(!b.bound)return z(f=l(e),b.id,b.bound,a._encodeFormAction),f;f=Promise.resolve(b.bound)}if(O){var g=O;g.deps++}else g=O={parent:null,chunk:null,value:null,reason:null,deps:1,errored:!1};return f.then(function(){var f=l(e);if(b.bound){var h=b.bound.value.slice(0);h.unshift(null),f=f.bind.apply(f,h)}z(f,b.id,b.bound,a._encodeFormAction),"__proto__"!==d&&(c[d]=f),""===d&&null===g.value&&(g.value=f),c[0]===n&&"object"==typeof g.value&&null!==g.value&&g.value.$$typeof===n&&(h=g.value,"3"===d)&&(h.props=f),g.deps--,0===g.deps&&null!==(f=g.chunk)&&"blocked"===f.status&&(h=f.value,f.status="fulfilled",f.value=g.value,f.reason=null,null!==h&&F(h,g.value))},function(b){if(!g.errored){g.errored=!0,g.value=null,g.reason=b;var c=g.chunk;null!==c&&"blocked"===c.status&&J(a,c,b)}}),null}function Y(a,b,c,d,e){var f=parseInt((b=b.split(":"))[0],16);switch((f=T(a,f)).status){case"resolved_model":P(f);break;case"resolved_module":Q(f)}switch(f.status){case"fulfilled":var g=f.value;for(f=1;f<b.length;f++){for(;g.$$typeof===o;){switch((g=g._payload).status){case"resolved_model":P(g);break;case"resolved_module":Q(g)}switch(g.status){case"fulfilled":g=g.value;break;case"blocked":case"pending":return W(g,c,d,a,e,b.slice(f-1));case"halted":return O?(a=O,a.deps++):O={parent:null,chunk:null,value:null,reason:null,deps:1,errored:!1},null;default:return O?(O.errored=!0,O.value=null,O.reason=g.reason):O={parent:null,chunk:null,value:null,reason:g.reason,deps:0,errored:!0},null}}g=g[b[f]]}return e(a,g,c,d);case"pending":case"blocked":return W(f,c,d,a,e,b);case"halted":return O?(a=O,a.deps++):O={parent:null,chunk:null,value:null,reason:null,deps:1,errored:!1},null;default:return O?(O.errored=!0,O.value=null,O.reason=f.reason):O={parent:null,chunk:null,value:null,reason:f.reason,deps:0,errored:!0},null}}function Z(a,b){return new Map(b)}function $(a,b){return new Set(b)}function _(a,b){return new Blob(b.slice(1),{type:b[0]})}function aa(a,b){a=new FormData;for(var c=0;c<b.length;c++)a.append(b[c][0],b[c][1]);return a}function ab(a,b){return b[Symbol.iterator]()}function ac(a,b){return b}function ad(){throw Error('Trying to call a function from "use server" but the callServer option was not implemented in your router runtime.')}function ae(a,b,c,e,f,g,h){var i,j=new Map;this._bundlerConfig=a,this._serverReferenceConfig=b,this._moduleLoading=c,this._callServer=void 0!==e?e:ad,this._encodeFormAction=f,this._nonce=g,this._chunks=j,this._stringDecoder=new d.TextDecoder,this._fromJSON=null,this._closed=!1,this._closedReason=null,this._tempRefs=h,this._fromJSON=(i=this,function(a,b){if("__proto__"!==a){if("string"==typeof b){var c=i,d=this,e=a,f=b;if("$"===f[0]){if("$"===f)return null!==O&&"0"===e&&(O={parent:O,chunk:null,value:null,reason:null,deps:0,errored:!1}),n;switch(f[1]){case"$":return f.slice(1);case"L":return S(c=T(c,d=parseInt(f.slice(2),16)));case"@":return T(c,d=parseInt(f.slice(2),16));case"S":return Symbol.for(f.slice(2));case"h":return Y(c,f=f.slice(2),d,e,X);case"T":if(d="$"+f.slice(2),null==(c=c._tempRefs))throw Error("Missing a temporary reference set but the RSC response returned a temporary reference. Pass a temporaryReference option with the set that was used with the reply.");return c.get(d);case"Q":return Y(c,f=f.slice(2),d,e,Z);case"W":return Y(c,f=f.slice(2),d,e,$);case"B":return Y(c,f=f.slice(2),d,e,_);case"K":return Y(c,f=f.slice(2),d,e,aa);case"Z":return al();case"i":return Y(c,f=f.slice(2),d,e,ab);case"I":return 1/0;case"-":return"$-0"===f?-0:-1/0;case"N":return NaN;case"u":return;case"D":return new Date(Date.parse(f.slice(2)));case"n":return BigInt(f.slice(2));default:return Y(c,f=f.slice(1),d,e,ac)}}return f}if("object"==typeof b&&null!==b){if(b[0]===n){if(a={$$typeof:n,type:b[1],key:b[2],ref:null,props:b[3]},null!==O){if(O=(b=O).parent,b.errored)a=S(a=new D("rejected",null,b.reason));else if(0<b.deps){var g=new D("blocked",null,null);b.value=a,b.chunk=g,a=S(g)}}}else a=b;return a}return b}})}function af(){return{_rowState:0,_rowID:0,_rowTag:0,_rowLength:0,_buffer:[]}}function ag(a,b,c){var d=(a=a._chunks).get(b);d&&"pending"!==d.status?d.reason.enqueueValue(c):a.set(b,new D("fulfilled",c,null))}function ah(a,b,c,d){var e=a._chunks;(a=e.get(b))?"pending"===a.status&&(b=a.value,a.status="fulfilled",a.value=c,a.reason=d,null!==b&&F(b,a.value)):e.set(b,new D("fulfilled",c,d))}function ai(a,b,c){var d=null,e=!1;c=new ReadableStream({type:c,start:function(a){d=a}});var f=null;ah(a,b,c,{enqueueValue:function(a){null===f?d.enqueue(a):f.then(function(){d.enqueue(a)})},enqueueModel:function(b){if(null===f){var c=new D("resolved_model",b,a);P(c),"fulfilled"===c.status?d.enqueue(c.value):(c.then(function(a){return d.enqueue(a)},function(a){return d.error(a)}),f=c)}else{c=f;var e=new D("pending",null,null);e.then(function(a){return d.enqueue(a)},function(a){return d.error(a)}),f=e,c.then(function(){f===e&&(f=null),M(a,e,b)})}},close:function(){if(!e)if(e=!0,null===f)d.close();else{var a=f;f=null,a.then(function(){return d.close()})}},error:function(a){if(!e)if(e=!0,null===f)d.error(a);else{var b=f;f=null,b.then(function(){return d.error(a)})}}})}function aj(){return this}function ak(a,b,c){var d=[],e=!1,f=0,g={};g[q]=function(){var a,b=0;return(a={next:a=function(a){if(void 0!==a)throw Error("Values cannot be passed to next() of AsyncIterables passed to Client Components.");if(b===d.length){if(e)return new D("fulfilled",{done:!0,value:void 0},null);d[b]=new D("pending",null,null)}return d[b++]}})[q]=aj,a},ah(a,b,c?g[q]():g,{enqueueValue:function(a){if(f===d.length)d[f]=new D("fulfilled",{done:!1,value:a},null);else{var b=d[f],c=b.value,e=b.reason;b.status="fulfilled",b.value={done:!1,value:a},b.reason=null,null!==c&&I(b,c,e)}f++},enqueueModel:function(b){f===d.length?d[f]=K(a,b,!1):L(a,d[f],b,!1),f++},close:function(b){if(!e)for(e=!0,f===d.length?d[f]=K(a,b,!0):L(a,d[f],b,!0),f++;f<d.length;)L(a,d[f++],'"$undefined"',!0)},error:function(b){if(!e)for(e=!0,f===d.length&&(d[f]=new D("pending",null,null));f<d.length;)J(a,d[f++],b)}})}function al(){var a=Error("An error occurred in the Server Components render. The specific message is omitted in production builds to avoid leaking sensitive details. A digest property is included on this error instance which may provide additional details about the nature of the error.");return a.stack="Error: "+a.message,a}function am(a,b){for(var c=a.length,d=b.length,e=0;e<c;e++)d+=a[e].byteLength;d=new Uint8Array(d);for(var f=e=0;f<c;f++){var g=a[f];d.set(g,e),e+=g.byteLength}return d.set(b,e),d}function an(a,b,c,d,e,f){ag(a,b,e=new e((c=0===c.length&&0==d.byteOffset%f?d:am(c,d)).buffer,c.byteOffset,c.byteLength/f))}function ao(a,b,c,d){switch(c){case 73:var e=a,f=b,g=d,h=e._chunks,i=h.get(f);g=JSON.parse(g,e._fromJSON);var j=function(a,b){if(a){var c=a[b[0]];if(a=c&&c[b[2]])c=a.name;else{if(!(a=c&&c["*"]))throw Error('Could not find the module "'+b[0]+'" in the React Server Consumer Manifest. This is probably a bug in the React Server Components bundler.');c=b[2]}return 4===b.length?[a.id,a.chunks,c,1]:[a.id,a.chunks,c]}return b}(e._bundlerConfig,g);if(!function(a,b,c){if(null!==a)for(var d=1;d<b.length;d+=2){var e=m.d,f=e.X,g=a.prefix+b[d],h=a.crossOrigin;h="string"==typeof h?"use-credentials"===h?h:"":void 0,f.call(e,g,{crossOrigin:h,nonce:c})}}(e._moduleLoading,g[1],e._nonce),g=k(j)){if(i){var l=i;l.status="blocked"}else l=new D("blocked",null,null),h.set(f,l);g.then(function(){return N(e,l,j)},function(a){return J(e,l,a)})}else i?N(e,i,j):h.set(f,new D("resolved_module",j,null));break;case 72:switch(b=d[0],a=JSON.parse(d=d.slice(1),a._fromJSON),d=m.d,b){case"D":d.D(a);break;case"C":"string"==typeof a?d.C(a):d.C(a[0],a[1]);break;case"L":b=a[0],c=a[1],3===a.length?d.L(b,c,a[2]):d.L(b,c);break;case"m":"string"==typeof a?d.m(a):d.m(a[0],a[1]);break;case"X":"string"==typeof a?d.X(a):d.X(a[0],a[1]);break;case"S":"string"==typeof a?d.S(a):d.S(a[0],0===a[1]?void 0:a[1],3===a.length?a[2]:void 0);break;case"M":"string"==typeof a?d.M(a):d.M(a[0],a[1])}break;case 69:var n=(c=a._chunks).get(b);d=JSON.parse(d);var o=al();o.digest=d.digest,n?J(a,n,o):c.set(b,new D("rejected",null,o));break;case 84:(c=(a=a._chunks).get(b))&&"pending"!==c.status?c.reason.enqueueValue(d):a.set(b,new D("fulfilled",d,null));break;case 78:case 68:case 74:case 87:throw Error("Failed to read a RSC payload created by a development version of React on the server while using a production version on the client. Always use matching versions on the server and the client.");case 82:ai(a,b,void 0);break;case 114:ai(a,b,"bytes");break;case 88:ak(a,b,!1);break;case 120:ak(a,b,!0);break;case 67:(a=a._chunks.get(b))&&"fulfilled"===a.status&&a.reason.close(""===d?'"$undefined"':d);break;default:(n=(c=a._chunks).get(b))?M(a,n,d):c.set(b,new D("resolved_model",d,a))}}function ap(a,b,c){for(var d=0,e=b._rowState,g=b._rowID,h=b._rowTag,i=b._rowLength,j=b._buffer,k=c.length;d<k;){var l=-1;switch(e){case 0:58===(l=c[d++])?e=1:g=g<<4|(96<l?l-87:l-48);continue;case 1:84===(e=c[d])||65===e||79===e||111===e||85===e||83===e||115===e||76===e||108===e||71===e||103===e||77===e||109===e||86===e?(h=e,e=2,d++):64<e&&91>e||35===e||114===e||120===e?(h=e,e=3,d++):(h=0,e=3);continue;case 2:44===(l=c[d++])?e=4:i=i<<4|(96<l?l-87:l-48);continue;case 3:l=c.indexOf(10,d);break;case 4:(l=d+i)>c.length&&(l=-1)}var m=c.byteOffset+d;if(-1<l)(function(a,b,c,d,e){switch(c){case 65:ag(a,b,am(d,e).buffer);return;case 79:an(a,b,d,e,Int8Array,1);return;case 111:ag(a,b,0===d.length?e:am(d,e));return;case 85:an(a,b,d,e,Uint8ClampedArray,1);return;case 83:an(a,b,d,e,Int16Array,2);return;case 115:an(a,b,d,e,Uint16Array,2);return;case 76:an(a,b,d,e,Int32Array,4);return;case 108:an(a,b,d,e,Uint32Array,4);return;case 71:an(a,b,d,e,Float32Array,4);return;case 103:an(a,b,d,e,Float64Array,8);return;case 77:an(a,b,d,e,BigInt64Array,8);return;case 109:an(a,b,d,e,BigUint64Array,8);return;case 86:an(a,b,d,e,DataView,1);return}for(var g=a._stringDecoder,h="",i=0;i<d.length;i++)h+=g.decode(d[i],f);ao(a,b,c,h+=g.decode(e))})(a,g,h,j,i=new Uint8Array(c.buffer,m,l-d)),d=l,3===e&&d++,i=g=h=e=0,j.length=0;else{a=new Uint8Array(c.buffer,m,c.byteLength-d),j.push(a),i-=a.byteLength;break}}b._rowState=e,b._rowID=g,b._rowTag=h,b._rowLength=i}function aq(a){R(a,Error("Connection closed."))}function ar(){throw Error("Server Functions cannot be called during initial render. This would create a fetch waterfall. Try to use a Server Component to pass data to Client Components instead.")}function as(a){return new ae(a.serverConsumerManifest.moduleMap,a.serverConsumerManifest.serverModuleMap,a.serverConsumerManifest.moduleLoading,ar,a.encodeFormAction,"string"==typeof a.nonce?a.nonce:void 0,a&&a.temporaryReferences?a.temporaryReferences:void 0)}function at(a,b){function c(b){R(a,b)}var d=af(),e=b.getReader();e.read().then(function b(f){var g=f.value;if(!f.done)return ap(a,d,g),e.read().then(b).catch(c);aq(a)}).catch(c)}function au(){throw Error("Server Functions cannot be called during initial render. This would create a fetch waterfall. Try to use a Server Component to pass data to Client Components instead.")}b.createFromFetch=function(a,b){var c=as(b);return a.then(function(a){at(c,a.body)},function(a){R(c,a)}),T(c,0)},b.createFromNodeStream=function(a,b,c){var d=new ae(b.moduleMap,b.serverModuleMap,b.moduleLoading,au,c?c.encodeFormAction:void 0,c&&"string"==typeof c.nonce?c.nonce:void 0,void 0),e=af();return a.on("data",function(a){if("string"==typeof a){for(var b=0,c=e._rowState,f=e._rowID,g=e._rowTag,h=e._rowLength,i=e._buffer,j=a.length;b<j;){var k=-1;switch(c){case 0:58===(k=a.charCodeAt(b++))?c=1:f=f<<4|(96<k?k-87:k-48);continue;case 1:84===(c=a.charCodeAt(b))||65===c||79===c||111===c||85===c||83===c||115===c||76===c||108===c||71===c||103===c||77===c||109===c||86===c?(g=c,c=2,b++):64<c&&91>c||114===c||120===c?(g=c,c=3,b++):(g=0,c=3);continue;case 2:44===(k=a.charCodeAt(b++))?c=4:h=h<<4|(96<k?k-87:k-48);continue;case 3:k=a.indexOf("\n",b);break;case 4:if(84!==g)throw Error("Binary RSC chunks cannot be encoded as strings. This is a bug in the wiring of the React streams.");if(h<a.length||a.length>3*h)throw Error("String chunks need to be passed in their original shape. Not split into smaller string chunks. This is a bug in the wiring of the React streams.");k=a.length}if(-1<k){if(0<i.length)throw Error("String chunks need to be passed in their original shape. Not split into smaller string chunks. This is a bug in the wiring of the React streams.");ao(d,f,g,b=a.slice(b,k)),b=k,3===c&&b++,h=f=g=c=0,i.length=0}else if(a.length!==b)throw Error("String chunks need to be passed in their original shape. Not split into smaller string chunks. This is a bug in the wiring of the React streams.")}e._rowState=c,e._rowID=f,e._rowTag=g,e._rowLength=h}else ap(d,e,a)}),a.on("error",function(a){R(d,a)}),a.on("end",function(){return aq(d)}),T(d,0)},b.createFromReadableStream=function(a,b){return at(b=as(b),a),T(b,0)},b.createServerReference=function(a){function b(){var b=Array.prototype.slice.call(arguments);return ar(a,b)}return z(b,a,null,void 0),b},b.createTemporaryReferenceSet=function(){return new Map},b.encodeReply=function(a,b){return new Promise(function(c,d){var e=v(a,"",b&&b.temporaryReferences?b.temporaryReferences:void 0,c,d);if(b&&b.signal){var f=b.signal;if(f.aborted)e(f.reason);else{var g=function(){e(f.reason),f.removeEventListener("abort",g)};f.addEventListener("abort",g)}}})},b.registerServerReference=function(a,b,c){return z(a,b,null,c),a}},10021:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{D4:()=>o}),c(73024);var e=c(84104),f=c(81909),g=c(16343),h=c(38985),i=c(79336),j=a([e,f,g,h,i]);[e,f,g,h,i]=j.then?(await j)():j;let p=["openai","elevenlabs","local"],q="alloy",r=new Set(["alloy","echo","fable","onyx","nova","shimmer"]);function k(a,...b){let c=String(a??"");for(let a of b){if(!a)continue;let b=String(a).slice(-4);c=c.split(String(a)).join(`***${b}`)}return c}async function l({text:a,voice:b,model:c,format:d,fetchFn:e}){let g,h=(0,f.r6)("OPENAI_API_KEY")||process.env.OPENAI_API_KEY;if(!h)throw Error("OPENAI_API_KEY missing for OpenAI TTS");let i=b&&r.has(b)?b:q,j=c||"tts-1",l=d||"mp3";try{g=await e("https://api.openai.com/v1/audio/speech",{method:"POST",headers:{Authorization:`Bearer ${h}`,"Content-Type":"application/json"},body:JSON.stringify({model:j,voice:i,input:a,format:l})})}catch(a){throw Error(`openai tts failed: ${k(a?.message,h)}`)}if(!g.ok){let a="";try{a=(await g.text()).slice(0,256)}catch{}throw Error(`openai tts http ${g.status}: ${k(a,h)}`)}return{audio_buffer:Buffer.from(await g.arrayBuffer()),mime_type:"wav"===l?"audio/wav":"audio/mpeg",extension:"wav"===l?"wav":"mp3",provider:"openai",voice:i,model:j}}async function m({text:a,voice:b,model:c,format:d,fetchFn:e}){let g,h=(0,f.r6)("ELEVENLABS_API_KEY")||process.env.ELEVENLABS_API_KEY;if(!h)throw Error("ELEVENLABS_API_KEY missing for ElevenLabs TTS");let i=b||(0,f.r6)("ELEVENLABS_VOICE_ID")||process.env.ELEVENLABS_VOICE_ID||"21m00Tcm4TlvDq8ikWAM",j=c||"eleven_multilingual_v2",l="wav"===d?"pcm_16000":"mp3_44100_128";try{g=await e(`https://api.elevenlabs.io/v1/text-to-speech/${encodeURIComponent(i)}?output_format=${l}`,{method:"POST",headers:{"xi-api-key":h,"Content-Type":"application/json",Accept:"audio/mpeg"},body:JSON.stringify({text:a,model_id:j})})}catch(a){throw Error(`elevenlabs tts failed: ${k(a?.message,h)}`)}if(!g.ok){let a="";try{a=(await g.text()).slice(0,256)}catch{}throw Error(`elevenlabs tts http ${g.status}: ${k(a,h)}`)}return{audio_buffer:Buffer.from(await g.arrayBuffer()),mime_type:l.startsWith("pcm_")?"audio/wav":"audio/mpeg",extension:l.startsWith("pcm_")?"wav":"mp3",provider:"elevenlabs",voice:i,model:j}}async function n({text:a,voice:b,model:c,format:d,fetchFn:e}){let f,g=function(){let a=process.env.MADARX_LOCAL_TTS_URL;return a&&/^https?:\/\//i.test(a.trim())?a.trim():null}();if(!g)throw Error("MADARX_LOCAL_TTS_URL missing for local TTS");let h=d||"wav",i=c||process.env.MADARX_LOCAL_TTS_MODEL||"local",j=b||process.env.MADARX_LOCAL_TTS_VOICE||"default";try{f=await e(g,{method:"POST",headers:{"Content-Type":"application/json",Accept:"mp3"===h?"audio/mpeg,application/json":"audio/wav,audio/*,application/json"},body:JSON.stringify({text:a,voice:j,model:i,format:h})})}catch(a){throw Error(`local tts failed: ${k(a?.message)}`)}if(!f.ok){let a="";try{a=(await f.text()).slice(0,256)}catch{}throw Error(`local tts http ${f.status}: ${a}`)}let l=String(f.headers.get("content-type")||"").toLowerCase();if(l.includes("application/json")){let a;try{a=await f.json()}catch{throw Error("local tts returned invalid JSON")}let b=a?.audio_base64||a?.audio;if(!b)throw Error("local tts JSON must include audio_base64");let c=a.mime_type||a.content_type||("mp3"===h?"audio/mpeg":"audio/wav"),d=a.extension||(String(c).includes("mpeg")||String(c).includes("mp3")?"mp3":"wav");return{audio_buffer:Buffer.from(String(b),"base64"),mime_type:c,extension:d,provider:"local",voice:a.voice||j,model:a.model||i}}let m=Buffer.from(await f.arrayBuffer()),n=l.includes("mpeg")||l.includes("mp3")||"mp3"===h;return{audio_buffer:m,mime_type:l||(n?"audio/mpeg":"audio/wav"),extension:n?"mp3":"wav",provider:"local",voice:j,model:i}}async function o(a={}){let b=String(a.text||"").trim();if(!b)throw Error("text is required");if(b.length>4e3)throw Error("text too long: max 4000 characters");let c=String(a.provider||process.env.MADARX_VOICE_DEFAULT_PROVIDER||process.env.TTS_DEFAULT_PROVIDER||"openai").toLowerCase(),d=p.includes(c)?c:"openai",f=(0,g.N)("voice_speak",a.agent_id??null,a.fetch||fetch),j=await ("elevenlabs"===d?m:"local"===d?n:l)({text:b,voice:a.voice,model:a.model,format:a.format,fetchFn:f}),k=Math.max(500,Math.round(b.length/14*1e3)),q=null;if(a.save_to_disk&&a.project_id){let c=(0,i.U1)(a.project_id);if(c){let a=function(a){let b=(0,e.Lf)(),c=(0,h.dh)(a),d=b.prepare("SELECT * FROM disk_folders WHERE project_id = ? AND parent_id = ? AND name = ? LIMIT 1").get(a,c.id,"voice");return d||(0,h.vV)(a,c.id,"voice")}(c.id),d=b.slice(0,40).replace(/[^A-Za-z0-9]+/g,"-").replace(/^-+|-+$/g,"")||"tts";q=(0,h.QM)(c.id,a.id,{name:`${d}-${Date.now()}.${j.extension}`,buffer:j.audio_buffer,type:j.mime_type},{local_only:!1})}}try{(0,e.Lf)().prepare(`
303
303
  INSERT INTO audit_logs (id, at, type, summary, status, meta)
304
304
  VALUES (?, ?, ?, ?, ?, ?)
305
- `).run((0,e.Si)("audit"),(0,e.kF)(),"voice.tts",`TTS ${d} voice=${j.voice} chars=${b.length}`,"complete",JSON.stringify({provider:d,voice:j.voice,model:j.model,text_chars:b.length,audio_bytes:j.audio_buffer.length,disk_file_id:p?.id||null,agent_id:a.agent_id||null}))}catch(a){console.warn("[tts] audit write failed:",a?.message||a)}return{audio_buffer:j.audio_buffer,mime_type:j.mime_type,extension:j.extension,provider:d,voice:j.voice,model:j.model,duration_estimate_ms:k,disk_file:p}}d()}catch(a){d(a)}})},10022:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{RB:()=>k});var e=c(73024);c(48161);var f=c(76760),g=c(84104),h=c(37937),i=a([g,h]);[g,h]=i.then?(await i)():i;let l=new Set([".ssh"]);function j(a){try{return e.realpathSync.native?e.realpathSync.native(a):e.realpathSync(a)}catch{return f.resolve(a)}}function k(a,b={}){let c=function(a){let b=f.resolve(String(a||"."));if(e.existsSync(b))return j(b);let c=[],d=b;for(;!e.existsSync(d);){c.unshift(f.basename(d));let a=f.dirname(d);if(a===d)return b;d=a}return f.join(j(d),...c)}(f.resolve(String(a||".")));return!function(a){if(a.split(f.sep).filter(Boolean).some(a=>l.has(a)))return!0;let b=f.basename(a);return".env.local"===b||/^\.env($|\.)/.test(b)}(c)&&(function(a={}){let b=function(a={}){return a.org_id||"personal-org"}(a);return(0,g.Lf)().prepare(`
305
+ `).run((0,e.Si)("audit"),(0,e.kF)(),"voice.tts",`TTS ${d} voice=${j.voice} chars=${b.length}`,"complete",JSON.stringify({provider:d,voice:j.voice,model:j.model,text_chars:b.length,audio_bytes:j.audio_buffer.length,disk_file_id:q?.id||null,agent_id:a.agent_id||null}))}catch(a){console.warn("[tts] audit write failed:",a?.message||a)}return{audio_buffer:j.audio_buffer,mime_type:j.mime_type,extension:j.extension,provider:d,voice:j.voice,model:j.model,duration_estimate_ms:k,disk_file:q}}d()}catch(a){d(a)}})},10022:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{RB:()=>k});var e=c(73024);c(48161);var f=c(76760),g=c(84104),h=c(37937),i=a([g,h]);[g,h]=i.then?(await i)():i;let l=new Set([".ssh"]);function j(a){try{return e.realpathSync.native?e.realpathSync.native(a):e.realpathSync(a)}catch{return f.resolve(a)}}function k(a,b={}){let c=function(a){let b=f.resolve(String(a||"."));if(e.existsSync(b))return j(b);let c=[],d=b;for(;!e.existsSync(d);){c.unshift(f.basename(d));let a=f.dirname(d);if(a===d)return b;d=a}return f.join(j(d),...c)}(f.resolve(String(a||".")));return!function(a){if(a.split(f.sep).filter(Boolean).some(a=>l.has(a)))return!0;let b=f.basename(a);return".env.local"===b||/^\.env($|\.)/.test(b)}(c)&&(function(a={}){let b=function(a={}){return a.org_id||"personal-org"}(a);return(0,g.Lf)().prepare(`
306
306
  SELECT id, scope_value AS root_path, label, created_at, org_id, created_by_user_id
307
307
  FROM tool_allowlists
308
308
  WHERE tool_name = ? AND scope_key = ? AND COALESCE(org_id, ?) = ?
309
309
  ORDER BY created_at DESC
310
- `).all("mines_data_import","directory_root",b,b).map(a=>({id:a.id,root_path:a.root_path,label:a.label||f.basename(a.root_path)||a.root_path,created_at:a.created_at,org_id:a.org_id||b,created_by_user_id:a.created_by_user_id||null}))})(b).some(a=>{let b=f.resolve(a.root_path),d=f.relative(b,c);return""===d||!!d&&!d.startsWith("..")&&!f.isAbsolute(d)})}d()}catch(a){d(a)}})},10407:(a,b,c)=>{"use strict";a.exports=c(49754).vendored["react-rsc"].ReactDOM},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},11180:(a,b,c)=>{"use strict";c.d(b,{default:()=>m});var d=c(21124),e=c(38301),f=c(23312),g=c(43815),h=c(85708);let i=(0,h.createServerReference)("40c62f1577c61cd15928c045fd78ddcbd2e1f9d318",h.callServer,void 0,h.findSourceMapURL,"createProjectAction");var j=c(54151);let k=[{value:"#c2452a",name:"Mars Red"},{value:"#a83a22",name:"Deep Red"},{value:"#7c2b19",name:"Dark Red"},{value:"#111318",name:"Charcoal"},{value:"#3f3a30",name:"Warm Black"},{value:"#68707b",name:"Slate"},{value:"#cdb78a",name:"Warm Sand"},{value:"#1f6c9f",name:"Skill Blue"}];function l(){let{pending:a}=(0,f.useFormStatus)();return(0,d.jsx)("button",{type:"submit",className:"admin-button",disabled:a,"aria-busy":a?"true":void 0,children:a?"Creating…":"Create project"})}function m({workspaceRoot:a="~/workspace/projects"}){let[b,c]=e.useState(!1),[f,h]=e.useState(""),[m,n]=e.useState("workspace"),[o,p]=e.useState(""),q=e.useRef(null),r=e.useMemo(()=>`${a.replace(/\/$/,"")}/${String(f||"").toLowerCase().trim().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").slice(0,64)||"project"}`,[a,f]);return e.useEffect(()=>{"custom"===m&&q.current?.focus()},[m]),(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("button",{type:"button",className:"admin-button agents-new-cta",onClick:()=>c(!0),children:[(0,d.jsx)("span",{"aria-hidden":!0,className:"agents-new-cta-glyph",children:"+"}),"New project"]}),(0,d.jsx)(g.A,{open:b,onClose:()=>c(!1),eyebrow:"New project",title:"Create a project",children:(0,d.jsxs)("form",{className:"agents-modal-form",action:i,children:[(0,d.jsx)("p",{className:"agents-modal-help",children:"Scope agents, documents, memory, and integrations together."}),(0,d.jsx)("section",{className:"agents-modal-section",children:(0,d.jsxs)("label",{className:"agents-modal-field wide",children:[(0,d.jsx)("span",{children:"Name"}),(0,d.jsx)("input",{name:"name",type:"text",required:!0,placeholder:"Acme Co.",autoComplete:"off",value:f,onChange:a=>h(a.target.value),autoFocus:!0})]})}),(0,d.jsxs)("section",{className:"agents-modal-section",children:[(0,d.jsxs)("div",{className:"agents-modal-section-head",children:[(0,d.jsx)("span",{children:"Folder location"}),(0,d.jsx)("small",{children:"Where this project lives on disk."})]}),(0,d.jsxs)("div",{className:"agents-modal-radio-group",children:[(0,d.jsxs)("label",{className:`agents-modal-radio ${"workspace"===m?"on":""}`,children:[(0,d.jsx)("input",{type:"radio",name:"folder_mode",value:"workspace",checked:"workspace"===m,onChange:()=>n("workspace")}),(0,d.jsxs)("span",{className:"agents-modal-radio-body",children:[(0,d.jsx)("b",{children:"madarX workspace"}),(0,d.jsx)("code",{title:r,children:function(a,b=48){if(!a||a.length<=b)return a;let c=a.slice(0,Math.floor(b/2)-1),d=a.slice(a.length-Math.floor(b/2)+2);return`${c}…${d}`}(r)})]})]}),(0,d.jsxs)("label",{className:`agents-modal-radio ${"custom"===m?"on":""}`,children:[(0,d.jsx)("input",{type:"radio",name:"folder_mode",value:"custom",checked:"custom"===m,onChange:()=>n("custom")}),(0,d.jsxs)("span",{className:"agents-modal-radio-body",children:[(0,d.jsx)("b",{children:"Custom path"}),(0,d.jsx)("small",{children:"Any absolute folder. Created if missing."})]})]})]}),"custom"===m?(0,d.jsx)(j.A,{inputRef:q,value:o,onChange:p}):(0,d.jsx)("input",{type:"hidden",name:"folder_path",value:""})]}),(0,d.jsxs)("section",{className:"agents-modal-section",children:[(0,d.jsxs)("div",{className:"agents-modal-section-head",children:[(0,d.jsx)("span",{children:"Color"}),(0,d.jsx)("small",{children:"Used for the project tile across the app."})]}),(0,d.jsxs)("fieldset",{className:"agents-modal-swatches",children:[(0,d.jsx)("legend",{className:"visually-hidden",children:"Project color"}),k.map(a=>(0,d.jsxs)("label",{className:"agents-modal-swatch",style:{"--swatch":a.value},children:[(0,d.jsx)("input",{type:"radio",name:"color",value:a.value,defaultChecked:"#c2452a"===a.value}),(0,d.jsx)("span",{className:"agents-modal-swatch-ring","aria-hidden":"true"}),(0,d.jsx)("span",{className:"visually-hidden",children:a.name})]},a.value))]})]}),(0,d.jsxs)("section",{className:"agents-modal-section",children:[(0,d.jsxs)("div",{className:"agents-modal-section-head",children:[(0,d.jsx)("span",{children:"Description"}),(0,d.jsx)("small",{children:"Used as context for agents working in this project."})]}),(0,d.jsx)("label",{className:"agents-modal-field wide",children:(0,d.jsx)("textarea",{name:"description",rows:3,placeholder:"What is this project for? Goals, audience, voice, constraints."})})]}),(0,d.jsxs)("footer",{className:"agents-modal-foot",children:[(0,d.jsx)("button",{type:"button",className:"admin-button secondary",onClick:()=>c(!1),children:"Cancel"}),(0,d.jsx)(l,{})]})]})})]})}},11575:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{y:()=>m});var e=c(73024),f=c(76760),g=c(83498),h=c(84104),i=c(79336),j=c(65527),k=a([h,i,j]);[h,i,j]=k.then?(await k)():k;let n=f.join(g.nJ,".artifacts-migrated-v1");function l(a){return f.relative(g.Dl,a)}function m({force:a=!1,log:b=()=>{}}={}){if(!a&&function(){try{return e.existsSync(n)}catch{return!1}}())return{ok:!0,skipped:!0,reason:"already_migrated"};let c=(0,h.Lf)(),d=[];try{d=c.prepare("SELECT id, path, project_id FROM artifacts WHERE path IS NOT NULL AND path != ''").all()}catch{return{ok:!1,error:"artifacts table unavailable",summary:null}}let k={moved:0,rewritten:0,missing_on_disk:0,already_scoped:0,errors:0,details:[]},o=f.resolve(g.yQ),p=o+f.sep;c.exec("BEGIN IMMEDIATE");try{for(let a of d){let d=f.resolve(g.Dl,a.path),h=function(a){let b=a.project_id||i.Sk;return(0,i.U1)(b)||(0,i.U1)(i.Sk)}(a);if(!h){k.errors++;continue}let m=(0,j.v2)(h),n=f.resolve(m);if(d===n||d.startsWith(n+f.sep)||!(d===o||d.startsWith(p))){k.already_scoped++;continue}try{e.mkdirSync(m,{recursive:!0})}catch{}let q=f.basename(d),r=f.join(m,q),s=l(r);try{if(e.existsSync(d)){let b=r,g=s,i=!1;if(e.existsSync(r)&&d!==r){let a=f.extname(q),c=f.basename(q,a),d=Date.now().toString(36);b=f.join(m,`${c}-${d}${a}`),g=l(b),i=!0}e.renameSync(d,b),c.prepare("UPDATE artifacts SET path = ?, project_id = ? WHERE id = ?").run(g,h.id,a.id),k.moved++,k.rewritten++,k.details.push({id:a.id,from:a.path,to:g,collision:i})}else k.missing_on_disk++,c.prepare("UPDATE artifacts SET path = ?, project_id = ? WHERE id = ?").run(s,h.id,a.id),k.rewritten++,k.details.push({id:a.id,from:a.path,to:s,file_missing:!0})}catch(c){k.errors++,b(`migrate-artifacts: failed for ${a.id} (${a.path}): ${c.message}`)}}c.exec("COMMIT")}catch(a){try{c.exec("ROLLBACK")}catch{}return b(`migrate-artifacts: rolled back: ${a.message}`),{ok:!1,error:a.message,summary:k}}try{e.writeFileSync(n,`${new Date().toISOString()}
310
+ `).all("mines_data_import","directory_root",b,b).map(a=>({id:a.id,root_path:a.root_path,label:a.label||f.basename(a.root_path)||a.root_path,created_at:a.created_at,org_id:a.org_id||b,created_by_user_id:a.created_by_user_id||null}))})(b).some(a=>{let b=f.resolve(a.root_path),d=f.relative(b,c);return""===d||!!d&&!d.startsWith("..")&&!f.isAbsolute(d)})}d()}catch(a){d(a)}})},10407:(a,b,c)=>{"use strict";a.exports=c(49754).vendored["react-rsc"].ReactDOM},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},11575:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{y:()=>m});var e=c(73024),f=c(76760),g=c(83498),h=c(84104),i=c(79336),j=c(65527),k=a([h,i,j]);[h,i,j]=k.then?(await k)():k;let n=f.join(g.nJ,".artifacts-migrated-v1");function l(a){return f.relative(g.Dl,a)}function m({force:a=!1,log:b=()=>{}}={}){if(!a&&function(){try{return e.existsSync(n)}catch{return!1}}())return{ok:!0,skipped:!0,reason:"already_migrated"};let c=(0,h.Lf)(),d=[];try{d=c.prepare("SELECT id, path, project_id FROM artifacts WHERE path IS NOT NULL AND path != ''").all()}catch{return{ok:!1,error:"artifacts table unavailable",summary:null}}let k={moved:0,rewritten:0,missing_on_disk:0,already_scoped:0,errors:0,details:[]},o=f.resolve(g.yQ),p=o+f.sep;c.exec("BEGIN IMMEDIATE");try{for(let a of d){let d=f.resolve(g.Dl,a.path),h=function(a){let b=a.project_id||i.Sk;return(0,i.U1)(b)||(0,i.U1)(i.Sk)}(a);if(!h){k.errors++;continue}let m=(0,j.v2)(h),n=f.resolve(m);if(d===n||d.startsWith(n+f.sep)||!(d===o||d.startsWith(p))){k.already_scoped++;continue}try{e.mkdirSync(m,{recursive:!0})}catch{}let q=f.basename(d),r=f.join(m,q),s=l(r);try{if(e.existsSync(d)){let b=r,g=s,i=!1;if(e.existsSync(r)&&d!==r){let a=f.extname(q),c=f.basename(q,a),d=Date.now().toString(36);b=f.join(m,`${c}-${d}${a}`),g=l(b),i=!0}e.renameSync(d,b),c.prepare("UPDATE artifacts SET path = ?, project_id = ? WHERE id = ?").run(g,h.id,a.id),k.moved++,k.rewritten++,k.details.push({id:a.id,from:a.path,to:g,collision:i})}else k.missing_on_disk++,c.prepare("UPDATE artifacts SET path = ?, project_id = ? WHERE id = ?").run(s,h.id,a.id),k.rewritten++,k.details.push({id:a.id,from:a.path,to:s,file_missing:!0})}catch(c){k.errors++,b(`migrate-artifacts: failed for ${a.id} (${a.path}): ${c.message}`)}}c.exec("COMMIT")}catch(a){try{c.exec("ROLLBACK")}catch{}return b(`migrate-artifacts: rolled back: ${a.message}`),{ok:!1,error:a.message,summary:k}}try{e.writeFileSync(n,`${new Date().toISOString()}
311
311
  ${JSON.stringify(k,null,2)}
312
- `,"utf8")}catch{}return{ok:!0,skipped:!1,summary:k}}d()}catch(a){d(a)}})},11812:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{Dv:()=>l,Tg:()=>m,gL:()=>k});var e=c(91488);c(27806);var f=c(69206),g=c(91837),h=c(79336),i=c(40410),j=a([h]);async function k(a){let b=String(a.get("folder_mode")||"workspace"),c=String(a.get("folder_path")||"").trim(),d=(0,h.gA)({name:a.get("name"),color:a.get("color"),description:a.get("description"),folder_path:"custom"===b&&c?c:void 0});(0,f.redirect)(`/projects/${d.slug}`)}async function l(a){let b=String(a.get("project_id")||"").trim();if(b&&b!==h.Sk){try{(0,h.xx)(b)}catch(a){if(a?.code==="PROJECT_PROTECTED")return;throw a}(0,g.revalidatePath)("/projects")}}async function m(a){let b=String(a.get("project_id")||"").trim();if(!b)return;let c=String(a.get("folder_mode")||"keep"),d=String(a.get("folder_path")||"").trim(),e={name:String(a.get("name")||"").trim()||void 0,color:String(a.get("color")||"").trim()||void 0,description:String(a.get("description")||"").trim()||void 0};"custom"===c&&d&&(e.folder_path=d),(0,h.vr)(b,e),(0,g.revalidatePath)("/projects"),(0,g.revalidatePath)(`/projects/${b}`)}h=(j.then?(await j)():j)[0],(0,i.D)([k,l,m]),(0,e.A)(k,"40c62f1577c61cd15928c045fd78ddcbd2e1f9d318",null),(0,e.A)(l,"402113651be9d61319cdae940bac4826787656ed56",null),(0,e.A)(m,"4046bff3f50a4d8e21373406b0bd9a355d7a6d6f77",null),d()}catch(a){d(a)}})},12690:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{getClientComponentLoaderMetrics:function(){return g},wrapClientComponentLoader:function(){return f}});let c=0,d=0,e=0;function f(a){return"performance"in globalThis?{require:(...b)=>{let f=performance.now();0===c&&(c=f);try{return e+=1,a.__next_app__.require(...b)}finally{d+=performance.now()-f}},loadChunk:(...b)=>{let c=performance.now(),e=a.__next_app__.loadChunk(...b);return e.finally(()=>{d+=performance.now()-c}),e}}:a.__next_app__}function g(a={}){let b=0===c?void 0:{clientComponentLoadStart:c,clientComponentLoadTimes:d,clientComponentLoadCount:e};return a.reset&&(c=0,d=0,e=0),b}},13633:(a,b,c)=>{"use strict";c.d(b,{Q:()=>f});var d=c(8512),e=c(60951);function f(a,b){let c=(0,e.l)(function(a){let b=[],c=-1,e=0,f=0;for(;++c<a.length;){let g=a.charCodeAt(c),h="";if(37===g&&(0,d.lV)(a.charCodeAt(c+1))&&(0,d.lV)(a.charCodeAt(c+2)))f=2;else if(g<128)/[!#$&-;=?-Z_a-z~]/.test(String.fromCharCode(g))||(h=String.fromCharCode(g));else if(g>55295&&g<57344){let b=a.charCodeAt(c+1);g<56320&&b>56319&&b<57344?(h=String.fromCharCode(g,b),f=1):h="�"}else h=String.fromCharCode(g);h&&(b.push(a.slice(e,c),encodeURIComponent(h)),e=c+f+1,h=""),f&&(c+=f,f=0)}return b.join("")+a.slice(e)}(a||""));if(!b)return c;let f=c.indexOf(":"),g=c.indexOf("?"),h=c.indexOf("#"),i=c.indexOf("/");return f<0||i>-1&&f>i||g>-1&&f>g||h>-1&&f>h||b.test(c.slice(0,f))?c:""}},14117:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{$A:()=>k,Ac:()=>i,FT:()=>j,N3:()=>m,uS:()=>l});var e=c(76760);c(73024);var f=c(84104),g=c(83498),h=a([f]);f=(h.then?(await h)():h)[0];let l=e.join(g.un,"generated-clis"),m=e.join(g.un,"skills","printing-press");e.join(g.nJ,"printing-press-clis.json");let n=/^[a-z0-9][a-z0-9-]{0,63}$/;function i(a){return"string"==typeof a&&n.test(a)}function j(a){let b=e.resolve(a),c=e.resolve(l);if(!b.startsWith(c+e.sep)&&b!==c)throw Error(`Path is not under workspace/generated-clis/: ${a}`);return b}function k(a){if(!i(a))return null;var b=(0,f.Lf)().prepare("SELECT * FROM printing_press_clis WHERE slug = ?").get(a);if(!b)return null;let c=null,d=[],e=[];try{c=b.manifest_json?JSON.parse(b.manifest_json):null}catch{c=null}try{d=b.declared_scopes?JSON.parse(b.declared_scopes):[]}catch{d=[]}try{e=b.required_secrets?JSON.parse(b.required_secrets):[]}catch{e=[]}return{slug:b.slug,source_kind:b.source_kind,source_url:b.source_url||null,installed_at:b.installed_at,updated_at:b.updated_at,path:b.path,declared_scopes:d,required_secrets:e,quota_bytes:b.quota_bytes||0x6400000,manifest:c,status:b.status}}d()}catch(a){d(a)}})},14821:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{B:()=>k});var e=c(73024),f=c(76760),g=c(84104),h=c(83498),i=c(684),j=a([g]);g=(j.then?(await j)():j)[0];let l=/^[a-z][a-z0-9_]{2,63}$/;async function k(a={},b={}){let d="string"==typeof a?.slug?a.slug.trim():"";if(!d||!l.test(d))return{ok:!1,status:"error",error:"slug_required",message:"slug required (snake_case, 3-64 chars)"};let j="string"==typeof a?.summary?a.summary.slice(0,2e3):"",m=["low","medium","high","irreversible_external"].includes(a?.risk)?a.risk:"medium",n=f.join("tool-proposals",d),o=f.join(h.un,n),p={[`${d}.adapter.js`]:function(a,b){let c=a.replace(/_([a-z])/g,(a,b)=>b.toUpperCase());return`// lib/tools/adapters/${a}.js — PROPOSED, not yet wired.
312
+ `,"utf8")}catch{}return{ok:!0,skipped:!1,summary:k}}d()}catch(a){d(a)}})},11812:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{Dv:()=>l,Tg:()=>m,gL:()=>k});var e=c(91488);c(27806);var f=c(69206),g=c(91837),h=c(79336),i=c(40410),j=a([h]);async function k(a){let b=String(a.get("folder_mode")||"workspace"),c=String(a.get("folder_path")||"").trim(),d=(0,h.gA)({name:a.get("name"),color:a.get("color"),description:a.get("description"),folder_path:"custom"===b&&c?c:void 0});(0,f.redirect)(`/projects/${d.slug}`)}async function l(a){let b=String(a.get("project_id")||"").trim();if(b&&b!==h.Sk){try{(0,h.xx)(b)}catch(a){if(a?.code==="PROJECT_PROTECTED")return;throw a}(0,g.revalidatePath)("/projects")}}async function m(a){let b=String(a.get("project_id")||"").trim();if(!b)return;let c=String(a.get("folder_mode")||"keep"),d=String(a.get("folder_path")||"").trim(),e={name:String(a.get("name")||"").trim()||void 0,color:String(a.get("color")||"").trim()||void 0,description:String(a.get("description")||"").trim()||void 0};"custom"===c&&d&&(e.folder_path=d),(0,h.vr)(b,e),(0,g.revalidatePath)("/projects"),(0,g.revalidatePath)(`/projects/${b}`)}h=(j.then?(await j)():j)[0],(0,i.D)([k,l,m]),(0,e.A)(k,"403c25060ebe8ffd3630e52b9e29629efa7a15835b",null),(0,e.A)(l,"4075a84e8eb09a4875edef58dc19d1a4d6a5b6ed89",null),(0,e.A)(m,"404cce7150d2acc5ee19356fa3efb446f4ccd47781",null),d()}catch(a){d(a)}})},12556:(a,b,c)=>{"use strict";c.d(b,{default:()=>k});var d=c(21124),e=c(38301),f=c(23312),g=c(43815),h=c(85708);let i=(0,h.createServerReference)("4075a84e8eb09a4875edef58dc19d1a4d6a5b6ed89",h.callServer,void 0,h.findSourceMapURL,"deleteProjectAction");function j({disabled:a}){let{pending:b}=(0,f.useFormStatus)();return(0,d.jsx)("button",{type:"submit",className:"admin-button danger",disabled:b||a,"aria-busy":b?"true":void 0,children:b?"Deleting…":"Delete project"})}function k({projectId:a,projectName:b,projectSlug:c,isProtected:f}){let[h,k]=e.useState(!1),[l,m]=e.useState("");if(f)return(0,d.jsxs)("span",{className:"admin-button secondary project-delete is-locked","aria-disabled":"true",title:"The Personal project is the default scope and cannot be deleted.",children:[(0,d.jsxs)("svg",{width:"11",height:"11",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",style:{marginRight:6,verticalAlign:"-1px"},children:[(0,d.jsx)("rect",{x:"3",y:"11",width:"18",height:"11",rx:"2"}),(0,d.jsx)("path",{d:"M7 11V7a5 5 0 0 1 10 0v4"})]}),"Protected"]});e.useEffect(()=>{h||m("")},[h]);let n=l.trim()===c;return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("button",{type:"button",className:"admin-button secondary project-delete",onClick:()=>k(!0),"aria-label":`Delete ${b}`,children:"Delete"}),(0,d.jsx)(g.A,{open:h,onClose:()=>k(!1),eyebrow:"Delete project",title:`Delete ${b}?`,tone:"danger",children:(0,d.jsxs)("form",{className:"agents-modal-form",action:i,children:[(0,d.jsx)("input",{type:"hidden",name:"project_id",value:a}),(0,d.jsx)("p",{className:"agents-modal-help",children:"This removes the project, its agents, Disk files, memory, secrets, and audit history. The folder on your local drive is left untouched."}),(0,d.jsx)("section",{className:"agents-modal-section",children:(0,d.jsxs)("label",{className:"agents-modal-field wide",children:[(0,d.jsxs)("span",{children:["Type ",(0,d.jsx)("code",{className:"agents-modal-inline-code",children:c})," to confirm"]}),(0,d.jsx)("input",{type:"text",autoComplete:"off",spellCheck:!1,value:l,onChange:a=>m(a.target.value),placeholder:c,autoFocus:!0})]})}),(0,d.jsxs)("footer",{className:"agents-modal-foot",children:[(0,d.jsx)("button",{type:"button",className:"admin-button secondary",onClick:()=>k(!1),children:"Cancel"}),(0,d.jsx)(j,{disabled:!n})]})]})})]})}},12690:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{getClientComponentLoaderMetrics:function(){return g},wrapClientComponentLoader:function(){return f}});let c=0,d=0,e=0;function f(a){return"performance"in globalThis?{require:(...b)=>{let f=performance.now();0===c&&(c=f);try{return e+=1,a.__next_app__.require(...b)}finally{d+=performance.now()-f}},loadChunk:(...b)=>{let c=performance.now(),e=a.__next_app__.loadChunk(...b);return e.finally(()=>{d+=performance.now()-c}),e}}:a.__next_app__}function g(a={}){let b=0===c?void 0:{clientComponentLoadStart:c,clientComponentLoadTimes:d,clientComponentLoadCount:e};return a.reset&&(c=0,d=0,e=0),b}},13633:(a,b,c)=>{"use strict";c.d(b,{Q:()=>f});var d=c(8512),e=c(60951);function f(a,b){let c=(0,e.l)(function(a){let b=[],c=-1,e=0,f=0;for(;++c<a.length;){let g=a.charCodeAt(c),h="";if(37===g&&(0,d.lV)(a.charCodeAt(c+1))&&(0,d.lV)(a.charCodeAt(c+2)))f=2;else if(g<128)/[!#$&-;=?-Z_a-z~]/.test(String.fromCharCode(g))||(h=String.fromCharCode(g));else if(g>55295&&g<57344){let b=a.charCodeAt(c+1);g<56320&&b>56319&&b<57344?(h=String.fromCharCode(g,b),f=1):h="�"}else h=String.fromCharCode(g);h&&(b.push(a.slice(e,c),encodeURIComponent(h)),e=c+f+1,h=""),f&&(c+=f,f=0)}return b.join("")+a.slice(e)}(a||""));if(!b)return c;let f=c.indexOf(":"),g=c.indexOf("?"),h=c.indexOf("#"),i=c.indexOf("/");return f<0||i>-1&&f>i||g>-1&&f>g||h>-1&&f>h||b.test(c.slice(0,f))?c:""}},13934:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{"403c25060ebe8ffd3630e52b9e29629efa7a15835b":()=>e.gL,"404cce7150d2acc5ee19356fa3efb446f4ccd47781":()=>e.Tg,"4075a84e8eb09a4875edef58dc19d1a4d6a5b6ed89":()=>e.Dv});var e=c(11812),f=a([e]);e=(f.then?(await f)():f)[0],d()}catch(a){d(a)}})},14117:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{$A:()=>k,Ac:()=>i,FT:()=>j,N3:()=>m,uS:()=>l});var e=c(76760);c(73024);var f=c(84104),g=c(83498),h=a([f]);f=(h.then?(await h)():h)[0];let l=e.join(g.un,"generated-clis"),m=e.join(g.un,"skills","printing-press");e.join(g.nJ,"printing-press-clis.json");let n=/^[a-z0-9][a-z0-9-]{0,63}$/;function i(a){return"string"==typeof a&&n.test(a)}function j(a){let b=e.resolve(a),c=e.resolve(l);if(!b.startsWith(c+e.sep)&&b!==c)throw Error(`Path is not under workspace/generated-clis/: ${a}`);return b}function k(a){if(!i(a))return null;var b=(0,f.Lf)().prepare("SELECT * FROM printing_press_clis WHERE slug = ?").get(a);if(!b)return null;let c=null,d=[],e=[];try{c=b.manifest_json?JSON.parse(b.manifest_json):null}catch{c=null}try{d=b.declared_scopes?JSON.parse(b.declared_scopes):[]}catch{d=[]}try{e=b.required_secrets?JSON.parse(b.required_secrets):[]}catch{e=[]}return{slug:b.slug,source_kind:b.source_kind,source_url:b.source_url||null,installed_at:b.installed_at,updated_at:b.updated_at,path:b.path,declared_scopes:d,required_secrets:e,quota_bytes:b.quota_bytes||0x6400000,manifest:c,status:b.status}}d()}catch(a){d(a)}})},14821:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{B:()=>k});var e=c(73024),f=c(76760),g=c(84104),h=c(83498),i=c(684),j=a([g]);g=(j.then?(await j)():j)[0];let l=/^[a-z][a-z0-9_]{2,63}$/;async function k(a={},b={}){let d="string"==typeof a?.slug?a.slug.trim():"";if(!d||!l.test(d))return{ok:!1,status:"error",error:"slug_required",message:"slug required (snake_case, 3-64 chars)"};let j="string"==typeof a?.summary?a.summary.slice(0,2e3):"",m=["low","medium","high","irreversible_external"].includes(a?.risk)?a.risk:"medium",n=f.join("tool-proposals",d),o=f.join(h.un,n),p={[`${d}.adapter.js`]:function(a,b){let c=a.replace(/_([a-z])/g,(a,b)=>b.toUpperCase());return`// lib/tools/adapters/${a}.js — PROPOSED, not yet wired.
313
313
  //
314
314
  // ${b||"Proposed tool adapter."}
315
315
  //
@@ -367,7 +367,7 @@ Review, wire into lib/tools/registry.js (see registry-snippet.txt), add tests, r
367
367
  (id, tool_name, agent_id, host, method, status_code, bytes_out, bytes_in, duration_ms, error, at)
368
368
  VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
369
369
  `).run(a,b,c??null,d,f,g??null,h??0,i??0,j??null,k??null,l)}catch(a){console.warn("[egress] Failed to insert tool_egress row:",a?.message||a)}}function h(a,b,c=fetch){return async function(d,f={}){var h;let i,j=function(a){try{return new URL(String(a)).host}catch{return String(a).slice(0,256)}}(d),k=String(f?.method||"GET").toUpperCase(),l=(h=f?.body,null==h?0:"string"==typeof h?Buffer.byteLength(h,"utf8"):Buffer.isBuffer(h)||h instanceof Uint8Array||h instanceof ArrayBuffer?h.byteLength:h instanceof URLSearchParams?Buffer.byteLength(h.toString(),"utf8"):0),m=performance.now(),n=(0,e.kF)(),o=(0,e.Si)("egr"),p=0,q=null,r=null;try{q=(i=await c(d,f)).status;let e=await i.arrayBuffer();p=e.byteLength;let h=Math.round(performance.now()-m);return g({id:o,tool_name:a,agent_id:b,host:j,method:k,status_code:q,bytes_out:l,bytes_in:p,duration_ms:h,error:null,at:n}),new Response(e,{status:i.status,statusText:i.statusText,headers:i.headers})}catch(d){let c=Math.round(performance.now()-m);throw r=String(d?.message||d).slice(0,512),g({id:o,tool_name:a,agent_id:b,host:j,method:k,status_code:q,bytes_out:l,bytes_in:p,duration_ms:c,error:r,at:n}),d}}}e=(f.then?(await f)():f)[0],d()}catch(a){d(a)}})},16483:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{h:()=>l,m:()=>m});var e=c(84104),f=c(75994),g=a([e,f]);function h(a){return a?.acting_on_behalf_of_user_id||a?.user_id||null}function i(a={}){if(a.owner_trusted||"owner"===a.actor_role||"admin"===a.actor_role)return!0;let b=h(a);if(!b||"system"===b)return!1;try{let c=(0,e.Lf)().prepare("SELECT role FROM org_memberships WHERE user_id=? AND org_id=COALESCE(?, 'personal-org')").get(b,a.org_id||"personal-org");return c?.role==="owner"||c?.role==="admin"}catch{return!1}}function j(){return{ok:!1,status:"error",error:"insufficient_role",message:"Workflow definition authoring requires owner/admin authority in addition to tool approval."}}function k(a){return a?.code==="spec_invalid"?{ok:!1,status:"error",error:"spec_invalid",errors:a.errors||[a.message]}:a?.code==="version_bump_required"?{ok:!1,status:"error",error:"version_bump_required",message:a.message}:null}async function l(a,b={}){if(!i(b))return j();let c=a?.spec;if(!c||"object"!=typeof c)return{ok:!1,status:"error",error:"spec_required",message:"spec required (object)"};if(!c.slug||"string"!=typeof c.slug)return{ok:!1,error:"slug_required",message:"spec.slug required (string)"};let d=(0,f.Ao)(c.slug);if(d&&"archived"!==d.status)return{ok:!1,status:"error",error:"slug_in_use",slug:c.slug};try{let a=(0,f.R1)(c,{source_spec_json:JSON.stringify(c),created_by_user_id:h(b),created_by_agent_id:b?.agent_id||null});return{ok:!0,status:"complete",definition_id:a.id,slug:a.slug,version:a.version}}catch(b){let a=k(b);if(a)return a;throw b}}async function m(a,b={}){if(!i(b))return j();let c="string"==typeof a?.slug?a.slug.trim():"",d=a?.spec;if(!c)return{ok:!1,status:"error",error:"slug_required",message:"slug required (string)"};if(!d||"object"!=typeof d)return{ok:!1,status:"error",error:"spec_required",message:"spec required (object)"};if(!(0,f.Ao)(c))return{ok:!1,status:"error",error:"not_found",slug:c};let e={...d,slug:c};try{let a=(0,f.R1)(e,{source_spec_json:JSON.stringify(e),created_by_user_id:h(b),created_by_agent_id:b?.agent_id||null});return{ok:!0,status:"complete",definition_id:a.id,slug:a.slug,version:a.version}}catch(b){let a=k(b);if(a)return a;throw b}}[e,f]=g.then?(await g)():g,d()}catch(a){d(a)}})},16871:(a,b,c)=>{"use strict";let d;c.d(b,{DD:()=>k,IH:()=>h,Lb:()=>i,Vu:()=>g,wM:()=>j});let e=process.env.MINES_EMBEDDING_MODEL||"Xenova/multilingual-e5-small";async function f(){return void 0===d&&(d=(async()=>{let a=null;try{a=await import("@xenova/transformers")}catch{return null}let b=a?.pipeline||a?.default?.pipeline;if("function"!=typeof b)return null;let c=await b("feature-extraction",e);return async a=>Array.from((await c(String(a??""),{pooling:"mean",normalize:!0})).data)})().catch(()=>null)),d}async function g(a,b={}){let c="function"==typeof b.provider?b.provider:await f();if(!c)return null;try{let b=await c(a);return Array.isArray(b)?b:null}catch{return null}}async function h(a,b={}){let c=Array.isArray(a)?a:[];if(0===c.length)return{chunks:[],embedded:0,available:!1};let d="function"==typeof b.provider?b.provider:await f();if(!d){for(let a of c)a.embedding=null;return{chunks:c,embedded:0,available:!1}}let e=Math.max(1,Number(b.batchSize)||100),g=0;for(let a=0;a<c.length;a+=e)for(let b of c.slice(a,a+e))try{let a=await d(b.text);Array.isArray(a)?(b.embedding=a,g++):b.embedding=null}catch{b.embedding=null}return{chunks:c,embedded:g,available:!0}}function i(a,b){if(!Array.isArray(a)||!Array.isArray(b)||0===a.length||a.length!==b.length)return 0;let c=0,d=0,e=0;for(let f=0;f<a.length;f++){let g=Number(a[f])||0,h=Number(b[f])||0;c+=g*h,d+=g*g,e+=h*h}return 0===d||0===e?0:c/(Math.sqrt(d)*Math.sqrt(e))}function j(a){return Array.isArray(a)&&0!==a.length?JSON.stringify(a):null}function k(a){if(null==a||""===a)return null;if(Array.isArray(a))return a;try{let b=JSON.parse(a);return Array.isArray(b)?b:null}catch{return null}}},17483:(a,b,c)=>{"use strict";c.r(b),c.d(b,{GlobalError:()=>E.a,__next_app__:()=>K,handler:()=>M,pages:()=>J,routeModule:()=>L,tree:()=>I});var d=c(49754),e=c(9117),f=c(46595),g=c(32324),h=c(39326),i=c(38928),j=c(20175),k=c(12),l=c(54290),m=c(12696),n=c(52574),o=c(82802),p=c(77533),q=c(45229),r=c(32822),s=c(261),t=c(26453),u=c(52474),v=c(26713),w=c(51356),x=c(62685),y=c(36225),z=c(63446),A=c(2762),B=c(45742),C=c(86439),D=c(81170),E=c.n(D),F=c(62506),G=c(91203),H={};for(let a in F)0>["default","tree","pages","GlobalError","__next_app__","routeModule","handler"].indexOf(a)&&(H[a]=()=>F[a]);c.d(b,H);let I={children:["",{children:["projects",{children:["__PAGE__",{},{page:[()=>Promise.resolve().then(c.bind(c,64509)),"/home/runner/work/madarx-os/madarx-os/app/projects/page.js"]}]},{loading:[()=>Promise.resolve().then(c.bind(c,47892)),"/home/runner/work/madarx-os/madarx-os/app/projects/loading.tsx"],metadata:{icon:[async a=>(await Promise.resolve().then(c.bind(c,2987))).default(a)],apple:[],openGraph:[],twitter:[],manifest:void 0}}]},{layout:[()=>Promise.resolve().then(c.bind(c,70715)),"/home/runner/work/madarx-os/madarx-os/app/layout.js"],loading:[()=>Promise.resolve().then(c.bind(c,90391)),"/home/runner/work/madarx-os/madarx-os/app/loading.tsx"],"global-error":[()=>Promise.resolve().then(c.t.bind(c,81170,23)),"next/dist/client/components/builtin/global-error.js"],"not-found":[()=>Promise.resolve().then(c.t.bind(c,87028,23)),"next/dist/client/components/builtin/not-found.js"],forbidden:[()=>Promise.resolve().then(c.t.bind(c,90461,23)),"next/dist/client/components/builtin/forbidden.js"],unauthorized:[()=>Promise.resolve().then(c.t.bind(c,32768,23)),"next/dist/client/components/builtin/unauthorized.js"],metadata:{icon:[async a=>(await Promise.resolve().then(c.bind(c,2987))).default(a)],apple:[],openGraph:[],twitter:[],manifest:void 0}}]}.children,J=["/home/runner/work/madarx-os/madarx-os/app/projects/page.js"],K={require:c,loadChunk:()=>Promise.resolve()},L=new d.AppPageRouteModule({definition:{kind:e.RouteKind.APP_PAGE,page:"/projects/page",pathname:"/projects",bundlePath:"",filename:"",appPaths:[]},userland:{loaderTree:I},distDir:".next",relativeProjectDir:""});async function M(a,b,d){var D;let H="/projects/page";"/index"===H&&(H="/");let N=(0,h.getRequestMeta)(a,"postponed"),O=(0,h.getRequestMeta)(a,"minimalMode"),P=await L.prepare(a,b,{srcPage:H,multiZoneDraftMode:!1});if(!P)return b.statusCode=400,b.end("Bad Request"),null==d.waitUntil||d.waitUntil.call(d,Promise.resolve()),null;let{buildId:Q,query:R,params:S,parsedUrl:T,pageIsDynamic:U,buildManifest:V,nextFontManifest:W,reactLoadableManifest:X,serverActionsManifest:Y,clientReferenceManifest:Z,subresourceIntegrityManifest:$,prerenderManifest:_,isDraftMode:aa,resolvedPathname:ab,revalidateOnlyGenerated:ac,routerServerContext:ad,nextConfig:ae,interceptionRoutePatterns:af}=P,ag=T.pathname||"/",ah=(0,s.normalizeAppPath)(H),{isOnDemandRevalidate:ai}=P,aj=L.match(ag,_),ak=!!_.routes[ab],al=!!(aj||ak||_.routes[ah]),am=a.headers["user-agent"]||"",an=(0,v.getBotType)(am),ao=(0,q.isHtmlBotRequest)(a),ap=(0,h.getRequestMeta)(a,"isPrefetchRSCRequest")??"1"===a.headers[u.NEXT_ROUTER_PREFETCH_HEADER],aq=(0,h.getRequestMeta)(a,"isRSCRequest")??(0,n.f)(a.headers[u.RSC_HEADER]),ar=(0,t.getIsPossibleServerAction)(a),as=(0,m.checkIsAppPPREnabled)(ae.experimental.ppr)&&(null==(D=_.routes[ah]??_.dynamicRoutes[ah])?void 0:D.renderingMode)==="PARTIALLY_STATIC",at=!1,au=!1,av=as?N:void 0,aw=as&&aq&&!ap,ax=(0,h.getRequestMeta)(a,"segmentPrefetchRSCRequest"),ay=!am||(0,q.shouldServeStreamingMetadata)(am,ae.htmlLimitedBots);ao&&as&&(al=!1,ay=!1);let az=!0===L.isDev||!al||"string"==typeof N||aw,aA=ao&&as,aB=null;aa||!al||az||ar||av||aw||(aB=ab);let aC=aB;!aC&&L.isDev&&(aC=ab),L.isDev||aa||!al||!aq||aw||(0,k.d)(a.headers);let aD={...F,tree:I,pages:J,GlobalError:E(),handler:M,routeModule:L,__next_app__:K};Y&&Z&&(0,p.setReferenceManifestsSingleton)({page:H,clientReferenceManifest:Z,serverActionsManifest:Y,serverModuleMap:(0,r.createServerModuleMap)({serverActionsManifest:Y})});let aE=a.method||"GET",aF=(0,g.getTracer)(),aG=aF.getActiveScopeSpan();try{let f=L.getVaryHeader(ab,af);b.setHeader("Vary",f);let k=async(c,d)=>{let e=new l.NodeNextRequest(a),f=new l.NodeNextResponse(b);return L.render(e,f,d).finally(()=>{if(!c)return;c.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let d=aF.getRootSpanAttributes();if(!d)return;if(d.get("next.span_type")!==i.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${d.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=d.get("next.route");if(e){let a=`${aE} ${e}`;c.setAttributes({"next.route":e,"http.route":e,"next.span_name":a}),c.updateName(a)}else c.updateName(`${aE} ${a.url}`)})},m=async({span:e,postponed:f,fallbackRouteParams:g})=>{let i={query:R,params:S,page:ah,sharedContext:{buildId:Q},serverComponentsHmrCache:(0,h.getRequestMeta)(a,"serverComponentsHmrCache"),fallbackRouteParams:g,renderOpts:{App:()=>null,Document:()=>null,pageConfig:{},ComponentMod:aD,Component:(0,j.T)(aD),params:S,routeModule:L,page:H,postponed:f,shouldWaitOnAllReady:aA,serveStreamingMetadata:ay,supportsDynamicResponse:"string"==typeof f||az,buildManifest:V,nextFontManifest:W,reactLoadableManifest:X,subresourceIntegrityManifest:$,serverActionsManifest:Y,clientReferenceManifest:Z,setIsrStatus:null==ad?void 0:ad.setIsrStatus,dir:c(33873).join(process.cwd(),L.relativeProjectDir),isDraftMode:aa,isRevalidate:al&&!f&&!aw,botType:an,isOnDemandRevalidate:ai,isPossibleServerAction:ar,assetPrefix:ae.assetPrefix,nextConfigOutput:ae.output,crossOrigin:ae.crossOrigin,trailingSlash:ae.trailingSlash,previewProps:_.preview,deploymentId:ae.deploymentId,enableTainting:ae.experimental.taint,htmlLimitedBots:ae.htmlLimitedBots,devtoolSegmentExplorer:ae.experimental.devtoolSegmentExplorer,reactMaxHeadersLength:ae.reactMaxHeadersLength,multiZoneDraftMode:!1,incrementalCache:(0,h.getRequestMeta)(a,"incrementalCache"),cacheLifeProfiles:ae.experimental.cacheLife,basePath:ae.basePath,serverActions:ae.experimental.serverActions,...at?{nextExport:!0,supportsDynamicResponse:!1,isStaticGeneration:!0,isRevalidate:!0,isDebugDynamicAccesses:at}:{},experimental:{isRoutePPREnabled:as,expireTime:ae.expireTime,staleTimes:ae.experimental.staleTimes,cacheComponents:!!ae.experimental.cacheComponents,clientSegmentCache:!!ae.experimental.clientSegmentCache,clientParamParsing:!!ae.experimental.clientParamParsing,dynamicOnHover:!!ae.experimental.dynamicOnHover,inlineCss:!!ae.experimental.inlineCss,authInterrupts:!!ae.experimental.authInterrupts,clientTraceMetadata:ae.experimental.clientTraceMetadata||[]},waitUntil:d.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:()=>{},onInstrumentationRequestError:(b,c,d)=>L.onRequestError(a,b,d,ad),err:(0,h.getRequestMeta)(a,"invokeError"),dev:L.isDev}},l=await k(e,i),{metadata:m}=l,{cacheControl:n,headers:o={},fetchTags:p}=m;if(p&&(o[z.NEXT_CACHE_TAGS_HEADER]=p),a.fetchMetrics=m.fetchMetrics,al&&(null==n?void 0:n.revalidate)===0&&!L.isDev&&!as){let a=m.staticBailoutInfo,b=Object.defineProperty(Error(`Page changed from static to dynamic at runtime ${ab}${(null==a?void 0:a.description)?`, reason: ${a.description}`:""}
370
- see more here https://nextjs.org/docs/messages/app-static-to-dynamic-error`),"__NEXT_ERROR_CODE",{value:"E132",enumerable:!1,configurable:!0});if(null==a?void 0:a.stack){let c=a.stack;b.stack=b.message+c.substring(c.indexOf("\n"))}throw b}return{value:{kind:w.CachedRouteKind.APP_PAGE,html:l,headers:o,rscData:m.flightData,postponed:m.postponed,status:m.statusCode,segmentData:m.segmentData},cacheControl:n}},n=async({hasResolved:c,previousCacheEntry:f,isRevalidating:g,span:i})=>{let j,k=!1===L.isDev,l=c||b.writableEnded;if(ai&&ac&&!f&&!O)return(null==ad?void 0:ad.render404)?await ad.render404(a,b):(b.statusCode=404,b.end("This page could not be found")),null;if(aj&&(j=(0,x.parseFallbackField)(aj.fallback)),j===x.FallbackMode.PRERENDER&&(0,v.isBot)(am)&&(!as||ao)&&(j=x.FallbackMode.BLOCKING_STATIC_RENDER),(null==f?void 0:f.isStale)===-1&&(ai=!0),ai&&(j!==x.FallbackMode.NOT_FOUND||f)&&(j=x.FallbackMode.BLOCKING_STATIC_RENDER),!O&&j!==x.FallbackMode.BLOCKING_STATIC_RENDER&&aC&&!l&&!aa&&U&&(k||!ak)){let b;if((k||aj)&&j===x.FallbackMode.NOT_FOUND)throw new C.NoFallbackError;if(as&&!aq){let c="string"==typeof(null==aj?void 0:aj.fallback)?aj.fallback:k?ah:null;if(b=await L.handleResponse({cacheKey:c,req:a,nextConfig:ae,routeKind:e.RouteKind.APP_PAGE,isFallback:!0,prerenderManifest:_,isRoutePPREnabled:as,responseGenerator:async()=>m({span:i,postponed:void 0,fallbackRouteParams:k||au?(0,o.u)(ah):null}),waitUntil:d.waitUntil}),null===b)return null;if(b)return delete b.cacheControl,b}}let n=ai||g||!av?void 0:av;if(at&&void 0!==n)return{cacheControl:{revalidate:1,expire:void 0},value:{kind:w.CachedRouteKind.PAGES,html:y.default.EMPTY,pageData:{},headers:void 0,status:void 0}};let p=U&&as&&((0,h.getRequestMeta)(a,"renderFallbackShell")||au)?(0,o.u)(ag):null;return m({span:i,postponed:n,fallbackRouteParams:p})},p=async c=>{var f,g,i,j,k;let l,o=await L.handleResponse({cacheKey:aB,responseGenerator:a=>n({span:c,...a}),routeKind:e.RouteKind.APP_PAGE,isOnDemandRevalidate:ai,isRoutePPREnabled:as,req:a,nextConfig:ae,prerenderManifest:_,waitUntil:d.waitUntil});if(aa&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate"),L.isDev&&b.setHeader("Cache-Control","no-store, must-revalidate"),!o){if(aB)throw Object.defineProperty(Error("invariant: cache entry required but not generated"),"__NEXT_ERROR_CODE",{value:"E62",enumerable:!1,configurable:!0});return null}if((null==(f=o.value)?void 0:f.kind)!==w.CachedRouteKind.APP_PAGE)throw Object.defineProperty(Error(`Invariant app-page handler received invalid cache entry ${null==(i=o.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E707",enumerable:!1,configurable:!0});let p="string"==typeof o.value.postponed;al&&!aw&&(!p||ap)&&(O||b.setHeader("x-nextjs-cache",ai?"REVALIDATED":o.isMiss?"MISS":o.isStale?"STALE":"HIT"),b.setHeader(u.NEXT_IS_PRERENDER_HEADER,"1"));let{value:q}=o;if(av)l={revalidate:0,expire:void 0};else if(O&&aq&&!ap&&as)l={revalidate:0,expire:void 0};else if(!L.isDev)if(aa)l={revalidate:0,expire:void 0};else if(al){if(o.cacheControl)if("number"==typeof o.cacheControl.revalidate){if(o.cacheControl.revalidate<1)throw Object.defineProperty(Error(`Invalid revalidate configuration provided: ${o.cacheControl.revalidate} < 1`),"__NEXT_ERROR_CODE",{value:"E22",enumerable:!1,configurable:!0});l={revalidate:o.cacheControl.revalidate,expire:(null==(j=o.cacheControl)?void 0:j.expire)??ae.expireTime}}else l={revalidate:z.CACHE_ONE_YEAR,expire:void 0}}else b.getHeader("Cache-Control")||(l={revalidate:0,expire:void 0});if(o.cacheControl=l,"string"==typeof ax&&(null==q?void 0:q.kind)===w.CachedRouteKind.APP_PAGE&&q.segmentData){b.setHeader(u.NEXT_DID_POSTPONE_HEADER,"2");let c=null==(k=q.headers)?void 0:k[z.NEXT_CACHE_TAGS_HEADER];O&&al&&c&&"string"==typeof c&&b.setHeader(z.NEXT_CACHE_TAGS_HEADER,c);let d=q.segmentData.get(ax);return void 0!==d?(0,B.sendRenderResult)({req:a,res:b,generateEtags:ae.generateEtags,poweredByHeader:ae.poweredByHeader,result:y.default.fromStatic(d,u.RSC_CONTENT_TYPE_HEADER),cacheControl:o.cacheControl}):(b.statusCode=204,(0,B.sendRenderResult)({req:a,res:b,generateEtags:ae.generateEtags,poweredByHeader:ae.poweredByHeader,result:y.default.EMPTY,cacheControl:o.cacheControl}))}let r=(0,h.getRequestMeta)(a,"onCacheEntry");if(r&&await r({...o,value:{...o.value,kind:"PAGE"}},{url:(0,h.getRequestMeta)(a,"initURL")}))return null;if(p&&av)throw Object.defineProperty(Error("Invariant: postponed state should not be present on a resume request"),"__NEXT_ERROR_CODE",{value:"E396",enumerable:!1,configurable:!0});if(q.headers){let a={...q.headers};for(let[c,d]of(O&&al||delete a[z.NEXT_CACHE_TAGS_HEADER],Object.entries(a)))if(void 0!==d)if(Array.isArray(d))for(let a of d)b.appendHeader(c,a);else"number"==typeof d&&(d=d.toString()),b.appendHeader(c,d)}let s=null==(g=q.headers)?void 0:g[z.NEXT_CACHE_TAGS_HEADER];if(O&&al&&s&&"string"==typeof s&&b.setHeader(z.NEXT_CACHE_TAGS_HEADER,s),!q.status||aq&&as||(b.statusCode=q.status),!O&&q.status&&G.RedirectStatusCode[q.status]&&aq&&(b.statusCode=200),p&&b.setHeader(u.NEXT_DID_POSTPONE_HEADER,"1"),aq&&!aa){if(void 0===q.rscData){if(q.postponed)throw Object.defineProperty(Error("Invariant: Expected postponed to be undefined"),"__NEXT_ERROR_CODE",{value:"E372",enumerable:!1,configurable:!0});return(0,B.sendRenderResult)({req:a,res:b,generateEtags:ae.generateEtags,poweredByHeader:ae.poweredByHeader,result:q.html,cacheControl:aw?{revalidate:0,expire:void 0}:o.cacheControl})}return(0,B.sendRenderResult)({req:a,res:b,generateEtags:ae.generateEtags,poweredByHeader:ae.poweredByHeader,result:y.default.fromStatic(q.rscData,u.RSC_CONTENT_TYPE_HEADER),cacheControl:o.cacheControl})}let t=q.html;if(!p||O||aq)return(0,B.sendRenderResult)({req:a,res:b,generateEtags:ae.generateEtags,poweredByHeader:ae.poweredByHeader,result:t,cacheControl:o.cacheControl});if(at)return t.push(new ReadableStream({start(a){a.enqueue(A.ENCODED_TAGS.CLOSED.BODY_AND_HTML),a.close()}})),(0,B.sendRenderResult)({req:a,res:b,generateEtags:ae.generateEtags,poweredByHeader:ae.poweredByHeader,result:t,cacheControl:{revalidate:0,expire:void 0}});let v=new TransformStream;return t.push(v.readable),m({span:c,postponed:q.postponed,fallbackRouteParams:null}).then(async a=>{var b,c;if(!a)throw Object.defineProperty(Error("Invariant: expected a result to be returned"),"__NEXT_ERROR_CODE",{value:"E463",enumerable:!1,configurable:!0});if((null==(b=a.value)?void 0:b.kind)!==w.CachedRouteKind.APP_PAGE)throw Object.defineProperty(Error(`Invariant: expected a page response, got ${null==(c=a.value)?void 0:c.kind}`),"__NEXT_ERROR_CODE",{value:"E305",enumerable:!1,configurable:!0});await a.value.html.pipeTo(v.writable)}).catch(a=>{v.writable.abort(a).catch(a=>{console.error("couldn't abort transformer",a)})}),(0,B.sendRenderResult)({req:a,res:b,generateEtags:ae.generateEtags,poweredByHeader:ae.poweredByHeader,result:t,cacheControl:{revalidate:0,expire:void 0}})};if(!aG)return await aF.withPropagatedContext(a.headers,()=>aF.trace(i.BaseServerSpan.handleRequest,{spanName:`${aE} ${a.url}`,kind:g.SpanKind.SERVER,attributes:{"http.method":aE,"http.target":a.url}},p));await p(aG)}catch(b){throw b instanceof C.NoFallbackError||await L.onRequestError(a,b,{routerKind:"App Router",routePath:H,routeType:"render",revalidateReason:(0,f.c)({isRevalidate:al,isOnDemandRevalidate:ai})},ad),b}}},17553:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{$F:()=>m,mx:()=>n});var e=c(73024),f=c(76760),g=c(84104),h=c(83498),i=a([g]);g=(i.then?(await i)():i)[0];let o="brand_profile",p=f.join(h.Dl,"brand-assets","brand-guidelines.html"),q=f.join(h.Dl,"brand-assets","madarx-logo-primary.svg"),r={active:!0,company_name:"madarX",tagline:"",colors:[{name:"Onyx",value:"#0F0F11"},{name:"Platinum",value:"#E8E8E5"},{name:"Bone",value:"#DCDCD8"},{name:"Graphite",value:"#4A4A4D"},{name:"Mars",value:"#C2452A"}],fonts:["Inter","Cairo","IBM Plex Mono"],voice:["Direct","disciplined","precise","premium","local-first"],document_types:["Report","Brief","Strategy memo","Proposal"],presentation_style:"Dark editorial system with restrained layouts, Inter/Cairo/IBM Plex Mono typography, onyx backgrounds, platinum text, and Mars red accents.",logo_path:e.existsSync(q)?(0,h.z9)(q):null,logo_data_url:k(q),guidelines_path:e.existsSync(p)?(0,h.z9)(p):null,source_name:"brand-guidelines.html",extracted_at:null,updated_at:null};function j(a){return String(a||"").replace(/^--/,"").replace(/[-_]+/g," ").replace(/\b\w/g,a=>a.toUpperCase()).trim().replace(/^Ibm\b/,"IBM").replace(/\bUi\b/g,"UI")}function k(a){try{if(!a||!e.existsSync(a))return null;let b=f.extname(a).toLowerCase(),c=".svg"===b?"image/svg+xml":".png"===b?"image/png":".jpg"===b||".jpeg"===b?"image/jpeg":".webp"===b?"image/webp":"application/octet-stream",d=e.readFileSync(a);if("image/svg+xml"===c)return`data:${c};utf8,${encodeURIComponent(d.toString("utf8"))}`;return`data:${c};base64,${d.toString("base64")}`}catch{return null}}function l(){try{if(!e.existsSync(p))return{...r};let a=e.readFileSync(p,"utf8");return{...function(a,b="brand-guidelines"){let c=String(a||"").replace(/<script[\s\S]*?<\/script>/gi," ").replace(/<style[\s\S]*?<\/style>/gi," ").replace(/<[^>]+>/g," ").replace(/&mdash;|&#8212;/g,"-").replace(/&[a-z]+;/gi," ").replace(/\s+/g," ").trim(),d={...r,company_name:function(a,b){let c=a.match(/<title[^>]*>([\s\S]*?)<\/title>/i)?.[1]?.replace(/\s+/g," ").trim()||"",d=c.split(/[—|-]/)[0]?.trim();return d?d.replace(/\s+Brand Guidelines.*$/i,"").trim():f.basename(b||"Brand",f.extname(b||"")).replace(/[-_]+/g," ")}(a,b)||r.company_name,tagline:function(a,b){let c=RegExp(`<meta[^>]+name=["']${b}["'][^>]+content=["']([^"']+)["']`,"i");return a.match(c)?.[1]?.trim()||""}(a,"description")||"",colors:function(a){let b,c=function(a){let b,c=[],d=/--([a-z0-9_-]+)\s*:\s*(#[0-9a-f]{3,8})\b/gi;for(;b=d.exec(a);)c.push({name:j(b[1]),value:b[2].toUpperCase()});return c}(a),d=new Set(c.map(a=>a.value.toUpperCase())),e=/#[0-9a-f]{3,8}\b/gi;for(;(b=e.exec(a))&&c.length<10;){let a=b[0].toUpperCase();d.has(a)||(d.add(a),c.push({name:`Color ${c.length+1}`,value:a}))}return c.slice(0,10)}(a),fonts:function(a){let b=[];for(let c of a.matchAll(/@fontsource\/([^@/'")]+)/gi))b.push(j(c[1]));for(let c of a.matchAll(/font-family\s*:\s*([^;}{]+)/gi)){let a=c[1].split(",")[0].replace(/["']/g,"").trim();a&&!/^(var|system-ui|-apple-system|sans-serif|serif|monospace)$/i.test(a)&&b.push(a)}return[...new Set(b.filter(Boolean).map(a=>String(a).trim()).filter(Boolean))].slice(0,8)}(a),voice:function(a){let b=a.toLowerCase();return["direct","disciplined","precise","premium","minimal","editorial","confident","restrained","local-first","bilingual","operational"].filter(a=>b.includes(a)).slice(0,8)}(c),source_name:b,extracted_at:(0,g.kF)(),updated_at:(0,g.kF)()};return d.colors.length||(d.colors=r.colors),d.fonts.length||(d.fonts=r.fonts),d.voice.length||(d.voice=r.voice),d.presentation_style=function(a){let b=a.colors?.[0]?.value||"#111318",c=a.colors?.find(a=>!["#FFFFFF","#000000"].includes(a.value))?.value||b,d=a.fonts?.length?a.fonts.join(", "):"brand typography";return`Use ${d}; lead with ${a.company_name||"the brand"} identity, restrained hierarchy, ${b} as the base color, and ${c} as the accent.`}(d),d}(a,"brand-guidelines.html"),logo_path:e.existsSync(q)?(0,h.z9)(q):null,logo_data_url:k(q),guidelines_path:(0,h.z9)(p)}}catch{return{...r}}}function m(){let a=(0,g.Lf)().prepare("SELECT value FROM config WHERE key = ?").get(o);return a?{...r,...function(a,b){try{return JSON.parse(a)}catch{return b}}(a.value,{})}:l()}function n(a=(0,g.Lf)()){if(a.prepare("SELECT value FROM config WHERE key = ?").get(o))return!1;let b=l();return a.prepare("INSERT OR REPLACE INTO config (key, value) VALUES (?, ?)").run(o,JSON.stringify({...b,updated_at:(0,g.kF)()})),!0}d()}catch(a){d(a)}})},17830:(a,b,c)=>{"use strict";c.d(b,{ho:()=>l,pE:()=>f});let d=/^[a-z][a-z0-9-]{2,63}$/,e=new Set(["tool_call","llm_synthesis","artifact_write"]),f=["low","medium","high","irreversible_external"],g=/^[a-z][a-z0-9-]{0,63}$/,h=/\{\{([a-z][a-z0-9-]*)/g;function i(a,b,c){a.push(`${b}: ${c}`)}function j(a){return null!==a&&"object"==typeof a&&!Array.isArray(a)}function k(a){return f.indexOf(a)}function l(a,b={}){let c,m=[],n=[];try{c=JSON.stringify(a)}catch{return{ok:!1,errors:["spec: not JSON-serialisable"],warnings:[],normalized:null}}if(!c||"undefined"===c)return{ok:!1,errors:["spec: required"],warnings:[],normalized:null};if(Buffer.byteLength(c,"utf8")>65536)return{ok:!1,errors:[`spec: serialized length ${Buffer.byteLength(c,"utf8")} bytes exceeds 65536-byte cap`],warnings:[],normalized:null};if(!j(a))return{ok:!1,errors:["spec: must be a plain object"],warnings:[],normalized:null};if(a.slug&&"string"==typeof a.slug?d.test(a.slug)||i(m,"slug",`does not match ${d} (lowercase, starts with letter, 3-64 chars, hyphens allowed)`):i(m,"slug","required (string)"),a.title&&"string"==typeof a.title||i(m,"title","required (non-empty string)"),null!=a.description&&"string"!=typeof a.description&&i(m,"description","must be a string"),null==a.input_schema||j(a.input_schema)||i(m,"input_schema","must be a plain object"),!Array.isArray(a.steps)||0===a.steps.length)return i(m,"steps","required (non-empty array)"),{ok:!1,errors:m,warnings:n,normalized:null};if(a.steps.length>25)return i(m,"steps","exceeds 25"),{ok:!1,errors:m,warnings:n,normalized:null};let o=new Set,p="low",q=[];for(let c=0;c<a.steps.length;c++){var r,s;let d,l=a.steps[c],n=`steps[${c}]`;if(!j(l)){i(m,n,"must be a plain object");continue}if(!l.kind||!e.has(l.kind)){i(m,`${n}.kind`,`must be one of ${[...e].join(", ")}`);continue}l.id&&"string"==typeof l.id?g.test(l.id)?o.has(l.id)?i(m,`${n}.id`,`duplicate step id '${l.id}'`):o.add(l.id):i(m,`${n}.id`,`does not match ${g}`):i(m,`${n}.id`,"required (slug-like string)");let t=new Set(o);l.id&&t.delete(l.id);let u={};for(let[a,b]of("tool_call"===l.kind&&j(l.input_template)&&(u.input_template=l.input_template),"artifact_write"===l.kind&&(null!=l.title_template&&(u.title_template=l.title_template),null!=l.content_ref&&(u.content_ref=l.content_ref)),"llm_synthesis"===l.kind&&null!=l.prompt&&(u.prompt=l.prompt),Object.entries(u)))for(let c of function a(b){let c=new Set;if("string"==typeof b){let a;for(h.lastIndex=0;null!==(a=h.exec(b));){let b=a[1];"input"!==b&&c.add(b)}return c}if(j(b))for(let d of Object.values(b))for(let b of a(d))c.add(b);if(Array.isArray(b))for(let d of b)for(let b of a(d))c.add(b);return c}(b))t.has(c)||i(m,n,`references later/unknown step '${c}' in ${a}`);switch(l.kind){case"tool_call":d=function(a,b,c,d){let e;return a.tool&&"string"==typeof a.tool?d.knownToolNames&&!d.knownToolNames.has(a.tool)&&i(b,`${c}.tool`,`unknown tool '${a.tool}'`):i(b,`${c}.tool`,"required (string)"),null==a.input_template||j(a.input_template)||i(b,`${c}.input_template`,"must be a plain object (data only)"),null!=a.risk?f.includes(a.risk)?e=a.risk:(i(b,`${c}.risk`,`must be one of ${f.join(", ")}`),e="medium"):e=d.toolRiskByName&&"string"==typeof a.tool?d.toolRiskByName.get(a.tool)??"medium":"medium",e}(l,m,n,b);break;case"llm_synthesis":l.prompt&&"string"==typeof l.prompt?l.prompt.length>8e3&&i(m,`${n}.prompt`,`exceeds 8000 chars (got ${l.prompt.length})`):i(m,`${n}.prompt`,"required (non-empty string)"),d="low";break;case"artifact_write":d="low"}r=p,s=d,p=k(r)>=k(s)?r:s;let v={kind:l.kind,id:l.id};"tool_call"===l.kind?(v.tool=l.tool??null,null!=l.input_template&&(v.input_template=structuredClone(l.input_template)),v.risk=d):"llm_synthesis"===l.kind?v.prompt=l.prompt??null:"artifact_write"===l.kind&&(null!=l.title_template&&(v.title_template=l.title_template),null!=l.content_ref&&(v.content_ref=l.content_ref)),q.push(v)}return m.length>0?{ok:!1,errors:m,warnings:n,normalized:null}:{ok:!0,errors:[],warnings:n,normalized:{slug:a.slug,title:a.title,description:a.description??null,input_schema:null!=a.input_schema?structuredClone(a.input_schema):{type:"object",properties:{}},steps:q,risk_level:p}}}},17916:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{normalizeAppPath:function(){return f},normalizeRscURL:function(){return g}});let d=c(8991),e=c(8625);function f(a){return(0,d.ensureLeadingSlash)(a.split("/").reduce((a,b,c,d)=>!b||(0,e.isGroupSegment)(b)||"@"===b[0]||("page"===b||"route"===b)&&c===d.length-1?a:a+"/"+b,""))}function g(a){return a.replace(/\.rsc($|\?)/,"$1")}},18633:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{METADATA_BOUNDARY_NAME:function(){return c},OUTLET_BOUNDARY_NAME:function(){return e},ROOT_LAYOUT_BOUNDARY_NAME:function(){return f},VIEWPORT_BOUNDARY_NAME:function(){return d}});let c="__next_metadata_boundary__",d="__next_viewport_boundary__",e="__next_outlet_boundary__",f="__next_root_layout_boundary__"},18722:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{r1:()=>j});var e=c(73024),f=c(73136),g=c(76760),h=c(75994),i=a([h]);h=(i.then?(await i)():i)[0];let k=(0,g.dirname)((0,f.fileURLToPath)("file:///home/runner/work/madarx-os/madarx-os/lib/process/seeds/hail-quarterly-review.js")),l=null;function j(){let a=(l||(l=JSON.parse((0,e.readFileSync)((0,g.join)(k,"specs","hail-quarterly-review.json"),"utf8"))),l);return(0,h.R1)(a,{source_spec_json:JSON.stringify(a)})}d()}catch(a){d(a)}})},19121:a=>{"use strict";a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},19376:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{wA:()=>i});var e=c(84104),f=c(68571),g=c(17553),h=a([e,f,g]);[e,f,g]=h.then?(await h)():h,process.env.OLLAMA_BASE_URL,process.env.MADARX_DEFAULT_MODEL;let j=["balanced","minimal","bold","soft"];function i(){try{let a=(0,e.Lf)().prepare("SELECT value FROM config WHERE key = ?").get("design_style"),b=a?.value;return j.includes(b)?b:"balanced"}catch{return"balanced"}}d()}catch(a){d(a)}})},20749:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{FE:()=>w,R5:()=>s,Y$:()=>y,zP:()=>u});var e=c(81909),f=c(16343),g=c(85798),h=a([e,f,g]);function i(a,b={}){try{let c=(0,e.r6)(a,{agent_id:b.agent_id,project_id:b.project_id});if(c)return c}catch{}return process.env[a]||null}function j(a,b={}){let c=i(a,b);if(!c)throw Error(`${a} not configured`);return c}function k(a,b,c,d){let e=Number(a);return Number.isFinite(e)?Math.min(Math.max(Math.trunc(e),c),d):b}function l(a,b){let c=String(a||"").trim().toUpperCase();if(!/^[A-Z]{3}$/.test(c))throw Error(`"${b}" must be a 3-letter IATA code (got: ${a??""})`);return c}function m(a,b){let c=String(a||"").trim();if(!/^\d{4}-\d{2}-\d{2}$/.test(c))throw Error(`"${b}" must be ISO date YYYY-MM-DD (got: ${a??""})`);return c}async function n(a,b){try{let c=await a.text();if(!c)return b;return c.slice(0,300)}catch{return b}}function o(a={}){let b=(i("AMADEUS_ENV",a)||"test").toLowerCase();return"production"===b||"prod"===b?"https://api.amadeus.com":"https://test.api.amadeus.com"}[e,f,g]=h.then?(await h)():h;let z=new Map;async function p(a={}){let b=o(a),c=z.get(b);if(c&&c.expires_at>Date.now()+6e4)return c.access_token;let d=j("AMADEUS_CLIENT_ID",a),e=j("AMADEUS_CLIENT_SECRET",a),g=(0,f.N)("flight_search",a.agent_id??null),h=await g(`${b}/v1/security/oauth2/token`,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams({grant_type:"client_credentials",client_id:d,client_secret:e}).toString()});if(!h.ok){let a=await n(h,`HTTP ${h.status}`);throw Error(`Amadeus auth failed (${h.status}): ${a}`)}let i=await h.json(),k=String(i.access_token||""),l=Number(i.expires_in||1800);if(!k)throw Error("Amadeus auth returned no access_token");return z.set(b,{access_token:k,expires_at:Date.now()+1e3*l}),k}function q(a={}){let b=Array.isArray(a.itineraries)?a.itineraries:[],c=b.flatMap(a=>Array.isArray(a?.segments)?a.segments:[]);return{id:a.id||null,price:{total:a.price?.total??null,currency:a.price?.currency??null,base:a.price?.base??null},seats_available:a.numberOfBookableSeats??null,last_ticketing_date:a.lastTicketingDate??null,itineraries:b.map(a=>({duration:a?.duration??null,stops:Math.max(0,(Array.isArray(a?.segments)?a.segments.length:1)-1),segments:(Array.isArray(a?.segments)?a.segments:[]).map(a=>({carrier:a?.carrierCode??null,flight_number:a?.number??null,departure:{iata:a?.departure?.iataCode??null,at:a?.departure?.at??null,terminal:a?.departure?.terminal??null},arrival:{iata:a?.arrival?.iataCode??null,at:a?.arrival?.at??null,terminal:a?.arrival?.terminal??null},duration:a?.duration??null,aircraft:a?.aircraft?.code??null}))})),validating_airlines:Array.isArray(a.validatingAirlineCodes)?a.validatingAirlineCodes:[],cabin:c[0]?.cabin||a.travelerPricings?.[0]?.fareDetailsBySegment?.[0]?.cabin||null}}async function r(a={},b={}){let c=l(a.origin,"origin"),d=l(a.destination,"destination"),e=m(a.departure_date,"departure_date"),g=a.return_date?m(a.return_date,"return_date"):null,h=k(a.adults,1,1,9),i=k(a.children,0,0,8),j=k(a.max_results,5,1,25),s=new URLSearchParams({originLocationCode:c,destinationLocationCode:d,departureDate:e,adults:String(h),max:String(j),currencyCode:a.currency?String(a.currency).toUpperCase().slice(0,3):"USD"});if(g&&s.set("returnDate",g),i>0&&s.set("children",String(i)),a.travel_class){let b=String(a.travel_class).toUpperCase();["ECONOMY","PREMIUM_ECONOMY","BUSINESS","FIRST"].includes(b)&&s.set("travelClass",b)}(!0===a.non_stop||"true"===a.non_stop)&&s.set("nonStop","true");let t=await p(b),u=o(b),v=(0,f.N)("flight_search",b.agent_id??null),w=await v(`${u}/v2/shopping/flight-offers?${s.toString()}`,{headers:{Authorization:`Bearer ${t}`,Accept:"application/json"}});if(401===w.status){z.delete(u);let a=await n(w,"unauthorized");throw Error(`Amadeus auth rejected (401): ${a}`)}if(!w.ok){let a=await n(w,`HTTP ${w.status}`);throw Error(`Amadeus flight offers failed (${w.status}): ${a}`)}let x=await w.json(),y=Array.isArray(x.data)?x.data:[];return{query:{origin:c,destination:d,departure_date:e,return_date:g,adults:h,children:i,currency:s.get("currencyCode"),travel_class:s.get("travelClass")||null,non_stop:"true"===s.get("nonStop"),max_results:j},count:y.length,offers:y.map(q),source:{provider:"amadeus",environment:u.includes("test.api")?"test":"production",fetched_at:new Date().toISOString()}}}async function s(a={},b={}){let c=!!(i("AMADEUS_CLIENT_ID",b)&&i("AMADEUS_CLIENT_SECRET",b)),d="1"===String(process.env.MADARX_FLIGHT_SEARCH_NO_FALLBACK||"").trim();if(c)try{return await r(a,b)}catch(a){if(d)throw a;console.warn("[flight_search] Amadeus failed, falling back to Google Flights:",a?.message||a)}return(0,g.b3)(a,b)}function t(a={}){return{flight_date:a.flight_date??null,flight_status:a.flight_status??null,airline:a.airline?.name??null,flight:{iata:a.flight?.iata??null,icao:a.flight?.icao??null,number:a.flight?.number??null},departure:{airport:a.departure?.airport??null,iata:a.departure?.iata??null,icao:a.departure?.icao??null,terminal:a.departure?.terminal??null,gate:a.departure?.gate??null,scheduled:a.departure?.scheduled??null,estimated:a.departure?.estimated??null,actual:a.departure?.actual??null,delay_minutes:a.departure?.delay??null},arrival:{airport:a.arrival?.airport??null,iata:a.arrival?.iata??null,icao:a.arrival?.icao??null,terminal:a.arrival?.terminal??null,gate:a.arrival?.gate??null,scheduled:a.arrival?.scheduled??null,estimated:a.arrival?.estimated??null,actual:a.arrival?.actual??null,delay_minutes:a.arrival?.delay??null},aircraft:a.aircraft?.registration??null,live:a.live?{latitude:a.live.latitude??null,longitude:a.live.longitude??null,altitude:a.live.altitude??null,speed_horizontal:a.live.speed_horizontal??null,is_ground:a.live.is_ground??null,updated:a.live.updated??null}:null}}async function u(a={},b={}){let c=a.flight_iata?String(a.flight_iata).trim().toUpperCase():null,d=a.flight_icao?String(a.flight_icao).trim().toUpperCase():null,e=a.airline_iata?String(a.airline_iata).trim().toUpperCase():null,g=a.dep_iata?l(a.dep_iata,"dep_iata"):null,h=a.arr_iata?l(a.arr_iata,"arr_iata"):null,o=a.flight_date?m(a.flight_date,"flight_date"):null,p=k(a.limit,5,1,100);if(!c&&!d&&!e&&!g&&!h)throw Error("At least one of flight_iata, flight_icao, airline_iata, dep_iata, or arr_iata is required");let q=j("AVIATIONSTACK_API_KEY",b),r=new URLSearchParams({access_key:q,limit:String(p)});c&&r.set("flight_iata",c),d&&r.set("flight_icao",d),e&&r.set("airline_iata",e),g&&r.set("dep_iata",g),h&&r.set("arr_iata",h),o&&r.set("flight_date",o);let s=function(a={}){let b=String(i("AVIATIONSTACK_HTTPS",a)||"").toLowerCase();return"1"===b||"true"===b||"yes"===b?"https://api.aviationstack.com":"http://api.aviationstack.com"}(b),v=(0,f.N)("flight_status",b.agent_id??null),w=await v(`${s}/v1/flights?${r.toString()}`);if(!w.ok){let a=await n(w,`HTTP ${w.status}`);throw Error(`Aviationstack failed (${w.status}): ${a}`)}let x=await w.json();if(x?.error){let a=x.error.code||"error",b=x.error.message||x.error.info||"unknown error";throw Error(`Aviationstack error (${a}): ${b}`)}let y=Array.isArray(x?.data)?x.data:[];return{query:{flight_iata:c,flight_icao:d,airline_iata:e,dep_iata:g,arr_iata:h,flight_date:o,limit:p},count:y.length,pagination:x?.pagination||null,flights:y.map(t),source:{provider:"aviationstack",fetched_at:new Date().toISOString()}}}let A="https://data.xotelo.com";function v(a={}){return{key:a.key??a.hotel_key??null,name:a.name??null,geo:{latitude:a.geo?.latitude??null,longitude:a.geo?.longitude??null},address:a.address??null,stars:a.stars??null,review_summary:a.review_summary?{score:a.review_summary.score??null,count:a.review_summary.count??null}:null,price:a.price??null,accommodation_type:a.accommodation_type??null}}async function w(a={},b={}){let c=String(a.location_key||"").trim();if(!c)throw Error('"location_key" is required');if(!/^[a-z]?[0-9]+$/i.test(c))throw Error(`"location_key" must be a TripAdvisor key like "g60763" (got: ${c})`);let d=k(a.offset,0,0,1e3),e=k(a.limit,10,1,30),g=a.currency?String(a.currency).toUpperCase().slice(0,3):"USD",h=new URLSearchParams({location_key:c,offset:String(d),limit:String(e),currency:g});if(a.sort){let b=String(a.sort).toLowerCase();["popularity","price","rating"].includes(b)&&h.set("sort",b)}a.hotel_class&&h.set("hotel_class",String(a.hotel_class));let i=(0,f.N)("hotel_search",b.agent_id??null),j=await i(`${A}/api/list?${h.toString()}`);if(!j.ok){let a=await n(j,`HTTP ${j.status}`);throw Error(`Xotelo list failed (${j.status}): ${a}`)}let l=await j.json();if(l?.error)throw Error(`Xotelo error: ${"string"==typeof l.error?l.error:JSON.stringify(l.error)}`);let m=l?.result||{},o=Array.isArray(m.list)?m.list:[];return{query:{location_key:c,offset:d,limit:e,currency:g,sort:h.get("sort")||null},count:o.length,total_available:m.number_of_results??null,hotels:o.map(v),source:{provider:"xotelo",fetched_at:new Date().toISOString()}}}function x(a={}){return{vendor:a.name??a.code??null,code:a.code??null,rate:a.rate??null,tax:a.tax??null,total:a.total??null,currency:a.currency??null,deeplink:a.deeplink??null,is_official:a.is_official??null,free_cancellation:a.free_cancellation??null}}async function y(a={},b={}){let c=String(a.hotel_key||"").trim();if(!c)throw Error('"hotel_key" is required');if(!/^[a-z]?[0-9]+-[a-z]?[0-9]+$/i.test(c))throw Error(`"hotel_key" must be a TripAdvisor hotel key like "g60763-d224867" (got: ${c})`);let d=m(a.chk_in,"chk_in"),e=m(a.chk_out,"chk_out");if(new Date(e)<=new Date(d))throw Error('"chk_out" must be after "chk_in"');let g=a.currency?String(a.currency).toUpperCase().slice(0,3):"USD",h=k(a.rooms,1,1,9),i=k(a.adults,2,1,9),j=new URLSearchParams({hotel_key:c,chk_in:d,chk_out:e,currency:g,rooms:String(h),adults:String(i)}),l=(0,f.N)("hotel_rates",b.agent_id??null),o=await l(`${A}/api/rates?${j.toString()}`);if(!o.ok){let a=await n(o,`HTTP ${o.status}`);throw Error(`Xotelo rates failed (${o.status}): ${a}`)}let p=await o.json();if(p?.error)throw Error(`Xotelo error: ${"string"==typeof p.error?p.error:JSON.stringify(p.error)}`);let q=p?.result||{},r=Array.isArray(q.rates)?q.rates:[];return{query:{hotel_key:c,chk_in:d,chk_out:e,currency:g,rooms:h,adults:i},count:r.length,hotel:{name:q.name??null,stars:q.stars??null},rates:r.map(x),source:{provider:"xotelo",fetched_at:new Date().toISOString()}}}d()}catch(a){d(a)}})},21016:(a,b,c)=>{Promise.resolve().then(c.bind(c,35271)),Promise.resolve().then(c.bind(c,79148)),Promise.resolve().then(c.bind(c,72987)),Promise.resolve().then(c.bind(c,78516)),Promise.resolve().then(c.t.bind(c,65169,23))},21118:(a,b,c)=>{"use strict";c.d(b,{Tt:()=>g,ix:()=>d,wb:()=>e}),Object.freeze(["public","internal","confidential","restricted","refused"]),Object.freeze(["diagnostic","blueprint","pilot","managed_layer"]),Object.freeze(["low","medium","high","irreversible_external","blocked"]),Object.freeze(["decide","draft","recommend","execute","escalate"]),Object.freeze(["interview_transcript","diagnostic_report","operating_profile","role_map","friction_map","governance_matrix","agent_roster","setup_plan","pilot_test_report","quarterly_review"]);let d=new Set(Object.freeze(["diagnostic_signoff","blueprint_signoff","setup_package_approval","pilot_launch","managed_layer_change"])),e=new Set(Object.freeze(["practitioner","architect","security_reviewer","principal","counsel"]));Object.freeze(["agent","tool","allowlist_entry","secret","schedule","workflow","memory_scope","artifact_acl","approval_policy"]),Object.freeze(["observed","inferred","needs_confirmation"]),Object.freeze([{slug:"principal_identity",label:"Principal identity & context"},{slug:"role_capacity_inventory",label:"Role / capacity inventory"},{slug:"decision_delegation_style",label:"Decision & delegation style"},{slug:"reputation_constraints",label:"Reputation constraints"},{slug:"confidentiality_boundaries",label:"Confidentiality boundaries"},{slug:"current_systems_tools",label:"Current systems, tools & communications"},{slug:"bottlenecks_friction",label:"Work bottlenecks & friction points"},{slug:"approval_preferences",label:"Approval preferences"},{slug:"counterparties_reviewers",label:"Human counterparties & reviewer roles"},{slug:"regulated_obligations",label:"Regulated / counsel / audit obligations"},{slug:"desired_outcomes",label:"Desired outcomes (time / judgment / reputation)"}]).map(a=>a.slug);let f=Object.freeze({"diagnostic-signoff":{gate_type:"diagnostic_signoff",reviewer_role:"practitioner"},"blueprint-signoff":{gate_type:"blueprint_signoff",reviewer_role:"architect"},"setup-package-approval":{gate_type:"setup_package_approval",reviewer_role:"principal"},"pilot-activation":{gate_type:"pilot_launch",reviewer_role:"principal"},"managed-layer-activation":{gate_type:"managed_layer_change",reviewer_role:"practitioner"}}),g=Object.freeze({"hail-engagement-lifecycle":f,"hail-quarterly-review":Object.freeze({"review-signoff":{gate_type:"managed_layer_change",reviewer_role:"practitioner"},"reconfig-approval":{gate_type:"setup_package_approval",reviewer_role:"principal"}})})},22458:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{ReadonlyURLSearchParams:function(){return k},RedirectType:function(){return e.RedirectType},forbidden:function(){return g.forbidden},notFound:function(){return f.notFound},permanentRedirect:function(){return d.permanentRedirect},redirect:function(){return d.redirect},unauthorized:function(){return h.unauthorized},unstable_isUnrecognizedActionError:function(){return l},unstable_rethrow:function(){return i.unstable_rethrow}});let d=c(79595),e=c(44338),f=c(52741),g=c(36098),h=c(87345),i=c(23129);class j extends Error{constructor(){super("Method unavailable on `ReadonlyURLSearchParams`. Read more: https://nextjs.org/docs/app/api-reference/functions/use-search-params#updating-searchparams")}}class k extends URLSearchParams{append(){throw new j}delete(){throw new j}set(){throw new j}sort(){throw new j}}function l(){throw Object.defineProperty(Error("`unstable_isUnrecognizedActionError` can only be used on the client."),"__NEXT_ERROR_CODE",{value:"E776",enumerable:!1,configurable:!0})}("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},22896:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{I6:()=>l,Q$:()=>k,vV:()=>m});var e=c(81909),f=c(16343),g=a([e,f]);function h(a,b={}){try{let c=(0,e.r6)(a,{agent_id:b.agent_id,project_id:b.project_id});if(c)return c}catch{}return process.env[a]||null}function i(a={}){return{Authorization:`Bearer ${function(a,b={}){let c=h(a,b);if(!c)throw Error(`${a} not configured`);return c}("VERCEL_TOKEN",a)}`,Accept:"application/json"}}function j(a,b){return b&&a.searchParams.set("teamId",String(b)),a}async function k(a={},b={}){let c=a.team_id||h("VERCEL_TEAM_ID",b),d=b.agent_id??null,e=j(new URL("https://api.vercel.com/v9/projects"),c);a.limit&&e.searchParams.set("limit",String(Math.min(Math.max(Number(a.limit),1),100)));let g=await (0,f.N)("vercel_list_projects",d)(e,{headers:i(b)});if(!g.ok)throw Error(`Vercel projects request failed: ${g.status}`);return{projects:((await g.json()).projects||[]).map(a=>({id:a.id,name:a.name,framework:a.framework,latest_deployments:(a.latestDeployments||[]).map(a=>({uid:a.uid,url:a.url,state:a.state,created_at:a.createdAt}))}))}}async function l(a={},b={}){let c=a.team_id||h("VERCEL_TEAM_ID",b),d=b.agent_id??null,e=j(new URL("https://api.vercel.com/v6/deployments"),c);a.project_id&&e.searchParams.set("projectId",String(a.project_id)),a.project_name&&e.searchParams.set("projectName",String(a.project_name)),a.limit&&e.searchParams.set("limit",String(Math.min(Math.max(Number(a.limit),1),100)));let g=await (0,f.N)("vercel_list_deployments",d)(e,{headers:i(b)});if(!g.ok)throw Error(`Vercel deployments request failed: ${g.status}`);let k=await g.json();return{deployments:(k.deployments||[]).map(a=>({uid:a.uid,name:a.name,url:a.url,state:a.state,target:a.target,created_at:a.createdAt,creator:a.creator?{uid:a.creator.uid,username:a.creator.username}:null})),pagination:k.pagination||null}}async function m(a={}){return{approval_required:!0,status:"pending_approval",action:"vercel_create_deployment",summary:a.summary||"Create a Vercel deployment",requested_at:new Date().toISOString(),note:"Deployment creation is staged only. Approve the pending action before any external write is executed."}}[e,f]=g.then?(await g)():g,d()}catch(a){d(a)}})},23129:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"unstable_rethrow",{enumerable:!0,get:function(){return d}});let d=c(74144).unstable_rethrow;("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},23339:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{NO:()=>p,TP:()=>q,c3:()=>r,l8:()=>w,mD:()=>s,oc:()=>u,sX:()=>t,wm:()=>v});var e=c(81909),f=c(16343),g=a([e,f]);function h(a,b={}){try{let c=(0,e.r6)(a,{agent_id:b.agent_id,project_id:b.project_id});if(c)return c}catch{}return process.env[a]||null}function i(a,b={}){let c=h(a,b);if(!c)throw Error(`${a} not configured`);return c}function j(a){return{Authorization:`Bearer ${a}`,apikey:a,Accept:"application/json"}}function k(a,b){let c=String(a||"").trim();if(!/^[a-zA-Z_][a-zA-Z0-9_]*(\.[a-zA-Z_][a-zA-Z0-9_]*)?$/.test(c))throw Error(`${b} must be a valid identifier (got: ${JSON.stringify(a)})`);return c}function l(a){let b=new URLSearchParams;for(let[c,d]of Object.entries(a)){if(!/^[A-Za-z_][A-Za-z0-9_]*$/.test(c))throw Error(`Invalid filter column: ${c}`);b.set(c,String(d).includes(".")?String(d):`eq.${d}`)}return b}async function m(a){let b={};try{b=await a.json()}catch{}return{status:a.status,message:b.message||b.error||a.statusText||"Request failed",hint:b.hint||null}}function n(a){let b=i("SUPABASE_URL",a).replace(/\/+$/g,""),c=h("SUPABASE_SERVICE_ROLE_KEY",a)||h("SUPABASE_ANON_KEY",a);if(!c)throw Error("SUPABASE_SERVICE_ROLE_KEY or SUPABASE_ANON_KEY not configured");return{baseUrl:b,key:c}}function o(a){return Array.isArray(a)&&a.length>100?a.slice(0,100):a}async function p(a={},b={}){let c=i("SUPABASE_ACCESS_TOKEN",b),d=b.agent_id??null,e=await (0,f.N)("supabase_list_projects",d)("https://api.supabase.com/v1/projects",{headers:{Authorization:`Bearer ${c}`,Accept:"application/json"}});if(!e.ok)throw Error(`Supabase projects request failed: ${e.status}`);let g=await e.json();return{projects:(Array.isArray(g)?g:[]).map(a=>({id:a.id,name:a.name,region:a.region,status:a.status,organization_id:a.organization_id}))}}async function q(a={},b={}){let c=i("SUPABASE_URL",b).replace(/\/+$/g,""),d=h("SUPABASE_SERVICE_ROLE_KEY",b)||h("SUPABASE_ANON_KEY",b);if(!d)throw Error("SUPABASE_SERVICE_ROLE_KEY or SUPABASE_ANON_KEY not configured");let e=b.agent_id??null,g=String(a.table||"").trim();if(!/^[A-Za-z_][A-Za-z0-9_]*$/.test(g))throw Error("table must be a simple table name");let k=Math.min(Math.max(Number(a.limit||25),1),100),l=new URL(`${c}/rest/v1/${g}`);l.searchParams.set("select",String(a.select||"*")),l.searchParams.set("limit",String(k));let m=a.filters&&"object"==typeof a.filters?a.filters:{};for(let[a,b]of Object.entries(m)){if(!/^[A-Za-z_][A-Za-z0-9_]*$/.test(a))throw Error(`Invalid filter column: ${a}`);l.searchParams.set(a,String(b).includes(".")?String(b):`eq.${b}`)}let n=await (0,f.N)("supabase_rest_select",e)(l,{headers:j(d)});if(!n.ok)throw Error(`Supabase REST select failed: ${n.status}`);let o=await n.json();return{table:g,count:Array.isArray(o)?o.length:null,rows:o}}async function r(a={},b={}){let{baseUrl:c,key:d}=n(b),e=b.agent_id??null,g=k(a.table,"table"),h=Array.isArray(a.rows)?a.rows:[a.rows].filter(Boolean);if(!h.length)throw Error("supabase_rest_insert requires at least one row in rows[]");let i=new URL(`${c}/rest/v1/${g}`);i.searchParams.set("limit","100");let l=await (0,f.N)("supabase_rest_insert",e)(i,{method:"POST",headers:{...j(d),"Content-Type":"application/json",Prefer:"return=representation"},body:JSON.stringify(h)});if(!l.ok){let a=await m(l);throw Error(`supabase_rest_insert failed (${a.status}): ${a.message}${a.hint?` — ${a.hint}`:""}`)}let p=await l.json(),q=o(Array.isArray(p)?p:[]);return{inserted:h.length,rows:q}}async function s(a={},b={}){let{baseUrl:c,key:d}=n(b),e=b.agent_id??null,g=k(a.table,"table"),h=Array.isArray(a.rows)?a.rows:[a.rows].filter(Boolean);if(!h.length)throw Error("supabase_rest_upsert requires at least one row in rows[]");let i=new URL(`${c}/rest/v1/${g}`);i.searchParams.set("limit","100"),a.on_conflict&&i.searchParams.set("on_conflict",String(a.on_conflict));let l=await (0,f.N)("supabase_rest_upsert",e)(i,{method:"POST",headers:{...j(d),"Content-Type":"application/json",Prefer:"resolution=merge-duplicates,return=representation"},body:JSON.stringify(h)});if(!l.ok){let a=await m(l);throw Error(`supabase_rest_upsert failed (${a.status}): ${a.message}${a.hint?` — ${a.hint}`:""}`)}let p=await l.json(),q=o(Array.isArray(p)?p:[]);return{upserted:h.length,rows:q}}async function t(a={},b={}){let{baseUrl:c,key:d}=n(b),e=b.agent_id??null,g=k(a.table,"table"),h=a.filters&&"object"==typeof a.filters?a.filters:{};if(!Object.keys(h).length)throw Error("supabase_rest_update requires filters to avoid table-wide updates");if(!a.patch||"object"!=typeof a.patch||Array.isArray(a.patch))throw Error("supabase_rest_update requires a patch object");let i=l(h),p=new URL(`${c}/rest/v1/${g}?${i.toString()}`),q=await (0,f.N)("supabase_rest_update",e)(p,{method:"PATCH",headers:{...j(d),"Content-Type":"application/json",Prefer:"return=representation",Range:"0-99"},body:JSON.stringify(a.patch)});if(!q.ok){let a=await m(q);throw Error(`supabase_rest_update failed (${a.status}): ${a.message}${a.hint?` — ${a.hint}`:""}`)}let r=await q.json(),s=o(Array.isArray(r)?r:[]);return{updated:s.length,rows:s}}async function u(a={},b={}){let{baseUrl:c,key:d}=n(b),e=b.agent_id??null,g=k(a.table,"table"),h=a.filters&&"object"==typeof a.filters?a.filters:{};if(!Object.keys(h).length)throw Error("supabase_rest_delete requires filters; bulk table truncation is blocked");let i=l(h),p=new URL(`${c}/rest/v1/${g}?${i.toString()}`),q=await (0,f.N)("supabase_rest_delete",e)(p,{method:"DELETE",headers:{...j(d),Prefer:"return=representation",Range:"0-99"}});if(!q.ok){let a=await m(q);throw Error(`supabase_rest_delete failed (${a.status}): ${a.message}${a.hint?` — ${a.hint}`:""}`)}let r=await q.json(),s=o(Array.isArray(r)?r:[]);return{deleted:s.length,rows:s}}async function v(a={},b={}){let c,{baseUrl:d,key:e}=n(b),g=b.agent_id??null,h=k(a.function_name,"function_name"),i=a.params&&"object"==typeof a.params?a.params:{},l=new URL(`${d}/rest/v1/rpc/${h}`),p=await (0,f.N)("supabase_rpc",g)(l,{method:"POST",headers:{...j(e),"Content-Type":"application/json"},body:JSON.stringify(i)});if(!p.ok){let a=await m(p);throw Error(`supabase_rpc(${h}) failed (${a.status}): ${a.message}${a.hint?` — ${a.hint}`:""}`)}let q=await p.text();if(Buffer.byteLength(q,"utf8")>51200)throw Error("supabase_rpc response too large (>51200 bytes); narrow your query");try{c=JSON.parse(q)}catch{c=q}return{result:o((Array.isArray(c),c))}}async function w(a={},b={}){let c,{baseUrl:d,key:e}=n(b),g=b.agent_id??null,h=String(a.query||"").trim();if(!h)throw Error("supabase_sql requires a query string");let i=a.params&&"object"==typeof a.params?a.params:{},k=new URL(`${d}/rest/v1/rpc/madarx_exec_sql`),l=await (0,f.N)("supabase_sql",g)(k,{method:"POST",headers:{...j(e),"Content-Type":"application/json"},body:JSON.stringify({query:h,params:i})});if(404===l.status)throw Error("madarx_exec_sql() function not found. Create it in your Supabase project with: CREATE OR REPLACE FUNCTION madarx_exec_sql(query text, params jsonb DEFAULT '{}'::jsonb) RETURNS SETOF record LANGUAGE plpgsql SECURITY DEFINER AS $$ BEGIN RETURN QUERY EXECUTE query; END; $$;");if(!l.ok){let a=await m(l);throw Error(`supabase_sql failed (${a.status}): ${a.message}${a.hint?` — ${a.hint}`:""}`)}let p=await l.text();if(Buffer.byteLength(p,"utf8")>51200)throw Error("supabase_sql response too large (>51200 bytes); add LIMIT to your query");try{c=JSON.parse(p)}catch{c=[]}let q=o(Array.isArray(c)?c:[c]);return{rows:q,row_count:q.length}}[e,f]=g.then?(await g)():g,d()}catch(a){d(a)}})},23799:(a,b,c)=>{"use strict";c.d(b,{m:()=>h});var d=c(31421);c(26848);var e=c(6390);function f(a){return new Promise(b=>{let c="",e=(0,d.spawn)("npm",["install","-g",a,"--prefer-online","--no-audit","--no-fund"],{stdio:["ignore","pipe","pipe"]});e.stdout.on("data",a=>{c+=a,process.stdout.write(a)}),e.stderr.on("data",a=>{c+=a,process.stderr.write(a)}),e.on("error",a=>b({ok:!1,code:-1,output:String(a.message)})),e.on("exit",a=>b({ok:0===a,code:a,output:c}))})}async function g({runner:a=f,to:b="latest",initiatedBy:d="cli"}={}){let h=(0,e.YO)(),i=`${e.rd}@${b}`,j=await a(i);try{let{appendAudit:a}=await Promise.resolve().then(c.bind(c,42382));a({type:"system.self_update",summary:`madarx update ${h} → ${b} (${j.ok?"ok":"failed"})`,status:j.ok?"ok":"failed",meta:{from:h,to:b,code:j.code,initiated_by:d}})}catch{}return{ok:j.ok,from:h,to:b,code:j.code,output:j.output}}async function h(a={}){let b=await (0,e.NS)({});if(!b.reachable)return{ok:!1,from:(0,e.YO)(),to:null,applied:!1,message:"npm registry unreachable"};if(!b.behind)return{ok:!0,from:b.current,to:b.latest,applied:!1,message:"already up to date"};let c=await g({initiatedBy:"self_update_tool"});return{ok:c.ok,from:c.from,to:b.latest,applied:c.ok,message:c.ok?`updated ${c.from} → v${b.latest}; restart required`:`update failed (exit ${c.code})`}}c(76760),c(48161),c(73024)},23998:(a,b)=>{"use strict";function c(a){return null!==a&&"object"==typeof a&&"then"in a&&"function"==typeof a.then}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"isThenable",{enumerable:!0,get:function(){return c}})},24867:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{Bs:()=>g});var e=c(84104),f=a([e]);function g(a,{scope_key:b,scope_value:c},d={}){let f=(0,e.Lf)(),h=!!d.default_allow,i=f.prepare("SELECT id FROM tool_allowlists WHERE tool_name = ? AND scope_key = ?").all(a,b);return 0===i.length?h?{ok:!0}:{ok:!1,missing_entry:{tool_name:a,scope_key:b,scope_value:c}}:f.prepare("SELECT id FROM tool_allowlists WHERE tool_name = ? AND scope_key = ? AND scope_value = ?").get(a,b,String(c))?{ok:!0}:{ok:!1,missing_entry:{tool_name:a,scope_key:b,scope_value:c}}}e=(f.then?(await f)():f)[0],d()}catch(a){d(a)}})},26082:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"RouteKind",{enumerable:!0,get:function(){return c}});var c=function(a){return a.PAGES="PAGES",a.PAGES_API="PAGES_API",a.APP_PAGE="APP_PAGE",a.APP_ROUTE="APP_ROUTE",a.IMAGE="IMAGE",a}({})},26200:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{ef:()=>C});var e=c(31421),f=c(73024),g=c(76760),h=c(83498),i=c(71086),j=c(79336),k=c(57647),l=c(42382),m=c(42864),n=c(11575),o=c(44246),p=c(85774),q=c(45830),r=c(40266),s=c(73005),t=c(62670),u=c(18722),v=c(34976),w=c(96615),x=c(5609),y=c(71454),z=c(17553),A=c(6390),B=a([j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z]);[j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z]=B.then?(await B)():B;let D="1"===process.env.MADARX_SEED_DEFAULT_WORKFLOWS;function C(a){globalThis.__madarxSuppressStateEmits=!0;try{try{!function(a){if(a.prepare("SELECT id FROM heartbeat_tasks WHERE type = 'tool_rate_limit_gc' AND status IN ('queued','leased','running') LIMIT 1").get())return;let b=`hbtask-rl-gc-${Date.now().toString(36)}`,c=JSON.stringify({type:"tool_rate_limit_gc"}),d=new Date().toISOString(),e=new Date(Date.now()+864e5).toISOString();a.prepare(`
370
+ see more here https://nextjs.org/docs/messages/app-static-to-dynamic-error`),"__NEXT_ERROR_CODE",{value:"E132",enumerable:!1,configurable:!0});if(null==a?void 0:a.stack){let c=a.stack;b.stack=b.message+c.substring(c.indexOf("\n"))}throw b}return{value:{kind:w.CachedRouteKind.APP_PAGE,html:l,headers:o,rscData:m.flightData,postponed:m.postponed,status:m.statusCode,segmentData:m.segmentData},cacheControl:n}},n=async({hasResolved:c,previousCacheEntry:f,isRevalidating:g,span:i})=>{let j,k=!1===L.isDev,l=c||b.writableEnded;if(ai&&ac&&!f&&!O)return(null==ad?void 0:ad.render404)?await ad.render404(a,b):(b.statusCode=404,b.end("This page could not be found")),null;if(aj&&(j=(0,x.parseFallbackField)(aj.fallback)),j===x.FallbackMode.PRERENDER&&(0,v.isBot)(am)&&(!as||ao)&&(j=x.FallbackMode.BLOCKING_STATIC_RENDER),(null==f?void 0:f.isStale)===-1&&(ai=!0),ai&&(j!==x.FallbackMode.NOT_FOUND||f)&&(j=x.FallbackMode.BLOCKING_STATIC_RENDER),!O&&j!==x.FallbackMode.BLOCKING_STATIC_RENDER&&aC&&!l&&!aa&&U&&(k||!ak)){let b;if((k||aj)&&j===x.FallbackMode.NOT_FOUND)throw new C.NoFallbackError;if(as&&!aq){let c="string"==typeof(null==aj?void 0:aj.fallback)?aj.fallback:k?ah:null;if(b=await L.handleResponse({cacheKey:c,req:a,nextConfig:ae,routeKind:e.RouteKind.APP_PAGE,isFallback:!0,prerenderManifest:_,isRoutePPREnabled:as,responseGenerator:async()=>m({span:i,postponed:void 0,fallbackRouteParams:k||au?(0,o.u)(ah):null}),waitUntil:d.waitUntil}),null===b)return null;if(b)return delete b.cacheControl,b}}let n=ai||g||!av?void 0:av;if(at&&void 0!==n)return{cacheControl:{revalidate:1,expire:void 0},value:{kind:w.CachedRouteKind.PAGES,html:y.default.EMPTY,pageData:{},headers:void 0,status:void 0}};let p=U&&as&&((0,h.getRequestMeta)(a,"renderFallbackShell")||au)?(0,o.u)(ag):null;return m({span:i,postponed:n,fallbackRouteParams:p})},p=async c=>{var f,g,i,j,k;let l,o=await L.handleResponse({cacheKey:aB,responseGenerator:a=>n({span:c,...a}),routeKind:e.RouteKind.APP_PAGE,isOnDemandRevalidate:ai,isRoutePPREnabled:as,req:a,nextConfig:ae,prerenderManifest:_,waitUntil:d.waitUntil});if(aa&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate"),L.isDev&&b.setHeader("Cache-Control","no-store, must-revalidate"),!o){if(aB)throw Object.defineProperty(Error("invariant: cache entry required but not generated"),"__NEXT_ERROR_CODE",{value:"E62",enumerable:!1,configurable:!0});return null}if((null==(f=o.value)?void 0:f.kind)!==w.CachedRouteKind.APP_PAGE)throw Object.defineProperty(Error(`Invariant app-page handler received invalid cache entry ${null==(i=o.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E707",enumerable:!1,configurable:!0});let p="string"==typeof o.value.postponed;al&&!aw&&(!p||ap)&&(O||b.setHeader("x-nextjs-cache",ai?"REVALIDATED":o.isMiss?"MISS":o.isStale?"STALE":"HIT"),b.setHeader(u.NEXT_IS_PRERENDER_HEADER,"1"));let{value:q}=o;if(av)l={revalidate:0,expire:void 0};else if(O&&aq&&!ap&&as)l={revalidate:0,expire:void 0};else if(!L.isDev)if(aa)l={revalidate:0,expire:void 0};else if(al){if(o.cacheControl)if("number"==typeof o.cacheControl.revalidate){if(o.cacheControl.revalidate<1)throw Object.defineProperty(Error(`Invalid revalidate configuration provided: ${o.cacheControl.revalidate} < 1`),"__NEXT_ERROR_CODE",{value:"E22",enumerable:!1,configurable:!0});l={revalidate:o.cacheControl.revalidate,expire:(null==(j=o.cacheControl)?void 0:j.expire)??ae.expireTime}}else l={revalidate:z.CACHE_ONE_YEAR,expire:void 0}}else b.getHeader("Cache-Control")||(l={revalidate:0,expire:void 0});if(o.cacheControl=l,"string"==typeof ax&&(null==q?void 0:q.kind)===w.CachedRouteKind.APP_PAGE&&q.segmentData){b.setHeader(u.NEXT_DID_POSTPONE_HEADER,"2");let c=null==(k=q.headers)?void 0:k[z.NEXT_CACHE_TAGS_HEADER];O&&al&&c&&"string"==typeof c&&b.setHeader(z.NEXT_CACHE_TAGS_HEADER,c);let d=q.segmentData.get(ax);return void 0!==d?(0,B.sendRenderResult)({req:a,res:b,generateEtags:ae.generateEtags,poweredByHeader:ae.poweredByHeader,result:y.default.fromStatic(d,u.RSC_CONTENT_TYPE_HEADER),cacheControl:o.cacheControl}):(b.statusCode=204,(0,B.sendRenderResult)({req:a,res:b,generateEtags:ae.generateEtags,poweredByHeader:ae.poweredByHeader,result:y.default.EMPTY,cacheControl:o.cacheControl}))}let r=(0,h.getRequestMeta)(a,"onCacheEntry");if(r&&await r({...o,value:{...o.value,kind:"PAGE"}},{url:(0,h.getRequestMeta)(a,"initURL")}))return null;if(p&&av)throw Object.defineProperty(Error("Invariant: postponed state should not be present on a resume request"),"__NEXT_ERROR_CODE",{value:"E396",enumerable:!1,configurable:!0});if(q.headers){let a={...q.headers};for(let[c,d]of(O&&al||delete a[z.NEXT_CACHE_TAGS_HEADER],Object.entries(a)))if(void 0!==d)if(Array.isArray(d))for(let a of d)b.appendHeader(c,a);else"number"==typeof d&&(d=d.toString()),b.appendHeader(c,d)}let s=null==(g=q.headers)?void 0:g[z.NEXT_CACHE_TAGS_HEADER];if(O&&al&&s&&"string"==typeof s&&b.setHeader(z.NEXT_CACHE_TAGS_HEADER,s),!q.status||aq&&as||(b.statusCode=q.status),!O&&q.status&&G.RedirectStatusCode[q.status]&&aq&&(b.statusCode=200),p&&b.setHeader(u.NEXT_DID_POSTPONE_HEADER,"1"),aq&&!aa){if(void 0===q.rscData){if(q.postponed)throw Object.defineProperty(Error("Invariant: Expected postponed to be undefined"),"__NEXT_ERROR_CODE",{value:"E372",enumerable:!1,configurable:!0});return(0,B.sendRenderResult)({req:a,res:b,generateEtags:ae.generateEtags,poweredByHeader:ae.poweredByHeader,result:q.html,cacheControl:aw?{revalidate:0,expire:void 0}:o.cacheControl})}return(0,B.sendRenderResult)({req:a,res:b,generateEtags:ae.generateEtags,poweredByHeader:ae.poweredByHeader,result:y.default.fromStatic(q.rscData,u.RSC_CONTENT_TYPE_HEADER),cacheControl:o.cacheControl})}let t=q.html;if(!p||O||aq)return(0,B.sendRenderResult)({req:a,res:b,generateEtags:ae.generateEtags,poweredByHeader:ae.poweredByHeader,result:t,cacheControl:o.cacheControl});if(at)return t.push(new ReadableStream({start(a){a.enqueue(A.ENCODED_TAGS.CLOSED.BODY_AND_HTML),a.close()}})),(0,B.sendRenderResult)({req:a,res:b,generateEtags:ae.generateEtags,poweredByHeader:ae.poweredByHeader,result:t,cacheControl:{revalidate:0,expire:void 0}});let v=new TransformStream;return t.push(v.readable),m({span:c,postponed:q.postponed,fallbackRouteParams:null}).then(async a=>{var b,c;if(!a)throw Object.defineProperty(Error("Invariant: expected a result to be returned"),"__NEXT_ERROR_CODE",{value:"E463",enumerable:!1,configurable:!0});if((null==(b=a.value)?void 0:b.kind)!==w.CachedRouteKind.APP_PAGE)throw Object.defineProperty(Error(`Invariant: expected a page response, got ${null==(c=a.value)?void 0:c.kind}`),"__NEXT_ERROR_CODE",{value:"E305",enumerable:!1,configurable:!0});await a.value.html.pipeTo(v.writable)}).catch(a=>{v.writable.abort(a).catch(a=>{console.error("couldn't abort transformer",a)})}),(0,B.sendRenderResult)({req:a,res:b,generateEtags:ae.generateEtags,poweredByHeader:ae.poweredByHeader,result:t,cacheControl:{revalidate:0,expire:void 0}})};if(!aG)return await aF.withPropagatedContext(a.headers,()=>aF.trace(i.BaseServerSpan.handleRequest,{spanName:`${aE} ${a.url}`,kind:g.SpanKind.SERVER,attributes:{"http.method":aE,"http.target":a.url}},p));await p(aG)}catch(b){throw b instanceof C.NoFallbackError||await L.onRequestError(a,b,{routerKind:"App Router",routePath:H,routeType:"render",revalidateReason:(0,f.c)({isRevalidate:al,isOnDemandRevalidate:ai})},ad),b}}},17553:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{$F:()=>m,mx:()=>n});var e=c(73024),f=c(76760),g=c(84104),h=c(83498),i=a([g]);g=(i.then?(await i)():i)[0];let o="brand_profile",p=f.join(h.Dl,"brand-assets","brand-guidelines.html"),q=f.join(h.Dl,"brand-assets","madarx-logo-primary.svg"),r={active:!0,company_name:"madarX",tagline:"",colors:[{name:"Onyx",value:"#0F0F11"},{name:"Platinum",value:"#E8E8E5"},{name:"Bone",value:"#DCDCD8"},{name:"Graphite",value:"#4A4A4D"},{name:"Mars",value:"#C2452A"}],fonts:["Inter","Cairo","IBM Plex Mono"],voice:["Direct","disciplined","precise","premium","local-first"],document_types:["Report","Brief","Strategy memo","Proposal"],presentation_style:"Dark editorial system with restrained layouts, Inter/Cairo/IBM Plex Mono typography, onyx backgrounds, platinum text, and Mars red accents.",logo_path:e.existsSync(q)?(0,h.z9)(q):null,logo_data_url:k(q),guidelines_path:e.existsSync(p)?(0,h.z9)(p):null,source_name:"brand-guidelines.html",extracted_at:null,updated_at:null};function j(a){return String(a||"").replace(/^--/,"").replace(/[-_]+/g," ").replace(/\b\w/g,a=>a.toUpperCase()).trim().replace(/^Ibm\b/,"IBM").replace(/\bUi\b/g,"UI")}function k(a){try{if(!a||!e.existsSync(a))return null;let b=f.extname(a).toLowerCase(),c=".svg"===b?"image/svg+xml":".png"===b?"image/png":".jpg"===b||".jpeg"===b?"image/jpeg":".webp"===b?"image/webp":"application/octet-stream",d=e.readFileSync(a);if("image/svg+xml"===c)return`data:${c};utf8,${encodeURIComponent(d.toString("utf8"))}`;return`data:${c};base64,${d.toString("base64")}`}catch{return null}}function l(){try{if(!e.existsSync(p))return{...r};let a=e.readFileSync(p,"utf8");return{...function(a,b="brand-guidelines"){let c=String(a||"").replace(/<script[\s\S]*?<\/script>/gi," ").replace(/<style[\s\S]*?<\/style>/gi," ").replace(/<[^>]+>/g," ").replace(/&mdash;|&#8212;/g,"-").replace(/&[a-z]+;/gi," ").replace(/\s+/g," ").trim(),d={...r,company_name:function(a,b){let c=a.match(/<title[^>]*>([\s\S]*?)<\/title>/i)?.[1]?.replace(/\s+/g," ").trim()||"",d=c.split(/[—|-]/)[0]?.trim();return d?d.replace(/\s+Brand Guidelines.*$/i,"").trim():f.basename(b||"Brand",f.extname(b||"")).replace(/[-_]+/g," ")}(a,b)||r.company_name,tagline:function(a,b){let c=RegExp(`<meta[^>]+name=["']${b}["'][^>]+content=["']([^"']+)["']`,"i");return a.match(c)?.[1]?.trim()||""}(a,"description")||"",colors:function(a){let b,c=function(a){let b,c=[],d=/--([a-z0-9_-]+)\s*:\s*(#[0-9a-f]{3,8})\b/gi;for(;b=d.exec(a);)c.push({name:j(b[1]),value:b[2].toUpperCase()});return c}(a),d=new Set(c.map(a=>a.value.toUpperCase())),e=/#[0-9a-f]{3,8}\b/gi;for(;(b=e.exec(a))&&c.length<10;){let a=b[0].toUpperCase();d.has(a)||(d.add(a),c.push({name:`Color ${c.length+1}`,value:a}))}return c.slice(0,10)}(a),fonts:function(a){let b=[];for(let c of a.matchAll(/@fontsource\/([^@/'")]+)/gi))b.push(j(c[1]));for(let c of a.matchAll(/font-family\s*:\s*([^;}{]+)/gi)){let a=c[1].split(",")[0].replace(/["']/g,"").trim();a&&!/^(var|system-ui|-apple-system|sans-serif|serif|monospace)$/i.test(a)&&b.push(a)}return[...new Set(b.filter(Boolean).map(a=>String(a).trim()).filter(Boolean))].slice(0,8)}(a),voice:function(a){let b=a.toLowerCase();return["direct","disciplined","precise","premium","minimal","editorial","confident","restrained","local-first","bilingual","operational"].filter(a=>b.includes(a)).slice(0,8)}(c),source_name:b,extracted_at:(0,g.kF)(),updated_at:(0,g.kF)()};return d.colors.length||(d.colors=r.colors),d.fonts.length||(d.fonts=r.fonts),d.voice.length||(d.voice=r.voice),d.presentation_style=function(a){let b=a.colors?.[0]?.value||"#111318",c=a.colors?.find(a=>!["#FFFFFF","#000000"].includes(a.value))?.value||b,d=a.fonts?.length?a.fonts.join(", "):"brand typography";return`Use ${d}; lead with ${a.company_name||"the brand"} identity, restrained hierarchy, ${b} as the base color, and ${c} as the accent.`}(d),d}(a,"brand-guidelines.html"),logo_path:e.existsSync(q)?(0,h.z9)(q):null,logo_data_url:k(q),guidelines_path:(0,h.z9)(p)}}catch{return{...r}}}function m(){let a=(0,g.Lf)().prepare("SELECT value FROM config WHERE key = ?").get(o);return a?{...r,...function(a,b){try{return JSON.parse(a)}catch{return b}}(a.value,{})}:l()}function n(a=(0,g.Lf)()){if(a.prepare("SELECT value FROM config WHERE key = ?").get(o))return!1;let b=l();return a.prepare("INSERT OR REPLACE INTO config (key, value) VALUES (?, ?)").run(o,JSON.stringify({...b,updated_at:(0,g.kF)()})),!0}d()}catch(a){d(a)}})},17830:(a,b,c)=>{"use strict";c.d(b,{ho:()=>l,pE:()=>f});let d=/^[a-z][a-z0-9-]{2,63}$/,e=new Set(["tool_call","llm_synthesis","artifact_write"]),f=["low","medium","high","irreversible_external"],g=/^[a-z][a-z0-9-]{0,63}$/,h=/\{\{([a-z][a-z0-9-]*)/g;function i(a,b,c){a.push(`${b}: ${c}`)}function j(a){return null!==a&&"object"==typeof a&&!Array.isArray(a)}function k(a){return f.indexOf(a)}function l(a,b={}){let c,m=[],n=[];try{c=JSON.stringify(a)}catch{return{ok:!1,errors:["spec: not JSON-serialisable"],warnings:[],normalized:null}}if(!c||"undefined"===c)return{ok:!1,errors:["spec: required"],warnings:[],normalized:null};if(Buffer.byteLength(c,"utf8")>65536)return{ok:!1,errors:[`spec: serialized length ${Buffer.byteLength(c,"utf8")} bytes exceeds 65536-byte cap`],warnings:[],normalized:null};if(!j(a))return{ok:!1,errors:["spec: must be a plain object"],warnings:[],normalized:null};if(a.slug&&"string"==typeof a.slug?d.test(a.slug)||i(m,"slug",`does not match ${d} (lowercase, starts with letter, 3-64 chars, hyphens allowed)`):i(m,"slug","required (string)"),a.title&&"string"==typeof a.title||i(m,"title","required (non-empty string)"),null!=a.description&&"string"!=typeof a.description&&i(m,"description","must be a string"),null==a.input_schema||j(a.input_schema)||i(m,"input_schema","must be a plain object"),!Array.isArray(a.steps)||0===a.steps.length)return i(m,"steps","required (non-empty array)"),{ok:!1,errors:m,warnings:n,normalized:null};if(a.steps.length>25)return i(m,"steps","exceeds 25"),{ok:!1,errors:m,warnings:n,normalized:null};let o=new Set,p="low",q=[];for(let c=0;c<a.steps.length;c++){var r,s;let d,l=a.steps[c],n=`steps[${c}]`;if(!j(l)){i(m,n,"must be a plain object");continue}if(!l.kind||!e.has(l.kind)){i(m,`${n}.kind`,`must be one of ${[...e].join(", ")}`);continue}l.id&&"string"==typeof l.id?g.test(l.id)?o.has(l.id)?i(m,`${n}.id`,`duplicate step id '${l.id}'`):o.add(l.id):i(m,`${n}.id`,`does not match ${g}`):i(m,`${n}.id`,"required (slug-like string)");let t=new Set(o);l.id&&t.delete(l.id);let u={};for(let[a,b]of("tool_call"===l.kind&&j(l.input_template)&&(u.input_template=l.input_template),"artifact_write"===l.kind&&(null!=l.title_template&&(u.title_template=l.title_template),null!=l.content_ref&&(u.content_ref=l.content_ref)),"llm_synthesis"===l.kind&&null!=l.prompt&&(u.prompt=l.prompt),Object.entries(u)))for(let c of function a(b){let c=new Set;if("string"==typeof b){let a;for(h.lastIndex=0;null!==(a=h.exec(b));){let b=a[1];"input"!==b&&c.add(b)}return c}if(j(b))for(let d of Object.values(b))for(let b of a(d))c.add(b);if(Array.isArray(b))for(let d of b)for(let b of a(d))c.add(b);return c}(b))t.has(c)||i(m,n,`references later/unknown step '${c}' in ${a}`);switch(l.kind){case"tool_call":d=function(a,b,c,d){let e;return a.tool&&"string"==typeof a.tool?d.knownToolNames&&!d.knownToolNames.has(a.tool)&&i(b,`${c}.tool`,`unknown tool '${a.tool}'`):i(b,`${c}.tool`,"required (string)"),null==a.input_template||j(a.input_template)||i(b,`${c}.input_template`,"must be a plain object (data only)"),null!=a.risk?f.includes(a.risk)?e=a.risk:(i(b,`${c}.risk`,`must be one of ${f.join(", ")}`),e="medium"):e=d.toolRiskByName&&"string"==typeof a.tool?d.toolRiskByName.get(a.tool)??"medium":"medium",e}(l,m,n,b);break;case"llm_synthesis":l.prompt&&"string"==typeof l.prompt?l.prompt.length>8e3&&i(m,`${n}.prompt`,`exceeds 8000 chars (got ${l.prompt.length})`):i(m,`${n}.prompt`,"required (non-empty string)"),d="low";break;case"artifact_write":d="low"}r=p,s=d,p=k(r)>=k(s)?r:s;let v={kind:l.kind,id:l.id};"tool_call"===l.kind?(v.tool=l.tool??null,null!=l.input_template&&(v.input_template=structuredClone(l.input_template)),v.risk=d):"llm_synthesis"===l.kind?v.prompt=l.prompt??null:"artifact_write"===l.kind&&(null!=l.title_template&&(v.title_template=l.title_template),null!=l.content_ref&&(v.content_ref=l.content_ref)),q.push(v)}return m.length>0?{ok:!1,errors:m,warnings:n,normalized:null}:{ok:!0,errors:[],warnings:n,normalized:{slug:a.slug,title:a.title,description:a.description??null,input_schema:null!=a.input_schema?structuredClone(a.input_schema):{type:"object",properties:{}},steps:q,risk_level:p}}}},17916:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{normalizeAppPath:function(){return f},normalizeRscURL:function(){return g}});let d=c(8991),e=c(8625);function f(a){return(0,d.ensureLeadingSlash)(a.split("/").reduce((a,b,c,d)=>!b||(0,e.isGroupSegment)(b)||"@"===b[0]||("page"===b||"route"===b)&&c===d.length-1?a:a+"/"+b,""))}function g(a){return a.replace(/\.rsc($|\?)/,"$1")}},18633:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{METADATA_BOUNDARY_NAME:function(){return c},OUTLET_BOUNDARY_NAME:function(){return e},ROOT_LAYOUT_BOUNDARY_NAME:function(){return f},VIEWPORT_BOUNDARY_NAME:function(){return d}});let c="__next_metadata_boundary__",d="__next_viewport_boundary__",e="__next_outlet_boundary__",f="__next_root_layout_boundary__"},18707:(a,b,c)=>{},18722:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{r1:()=>j});var e=c(73024),f=c(73136),g=c(76760),h=c(75994),i=a([h]);h=(i.then?(await i)():i)[0];let k=(0,g.dirname)((0,f.fileURLToPath)("file:///home/runner/work/madarx-os/madarx-os/lib/process/seeds/hail-quarterly-review.js")),l=null;function j(){let a=(l||(l=JSON.parse((0,e.readFileSync)((0,g.join)(k,"specs","hail-quarterly-review.json"),"utf8"))),l);return(0,h.R1)(a,{source_spec_json:JSON.stringify(a)})}d()}catch(a){d(a)}})},19121:a=>{"use strict";a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},19376:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{wA:()=>j});var e=c(84104),f=c(68571),g=c(17553),h=c(96307),i=a([e,f,g,h]);[e,f,g,h]=i.then?(await i)():i,process.env.OLLAMA_BASE_URL,process.env.MADARX_DEFAULT_MODEL;let k=["balanced","minimal","bold","soft"];function j(){try{let a=(0,e.Lf)().prepare("SELECT value FROM config WHERE key = ?").get("design_style"),b=a?.value;return k.includes(b)?b:"balanced"}catch{return"balanced"}}d()}catch(a){d(a)}})},20749:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{FE:()=>w,R5:()=>s,Y$:()=>y,zP:()=>u});var e=c(81909),f=c(16343),g=c(85798),h=a([e,f,g]);function i(a,b={}){try{let c=(0,e.r6)(a,{agent_id:b.agent_id,project_id:b.project_id});if(c)return c}catch{}return process.env[a]||null}function j(a,b={}){let c=i(a,b);if(!c)throw Error(`${a} not configured`);return c}function k(a,b,c,d){let e=Number(a);return Number.isFinite(e)?Math.min(Math.max(Math.trunc(e),c),d):b}function l(a,b){let c=String(a||"").trim().toUpperCase();if(!/^[A-Z]{3}$/.test(c))throw Error(`"${b}" must be a 3-letter IATA code (got: ${a??""})`);return c}function m(a,b){let c=String(a||"").trim();if(!/^\d{4}-\d{2}-\d{2}$/.test(c))throw Error(`"${b}" must be ISO date YYYY-MM-DD (got: ${a??""})`);return c}async function n(a,b){try{let c=await a.text();if(!c)return b;return c.slice(0,300)}catch{return b}}function o(a={}){let b=(i("AMADEUS_ENV",a)||"test").toLowerCase();return"production"===b||"prod"===b?"https://api.amadeus.com":"https://test.api.amadeus.com"}[e,f,g]=h.then?(await h)():h;let z=new Map;async function p(a={}){let b=o(a),c=z.get(b);if(c&&c.expires_at>Date.now()+6e4)return c.access_token;let d=j("AMADEUS_CLIENT_ID",a),e=j("AMADEUS_CLIENT_SECRET",a),g=(0,f.N)("flight_search",a.agent_id??null),h=await g(`${b}/v1/security/oauth2/token`,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams({grant_type:"client_credentials",client_id:d,client_secret:e}).toString()});if(!h.ok){let a=await n(h,`HTTP ${h.status}`);throw Error(`Amadeus auth failed (${h.status}): ${a}`)}let i=await h.json(),k=String(i.access_token||""),l=Number(i.expires_in||1800);if(!k)throw Error("Amadeus auth returned no access_token");return z.set(b,{access_token:k,expires_at:Date.now()+1e3*l}),k}function q(a={}){let b=Array.isArray(a.itineraries)?a.itineraries:[],c=b.flatMap(a=>Array.isArray(a?.segments)?a.segments:[]);return{id:a.id||null,price:{total:a.price?.total??null,currency:a.price?.currency??null,base:a.price?.base??null},seats_available:a.numberOfBookableSeats??null,last_ticketing_date:a.lastTicketingDate??null,itineraries:b.map(a=>({duration:a?.duration??null,stops:Math.max(0,(Array.isArray(a?.segments)?a.segments.length:1)-1),segments:(Array.isArray(a?.segments)?a.segments:[]).map(a=>({carrier:a?.carrierCode??null,flight_number:a?.number??null,departure:{iata:a?.departure?.iataCode??null,at:a?.departure?.at??null,terminal:a?.departure?.terminal??null},arrival:{iata:a?.arrival?.iataCode??null,at:a?.arrival?.at??null,terminal:a?.arrival?.terminal??null},duration:a?.duration??null,aircraft:a?.aircraft?.code??null}))})),validating_airlines:Array.isArray(a.validatingAirlineCodes)?a.validatingAirlineCodes:[],cabin:c[0]?.cabin||a.travelerPricings?.[0]?.fareDetailsBySegment?.[0]?.cabin||null}}async function r(a={},b={}){let c=l(a.origin,"origin"),d=l(a.destination,"destination"),e=m(a.departure_date,"departure_date"),g=a.return_date?m(a.return_date,"return_date"):null,h=k(a.adults,1,1,9),i=k(a.children,0,0,8),j=k(a.max_results,5,1,25),s=new URLSearchParams({originLocationCode:c,destinationLocationCode:d,departureDate:e,adults:String(h),max:String(j),currencyCode:a.currency?String(a.currency).toUpperCase().slice(0,3):"USD"});if(g&&s.set("returnDate",g),i>0&&s.set("children",String(i)),a.travel_class){let b=String(a.travel_class).toUpperCase();["ECONOMY","PREMIUM_ECONOMY","BUSINESS","FIRST"].includes(b)&&s.set("travelClass",b)}(!0===a.non_stop||"true"===a.non_stop)&&s.set("nonStop","true");let t=await p(b),u=o(b),v=(0,f.N)("flight_search",b.agent_id??null),w=await v(`${u}/v2/shopping/flight-offers?${s.toString()}`,{headers:{Authorization:`Bearer ${t}`,Accept:"application/json"}});if(401===w.status){z.delete(u);let a=await n(w,"unauthorized");throw Error(`Amadeus auth rejected (401): ${a}`)}if(!w.ok){let a=await n(w,`HTTP ${w.status}`);throw Error(`Amadeus flight offers failed (${w.status}): ${a}`)}let x=await w.json(),y=Array.isArray(x.data)?x.data:[];return{query:{origin:c,destination:d,departure_date:e,return_date:g,adults:h,children:i,currency:s.get("currencyCode"),travel_class:s.get("travelClass")||null,non_stop:"true"===s.get("nonStop"),max_results:j},count:y.length,offers:y.map(q),source:{provider:"amadeus",environment:u.includes("test.api")?"test":"production",fetched_at:new Date().toISOString()}}}async function s(a={},b={}){let c=!!(i("AMADEUS_CLIENT_ID",b)&&i("AMADEUS_CLIENT_SECRET",b)),d="1"===String(process.env.MADARX_FLIGHT_SEARCH_NO_FALLBACK||"").trim();if(c)try{return await r(a,b)}catch(a){if(d)throw a;console.warn("[flight_search] Amadeus failed, falling back to Google Flights:",a?.message||a)}return(0,g.b3)(a,b)}function t(a={}){return{flight_date:a.flight_date??null,flight_status:a.flight_status??null,airline:a.airline?.name??null,flight:{iata:a.flight?.iata??null,icao:a.flight?.icao??null,number:a.flight?.number??null},departure:{airport:a.departure?.airport??null,iata:a.departure?.iata??null,icao:a.departure?.icao??null,terminal:a.departure?.terminal??null,gate:a.departure?.gate??null,scheduled:a.departure?.scheduled??null,estimated:a.departure?.estimated??null,actual:a.departure?.actual??null,delay_minutes:a.departure?.delay??null},arrival:{airport:a.arrival?.airport??null,iata:a.arrival?.iata??null,icao:a.arrival?.icao??null,terminal:a.arrival?.terminal??null,gate:a.arrival?.gate??null,scheduled:a.arrival?.scheduled??null,estimated:a.arrival?.estimated??null,actual:a.arrival?.actual??null,delay_minutes:a.arrival?.delay??null},aircraft:a.aircraft?.registration??null,live:a.live?{latitude:a.live.latitude??null,longitude:a.live.longitude??null,altitude:a.live.altitude??null,speed_horizontal:a.live.speed_horizontal??null,is_ground:a.live.is_ground??null,updated:a.live.updated??null}:null}}async function u(a={},b={}){let c=a.flight_iata?String(a.flight_iata).trim().toUpperCase():null,d=a.flight_icao?String(a.flight_icao).trim().toUpperCase():null,e=a.airline_iata?String(a.airline_iata).trim().toUpperCase():null,g=a.dep_iata?l(a.dep_iata,"dep_iata"):null,h=a.arr_iata?l(a.arr_iata,"arr_iata"):null,o=a.flight_date?m(a.flight_date,"flight_date"):null,p=k(a.limit,5,1,100);if(!c&&!d&&!e&&!g&&!h)throw Error("At least one of flight_iata, flight_icao, airline_iata, dep_iata, or arr_iata is required");let q=j("AVIATIONSTACK_API_KEY",b),r=new URLSearchParams({access_key:q,limit:String(p)});c&&r.set("flight_iata",c),d&&r.set("flight_icao",d),e&&r.set("airline_iata",e),g&&r.set("dep_iata",g),h&&r.set("arr_iata",h),o&&r.set("flight_date",o);let s=function(a={}){let b=String(i("AVIATIONSTACK_HTTPS",a)||"").toLowerCase();return"1"===b||"true"===b||"yes"===b?"https://api.aviationstack.com":"http://api.aviationstack.com"}(b),v=(0,f.N)("flight_status",b.agent_id??null),w=await v(`${s}/v1/flights?${r.toString()}`);if(!w.ok){let a=await n(w,`HTTP ${w.status}`);throw Error(`Aviationstack failed (${w.status}): ${a}`)}let x=await w.json();if(x?.error){let a=x.error.code||"error",b=x.error.message||x.error.info||"unknown error";throw Error(`Aviationstack error (${a}): ${b}`)}let y=Array.isArray(x?.data)?x.data:[];return{query:{flight_iata:c,flight_icao:d,airline_iata:e,dep_iata:g,arr_iata:h,flight_date:o,limit:p},count:y.length,pagination:x?.pagination||null,flights:y.map(t),source:{provider:"aviationstack",fetched_at:new Date().toISOString()}}}let A="https://data.xotelo.com";function v(a={}){return{key:a.key??a.hotel_key??null,name:a.name??null,geo:{latitude:a.geo?.latitude??null,longitude:a.geo?.longitude??null},address:a.address??null,stars:a.stars??null,review_summary:a.review_summary?{score:a.review_summary.score??null,count:a.review_summary.count??null}:null,price:a.price??null,accommodation_type:a.accommodation_type??null}}async function w(a={},b={}){let c=String(a.location_key||"").trim();if(!c)throw Error('"location_key" is required');if(!/^[a-z]?[0-9]+$/i.test(c))throw Error(`"location_key" must be a TripAdvisor key like "g60763" (got: ${c})`);let d=k(a.offset,0,0,1e3),e=k(a.limit,10,1,30),g=a.currency?String(a.currency).toUpperCase().slice(0,3):"USD",h=new URLSearchParams({location_key:c,offset:String(d),limit:String(e),currency:g});if(a.sort){let b=String(a.sort).toLowerCase();["popularity","price","rating"].includes(b)&&h.set("sort",b)}a.hotel_class&&h.set("hotel_class",String(a.hotel_class));let i=(0,f.N)("hotel_search",b.agent_id??null),j=await i(`${A}/api/list?${h.toString()}`);if(!j.ok){let a=await n(j,`HTTP ${j.status}`);throw Error(`Xotelo list failed (${j.status}): ${a}`)}let l=await j.json();if(l?.error)throw Error(`Xotelo error: ${"string"==typeof l.error?l.error:JSON.stringify(l.error)}`);let m=l?.result||{},o=Array.isArray(m.list)?m.list:[];return{query:{location_key:c,offset:d,limit:e,currency:g,sort:h.get("sort")||null},count:o.length,total_available:m.number_of_results??null,hotels:o.map(v),source:{provider:"xotelo",fetched_at:new Date().toISOString()}}}function x(a={}){return{vendor:a.name??a.code??null,code:a.code??null,rate:a.rate??null,tax:a.tax??null,total:a.total??null,currency:a.currency??null,deeplink:a.deeplink??null,is_official:a.is_official??null,free_cancellation:a.free_cancellation??null}}async function y(a={},b={}){let c=String(a.hotel_key||"").trim();if(!c)throw Error('"hotel_key" is required');if(!/^[a-z]?[0-9]+-[a-z]?[0-9]+$/i.test(c))throw Error(`"hotel_key" must be a TripAdvisor hotel key like "g60763-d224867" (got: ${c})`);let d=m(a.chk_in,"chk_in"),e=m(a.chk_out,"chk_out");if(new Date(e)<=new Date(d))throw Error('"chk_out" must be after "chk_in"');let g=a.currency?String(a.currency).toUpperCase().slice(0,3):"USD",h=k(a.rooms,1,1,9),i=k(a.adults,2,1,9),j=new URLSearchParams({hotel_key:c,chk_in:d,chk_out:e,currency:g,rooms:String(h),adults:String(i)}),l=(0,f.N)("hotel_rates",b.agent_id??null),o=await l(`${A}/api/rates?${j.toString()}`);if(!o.ok){let a=await n(o,`HTTP ${o.status}`);throw Error(`Xotelo rates failed (${o.status}): ${a}`)}let p=await o.json();if(p?.error)throw Error(`Xotelo error: ${"string"==typeof p.error?p.error:JSON.stringify(p.error)}`);let q=p?.result||{},r=Array.isArray(q.rates)?q.rates:[];return{query:{hotel_key:c,chk_in:d,chk_out:e,currency:g,rooms:h,adults:i},count:r.length,hotel:{name:q.name??null,stars:q.stars??null},rates:r.map(x),source:{provider:"xotelo",fetched_at:new Date().toISOString()}}}d()}catch(a){d(a)}})},21016:(a,b,c)=>{Promise.resolve().then(c.bind(c,35271)),Promise.resolve().then(c.bind(c,79148)),Promise.resolve().then(c.bind(c,72987)),Promise.resolve().then(c.bind(c,78516)),Promise.resolve().then(c.t.bind(c,65169,23))},21118:(a,b,c)=>{"use strict";c.d(b,{Tt:()=>g,ix:()=>d,wb:()=>e}),Object.freeze(["public","internal","confidential","restricted","refused"]),Object.freeze(["diagnostic","blueprint","pilot","managed_layer"]),Object.freeze(["low","medium","high","irreversible_external","blocked"]),Object.freeze(["decide","draft","recommend","execute","escalate"]),Object.freeze(["interview_transcript","diagnostic_report","operating_profile","role_map","friction_map","governance_matrix","agent_roster","setup_plan","pilot_test_report","quarterly_review"]);let d=new Set(Object.freeze(["diagnostic_signoff","blueprint_signoff","setup_package_approval","pilot_launch","managed_layer_change"])),e=new Set(Object.freeze(["practitioner","architect","security_reviewer","principal","counsel"]));Object.freeze(["agent","tool","allowlist_entry","secret","schedule","workflow","memory_scope","artifact_acl","approval_policy"]),Object.freeze(["observed","inferred","needs_confirmation"]),Object.freeze([{slug:"principal_identity",label:"Principal identity & context"},{slug:"role_capacity_inventory",label:"Role / capacity inventory"},{slug:"decision_delegation_style",label:"Decision & delegation style"},{slug:"reputation_constraints",label:"Reputation constraints"},{slug:"confidentiality_boundaries",label:"Confidentiality boundaries"},{slug:"current_systems_tools",label:"Current systems, tools & communications"},{slug:"bottlenecks_friction",label:"Work bottlenecks & friction points"},{slug:"approval_preferences",label:"Approval preferences"},{slug:"counterparties_reviewers",label:"Human counterparties & reviewer roles"},{slug:"regulated_obligations",label:"Regulated / counsel / audit obligations"},{slug:"desired_outcomes",label:"Desired outcomes (time / judgment / reputation)"}]).map(a=>a.slug);let f=Object.freeze({"diagnostic-signoff":{gate_type:"diagnostic_signoff",reviewer_role:"practitioner"},"blueprint-signoff":{gate_type:"blueprint_signoff",reviewer_role:"architect"},"setup-package-approval":{gate_type:"setup_package_approval",reviewer_role:"principal"},"pilot-activation":{gate_type:"pilot_launch",reviewer_role:"principal"},"managed-layer-activation":{gate_type:"managed_layer_change",reviewer_role:"practitioner"}}),g=Object.freeze({"hail-engagement-lifecycle":f,"hail-quarterly-review":Object.freeze({"review-signoff":{gate_type:"managed_layer_change",reviewer_role:"practitioner"},"reconfig-approval":{gate_type:"setup_package_approval",reviewer_role:"principal"}})})},22458:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{ReadonlyURLSearchParams:function(){return k},RedirectType:function(){return e.RedirectType},forbidden:function(){return g.forbidden},notFound:function(){return f.notFound},permanentRedirect:function(){return d.permanentRedirect},redirect:function(){return d.redirect},unauthorized:function(){return h.unauthorized},unstable_isUnrecognizedActionError:function(){return l},unstable_rethrow:function(){return i.unstable_rethrow}});let d=c(79595),e=c(44338),f=c(52741),g=c(36098),h=c(87345),i=c(23129);class j extends Error{constructor(){super("Method unavailable on `ReadonlyURLSearchParams`. Read more: https://nextjs.org/docs/app/api-reference/functions/use-search-params#updating-searchparams")}}class k extends URLSearchParams{append(){throw new j}delete(){throw new j}set(){throw new j}sort(){throw new j}}function l(){throw Object.defineProperty(Error("`unstable_isUnrecognizedActionError` can only be used on the client."),"__NEXT_ERROR_CODE",{value:"E776",enumerable:!1,configurable:!0})}("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},22896:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{I6:()=>l,Q$:()=>k,vV:()=>m});var e=c(81909),f=c(16343),g=a([e,f]);function h(a,b={}){try{let c=(0,e.r6)(a,{agent_id:b.agent_id,project_id:b.project_id});if(c)return c}catch{}return process.env[a]||null}function i(a={}){return{Authorization:`Bearer ${function(a,b={}){let c=h(a,b);if(!c)throw Error(`${a} not configured`);return c}("VERCEL_TOKEN",a)}`,Accept:"application/json"}}function j(a,b){return b&&a.searchParams.set("teamId",String(b)),a}async function k(a={},b={}){let c=a.team_id||h("VERCEL_TEAM_ID",b),d=b.agent_id??null,e=j(new URL("https://api.vercel.com/v9/projects"),c);a.limit&&e.searchParams.set("limit",String(Math.min(Math.max(Number(a.limit),1),100)));let g=await (0,f.N)("vercel_list_projects",d)(e,{headers:i(b)});if(!g.ok)throw Error(`Vercel projects request failed: ${g.status}`);return{projects:((await g.json()).projects||[]).map(a=>({id:a.id,name:a.name,framework:a.framework,latest_deployments:(a.latestDeployments||[]).map(a=>({uid:a.uid,url:a.url,state:a.state,created_at:a.createdAt}))}))}}async function l(a={},b={}){let c=a.team_id||h("VERCEL_TEAM_ID",b),d=b.agent_id??null,e=j(new URL("https://api.vercel.com/v6/deployments"),c);a.project_id&&e.searchParams.set("projectId",String(a.project_id)),a.project_name&&e.searchParams.set("projectName",String(a.project_name)),a.limit&&e.searchParams.set("limit",String(Math.min(Math.max(Number(a.limit),1),100)));let g=await (0,f.N)("vercel_list_deployments",d)(e,{headers:i(b)});if(!g.ok)throw Error(`Vercel deployments request failed: ${g.status}`);let k=await g.json();return{deployments:(k.deployments||[]).map(a=>({uid:a.uid,name:a.name,url:a.url,state:a.state,target:a.target,created_at:a.createdAt,creator:a.creator?{uid:a.creator.uid,username:a.creator.username}:null})),pagination:k.pagination||null}}async function m(a={}){return{approval_required:!0,status:"pending_approval",action:"vercel_create_deployment",summary:a.summary||"Create a Vercel deployment",requested_at:new Date().toISOString(),note:"Deployment creation is staged only. Approve the pending action before any external write is executed."}}[e,f]=g.then?(await g)():g,d()}catch(a){d(a)}})},23129:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"unstable_rethrow",{enumerable:!0,get:function(){return d}});let d=c(74144).unstable_rethrow;("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},23339:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{NO:()=>p,TP:()=>q,c3:()=>r,l8:()=>w,mD:()=>s,oc:()=>u,sX:()=>t,wm:()=>v});var e=c(81909),f=c(16343),g=a([e,f]);function h(a,b={}){try{let c=(0,e.r6)(a,{agent_id:b.agent_id,project_id:b.project_id});if(c)return c}catch{}return process.env[a]||null}function i(a,b={}){let c=h(a,b);if(!c)throw Error(`${a} not configured`);return c}function j(a){return{Authorization:`Bearer ${a}`,apikey:a,Accept:"application/json"}}function k(a,b){let c=String(a||"").trim();if(!/^[a-zA-Z_][a-zA-Z0-9_]*(\.[a-zA-Z_][a-zA-Z0-9_]*)?$/.test(c))throw Error(`${b} must be a valid identifier (got: ${JSON.stringify(a)})`);return c}function l(a){let b=new URLSearchParams;for(let[c,d]of Object.entries(a)){if(!/^[A-Za-z_][A-Za-z0-9_]*$/.test(c))throw Error(`Invalid filter column: ${c}`);b.set(c,String(d).includes(".")?String(d):`eq.${d}`)}return b}async function m(a){let b={};try{b=await a.json()}catch{}return{status:a.status,message:b.message||b.error||a.statusText||"Request failed",hint:b.hint||null}}function n(a){let b=i("SUPABASE_URL",a).replace(/\/+$/g,""),c=h("SUPABASE_SERVICE_ROLE_KEY",a)||h("SUPABASE_ANON_KEY",a);if(!c)throw Error("SUPABASE_SERVICE_ROLE_KEY or SUPABASE_ANON_KEY not configured");return{baseUrl:b,key:c}}function o(a){return Array.isArray(a)&&a.length>100?a.slice(0,100):a}async function p(a={},b={}){let c=i("SUPABASE_ACCESS_TOKEN",b),d=b.agent_id??null,e=await (0,f.N)("supabase_list_projects",d)("https://api.supabase.com/v1/projects",{headers:{Authorization:`Bearer ${c}`,Accept:"application/json"}});if(!e.ok)throw Error(`Supabase projects request failed: ${e.status}`);let g=await e.json();return{projects:(Array.isArray(g)?g:[]).map(a=>({id:a.id,name:a.name,region:a.region,status:a.status,organization_id:a.organization_id}))}}async function q(a={},b={}){let c=i("SUPABASE_URL",b).replace(/\/+$/g,""),d=h("SUPABASE_SERVICE_ROLE_KEY",b)||h("SUPABASE_ANON_KEY",b);if(!d)throw Error("SUPABASE_SERVICE_ROLE_KEY or SUPABASE_ANON_KEY not configured");let e=b.agent_id??null,g=String(a.table||"").trim();if(!/^[A-Za-z_][A-Za-z0-9_]*$/.test(g))throw Error("table must be a simple table name");let k=Math.min(Math.max(Number(a.limit||25),1),100),l=new URL(`${c}/rest/v1/${g}`);l.searchParams.set("select",String(a.select||"*")),l.searchParams.set("limit",String(k));let m=a.filters&&"object"==typeof a.filters?a.filters:{};for(let[a,b]of Object.entries(m)){if(!/^[A-Za-z_][A-Za-z0-9_]*$/.test(a))throw Error(`Invalid filter column: ${a}`);l.searchParams.set(a,String(b).includes(".")?String(b):`eq.${b}`)}let n=await (0,f.N)("supabase_rest_select",e)(l,{headers:j(d)});if(!n.ok)throw Error(`Supabase REST select failed: ${n.status}`);let o=await n.json();return{table:g,count:Array.isArray(o)?o.length:null,rows:o}}async function r(a={},b={}){let{baseUrl:c,key:d}=n(b),e=b.agent_id??null,g=k(a.table,"table"),h=Array.isArray(a.rows)?a.rows:[a.rows].filter(Boolean);if(!h.length)throw Error("supabase_rest_insert requires at least one row in rows[]");let i=new URL(`${c}/rest/v1/${g}`);i.searchParams.set("limit","100");let l=await (0,f.N)("supabase_rest_insert",e)(i,{method:"POST",headers:{...j(d),"Content-Type":"application/json",Prefer:"return=representation"},body:JSON.stringify(h)});if(!l.ok){let a=await m(l);throw Error(`supabase_rest_insert failed (${a.status}): ${a.message}${a.hint?` — ${a.hint}`:""}`)}let p=await l.json(),q=o(Array.isArray(p)?p:[]);return{inserted:h.length,rows:q}}async function s(a={},b={}){let{baseUrl:c,key:d}=n(b),e=b.agent_id??null,g=k(a.table,"table"),h=Array.isArray(a.rows)?a.rows:[a.rows].filter(Boolean);if(!h.length)throw Error("supabase_rest_upsert requires at least one row in rows[]");let i=new URL(`${c}/rest/v1/${g}`);i.searchParams.set("limit","100"),a.on_conflict&&i.searchParams.set("on_conflict",String(a.on_conflict));let l=await (0,f.N)("supabase_rest_upsert",e)(i,{method:"POST",headers:{...j(d),"Content-Type":"application/json",Prefer:"resolution=merge-duplicates,return=representation"},body:JSON.stringify(h)});if(!l.ok){let a=await m(l);throw Error(`supabase_rest_upsert failed (${a.status}): ${a.message}${a.hint?` — ${a.hint}`:""}`)}let p=await l.json(),q=o(Array.isArray(p)?p:[]);return{upserted:h.length,rows:q}}async function t(a={},b={}){let{baseUrl:c,key:d}=n(b),e=b.agent_id??null,g=k(a.table,"table"),h=a.filters&&"object"==typeof a.filters?a.filters:{};if(!Object.keys(h).length)throw Error("supabase_rest_update requires filters to avoid table-wide updates");if(!a.patch||"object"!=typeof a.patch||Array.isArray(a.patch))throw Error("supabase_rest_update requires a patch object");let i=l(h),p=new URL(`${c}/rest/v1/${g}?${i.toString()}`),q=await (0,f.N)("supabase_rest_update",e)(p,{method:"PATCH",headers:{...j(d),"Content-Type":"application/json",Prefer:"return=representation",Range:"0-99"},body:JSON.stringify(a.patch)});if(!q.ok){let a=await m(q);throw Error(`supabase_rest_update failed (${a.status}): ${a.message}${a.hint?` — ${a.hint}`:""}`)}let r=await q.json(),s=o(Array.isArray(r)?r:[]);return{updated:s.length,rows:s}}async function u(a={},b={}){let{baseUrl:c,key:d}=n(b),e=b.agent_id??null,g=k(a.table,"table"),h=a.filters&&"object"==typeof a.filters?a.filters:{};if(!Object.keys(h).length)throw Error("supabase_rest_delete requires filters; bulk table truncation is blocked");let i=l(h),p=new URL(`${c}/rest/v1/${g}?${i.toString()}`),q=await (0,f.N)("supabase_rest_delete",e)(p,{method:"DELETE",headers:{...j(d),Prefer:"return=representation",Range:"0-99"}});if(!q.ok){let a=await m(q);throw Error(`supabase_rest_delete failed (${a.status}): ${a.message}${a.hint?` — ${a.hint}`:""}`)}let r=await q.json(),s=o(Array.isArray(r)?r:[]);return{deleted:s.length,rows:s}}async function v(a={},b={}){let c,{baseUrl:d,key:e}=n(b),g=b.agent_id??null,h=k(a.function_name,"function_name"),i=a.params&&"object"==typeof a.params?a.params:{},l=new URL(`${d}/rest/v1/rpc/${h}`),p=await (0,f.N)("supabase_rpc",g)(l,{method:"POST",headers:{...j(e),"Content-Type":"application/json"},body:JSON.stringify(i)});if(!p.ok){let a=await m(p);throw Error(`supabase_rpc(${h}) failed (${a.status}): ${a.message}${a.hint?` — ${a.hint}`:""}`)}let q=await p.text();if(Buffer.byteLength(q,"utf8")>51200)throw Error("supabase_rpc response too large (>51200 bytes); narrow your query");try{c=JSON.parse(q)}catch{c=q}return{result:o((Array.isArray(c),c))}}async function w(a={},b={}){let c,{baseUrl:d,key:e}=n(b),g=b.agent_id??null,h=String(a.query||"").trim();if(!h)throw Error("supabase_sql requires a query string");let i=a.params&&"object"==typeof a.params?a.params:{},k=new URL(`${d}/rest/v1/rpc/madarx_exec_sql`),l=await (0,f.N)("supabase_sql",g)(k,{method:"POST",headers:{...j(e),"Content-Type":"application/json"},body:JSON.stringify({query:h,params:i})});if(404===l.status)throw Error("madarx_exec_sql() function not found. Create it in your Supabase project with: CREATE OR REPLACE FUNCTION madarx_exec_sql(query text, params jsonb DEFAULT '{}'::jsonb) RETURNS SETOF record LANGUAGE plpgsql SECURITY DEFINER AS $$ BEGIN RETURN QUERY EXECUTE query; END; $$;");if(!l.ok){let a=await m(l);throw Error(`supabase_sql failed (${a.status}): ${a.message}${a.hint?` — ${a.hint}`:""}`)}let p=await l.text();if(Buffer.byteLength(p,"utf8")>51200)throw Error("supabase_sql response too large (>51200 bytes); add LIMIT to your query");try{c=JSON.parse(p)}catch{c=[]}let q=o(Array.isArray(c)?c:[c]);return{rows:q,row_count:q.length}}[e,f]=g.then?(await g)():g,d()}catch(a){d(a)}})},23799:(a,b,c)=>{"use strict";c.d(b,{m:()=>h});var d=c(31421);c(26848);var e=c(6390);function f(a){return new Promise(b=>{let c="",e=(0,d.spawn)("npm",["install","-g",a,"--prefer-online","--no-audit","--no-fund"],{stdio:["ignore","pipe","pipe"]});e.stdout.on("data",a=>{c+=a,process.stdout.write(a)}),e.stderr.on("data",a=>{c+=a,process.stderr.write(a)}),e.on("error",a=>b({ok:!1,code:-1,output:String(a.message)})),e.on("exit",a=>b({ok:0===a,code:a,output:c}))})}async function g({runner:a=f,to:b="latest",initiatedBy:d="cli"}={}){let h=(0,e.YO)(),i=`${e.rd}@${b}`,j=await a(i);try{let{appendAudit:a}=await Promise.resolve().then(c.bind(c,42382));a({type:"system.self_update",summary:`madarx update ${h} → ${b} (${j.ok?"ok":"failed"})`,status:j.ok?"ok":"failed",meta:{from:h,to:b,code:j.code,initiated_by:d}})}catch{}return{ok:j.ok,from:h,to:b,code:j.code,output:j.output}}async function h(a={}){let b=await (0,e.NS)({});if(!b.reachable)return{ok:!1,from:(0,e.YO)(),to:null,applied:!1,message:"npm registry unreachable"};if(!b.behind)return{ok:!0,from:b.current,to:b.latest,applied:!1,message:"already up to date"};let c=await g({initiatedBy:"self_update_tool"});return{ok:c.ok,from:c.from,to:b.latest,applied:c.ok,message:c.ok?`updated ${c.from} → v${b.latest}; restart required`:`update failed (exit ${c.code})`}}c(76760),c(48161),c(73024)},23998:(a,b)=>{"use strict";function c(a){return null!==a&&"object"==typeof a&&"then"in a&&"function"==typeof a.then}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"isThenable",{enumerable:!0,get:function(){return c}})},24867:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{Bs:()=>g});var e=c(84104),f=a([e]);function g(a,{scope_key:b,scope_value:c},d={}){let f=(0,e.Lf)(),h=!!d.default_allow,i=f.prepare("SELECT id FROM tool_allowlists WHERE tool_name = ? AND scope_key = ?").all(a,b);return 0===i.length?h?{ok:!0}:{ok:!1,missing_entry:{tool_name:a,scope_key:b,scope_value:c}}:f.prepare("SELECT id FROM tool_allowlists WHERE tool_name = ? AND scope_key = ? AND scope_value = ?").get(a,b,String(c))?{ok:!0}:{ok:!1,missing_entry:{tool_name:a,scope_key:b,scope_value:c}}}e=(f.then?(await f)():f)[0],d()}catch(a){d(a)}})},26082:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"RouteKind",{enumerable:!0,get:function(){return c}});var c=function(a){return a.PAGES="PAGES",a.PAGES_API="PAGES_API",a.APP_PAGE="APP_PAGE",a.APP_ROUTE="APP_ROUTE",a.IMAGE="IMAGE",a}({})},26200:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{ef:()=>C});var e=c(31421),f=c(73024),g=c(76760),h=c(83498),i=c(71086),j=c(79336),k=c(57647),l=c(42382),m=c(42864),n=c(11575),o=c(44246),p=c(85774),q=c(45830),r=c(40266),s=c(73005),t=c(62670),u=c(18722),v=c(34976),w=c(96615),x=c(5609),y=c(71454),z=c(17553),A=c(6390),B=a([j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z]);[j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z]=B.then?(await B)():B;let D="1"===process.env.MADARX_SEED_DEFAULT_WORKFLOWS;function C(a){globalThis.__madarxSuppressStateEmits=!0;try{try{!function(a){if(a.prepare("SELECT id FROM heartbeat_tasks WHERE type = 'tool_rate_limit_gc' AND status IN ('queued','leased','running') LIMIT 1").get())return;let b=`hbtask-rl-gc-${Date.now().toString(36)}`,c=JSON.stringify({type:"tool_rate_limit_gc"}),d=new Date().toISOString(),e=new Date(Date.now()+864e5).toISOString();a.prepare(`
371
371
  INSERT INTO heartbeat_tasks
372
372
  (id, agent_id, schedule_id, type, status, priority, payload, attempts, max_attempts, run_after, created_at, updated_at)
373
373
  VALUES (?, NULL, NULL, ?, 'queued', 0, ?, 0, 99, ?, ?, ?)
@@ -483,7 +483,7 @@ Read more: https://nextjs.org/docs/messages/invalid-use-server-value`),"__NEXT_E
483
483
  ${b}
484
484
  `,type:"text/markdown"},{local_only:c.local_only}),f=(0,g.kF)();k.prepare(`UPDATE transcripts
485
485
  SET status='complete', text=?, artifact_file_id=?, engine=?, language=?, duration_seconds=?, completed_at=?, updated_at=?
486
- WHERE id=?`).run(b,e.id,j,a.language||null,a.duration_seconds||null,f,f,q);let i=k.prepare("SELECT * FROM transcripts WHERE id = ?").get(q);return{...i,transcript_id:i.id}}catch(a){throw k.prepare("UPDATE transcripts SET status='error', error=?, updated_at=? WHERE id=?").run(String(a?.message||a),(0,g.kF)(),q),a}}d()}catch(a){d(a)}})},42001:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{"402113651be9d61319cdae940bac4826787656ed56":()=>e.Dv,"4046bff3f50a4d8e21373406b0bd9a355d7a6d6f77":()=>e.Tg,"40c62f1577c61cd15928c045fd78ddcbd2e1f9d318":()=>e.gL});var e=c(11812),f=a([e]);e=(f.then?(await f)():f)[0],d()}catch(a){d(a)}})},42145:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{l:()=>g});var e=c(84104),f=a([e]);e=(f.then?(await f)():f)[0];let h=["reserve_estimate","opex","production_schedule"];function g(a,b={}){if(!a)return{status:"error",error:"project_id_required"};let c=(0,e.Lf)().prepare("SELECT id, name, asset_stage, commodity FROM mines_projects WHERE id = ?").get(a);if(!c)return{status:"error",error:"not_found"};let d=function(a){let b=(0,e.Lf)();return new Set(b.prepare("SELECT DISTINCT fact_type FROM mines_extracted_facts WHERE project_id = ?").all(a).map(a=>a.fact_type))}(a),f=(((0,e.Lf)().prepare(`
486
+ WHERE id=?`).run(b,e.id,j,a.language||null,a.duration_seconds||null,f,f,q);let i=k.prepare("SELECT * FROM transcripts WHERE id = ?").get(q);return{...i,transcript_id:i.id}}catch(a){throw k.prepare("UPDATE transcripts SET status='error', error=?, updated_at=? WHERE id=?").run(String(a?.message||a),(0,g.kF)(),q),a}}d()}catch(a){d(a)}})},42145:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{l:()=>g});var e=c(84104),f=a([e]);e=(f.then?(await f)():f)[0];let h=["reserve_estimate","opex","production_schedule"];function g(a,b={}){if(!a)return{status:"error",error:"project_id_required"};let c=(0,e.Lf)().prepare("SELECT id, name, asset_stage, commodity FROM mines_projects WHERE id = ?").get(a);if(!c)return{status:"error",error:"not_found"};let d=function(a){let b=(0,e.Lf)();return new Set(b.prepare("SELECT DISTINCT fact_type FROM mines_extracted_facts WHERE project_id = ?").all(a).map(a=>a.fact_type))}(a),f=(((0,e.Lf)().prepare(`
487
487
  SELECT COUNT(*) AS n,
488
488
  SUM(CASE WHEN au_ppm IS NOT NULL OR ag_ppm IS NOT NULL OR cu_pct IS NOT NULL THEN 1 ELSE 0 END) AS grade_n
489
489
  FROM mines_assay_samples WHERE project_id = ?
@@ -986,7 +986,7 @@ ${A||' <p class="cl-sub">No notable changes recorded for this release.</p>'}
986
986
  WHERE mp.id = ?
987
987
  AND COALESCE(p.org_id, ?) = ?
988
988
  LIMIT 1
989
- `).get(h,a,h,c)||null}d()}catch(a){d(a)}})},47892:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>f});var d=c(75338),e=c(50872);function f(){return(0,d.jsx)(e.D,{label:"Projects"})}},48161:a=>{"use strict";a.exports=require("node:os")},48304:(a,b,c)=>{"use strict";c.a(a,async(a,b)=>{try{c(73024),c(76760);var d=c(99752),e=c(96307),f=c(19376),g=c(42864),h=c(84104);c(83498);var i=c(68571),j=c(40123),k=c(89998),l=c(99332),m=a([d,e,f,g,h,i,j,k,l]);[d,e,f,g,h,i,j,k,l]=m.then?(await m)():m,b()}catch(a){b(a)}})},48467:(a,b,c)=>{"use strict";function d(a,b,c){let d=[],e=-1;for(;++e<a.length;){let f=a[e].resolveAll;f&&!d.includes(f)&&(b=f(b,c),d.push(f))}return b}c.d(b,{W:()=>d})},49248:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{aS:()=>k}),c(77598),c(77030);var e=c(84104),f=c(45555),g=c(73240),h=a([e,f,g]);[e,f,g]=h.then?(await h)():h;let n="phase-production-build"===process.env.NEXT_PHASE;"local"!==(process.env.MADARX_AUTH_MODE||"local").toLowerCase()||n||console.error("[auth] WARNING: MADARX_AUTH_MODE is not set to supabase in NODE_ENV=production. Configure Supabase auth (Settings → Account) or set MADARX_AUTH_MODE=supabase before exposing this deployment.");let o=new Map;function i(a,b){return`${a}:${b}`}function j(a,b,c){o.set(i(a,b),{verified_at:Date.now(),role:c})}async function k(a,b){if("local"===(0,f.Im)())return;let c=(process.env.MADARX_MEMBERSHIP_LIVE_CHECK??"on").toLowerCase();if("off"===c)return void console.warn("[auth] MADARX_MEMBERSHIP_LIVE_CHECK=off — membership revocation will not be detected. This mode is for dev/offline use only.");let d=a?.user_id,g=b||a?.org_id;if(!d||!g||function(a,b){let c=o.get(i(a,b));return c?Date.now()-c.verified_at>3e5?(o.delete(i(a,b)),null):c:null}(d,g))return;let h=(0,f.vR)().url,k=(0,f.fo)();if(h&&k)try{let a=`${h}/rest/v1/org_memberships?user_id=eq.${encodeURIComponent(d)}&org_id=eq.${encodeURIComponent(g)}&select=role&limit=1`,b=await fetch(a,{headers:{apikey:k,Authorization:`Bearer ${k}`,Accept:"application/json"},signal:AbortSignal.timeout(4e3)});if(!b.ok)throw Error(`Supabase returned HTTP ${b.status}`);let c=await b.json();if(!Array.isArray(c)||0===c.length)throw l(d,g),{status:403,error:"membership_revoked",sign_out_required:!0};j(d,g,c[0].role);return}catch(a){if(a.status)throw a;throw console.error("[auth] requireFreshMembership: Supabase live check failed:",a.message),m(d,g,a.message),{status:503,error:"supabase_unavailable",message:"Membership live check unavailable"}}try{let a=(0,e.Lf)().prepare(`SELECT id, role FROM org_memberships
989
+ `).get(h,a,h,c)||null}d()}catch(a){d(a)}})},47892:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>f});var d=c(75338),e=c(50872);function f(){return(0,d.jsx)(e.D,{label:"Projects"})}},48161:a=>{"use strict";a.exports=require("node:os")},48304:(a,b,c)=>{"use strict";c.a(a,async(a,b)=>{try{c(73024),c(76760);var d=c(99752),e=c(96307),f=c(19376),g=c(42864),h=c(84104);c(83498);var i=c(68571),j=c(40123),k=c(89998);c(18707);var l=c(99332),m=a([d,e,f,g,h,i,j,k,l]);[d,e,f,g,h,i,j,k,l]=m.then?(await m)():m,b()}catch(a){b(a)}})},48467:(a,b,c)=>{"use strict";function d(a,b,c){let d=[],e=-1;for(;++e<a.length;){let f=a[e].resolveAll;f&&!d.includes(f)&&(b=f(b,c),d.push(f))}return b}c.d(b,{W:()=>d})},49248:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{aS:()=>k}),c(77598),c(77030);var e=c(84104),f=c(45555),g=c(73240),h=a([e,f,g]);[e,f,g]=h.then?(await h)():h,process.env.NEXT_PHASE;let n=new Map;function i(a,b){return`${a}:${b}`}function j(a,b,c){n.set(i(a,b),{verified_at:Date.now(),role:c})}async function k(a,b){if("local"===(0,f.Im)())return;let c=(process.env.MADARX_MEMBERSHIP_LIVE_CHECK??"on").toLowerCase();if("off"===c)return void console.warn("[auth] MADARX_MEMBERSHIP_LIVE_CHECK=off — membership revocation will not be detected. This mode is for dev/offline use only.");let d=a?.user_id,g=b||a?.org_id;if(!d||!g||function(a,b){let c=n.get(i(a,b));return c?Date.now()-c.verified_at>3e5?(n.delete(i(a,b)),null):c:null}(d,g))return;let h=(0,f.vR)().url,k=(0,f.fo)();if(h&&k)try{let a=`${h}/rest/v1/org_memberships?user_id=eq.${encodeURIComponent(d)}&org_id=eq.${encodeURIComponent(g)}&select=role&limit=1`,b=await fetch(a,{headers:{apikey:k,Authorization:`Bearer ${k}`,Accept:"application/json"},signal:AbortSignal.timeout(4e3)});if(!b.ok)throw Error(`Supabase returned HTTP ${b.status}`);let c=await b.json();if(!Array.isArray(c)||0===c.length)throw l(d,g),{status:403,error:"membership_revoked",sign_out_required:!0};j(d,g,c[0].role);return}catch(a){if(a.status)throw a;throw console.error("[auth] requireFreshMembership: Supabase live check failed:",a.message),m(d,g,a.message),{status:503,error:"supabase_unavailable",message:"Membership live check unavailable"}}try{let a=(0,e.Lf)().prepare(`SELECT id, role FROM org_memberships
990
990
  WHERE user_id = ? AND org_id = ?
991
991
  LIMIT 1`).get(d,g);if(!a)throw l(d,g),{status:403,error:"membership_revoked",sign_out_required:!0};j(d,g,a.role)}catch(a){if(a.status)throw a;throw console.error("[auth] requireFreshMembership SQLite fallback failed:",a.message),m(d,g,a.message),{status:503,error:"supabase_unavailable",message:"Membership check unavailable"}}}function l(a,b){try{(0,e.Lf)().prepare(`INSERT INTO audit_logs (id, at, type, summary, status, meta, user_id, org_id)
992
992
  VALUES (?, ?, ?, ?, ?, ?, ?, ?)`).run((0,e.Si)("audit"),(0,e.kF)(),"auth.membership.revoked_detected",`Membership revoked detected for user ${a} in org ${b}`,"denied",JSON.stringify({user_id:a,org_id:b}),a,b)}catch(a){console.error("[auth] Failed to write membership_revoked audit row:",a.message)}}function m(a,b,c){try{(0,e.Lf)().prepare(`INSERT INTO audit_logs (id, at, type, summary, status, meta, user_id, org_id)
@@ -997,7 +997,7 @@ Read more at https://nextjs.org/docs/messages/missing-root-layout-tags"
997
997
  data-next-error-digest="${j.MISSING_ROOT_TAGS_ERROR}"
998
998
  data-next-error-stack=""
999
999
  ></template>
1000
- `))}})}async function B(a,{suffix:b,inlinedDataStream:c,isStaticGeneration:d,isBuildTimePrerendering:e,buildId:h,getServerInsertedHTML:i,getServerInsertedMetadata:j,validateRootLayout:k}){let l,n,o=b?b.split(y,1)[0]:null;d&&await a.allReady;var p=[s(),t(e,h),v(j),null!=o&&o.length>0?(n=!1,new TransformStream({transform(a,b){if(b.enqueue(a),!n){n=!0;let a=new f.DetachedPromise;l=a,(0,g.scheduleImmediate)(()=>{try{b.enqueue(m.encode(o))}catch{}finally{l=void 0,a.resolve()}})}},flush(a){if(l)return l.promise;n||a.enqueue(m.encode(o))}})):null,c?x(c,!0):null,k?A():null,z(),w(i)];let q=a;for(let a of p)a&&(q=q.pipeThrough(a));return q}async function C(a,{getServerInsertedHTML:b,getServerInsertedMetadata:c}){return a.pipeThrough(s()).pipeThrough(new TransformStream({transform(a,b){(0,i.isEquivalentUint8Arrays)(a,h.ENCODED_TAGS.CLOSED.BODY_AND_HTML)||(0,i.isEquivalentUint8Arrays)(a,h.ENCODED_TAGS.CLOSED.BODY)||(0,i.isEquivalentUint8Arrays)(a,h.ENCODED_TAGS.CLOSED.HTML)||(a=(0,i.removeFromUint8Array)(a,h.ENCODED_TAGS.CLOSED.BODY),a=(0,i.removeFromUint8Array)(a,h.ENCODED_TAGS.CLOSED.HTML),b.enqueue(a))}})).pipeThrough(w(b)).pipeThrough(v(c))}async function D(a,{inlinedDataStream:b,getServerInsertedHTML:c,getServerInsertedMetadata:d,isBuildTimePrerendering:e,buildId:f}){return a.pipeThrough(s()).pipeThrough(t(e,f)).pipeThrough(w(c)).pipeThrough(v(d)).pipeThrough(x(b,!0)).pipeThrough(z())}async function E(a,{delayDataUntilFirstHtmlChunk:b,inlinedDataStream:c,getServerInsertedHTML:d,getServerInsertedMetadata:e}){return a.pipeThrough(s()).pipeThrough(w(d)).pipeThrough(v(e)).pipeThrough(x(c,b)).pipeThrough(z())}function F(){return o(y)}},51318:(a,b,c)=>{"use strict";a.exports=c(9907)},52237:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"addPathSuffix",{enumerable:!0,get:function(){return e}});let d=c(2213);function e(a,b){if(!a.startsWith("/")||!b)return a;let{pathname:c,query:e,hash:f}=(0,d.parsePath)(a);return""+c+b+e+f}},52318:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{BailoutToCSRError:function(){return d},isBailoutToCSRError:function(){return e}});let c="BAILOUT_TO_CLIENT_SIDE_RENDERING";class d extends Error{constructor(a){super("Bail out to client-side rendering: "+a),this.reason=a,this.digest=c}}function e(a){return"object"==typeof a&&null!==a&&"digest"in a&&a.digest===c}},52577:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{DynamicServerError:function(){return d},isDynamicServerError:function(){return e}});let c="DYNAMIC_SERVER_USAGE";class d extends Error{constructor(a){super("Dynamic server usage: "+a),this.description=a,this.digest=c}}function e(a){return"object"==typeof a&&null!==a&&"digest"in a&&"string"==typeof a.digest&&a.digest===c}("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},52644:(a,b,c)=>{"use strict";a.exports=c.p+"static/media/check-disk-encryption.6b124b4e.mjs"},52741:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"notFound",{enumerable:!0,get:function(){return e}});let d=""+c(15570).HTTP_ERROR_FALLBACK_ERROR_CODE+";404";function e(){let a=Object.defineProperty(Error(d),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});throw a.digest=d,a}("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},53476:(a,b)=>{"use strict";function c(a,b){if(0===b.length)return 0;if(0===a.length||b.length>a.length)return -1;for(let c=0;c<=a.length-b.length;c++){let d=!0;for(let e=0;e<b.length;e++)if(a[c+e]!==b[e]){d=!1;break}if(d)return c}return -1}function d(a,b){if(a.length!==b.length)return!1;for(let c=0;c<a.length;c++)if(a[c]!==b[c])return!1;return!0}function e(a,b){let d=c(a,b);if(0===d)return a.subarray(b.length);if(!(d>-1))return a;{let c=new Uint8Array(a.length-b.length);return c.set(a.slice(0,d)),c.set(a.slice(d+b.length),d),c}}Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{indexOfUint8Array:function(){return c},isEquivalentUint8Arrays:function(){return d},removeFromUint8Array:function(){return e}})},54151:(a,b,c)=>{"use strict";c.d(b,{A:()=>f});var d=c(21124),e=c(38301);function f({name:a="folder_path",value:b,onChange:c,inputRef:f,placeholder:g="/Users/you/Documents/my-project"}){let[h,i]=e.useState(null),[j,k]=e.useState(!1),[l,m]=e.useState(""),[n,o]=e.useState(""),[p,q]=e.useState(null);async function r(){let a;if(i(null),!navigator.clipboard?.readText)return void i({kind:"error",message:"Clipboard not available."});try{a=await navigator.clipboard.readText()}catch{i({kind:"error",message:"Allow clipboard access."});return}let b=(a||"").trim();if((b.startsWith('"')&&b.endsWith('"')||b.startsWith("'")&&b.endsWith("'"))&&(b=b.slice(1,-1)),b.startsWith("file://"))try{b=decodeURI(b.slice(7))}catch{}return b?b.startsWith("/")||b.startsWith("~")?void(c(b),i({kind:"success",message:"Pasted."})):void i({kind:"error",message:"Path must be absolute."}):void i({kind:"error",message:"Clipboard is empty."})}async function s(){i(null),q("pick");try{let a=await fetch("/api/fs/pick-folder",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({title:"Choose project folder",start_path:b&&b.startsWith("/")?b:void 0})});if(499===a.status)return void i({kind:"error",message:"Cancelled."});let d=await a.json();if(!a.ok)return void i({kind:"error",message:d.error||"Picker failed."});c(d.folder_path),i({kind:"success",message:`Selected ${d.folder_path}`})}catch(a){i({kind:"error",message:String(a?.message||a)})}finally{q(null)}}async function t(){if(i(null),!l.trim()||!n.trim())return void i({kind:"error",message:"Parent and name required."});q("create");try{let a=await fetch("/api/fs/create-folder",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({parent:l.trim(),name:n.trim()})}),b=await a.json();if(!a.ok)return void i({kind:"error",message:b.error||"Create failed."});c(b.folder_path),k(!1),o(""),i({kind:"success",message:`Created ${b.folder_path}`})}catch(a){i({kind:"error",message:String(a?.message||a)})}finally{q(null)}}return e.useEffect(()=>{j&&!l&&m(b||"~/Documents")},[j,b,l]),(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("div",{className:"agents-modal-paste-row",children:[(0,d.jsx)("input",{ref:f,name:a,type:"text",placeholder:g,autoComplete:"off",spellCheck:!1,value:b||"",onChange:a=>{c(a.target.value),h&&i(null)},required:!0}),(0,d.jsx)("button",{type:"button",className:"admin-button secondary",onClick:s,disabled:"pick"===p,children:"pick"===p?"Opening…":"Choose folder…"})]}),(0,d.jsxs)("div",{className:"agents-modal-folder-tools",children:[(0,d.jsx)("button",{type:"button",className:"admin-button secondary",onClick:r,children:"Paste from clipboard"}),(0,d.jsx)("button",{type:"button",className:"admin-button secondary",onClick:()=>c("~/Documents"),children:"~/Documents"}),(0,d.jsx)("button",{type:"button",className:"admin-button secondary",onClick:()=>c("~/Desktop"),children:"~/Desktop"}),(0,d.jsx)("button",{type:"button",className:"admin-button secondary",onClick:()=>k(a=>!a),children:j?"Cancel new folder":"+ New folder"})]}),j?(0,d.jsxs)("div",{className:"agents-modal-create-folder",children:[(0,d.jsx)("small",{children:"Create a folder anywhere outside system directories. Parent must exist."}),(0,d.jsx)("div",{className:"agents-modal-create-row",children:(0,d.jsx)("input",{type:"text",placeholder:"Parent (e.g. ~/Documents)",value:l,onChange:a=>m(a.target.value),spellCheck:!1,autoComplete:"off"})}),(0,d.jsxs)("div",{className:"agents-modal-create-row",children:[(0,d.jsx)("input",{type:"text",placeholder:"New folder name",value:n,onChange:a=>o(a.target.value),spellCheck:!1,autoComplete:"off"}),(0,d.jsx)("button",{type:"button",className:"admin-button",onClick:t,disabled:"create"===p,children:"create"===p?"Creating…":"Create"})]})]}):null,h?(0,d.jsx)("p",{className:`agents-modal-feedback ${h.kind}`,role:"status","aria-live":"polite",children:h.message}):null]})}},54210:(a,b,c)=>{"use strict";let d;Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{arrayBufferToString:function(){return h},decrypt:function(){return k},encrypt:function(){return j},getActionEncryptionKey:function(){return p},getClientReferenceManifestForRsc:function(){return o},getServerModuleMap:function(){return n},setReferenceManifestsSingleton:function(){return m},stringToUint8Array:function(){return i}});let e=c(58871),f=c(17916),g=c(29294);function h(a){let b=new Uint8Array(a),c=b.byteLength;if(c<65535)return String.fromCharCode.apply(null,b);let d="";for(let a=0;a<c;a++)d+=String.fromCharCode(b[a]);return d}function i(a){let b=a.length,c=new Uint8Array(b);for(let d=0;d<b;d++)c[d]=a.charCodeAt(d);return c}function j(a,b,c){return crypto.subtle.encrypt({name:"AES-GCM",iv:b},a,c)}function k(a,b,c){return crypto.subtle.decrypt({name:"AES-GCM",iv:b},a,c)}let l=Symbol.for("next.server.action-manifests");function m({page:a,clientReferenceManifest:b,serverActionsManifest:c,serverModuleMap:d}){var e;let g=null==(e=globalThis[l])?void 0:e.clientReferenceManifestsPerPage;globalThis[l]={clientReferenceManifestsPerPage:{...g,[(0,f.normalizeAppPath)(a)]:b},serverActionsManifest:c,serverModuleMap:d}}function n(){let a=globalThis[l];if(!a)throw Object.defineProperty(new e.InvariantError("Missing manifest for Server Actions."),"__NEXT_ERROR_CODE",{value:"E606",enumerable:!1,configurable:!0});return a.serverModuleMap}function o(){let a=globalThis[l];if(!a)throw Object.defineProperty(new e.InvariantError("Missing manifest for Server Actions."),"__NEXT_ERROR_CODE",{value:"E606",enumerable:!1,configurable:!0});let{clientReferenceManifestsPerPage:b}=a,c=g.workAsyncStorage.getStore();if(!c){var d=b;let a=Object.values(d),c={clientModules:{},edgeRscModuleMapping:{},rscModuleMapping:{}};for(let b of a)c.clientModules={...c.clientModules,...b.clientModules},c.edgeRscModuleMapping={...c.edgeRscModuleMapping,...b.edgeRscModuleMapping},c.rscModuleMapping={...c.rscModuleMapping,...b.rscModuleMapping};return c}let f=b[c.route];if(!f)throw Object.defineProperty(new e.InvariantError(`Missing Client Reference Manifest for ${c.route}.`),"__NEXT_ERROR_CODE",{value:"E570",enumerable:!1,configurable:!0});return f}async function p(){if(d)return d;let a=globalThis[l];if(!a)throw Object.defineProperty(new e.InvariantError("Missing manifest for Server Actions."),"__NEXT_ERROR_CODE",{value:"E606",enumerable:!1,configurable:!0});let b=process.env.NEXT_SERVER_ACTIONS_ENCRYPTION_KEY||a.serverActionsManifest.encryptionKey;if(void 0===b)throw Object.defineProperty(new e.InvariantError("Missing encryption key for Server Actions"),"__NEXT_ERROR_CODE",{value:"E571",enumerable:!1,configurable:!0});return d=await crypto.subtle.importKey("raw",i(atob(b)),"AES-GCM",!0,["encrypt","decrypt"])}},54353:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{DOC_PREFETCH_RANGE_HEADER_VALUE:function(){return d},doesExportedHtmlMatchBuildId:function(){return g},insertBuildIdComment:function(){return f}});let c="<!DOCTYPE html>",d="bytes=0-63";function e(a){return a.slice(0,24).replace(/-/g,"_")}function f(a,b){return b.includes("--\x3e")||!a.startsWith(c)?a:a.replace(c,c+"\x3c!--"+e(b)+"--\x3e")}function g(a,b){return a.startsWith(c+"\x3c!--"+e(b)+"--\x3e")}},54591:(a,b,c)=>{"use strict";function d(a={}){let b=Number(a.price_au_usd_oz??0),c=Number(a.payable_production_oz_per_year??0),e=Math.max(0,Math.floor(Number(a.life_years??0))),f=Number(a.opex_annual??0),g=Number(a.sustaining_capex??0),h=Number(a.royalties??0),i=Number(a.taxes??0),j=Number(a.closure_provision??0),k=Number(a.discount_rate??.08);if(!b||!c||!e)return{valuation_tier:"t2_dcf",status:"insufficient_inputs",npv_usd:null,annual_cash_flows:[]};let l=[],m=0;for(let a=1;a<=e;a++){let d=c*b,n=d-f-g-h-i-(a===e?j:0),o=1/(1+k)**a*n;m+=o,l.push({year:a,revenue_usd:d,free_cash_flow_usd:n,discounted_fcf_usd:o})}return{valuation_tier:"t2_dcf",status:"ok",npv_usd:Math.round(100*m)/100,discount_rate:k,annual_cash_flows:l.map(a=>({year:a.year,revenue_usd:Math.round(100*a.revenue_usd)/100,free_cash_flow_usd:Math.round(100*a.free_cash_flow_usd)/100,discounted_fcf_usd:Math.round(100*a.discounted_fcf_usd)/100}))}}c.d(b,{d:()=>d})},55180:(a,b,c)=>{"use strict";c.d(b,{default:()=>k});var d=c(21124),e=c(38301),f=c(23312),g=c(43815),h=c(85708);let i=(0,h.createServerReference)("402113651be9d61319cdae940bac4826787656ed56",h.callServer,void 0,h.findSourceMapURL,"deleteProjectAction");function j({disabled:a}){let{pending:b}=(0,f.useFormStatus)();return(0,d.jsx)("button",{type:"submit",className:"admin-button danger",disabled:b||a,"aria-busy":b?"true":void 0,children:b?"Deleting…":"Delete project"})}function k({projectId:a,projectName:b,projectSlug:c,isProtected:f}){let[h,k]=e.useState(!1),[l,m]=e.useState("");if(f)return(0,d.jsxs)("span",{className:"admin-button secondary project-delete is-locked","aria-disabled":"true",title:"The Personal project is the default scope and cannot be deleted.",children:[(0,d.jsxs)("svg",{width:"11",height:"11",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",style:{marginRight:6,verticalAlign:"-1px"},children:[(0,d.jsx)("rect",{x:"3",y:"11",width:"18",height:"11",rx:"2"}),(0,d.jsx)("path",{d:"M7 11V7a5 5 0 0 1 10 0v4"})]}),"Protected"]});e.useEffect(()=>{h||m("")},[h]);let n=l.trim()===c;return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("button",{type:"button",className:"admin-button secondary project-delete",onClick:()=>k(!0),"aria-label":`Delete ${b}`,children:"Delete"}),(0,d.jsx)(g.A,{open:h,onClose:()=>k(!1),eyebrow:"Delete project",title:`Delete ${b}?`,tone:"danger",children:(0,d.jsxs)("form",{className:"agents-modal-form",action:i,children:[(0,d.jsx)("input",{type:"hidden",name:"project_id",value:a}),(0,d.jsx)("p",{className:"agents-modal-help",children:"This removes the project, its agents, Disk files, memory, secrets, and audit history. The folder on your local drive is left untouched."}),(0,d.jsx)("section",{className:"agents-modal-section",children:(0,d.jsxs)("label",{className:"agents-modal-field wide",children:[(0,d.jsxs)("span",{children:["Type ",(0,d.jsx)("code",{className:"agents-modal-inline-code",children:c})," to confirm"]}),(0,d.jsx)("input",{type:"text",autoComplete:"off",spellCheck:!1,value:l,onChange:a=>m(a.target.value),placeholder:c,autoFocus:!0})]})}),(0,d.jsxs)("footer",{className:"agents-modal-foot",children:[(0,d.jsx)("button",{type:"button",className:"admin-button secondary",onClick:()=>k(!1),children:"Cancel"}),(0,d.jsx)(j,{disabled:!n})]})]})})]})}},55864:(a,b,c)=>{Promise.resolve().then(c.bind(c,94657)),Promise.resolve().then(c.bind(c,55180)),Promise.resolve().then(c.bind(c,99034)),Promise.resolve().then(c.bind(c,11180)),Promise.resolve().then(c.t.bind(c,3991,23))},56534:(a,b,c)=>{"use strict";function d(a){return a.replace(/[\t\n\r ]+/g," ").replace(/^ | $/g,"").toLowerCase().toUpperCase()}c.d(b,{B:()=>d})},56557:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"default",{enumerable:!0,get:function(){return n}});let d=c(3017),e=c(31730),f=c(9027),g=c(86331),h=c(90914);function i(a,b){if(!a)return b;let c=parseInt(a,10);return Number.isFinite(c)&&c>0?c:b}!function(a,b){Object.keys(a).forEach(function(c){"default"===c||Object.prototype.hasOwnProperty.call(b,c)||Object.defineProperty(b,c,{enumerable:!0,get:function(){return a[c]}})})}(c(94062),b);let j=i(process.env.NEXT_PRIVATE_RESPONSE_CACHE_TTL,1e4),k=i(process.env.NEXT_PRIVATE_RESPONSE_CACHE_MAX_SIZE,150),l="__ttl_sentinel__";function m(a,b){return`${a}\0${b??l}`}class n{constructor(a,b=k,c=j){this.batcher=d.Batcher.create({cacheKeyFn:({key:a,isOnDemandRevalidate:b})=>`${a}-${b?"1":"0"}`,schedulerFn:g.scheduleOnNextTick}),this.revalidateBatcher=d.Batcher.create({schedulerFn:g.scheduleOnNextTick}),this.evictedInvocationIDs=new Set,this.minimal_mode=a,this.maxSize=b,this.ttl=c,this.cache=new e.LRUCache(b,void 0,a=>{let b=function(a){let b=a.lastIndexOf("\0");if(-1===b)return;let c=a.slice(b+1);return c===l?void 0:c}(a);if(b){if(this.evictedInvocationIDs.size>=100){let a=this.evictedInvocationIDs.values().next().value;a&&this.evictedInvocationIDs.delete(a)}this.evictedInvocationIDs.add(b)}})}async get(a,b,c){if(!a)return b({hasResolved:!1,previousCacheEntry:null});if(this.minimal_mode){let b=m(a,c.invocationID),d=this.cache.get(b);if(d){if(void 0!==c.invocationID)return(0,h.toResponseCacheEntry)(d.entry);let a=Date.now();if(d.expiresAt>a)return(0,h.toResponseCacheEntry)(d.entry);this.cache.remove(b)}c.invocationID&&this.evictedInvocationIDs.has(c.invocationID)&&(0,f.warnOnce)(`Response cache entry was evicted for invocation ${c.invocationID}. Consider increasing NEXT_PRIVATE_RESPONSE_CACHE_MAX_SIZE (current: ${this.maxSize}).`)}let{incrementalCache:d,isOnDemandRevalidate:e=!1,isFallback:g=!1,isRoutePPREnabled:i=!1,isPrefetch:j=!1,waitUntil:k,routeKind:l,invocationID:n}=c,o=await this.batcher.batch({key:a,isOnDemandRevalidate:e},(c,f)=>{let h=this.handleGet(a,b,{incrementalCache:d,isOnDemandRevalidate:e,isFallback:g,isRoutePPREnabled:i,isPrefetch:j,routeKind:l,invocationID:n},f);return k&&k(h),h});return(0,h.toResponseCacheEntry)(o)}async handleGet(a,b,c,d){let e=null,f=!1;try{if((e=this.minimal_mode?null:await c.incrementalCache.get(a,{kind:(0,h.routeKindToIncrementalCacheKind)(c.routeKind),isRoutePPREnabled:c.isRoutePPREnabled,isFallback:c.isFallback}))&&!c.isOnDemandRevalidate&&(d(e),f=!0,!e.isStale||c.isPrefetch))return e;let g=await this.revalidate(a,c.incrementalCache,c.isRoutePPREnabled,c.isFallback,b,e,null!==e&&!c.isOnDemandRevalidate,void 0,c.invocationID);if(!g){if(this.minimal_mode){let b=m(a,c.invocationID);this.cache.remove(b)}return null}return c.isOnDemandRevalidate,g}catch(a){if(f)return console.error(a),null;throw a}}async revalidate(a,b,c,d,e,f,g,h,i){return this.revalidateBatcher.batch(a,()=>{let j=this.handleRevalidate(a,b,c,d,e,f,g,i);return h&&h(j),j})}async handleRevalidate(a,b,c,d,e,f,g,i){try{let j=await e({hasResolved:g,previousCacheEntry:f,isRevalidating:!0});if(!j)return null;let k=await (0,h.fromResponseCacheEntry)({...j,isMiss:!f});if(k.cacheControl)if(this.minimal_mode){let b=m(a,i);this.cache.set(b,{entry:k,expiresAt:Date.now()+this.ttl})}else await b.set(a,k.value,{cacheControl:k.cacheControl,isRoutePPREnabled:c,isFallback:d});return k}catch(e){if(null==f?void 0:f.cacheControl){let e=Math.min(Math.max(f.cacheControl.revalidate||3,3),30),g=void 0===f.cacheControl.expire?void 0:Math.max(e+3,f.cacheControl.expire);await b.set(a,f.value,{cacheControl:{revalidate:e,expire:g},isRoutePPREnabled:c,isFallback:d})}throw e}}}},57100:(a,b)=>{"use strict";function c(a,b){let c;if((null==b?void 0:b.host)&&!Array.isArray(b.host))c=b.host.toString().split(":",1)[0];else{if(!a.hostname)return;c=a.hostname}return c.toLowerCase()}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"getHostname",{enumerable:!0,get:function(){return c}})},57403:(a,b,c)=>{"use strict";let d,e;c.d(b,{K3:()=>f,rU:()=>l,tj:()=>j});let f=Number(process.env.MINES_OCR_THRESHOLD_CHARS_PER_PAGE)||80,g=process.env.MINES_OCR_LANGS||"spa+eng";async function h(){return void 0===d&&(d=(async()=>{try{return await import("tesseract.js")}catch{return null}})().catch(()=>null)),d}async function i(){return void 0===e&&(e=(async()=>{try{let a=await import("pdf-to-png-converter");if("function"==typeof a?.pdfToPng)return async b=>(await a.pdfToPng(b,{viewportScale:2})).map((a,b)=>({page:a.pageNumber||b+1,buffer:a.content}))}catch{}return null})().catch(()=>null)),e}function j(a,b){let c=b;return(null==c||Number.isNaN(Number(c)))&&(c=String(a??"").trim().length),Number(c)<f}async function k(a,b=g){let c=await h(),d=c?.recognize||c?.default?.recognize;if("function"!=typeof d)return null;try{let{data:c}=await d(a,b);return{text:String(c?.text||""),confidence:Number(c?.confidence??0)}}catch{return null}}async function l(a,b){let c,d=await i(),e=await h();if(!d||!e)return{available:!1,pages:[]};try{c=await d(a)}catch{return{available:!1,pages:[]}}let[f,g]=Array.isArray(b)?b:[null,null],j=[];for(let a of c){if(null!=f&&a.page<f||null!=g&&a.page>g)continue;let b=await k(a.buffer);j.push({page:a.page,text:b?.text||"",confidence:b?.confidence??0})}return{available:!0,pages:j}}},57647:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{pz:()=>j,yi:()=>i}),c(73024),c(76760);var e=c(84104);c(83498);var f=c(42382),g=c(40266),h=a([e,f,g]);[e,f,g]=h.then?(await h)():h;let k=[["project-watcher","Project Watcher","project_watcher","claude-code",["gh_repo_read","gh_issue_list","gh_pr_list","web_fetch","file_read"],["investigate","retro"],"Watches repos, issues, PRs, deploys, and produces weekly project pulses."],["personal-assistant","Personal Assistant","personal_assistant","anthropic",["gmail_messages_list","gmail_message_read","calendar_events_list","whatsapp_send"],[],"Reads inbox and calendar context, drafts replies, and keeps the operator organized."],["engineering-lead","Engineering Lead","engineering_lead","claude-code",["gh_repo_read","gh_issue_list","gh_pr_list","terminal_run","file_read","file_write"],["investigate","review","ship","qa"],"Leads implementation, review, QA, and preview deploys with explicit approval gates."],["marketing-lead","Marketing Lead","marketing_lead","anthropic",["web_search","web_fetch","file_write","create_artifact"],["design-shotgun","impeccable"],"Creates market research, launch copy, positioning, and design briefs."],["meeting-notes","Meeting Notes Taker","meeting_notes","anthropic",["transcribe_audio","file_write","create_artifact"],[],"Turns recordings into transcripts, decisions, action items, and follow-ups."],["bug-triage","Bug Triage Specialist","bug_triage","claude-code",["gh_issue_list","gh_pr_list","file_read"],["investigate"],"Classifies incoming bugs and proposes severity and next actions."],["phase-runner","Phase Runner","phase_runner","claude-code",["file_read","file_write","terminal_run"],["ship"],"Executes approved implementation phases and reports blockers."],["code-reviewer","Code Reviewer","code_reviewer","claude-code",["file_read","gh_pr_list"],["review"],"Provides independent diff review before merge."],["competitor-scout","Competitor Scout","competitor_scout","anthropic",["web_search","web_fetch","create_artifact"],[],"Tracks competitor movement and summarizes weekly signals."],["finance-ops","Finance and Ops","finance_ops","anthropic",["file_read","create_artifact"],[],"Reads finance docs and drafts advisory runway and ops summaries."],["legal-compliance","Legal and Compliance","legal_compliance","anthropic",["file_read","web_fetch","create_artifact"],[],"Reviews policy and compliance documents as advisory output only."],["customer-support","Customer Support","customer_support","anthropic",["gmail_message_read","file_write"],[],"Drafts customer replies and escalates approval-required sends."],["chief-of-staff","Chief of Staff","chief_of_staff","anthropic",["web_search","file_read","file_write","create_artifact","create_workflow_definition"],["report-builder","market-research"],"Translates founder intent into delegated work across the company, runs the weekly cadence, and surfaces decisions. No direct external writes."],["ads-media-buyer","Ads / Media Buyer","ads_media_buyer","anthropic",["web_search","file_write","create_artifact"],["design-shotgun"],"Plans, builds, and reports on paid campaigns across Meta/Google/TikTok within budget caps. Every campaign publish and budget set is approval-gated."],["content-social","Content / Social Manager","content_social","anthropic",["web_search","file_write","create_artifact","voice_speak"],["design-shotgun"],"Produces and schedules organic posts, reels, and videos and maintains brand voice. Every publish is approval-gated."],["sales-bd","Sales / BD","sales_bd","anthropic",["web_search","web_fetch","gmail_messages_list","email_send","create_artifact"],["inbox-triage"],"Builds target lists, enriches leads, runs outreach, and logs CRM activity. Bulk sends and CRM writes are approval-gated."],["ops-manager","Operations","ops_manager","anthropic",["calendar_events_list","calendar_event_read","file_read","file_write","create_artifact"],["meeting-scheduler","report-builder"],"Keeps the business running — scheduling, internal docs, recurring checklists, vendor coordination. Calendar invites and webhooks are approval-gated."],["product-pm","Product / Project Manager","product_pm","claude-code",["gh_repo_read","gh_issue_list","gh_issue_create","gh_pr_list","file_read","file_write","create_workflow_definition"],["review"],"Maintains the roadmap, writes specs, tracks delivery, and runs standups. Issue/PR creates respect the GitHub allowlist."],["web-ecommerce","Web / Ecommerce","web_ecommerce","claude-code",["web_fetch","supabase_rest_select","browser_open","file_read","file_write","create_artifact"],["web-automation"],"Manages site/store content, products, SEO, and deploys. Deploys, store writes, and DB writes are approval-gated."]].map(([a,b,c,d,e,f,g])=>({slug:a,title:b,role:c,engine_default:d,tools_required:e,tools_optional:[],skills:f,memory_scopes:["agent","project"],approval_profile:"personal_assistant"===c?"strict":"standard",description_long:g}));k.push({slug:"tool-smith",title:"Tool Smith",role:"tool_smith",engine_default:"claude-code",tools_required:["create_skill","update_skill","create_composite_tool","update_composite_tool","create_connector","update_connector","propose_tool","web_search","web_fetch","file_read"],tools_optional:[],skills:["plan","review"],memory_scopes:["agent","project"],approval_profile:"standard",description_long:"Authors reusable capabilities for the marketplace — declarative skills, composite tools chaining existing primitives, and REST API connectors. For non-REST integrations it proposes reviewable code; it never executes self-authored code.",system_prompt:'You are Tool Smith, the capability-authoring agent. Your only job is to author\nreusable capabilities other agents can use, and publish them to the marketplace.\n\nPick the RIGHT authoring path for each request:\n • A recipe chaining tools that ALREADY exist -> author a COMPOSITE TOOL\n (create_composite_tool). Reference only existing primitive tools; the\n composite inherits the MAX risk of its steps and every gate re-fires per\n step. Use this for "do X then Y then summarize" style capabilities.\n • A new REST API (Notion, Linear, Stripe, Airtable, ...) -> author a CONNECTOR\n (create_connector) with a declarative manifest: https base_url, allowed_hosts,\n secret-by-reference auth (NEVER paste a raw key — reference it by name, e.g.\n NOTION_TOKEN), and per-endpoint method/path/risk. Each endpoint becomes a\n callable <slug>.<endpoint> tool the instant the owner supplies the key once.\n • A reusable instruction/prompt recipe an LLM follows with tools it already\n has -> author a SKILL (create_skill).\n • A genuinely new integration that is NOT REST (binary, SDK-only, websockets,\n complex OAuth) -> propose_tool. This stages reviewable code; it is INERT and\n a human must merge + restart. You never execute self-authored code.\n\nHard rules: never put a raw secret in a connector manifest. Never declare a\ndestructive endpoint as low risk — the validator clamps writes to medium and\nhigh/irreversible endpoints always require human approval at run time. When asked\nfor a capability that already exists, say so instead of duplicating it.'});let l=["project-watcher","personal-assistant","engineering-lead","marketing-lead","meeting-notes"];function i(a=(0,e.Lf)()){if(globalThis.__madarxAgentTemplatesSeeded)return;let b=(0,e.kF)();for(let c of k)a.prepare(`INSERT INTO marketplace_items (id, kind, slug, title, description, category, author, source_kind, version, manifest_json, risk_summary, tags, created_at)
1000
+ `))}})}async function B(a,{suffix:b,inlinedDataStream:c,isStaticGeneration:d,isBuildTimePrerendering:e,buildId:h,getServerInsertedHTML:i,getServerInsertedMetadata:j,validateRootLayout:k}){let l,n,o=b?b.split(y,1)[0]:null;d&&await a.allReady;var p=[s(),t(e,h),v(j),null!=o&&o.length>0?(n=!1,new TransformStream({transform(a,b){if(b.enqueue(a),!n){n=!0;let a=new f.DetachedPromise;l=a,(0,g.scheduleImmediate)(()=>{try{b.enqueue(m.encode(o))}catch{}finally{l=void 0,a.resolve()}})}},flush(a){if(l)return l.promise;n||a.enqueue(m.encode(o))}})):null,c?x(c,!0):null,k?A():null,z(),w(i)];let q=a;for(let a of p)a&&(q=q.pipeThrough(a));return q}async function C(a,{getServerInsertedHTML:b,getServerInsertedMetadata:c}){return a.pipeThrough(s()).pipeThrough(new TransformStream({transform(a,b){(0,i.isEquivalentUint8Arrays)(a,h.ENCODED_TAGS.CLOSED.BODY_AND_HTML)||(0,i.isEquivalentUint8Arrays)(a,h.ENCODED_TAGS.CLOSED.BODY)||(0,i.isEquivalentUint8Arrays)(a,h.ENCODED_TAGS.CLOSED.HTML)||(a=(0,i.removeFromUint8Array)(a,h.ENCODED_TAGS.CLOSED.BODY),a=(0,i.removeFromUint8Array)(a,h.ENCODED_TAGS.CLOSED.HTML),b.enqueue(a))}})).pipeThrough(w(b)).pipeThrough(v(c))}async function D(a,{inlinedDataStream:b,getServerInsertedHTML:c,getServerInsertedMetadata:d,isBuildTimePrerendering:e,buildId:f}){return a.pipeThrough(s()).pipeThrough(t(e,f)).pipeThrough(w(c)).pipeThrough(v(d)).pipeThrough(x(b,!0)).pipeThrough(z())}async function E(a,{delayDataUntilFirstHtmlChunk:b,inlinedDataStream:c,getServerInsertedHTML:d,getServerInsertedMetadata:e}){return a.pipeThrough(s()).pipeThrough(w(d)).pipeThrough(v(e)).pipeThrough(x(c,b)).pipeThrough(z())}function F(){return o(y)}},51318:(a,b,c)=>{"use strict";a.exports=c(9907)},52237:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"addPathSuffix",{enumerable:!0,get:function(){return e}});let d=c(2213);function e(a,b){if(!a.startsWith("/")||!b)return a;let{pathname:c,query:e,hash:f}=(0,d.parsePath)(a);return""+c+b+e+f}},52318:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{BailoutToCSRError:function(){return d},isBailoutToCSRError:function(){return e}});let c="BAILOUT_TO_CLIENT_SIDE_RENDERING";class d extends Error{constructor(a){super("Bail out to client-side rendering: "+a),this.reason=a,this.digest=c}}function e(a){return"object"==typeof a&&null!==a&&"digest"in a&&a.digest===c}},52577:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{DynamicServerError:function(){return d},isDynamicServerError:function(){return e}});let c="DYNAMIC_SERVER_USAGE";class d extends Error{constructor(a){super("Dynamic server usage: "+a),this.description=a,this.digest=c}}function e(a){return"object"==typeof a&&null!==a&&"digest"in a&&"string"==typeof a.digest&&a.digest===c}("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},52644:(a,b,c)=>{"use strict";a.exports=c.p+"static/media/check-disk-encryption.6b124b4e.mjs"},52741:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"notFound",{enumerable:!0,get:function(){return e}});let d=""+c(15570).HTTP_ERROR_FALLBACK_ERROR_CODE+";404";function e(){let a=Object.defineProperty(Error(d),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});throw a.digest=d,a}("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},53476:(a,b)=>{"use strict";function c(a,b){if(0===b.length)return 0;if(0===a.length||b.length>a.length)return -1;for(let c=0;c<=a.length-b.length;c++){let d=!0;for(let e=0;e<b.length;e++)if(a[c+e]!==b[e]){d=!1;break}if(d)return c}return -1}function d(a,b){if(a.length!==b.length)return!1;for(let c=0;c<a.length;c++)if(a[c]!==b[c])return!1;return!0}function e(a,b){let d=c(a,b);if(0===d)return a.subarray(b.length);if(!(d>-1))return a;{let c=new Uint8Array(a.length-b.length);return c.set(a.slice(0,d)),c.set(a.slice(d+b.length),d),c}}Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{indexOfUint8Array:function(){return c},isEquivalentUint8Arrays:function(){return d},removeFromUint8Array:function(){return e}})},54151:(a,b,c)=>{"use strict";c.d(b,{A:()=>f});var d=c(21124),e=c(38301);function f({name:a="folder_path",value:b,onChange:c,inputRef:f,placeholder:g="/Users/you/Documents/my-project"}){let[h,i]=e.useState(null),[j,k]=e.useState(!1),[l,m]=e.useState(""),[n,o]=e.useState(""),[p,q]=e.useState(null);async function r(){let a;if(i(null),!navigator.clipboard?.readText)return void i({kind:"error",message:"Clipboard not available."});try{a=await navigator.clipboard.readText()}catch{i({kind:"error",message:"Allow clipboard access."});return}let b=(a||"").trim();if((b.startsWith('"')&&b.endsWith('"')||b.startsWith("'")&&b.endsWith("'"))&&(b=b.slice(1,-1)),b.startsWith("file://"))try{b=decodeURI(b.slice(7))}catch{}return b?b.startsWith("/")||b.startsWith("~")?void(c(b),i({kind:"success",message:"Pasted."})):void i({kind:"error",message:"Path must be absolute."}):void i({kind:"error",message:"Clipboard is empty."})}async function s(){i(null),q("pick");try{let a=await fetch("/api/fs/pick-folder",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({title:"Choose project folder",start_path:b&&b.startsWith("/")?b:void 0})});if(499===a.status)return void i({kind:"error",message:"Cancelled."});let d=await a.json();if(!a.ok)return void i({kind:"error",message:d.error||"Picker failed."});c(d.folder_path),i({kind:"success",message:`Selected ${d.folder_path}`})}catch(a){i({kind:"error",message:String(a?.message||a)})}finally{q(null)}}async function t(){if(i(null),!l.trim()||!n.trim())return void i({kind:"error",message:"Parent and name required."});q("create");try{let a=await fetch("/api/fs/create-folder",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({parent:l.trim(),name:n.trim()})}),b=await a.json();if(!a.ok)return void i({kind:"error",message:b.error||"Create failed."});c(b.folder_path),k(!1),o(""),i({kind:"success",message:`Created ${b.folder_path}`})}catch(a){i({kind:"error",message:String(a?.message||a)})}finally{q(null)}}return e.useEffect(()=>{j&&!l&&m(b||"~/Documents")},[j,b,l]),(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("div",{className:"agents-modal-paste-row",children:[(0,d.jsx)("input",{ref:f,name:a,type:"text",placeholder:g,autoComplete:"off",spellCheck:!1,value:b||"",onChange:a=>{c(a.target.value),h&&i(null)},required:!0}),(0,d.jsx)("button",{type:"button",className:"admin-button secondary",onClick:s,disabled:"pick"===p,children:"pick"===p?"Opening…":"Choose folder…"})]}),(0,d.jsxs)("div",{className:"agents-modal-folder-tools",children:[(0,d.jsx)("button",{type:"button",className:"admin-button secondary",onClick:r,children:"Paste from clipboard"}),(0,d.jsx)("button",{type:"button",className:"admin-button secondary",onClick:()=>c("~/Documents"),children:"~/Documents"}),(0,d.jsx)("button",{type:"button",className:"admin-button secondary",onClick:()=>c("~/Desktop"),children:"~/Desktop"}),(0,d.jsx)("button",{type:"button",className:"admin-button secondary",onClick:()=>k(a=>!a),children:j?"Cancel new folder":"+ New folder"})]}),j?(0,d.jsxs)("div",{className:"agents-modal-create-folder",children:[(0,d.jsx)("small",{children:"Create a folder anywhere outside system directories. Parent must exist."}),(0,d.jsx)("div",{className:"agents-modal-create-row",children:(0,d.jsx)("input",{type:"text",placeholder:"Parent (e.g. ~/Documents)",value:l,onChange:a=>m(a.target.value),spellCheck:!1,autoComplete:"off"})}),(0,d.jsxs)("div",{className:"agents-modal-create-row",children:[(0,d.jsx)("input",{type:"text",placeholder:"New folder name",value:n,onChange:a=>o(a.target.value),spellCheck:!1,autoComplete:"off"}),(0,d.jsx)("button",{type:"button",className:"admin-button",onClick:t,disabled:"create"===p,children:"create"===p?"Creating…":"Create"})]})]}):null,h?(0,d.jsx)("p",{className:`agents-modal-feedback ${h.kind}`,role:"status","aria-live":"polite",children:h.message}):null]})}},54210:(a,b,c)=>{"use strict";let d;Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{arrayBufferToString:function(){return h},decrypt:function(){return k},encrypt:function(){return j},getActionEncryptionKey:function(){return p},getClientReferenceManifestForRsc:function(){return o},getServerModuleMap:function(){return n},setReferenceManifestsSingleton:function(){return m},stringToUint8Array:function(){return i}});let e=c(58871),f=c(17916),g=c(29294);function h(a){let b=new Uint8Array(a),c=b.byteLength;if(c<65535)return String.fromCharCode.apply(null,b);let d="";for(let a=0;a<c;a++)d+=String.fromCharCode(b[a]);return d}function i(a){let b=a.length,c=new Uint8Array(b);for(let d=0;d<b;d++)c[d]=a.charCodeAt(d);return c}function j(a,b,c){return crypto.subtle.encrypt({name:"AES-GCM",iv:b},a,c)}function k(a,b,c){return crypto.subtle.decrypt({name:"AES-GCM",iv:b},a,c)}let l=Symbol.for("next.server.action-manifests");function m({page:a,clientReferenceManifest:b,serverActionsManifest:c,serverModuleMap:d}){var e;let g=null==(e=globalThis[l])?void 0:e.clientReferenceManifestsPerPage;globalThis[l]={clientReferenceManifestsPerPage:{...g,[(0,f.normalizeAppPath)(a)]:b},serverActionsManifest:c,serverModuleMap:d}}function n(){let a=globalThis[l];if(!a)throw Object.defineProperty(new e.InvariantError("Missing manifest for Server Actions."),"__NEXT_ERROR_CODE",{value:"E606",enumerable:!1,configurable:!0});return a.serverModuleMap}function o(){let a=globalThis[l];if(!a)throw Object.defineProperty(new e.InvariantError("Missing manifest for Server Actions."),"__NEXT_ERROR_CODE",{value:"E606",enumerable:!1,configurable:!0});let{clientReferenceManifestsPerPage:b}=a,c=g.workAsyncStorage.getStore();if(!c){var d=b;let a=Object.values(d),c={clientModules:{},edgeRscModuleMapping:{},rscModuleMapping:{}};for(let b of a)c.clientModules={...c.clientModules,...b.clientModules},c.edgeRscModuleMapping={...c.edgeRscModuleMapping,...b.edgeRscModuleMapping},c.rscModuleMapping={...c.rscModuleMapping,...b.rscModuleMapping};return c}let f=b[c.route];if(!f)throw Object.defineProperty(new e.InvariantError(`Missing Client Reference Manifest for ${c.route}.`),"__NEXT_ERROR_CODE",{value:"E570",enumerable:!1,configurable:!0});return f}async function p(){if(d)return d;let a=globalThis[l];if(!a)throw Object.defineProperty(new e.InvariantError("Missing manifest for Server Actions."),"__NEXT_ERROR_CODE",{value:"E606",enumerable:!1,configurable:!0});let b=process.env.NEXT_SERVER_ACTIONS_ENCRYPTION_KEY||a.serverActionsManifest.encryptionKey;if(void 0===b)throw Object.defineProperty(new e.InvariantError("Missing encryption key for Server Actions"),"__NEXT_ERROR_CODE",{value:"E571",enumerable:!1,configurable:!0});return d=await crypto.subtle.importKey("raw",i(atob(b)),"AES-GCM",!0,["encrypt","decrypt"])}},54353:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{DOC_PREFETCH_RANGE_HEADER_VALUE:function(){return d},doesExportedHtmlMatchBuildId:function(){return g},insertBuildIdComment:function(){return f}});let c="<!DOCTYPE html>",d="bytes=0-63";function e(a){return a.slice(0,24).replace(/-/g,"_")}function f(a,b){return b.includes("--\x3e")||!a.startsWith(c)?a:a.replace(c,c+"\x3c!--"+e(b)+"--\x3e")}function g(a,b){return a.startsWith(c+"\x3c!--"+e(b)+"--\x3e")}},54591:(a,b,c)=>{"use strict";function d(a={}){let b=Number(a.price_au_usd_oz??0),c=Number(a.payable_production_oz_per_year??0),e=Math.max(0,Math.floor(Number(a.life_years??0))),f=Number(a.opex_annual??0),g=Number(a.sustaining_capex??0),h=Number(a.royalties??0),i=Number(a.taxes??0),j=Number(a.closure_provision??0),k=Number(a.discount_rate??.08);if(!b||!c||!e)return{valuation_tier:"t2_dcf",status:"insufficient_inputs",npv_usd:null,annual_cash_flows:[]};let l=[],m=0;for(let a=1;a<=e;a++){let d=c*b,n=d-f-g-h-i-(a===e?j:0),o=1/(1+k)**a*n;m+=o,l.push({year:a,revenue_usd:d,free_cash_flow_usd:n,discounted_fcf_usd:o})}return{valuation_tier:"t2_dcf",status:"ok",npv_usd:Math.round(100*m)/100,discount_rate:k,annual_cash_flows:l.map(a=>({year:a.year,revenue_usd:Math.round(100*a.revenue_usd)/100,free_cash_flow_usd:Math.round(100*a.free_cash_flow_usd)/100,discounted_fcf_usd:Math.round(100*a.discounted_fcf_usd)/100}))}}c.d(b,{d:()=>d})},55864:(a,b,c)=>{Promise.resolve().then(c.bind(c,94657)),Promise.resolve().then(c.bind(c,12556)),Promise.resolve().then(c.bind(c,82120)),Promise.resolve().then(c.bind(c,5543)),Promise.resolve().then(c.t.bind(c,3991,23))},56534:(a,b,c)=>{"use strict";function d(a){return a.replace(/[\t\n\r ]+/g," ").replace(/^ | $/g,"").toLowerCase().toUpperCase()}c.d(b,{B:()=>d})},56557:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"default",{enumerable:!0,get:function(){return n}});let d=c(3017),e=c(31730),f=c(9027),g=c(86331),h=c(90914);function i(a,b){if(!a)return b;let c=parseInt(a,10);return Number.isFinite(c)&&c>0?c:b}!function(a,b){Object.keys(a).forEach(function(c){"default"===c||Object.prototype.hasOwnProperty.call(b,c)||Object.defineProperty(b,c,{enumerable:!0,get:function(){return a[c]}})})}(c(94062),b);let j=i(process.env.NEXT_PRIVATE_RESPONSE_CACHE_TTL,1e4),k=i(process.env.NEXT_PRIVATE_RESPONSE_CACHE_MAX_SIZE,150),l="__ttl_sentinel__";function m(a,b){return`${a}\0${b??l}`}class n{constructor(a,b=k,c=j){this.batcher=d.Batcher.create({cacheKeyFn:({key:a,isOnDemandRevalidate:b})=>`${a}-${b?"1":"0"}`,schedulerFn:g.scheduleOnNextTick}),this.revalidateBatcher=d.Batcher.create({schedulerFn:g.scheduleOnNextTick}),this.evictedInvocationIDs=new Set,this.minimal_mode=a,this.maxSize=b,this.ttl=c,this.cache=new e.LRUCache(b,void 0,a=>{let b=function(a){let b=a.lastIndexOf("\0");if(-1===b)return;let c=a.slice(b+1);return c===l?void 0:c}(a);if(b){if(this.evictedInvocationIDs.size>=100){let a=this.evictedInvocationIDs.values().next().value;a&&this.evictedInvocationIDs.delete(a)}this.evictedInvocationIDs.add(b)}})}async get(a,b,c){if(!a)return b({hasResolved:!1,previousCacheEntry:null});if(this.minimal_mode){let b=m(a,c.invocationID),d=this.cache.get(b);if(d){if(void 0!==c.invocationID)return(0,h.toResponseCacheEntry)(d.entry);let a=Date.now();if(d.expiresAt>a)return(0,h.toResponseCacheEntry)(d.entry);this.cache.remove(b)}c.invocationID&&this.evictedInvocationIDs.has(c.invocationID)&&(0,f.warnOnce)(`Response cache entry was evicted for invocation ${c.invocationID}. Consider increasing NEXT_PRIVATE_RESPONSE_CACHE_MAX_SIZE (current: ${this.maxSize}).`)}let{incrementalCache:d,isOnDemandRevalidate:e=!1,isFallback:g=!1,isRoutePPREnabled:i=!1,isPrefetch:j=!1,waitUntil:k,routeKind:l,invocationID:n}=c,o=await this.batcher.batch({key:a,isOnDemandRevalidate:e},(c,f)=>{let h=this.handleGet(a,b,{incrementalCache:d,isOnDemandRevalidate:e,isFallback:g,isRoutePPREnabled:i,isPrefetch:j,routeKind:l,invocationID:n},f);return k&&k(h),h});return(0,h.toResponseCacheEntry)(o)}async handleGet(a,b,c,d){let e=null,f=!1;try{if((e=this.minimal_mode?null:await c.incrementalCache.get(a,{kind:(0,h.routeKindToIncrementalCacheKind)(c.routeKind),isRoutePPREnabled:c.isRoutePPREnabled,isFallback:c.isFallback}))&&!c.isOnDemandRevalidate&&(d(e),f=!0,!e.isStale||c.isPrefetch))return e;let g=await this.revalidate(a,c.incrementalCache,c.isRoutePPREnabled,c.isFallback,b,e,null!==e&&!c.isOnDemandRevalidate,void 0,c.invocationID);if(!g){if(this.minimal_mode){let b=m(a,c.invocationID);this.cache.remove(b)}return null}return c.isOnDemandRevalidate,g}catch(a){if(f)return console.error(a),null;throw a}}async revalidate(a,b,c,d,e,f,g,h,i){return this.revalidateBatcher.batch(a,()=>{let j=this.handleRevalidate(a,b,c,d,e,f,g,i);return h&&h(j),j})}async handleRevalidate(a,b,c,d,e,f,g,i){try{let j=await e({hasResolved:g,previousCacheEntry:f,isRevalidating:!0});if(!j)return null;let k=await (0,h.fromResponseCacheEntry)({...j,isMiss:!f});if(k.cacheControl)if(this.minimal_mode){let b=m(a,i);this.cache.set(b,{entry:k,expiresAt:Date.now()+this.ttl})}else await b.set(a,k.value,{cacheControl:k.cacheControl,isRoutePPREnabled:c,isFallback:d});return k}catch(e){if(null==f?void 0:f.cacheControl){let e=Math.min(Math.max(f.cacheControl.revalidate||3,3),30),g=void 0===f.cacheControl.expire?void 0:Math.max(e+3,f.cacheControl.expire);await b.set(a,f.value,{cacheControl:{revalidate:e,expire:g},isRoutePPREnabled:c,isFallback:d})}throw e}}}},57100:(a,b)=>{"use strict";function c(a,b){let c;if((null==b?void 0:b.host)&&!Array.isArray(b.host))c=b.host.toString().split(":",1)[0];else{if(!a.hostname)return;c=a.hostname}return c.toLowerCase()}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"getHostname",{enumerable:!0,get:function(){return c}})},57403:(a,b,c)=>{"use strict";let d,e;c.d(b,{K3:()=>f,rU:()=>l,tj:()=>j});let f=Number(process.env.MINES_OCR_THRESHOLD_CHARS_PER_PAGE)||80,g=process.env.MINES_OCR_LANGS||"spa+eng";async function h(){return void 0===d&&(d=(async()=>{try{return await import("tesseract.js")}catch{return null}})().catch(()=>null)),d}async function i(){return void 0===e&&(e=(async()=>{try{let a=await import("pdf-to-png-converter");if("function"==typeof a?.pdfToPng)return async b=>(await a.pdfToPng(b,{viewportScale:2})).map((a,b)=>({page:a.pageNumber||b+1,buffer:a.content}))}catch{}return null})().catch(()=>null)),e}function j(a,b){let c=b;return(null==c||Number.isNaN(Number(c)))&&(c=String(a??"").trim().length),Number(c)<f}async function k(a,b=g){let c=await h(),d=c?.recognize||c?.default?.recognize;if("function"!=typeof d)return null;try{let{data:c}=await d(a,b);return{text:String(c?.text||""),confidence:Number(c?.confidence??0)}}catch{return null}}async function l(a,b){let c,d=await i(),e=await h();if(!d||!e)return{available:!1,pages:[]};try{c=await d(a)}catch{return{available:!1,pages:[]}}let[f,g]=Array.isArray(b)?b:[null,null],j=[];for(let a of c){if(null!=f&&a.page<f||null!=g&&a.page>g)continue;let b=await k(a.buffer);j.push({page:a.page,text:b?.text||"",confidence:b?.confidence??0})}return{available:!0,pages:j}}},57647:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{pz:()=>j,yi:()=>i}),c(73024),c(76760);var e=c(84104);c(83498);var f=c(42382),g=c(40266),h=a([e,f,g]);[e,f,g]=h.then?(await h)():h;let k=[["project-watcher","Project Watcher","project_watcher","claude-code",["gh_repo_read","gh_issue_list","gh_pr_list","web_fetch","file_read"],["investigate","retro"],"Watches repos, issues, PRs, deploys, and produces weekly project pulses."],["personal-assistant","Personal Assistant","personal_assistant","anthropic",["gmail_messages_list","gmail_message_read","calendar_events_list","whatsapp_send"],[],"Reads inbox and calendar context, drafts replies, and keeps the operator organized."],["engineering-lead","Engineering Lead","engineering_lead","claude-code",["gh_repo_read","gh_issue_list","gh_pr_list","terminal_run","file_read","file_write"],["investigate","review","ship","qa"],"Leads implementation, review, QA, and preview deploys with explicit approval gates."],["marketing-lead","Marketing Lead","marketing_lead","anthropic",["web_search","web_fetch","file_write","create_artifact"],["design-shotgun","impeccable"],"Creates market research, launch copy, positioning, and design briefs."],["meeting-notes","Meeting Notes Taker","meeting_notes","anthropic",["transcribe_audio","file_write","create_artifact"],[],"Turns recordings into transcripts, decisions, action items, and follow-ups."],["bug-triage","Bug Triage Specialist","bug_triage","claude-code",["gh_issue_list","gh_pr_list","file_read"],["investigate"],"Classifies incoming bugs and proposes severity and next actions."],["phase-runner","Phase Runner","phase_runner","claude-code",["file_read","file_write","terminal_run"],["ship"],"Executes approved implementation phases and reports blockers."],["code-reviewer","Code Reviewer","code_reviewer","claude-code",["file_read","gh_pr_list"],["review"],"Provides independent diff review before merge."],["competitor-scout","Competitor Scout","competitor_scout","anthropic",["web_search","web_fetch","create_artifact"],[],"Tracks competitor movement and summarizes weekly signals."],["finance-ops","Finance and Ops","finance_ops","anthropic",["file_read","create_artifact"],[],"Reads finance docs and drafts advisory runway and ops summaries."],["legal-compliance","Legal and Compliance","legal_compliance","anthropic",["file_read","web_fetch","create_artifact"],[],"Reviews policy and compliance documents as advisory output only."],["customer-support","Customer Support","customer_support","anthropic",["gmail_message_read","file_write"],[],"Drafts customer replies and escalates approval-required sends."],["chief-of-staff","Chief of Staff","chief_of_staff","anthropic",["web_search","file_read","file_write","create_artifact","create_workflow_definition"],["report-builder","market-research"],"Translates founder intent into delegated work across the company, runs the weekly cadence, and surfaces decisions. No direct external writes."],["ads-media-buyer","Ads / Media Buyer","ads_media_buyer","anthropic",["web_search","file_write","create_artifact"],["design-shotgun"],"Plans, builds, and reports on paid campaigns across Meta/Google/TikTok within budget caps. Every campaign publish and budget set is approval-gated."],["content-social","Content / Social Manager","content_social","anthropic",["web_search","file_write","create_artifact","voice_speak"],["design-shotgun"],"Produces and schedules organic posts, reels, and videos and maintains brand voice. Every publish is approval-gated."],["sales-bd","Sales / BD","sales_bd","anthropic",["web_search","web_fetch","gmail_messages_list","email_send","create_artifact"],["inbox-triage"],"Builds target lists, enriches leads, runs outreach, and logs CRM activity. Bulk sends and CRM writes are approval-gated."],["ops-manager","Operations","ops_manager","anthropic",["calendar_events_list","calendar_event_read","file_read","file_write","create_artifact"],["meeting-scheduler","report-builder"],"Keeps the business running — scheduling, internal docs, recurring checklists, vendor coordination. Calendar invites and webhooks are approval-gated."],["product-pm","Product / Project Manager","product_pm","claude-code",["gh_repo_read","gh_issue_list","gh_issue_create","gh_pr_list","file_read","file_write","create_workflow_definition"],["review"],"Maintains the roadmap, writes specs, tracks delivery, and runs standups. Issue/PR creates respect the GitHub allowlist."],["web-ecommerce","Web / Ecommerce","web_ecommerce","claude-code",["web_fetch","supabase_rest_select","browser_open","file_read","file_write","create_artifact"],["web-automation"],"Manages site/store content, products, SEO, and deploys. Deploys, store writes, and DB writes are approval-gated."]].map(([a,b,c,d,e,f,g])=>({slug:a,title:b,role:c,engine_default:d,tools_required:e,tools_optional:[],skills:f,memory_scopes:["agent","project"],approval_profile:"personal_assistant"===c?"strict":"standard",description_long:g}));k.push({slug:"tool-smith",title:"Tool Smith",role:"tool_smith",engine_default:"claude-code",tools_required:["create_skill","update_skill","create_composite_tool","update_composite_tool","create_connector","update_connector","propose_tool","web_search","web_fetch","file_read"],tools_optional:[],skills:["plan","review"],memory_scopes:["agent","project"],approval_profile:"standard",description_long:"Authors reusable capabilities for the marketplace — declarative skills, composite tools chaining existing primitives, and REST API connectors. For non-REST integrations it proposes reviewable code; it never executes self-authored code.",system_prompt:'You are Tool Smith, the capability-authoring agent. Your only job is to author\nreusable capabilities other agents can use, and publish them to the marketplace.\n\nPick the RIGHT authoring path for each request:\n • A recipe chaining tools that ALREADY exist -> author a COMPOSITE TOOL\n (create_composite_tool). Reference only existing primitive tools; the\n composite inherits the MAX risk of its steps and every gate re-fires per\n step. Use this for "do X then Y then summarize" style capabilities.\n • A new REST API (Notion, Linear, Stripe, Airtable, ...) -> author a CONNECTOR\n (create_connector) with a declarative manifest: https base_url, allowed_hosts,\n secret-by-reference auth (NEVER paste a raw key — reference it by name, e.g.\n NOTION_TOKEN), and per-endpoint method/path/risk. Each endpoint becomes a\n callable <slug>.<endpoint> tool the instant the owner supplies the key once.\n • A reusable instruction/prompt recipe an LLM follows with tools it already\n has -> author a SKILL (create_skill).\n • A genuinely new integration that is NOT REST (binary, SDK-only, websockets,\n complex OAuth) -> propose_tool. This stages reviewable code; it is INERT and\n a human must merge + restart. You never execute self-authored code.\n\nHard rules: never put a raw secret in a connector manifest. Never declare a\ndestructive endpoint as low risk — the validator clamps writes to medium and\nhigh/irreversible endpoints always require human approval at run time. When asked\nfor a capability that already exists, say so instead of duplicating it.'});let l=["project-watcher","personal-assistant","engineering-lead","marketing-lead","meeting-notes"];function i(a=(0,e.Lf)()){if(globalThis.__madarxAgentTemplatesSeeded)return;let b=(0,e.kF)();for(let c of k)a.prepare(`INSERT INTO marketplace_items (id, kind, slug, title, description, category, author, source_kind, version, manifest_json, risk_summary, tags, created_at)
1001
1001
  VALUES (?, 'agent', ?, ?, ?, ?, 'madarx', 'builtin', '1.0', ?, ?, ?, ?)
1002
1002
  ON CONFLICT(kind, slug) DO UPDATE SET title=excluded.title, description=excluded.description, manifest_json=excluded.manifest_json, tags=excluded.tags`).run(`agent:${c.slug}`,c.slug,c.title,c.description_long,c.role,JSON.stringify({agent:c}),c.approval_profile,JSON.stringify([c.role,c.engine_default]),b);if("1"!==process.env.MADARX_SEED_DEFAULT_AGENTS){globalThis.__madarxAgentTemplatesSeeded=!0;return}let c=l.map(()=>"?").join(","),d=a.prepare(`SELECT COUNT(*) AS c FROM agent_template_installations
1003
1003
  WHERE project_id = 'personal' AND template_slug IN (${c})`).get(...l);if(d?.c>=l.length){globalThis.__madarxAgentTemplatesSeeded=!0;return}for(let a of l)try{j(a,"personal",{seed:!0})}catch{}globalThis.__madarxAgentTemplatesSeeded=!0}function j(a,b="personal",c={}){let d=function(a){var b;let c=k.find(b=>b.slug===a);return c?c:(b=g.S.find(b=>b.slug===a))?{slug:b.slug,title:b.title,role:b.role,engine_default:b.engine_default,tools_required:Array.isArray(b.tools_required)?b.tools_required:[],tools_optional:Array.isArray(b.tools_optional)?b.tools_optional:[],skills:Array.isArray(b.skills)?b.skills:[],memory_scopes:["agent","project"],approval_profile:b.approval_profile||"standard",description_long:b.description_long,system_prompt:"string"==typeof b.system_prompt?b.system_prompt:null}:null}(a);if(!d)throw Error("agent template not found");let h=(0,e.Lf)(),i=h.prepare("SELECT * FROM agent_template_installations WHERE template_slug = ? AND project_id = ?").get(a,b);if(i&&!c.overwrite)return i;let l=c.agent_id||`${b}-${a}`.replace(/[^a-zA-Z0-9_-]/g,"-"),m=(0,f.Sn)({id:l,name:d.title,type:d.role,role:d.role,title:d.title,engine:d.engine_default,tools:d.tools_required,mission:d.description_long,system_prompt:d.system_prompt||void 0,approval:d.approval_profile,project_id:b,template_slug:a,suppress_live_event:!!c.seed});for(let a of d.tools_required)(0,f.Xr)(l,a,a.includes("write")||a.includes("send")||a.includes("terminal")?"approval_required":"auto");let n=(0,e.kF)();return h.prepare(`INSERT INTO agent_template_installations (id, template_slug, agent_id, project_id, installed_at, status)
@@ -1014,7 +1014,7 @@ Read more at https://nextjs.org/docs/messages/missing-root-layout-tags"
1014
1014
  WHERE project_id = ? AND embedding IS NOT NULL`;d&&(c+=" AND document_category = ?",b.push(d)),c+=" LIMIT ?",b.push(5e4);let e=i.prepare(c).all(...b);if(e.length>0){let a=[];for(let b of e){let c=(0,f.DD)(b.embedding);if(!c)continue;let d=(0,f.Lb)(l,c);a.push({id:b.id,source_document_id:b.source_document_id,page:b.page??null,text:b.text,language:b.language,document_category:b.document_category,similarity_score:d})}if(a.length>0)return a.sort((a,b)=>b.similarity_score-a.similarity_score),{mode:"embedding",chunks:a.slice(0,j)}}}return{mode:"text",chunks:function(a,b,c,d,e){let f=[...new Set(c.toLowerCase().split(/[^\p{L}\p{N}]+/u).map(a=>a.trim()).filter(a=>a.length>=3))].slice(0,10),g=[b],h=`
1015
1015
  SELECT id, source_document_id, page, text, language, document_category
1016
1016
  FROM mines_document_chunks
1017
- WHERE project_id = ?`;e&&(h+=" AND document_category = ?",g.push(e)),h+=" LIMIT ?",g.push(5e4);let i=a.prepare(h).all(...g).map(a=>{let b=String(a.text||"").toLowerCase(),c=0,d=0;for(let a of f){let e=b.indexOf(a);if(-1!==e)for(c++;-1!==e;)d++,e=b.indexOf(a,e+a.length)}let e=f.length?c/f.length:0,g=0===c?0:Math.min(1,e+Math.min(.2,d/100));return{id:a.id,source_document_id:a.source_document_id,page:a.page??null,text:a.text,language:a.language,document_category:a.document_category,similarity_score:g,_matchedTerms:c,_occurrences:d}}).filter(a=>a._matchedTerms>0);return i.sort((a,b)=>b._matchedTerms-a._matchedTerms||b._occurrences-a._occurrences||String(a.id).localeCompare(String(b.id))),i.slice(0,d).map(({_matchedTerms:a,_occurrences:b,...c})=>c)}(i,a,k,j,d)}}e=(g.then?(await g)():g)[0],d()}catch(a){d(a)}})},61666:(a,b,c)=>{"use strict";c.d(b,{A5:()=>j,Pf:()=>h,decryptFromDiskBuffer:()=>k});var d=c(77598),e=c(7346);let f=Buffer.from("madarx-artifact-dek-v1"),g="1"===process.env.MADARX_ARTIFACT_ENCRYPTION;function h(){return g}function i(a){if(!a)throw Error("deriveOrgDek requires orgId");let b=(0,d.createHash)("sha256").update(a).digest(),c=(0,e.K2)({allowGenerate:!0});return Buffer.from((0,d.hkdfSync)("sha256",c,b,f,32))}function j(a,b){let{ciphertext:c,iv:e,authTag:f}=function(a,b){let c=i(a),e=(0,d.randomBytes)(12),f=(0,d.createCipheriv)("aes-256-gcm",c,e),g=Buffer.isBuffer(b)?b:Buffer.from(b,"utf8");return{ciphertext:Buffer.concat([f.update(g),f.final()]),iv:e,authTag:f.getAuthTag()}}(a,b);return Buffer.concat([e,f,c])}function k(a,b){if(!Buffer.isBuffer(b)||b.length<28)throw Error("Invalid encrypted artifact: too short");let c=b.subarray(0,12),e=b.subarray(12,28),f=b.subarray(28),g=i(a),h=(0,d.createDecipheriv)("aes-256-gcm",g,c);return h.setAuthTag(e),Buffer.concat([h.update(f),h.final()])}},62178:(a,b,c)=>{"use strict";c.d(b,{T:()=>aa,I:()=>ab});var d=c(74467),e=c(8512);let f={tokenize:function(a,b,c){let d=0;return function b(f){return(87===f||119===f)&&d<3?(d++,a.consume(f),b):46===f&&3===d?(a.consume(f),e):c(f)};function e(a){return null===a?c(a):b(a)}},partial:!0},g={tokenize:function(a,b,c){let d,f,g;return h;function h(b){return 46===b||95===b?a.check(i,k,j)(b):null===b||(0,e.Ee)(b)||(0,e.Ny)(b)||45!==b&&(0,e.es)(b)?k(b):(g=!0,a.consume(b),h)}function j(b){return 95===b?d=!0:(f=d,d=void 0),a.consume(b),h}function k(a){return f||d||!g?c(a):b(a)}},partial:!0},h={tokenize:function(a,b){let c=0,d=0;return f;function f(h){return 40===h?(c++,a.consume(h),f):41===h&&d<c?g(h):33===h||34===h||38===h||39===h||41===h||42===h||44===h||46===h||58===h||59===h||60===h||63===h||93===h||95===h||126===h?a.check(i,b,g)(h):null===h||(0,e.Ee)(h)||(0,e.Ny)(h)?b(h):(a.consume(h),f)}function g(b){return 41===b&&d++,a.consume(b),f}},partial:!0},i={tokenize:function(a,b,c){return d;function d(h){return 33===h||34===h||39===h||41===h||42===h||44===h||46===h||58===h||59===h||63===h||95===h||126===h?(a.consume(h),d):38===h?(a.consume(h),g):93===h?(a.consume(h),f):60===h||null===h||(0,e.Ee)(h)||(0,e.Ny)(h)?b(h):c(h)}function f(a){return null===a||40===a||91===a||(0,e.Ee)(a)||(0,e.Ny)(a)?b(a):d(a)}function g(b){return(0,e.CW)(b)?function b(f){return 59===f?(a.consume(f),d):(0,e.CW)(f)?(a.consume(f),b):c(f)}(b):c(b)}},partial:!0},j={tokenize:function(a,b,c){return function(b){return a.consume(b),d};function d(a){return(0,e.lV)(a)?c(a):b(a)}},partial:!0},k={name:"wwwAutolink",tokenize:function(a,b,c){let d=this;return function(b){return 87!==b&&119!==b||!p.call(d,d.previous)||t(d.events)?c(b):(a.enter("literalAutolink"),a.enter("literalAutolinkWww"),a.check(f,a.attempt(g,a.attempt(h,e),c),c)(b))};function e(c){return a.exit("literalAutolinkWww"),a.exit("literalAutolink"),b(c)}},previous:p},l={name:"protocolAutolink",tokenize:function(a,b,c){let d=this,f="",i=!1;return function(b){return(72===b||104===b)&&q.call(d,d.previous)&&!t(d.events)?(a.enter("literalAutolink"),a.enter("literalAutolinkHttp"),f+=String.fromCodePoint(b),a.consume(b),j):c(b)};function j(b){if((0,e.CW)(b)&&f.length<5)return f+=String.fromCodePoint(b),a.consume(b),j;if(58===b){let c=f.toLowerCase();if("http"===c||"https"===c)return a.consume(b),k}return c(b)}function k(b){return 47===b?(a.consume(b),i)?l:(i=!0,k):c(b)}function l(b){return null===b||(0,e.JQ)(b)||(0,e.Ee)(b)||(0,e.Ny)(b)||(0,e.es)(b)?c(b):a.attempt(g,a.attempt(h,m),c)(b)}function m(c){return a.exit("literalAutolinkHttp"),a.exit("literalAutolink"),b(c)}},previous:q},m={name:"emailAutolink",tokenize:function(a,b,c){let d,f,g=this;return function(b){return!s(b)||!r.call(g,g.previous)||t(g.events)?c(b):(a.enter("literalAutolink"),a.enter("literalAutolinkEmail"),function b(d){return s(d)?(a.consume(d),b):64===d?(a.consume(d),h):c(d)}(b))};function h(b){return 46===b?a.check(j,k,i)(b):45===b||95===b||(0,e.lV)(b)?(f=!0,a.consume(b),h):k(b)}function i(b){return a.consume(b),d=!0,h}function k(h){return f&&d&&(0,e.CW)(g.previous)?(a.exit("literalAutolinkEmail"),a.exit("literalAutolink"),b(h)):c(h)}},previous:r},n={},o=48;for(;o<123;)n[o]=m,58==++o?o=65:91===o&&(o=97);function p(a){return null===a||40===a||42===a||95===a||91===a||93===a||126===a||(0,e.Ee)(a)}function q(a){return!(0,e.CW)(a)}function r(a){return!(47===a||s(a))}function s(a){return 43===a||45===a||46===a||95===a||(0,e.lV)(a)}function t(a){let b=a.length,c=!1;for(;b--;){let d=a[b][1];if(("labelLink"===d.type||"labelImage"===d.type)&&!d._balanced){c=!0;break}if(d._gfmAutolinkLiteralWalkedInto){c=!1;break}}return a.length>0&&!c&&(a[a.length-1][1]._gfmAutolinkLiteralWalkedInto=!0),c}n[43]=m,n[45]=m,n[46]=m,n[95]=m,n[72]=[m,l],n[104]=[m,l],n[87]=[m,k],n[119]=[m,k];var u=c(13633);function v(a){y.call(this,a,"http://")}function w(a){y.call(this,a,"mailto:")}function x(a){y.call(this,a)}function y(a,b){let c=this.sliceSerialize(a);this.tag('<a href="'+(0,u.Q)((b||"")+c)+'">'),this.raw(this.encode(c)),this.tag("</a>")}var z=c(15675),A=c(40623),B=c(56534);let C={tokenize:function(a,b,c){let d=this;return(0,A.N)(a,function(a){let e=d.events[d.events.length-1];return e&&"gfmFootnoteDefinitionIndent"===e[1].type&&4===e[2].sliceSerialize(e[1],!0).length?b(a):c(a)},"gfmFootnoteDefinitionIndent",5)},partial:!0};function D(a,b,c){let d,e=this,f=e.events.length,g=e.parser.gfmFootnotes||(e.parser.gfmFootnotes=[]);for(;f--;){let a=e.events[f][1];if("labelImage"===a.type){d=a;break}if("gfmFootnoteCall"===a.type||"labelLink"===a.type||"label"===a.type||"image"===a.type||"link"===a.type)break}return function(f){if(!d||!d._balanced)return c(f);let h=(0,B.B)(e.sliceSerialize({start:d.end,end:e.now()}));return 94===h.codePointAt(0)&&g.includes(h.slice(1))?(a.enter("gfmFootnoteCallLabelMarker"),a.consume(f),a.exit("gfmFootnoteCallLabelMarker"),b(f)):c(f)}}function E(a,b){let c=a.length;for(;c--;)if("labelImage"===a[c][1].type&&"enter"===a[c][0]){a[c][1];break}a[c+1][1].type="data",a[c+3][1].type="gfmFootnoteCallLabelMarker";let d={type:"gfmFootnoteCall",start:Object.assign({},a[c+3][1].start),end:Object.assign({},a[a.length-1][1].end)},e={type:"gfmFootnoteCallMarker",start:Object.assign({},a[c+3][1].end),end:Object.assign({},a[c+3][1].end)};e.end.column++,e.end.offset++,e.end._bufferIndex++;let f={type:"gfmFootnoteCallString",start:Object.assign({},e.end),end:Object.assign({},a[a.length-1][1].start)},g={type:"chunkString",contentType:"string",start:Object.assign({},f.start),end:Object.assign({},f.end)},h=[a[c+1],a[c+2],["enter",d,b],a[c+3],a[c+4],["enter",e,b],["exit",e,b],["enter",f,b],["enter",g,b],["exit",g,b],["exit",f,b],a[a.length-2],a[a.length-1],["exit",d,b]];return a.splice(c,a.length-c+1,...h),a}function F(a,b,c){let d,f=this,g=f.parser.gfmFootnotes||(f.parser.gfmFootnotes=[]),h=0;return function(b){return a.enter("gfmFootnoteCall"),a.enter("gfmFootnoteCallLabelMarker"),a.consume(b),a.exit("gfmFootnoteCallLabelMarker"),i};function i(b){return 94!==b?c(b):(a.enter("gfmFootnoteCallMarker"),a.consume(b),a.exit("gfmFootnoteCallMarker"),a.enter("gfmFootnoteCallString"),a.enter("chunkString").contentType="string",j)}function j(i){if(h>999||93===i&&!d||null===i||91===i||(0,e.Ee)(i))return c(i);if(93===i){a.exit("chunkString");let d=a.exit("gfmFootnoteCallString");return g.includes((0,B.B)(f.sliceSerialize(d)))?(a.enter("gfmFootnoteCallLabelMarker"),a.consume(i),a.exit("gfmFootnoteCallLabelMarker"),a.exit("gfmFootnoteCall"),b):c(i)}return(0,e.Ee)(i)||(d=!0),h++,a.consume(i),92===i?k:j}function k(b){return 91===b||92===b||93===b?(a.consume(b),h++,j):j(b)}}function G(a,b,c){let d,f,g=this,h=g.parser.gfmFootnotes||(g.parser.gfmFootnotes=[]),i=0;return function(b){return a.enter("gfmFootnoteDefinition")._container=!0,a.enter("gfmFootnoteDefinitionLabel"),a.enter("gfmFootnoteDefinitionLabelMarker"),a.consume(b),a.exit("gfmFootnoteDefinitionLabelMarker"),j};function j(b){return 94===b?(a.enter("gfmFootnoteDefinitionMarker"),a.consume(b),a.exit("gfmFootnoteDefinitionMarker"),a.enter("gfmFootnoteDefinitionLabelString"),a.enter("chunkString").contentType="string",k):c(b)}function k(b){if(i>999||93===b&&!f||null===b||91===b||(0,e.Ee)(b))return c(b);if(93===b){a.exit("chunkString");let c=a.exit("gfmFootnoteDefinitionLabelString");return d=(0,B.B)(g.sliceSerialize(c)),a.enter("gfmFootnoteDefinitionLabelMarker"),a.consume(b),a.exit("gfmFootnoteDefinitionLabelMarker"),a.exit("gfmFootnoteDefinitionLabel"),m}return(0,e.Ee)(b)||(f=!0),i++,a.consume(b),92===b?l:k}function l(b){return 91===b||92===b||93===b?(a.consume(b),i++,k):k(b)}function m(b){return 58===b?(a.enter("definitionMarker"),a.consume(b),a.exit("definitionMarker"),h.includes(d)||h.push(d),(0,A.N)(a,n,"gfmFootnoteDefinitionWhitespace")):c(b)}function n(a){return b(a)}}function H(a,b,c){return a.check(z.B,b,a.attempt(C,b,c))}function I(a){a.exit("gfmFootnoteDefinition")}let J={}.hasOwnProperty,K={};function L(a,b){return"Back to reference "+(a+1)+(b>1?"-"+b:"")}var M=c(87301),N=c(81929),O=c(48467);class P{constructor(){this.map=[]}add(a,b,c){!function(a,b,c,d){let e=0;if(0!==c||0!==d.length){for(;e<a.map.length;){if(a.map[e][0]===b){a.map[e][1]+=c,a.map[e][2].push(...d);return}e+=1}a.map.push([b,c,d])}}(this,a,b,c)}consume(a){if(this.map.sort(function(a,b){return a[0]-b[0]}),0===this.map.length)return;let b=this.map.length,c=[];for(;b>0;)b-=1,c.push(a.slice(this.map[b][0]+this.map[b][1]),this.map[b][2]),a.length=this.map[b][0];c.push(a.slice()),a.length=0;let d=c.pop();for(;d;){for(let b of d)a.push(b);d=c.pop()}this.map.length=0}}function Q(a,b,c){let d,f=this,g=0,h=0;return function(a){let b=f.events.length-1;for(;b>-1;){let a=f.events[b][1].type;if("lineEnding"===a||"linePrefix"===a)b--;else break}let d=b>-1?f.events[b][1].type:null,e="tableHead"===d||"tableRow"===d?t:i;return e===t&&f.parser.lazy[f.now().line]?c(a):e(a)};function i(b){var c;return a.enter("tableHead"),a.enter("tableRow"),124===(c=b)||(d=!0,h+=1),j(c)}function j(b){return null===b?c(b):(0,e.HP)(b)?h>1?(h=0,f.interrupt=!0,a.exit("tableRow"),a.enter("lineEnding"),a.consume(b),a.exit("lineEnding"),m):c(b):(0,e.On)(b)?(0,A.N)(a,j,"whitespace")(b):(h+=1,d&&(d=!1,g+=1),124===b)?(a.enter("tableCellDivider"),a.consume(b),a.exit("tableCellDivider"),d=!0,j):(a.enter("data"),k(b))}function k(b){return null===b||124===b||(0,e.Ee)(b)?(a.exit("data"),j(b)):(a.consume(b),92===b?l:k)}function l(b){return 92===b||124===b?(a.consume(b),k):k(b)}function m(b){return(f.interrupt=!1,f.parser.lazy[f.now().line])?c(b):(a.enter("tableDelimiterRow"),d=!1,(0,e.On)(b))?(0,A.N)(a,n,"linePrefix",f.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(b):n(b)}function n(b){return 45===b||58===b?p(b):124===b?(d=!0,a.enter("tableCellDivider"),a.consume(b),a.exit("tableCellDivider"),o):c(b)}function o(b){return(0,e.On)(b)?(0,A.N)(a,p,"whitespace")(b):p(b)}function p(b){return 58===b?(h+=1,d=!0,a.enter("tableDelimiterMarker"),a.consume(b),a.exit("tableDelimiterMarker"),q):45===b?(h+=1,q(b)):null===b||(0,e.HP)(b)?s(b):c(b)}function q(b){return 45===b?(a.enter("tableDelimiterFiller"),function b(c){return 45===c?(a.consume(c),b):58===c?(d=!0,a.exit("tableDelimiterFiller"),a.enter("tableDelimiterMarker"),a.consume(c),a.exit("tableDelimiterMarker"),r):(a.exit("tableDelimiterFiller"),r(c))}(b)):c(b)}function r(b){return(0,e.On)(b)?(0,A.N)(a,s,"whitespace")(b):s(b)}function s(f){if(124===f)return n(f);if(null===f||(0,e.HP)(f))return d&&g===h?(a.exit("tableDelimiterRow"),a.exit("tableHead"),b(f)):c(f);return c(f)}function t(b){return a.enter("tableRow"),u(b)}function u(c){return 124===c?(a.enter("tableCellDivider"),a.consume(c),a.exit("tableCellDivider"),u):null===c||(0,e.HP)(c)?(a.exit("tableRow"),b(c)):(0,e.On)(c)?(0,A.N)(a,u,"whitespace")(c):(a.enter("data"),v(c))}function v(b){return null===b||124===b||(0,e.Ee)(b)?(a.exit("data"),u(b)):(a.consume(b),92===b?w:v)}function w(b){return 92===b||124===b?(a.consume(b),v):v(b)}}function R(a,b){let c,d,e,f=-1,g=!0,h=0,i=[0,0,0,0],j=[0,0,0,0],k=!1,l=0,m=new P;for(;++f<a.length;){let n=a[f],o=n[1];"enter"===n[0]?"tableHead"===o.type?(k=!1,0!==l&&(T(m,b,l,c,d),d=void 0,l=0),c={type:"table",start:Object.assign({},o.start),end:Object.assign({},o.end)},m.add(f,0,[["enter",c,b]])):"tableRow"===o.type||"tableDelimiterRow"===o.type?(g=!0,e=void 0,i=[0,0,0,0],j=[0,f+1,0,0],k&&(k=!1,d={type:"tableBody",start:Object.assign({},o.start),end:Object.assign({},o.end)},m.add(f,0,[["enter",d,b]])),h="tableDelimiterRow"===o.type?2:d?3:1):h&&("data"===o.type||"tableDelimiterMarker"===o.type||"tableDelimiterFiller"===o.type)?(g=!1,0===j[2]&&(0!==i[1]&&(j[0]=j[1],e=S(m,b,i,h,void 0,e),i=[0,0,0,0]),j[2]=f)):"tableCellDivider"===o.type&&(g?g=!1:(0!==i[1]&&(j[0]=j[1],e=S(m,b,i,h,void 0,e)),j=[(i=j)[1],f,0,0])):"tableHead"===o.type?(k=!0,l=f):"tableRow"===o.type||"tableDelimiterRow"===o.type?(l=f,0!==i[1]?(j[0]=j[1],e=S(m,b,i,h,f,e)):0!==j[1]&&(e=S(m,b,j,h,f,e)),h=0):h&&("data"===o.type||"tableDelimiterMarker"===o.type||"tableDelimiterFiller"===o.type)&&(j[3]=f)}for(0!==l&&T(m,b,l,c,d),m.consume(b.events),f=-1;++f<b.events.length;){let a=b.events[f];"enter"===a[0]&&"table"===a[1].type&&(a[1]._align=function(a,b){let c=!1,d=[];for(;b<a.length;){let e=a[b];if(c){if("enter"===e[0])"tableContent"===e[1].type&&d.push("tableDelimiterMarker"===a[b+1][1].type?"left":"none");else if("tableContent"===e[1].type){if("tableDelimiterMarker"===a[b-1][1].type){let a=d.length-1;d[a]="left"===d[a]?"center":"right"}}else if("tableDelimiterRow"===e[1].type)break}else"enter"===e[0]&&"tableDelimiterRow"===e[1].type&&(c=!0);b+=1}return d}(b.events,f))}return a}function S(a,b,c,d,e,f){0!==c[0]&&(f.end=Object.assign({},U(b.events,c[0])),a.add(c[0],0,[["exit",f,b]]));let g=U(b.events,c[1]);if(f={type:1===d?"tableHeader":2===d?"tableDelimiter":"tableData",start:Object.assign({},g),end:Object.assign({},g)},a.add(c[1],0,[["enter",f,b]]),0!==c[2]){let e=U(b.events,c[2]),f=U(b.events,c[3]),g={type:"tableContent",start:Object.assign({},e),end:Object.assign({},f)};if(a.add(c[2],0,[["enter",g,b]]),2!==d){let d=b.events[c[2]],e=b.events[c[3]];if(d[1].end=Object.assign({},e[1].end),d[1].type="chunkText",d[1].contentType="text",c[3]>c[2]+1){let b=c[2]+1,d=c[3]-c[2]-1;a.add(b,d,[])}}a.add(c[3]+1,0,[["exit",g,b]])}return void 0!==e&&(f.end=Object.assign({},U(b.events,e)),a.add(e,0,[["exit",f,b]]),f=void 0),f}function T(a,b,c,d,e){let f=[],g=U(b.events,c);e&&(e.end=Object.assign({},g),f.push(["exit",e,b])),d.end=Object.assign({},g),f.push(["exit",d,b]),a.add(c+1,0,f)}function U(a,b){let c=a[b],d="enter"===c[0]?"start":"end";return c[1][d]}let V={none:"",left:' align="left"',right:' align="right"',center:' align="center"'};function W(a,b){return"|"===b?b:a}let X=/<(\/?)(iframe|noembed|noframes|plaintext|script|style|title|textarea|xmp)(?=[\t\n\f\r />])/gi,Y=RegExp("^"+X.source,"i");function Z(a,b){let c=this.sliceSerialize(a);this.options.allowDangerousHtml&&(c=c.replace(b,"&lt;$1$2")),this.raw(this.encode(c))}let $={name:"tasklistCheck",tokenize:function(a,b,c){let d=this;return function(b){return null===d.previous&&d._gfmTasklistFirstContentOfListItem?(a.enter("taskListCheck"),a.enter("taskListCheckMarker"),a.consume(b),a.exit("taskListCheckMarker"),f):c(b)};function f(b){return(0,e.Ee)(b)?(a.enter("taskListCheckValueUnchecked"),a.consume(b),a.exit("taskListCheckValueUnchecked"),g):88===b||120===b?(a.enter("taskListCheckValueChecked"),a.consume(b),a.exit("taskListCheckValueChecked"),g):c(b)}function g(b){return 93===b?(a.enter("taskListCheckMarker"),a.consume(b),a.exit("taskListCheckMarker"),a.exit("taskListCheck"),h):c(b)}function h(d){return(0,e.HP)(d)?b(d):(0,e.On)(d)?a.check({tokenize:_},b,c)(d):c(d)}}};function _(a,b,c){return(0,A.N)(a,function(a){return null===a?c(a):b(a)},"whitespace")}function aa(a){return(0,d.y)([{text:n},{document:{91:{name:"gfmFootnoteDefinition",tokenize:G,continuation:{tokenize:H},exit:I}},text:{91:{name:"gfmFootnoteCall",tokenize:F},93:{name:"gfmPotentialFootnoteCall",add:"after",tokenize:D,resolveTo:E}}},function(a){let b=(a||{}).singleTilde,c={name:"strikethrough",tokenize:function(a,c,d){let e=this.previous,f=this.events,g=0;return function(h){return 126===e&&"characterEscape"!==f[f.length-1][1].type?d(h):(a.enter("strikethroughSequenceTemporary"),function f(h){let i=(0,N.S)(e);if(126===h)return g>1?d(h):(a.consume(h),g++,f);if(g<2&&!b)return d(h);let j=a.exit("strikethroughSequenceTemporary"),k=(0,N.S)(h);return j._open=!k||2===k&&!!i,j._close=!i||2===i&&!!k,c(h)}(h))}},resolveAll:function(a,b){let c=-1;for(;++c<a.length;)if("enter"===a[c][0]&&"strikethroughSequenceTemporary"===a[c][1].type&&a[c][1]._close){let d=c;for(;d--;)if("exit"===a[d][0]&&"strikethroughSequenceTemporary"===a[d][1].type&&a[d][1]._open&&a[c][1].end.offset-a[c][1].start.offset==a[d][1].end.offset-a[d][1].start.offset){a[c][1].type="strikethroughSequence",a[d][1].type="strikethroughSequence";let e={type:"strikethrough",start:Object.assign({},a[d][1].start),end:Object.assign({},a[c][1].end)},f={type:"strikethroughText",start:Object.assign({},a[d][1].end),end:Object.assign({},a[c][1].start)},g=[["enter",e,b],["enter",a[d][1],b],["exit",a[d][1],b],["enter",f,b]],h=b.parser.constructs.insideSpan.null;h&&(0,M.m)(g,g.length,0,(0,O.W)(h,a.slice(d+1,c),b)),(0,M.m)(g,g.length,0,[["exit",f,b],["enter",a[c][1],b],["exit",a[c][1],b],["exit",e,b]]),(0,M.m)(a,d-1,c-d+3,g),c=d+g.length-2;break}}for(c=-1;++c<a.length;)"strikethroughSequenceTemporary"===a[c][1].type&&(a[c][1].type="data");return a}};return null==b&&(b=!0),{text:{126:c},insideSpan:{null:[c]},attentionMarkers:{null:[126]}}}(a),{flow:{null:{name:"table",tokenize:Q,resolveAll:R}}},{text:{91:$}}])}function ab(a){return(0,d.v)([{exit:{literalAutolinkEmail:w,literalAutolinkHttp:x,literalAutolinkWww:v}},function(a){let b=a||K,c=b.label||"Footnotes",d=b.labelTagName||"h2",e=null===b.labelAttributes||void 0===b.labelAttributes?'class="sr-only"':b.labelAttributes,f=b.backLabel||L,g=null===b.clobberPrefix||void 0===b.clobberPrefix?"user-content-":b.clobberPrefix;return{enter:{gfmFootnoteDefinition(){this.getData("tightStack").push(!1)},gfmFootnoteDefinitionLabelString(){this.buffer()},gfmFootnoteCallString(){this.buffer()}},exit:{gfmFootnoteDefinition(){let a=this.getData("gfmFootnoteDefinitions"),b=this.getData("gfmFootnoteDefinitionStack"),c=this.getData("tightStack"),d=b.pop(),e=this.resume();a||this.setData("gfmFootnoteDefinitions",a={}),J.call(a,d)||(a[d]=e),c.pop(),this.setData("slurpOneLineEnding",!0),this.setData("lastWasTag")},gfmFootnoteDefinitionLabelString(a){let b=this.getData("gfmFootnoteDefinitionStack");b||this.setData("gfmFootnoteDefinitionStack",b=[]),b.push((0,B.B)(this.sliceSerialize(a))),this.resume(),this.buffer()},gfmFootnoteCallString(a){let b,c=this.getData("gfmFootnoteCallOrder"),d=this.getData("gfmFootnoteCallCounts"),e=(0,B.B)(this.sliceSerialize(a));this.resume(),c||this.setData("gfmFootnoteCallOrder",c=[]),d||this.setData("gfmFootnoteCallCounts",d={});let f=c.indexOf(e),h=(0,u.Q)(e.toLowerCase());-1===f?(c.push(e),d[e]=1,b=c.length):(d[e]++,b=f+1);let i=d[e];this.tag('<sup><a href="#'+g+"fn-"+h+'" id="'+g+"fnref-"+h+(i>1?"-"+i:"")+'" data-footnote-ref="" aria-describedby="footnote-label">'+String(b)+"</a></sup>")},null(){let a=this.getData("gfmFootnoteCallOrder")||[],b=this.getData("gfmFootnoteCallCounts")||{},h=this.getData("gfmFootnoteDefinitions")||{},i=-1;for(a.length>0&&(this.lineEndingIfNeeded(),this.tag('<section data-footnotes="" class="footnotes"><'+d+' id="footnote-label"'+(e?" "+e:"")+">"),this.raw(this.encode(c)),this.tag("</"+d+">"),this.lineEndingIfNeeded(),this.tag("<ol>"));++i<a.length;){let c=a[i],d=(0,u.Q)(c.toLowerCase()),e=0,j=[];for(;++e<=b[c];)j.push('<a href="#'+g+"fnref-"+d+(e>1?"-"+e:"")+'" data-footnote-backref="" aria-label="'+this.encode("string"==typeof f?f:f(i,e))+'" class="data-footnote-backref">↩'+(e>1?"<sup>"+e+"</sup>":"")+"</a>");let k=j.join(" "),l=!1;this.lineEndingIfNeeded(),this.tag('<li id="'+g+"fn-"+d+'">'),this.lineEndingIfNeeded(),this.tag(h[c].replace(/<\/p>(?:\r?\n|\r)?$/,function(a){return l=!0," "+k+a})),l||(this.lineEndingIfNeeded(),this.tag(k)),this.lineEndingIfNeeded(),this.tag("</li>")}a.length>0&&(this.lineEndingIfNeeded(),this.tag("</ol>"),this.lineEndingIfNeeded(),this.tag("</section>"))}}}}(a),{enter:{strikethrough(){this.tag("<del>")}},exit:{strikethrough(){this.tag("</del>")}}},{enter:{table(a){let b=a._align;this.lineEndingIfNeeded(),this.tag("<table>"),this.setData("tableAlign",b)},tableBody(){this.tag("<tbody>")},tableData(){let a=V[this.getData("tableAlign")[this.getData("tableColumn")]];void 0===a?this.buffer():(this.lineEndingIfNeeded(),this.tag("<td"+a+">"))},tableHead(){this.lineEndingIfNeeded(),this.tag("<thead>")},tableHeader(){let a=V[this.getData("tableAlign")[this.getData("tableColumn")]];this.lineEndingIfNeeded(),this.tag("<th"+a+">")},tableRow(){this.setData("tableColumn",0),this.lineEndingIfNeeded(),this.tag("<tr>")}},exit:{codeTextData(a){let b=this.sliceSerialize(a);this.getData("tableAlign")&&(b=b.replace(/\\([\\|])/g,W)),this.raw(this.encode(b))},table(){this.setData("tableAlign"),this.setData("slurpAllLineEndings"),this.lineEndingIfNeeded(),this.tag("</table>")},tableBody(){this.lineEndingIfNeeded(),this.tag("</tbody>")},tableData(){let a=this.getData("tableAlign"),b=this.getData("tableColumn");b in a?(this.tag("</td>"),this.setData("tableColumn",b+1)):this.resume()},tableHead(){this.lineEndingIfNeeded(),this.tag("</thead>")},tableHeader(){let a=this.getData("tableColumn");this.tag("</th>"),this.setData("tableColumn",a+1)},tableRow(){let a=this.getData("tableAlign"),b=this.getData("tableColumn");for(;b<a.length;)this.lineEndingIfNeeded(),this.tag("<td"+V[a[b]]+"></td>"),b++;this.setData("tableColumn",b),this.lineEndingIfNeeded(),this.tag("</tr>")}}},{exit:{htmlFlowData(a){Z.call(this,a,X)},htmlTextData(a){Z.call(this,a,Y)}}},{enter:{taskListCheck(){this.tag('<input type="checkbox" disabled="" ')}},exit:{taskListCheck(){this.tag("/>")},taskListCheckValueChecked(){this.tag('checked="" ')}}}])}},62284:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"RedirectStatusCode",{enumerable:!0,get:function(){return c}});var c=function(a){return a[a.SeeOther=303]="SeeOther",a[a.TemporaryRedirect=307]="TemporaryRedirect",a[a.PermanentRedirect=308]="PermanentRedirect",a}({});("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},62670:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{H6:()=>j});var e=c(73024),f=c(73136),g=c(76760),h=c(75994),i=a([h]);h=(i.then?(await i)():i)[0];let k=(0,g.dirname)((0,f.fileURLToPath)("file:///home/runner/work/madarx-os/madarx-os/lib/process/seeds/hail-engagement-lifecycle.js")),l=null;function j(){let a=(l||(l=function(){let a=(0,g.join)(k,"specs","hail-engagement-lifecycle.json");return JSON.parse((0,e.readFileSync)(a,"utf8"))}()),l);return(0,h.R1)(a,{source_spec_json:JSON.stringify(a)})}d()}catch(a){d(a)}})},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},64319:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{r:()=>h,s:()=>i});var e=c(81909),f=c(16343),g=a([e,f]);async function h(a={},b="google_oauth"){if(a.access_token)return a.access_token;let c=(0,e.r6)("GOOGLE_ACCESS_TOKEN",a);if(c&&!a.force_refresh)return c;let d=(0,e.r6)("GOOGLE_REFRESH_TOKEN",a),g=(0,e.r6)("GOOGLE_OAUTH_CLIENT_ID",a)||process.env.GOOGLE_CLIENT_ID,i=(0,e.r6)("GOOGLE_OAUTH_CLIENT_SECRET",a)||process.env.GOOGLE_CLIENT_SECRET;if(!d)throw Error("GOOGLE_REFRESH_TOKEN missing");if(!g||!i)throw Error("GOOGLE_OAUTH_CLIENT_ID/GOOGLE_OAUTH_CLIENT_SECRET missing");let j=new URLSearchParams({client_id:g,client_secret:i,refresh_token:d,grant_type:"refresh_token"}),k=(0,f.N)(b,a.agent_id??null,a.fetch||fetch),l=await k("https://oauth2.googleapis.com/token",{method:"POST",headers:{"content-type":"application/x-www-form-urlencoded"},body:j});if(!l.ok)throw Error(`google token refresh failed: ${l.status}`);let m=await l.json();if(!m.access_token)throw Error("google token refresh returned no access_token");return(0,e.Pq)("GOOGLE_ACCESS_TOKEN",m.access_token,{...a,source:"oauth_access",metadata:{expires_in:m.expires_in||null,refreshed_at:new Date().toISOString()}}),m.access_token}function i(a,b={}){return(0,f.N)(a,b.agent_id??null,b.fetch||fetch)}[e,f]=g.then?(await g)():g,d()}catch(a){d(a)}})},64509:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{default:()=>s,dynamic:()=>t});var e=c(75338),f=c(76760),g=c(48161),h=c(65169),i=c(86893),j=c(61423),k=c(93154),l=c(73912),m=c(9381),n=c(78516),o=c(79148),p=c(72987),q=a([j,k,l]);[j,k,l]=q.then?(await q)():q;let t="force-dynamic";function r(a){if(!a)return"";let b=g.homedir();return b&&a.startsWith(b)?a.replace(b,"~"):a}function s(){let a=(0,j.hF)({status:"all"}),b=a.filter(a=>"active"===a.status),c=a.filter(a=>"active"!==a.status),d=(0,k.cK)(),g=(0,l.xP)(),q=a.map(a=>({...a,agentCount:d[a.id]||0,fileCount:g[a.id]||0})),s=r(f.join(m.un,"projects")),t=(0,e.jsx)(n.default,{workspaceRoot:s});return(0,e.jsx)(i.iN,{kicker:"Projects",title:"Projects",description:"Group agents, Disk, memory, secrets, approvals, and missions into project scopes.",actions:t,hideProjectSwitcher:!0,children:(0,e.jsxs)("div",{className:"mkt-page","data-page":"projects",children:[(0,e.jsxs)("section",{className:"mkt-stats",children:[(0,e.jsxs)("div",{className:"mkt-stat",children:[(0,e.jsx)("b",{children:a.length}),(0,e.jsx)("span",{children:"Total"})]}),(0,e.jsxs)("div",{className:"mkt-stat",children:[(0,e.jsx)("b",{children:b.length}),(0,e.jsx)("span",{children:"Active"})]}),(0,e.jsxs)("div",{className:"mkt-stat",children:[(0,e.jsx)("b",{children:c.length}),(0,e.jsx)("span",{children:"Archived"})]}),(0,e.jsxs)("div",{className:"mkt-stat",children:[(0,e.jsx)("b",{children:q.reduce((a,b)=>a+b.agentCount,0)}),(0,e.jsx)("span",{children:"Agents"})]})]}),(0,e.jsx)("section",{className:"mkt-section","aria-live":"polite",children:q.length?(0,e.jsx)("ul",{className:"mkt-grid project-grid",children:q.map(a=>(0,e.jsxs)("li",{className:`mkt-card project-card ${"active"===a.status?"on":""}`,children:[(0,e.jsxs)("div",{className:"mkt-card-head",children:[(0,e.jsx)("span",{className:"mkt-chip-tile project-tile",style:{backgroundColor:a.color||"#111318",borderColor:"rgba(17,19,24,.08)"},"aria-hidden":"true",children:(0,e.jsx)("span",{className:"project-tile-glyph",children:(a.name||a.slug).slice(0,1).toUpperCase()})}),(0,e.jsx)(h,{href:`/projects/${a.slug}`,className:"project-card-slug",children:a.slug})]}),(0,e.jsxs)("div",{className:"mkt-card-body",children:[(0,e.jsx)("h3",{className:"mkt-card-title",children:a.name}),a.description?(0,e.jsx)("p",{className:"mkt-card-desc",children:a.description}):null]}),(0,e.jsxs)("div",{className:"mkt-card-meta",children:[(0,e.jsxs)("span",{children:["Agents ",(0,e.jsx)("b",{children:a.agentCount})]}),(0,e.jsxs)("span",{children:["Disk files ",(0,e.jsx)("b",{children:a.fileCount})]}),(0,e.jsxs)("span",{children:["Status ",(0,e.jsx)("b",{children:a.status})]}),a.folder_path?(0,e.jsxs)("span",{className:"project-folder-meta",title:a.folder_path,children:["Folder ",(0,e.jsx)("code",{children:r(a.folder_path)})]}):null]}),(0,e.jsxs)("div",{className:"mkt-card-foot",children:[(0,e.jsx)("span",{className:`mkt-availability ${"active"===a.status?"installed":""}`,children:"active"===a.status?"Active":"Archived"}),(0,e.jsxs)("div",{className:"project-card-actions",children:[(0,e.jsx)(h,{href:`/projects/${a.slug}`,className:"admin-button secondary project-open","aria-label":`Open ${a.name}`,children:"Open"}),(0,e.jsx)(p.default,{projectId:a.id,projectName:a.name,projectColor:a.color,projectDescription:a.description,projectFolderPath:a.folder_path}),(0,e.jsx)(o.default,{projectId:a.id,projectName:a.name,projectSlug:a.slug,isProtected:a.id===j.Sk})]})]})]},a.id))}):(0,e.jsx)(i.pp,{title:"No projects yet",children:"Create your first project to scope agents, files, and secrets."})})]})})}d()}catch(a){d(a)}})},65169:(a,b,c)=>{let{createProxy:d}=c(39893);a.exports=d("/home/runner/work/madarx-os/madarx-os/node_modules/next/dist/client/app-dir/link.js")},65303:(a,b)=>{"use strict";function c(a){return a.replace(/\/$/,"")||"/"}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"removeTrailingSlash",{enumerable:!0,get:function(){return c}})},65527:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{Kg:()=>k,kA:()=>l,v2:()=>j});var e=c(73024),f=c(76760),g=c(83498),h=c(79336),i=a([h]);h=(i.then?(await i)():i)[0];let m="artifacts";function j(a){var b;let c=null;return(c=a&&"object"==typeof a?a:(0,h.U1)(a||h.Sk)||null)?f.join((b=c,b?.folder_path?b.folder_path:b?.slug?(0,h.ct)(b.slug):(0,h.ct)(h.Sk)),m):f.join((0,h.ct)(h.Sk),m)}function k(a){let b=j(a);return e.mkdirSync(b,{recursive:!0}),b}function l(a){if(!a)return!1;let b=f.resolve(a);return[f.resolve(g.yQ),...function(){try{return(0,h.hF)({status:"all"}).map(a=>f.resolve(j(a)))}catch{return[]}}()].some(a=>b===a||b.startsWith(`${a}${f.sep}`))}d()}catch(a){d(a)}})},66324:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{zj:()=>g});var e=c(84104),f=a([e]);function g(a,b=null){if(!a)return b;let c=(0,e.Lf)().prepare("SELECT value FROM config WHERE key = ?").get(String(a));return c?c.value:b}e=(f.then?(await f)():f)[0],d()}catch(a){d(a)}})},66568:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{fromNodeOutgoingHttpHeaders:function(){return e},normalizeNextQueryParam:function(){return i},splitCookiesString:function(){return f},toNodeOutgoingHttpHeaders:function(){return g},validateURL:function(){return h}});let d=c(73443);function e(a){let b=new Headers;for(let[c,d]of Object.entries(a))for(let a of Array.isArray(d)?d:[d])void 0!==a&&("number"==typeof a&&(a=a.toString()),b.append(c,a));return b}function f(a){var b,c,d,e,f,g=[],h=0;function i(){for(;h<a.length&&/\s/.test(a.charAt(h));)h+=1;return h<a.length}for(;h<a.length;){for(b=h,f=!1;i();)if(","===(c=a.charAt(h))){for(d=h,h+=1,i(),e=h;h<a.length&&"="!==(c=a.charAt(h))&&";"!==c&&","!==c;)h+=1;h<a.length&&"="===a.charAt(h)?(f=!0,h=e,g.push(a.substring(b,d)),b=h):h=d+1}else h+=1;(!f||h>=a.length)&&g.push(a.substring(b,a.length))}return g}function g(a){let b={},c=[];if(a)for(let[d,e]of a.entries())"set-cookie"===d.toLowerCase()?(c.push(...f(e)),b[d]=1===c.length?c[0]:c):b[d]=e;return b}function h(a){try{return String(new URL(String(a)))}catch(b){throw Object.defineProperty(Error(`URL is malformed "${String(a)}". Please use only absolute URLs - https://nextjs.org/docs/messages/middleware-relative-urls`,{cause:b}),"__NEXT_ERROR_CODE",{value:"E61",enumerable:!1,configurable:!0})}}function i(a){for(let b of[d.NEXT_QUERY_PARAM_PREFIX,d.NEXT_INTERCEPTION_MARKER_PREFIX])if(a!==b&&a.startsWith(b))return a.substring(b.length);return null}},66740:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{resolveAnthropicApiKey:()=>g});var e=c(81909),f=a([e]);function g(){try{let a=(0,e.r6)("ANTHROPIC_API_KEY");if(a)return a}catch{}return process.env.ANTHROPIC_API_KEY||null}e=(f.then?(await f)():f)[0],d()}catch(a){d(a)}})},67354:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{D6:()=>k,t6:()=>m,v:()=>n,zU:()=>i});var e=c(84104),f=c(67644),g=c(89998),h=a([e,f,g]);[e,f,g]=h.then?(await h)():h;let o=new Set;function i(a){return"function"!=typeof a?()=>{}:(o.add(a),()=>{o.delete(a)})}function j(){try{(0,g.jO)("approvals")}catch{}}function k({action_type:a,risk:b="medium",summary:c,payload:d={},requested_by:f="system",expires_at:g=null,project_id:h=null}){let i=(0,e.Lf)(),k=(0,e.Si)("approval"),m=(0,e.kF)(),n=h||d?.project_id||d?.projectId||null;return i.prepare(`
1017
+ WHERE project_id = ?`;e&&(h+=" AND document_category = ?",g.push(e)),h+=" LIMIT ?",g.push(5e4);let i=a.prepare(h).all(...g).map(a=>{let b=String(a.text||"").toLowerCase(),c=0,d=0;for(let a of f){let e=b.indexOf(a);if(-1!==e)for(c++;-1!==e;)d++,e=b.indexOf(a,e+a.length)}let e=f.length?c/f.length:0,g=0===c?0:Math.min(1,e+Math.min(.2,d/100));return{id:a.id,source_document_id:a.source_document_id,page:a.page??null,text:a.text,language:a.language,document_category:a.document_category,similarity_score:g,_matchedTerms:c,_occurrences:d}}).filter(a=>a._matchedTerms>0);return i.sort((a,b)=>b._matchedTerms-a._matchedTerms||b._occurrences-a._occurrences||String(a.id).localeCompare(String(b.id))),i.slice(0,d).map(({_matchedTerms:a,_occurrences:b,...c})=>c)}(i,a,k,j,d)}}e=(g.then?(await g)():g)[0],d()}catch(a){d(a)}})},61415:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{D6:()=>q,Hz:()=>r,Jz:()=>t,aU:()=>s});var e=c(76760),f=c(73024),g=c(83498),h=c(684),i=c(89145),j=a([i]);i=(j.then?(await j)():j)[0];let u=e.join(g.nJ,"browser-profile"),v=e.join(g.nJ,"browser-screenshots"),w=null,x=null,y=null;function k(a){let b=Number(a);return!Number.isFinite(b)||b<=0?3e4:Math.min(12e4,Math.max(1e3,Math.floor(b)))}function l(a){return(0,h.nc)(String(a??"").slice(0,2e4))}function m(){y&&clearTimeout(y),y=setTimeout(()=>{n().catch(()=>{})},9e4),"function"==typeof y.unref&&y.unref()}async function n(){y&&(clearTimeout(y),y=null);let a=w;if(w=null,x=null,a)try{await a.close()}catch{}}async function o(){let a;if(w&&x&&!x.isClosed())return m(),x;try{({chromium:a}=await Promise.resolve().then(c.bind(c,83237)))}catch{throw Error("Playwright is not installed. Run: npm install playwright && npx playwright install chromium")}f.mkdirSync(u,{recursive:!0});try{w=await a.launchPersistentContext(u,{headless:!0,args:["--no-sandbox","--disable-dev-shm-usage"]})}catch(a){throw w=null,Error(`Failed to launch Chromium (${a?.message||a}). Provision it with: npx playwright install chromium`)}return w.setDefaultTimeout(3e4),x=w.pages()[0]||await w.newPage(),m(),x}async function p(a){let b="";try{b=await a.title()}catch{}return{url:a.url(),title:b}}async function q(a={}){let b=(0,i.vC)(a.url).href,c=k(a.timeout_ms);try{let d=await o();if(await d.goto(b,{waitUntil:"domcontentloaded",timeout:c}),a.wait_for)try{await d.waitForSelector(String(a.wait_for),{timeout:c})}catch{}let{url:e,title:f}=await p(d),g=await d.evaluate(()=>document.body?.innerText||"");return{ok:!0,tool:"browser_open",status:"complete",url:e,title:f,text:l(g)}}catch(a){return{ok:!1,tool:"browser_open",status:"failed",url:b,error:String(a?.message||a)}}}let z=new Set(["click","fill","type","select","press","scroll","wait"]);async function r(a={}){let b,c=String(a.action||"").toLowerCase();if(!z.has(c))return{ok:!1,tool:"browser_act",status:"error",error:`unknown action: ${c||"(none)"}`};let d=k(a.timeout_ms);try{b=await o()}catch(a){return{ok:!1,tool:"browser_act",status:"failed",error:String(a?.message||a)}}try{if("scroll"===c)await b.evaluate(()=>window.scrollBy(0,window.innerHeight));else if("wait"===c)a.selector?await b.waitForSelector(String(a.selector),{timeout:d}):await b.waitForTimeout(Math.min(d,1e4));else{let e=String(a.selector||"");if(!e)return{ok:!1,tool:"browser_act",status:"error",error:"selector is required"};let f=b.locator(e).first();"click"===c?await f.click({timeout:d}):"fill"===c?await f.fill(String(a.text??""),{timeout:d}):"type"===c?await f.pressSequentially(String(a.text??""),{timeout:d}):"select"===c?await f.selectOption(String(a.value??a.text??""),{timeout:d}):"press"===c&&await f.press(String(a.key||"Enter"),{timeout:d})}let{url:e,title:f}=await p(b);return{ok:!0,tool:"browser_act",status:"complete",action:c,url:e,title:f}}catch(a){return{ok:!1,tool:"browser_act",status:"failed",action:c,error:String(a?.message||a)}}}async function s(a={}){let b,c=String(a.mode||"text").toLowerCase(),d=a.selector?String(a.selector):null;try{b=await o()}catch(a){return{ok:!1,tool:"browser_extract",status:"failed",error:String(a?.message||a)}}try{let a="";a="html"===c?d?await b.locator(d).first().innerHTML().catch(()=>"")||"":await b.content():"json-ld"===c?(await b.evaluate(()=>Array.from(document.querySelectorAll('script[type="application/ld+json"]')).map(a=>a.textContent||""))).join("\n"):d?await b.locator(d).first().innerText().catch(()=>"")||"":await b.evaluate(()=>document.body?.innerText||"");let{url:e,title:f}=await p(b);return{ok:!0,tool:"browser_extract",status:"complete",mode:c,url:e,title:f,content:l(a)}}catch(a){return{ok:!1,tool:"browser_extract",status:"failed",error:String(a?.message||a)}}}async function t(a={}){let b;try{b=await o()}catch(a){return{ok:!1,tool:"browser_screenshot",status:"failed",error:String(a?.message||a)}}try{f.mkdirSync(v,{recursive:!0});let c=`shot-${Date.now()}.png`.replace(/[^a-zA-Z0-9_.-]/g,"-"),d=e.join(v,c),g={path:d,fullPage:!!a.full_page};a.selector?await b.locator(String(a.selector)).first().screenshot({path:d}):await b.screenshot(g);let{url:h,title:i}=await p(b);return{ok:!0,tool:"browser_screenshot",status:"complete",url:h,title:i,path:d}}catch(a){return{ok:!1,tool:"browser_screenshot",status:"failed",error:String(a?.message||a)}}}d()}catch(a){d(a)}})},61666:(a,b,c)=>{"use strict";c.d(b,{A5:()=>j,Pf:()=>h,decryptFromDiskBuffer:()=>k});var d=c(77598),e=c(7346);let f=Buffer.from("madarx-artifact-dek-v1"),g="1"===process.env.MADARX_ARTIFACT_ENCRYPTION;function h(){return g}function i(a){if(!a)throw Error("deriveOrgDek requires orgId");let b=(0,d.createHash)("sha256").update(a).digest(),c=(0,e.K2)({allowGenerate:!0});return Buffer.from((0,d.hkdfSync)("sha256",c,b,f,32))}function j(a,b){let{ciphertext:c,iv:e,authTag:f}=function(a,b){let c=i(a),e=(0,d.randomBytes)(12),f=(0,d.createCipheriv)("aes-256-gcm",c,e),g=Buffer.isBuffer(b)?b:Buffer.from(b,"utf8");return{ciphertext:Buffer.concat([f.update(g),f.final()]),iv:e,authTag:f.getAuthTag()}}(a,b);return Buffer.concat([e,f,c])}function k(a,b){if(!Buffer.isBuffer(b)||b.length<28)throw Error("Invalid encrypted artifact: too short");let c=b.subarray(0,12),e=b.subarray(12,28),f=b.subarray(28),g=i(a),h=(0,d.createDecipheriv)("aes-256-gcm",g,c);return h.setAuthTag(e),Buffer.concat([h.update(f),h.final()])}},62178:(a,b,c)=>{"use strict";c.d(b,{T:()=>aa,I:()=>ab});var d=c(74467),e=c(8512);let f={tokenize:function(a,b,c){let d=0;return function b(f){return(87===f||119===f)&&d<3?(d++,a.consume(f),b):46===f&&3===d?(a.consume(f),e):c(f)};function e(a){return null===a?c(a):b(a)}},partial:!0},g={tokenize:function(a,b,c){let d,f,g;return h;function h(b){return 46===b||95===b?a.check(i,k,j)(b):null===b||(0,e.Ee)(b)||(0,e.Ny)(b)||45!==b&&(0,e.es)(b)?k(b):(g=!0,a.consume(b),h)}function j(b){return 95===b?d=!0:(f=d,d=void 0),a.consume(b),h}function k(a){return f||d||!g?c(a):b(a)}},partial:!0},h={tokenize:function(a,b){let c=0,d=0;return f;function f(h){return 40===h?(c++,a.consume(h),f):41===h&&d<c?g(h):33===h||34===h||38===h||39===h||41===h||42===h||44===h||46===h||58===h||59===h||60===h||63===h||93===h||95===h||126===h?a.check(i,b,g)(h):null===h||(0,e.Ee)(h)||(0,e.Ny)(h)?b(h):(a.consume(h),f)}function g(b){return 41===b&&d++,a.consume(b),f}},partial:!0},i={tokenize:function(a,b,c){return d;function d(h){return 33===h||34===h||39===h||41===h||42===h||44===h||46===h||58===h||59===h||63===h||95===h||126===h?(a.consume(h),d):38===h?(a.consume(h),g):93===h?(a.consume(h),f):60===h||null===h||(0,e.Ee)(h)||(0,e.Ny)(h)?b(h):c(h)}function f(a){return null===a||40===a||91===a||(0,e.Ee)(a)||(0,e.Ny)(a)?b(a):d(a)}function g(b){return(0,e.CW)(b)?function b(f){return 59===f?(a.consume(f),d):(0,e.CW)(f)?(a.consume(f),b):c(f)}(b):c(b)}},partial:!0},j={tokenize:function(a,b,c){return function(b){return a.consume(b),d};function d(a){return(0,e.lV)(a)?c(a):b(a)}},partial:!0},k={name:"wwwAutolink",tokenize:function(a,b,c){let d=this;return function(b){return 87!==b&&119!==b||!p.call(d,d.previous)||t(d.events)?c(b):(a.enter("literalAutolink"),a.enter("literalAutolinkWww"),a.check(f,a.attempt(g,a.attempt(h,e),c),c)(b))};function e(c){return a.exit("literalAutolinkWww"),a.exit("literalAutolink"),b(c)}},previous:p},l={name:"protocolAutolink",tokenize:function(a,b,c){let d=this,f="",i=!1;return function(b){return(72===b||104===b)&&q.call(d,d.previous)&&!t(d.events)?(a.enter("literalAutolink"),a.enter("literalAutolinkHttp"),f+=String.fromCodePoint(b),a.consume(b),j):c(b)};function j(b){if((0,e.CW)(b)&&f.length<5)return f+=String.fromCodePoint(b),a.consume(b),j;if(58===b){let c=f.toLowerCase();if("http"===c||"https"===c)return a.consume(b),k}return c(b)}function k(b){return 47===b?(a.consume(b),i)?l:(i=!0,k):c(b)}function l(b){return null===b||(0,e.JQ)(b)||(0,e.Ee)(b)||(0,e.Ny)(b)||(0,e.es)(b)?c(b):a.attempt(g,a.attempt(h,m),c)(b)}function m(c){return a.exit("literalAutolinkHttp"),a.exit("literalAutolink"),b(c)}},previous:q},m={name:"emailAutolink",tokenize:function(a,b,c){let d,f,g=this;return function(b){return!s(b)||!r.call(g,g.previous)||t(g.events)?c(b):(a.enter("literalAutolink"),a.enter("literalAutolinkEmail"),function b(d){return s(d)?(a.consume(d),b):64===d?(a.consume(d),h):c(d)}(b))};function h(b){return 46===b?a.check(j,k,i)(b):45===b||95===b||(0,e.lV)(b)?(f=!0,a.consume(b),h):k(b)}function i(b){return a.consume(b),d=!0,h}function k(h){return f&&d&&(0,e.CW)(g.previous)?(a.exit("literalAutolinkEmail"),a.exit("literalAutolink"),b(h)):c(h)}},previous:r},n={},o=48;for(;o<123;)n[o]=m,58==++o?o=65:91===o&&(o=97);function p(a){return null===a||40===a||42===a||95===a||91===a||93===a||126===a||(0,e.Ee)(a)}function q(a){return!(0,e.CW)(a)}function r(a){return!(47===a||s(a))}function s(a){return 43===a||45===a||46===a||95===a||(0,e.lV)(a)}function t(a){let b=a.length,c=!1;for(;b--;){let d=a[b][1];if(("labelLink"===d.type||"labelImage"===d.type)&&!d._balanced){c=!0;break}if(d._gfmAutolinkLiteralWalkedInto){c=!1;break}}return a.length>0&&!c&&(a[a.length-1][1]._gfmAutolinkLiteralWalkedInto=!0),c}n[43]=m,n[45]=m,n[46]=m,n[95]=m,n[72]=[m,l],n[104]=[m,l],n[87]=[m,k],n[119]=[m,k];var u=c(13633);function v(a){y.call(this,a,"http://")}function w(a){y.call(this,a,"mailto:")}function x(a){y.call(this,a)}function y(a,b){let c=this.sliceSerialize(a);this.tag('<a href="'+(0,u.Q)((b||"")+c)+'">'),this.raw(this.encode(c)),this.tag("</a>")}var z=c(15675),A=c(40623),B=c(56534);let C={tokenize:function(a,b,c){let d=this;return(0,A.N)(a,function(a){let e=d.events[d.events.length-1];return e&&"gfmFootnoteDefinitionIndent"===e[1].type&&4===e[2].sliceSerialize(e[1],!0).length?b(a):c(a)},"gfmFootnoteDefinitionIndent",5)},partial:!0};function D(a,b,c){let d,e=this,f=e.events.length,g=e.parser.gfmFootnotes||(e.parser.gfmFootnotes=[]);for(;f--;){let a=e.events[f][1];if("labelImage"===a.type){d=a;break}if("gfmFootnoteCall"===a.type||"labelLink"===a.type||"label"===a.type||"image"===a.type||"link"===a.type)break}return function(f){if(!d||!d._balanced)return c(f);let h=(0,B.B)(e.sliceSerialize({start:d.end,end:e.now()}));return 94===h.codePointAt(0)&&g.includes(h.slice(1))?(a.enter("gfmFootnoteCallLabelMarker"),a.consume(f),a.exit("gfmFootnoteCallLabelMarker"),b(f)):c(f)}}function E(a,b){let c=a.length;for(;c--;)if("labelImage"===a[c][1].type&&"enter"===a[c][0]){a[c][1];break}a[c+1][1].type="data",a[c+3][1].type="gfmFootnoteCallLabelMarker";let d={type:"gfmFootnoteCall",start:Object.assign({},a[c+3][1].start),end:Object.assign({},a[a.length-1][1].end)},e={type:"gfmFootnoteCallMarker",start:Object.assign({},a[c+3][1].end),end:Object.assign({},a[c+3][1].end)};e.end.column++,e.end.offset++,e.end._bufferIndex++;let f={type:"gfmFootnoteCallString",start:Object.assign({},e.end),end:Object.assign({},a[a.length-1][1].start)},g={type:"chunkString",contentType:"string",start:Object.assign({},f.start),end:Object.assign({},f.end)},h=[a[c+1],a[c+2],["enter",d,b],a[c+3],a[c+4],["enter",e,b],["exit",e,b],["enter",f,b],["enter",g,b],["exit",g,b],["exit",f,b],a[a.length-2],a[a.length-1],["exit",d,b]];return a.splice(c,a.length-c+1,...h),a}function F(a,b,c){let d,f=this,g=f.parser.gfmFootnotes||(f.parser.gfmFootnotes=[]),h=0;return function(b){return a.enter("gfmFootnoteCall"),a.enter("gfmFootnoteCallLabelMarker"),a.consume(b),a.exit("gfmFootnoteCallLabelMarker"),i};function i(b){return 94!==b?c(b):(a.enter("gfmFootnoteCallMarker"),a.consume(b),a.exit("gfmFootnoteCallMarker"),a.enter("gfmFootnoteCallString"),a.enter("chunkString").contentType="string",j)}function j(i){if(h>999||93===i&&!d||null===i||91===i||(0,e.Ee)(i))return c(i);if(93===i){a.exit("chunkString");let d=a.exit("gfmFootnoteCallString");return g.includes((0,B.B)(f.sliceSerialize(d)))?(a.enter("gfmFootnoteCallLabelMarker"),a.consume(i),a.exit("gfmFootnoteCallLabelMarker"),a.exit("gfmFootnoteCall"),b):c(i)}return(0,e.Ee)(i)||(d=!0),h++,a.consume(i),92===i?k:j}function k(b){return 91===b||92===b||93===b?(a.consume(b),h++,j):j(b)}}function G(a,b,c){let d,f,g=this,h=g.parser.gfmFootnotes||(g.parser.gfmFootnotes=[]),i=0;return function(b){return a.enter("gfmFootnoteDefinition")._container=!0,a.enter("gfmFootnoteDefinitionLabel"),a.enter("gfmFootnoteDefinitionLabelMarker"),a.consume(b),a.exit("gfmFootnoteDefinitionLabelMarker"),j};function j(b){return 94===b?(a.enter("gfmFootnoteDefinitionMarker"),a.consume(b),a.exit("gfmFootnoteDefinitionMarker"),a.enter("gfmFootnoteDefinitionLabelString"),a.enter("chunkString").contentType="string",k):c(b)}function k(b){if(i>999||93===b&&!f||null===b||91===b||(0,e.Ee)(b))return c(b);if(93===b){a.exit("chunkString");let c=a.exit("gfmFootnoteDefinitionLabelString");return d=(0,B.B)(g.sliceSerialize(c)),a.enter("gfmFootnoteDefinitionLabelMarker"),a.consume(b),a.exit("gfmFootnoteDefinitionLabelMarker"),a.exit("gfmFootnoteDefinitionLabel"),m}return(0,e.Ee)(b)||(f=!0),i++,a.consume(b),92===b?l:k}function l(b){return 91===b||92===b||93===b?(a.consume(b),i++,k):k(b)}function m(b){return 58===b?(a.enter("definitionMarker"),a.consume(b),a.exit("definitionMarker"),h.includes(d)||h.push(d),(0,A.N)(a,n,"gfmFootnoteDefinitionWhitespace")):c(b)}function n(a){return b(a)}}function H(a,b,c){return a.check(z.B,b,a.attempt(C,b,c))}function I(a){a.exit("gfmFootnoteDefinition")}let J={}.hasOwnProperty,K={};function L(a,b){return"Back to reference "+(a+1)+(b>1?"-"+b:"")}var M=c(87301),N=c(81929),O=c(48467);class P{constructor(){this.map=[]}add(a,b,c){!function(a,b,c,d){let e=0;if(0!==c||0!==d.length){for(;e<a.map.length;){if(a.map[e][0]===b){a.map[e][1]+=c,a.map[e][2].push(...d);return}e+=1}a.map.push([b,c,d])}}(this,a,b,c)}consume(a){if(this.map.sort(function(a,b){return a[0]-b[0]}),0===this.map.length)return;let b=this.map.length,c=[];for(;b>0;)b-=1,c.push(a.slice(this.map[b][0]+this.map[b][1]),this.map[b][2]),a.length=this.map[b][0];c.push(a.slice()),a.length=0;let d=c.pop();for(;d;){for(let b of d)a.push(b);d=c.pop()}this.map.length=0}}function Q(a,b,c){let d,f=this,g=0,h=0;return function(a){let b=f.events.length-1;for(;b>-1;){let a=f.events[b][1].type;if("lineEnding"===a||"linePrefix"===a)b--;else break}let d=b>-1?f.events[b][1].type:null,e="tableHead"===d||"tableRow"===d?t:i;return e===t&&f.parser.lazy[f.now().line]?c(a):e(a)};function i(b){var c;return a.enter("tableHead"),a.enter("tableRow"),124===(c=b)||(d=!0,h+=1),j(c)}function j(b){return null===b?c(b):(0,e.HP)(b)?h>1?(h=0,f.interrupt=!0,a.exit("tableRow"),a.enter("lineEnding"),a.consume(b),a.exit("lineEnding"),m):c(b):(0,e.On)(b)?(0,A.N)(a,j,"whitespace")(b):(h+=1,d&&(d=!1,g+=1),124===b)?(a.enter("tableCellDivider"),a.consume(b),a.exit("tableCellDivider"),d=!0,j):(a.enter("data"),k(b))}function k(b){return null===b||124===b||(0,e.Ee)(b)?(a.exit("data"),j(b)):(a.consume(b),92===b?l:k)}function l(b){return 92===b||124===b?(a.consume(b),k):k(b)}function m(b){return(f.interrupt=!1,f.parser.lazy[f.now().line])?c(b):(a.enter("tableDelimiterRow"),d=!1,(0,e.On)(b))?(0,A.N)(a,n,"linePrefix",f.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(b):n(b)}function n(b){return 45===b||58===b?p(b):124===b?(d=!0,a.enter("tableCellDivider"),a.consume(b),a.exit("tableCellDivider"),o):c(b)}function o(b){return(0,e.On)(b)?(0,A.N)(a,p,"whitespace")(b):p(b)}function p(b){return 58===b?(h+=1,d=!0,a.enter("tableDelimiterMarker"),a.consume(b),a.exit("tableDelimiterMarker"),q):45===b?(h+=1,q(b)):null===b||(0,e.HP)(b)?s(b):c(b)}function q(b){return 45===b?(a.enter("tableDelimiterFiller"),function b(c){return 45===c?(a.consume(c),b):58===c?(d=!0,a.exit("tableDelimiterFiller"),a.enter("tableDelimiterMarker"),a.consume(c),a.exit("tableDelimiterMarker"),r):(a.exit("tableDelimiterFiller"),r(c))}(b)):c(b)}function r(b){return(0,e.On)(b)?(0,A.N)(a,s,"whitespace")(b):s(b)}function s(f){if(124===f)return n(f);if(null===f||(0,e.HP)(f))return d&&g===h?(a.exit("tableDelimiterRow"),a.exit("tableHead"),b(f)):c(f);return c(f)}function t(b){return a.enter("tableRow"),u(b)}function u(c){return 124===c?(a.enter("tableCellDivider"),a.consume(c),a.exit("tableCellDivider"),u):null===c||(0,e.HP)(c)?(a.exit("tableRow"),b(c)):(0,e.On)(c)?(0,A.N)(a,u,"whitespace")(c):(a.enter("data"),v(c))}function v(b){return null===b||124===b||(0,e.Ee)(b)?(a.exit("data"),u(b)):(a.consume(b),92===b?w:v)}function w(b){return 92===b||124===b?(a.consume(b),v):v(b)}}function R(a,b){let c,d,e,f=-1,g=!0,h=0,i=[0,0,0,0],j=[0,0,0,0],k=!1,l=0,m=new P;for(;++f<a.length;){let n=a[f],o=n[1];"enter"===n[0]?"tableHead"===o.type?(k=!1,0!==l&&(T(m,b,l,c,d),d=void 0,l=0),c={type:"table",start:Object.assign({},o.start),end:Object.assign({},o.end)},m.add(f,0,[["enter",c,b]])):"tableRow"===o.type||"tableDelimiterRow"===o.type?(g=!0,e=void 0,i=[0,0,0,0],j=[0,f+1,0,0],k&&(k=!1,d={type:"tableBody",start:Object.assign({},o.start),end:Object.assign({},o.end)},m.add(f,0,[["enter",d,b]])),h="tableDelimiterRow"===o.type?2:d?3:1):h&&("data"===o.type||"tableDelimiterMarker"===o.type||"tableDelimiterFiller"===o.type)?(g=!1,0===j[2]&&(0!==i[1]&&(j[0]=j[1],e=S(m,b,i,h,void 0,e),i=[0,0,0,0]),j[2]=f)):"tableCellDivider"===o.type&&(g?g=!1:(0!==i[1]&&(j[0]=j[1],e=S(m,b,i,h,void 0,e)),j=[(i=j)[1],f,0,0])):"tableHead"===o.type?(k=!0,l=f):"tableRow"===o.type||"tableDelimiterRow"===o.type?(l=f,0!==i[1]?(j[0]=j[1],e=S(m,b,i,h,f,e)):0!==j[1]&&(e=S(m,b,j,h,f,e)),h=0):h&&("data"===o.type||"tableDelimiterMarker"===o.type||"tableDelimiterFiller"===o.type)&&(j[3]=f)}for(0!==l&&T(m,b,l,c,d),m.consume(b.events),f=-1;++f<b.events.length;){let a=b.events[f];"enter"===a[0]&&"table"===a[1].type&&(a[1]._align=function(a,b){let c=!1,d=[];for(;b<a.length;){let e=a[b];if(c){if("enter"===e[0])"tableContent"===e[1].type&&d.push("tableDelimiterMarker"===a[b+1][1].type?"left":"none");else if("tableContent"===e[1].type){if("tableDelimiterMarker"===a[b-1][1].type){let a=d.length-1;d[a]="left"===d[a]?"center":"right"}}else if("tableDelimiterRow"===e[1].type)break}else"enter"===e[0]&&"tableDelimiterRow"===e[1].type&&(c=!0);b+=1}return d}(b.events,f))}return a}function S(a,b,c,d,e,f){0!==c[0]&&(f.end=Object.assign({},U(b.events,c[0])),a.add(c[0],0,[["exit",f,b]]));let g=U(b.events,c[1]);if(f={type:1===d?"tableHeader":2===d?"tableDelimiter":"tableData",start:Object.assign({},g),end:Object.assign({},g)},a.add(c[1],0,[["enter",f,b]]),0!==c[2]){let e=U(b.events,c[2]),f=U(b.events,c[3]),g={type:"tableContent",start:Object.assign({},e),end:Object.assign({},f)};if(a.add(c[2],0,[["enter",g,b]]),2!==d){let d=b.events[c[2]],e=b.events[c[3]];if(d[1].end=Object.assign({},e[1].end),d[1].type="chunkText",d[1].contentType="text",c[3]>c[2]+1){let b=c[2]+1,d=c[3]-c[2]-1;a.add(b,d,[])}}a.add(c[3]+1,0,[["exit",g,b]])}return void 0!==e&&(f.end=Object.assign({},U(b.events,e)),a.add(e,0,[["exit",f,b]]),f=void 0),f}function T(a,b,c,d,e){let f=[],g=U(b.events,c);e&&(e.end=Object.assign({},g),f.push(["exit",e,b])),d.end=Object.assign({},g),f.push(["exit",d,b]),a.add(c+1,0,f)}function U(a,b){let c=a[b],d="enter"===c[0]?"start":"end";return c[1][d]}let V={none:"",left:' align="left"',right:' align="right"',center:' align="center"'};function W(a,b){return"|"===b?b:a}let X=/<(\/?)(iframe|noembed|noframes|plaintext|script|style|title|textarea|xmp)(?=[\t\n\f\r />])/gi,Y=RegExp("^"+X.source,"i");function Z(a,b){let c=this.sliceSerialize(a);this.options.allowDangerousHtml&&(c=c.replace(b,"&lt;$1$2")),this.raw(this.encode(c))}let $={name:"tasklistCheck",tokenize:function(a,b,c){let d=this;return function(b){return null===d.previous&&d._gfmTasklistFirstContentOfListItem?(a.enter("taskListCheck"),a.enter("taskListCheckMarker"),a.consume(b),a.exit("taskListCheckMarker"),f):c(b)};function f(b){return(0,e.Ee)(b)?(a.enter("taskListCheckValueUnchecked"),a.consume(b),a.exit("taskListCheckValueUnchecked"),g):88===b||120===b?(a.enter("taskListCheckValueChecked"),a.consume(b),a.exit("taskListCheckValueChecked"),g):c(b)}function g(b){return 93===b?(a.enter("taskListCheckMarker"),a.consume(b),a.exit("taskListCheckMarker"),a.exit("taskListCheck"),h):c(b)}function h(d){return(0,e.HP)(d)?b(d):(0,e.On)(d)?a.check({tokenize:_},b,c)(d):c(d)}}};function _(a,b,c){return(0,A.N)(a,function(a){return null===a?c(a):b(a)},"whitespace")}function aa(a){return(0,d.y)([{text:n},{document:{91:{name:"gfmFootnoteDefinition",tokenize:G,continuation:{tokenize:H},exit:I}},text:{91:{name:"gfmFootnoteCall",tokenize:F},93:{name:"gfmPotentialFootnoteCall",add:"after",tokenize:D,resolveTo:E}}},function(a){let b=(a||{}).singleTilde,c={name:"strikethrough",tokenize:function(a,c,d){let e=this.previous,f=this.events,g=0;return function(h){return 126===e&&"characterEscape"!==f[f.length-1][1].type?d(h):(a.enter("strikethroughSequenceTemporary"),function f(h){let i=(0,N.S)(e);if(126===h)return g>1?d(h):(a.consume(h),g++,f);if(g<2&&!b)return d(h);let j=a.exit("strikethroughSequenceTemporary"),k=(0,N.S)(h);return j._open=!k||2===k&&!!i,j._close=!i||2===i&&!!k,c(h)}(h))}},resolveAll:function(a,b){let c=-1;for(;++c<a.length;)if("enter"===a[c][0]&&"strikethroughSequenceTemporary"===a[c][1].type&&a[c][1]._close){let d=c;for(;d--;)if("exit"===a[d][0]&&"strikethroughSequenceTemporary"===a[d][1].type&&a[d][1]._open&&a[c][1].end.offset-a[c][1].start.offset==a[d][1].end.offset-a[d][1].start.offset){a[c][1].type="strikethroughSequence",a[d][1].type="strikethroughSequence";let e={type:"strikethrough",start:Object.assign({},a[d][1].start),end:Object.assign({},a[c][1].end)},f={type:"strikethroughText",start:Object.assign({},a[d][1].end),end:Object.assign({},a[c][1].start)},g=[["enter",e,b],["enter",a[d][1],b],["exit",a[d][1],b],["enter",f,b]],h=b.parser.constructs.insideSpan.null;h&&(0,M.m)(g,g.length,0,(0,O.W)(h,a.slice(d+1,c),b)),(0,M.m)(g,g.length,0,[["exit",f,b],["enter",a[c][1],b],["exit",a[c][1],b],["exit",e,b]]),(0,M.m)(a,d-1,c-d+3,g),c=d+g.length-2;break}}for(c=-1;++c<a.length;)"strikethroughSequenceTemporary"===a[c][1].type&&(a[c][1].type="data");return a}};return null==b&&(b=!0),{text:{126:c},insideSpan:{null:[c]},attentionMarkers:{null:[126]}}}(a),{flow:{null:{name:"table",tokenize:Q,resolveAll:R}}},{text:{91:$}}])}function ab(a){return(0,d.v)([{exit:{literalAutolinkEmail:w,literalAutolinkHttp:x,literalAutolinkWww:v}},function(a){let b=a||K,c=b.label||"Footnotes",d=b.labelTagName||"h2",e=null===b.labelAttributes||void 0===b.labelAttributes?'class="sr-only"':b.labelAttributes,f=b.backLabel||L,g=null===b.clobberPrefix||void 0===b.clobberPrefix?"user-content-":b.clobberPrefix;return{enter:{gfmFootnoteDefinition(){this.getData("tightStack").push(!1)},gfmFootnoteDefinitionLabelString(){this.buffer()},gfmFootnoteCallString(){this.buffer()}},exit:{gfmFootnoteDefinition(){let a=this.getData("gfmFootnoteDefinitions"),b=this.getData("gfmFootnoteDefinitionStack"),c=this.getData("tightStack"),d=b.pop(),e=this.resume();a||this.setData("gfmFootnoteDefinitions",a={}),J.call(a,d)||(a[d]=e),c.pop(),this.setData("slurpOneLineEnding",!0),this.setData("lastWasTag")},gfmFootnoteDefinitionLabelString(a){let b=this.getData("gfmFootnoteDefinitionStack");b||this.setData("gfmFootnoteDefinitionStack",b=[]),b.push((0,B.B)(this.sliceSerialize(a))),this.resume(),this.buffer()},gfmFootnoteCallString(a){let b,c=this.getData("gfmFootnoteCallOrder"),d=this.getData("gfmFootnoteCallCounts"),e=(0,B.B)(this.sliceSerialize(a));this.resume(),c||this.setData("gfmFootnoteCallOrder",c=[]),d||this.setData("gfmFootnoteCallCounts",d={});let f=c.indexOf(e),h=(0,u.Q)(e.toLowerCase());-1===f?(c.push(e),d[e]=1,b=c.length):(d[e]++,b=f+1);let i=d[e];this.tag('<sup><a href="#'+g+"fn-"+h+'" id="'+g+"fnref-"+h+(i>1?"-"+i:"")+'" data-footnote-ref="" aria-describedby="footnote-label">'+String(b)+"</a></sup>")},null(){let a=this.getData("gfmFootnoteCallOrder")||[],b=this.getData("gfmFootnoteCallCounts")||{},h=this.getData("gfmFootnoteDefinitions")||{},i=-1;for(a.length>0&&(this.lineEndingIfNeeded(),this.tag('<section data-footnotes="" class="footnotes"><'+d+' id="footnote-label"'+(e?" "+e:"")+">"),this.raw(this.encode(c)),this.tag("</"+d+">"),this.lineEndingIfNeeded(),this.tag("<ol>"));++i<a.length;){let c=a[i],d=(0,u.Q)(c.toLowerCase()),e=0,j=[];for(;++e<=b[c];)j.push('<a href="#'+g+"fnref-"+d+(e>1?"-"+e:"")+'" data-footnote-backref="" aria-label="'+this.encode("string"==typeof f?f:f(i,e))+'" class="data-footnote-backref">↩'+(e>1?"<sup>"+e+"</sup>":"")+"</a>");let k=j.join(" "),l=!1;this.lineEndingIfNeeded(),this.tag('<li id="'+g+"fn-"+d+'">'),this.lineEndingIfNeeded(),this.tag(h[c].replace(/<\/p>(?:\r?\n|\r)?$/,function(a){return l=!0," "+k+a})),l||(this.lineEndingIfNeeded(),this.tag(k)),this.lineEndingIfNeeded(),this.tag("</li>")}a.length>0&&(this.lineEndingIfNeeded(),this.tag("</ol>"),this.lineEndingIfNeeded(),this.tag("</section>"))}}}}(a),{enter:{strikethrough(){this.tag("<del>")}},exit:{strikethrough(){this.tag("</del>")}}},{enter:{table(a){let b=a._align;this.lineEndingIfNeeded(),this.tag("<table>"),this.setData("tableAlign",b)},tableBody(){this.tag("<tbody>")},tableData(){let a=V[this.getData("tableAlign")[this.getData("tableColumn")]];void 0===a?this.buffer():(this.lineEndingIfNeeded(),this.tag("<td"+a+">"))},tableHead(){this.lineEndingIfNeeded(),this.tag("<thead>")},tableHeader(){let a=V[this.getData("tableAlign")[this.getData("tableColumn")]];this.lineEndingIfNeeded(),this.tag("<th"+a+">")},tableRow(){this.setData("tableColumn",0),this.lineEndingIfNeeded(),this.tag("<tr>")}},exit:{codeTextData(a){let b=this.sliceSerialize(a);this.getData("tableAlign")&&(b=b.replace(/\\([\\|])/g,W)),this.raw(this.encode(b))},table(){this.setData("tableAlign"),this.setData("slurpAllLineEndings"),this.lineEndingIfNeeded(),this.tag("</table>")},tableBody(){this.lineEndingIfNeeded(),this.tag("</tbody>")},tableData(){let a=this.getData("tableAlign"),b=this.getData("tableColumn");b in a?(this.tag("</td>"),this.setData("tableColumn",b+1)):this.resume()},tableHead(){this.lineEndingIfNeeded(),this.tag("</thead>")},tableHeader(){let a=this.getData("tableColumn");this.tag("</th>"),this.setData("tableColumn",a+1)},tableRow(){let a=this.getData("tableAlign"),b=this.getData("tableColumn");for(;b<a.length;)this.lineEndingIfNeeded(),this.tag("<td"+V[a[b]]+"></td>"),b++;this.setData("tableColumn",b),this.lineEndingIfNeeded(),this.tag("</tr>")}}},{exit:{htmlFlowData(a){Z.call(this,a,X)},htmlTextData(a){Z.call(this,a,Y)}}},{enter:{taskListCheck(){this.tag('<input type="checkbox" disabled="" ')}},exit:{taskListCheck(){this.tag("/>")},taskListCheckValueChecked(){this.tag('checked="" ')}}}])}},62284:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"RedirectStatusCode",{enumerable:!0,get:function(){return c}});var c=function(a){return a[a.SeeOther=303]="SeeOther",a[a.TemporaryRedirect=307]="TemporaryRedirect",a[a.PermanentRedirect=308]="PermanentRedirect",a}({});("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},62670:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{H6:()=>j});var e=c(73024),f=c(73136),g=c(76760),h=c(75994),i=a([h]);h=(i.then?(await i)():i)[0];let k=(0,g.dirname)((0,f.fileURLToPath)("file:///home/runner/work/madarx-os/madarx-os/lib/process/seeds/hail-engagement-lifecycle.js")),l=null;function j(){let a=(l||(l=function(){let a=(0,g.join)(k,"specs","hail-engagement-lifecycle.json");return JSON.parse((0,e.readFileSync)(a,"utf8"))}()),l);return(0,h.R1)(a,{source_spec_json:JSON.stringify(a)})}d()}catch(a){d(a)}})},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},64319:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{r:()=>h,s:()=>i});var e=c(81909),f=c(16343),g=a([e,f]);async function h(a={},b="google_oauth"){if(a.access_token)return a.access_token;let c=(0,e.r6)("GOOGLE_ACCESS_TOKEN",a);if(c&&!a.force_refresh)return c;let d=(0,e.r6)("GOOGLE_REFRESH_TOKEN",a),g=(0,e.r6)("GOOGLE_OAUTH_CLIENT_ID",a)||process.env.GOOGLE_CLIENT_ID,i=(0,e.r6)("GOOGLE_OAUTH_CLIENT_SECRET",a)||process.env.GOOGLE_CLIENT_SECRET;if(!d)throw Error("GOOGLE_REFRESH_TOKEN missing");if(!g||!i)throw Error("GOOGLE_OAUTH_CLIENT_ID/GOOGLE_OAUTH_CLIENT_SECRET missing");let j=new URLSearchParams({client_id:g,client_secret:i,refresh_token:d,grant_type:"refresh_token"}),k=(0,f.N)(b,a.agent_id??null,a.fetch||fetch),l=await k("https://oauth2.googleapis.com/token",{method:"POST",headers:{"content-type":"application/x-www-form-urlencoded"},body:j});if(!l.ok)throw Error(`google token refresh failed: ${l.status}`);let m=await l.json();if(!m.access_token)throw Error("google token refresh returned no access_token");return(0,e.Pq)("GOOGLE_ACCESS_TOKEN",m.access_token,{...a,source:"oauth_access",metadata:{expires_in:m.expires_in||null,refreshed_at:new Date().toISOString()}}),m.access_token}function i(a,b={}){return(0,f.N)(a,b.agent_id??null,b.fetch||fetch)}[e,f]=g.then?(await g)():g,d()}catch(a){d(a)}})},64509:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{default:()=>s,dynamic:()=>t});var e=c(75338),f=c(76760),g=c(48161),h=c(65169),i=c(86893),j=c(61423),k=c(93154),l=c(73912),m=c(9381),n=c(78516),o=c(79148),p=c(72987),q=a([j,k,l]);[j,k,l]=q.then?(await q)():q;let t="force-dynamic";function r(a){if(!a)return"";let b=g.homedir();return b&&a.startsWith(b)?a.replace(b,"~"):a}function s(){let a=(0,j.hF)({status:"all"}),b=a.filter(a=>"active"===a.status),c=a.filter(a=>"active"!==a.status),d=(0,k.cK)(),g=(0,l.xP)(),q=a.map(a=>({...a,agentCount:d[a.id]||0,fileCount:g[a.id]||0})),s=r(f.join(m.un,"projects")),t=(0,e.jsx)(n.default,{workspaceRoot:s});return(0,e.jsx)(i.iN,{kicker:"Projects",title:"Projects",description:"Group agents, Disk, memory, secrets, approvals, and missions into project scopes.",actions:t,hideProjectSwitcher:!0,children:(0,e.jsxs)("div",{className:"mkt-page","data-page":"projects",children:[(0,e.jsxs)("section",{className:"mkt-stats",children:[(0,e.jsxs)("div",{className:"mkt-stat",children:[(0,e.jsx)("b",{children:a.length}),(0,e.jsx)("span",{children:"Total"})]}),(0,e.jsxs)("div",{className:"mkt-stat",children:[(0,e.jsx)("b",{children:b.length}),(0,e.jsx)("span",{children:"Active"})]}),(0,e.jsxs)("div",{className:"mkt-stat",children:[(0,e.jsx)("b",{children:c.length}),(0,e.jsx)("span",{children:"Archived"})]}),(0,e.jsxs)("div",{className:"mkt-stat",children:[(0,e.jsx)("b",{children:q.reduce((a,b)=>a+b.agentCount,0)}),(0,e.jsx)("span",{children:"Agents"})]})]}),(0,e.jsx)("section",{className:"mkt-section","aria-live":"polite",children:q.length?(0,e.jsx)("ul",{className:"mkt-grid project-grid",children:q.map(a=>(0,e.jsxs)("li",{className:`mkt-card project-card ${"active"===a.status?"on":""}`,children:[(0,e.jsxs)("div",{className:"mkt-card-head",children:[(0,e.jsx)("span",{className:"mkt-chip-tile project-tile",style:{backgroundColor:a.color||"#111318",borderColor:"rgba(17,19,24,.08)"},"aria-hidden":"true",children:(0,e.jsx)("span",{className:"project-tile-glyph",children:(a.name||a.slug).slice(0,1).toUpperCase()})}),(0,e.jsx)(h,{href:`/projects/${a.slug}`,className:"project-card-slug",children:a.slug})]}),(0,e.jsxs)("div",{className:"mkt-card-body",children:[(0,e.jsx)("h3",{className:"mkt-card-title",children:a.name}),a.description?(0,e.jsx)("p",{className:"mkt-card-desc",children:a.description}):null]}),(0,e.jsxs)("div",{className:"mkt-card-meta",children:[(0,e.jsxs)("span",{children:["Agents ",(0,e.jsx)("b",{children:a.agentCount})]}),(0,e.jsxs)("span",{children:["Disk files ",(0,e.jsx)("b",{children:a.fileCount})]}),(0,e.jsxs)("span",{children:["Status ",(0,e.jsx)("b",{children:a.status})]}),a.folder_path?(0,e.jsxs)("span",{className:"project-folder-meta",title:a.folder_path,children:["Folder ",(0,e.jsx)("code",{children:r(a.folder_path)})]}):null]}),(0,e.jsxs)("div",{className:"mkt-card-foot",children:[(0,e.jsx)("span",{className:`mkt-availability ${"active"===a.status?"installed":""}`,children:"active"===a.status?"Active":"Archived"}),(0,e.jsxs)("div",{className:"project-card-actions",children:[(0,e.jsx)(h,{href:`/projects/${a.slug}`,className:"admin-button secondary project-open","aria-label":`Open ${a.name}`,children:"Open"}),(0,e.jsx)(p.default,{projectId:a.id,projectName:a.name,projectColor:a.color,projectDescription:a.description,projectFolderPath:a.folder_path}),(0,e.jsx)(o.default,{projectId:a.id,projectName:a.name,projectSlug:a.slug,isProtected:a.id===j.Sk})]})]})]},a.id))}):(0,e.jsx)(i.pp,{title:"No projects yet",children:"Create your first project to scope agents, files, and secrets."})})]})})}d()}catch(a){d(a)}})},65169:(a,b,c)=>{let{createProxy:d}=c(39893);a.exports=d("/home/runner/work/madarx-os/madarx-os/node_modules/next/dist/client/app-dir/link.js")},65303:(a,b)=>{"use strict";function c(a){return a.replace(/\/$/,"")||"/"}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"removeTrailingSlash",{enumerable:!0,get:function(){return c}})},65527:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{Kg:()=>k,kA:()=>l,v2:()=>j});var e=c(73024),f=c(76760),g=c(83498),h=c(79336),i=a([h]);h=(i.then?(await i)():i)[0];let m="artifacts";function j(a){var b;let c=null;return(c=a&&"object"==typeof a?a:(0,h.U1)(a||h.Sk)||null)?f.join((b=c,b?.folder_path?b.folder_path:b?.slug?(0,h.ct)(b.slug):(0,h.ct)(h.Sk)),m):f.join((0,h.ct)(h.Sk),m)}function k(a){let b=j(a);return e.mkdirSync(b,{recursive:!0}),b}function l(a){if(!a)return!1;let b=f.resolve(a);return[f.resolve(g.yQ),...function(){try{return(0,h.hF)({status:"all"}).map(a=>f.resolve(j(a)))}catch{return[]}}()].some(a=>b===a||b.startsWith(`${a}${f.sep}`))}d()}catch(a){d(a)}})},66324:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{zj:()=>g});var e=c(84104),f=a([e]);function g(a,b=null){if(!a)return b;let c=(0,e.Lf)().prepare("SELECT value FROM config WHERE key = ?").get(String(a));return c?c.value:b}e=(f.then?(await f)():f)[0],d()}catch(a){d(a)}})},66568:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{fromNodeOutgoingHttpHeaders:function(){return e},normalizeNextQueryParam:function(){return i},splitCookiesString:function(){return f},toNodeOutgoingHttpHeaders:function(){return g},validateURL:function(){return h}});let d=c(73443);function e(a){let b=new Headers;for(let[c,d]of Object.entries(a))for(let a of Array.isArray(d)?d:[d])void 0!==a&&("number"==typeof a&&(a=a.toString()),b.append(c,a));return b}function f(a){var b,c,d,e,f,g=[],h=0;function i(){for(;h<a.length&&/\s/.test(a.charAt(h));)h+=1;return h<a.length}for(;h<a.length;){for(b=h,f=!1;i();)if(","===(c=a.charAt(h))){for(d=h,h+=1,i(),e=h;h<a.length&&"="!==(c=a.charAt(h))&&";"!==c&&","!==c;)h+=1;h<a.length&&"="===a.charAt(h)?(f=!0,h=e,g.push(a.substring(b,d)),b=h):h=d+1}else h+=1;(!f||h>=a.length)&&g.push(a.substring(b,a.length))}return g}function g(a){let b={},c=[];if(a)for(let[d,e]of a.entries())"set-cookie"===d.toLowerCase()?(c.push(...f(e)),b[d]=1===c.length?c[0]:c):b[d]=e;return b}function h(a){try{return String(new URL(String(a)))}catch(b){throw Object.defineProperty(Error(`URL is malformed "${String(a)}". Please use only absolute URLs - https://nextjs.org/docs/messages/middleware-relative-urls`,{cause:b}),"__NEXT_ERROR_CODE",{value:"E61",enumerable:!1,configurable:!0})}}function i(a){for(let b of[d.NEXT_QUERY_PARAM_PREFIX,d.NEXT_INTERCEPTION_MARKER_PREFIX])if(a!==b&&a.startsWith(b))return a.substring(b.length);return null}},66740:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{resolveAnthropicApiKey:()=>g});var e=c(81909),f=a([e]);function g(){try{let a=(0,e.r6)("ANTHROPIC_API_KEY");if(a)return a}catch{}return process.env.ANTHROPIC_API_KEY||null}e=(f.then?(await f)():f)[0],d()}catch(a){d(a)}})},67354:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{D6:()=>k,t6:()=>m,v:()=>n,zU:()=>i});var e=c(84104),f=c(67644),g=c(89998),h=a([e,f,g]);[e,f,g]=h.then?(await h)():h;let o=new Set;function i(a){return"function"!=typeof a?()=>{}:(o.add(a),()=>{o.delete(a)})}function j(){try{(0,g.jO)("approvals")}catch{}}function k({action_type:a,risk:b="medium",summary:c,payload:d={},requested_by:f="system",expires_at:g=null,project_id:h=null}){let i=(0,e.Lf)(),k=(0,e.Si)("approval"),m=(0,e.kF)(),n=h||d?.project_id||d?.projectId||null;return i.prepare(`
1018
1018
  INSERT INTO approval_requests (id, status, action_type, risk, summary, payload, requested_by, created_at, expires_at, project_id)
1019
1019
  VALUES (?, 'pending', ?, ?, ?, ?, ?, ?, ?, ?)
1020
1020
  `).run(k,a,b,c,JSON.stringify(d),f,m,g,n),i.prepare(`
@@ -1037,7 +1037,7 @@ Read more at https://nextjs.org/docs/messages/missing-root-layout-tags"
1037
1037
  UPDATE heartbeat_tasks
1038
1038
  SET status='queued', lease_owner=NULL, lease_expires_at=NULL, updated_at=?, error='Recovered stale lease'
1039
1039
  WHERE id=?
1040
- `).run((0,e.kF)(),a.id),j(a.id,{type:"stale_recovered",message:"Recovered stale lease"});return b.length&&h(),b.length}[e,f]=g.then?(await g)():g,d()}catch(a){d(a)}})},68571:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{VM:()=>ab,hM:()=>ah});var e=c(77598),f=c(84104),g=c(67354),h=c(66324),i=c(684),j=c(81909),k=c(24867),l=c(37788),m=c(49248),n=c(37937),o=c(89145),p=c(35532),q=c(23339),r=c(22896),s=c(2796),t=c(27746),u=c(80781),v=c(78712),w=c(20749),x=c(32409),y=c(94387),z=c(59080),A=c(32244),B=c(75392),C=c(83796),D=c(96084),E=c(71844),F=c(16483),G=c(23799),H=c(45510),I=c(41039),J=c(85855),K=c(14821),L=c(45599),M=c(76862),N=c(84939),O=c(80028),P=c(98450),Q=c(78547),R=c(59728),S=c(36665),T=c(36393),U=c(71326),V=c(9203),W=c(37047),X=c(26940),Y=c(86615),Z=a([f,g,h,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,B,C,D,E,F,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,X,Y]);[f,g,h,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,B,C,D,E,F,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,X,Y]=Z.then?(await Z)():Z;let ai="approval_required",aj=new Set(["approval_required","auto"]),ak=[{name:"file_read",title:"Read file",description:"Read a bounded file inside approved local roots. Secret files are blocked.",category:"local_machine",risk_level:"low",approval_mode:"auto",required_env:[],enabled_default:!0,allowlist_required:!1,input_schema:{type:"object",properties:{path:{type:"string"},offset:{type:"number"},limit:{type:"number"}},required:["path"]}},{name:"directory_list",title:"List folder",description:"List directory entries inside approved local roots.",category:"local_machine",risk_level:"low",approval_mode:"auto",required_env:[],enabled_default:!0,allowlist_required:!1,input_schema:{type:"object",properties:{path:{type:"string"},limit:{type:"number"}}}},{name:"file_search",title:"Search files",description:"Search safe local files while skipping build output, dependencies, databases, and secret files.",category:"local_machine",risk_level:"low",approval_mode:"auto",required_env:[],enabled_default:!0,allowlist_required:!1,input_schema:{type:"object",properties:{pattern:{type:"string"},path:{type:"string"},target:{type:"string"},file_glob:{type:"string"},limit:{type:"number"}},required:["pattern"]}},{name:"file_write",title:"Write file",description:"Write a file inside approved local roots after owner approval.",category:"local_machine",risk_level:"high",approval_required:!0,approval_mode:"approval_required",required_env:[],enabled_default:!0,allowlist_required:!1,rate_limit:{window_seconds:60,max:30},input_schema:{type:"object",properties:{path:{type:"string"},content:{type:"string"},create_dirs:{type:"boolean"},approval_id:{type:"string"}},required:["path","content"]}},{name:"file_patch",title:"Edit file",description:"Patch a file inside approved local roots after owner approval.",category:"local_machine",risk_level:"high",approval_required:!0,approval_mode:"approval_required",required_env:[],enabled_default:!0,allowlist_required:!1,rate_limit:{window_seconds:60,max:30},input_schema:{type:"object",properties:{path:{type:"string"},old_string:{type:"string"},new_string:{type:"string"},replace_all:{type:"boolean"},approval_id:{type:"string"}},required:["path","old_string","new_string"]}},{name:"terminal_run",title:"Run command",description:"Run a bounded local command with spawn command and args, never shell:true.",category:"local_machine",risk_level:"medium",approval_mode:"policy",required_env:[],enabled_default:!0,allowlist_required:!1,rate_limit:{window_seconds:60,max:20},input_schema:{type:"object",properties:{command:{type:"string"},args:{type:"array",items:{type:"string"}},cwd:{type:"string"},timeout_ms:{type:"number"},approval_id:{type:"string"}},required:["command"]}},{name:"process_start",title:"Start process",description:"Start a madarX-owned local process and persist process state.",category:"local_machine",risk_level:"medium",approval_mode:"policy",required_env:[],enabled_default:!0,allowlist_required:!1,rate_limit:{window_seconds:60,max:20},input_schema:{type:"object",properties:{command:{type:"string"},args:{type:"array",items:{type:"string"}},cwd:{type:"string"},approval_id:{type:"string"}},required:["command"]}},{name:"process_poll",title:"Check process",description:"Poll a madarX-owned local process row.",category:"local_machine",risk_level:"low",approval_mode:"auto",required_env:[],enabled_default:!0,allowlist_required:!1,input_schema:{type:"object",properties:{process_id:{type:"string"}},required:["process_id"]}},{name:"process_kill",title:"Stop process",description:"Stop a madarX-owned process after owner approval.",category:"local_machine",risk_level:"high",approval_required:!0,approval_mode:"approval_required",required_env:[],enabled_default:!0,allowlist_required:!1,rate_limit:{window_seconds:60,max:20},input_schema:{type:"object",properties:{process_id:{type:"string"},approval_id:{type:"string"}},required:["process_id"]}},{name:"web_search",title:"Search the web",description:"Search the public web with Firecrawl, SearXNG, Brave Search, or the no-key DuckDuckGo Lite fallback, returning ranked results with title, URL, snippet, and source metadata.",category:"web",risk_level:"low",required_env:[],enabled_default:!0,allowlist_required:!1,allowlist_default_allow:!0,rate_limit:{window_seconds:60,max:60},input_schema:{type:"object",properties:{query:{type:"string",description:"Search query."},count:{type:"number",description:"Number of results, 1-10. Default 5."},country:{type:"string",description:"Optional Brave country code, e.g. US."},search_lang:{type:"string",description:"Optional search language, e.g. en."}},required:["query"]}},{name:"web_fetch",title:"Fetch a webpage",description:"Fetch a public URL, block local/private network targets, strip HTML to readable text, and cap response size.",category:"web",risk_level:"low",required_env:[],enabled_default:!0,allowlist_required:!1,allowlist_default_allow:!0,rate_limit:{window_seconds:60,max:60},input_schema:{type:"object",properties:{url:{type:"string",description:"Public http(s) URL to fetch."},max_bytes:{type:"number",description:"Maximum response bytes, capped at 512000."}},required:["url"]}},{name:"web_extract",title:"Extract from webpage",description:"Extract readable content from a public URL with Firecrawl scrape when configured, otherwise fall back to direct web fetch.",category:"web",risk_level:"low",required_env:[],enabled_default:!0,allowlist_required:!1,allowlist_default_allow:!0,rate_limit:{window_seconds:60,max:60},input_schema:{type:"object",properties:{url:{type:"string",description:"Public http(s) URL to extract."},max_bytes:{type:"number",description:"Maximum response bytes for direct fetch fallback, capped at 512000."}},required:["url"]}},{name:"browser_harness_run",title:"Browser Harness",description:"Run a bounded browser-harness Python snippet against an activated Chrome CDP browser. This is local-code-execution risk: it starts disabled and requires owner approval for every main-agent or sub-agent execution.",category:"browser",risk_level:"irreversible_external",approval_required:!0,approval_mode:"approval_required",required_env:[],enabled_default:!1,allowlist_required:!1,rate_limit:{window_seconds:60,max:20},input_schema:{type:"object",properties:{script:{type:"string",description:"Python code executed by browser-harness. Helpers are pre-imported; use new_tab(url), wait_for_load(), page_info(), capture_screenshot(), click_at_xy(), js(), or cdp()."},timeout_ms:{type:"number",description:"Timeout in milliseconds, capped at 600000. Default 120000."},approval_id:{type:"string",description:"Approval request ID for one-shot execution."}},required:["script"]}},{name:"browser_open",title:"Browser Open (Playwright)",description:"Open a URL in a real headless Chromium and return the final URL, page title, and visible text. Use this (not browser_navigate) for JavaScript-rendered pages, SPAs, or anything that needs a real browser. The page persists across calls so you can browser_act / browser_extract on it next.",category:"browser",risk_level:"medium",required_env:[],enabled_default:!1,allowlist_required:!1,allowlist_default_allow:!0,rate_limit:{window_seconds:60,max:30},input_schema:{type:"object",properties:{url:{type:"string",description:"Public http(s) URL to open."},wait_for:{type:"string",description:"Optional CSS selector to wait for after load."},timeout_ms:{type:"number",description:"Navigation timeout in ms (default 30000, max 120000)."}},required:["url"]}},{name:"browser_act",title:"Browser Act (Playwright)",description:"Interact with the currently open page: click, fill, type, select, press a key, scroll, or wait. State-changing — gated for approval in approval-required trust mode. Locate elements with a CSS selector or a Playwright text= selector. Does NOT expand the agent's permissions; it only drives the page already loaded by browser_open.",category:"browser",risk_level:"high",required_env:[],enabled_default:!1,allowlist_required:!1,rate_limit:{window_seconds:60,max:60},input_schema:{type:"object",properties:{action:{type:"string",enum:["click","fill","type","select","press","scroll","wait"],description:"Interaction to perform."},selector:{type:"string",description:"CSS selector or Playwright text= selector for the target element. Required for click/fill/type/select/press."},text:{type:"string",description:"Text to fill/type (for fill/type), or option value (for select)."},value:{type:"string",description:"Option value for select (alternative to text)."},key:{type:"string",description:"Key to press for the press action (default Enter)."},timeout_ms:{type:"number",description:"Action timeout in ms (default 30000, max 120000)."}},required:["action"]}},{name:"browser_extract",title:"Browser Extract (Playwright)",description:"Read content from the currently open page: visible text (default), raw HTML, or JSON-LD blocks. Optionally scoped to a CSS selector. Use after browser_open / browser_act to pull the rendered result.",category:"browser",risk_level:"medium",required_env:[],enabled_default:!1,allowlist_required:!1,allowlist_default_allow:!0,rate_limit:{window_seconds:60,max:60},input_schema:{type:"object",properties:{mode:{type:"string",enum:["text","html","json-ld"],default:"text",description:"What to extract."},selector:{type:"string",description:"Optional CSS selector to scope extraction."}}}},{name:"browser_screenshot",title:"Browser Screenshot (Playwright)",description:"Capture a PNG screenshot of the currently open page (or a selector / full page). Saved to disk under data/browser-screenshots; returns the file path.",category:"browser",risk_level:"medium",required_env:[],enabled_default:!1,allowlist_required:!1,allowlist_default_allow:!0,rate_limit:{window_seconds:60,max:20},input_schema:{type:"object",properties:{selector:{type:"string",description:"Optional CSS selector to screenshot just one element."},full_page:{type:"boolean",description:"Capture the full scrollable page (default false)."}}}},{name:"browser_navigate",title:"Browser Navigate",description:"Fetch a URL with Chrome 124 headers, cookie jar, redirect following, and configurable extraction (text, markdown, json-ld, metadata, raw). Falls back gracefully on JS-only pages.",category:"web",risk_level:"low",required_env:[],enabled_default:!0,allowlist_required:!1,allowlist_default_allow:!0,rate_limit:{window_ms:6e4,max:30},input_schema:{type:"object",properties:{url:{type:"string",description:"HTTP/HTTPS URL"},extract:{type:"string",enum:["text","markdown","json-ld","metadata","raw"],default:"text"},selector:{type:"string",description:"Optional CSS-like selector: tag, #id, or .class"},wait_for:{type:"string",description:"Optional substring expected in response; returns hint if missing"},max_chars:{type:"integer",default:12e3,maximum:5e4}},required:["url"]}},{name:"browser_extract_structured",title:"Browser Extract Structured",description:"Fetch a URL and extract both JSON-LD structured data and page metadata (title, og:*, meta tags) in one call.",category:"web",risk_level:"low",required_env:[],enabled_default:!0,allowlist_required:!1,allowlist_default_allow:!0,rate_limit:{window_ms:6e4,max:30},input_schema:{type:"object",properties:{url:{type:"string"}},required:["url"]}},{name:"supabase_list_projects",title:"List Supabase projects",description:"List Supabase projects available to the configured personal access token.",category:"supabase",risk_level:"medium",required_env:["SUPABASE_ACCESS_TOKEN"],enabled_default:!1,allowlist_required:!1,rate_limit:{window_seconds:60,max:60},input_schema:{type:"object",properties:{}}},{name:"supabase_rest_select",title:"Read database rows",description:"Read rows from a Supabase table using the REST API with optional filters and limit.",category:"supabase",risk_level:"medium",required_env:["SUPABASE_URL",["SUPABASE_SERVICE_ROLE_KEY","SUPABASE_ANON_KEY"]],enabled_default:!1,allowlist_required:!1,rate_limit:{window_seconds:60,max:60},input_schema:{type:"object",properties:{table:{type:"string",description:"Table name."},select:{type:"string",description:"PostgREST select expression. Default *."},filters:{type:"object",description:"Column filters. Values may be raw PostgREST operators or plain values for eq."},limit:{type:"number",description:"Maximum rows, 1-100. Default 25."}},required:["table"]}},{name:"supabase_rest_insert",title:"Add database rows",description:"Insert one or more rows into a Supabase table using the REST API. Returns the inserted rows.",category:"supabase",risk_level:"medium",required_env:["SUPABASE_URL",["SUPABASE_SERVICE_ROLE_KEY","SUPABASE_ANON_KEY"]],enabled_default:!1,allowlist_required:!0,allowlist_scope_key:"table",allowlist_default_allow:!1,rate_limit:{window_seconds:60,max:30},input_schema:{type:"object",properties:{table:{type:"string",description:"Target table name (schema-qualified allowed, e.g. auth.users)."},rows:{type:"array",items:{type:"object"},description:"Array of row objects to insert."},approval_id:{type:"string",description:"Approval request ID for one-shot execution."}},required:["table","rows"]}},{name:"supabase_rest_upsert",title:"Add or update rows",description:"Upsert one or more rows into a Supabase table. Merges on conflict. Returns affected rows.",category:"supabase",risk_level:"medium",required_env:["SUPABASE_URL",["SUPABASE_SERVICE_ROLE_KEY","SUPABASE_ANON_KEY"]],enabled_default:!1,allowlist_required:!0,allowlist_scope_key:"table",allowlist_default_allow:!1,rate_limit:{window_seconds:60,max:30},input_schema:{type:"object",properties:{table:{type:"string",description:"Target table name."},rows:{type:"array",items:{type:"object"},description:"Array of row objects to upsert."},on_conflict:{type:"string",description:"Comma-separated column(s) to resolve conflicts on."},approval_id:{type:"string",description:"Approval request ID for one-shot execution."}},required:["table","rows"]}},{name:"supabase_rest_update",title:"Update database rows",description:"Update rows in a Supabase table matching the given filters. Filters are required — table-wide updates are blocked.",category:"supabase",risk_level:"high",approval_required:!0,approval_mode:"approval_required",required_env:["SUPABASE_URL",["SUPABASE_SERVICE_ROLE_KEY","SUPABASE_ANON_KEY"]],enabled_default:!1,allowlist_required:!0,allowlist_scope_key:"table",allowlist_default_allow:!1,rate_limit:{window_seconds:60,max:30},input_schema:{type:"object",properties:{table:{type:"string",description:"Target table name."},patch:{type:"object",description:"Column values to set on matching rows."},filters:{type:"object",description:"Row filters. At least one filter is required."},approval_id:{type:"string",description:"Approval request ID for one-shot execution."}},required:["table","patch","filters"]}},{name:"supabase_rest_delete",title:"Delete database rows",description:"Delete rows from a Supabase table matching the given filters. Filters are required — bulk table truncation is blocked. Always requires approval regardless of trust mode.",category:"supabase",risk_level:"irreversible_external",approval_required:!0,approval_mode:"approval_required",required_env:["SUPABASE_URL",["SUPABASE_SERVICE_ROLE_KEY","SUPABASE_ANON_KEY"]],enabled_default:!1,allowlist_required:!0,allowlist_scope_key:"table",allowlist_default_allow:!1,rate_limit:{window_seconds:3600,max:10},input_schema:{type:"object",properties:{table:{type:"string",description:"Target table name."},filters:{type:"object",description:"Row filters. At least one filter is required."},approval_id:{type:"string",description:"Approval request ID for one-shot execution."}},required:["table","filters"]}},{name:"supabase_rpc",title:"Call database function",description:"Call a Postgres function via the Supabase REST RPC endpoint.",category:"supabase",risk_level:"high",approval_required:!0,approval_mode:"approval_required",required_env:["SUPABASE_URL",["SUPABASE_SERVICE_ROLE_KEY","SUPABASE_ANON_KEY"]],enabled_default:!1,allowlist_required:!0,allowlist_scope_key:"function_name",allowlist_default_allow:!1,rate_limit:{window_seconds:60,max:30},input_schema:{type:"object",properties:{function_name:{type:"string",description:"Postgres function name to call."},params:{type:"object",description:"Parameters passed as the request body."},approval_id:{type:"string",description:"Approval request ID for one-shot execution."}},required:["function_name"]}},{name:"supabase_sql",title:"Run SQL query",description:"Execute raw SQL via the madarx_exec_sql() Postgres function. Uses the service-role key and BYPASSES Row-Level Security. Always requires approval regardless of trust mode. Requires creating the madarx_exec_sql() function in your project.",category:"supabase",risk_level:"irreversible_external",approval_required:!0,approval_mode:"approval_required",required_env:["SUPABASE_URL",["SUPABASE_SERVICE_ROLE_KEY","SUPABASE_ANON_KEY"]],enabled_default:!1,allowlist_required:!1,allowlist_default_allow:!0,rate_limit:{window_seconds:3600,max:5},input_schema:{type:"object",properties:{query:{type:"string",description:"SQL query to execute via madarx_exec_sql()."},params:{type:"object",description:"Optional named parameters for the query."},approval_id:{type:"string",description:"Approval request ID for one-shot execution."}},required:["query"]}},{name:"vercel_list_projects",title:"List Vercel projects",description:"List Vercel projects visible to the configured token.",category:"vercel",risk_level:"medium",required_env:["VERCEL_TOKEN"],enabled_default:!1,allowlist_required:!1,rate_limit:{window_seconds:60,max:60},input_schema:{type:"object",properties:{team_id:{type:"string",description:"Optional Vercel team id."},limit:{type:"number",description:"Maximum projects."}}}},{name:"vercel_list_deployments",title:"List Vercel deployments",description:"List Vercel deployments, optionally scoped by project.",category:"vercel",risk_level:"medium",required_env:["VERCEL_TOKEN"],enabled_default:!1,allowlist_required:!1,rate_limit:{window_seconds:60,max:60},input_schema:{type:"object",properties:{team_id:{type:"string",description:"Optional Vercel team id."},project_id:{type:"string",description:"Optional Vercel project id."},project_name:{type:"string",description:"Optional Vercel project name."},limit:{type:"number",description:"Maximum deployments."}}}},{name:"vercel_create_deployment",title:"Deploy to Vercel",description:"Stage a Vercel deployment request for owner approval. This does not deploy until approved.",category:"vercel",risk_level:"high",required_env:["VERCEL_TOKEN"],enabled_default:!1,approval_required:!0,allowlist_required:!1,rate_limit:{window_seconds:3600,max:5},input_schema:{type:"object",properties:{summary:{type:"string",description:"Deployment purpose and requested target."}}}},{name:"email_send",title:"Send email",description:"Send a transactional email via Resend. Approval is required.",category:"email",risk_level:"irreversible_external",approval_required:!0,approval_mode:"approval_required",required_env:["RESEND_API_KEY"],enabled_default:!1,allowlist_required:!0,allowlist_scope_key:"recipient_domain",allowlist_default_allow:!1,rate_limit:{window_seconds:3600,max:20},input_schema:{type:"object",properties:{from:{type:"string",description:"Sender address. Defaults to RESEND_FROM_EMAIL secret/env."},to:{type:"string",description:'Single recipient email address, e.g. "user@example.com".'},subject:{type:"string",description:"Email subject line."},text:{type:"string",description:"Plain-text email body. Either text or html is required."},html:{type:"string",description:"HTML email body. Either text or html is required."},reply_to:{type:"string",description:"Reply-to address."},recipient_domain:{type:"string",description:'Domain portion of the "to" address, e.g. "example.com". Must match the domain in "to" exactly — used by the allowlist gate.'},approval_id:{type:"string",description:"Approval request ID to consume for one-shot execution."}},required:["to","subject"]}},{name:"email_status_lookup",title:"Check email delivery",description:"Look up the delivery status of a previously-sent email.",category:"email",risk_level:"low",required_env:["RESEND_API_KEY"],enabled_default:!1,allowlist_required:!1,rate_limit:{window_seconds:60,max:60},input_schema:{type:"object",properties:{email_id:{type:"string",description:"Resend email ID returned by email_send."}},required:["email_id"]}},{name:"gh_repo_read",title:"Read a GitHub repo",description:"Read metadata for a GitHub repository (name, visibility, default branch, stars, forks).",category:"github",risk_level:"low",required_env:["GITHUB_TOKEN"],enabled_default:!1,allowlist_required:!1,allowlist_default_allow:!0,rate_limit:{window_seconds:60,max:60},input_schema:{type:"object",properties:{repo_full_name:{type:"string",description:"Repository in owner/repo format, e.g. acme/api."}},required:["repo_full_name"]}},{name:"gh_repo_list",title:"List GitHub repos",description:"List GitHub repositories accessible to the configured token.",category:"github",risk_level:"low",required_env:["GITHUB_TOKEN"],enabled_default:!1,allowlist_required:!1,allowlist_default_allow:!0,rate_limit:{window_seconds:60,max:60},input_schema:{type:"object",properties:{visibility:{type:"string",description:"Filter by visibility: all, public, private."},type:{type:"string",description:"Filter by type: all, owner, member."},sort:{type:"string",description:"Sort by: created, updated, pushed, full_name."},per_page:{type:"number",description:"Results per page, 1-100. Default 30."}}}},{name:"gh_issue_list",title:"List issues",description:"List issues in a GitHub repository with optional state and label filters.",category:"github",risk_level:"low",required_env:["GITHUB_TOKEN"],enabled_default:!1,allowlist_required:!1,allowlist_default_allow:!0,rate_limit:{window_seconds:60,max:60},input_schema:{type:"object",properties:{repo_full_name:{type:"string",description:"Repository in owner/repo format."},state:{type:"string",description:"Issue state: open, closed, all. Default open."},labels:{type:"string",description:"Comma-separated label names to filter by."},per_page:{type:"number",description:"Results per page, 1-100. Default 30."}},required:["repo_full_name"]}},{name:"gh_issue_create",title:"Create an issue",description:"Create an issue in an allowlisted GitHub repository.",category:"github",risk_level:"medium",required_env:["GITHUB_TOKEN"],enabled_default:!1,allowlist_required:!0,allowlist_scope_key:"repo_full_name",rate_limit:{window_seconds:3600,max:20},input_schema:{type:"object",properties:{repo_full_name:{type:"string",description:"Repository in owner/repo format."},title:{type:"string",description:"Issue title."},body:{type:"string",description:"Issue body in Markdown."},labels:{type:"array",items:{type:"string"},description:"Labels to apply."},assignees:{type:"array",items:{type:"string"},description:"GitHub usernames to assign."}},required:["repo_full_name","title"]}},{name:"gh_issue_comment",title:"Comment on an issue",description:"Post a comment on a GitHub issue in an allowlisted repository.",category:"github",risk_level:"medium",required_env:["GITHUB_TOKEN"],enabled_default:!1,allowlist_required:!0,allowlist_scope_key:"repo_full_name",rate_limit:{window_seconds:3600,max:30},input_schema:{type:"object",properties:{repo_full_name:{type:"string",description:"Repository in owner/repo format."},issue_number:{type:"number",description:"Issue number."},body:{type:"string",description:"Comment body in Markdown."}},required:["repo_full_name","issue_number","body"]}},{name:"gh_pr_list",title:"List pull requests",description:"List pull requests in a GitHub repository with optional filters.",category:"github",risk_level:"low",required_env:["GITHUB_TOKEN"],enabled_default:!1,allowlist_required:!1,allowlist_default_allow:!0,rate_limit:{window_seconds:60,max:60},input_schema:{type:"object",properties:{repo_full_name:{type:"string",description:"Repository in owner/repo format."},state:{type:"string",description:"PR state: open, closed, all. Default open."},head:{type:"string",description:"Filter by head branch (user:branch)."},base:{type:"string",description:"Filter by base branch name."},per_page:{type:"number",description:"Results per page, 1-100. Default 30."}},required:["repo_full_name"]}},{name:"gh_pr_create",title:"Open a pull request",description:"Open a pull request in an allowlisted GitHub repository.",category:"github",risk_level:"high",required_env:["GITHUB_TOKEN"],enabled_default:!1,allowlist_required:!0,allowlist_scope_key:"repo_full_name",rate_limit:{window_seconds:3600,max:10},input_schema:{type:"object",properties:{repo_full_name:{type:"string",description:"Repository in owner/repo format."},title:{type:"string",description:"PR title."},head:{type:"string",description:"Head branch (source)."},base:{type:"string",description:"Base branch (target)."},body:{type:"string",description:"PR description in Markdown."},draft:{type:"boolean",description:"Open as a draft PR."}},required:["repo_full_name","title","head","base"]}},{name:"gh_pr_comment",title:"Comment on a pull request",description:"Post a comment on a GitHub pull request in an allowlisted repository.",category:"github",risk_level:"medium",required_env:["GITHUB_TOKEN"],enabled_default:!1,allowlist_required:!0,allowlist_scope_key:"repo_full_name",rate_limit:{window_seconds:3600,max:30},input_schema:{type:"object",properties:{repo_full_name:{type:"string",description:"Repository in owner/repo format."},pr_number:{type:"number",description:"Pull request number."},body:{type:"string",description:"Comment body in Markdown."}},required:["repo_full_name","pr_number","body"]}},{name:"gh_pr_merge",title:"Merge a pull request",description:"Merge a pull request in an allowlisted GitHub repository. This action is irreversible once completed.",category:"github",risk_level:"irreversible_external",required_env:["GITHUB_TOKEN"],enabled_default:!1,allowlist_required:!0,allowlist_scope_key:"repo_full_name",rate_limit:{window_seconds:3600,max:5},input_schema:{type:"object",properties:{repo_full_name:{type:"string",description:"Repository in owner/repo format."},pr_number:{type:"number",description:"Pull request number."},commit_title:{type:"string",description:"Custom commit title for squash merge."},commit_message:{type:"string",description:"Custom commit message for squash merge."},merge_method:{type:"string",description:"Merge method: merge, squash, rebase. Default squash."}},required:["repo_full_name","pr_number"]}},{name:"gh_actions_dispatch",title:"Run a GitHub workflow",description:"Trigger a workflow dispatch event in an allowlisted GitHub repository.",category:"github",risk_level:"high",required_env:["GITHUB_TOKEN"],enabled_default:!1,allowlist_required:!0,allowlist_scope_key:"repo_full_name",rate_limit:{window_seconds:3600,max:10},input_schema:{type:"object",properties:{repo_full_name:{type:"string",description:"Repository in owner/repo format."},workflow_id:{type:"string",description:"Workflow filename or ID (e.g. deploy.yml)."},ref:{type:"string",description:"Branch or tag to run the workflow on."},inputs:{type:"object",description:"Optional workflow dispatch inputs."}},required:["repo_full_name","workflow_id","ref"]}},{name:"gh_release_create",title:"Publish a release",description:"Create a release in an allowlisted GitHub repository.",category:"github",risk_level:"high",required_env:["GITHUB_TOKEN"],enabled_default:!1,allowlist_required:!0,allowlist_scope_key:"repo_full_name",rate_limit:{window_seconds:3600,max:5},input_schema:{type:"object",properties:{repo_full_name:{type:"string",description:"Repository in owner/repo format."},tag_name:{type:"string",description:"Git tag for the release."},target_commitish:{type:"string",description:"Commit SHA or branch to tag."},name:{type:"string",description:"Release title."},body:{type:"string",description:"Release notes in Markdown."},draft:{type:"boolean",description:"Create as a draft release."},prerelease:{type:"boolean",description:"Mark as a pre-release."}},required:["repo_full_name","tag_name"]}},{name:"flight_search",title:"Search flights",description:"Search flight offers and return curated price + itinerary data. Uses Amadeus when AMADEUS_CLIENT_ID and AMADEUS_CLIENT_SECRET are configured, otherwise falls back to a free, key-less Google Flights backend lookup.",category:"travel",risk_level:"low",required_env:[],enabled_default:!0,allowlist_required:!1,allowlist_default_allow:!0,rate_limit:{window_seconds:60,max:60},input_schema:{type:"object",properties:{origin:{type:"string",description:'Origin airport IATA code, e.g. "JFK".'},destination:{type:"string",description:'Destination airport IATA code, e.g. "LHR".'},departure_date:{type:"string",description:"Departure date YYYY-MM-DD."},return_date:{type:"string",description:"Optional return date YYYY-MM-DD for round-trip search."},adults:{type:"number",description:"Adult passengers 1-9. Default 1."},children:{type:"number",description:"Child passengers 0-8."},travel_class:{type:"string",description:"ECONOMY | PREMIUM_ECONOMY | BUSINESS | FIRST."},currency:{type:"string",description:"3-letter ISO currency code. Default USD."},non_stop:{type:"boolean",description:"Only return non-stop itineraries."},max_results:{type:"number",description:"Max offers 1-25. Default 5."}},required:["origin","destination","departure_date"]}},{name:"flight_status",title:"Check flight status",description:"Look up live or scheduled flight status via Aviationstack. Returns departure, arrival, delay, and live position.",category:"travel",risk_level:"low",required_env:["AVIATIONSTACK_API_KEY"],enabled_default:!0,allowlist_required:!1,allowlist_default_allow:!0,rate_limit:{window_seconds:60,max:60},input_schema:{type:"object",properties:{flight_iata:{type:"string",description:'Flight IATA code, e.g. "BA283".'},flight_icao:{type:"string",description:"Flight ICAO code."},airline_iata:{type:"string",description:'Filter by airline IATA, e.g. "BA".'},dep_iata:{type:"string",description:"Departure airport IATA."},arr_iata:{type:"string",description:"Arrival airport IATA."},flight_date:{type:"string",description:"Flight date YYYY-MM-DD."},limit:{type:"number",description:"Max results 1-100. Default 5."}}}},{name:"hotel_search",title:"Search hotels",description:"List hotels at a TripAdvisor location via Xotelo. No API key required. Returns hotel_keys you can pass to hotel_rates.",category:"travel",risk_level:"low",required_env:[],enabled_default:!0,allowlist_required:!1,allowlist_default_allow:!0,rate_limit:{window_seconds:60,max:60},input_schema:{type:"object",properties:{location_key:{type:"string",description:'TripAdvisor geo location key, e.g. "g60763" for New York City.'},offset:{type:"number",description:"Pagination offset. Default 0."},limit:{type:"number",description:"Results 1-30. Default 10."},sort:{type:"string",description:"popularity | price | rating."},currency:{type:"string",description:"3-letter ISO currency. Default USD."},hotel_class:{type:"string",description:'Filter by star class, e.g. "4,5".'}},required:["location_key"]}},{name:"hotel_rates",title:"Check hotel rates",description:"Get real-time hotel rates from Booking.com, Expedia, Hotels.com, Agoda, etc. via Xotelo. No API key required.",category:"travel",risk_level:"low",required_env:[],enabled_default:!0,allowlist_required:!1,allowlist_default_allow:!0,rate_limit:{window_seconds:60,max:60},input_schema:{type:"object",properties:{hotel_key:{type:"string",description:'TripAdvisor hotel key, e.g. "g60763-d224867". Obtain from hotel_search.'},chk_in:{type:"string",description:"Check-in date YYYY-MM-DD."},chk_out:{type:"string",description:"Check-out date YYYY-MM-DD (must be after chk_in)."},currency:{type:"string",description:"3-letter ISO currency. Default USD."},rooms:{type:"number",description:"Rooms 1-9. Default 1."},adults:{type:"number",description:"Adults 1-9. Default 2."}},required:["hotel_key","chk_in","chk_out"]}},{name:"gmail_messages_list",title:"List Gmail messages",description:"Read message metadata from the operator Gmail inbox.",category:"email",risk_level:"low",approval_mode:"auto",required_env:["GOOGLE_REFRESH_TOKEN"],enabled_default:!0,allowlist_required:!1,rate_limit:{window_seconds:60,max:60},input_schema:{type:"object",properties:{max_results:{type:"number"},q:{type:"string"}}}},{name:"gmail_message_read",title:"Read a Gmail message",description:"Read one Gmail message for summarization or drafting.",category:"email",risk_level:"low",approval_mode:"auto",required_env:["GOOGLE_REFRESH_TOKEN"],enabled_default:!0,allowlist_required:!1,rate_limit:{window_seconds:60,max:60},input_schema:{type:"object",properties:{message_id:{type:"string"}},required:["message_id"]}},{name:"gmail_thread_read",title:"Read a Gmail thread",description:"Read a Gmail thread for context.",category:"email",risk_level:"low",approval_mode:"auto",required_env:["GOOGLE_REFRESH_TOKEN"],enabled_default:!0,allowlist_required:!1,rate_limit:{window_seconds:60,max:60},input_schema:{type:"object",properties:{thread_id:{type:"string"}},required:["thread_id"]}},{name:"calendar_events_list",title:"List calendar events",description:"Read upcoming Google Calendar events.",category:"calendar",risk_level:"low",approval_mode:"auto",required_env:["GOOGLE_REFRESH_TOKEN"],enabled_default:!0,allowlist_required:!1,rate_limit:{window_seconds:60,max:60},input_schema:{type:"object",properties:{calendar_id:{type:"string"},time_min:{type:"string"},time_max:{type:"string"},max_results:{type:"number"}}}},{name:"calendar_event_read",title:"Read a calendar event",description:"Read one Google Calendar event.",category:"calendar",risk_level:"low",approval_mode:"auto",required_env:["GOOGLE_REFRESH_TOKEN"],enabled_default:!0,allowlist_required:!1,rate_limit:{window_seconds:60,max:60},input_schema:{type:"object",properties:{event_id:{type:"string"},calendar_id:{type:"string"}},required:["event_id"]}},{name:"transcribe_audio",title:"Transcribe audio",description:"Transcribe a Disk audio file and save the transcript as a Disk artifact. Provider: openai (whisper, default), elevenlabs (Scribe), or local.",category:"local_machine",risk_level:"medium",approval_mode:"approval_required",required_env:[],enabled_default:!0,allowlist_required:!1,rate_limit:{window_seconds:3600,max:10},input_schema:{type:"object",properties:{file_id:{type:"string"},use_local:{type:"boolean"},provider:{type:"string",description:'Transcription provider: openai | elevenlabs | local. Defaults to TRANSCRIBE_DEFAULT_PROVIDER or "openai".'},language:{type:"string"}},required:["file_id"]}},{name:"voice_speak",title:"Speak text aloud",description:"Synthesize a short text reply to audio via OpenAI TTS (default) or ElevenLabs. Returns base64 audio; optionally saves to Disk.",category:"voice",risk_level:"low",approval_mode:"auto",required_env:[["OPENAI_API_KEY","ELEVENLABS_API_KEY"]],enabled_default:!0,allowlist_required:!1,rate_limit:{window_seconds:3600,max:60},input_schema:{type:"object",properties:{text:{type:"string",description:"Text to synthesize. Up to 4000 chars."},provider:{type:"string",description:"Provider: openai (default) or elevenlabs."},voice:{type:"string",description:"Provider-specific voice id. OpenAI: alloy|echo|fable|onyx|nova|shimmer. ElevenLabs: voice id."},model:{type:"string"},format:{type:"string",description:"mp3 (default) or wav."},save_to_disk:{type:"boolean"},project_id:{type:"string"}},required:["text"]}},{name:"printing_press_install",title:"Install Printing Press sub-package",description:"Install the printing-press sub-package required to generate scoped CLIs. Always approval-gated.",category:"cli_generator",risk_level:"irreversible_external",approval_required:!0,approval_mode:"approval_required",enabled_default:!1,allowlist_required:!1,rate_limit:{window_seconds:3600,max:5},input_schema:{type:"object",properties:{},required:[]}},{name:"printing_press_generate",title:"Generate a scoped CLI",description:"Generate a new scoped CLI from a starter pack, GitHub repo, or local source.",category:"cli_generator",risk_level:"irreversible_external",approval_required:!0,approval_mode:"approval_required",enabled_default:!1,allowlist_required:!1,rate_limit:{window_seconds:3600,max:20},input_schema:{type:"object",properties:{slug:{type:"string",description:"Lowercase kebab-case CLI slug."},source:{type:"string",description:"starter-pack | github | local | spec"},source_url:{type:"string",description:"Required when source is not starter-pack."}},required:["slug"]}},{name:"printing_press_run",title:"Run an installed CLI",description:"Execute a previously-installed printing-press CLI with bounded args.",category:"cli_generator",risk_level:"high",approval_mode:"approval_required",enabled_default:!1,allowlist_required:!0,allowlist_scope_key:"printing_press_cli",allowlist_default_allow:!1,rate_limit:{window_seconds:60,max:30},input_schema:{type:"object",properties:{slug:{type:"string",description:"CLI slug to run."},args:{type:"array",items:{type:"string"},description:"Bounded arg list (no shell metacharacters)."},printing_press_cli:{type:"string",description:"Slug used by the allowlist gate. Must equal `slug`."}},required:["slug"]}},{name:"create_workflow_definition",title:"Create workflow definition",description:'Create a new process workflow from a JSON spec. The spec is validated against lib/process/spec-validator.js. The new definition is published immediately at status="published" — cases can be started from it. Risk-gated by approval.',category:"workflow",risk_level:"medium",approval_required:!0,approval_mode:"approval_required",required_env:[],enabled_default:!0,allowlist_required:!1,rate_limit:{window_seconds:3600,max:20},input_schema:{type:"object",properties:{spec:{type:"object",description:"Full workflow spec JSON. Must include schema_version, slug, name, version, stages[]. First stage must be intake_form. See ai-docs/process-engine.md and the validator at lib/process/spec-validator.js for the full schema."},approval_id:{type:"string",description:"Approval request ID for one-shot execution."}},required:["spec"]}},{name:"update_workflow_definition",title:"Update workflow definition",description:"Update an existing process workflow at a given slug. Spec is re-validated. version must be bumped if the stage list changed structurally. In-flight cases keep their old definition_id; new cases use the new version.",category:"workflow",risk_level:"medium",approval_required:!0,approval_mode:"approval_required",required_env:[],enabled_default:!0,allowlist_required:!1,rate_limit:{window_seconds:3600,max:20},input_schema:{type:"object",properties:{slug:{type:"string",description:"Slug of the existing workflow to update."},spec:{type:"object",description:"Full workflow spec JSON. slug is forced to match the path slug."},approval_id:{type:"string",description:"Approval request ID for one-shot execution."}},required:["slug","spec"]}},{name:"self_update",title:"Update madarX OS",description:"Update the madarX OS install to the latest published version (npm i -g madarx@latest). Irreversible-external: an agent calling this ALWAYS requires owner approval — it can never silently replace the running binary. A restart is required after a successful update.",category:"system",risk_level:"irreversible_external",required_env:[],enabled_default:!1,allowlist_required:!1,rate_limit:{window_seconds:86400,max:4},input_schema:{type:"object",properties:{approval_id:{type:"string",description:"Approval request ID for one-shot execution."}},required:[]}},{name:"printing_press_query",title:"Query an installed CLI SQLite mirror",description:"Run a single read-only SELECT against a CLI local SQLite mirror, if it exposes one.",category:"cli_generator",risk_level:"low",approval_mode:"auto",enabled_default:!1,allowlist_required:!0,allowlist_scope_key:"printing_press_cli",allowlist_default_allow:!1,rate_limit:{window_seconds:60,max:60},input_schema:{type:"object",properties:{slug:{type:"string",description:"CLI slug whose SQLite mirror to query."},sql:{type:"string",description:"Single SELECT statement. Multi-statement SQL is refused."},printing_press_cli:{type:"string",description:"Slug used by the allowlist gate. Must equal the slug."}},required:["slug","sql"]}},{name:"mines_project_create",title:"Create mine project",description:"Create a new mine project workspace and register it in the Mines module.",category:"mines",risk_level:"medium",approval_required:!0,approval_mode:"approval_required",required_env:[],enabled_default:!0,allowlist_required:!1,rate_limit:{window_seconds:3600,max:30},input_schema:{type:"object",properties:{name:{type:"string"},slug:{type:"string",description:'Lowercase kebab-case, e.g. "batamote"'},asset_stage:{type:"string",enum:["exploration","development","production","care_and_maintenance","unknown"]},commodity:{type:"string"},deposit_type:{type:"string"},approval_id:{type:"string"}},required:["name","slug"]}},{name:"mines_project_read",title:"Read mine project summary",description:"Read a mine project record including data completeness and document counts by category.",category:"mines",risk_level:"low",approval_mode:"auto",required_env:[],enabled_default:!0,allowlist_required:!1,rate_limit:{window_seconds:60,max:60},input_schema:{type:"object",properties:{project_id:{type:"string"}},required:["project_id"]}},{name:"mines_catalog_import",title:"Import portfolio catalog",description:"Load a master project catalog XLSX into Portfolio and PortfolioEntry records.",category:"mines",risk_level:"medium",approval_required:!0,approval_mode:"approval_required",required_env:[],enabled_default:!0,allowlist_required:!1,rate_limit:{window_seconds:3600,max:10},input_schema:{type:"object",properties:{file_id:{type:"string",description:"Disk file ID of the XLSX catalog."},portfolio_name:{type:"string"},sheet_name:{type:"string",description:"Optional sheet override."},approval_id:{type:"string"}},required:["file_id","portfolio_name"]}},{name:"mines_data_import",title:"Bulk import mine data directory",description:"Walk a directory tree, auto-classify files by folder taxonomy, and enqueue each file for ingestion. Incremental and resumable.",category:"mines",risk_level:"high",approval_required:!0,approval_mode:"approval_required",required_env:[],enabled_default:!0,allowlist_required:!1,rate_limit:{window_seconds:3600,max:5},input_schema:{type:"object",properties:{project_id:{type:"string"},directory_path:{type:"string"},resume:{type:"boolean",description:"Skip files already past queued status."},approval_id:{type:"string"}},required:["project_id","directory_path"]}},{name:"mines_document_extract",title:"Extract and embed document",description:"Parse a source document (PDF/DOCX/PPTX), OCR if scanned, chunk text, and embed chunks. Spanish-first.",category:"mines",risk_level:"medium",approval_required:!0,approval_mode:"approval_required",required_env:[],enabled_default:!0,allowlist_required:!1,rate_limit:{window_seconds:3600,max:20},input_schema:{type:"object",properties:{source_document_id:{type:"string"},force_ocr:{type:"boolean"},approval_id:{type:"string"}},required:["source_document_id"]}},{name:"mines_spatial_index",title:"Index spatial assets",description:"Read GIS/CAD file metadata (kind, CRS, bounding box) without rendering geometry.",category:"mines",risk_level:"low",approval_mode:"auto",required_env:[],enabled_default:!0,allowlist_required:!1,rate_limit:{window_seconds:60,max:60},input_schema:{type:"object",properties:{project_id:{type:"string"},source_document_id:{type:"string",description:"Index a single already-catalogued file."}},required:["project_id"]}},{name:"mines_extract_facts",title:"Extract structured facts from documents (LLM)",description:"Read a project document's indexed chunks and extract structured, provenance-cited geology/economics facts into mines_extracted_facts. Every fact is validated to cite a real chunk + verbatim quote; uncited facts are rejected. Never declares a mineral resource the source did not. Feeds mines_report_generate and mines_valuation_run.",category:"mines",risk_level:"medium",approval_required:!0,approval_mode:"approval_required",required_env:[],enabled_default:!0,allowlist_required:!1,rate_limit:{window_seconds:3600,max:20},input_schema:{type:"object",properties:{project_id:{type:"string"},source_document_id:{type:"string",description:"Document to extract from. Defaults to the project's most-chunked document (its technical report)."},max_chunks:{type:"number",description:"Max chunks fed to the model. Default 48."},char_budget:{type:"number",description:"Max source characters per call. Default 32000."},approval_id:{type:"string"}},required:["project_id"]}},{name:"mines_assumption_validate",title:"Validate valuation assumptions",description:"Check completeness of data required for T1 or T2 valuation and return a gap list.",category:"mines",risk_level:"low",approval_mode:"auto",required_env:[],enabled_default:!0,allowlist_required:!1,rate_limit:{window_seconds:60,max:60},input_schema:{type:"object",properties:{project_id:{type:"string"},target_tier:{type:"string",enum:["t1_in_situ","t2_dcf","auto"]}},required:["project_id"]}},{name:"mines_valuation_run",title:"Run tiered mine valuation",description:"Compute base/downside/upside valuation. Selects T1 (in-situ) or T2 (DCF) based on asset stage and data completeness. States tier and rationale.",category:"mines",risk_level:"high",approval_required:!0,approval_mode:"approval_required",required_env:[],enabled_default:!0,allowlist_required:!1,rate_limit:{window_seconds:3600,max:10},input_schema:{type:"object",properties:{project_id:{type:"string"},commodity_prices_json:{type:"string",description:'JSON price override e.g. {"Au":2300,"Cu":4.2}. Defaults to latest mines_market_snapshots.'},in_situ_factor_override:{type:"number"},force_tier:{type:"string",enum:["t1_in_situ","t2_dcf"]},approval_id:{type:"string"}},required:["project_id"]}},{name:"mines_sensitivity_run",title:"Run valuation sensitivity analysis",description:"Compute sensitivity of valuation to key drivers (grade, price, recovery, in_situ_factor, discount_rate).",category:"mines",risk_level:"high",approval_required:!0,approval_mode:"approval_required",required_env:[],enabled_default:!0,allowlist_required:!1,rate_limit:{window_seconds:3600,max:10},input_schema:{type:"object",properties:{scenario_id:{type:"string"},drivers:{type:"array",items:{type:"string"}},steps:{type:"number",description:"Steps per driver. Default 5."},approval_id:{type:"string"}},required:["scenario_id"]}},{name:"mines_market_snapshot",title:"Fetch commodity market data",description:"Retrieve current commodity prices from an approved market data provider.",category:"mines",risk_level:"medium",approval_required:!0,approval_mode:"approval_required",required_env:["MINES_MARKET_API_KEY"],enabled_default:!1,allowlist_required:!0,allowlist_scope_key:"market_provider_host",allowlist_default_allow:!1,rate_limit:{window_seconds:60,max:60},input_schema:{type:"object",properties:{commodities:{type:"array",items:{type:"string"}},market_provider_host:{type:"string",description:'e.g. "metals-api.com". Must be in allowlist.'},approval_id:{type:"string"}},required:["market_provider_host"]}},{name:"mines_report_generate",title:"Generate mine project report",description:"Generate a cited, structured report artifact. External email send always requires separate irreversible_external approval.",category:"mines",risk_level:"high",approval_required:!0,approval_mode:"approval_required",required_env:[],enabled_default:!0,allowlist_required:!1,rate_limit:{window_seconds:3600,max:5},input_schema:{type:"object",properties:{project_id:{type:"string"},report_kind:{type:"string",enum:["interpretation_memo","due_diligence_memo","data_quality_report","investor_presentation","pfs_readiness_report","valuation_report","due_diligence_questions","project_package","portfolio_screen"]},scenario_id:{type:"string",description:"Required for valuation_report."},space_id:{type:"string",description:"Optional dashboard space to publish into. Defaults to the project’s configured default space; the artifact is pinned there so it appears as a window on the dashboard board."},language:{type:"string",enum:["en","es"],description:'Default "en".'},narrative:{type:"object",description:"LLM-authored prose slots (all optional, each falls back to data-driven copy). For investor_presentation: hero_headline, hero_subhead (strings); opportunity (array of paragraph strings); findings_lead, upside_lead, risk_lead, the_ask (strings). For pfs_readiness_report: verdict, gap_intro, work_program, recommendation (strings). Numbers/figures are never taken from here — they always come from cited DB rows.",properties:{hero_headline:{type:"string"},hero_subhead:{type:"string"},opportunity:{type:"array",items:{type:"string"}},findings_lead:{type:"string"},upside_lead:{type:"string"},risk_lead:{type:"string"},the_ask:{type:"string"},verdict:{type:"string"},gap_intro:{type:"string"},work_program:{type:"string"},recommendation:{type:"string"}}},send_email:{type:"boolean"},recipient_email:{type:"string"},approval_id:{type:"string"}},required:["project_id","report_kind"]}},{name:"create_skill",title:"Author skill",description:"Author a declarative skill (SKILL.md + marketplace row) any agent can invoke. Instructions only — no code executes. Owner/admin authority required.",category:"authoring",risk_level:"medium",approval_required:!0,approval_mode:"approval_required",required_env:[],enabled_default:!0,allowlist_required:!1,input_schema:{type:"object",properties:{spec:{type:"object",description:"{ slug, title, description?, markdown, invocation?, trigger_examples?[], category? }"},approval_id:{type:"string"}},required:["spec"]}},{name:"update_skill",title:"Update skill",description:"Update an existing authored skill by slug. Owner/admin authority required.",category:"authoring",risk_level:"medium",approval_required:!0,approval_mode:"approval_required",required_env:[],enabled_default:!0,allowlist_required:!1,input_schema:{type:"object",properties:{slug:{type:"string"},spec:{type:"object"},approval_id:{type:"string"}},required:["slug","spec"]}},{name:"create_composite_tool",title:"Author composite tool",description:"Author a composite tool: a declarative recipe chaining EXISTING primitive tools + LLM steps. Inherits the MAX risk of its steps; every gate re-fires per sub-step. Owner/admin authority required.",category:"authoring",risk_level:"medium",approval_required:!0,approval_mode:"approval_required",required_env:[],enabled_default:!0,allowlist_required:!1,input_schema:{type:"object",properties:{spec:{type:"object",description:'{ slug, title, description?, input_schema?, steps:[{kind:"tool_call"|"llm_synthesis"|"artifact_write", id, ...}] }'},approval_id:{type:"string"}},required:["spec"]}},{name:"update_composite_tool",title:"Update composite tool",description:"Update an existing composite tool by slug. Owner/admin authority required.",category:"authoring",risk_level:"medium",approval_required:!0,approval_mode:"approval_required",required_env:[],enabled_default:!0,allowlist_required:!1,input_schema:{type:"object",properties:{slug:{type:"string"},spec:{type:"object"},approval_id:{type:"string"}},required:["slug","spec"]}},{name:"create_connector",title:"Author API connector",description:"Author a declarative REST API connector (Option D). Each endpoint becomes a callable <slug>.<endpoint> tool backed by the generic http_api_call executor. Manifest is inert data: https-only, secret-by-reference auth, host allowlist, per-endpoint risk ceiling. Owner/admin authority required. The owner supplies the API key once.",category:"authoring",risk_level:"medium",approval_required:!0,approval_mode:"approval_required",required_env:[],enabled_default:!0,allowlist_required:!1,input_schema:{type:"object",properties:{manifest:{type:"object",description:"{ slug, base_url(https), allowed_hosts[], auth:{type,secret_ref|username_ref/password_ref,header?,prefix?,query_param?}, default_headers?, endpoints:{ name:{method,path,risk?,input_schema?} } }"},approval_id:{type:"string"}},required:["manifest"]}},{name:"update_connector",title:"Update API connector",description:"Update an existing API connector by slug. Owner/admin authority required.",category:"authoring",risk_level:"medium",approval_required:!0,approval_mode:"approval_required",required_env:[],enabled_default:!0,allowlist_required:!1,input_schema:{type:"object",properties:{slug:{type:"string"},manifest:{type:"object"},approval_id:{type:"string"}},required:["slug","manifest"]}},{name:"propose_tool",title:"Propose new tool (code-gen)",description:"Option B escape hatch for non-REST integrations: generate an adapter scaffold + registry snippet + tests into a staging dir. The proposal is INERT — it is never callable until a human reviews, merges, and restarts. Writes files only; executes nothing.",category:"authoring",risk_level:"medium",approval_required:!0,approval_mode:"approval_required",required_env:[],enabled_default:!0,allowlist_required:!1,input_schema:{type:"object",properties:{slug:{type:"string",description:"snake_case tool name"},summary:{type:"string"},risk:{type:"string",enum:["low","medium","high","irreversible_external"]},approval_id:{type:"string"}},required:["slug"]}}],al={web_search:o.tE,web_fetch:o.dV,web_extract:o.IY,email_send:p.x,email_status_lookup:p.f,supabase_list_projects:q.NO,supabase_rest_select:q.TP,supabase_rest_insert:q.c3,supabase_rest_upsert:q.mD,supabase_rest_update:q.sX,supabase_rest_delete:q.oc,supabase_rpc:q.wm,supabase_sql:q.l8,vercel_list_projects:r.Q$,vercel_list_deployments:r.I6,vercel_create_deployment:r.vV,gh_repo_read:s.Sj,gh_repo_list:s.AU,gh_issue_list:s.jj,gh_issue_create:s.vj,gh_issue_comment:s.iP,gh_pr_list:s.gn,gh_pr_create:s.Ud,gh_pr_comment:s.J,gh_pr_merge:s.wt,gh_actions_dispatch:s.zI,gh_release_create:s.Bb,file_read:t.dd,directory_list:t.sv,file_search:t.X,file_write:t.sq,file_patch:t.vO,terminal_run:u.y,process_start:v.gy,process_poll:v.p3,process_kill:v.MU,flight_search:w.R5,flight_status:w.zP,hotel_search:w.FE,hotel_rates:w.Y$,gmail_messages_list:x.r_,gmail_message_read:x.cS,gmail_thread_read:x.vg,calendar_events_list:y.u,calendar_event_read:y.r,transcribe_audio:z.b,browser_harness_run:A.K,browser_open:C.D6,browser_act:C.Hz,browser_extract:C.aU,browser_screenshot:C.Jz,browser_navigate:B.M,browser_extract_structured:B.B,voice_speak:D.o,printing_press_install:E.gE,printing_press_generate:E.ID,printing_press_run:E.Cw,printing_press_query:E.VC,create_workflow_definition:F.h,update_workflow_definition:F.m,self_update:G.m,create_skill:H.S,update_skill:H.f,create_composite_tool:I.y$,update_composite_tool:I.le,create_connector:J.U$,update_connector:J.zc,propose_tool:K.B,http_api_call:L.p,composite_tool_run:M.n,mines_project_create:P.m,mines_project_read:P.I,mines_catalog_import:Q.b,mines_data_import:R.I,mines_document_extract:S.f,mines_extract_facts:Y.$,mines_spatial_index:T.d,mines_assumption_validate:U.w,mines_valuation_run:V.R,mines_sensitivity_run:V.h,mines_market_snapshot:W.V,mines_report_generate:X.Q},am={file_write:t.Z6,file_patch:t.mr,terminal_run:u.x,process_start:v.H7,process_kill:v.L7,browser_harness_run:A.r},an=new Set;function $(a){try{if((0,j.r6)(a))return!0}catch{}return!!process.env[a]&&(an.has(a)||(an.add(a),console.warn(`[secrets] ${a} is being read from process.env as a fallback. Migrate it to the vault with: node scripts/migrate-env-to-secrets.mjs`)),!0)}function _(a=[]){return a.filter(a=>Array.isArray(a)?!a.some(a=>$(a)):!$(a)).map(a=>Array.isArray(a)?a.join(" or "):a)}let ao=[{marker:"tool.repair.flight_search_enable_v1",tool_name:"flight_search",summary:"One-shot: enable flight_search on installs where the Amadeus→Google fallback shipped after the row was created."}];function aa(a,b){try{let c=JSON.parse(a||"[]");return Array.isArray(c)?c:b}catch{return b}}function ab(){let a=new Set,b=new Map;for(let c of ak)a.add(c.name),b.set(c.name,c.risk_level||"medium");return{names:a,riskByName:b}}function ac({agent_id:a,tool_name:b,status:c,summary:d,meta:e={}}){a&&(0,f.Lf)().prepare(`
1040
+ `).run((0,e.kF)(),a.id),j(a.id,{type:"stale_recovered",message:"Recovered stale lease"});return b.length&&h(),b.length}[e,f]=g.then?(await g)():g,d()}catch(a){d(a)}})},68571:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{VM:()=>ab,hM:()=>ah});var e=c(77598),f=c(84104),g=c(67354),h=c(66324),i=c(684),j=c(81909),k=c(24867),l=c(37788),m=c(49248),n=c(37937),o=c(89145),p=c(35532),q=c(23339),r=c(22896),s=c(2796),t=c(27746),u=c(80781),v=c(78712),w=c(20749),x=c(32409),y=c(94387),z=c(59080),A=c(32244),B=c(75392),C=c(61415),D=c(96084),E=c(71844),F=c(16483),G=c(23799),H=c(45510),I=c(41039),J=c(85855),K=c(14821),L=c(45599),M=c(76862),N=c(84939),O=c(80028),P=c(98450),Q=c(78547),R=c(59728),S=c(36665),T=c(36393),U=c(71326),V=c(9203),W=c(37047),X=c(26940),Y=c(86615),Z=a([f,g,h,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,B,C,D,E,F,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,X,Y]);[f,g,h,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,B,C,D,E,F,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,X,Y]=Z.then?(await Z)():Z;let ai="approval_required",aj=new Set(["approval_required","auto"]),ak=[{name:"file_read",title:"Read file",description:"Read a bounded file inside approved local roots. Secret files are blocked.",category:"local_machine",risk_level:"low",approval_mode:"auto",required_env:[],enabled_default:!0,allowlist_required:!1,input_schema:{type:"object",properties:{path:{type:"string"},offset:{type:"number"},limit:{type:"number"}},required:["path"]}},{name:"directory_list",title:"List folder",description:"List directory entries inside approved local roots.",category:"local_machine",risk_level:"low",approval_mode:"auto",required_env:[],enabled_default:!0,allowlist_required:!1,input_schema:{type:"object",properties:{path:{type:"string"},limit:{type:"number"}}}},{name:"file_search",title:"Search files",description:"Search safe local files while skipping build output, dependencies, databases, and secret files.",category:"local_machine",risk_level:"low",approval_mode:"auto",required_env:[],enabled_default:!0,allowlist_required:!1,input_schema:{type:"object",properties:{pattern:{type:"string"},path:{type:"string"},target:{type:"string"},file_glob:{type:"string"},limit:{type:"number"}},required:["pattern"]}},{name:"file_write",title:"Write file",description:"Write a file inside approved local roots after owner approval.",category:"local_machine",risk_level:"high",approval_required:!0,approval_mode:"approval_required",required_env:[],enabled_default:!0,allowlist_required:!1,rate_limit:{window_seconds:60,max:30},input_schema:{type:"object",properties:{path:{type:"string"},content:{type:"string"},create_dirs:{type:"boolean"},approval_id:{type:"string"}},required:["path","content"]}},{name:"file_patch",title:"Edit file",description:"Patch a file inside approved local roots after owner approval.",category:"local_machine",risk_level:"high",approval_required:!0,approval_mode:"approval_required",required_env:[],enabled_default:!0,allowlist_required:!1,rate_limit:{window_seconds:60,max:30},input_schema:{type:"object",properties:{path:{type:"string"},old_string:{type:"string"},new_string:{type:"string"},replace_all:{type:"boolean"},approval_id:{type:"string"}},required:["path","old_string","new_string"]}},{name:"terminal_run",title:"Run command",description:"Run a bounded local command with spawn command and args, never shell:true.",category:"local_machine",risk_level:"medium",approval_mode:"policy",required_env:[],enabled_default:!0,allowlist_required:!1,rate_limit:{window_seconds:60,max:20},input_schema:{type:"object",properties:{command:{type:"string"},args:{type:"array",items:{type:"string"}},cwd:{type:"string"},timeout_ms:{type:"number"},approval_id:{type:"string"}},required:["command"]}},{name:"process_start",title:"Start process",description:"Start a madarX-owned local process and persist process state.",category:"local_machine",risk_level:"medium",approval_mode:"policy",required_env:[],enabled_default:!0,allowlist_required:!1,rate_limit:{window_seconds:60,max:20},input_schema:{type:"object",properties:{command:{type:"string"},args:{type:"array",items:{type:"string"}},cwd:{type:"string"},approval_id:{type:"string"}},required:["command"]}},{name:"process_poll",title:"Check process",description:"Poll a madarX-owned local process row.",category:"local_machine",risk_level:"low",approval_mode:"auto",required_env:[],enabled_default:!0,allowlist_required:!1,input_schema:{type:"object",properties:{process_id:{type:"string"}},required:["process_id"]}},{name:"process_kill",title:"Stop process",description:"Stop a madarX-owned process after owner approval.",category:"local_machine",risk_level:"high",approval_required:!0,approval_mode:"approval_required",required_env:[],enabled_default:!0,allowlist_required:!1,rate_limit:{window_seconds:60,max:20},input_schema:{type:"object",properties:{process_id:{type:"string"},approval_id:{type:"string"}},required:["process_id"]}},{name:"web_search",title:"Search the web",description:"Search the public web with Firecrawl, SearXNG, Brave Search, or the no-key DuckDuckGo Lite fallback, returning ranked results with title, URL, snippet, and source metadata.",category:"web",risk_level:"low",required_env:[],enabled_default:!0,allowlist_required:!1,allowlist_default_allow:!0,rate_limit:{window_seconds:60,max:60},input_schema:{type:"object",properties:{query:{type:"string",description:"Search query."},count:{type:"number",description:"Number of results, 1-10. Default 5."},country:{type:"string",description:"Optional Brave country code, e.g. US."},search_lang:{type:"string",description:"Optional search language, e.g. en."}},required:["query"]}},{name:"web_fetch",title:"Fetch a webpage",description:"Fetch a public URL, block local/private network targets, strip HTML to readable text, and cap response size.",category:"web",risk_level:"low",required_env:[],enabled_default:!0,allowlist_required:!1,allowlist_default_allow:!0,rate_limit:{window_seconds:60,max:60},input_schema:{type:"object",properties:{url:{type:"string",description:"Public http(s) URL to fetch."},max_bytes:{type:"number",description:"Maximum response bytes, capped at 512000."}},required:["url"]}},{name:"web_extract",title:"Extract from webpage",description:"Extract readable content from a public URL with Firecrawl scrape when configured, otherwise fall back to direct web fetch.",category:"web",risk_level:"low",required_env:[],enabled_default:!0,allowlist_required:!1,allowlist_default_allow:!0,rate_limit:{window_seconds:60,max:60},input_schema:{type:"object",properties:{url:{type:"string",description:"Public http(s) URL to extract."},max_bytes:{type:"number",description:"Maximum response bytes for direct fetch fallback, capped at 512000."}},required:["url"]}},{name:"browser_harness_run",title:"Browser Harness",description:"Run a bounded browser-harness Python snippet against an activated Chrome CDP browser. This is local-code-execution risk: it starts disabled and requires owner approval for every main-agent or sub-agent execution.",category:"browser",risk_level:"irreversible_external",approval_required:!0,approval_mode:"approval_required",required_env:[],enabled_default:!1,allowlist_required:!1,rate_limit:{window_seconds:60,max:20},input_schema:{type:"object",properties:{script:{type:"string",description:"Python code executed by browser-harness. Helpers are pre-imported; use new_tab(url), wait_for_load(), page_info(), capture_screenshot(), click_at_xy(), js(), or cdp()."},timeout_ms:{type:"number",description:"Timeout in milliseconds, capped at 600000. Default 120000."},approval_id:{type:"string",description:"Approval request ID for one-shot execution."}},required:["script"]}},{name:"browser_open",title:"Browser Open (Playwright)",description:"Open a URL in a real headless Chromium and return the final URL, page title, and visible text. Use this (not browser_navigate) for JavaScript-rendered pages, SPAs, or anything that needs a real browser. The page persists across calls so you can browser_act / browser_extract on it next.",category:"browser",risk_level:"medium",required_env:[],enabled_default:!1,allowlist_required:!1,allowlist_default_allow:!0,rate_limit:{window_seconds:60,max:30},input_schema:{type:"object",properties:{url:{type:"string",description:"Public http(s) URL to open."},wait_for:{type:"string",description:"Optional CSS selector to wait for after load."},timeout_ms:{type:"number",description:"Navigation timeout in ms (default 30000, max 120000)."}},required:["url"]}},{name:"browser_act",title:"Browser Act (Playwright)",description:"Interact with the currently open page: click, fill, type, select, press a key, scroll, or wait. State-changing — gated for approval in approval-required trust mode. Locate elements with a CSS selector or a Playwright text= selector. Does NOT expand the agent's permissions; it only drives the page already loaded by browser_open.",category:"browser",risk_level:"high",required_env:[],enabled_default:!1,allowlist_required:!1,rate_limit:{window_seconds:60,max:60},input_schema:{type:"object",properties:{action:{type:"string",enum:["click","fill","type","select","press","scroll","wait"],description:"Interaction to perform."},selector:{type:"string",description:"CSS selector or Playwright text= selector for the target element. Required for click/fill/type/select/press."},text:{type:"string",description:"Text to fill/type (for fill/type), or option value (for select)."},value:{type:"string",description:"Option value for select (alternative to text)."},key:{type:"string",description:"Key to press for the press action (default Enter)."},timeout_ms:{type:"number",description:"Action timeout in ms (default 30000, max 120000)."}},required:["action"]}},{name:"browser_extract",title:"Browser Extract (Playwright)",description:"Read content from the currently open page: visible text (default), raw HTML, or JSON-LD blocks. Optionally scoped to a CSS selector. Use after browser_open / browser_act to pull the rendered result.",category:"browser",risk_level:"medium",required_env:[],enabled_default:!1,allowlist_required:!1,allowlist_default_allow:!0,rate_limit:{window_seconds:60,max:60},input_schema:{type:"object",properties:{mode:{type:"string",enum:["text","html","json-ld"],default:"text",description:"What to extract."},selector:{type:"string",description:"Optional CSS selector to scope extraction."}}}},{name:"browser_screenshot",title:"Browser Screenshot (Playwright)",description:"Capture a PNG screenshot of the currently open page (or a selector / full page). Saved to disk under data/browser-screenshots; returns the file path.",category:"browser",risk_level:"medium",required_env:[],enabled_default:!1,allowlist_required:!1,allowlist_default_allow:!0,rate_limit:{window_seconds:60,max:20},input_schema:{type:"object",properties:{selector:{type:"string",description:"Optional CSS selector to screenshot just one element."},full_page:{type:"boolean",description:"Capture the full scrollable page (default false)."}}}},{name:"browser_navigate",title:"Browser Navigate",description:"Fetch a URL with Chrome 124 headers, cookie jar, redirect following, and configurable extraction (text, markdown, json-ld, metadata, raw). Falls back gracefully on JS-only pages.",category:"web",risk_level:"low",required_env:[],enabled_default:!0,allowlist_required:!1,allowlist_default_allow:!0,rate_limit:{window_ms:6e4,max:30},input_schema:{type:"object",properties:{url:{type:"string",description:"HTTP/HTTPS URL"},extract:{type:"string",enum:["text","markdown","json-ld","metadata","raw"],default:"text"},selector:{type:"string",description:"Optional CSS-like selector: tag, #id, or .class"},wait_for:{type:"string",description:"Optional substring expected in response; returns hint if missing"},max_chars:{type:"integer",default:12e3,maximum:5e4}},required:["url"]}},{name:"browser_extract_structured",title:"Browser Extract Structured",description:"Fetch a URL and extract both JSON-LD structured data and page metadata (title, og:*, meta tags) in one call.",category:"web",risk_level:"low",required_env:[],enabled_default:!0,allowlist_required:!1,allowlist_default_allow:!0,rate_limit:{window_ms:6e4,max:30},input_schema:{type:"object",properties:{url:{type:"string"}},required:["url"]}},{name:"supabase_list_projects",title:"List Supabase projects",description:"List Supabase projects available to the configured personal access token.",category:"supabase",risk_level:"medium",required_env:["SUPABASE_ACCESS_TOKEN"],enabled_default:!1,allowlist_required:!1,rate_limit:{window_seconds:60,max:60},input_schema:{type:"object",properties:{}}},{name:"supabase_rest_select",title:"Read database rows",description:"Read rows from a Supabase table using the REST API with optional filters and limit.",category:"supabase",risk_level:"medium",required_env:["SUPABASE_URL",["SUPABASE_SERVICE_ROLE_KEY","SUPABASE_ANON_KEY"]],enabled_default:!1,allowlist_required:!1,rate_limit:{window_seconds:60,max:60},input_schema:{type:"object",properties:{table:{type:"string",description:"Table name."},select:{type:"string",description:"PostgREST select expression. Default *."},filters:{type:"object",description:"Column filters. Values may be raw PostgREST operators or plain values for eq."},limit:{type:"number",description:"Maximum rows, 1-100. Default 25."}},required:["table"]}},{name:"supabase_rest_insert",title:"Add database rows",description:"Insert one or more rows into a Supabase table using the REST API. Returns the inserted rows.",category:"supabase",risk_level:"medium",required_env:["SUPABASE_URL",["SUPABASE_SERVICE_ROLE_KEY","SUPABASE_ANON_KEY"]],enabled_default:!1,allowlist_required:!0,allowlist_scope_key:"table",allowlist_default_allow:!1,rate_limit:{window_seconds:60,max:30},input_schema:{type:"object",properties:{table:{type:"string",description:"Target table name (schema-qualified allowed, e.g. auth.users)."},rows:{type:"array",items:{type:"object"},description:"Array of row objects to insert."},approval_id:{type:"string",description:"Approval request ID for one-shot execution."}},required:["table","rows"]}},{name:"supabase_rest_upsert",title:"Add or update rows",description:"Upsert one or more rows into a Supabase table. Merges on conflict. Returns affected rows.",category:"supabase",risk_level:"medium",required_env:["SUPABASE_URL",["SUPABASE_SERVICE_ROLE_KEY","SUPABASE_ANON_KEY"]],enabled_default:!1,allowlist_required:!0,allowlist_scope_key:"table",allowlist_default_allow:!1,rate_limit:{window_seconds:60,max:30},input_schema:{type:"object",properties:{table:{type:"string",description:"Target table name."},rows:{type:"array",items:{type:"object"},description:"Array of row objects to upsert."},on_conflict:{type:"string",description:"Comma-separated column(s) to resolve conflicts on."},approval_id:{type:"string",description:"Approval request ID for one-shot execution."}},required:["table","rows"]}},{name:"supabase_rest_update",title:"Update database rows",description:"Update rows in a Supabase table matching the given filters. Filters are required — table-wide updates are blocked.",category:"supabase",risk_level:"high",approval_required:!0,approval_mode:"approval_required",required_env:["SUPABASE_URL",["SUPABASE_SERVICE_ROLE_KEY","SUPABASE_ANON_KEY"]],enabled_default:!1,allowlist_required:!0,allowlist_scope_key:"table",allowlist_default_allow:!1,rate_limit:{window_seconds:60,max:30},input_schema:{type:"object",properties:{table:{type:"string",description:"Target table name."},patch:{type:"object",description:"Column values to set on matching rows."},filters:{type:"object",description:"Row filters. At least one filter is required."},approval_id:{type:"string",description:"Approval request ID for one-shot execution."}},required:["table","patch","filters"]}},{name:"supabase_rest_delete",title:"Delete database rows",description:"Delete rows from a Supabase table matching the given filters. Filters are required — bulk table truncation is blocked. Always requires approval regardless of trust mode.",category:"supabase",risk_level:"irreversible_external",approval_required:!0,approval_mode:"approval_required",required_env:["SUPABASE_URL",["SUPABASE_SERVICE_ROLE_KEY","SUPABASE_ANON_KEY"]],enabled_default:!1,allowlist_required:!0,allowlist_scope_key:"table",allowlist_default_allow:!1,rate_limit:{window_seconds:3600,max:10},input_schema:{type:"object",properties:{table:{type:"string",description:"Target table name."},filters:{type:"object",description:"Row filters. At least one filter is required."},approval_id:{type:"string",description:"Approval request ID for one-shot execution."}},required:["table","filters"]}},{name:"supabase_rpc",title:"Call database function",description:"Call a Postgres function via the Supabase REST RPC endpoint.",category:"supabase",risk_level:"high",approval_required:!0,approval_mode:"approval_required",required_env:["SUPABASE_URL",["SUPABASE_SERVICE_ROLE_KEY","SUPABASE_ANON_KEY"]],enabled_default:!1,allowlist_required:!0,allowlist_scope_key:"function_name",allowlist_default_allow:!1,rate_limit:{window_seconds:60,max:30},input_schema:{type:"object",properties:{function_name:{type:"string",description:"Postgres function name to call."},params:{type:"object",description:"Parameters passed as the request body."},approval_id:{type:"string",description:"Approval request ID for one-shot execution."}},required:["function_name"]}},{name:"supabase_sql",title:"Run SQL query",description:"Execute raw SQL via the madarx_exec_sql() Postgres function. Uses the service-role key and BYPASSES Row-Level Security. Always requires approval regardless of trust mode. Requires creating the madarx_exec_sql() function in your project.",category:"supabase",risk_level:"irreversible_external",approval_required:!0,approval_mode:"approval_required",required_env:["SUPABASE_URL",["SUPABASE_SERVICE_ROLE_KEY","SUPABASE_ANON_KEY"]],enabled_default:!1,allowlist_required:!1,allowlist_default_allow:!0,rate_limit:{window_seconds:3600,max:5},input_schema:{type:"object",properties:{query:{type:"string",description:"SQL query to execute via madarx_exec_sql()."},params:{type:"object",description:"Optional named parameters for the query."},approval_id:{type:"string",description:"Approval request ID for one-shot execution."}},required:["query"]}},{name:"vercel_list_projects",title:"List Vercel projects",description:"List Vercel projects visible to the configured token.",category:"vercel",risk_level:"medium",required_env:["VERCEL_TOKEN"],enabled_default:!1,allowlist_required:!1,rate_limit:{window_seconds:60,max:60},input_schema:{type:"object",properties:{team_id:{type:"string",description:"Optional Vercel team id."},limit:{type:"number",description:"Maximum projects."}}}},{name:"vercel_list_deployments",title:"List Vercel deployments",description:"List Vercel deployments, optionally scoped by project.",category:"vercel",risk_level:"medium",required_env:["VERCEL_TOKEN"],enabled_default:!1,allowlist_required:!1,rate_limit:{window_seconds:60,max:60},input_schema:{type:"object",properties:{team_id:{type:"string",description:"Optional Vercel team id."},project_id:{type:"string",description:"Optional Vercel project id."},project_name:{type:"string",description:"Optional Vercel project name."},limit:{type:"number",description:"Maximum deployments."}}}},{name:"vercel_create_deployment",title:"Deploy to Vercel",description:"Stage a Vercel deployment request for owner approval. This does not deploy until approved.",category:"vercel",risk_level:"high",required_env:["VERCEL_TOKEN"],enabled_default:!1,approval_required:!0,allowlist_required:!1,rate_limit:{window_seconds:3600,max:5},input_schema:{type:"object",properties:{summary:{type:"string",description:"Deployment purpose and requested target."}}}},{name:"email_send",title:"Send email",description:"Send a transactional email via Resend. Approval is required.",category:"email",risk_level:"irreversible_external",approval_required:!0,approval_mode:"approval_required",required_env:["RESEND_API_KEY"],enabled_default:!1,allowlist_required:!0,allowlist_scope_key:"recipient_domain",allowlist_default_allow:!1,rate_limit:{window_seconds:3600,max:20},input_schema:{type:"object",properties:{from:{type:"string",description:"Sender address. Defaults to RESEND_FROM_EMAIL secret/env."},to:{type:"string",description:'Single recipient email address, e.g. "user@example.com".'},subject:{type:"string",description:"Email subject line."},text:{type:"string",description:"Plain-text email body. Either text or html is required."},html:{type:"string",description:"HTML email body. Either text or html is required."},reply_to:{type:"string",description:"Reply-to address."},recipient_domain:{type:"string",description:'Domain portion of the "to" address, e.g. "example.com". Must match the domain in "to" exactly — used by the allowlist gate.'},approval_id:{type:"string",description:"Approval request ID to consume for one-shot execution."}},required:["to","subject"]}},{name:"email_status_lookup",title:"Check email delivery",description:"Look up the delivery status of a previously-sent email.",category:"email",risk_level:"low",required_env:["RESEND_API_KEY"],enabled_default:!1,allowlist_required:!1,rate_limit:{window_seconds:60,max:60},input_schema:{type:"object",properties:{email_id:{type:"string",description:"Resend email ID returned by email_send."}},required:["email_id"]}},{name:"gh_repo_read",title:"Read a GitHub repo",description:"Read metadata for a GitHub repository (name, visibility, default branch, stars, forks).",category:"github",risk_level:"low",required_env:["GITHUB_TOKEN"],enabled_default:!1,allowlist_required:!1,allowlist_default_allow:!0,rate_limit:{window_seconds:60,max:60},input_schema:{type:"object",properties:{repo_full_name:{type:"string",description:"Repository in owner/repo format, e.g. acme/api."}},required:["repo_full_name"]}},{name:"gh_repo_list",title:"List GitHub repos",description:"List GitHub repositories accessible to the configured token.",category:"github",risk_level:"low",required_env:["GITHUB_TOKEN"],enabled_default:!1,allowlist_required:!1,allowlist_default_allow:!0,rate_limit:{window_seconds:60,max:60},input_schema:{type:"object",properties:{visibility:{type:"string",description:"Filter by visibility: all, public, private."},type:{type:"string",description:"Filter by type: all, owner, member."},sort:{type:"string",description:"Sort by: created, updated, pushed, full_name."},per_page:{type:"number",description:"Results per page, 1-100. Default 30."}}}},{name:"gh_issue_list",title:"List issues",description:"List issues in a GitHub repository with optional state and label filters.",category:"github",risk_level:"low",required_env:["GITHUB_TOKEN"],enabled_default:!1,allowlist_required:!1,allowlist_default_allow:!0,rate_limit:{window_seconds:60,max:60},input_schema:{type:"object",properties:{repo_full_name:{type:"string",description:"Repository in owner/repo format."},state:{type:"string",description:"Issue state: open, closed, all. Default open."},labels:{type:"string",description:"Comma-separated label names to filter by."},per_page:{type:"number",description:"Results per page, 1-100. Default 30."}},required:["repo_full_name"]}},{name:"gh_issue_create",title:"Create an issue",description:"Create an issue in an allowlisted GitHub repository.",category:"github",risk_level:"medium",required_env:["GITHUB_TOKEN"],enabled_default:!1,allowlist_required:!0,allowlist_scope_key:"repo_full_name",rate_limit:{window_seconds:3600,max:20},input_schema:{type:"object",properties:{repo_full_name:{type:"string",description:"Repository in owner/repo format."},title:{type:"string",description:"Issue title."},body:{type:"string",description:"Issue body in Markdown."},labels:{type:"array",items:{type:"string"},description:"Labels to apply."},assignees:{type:"array",items:{type:"string"},description:"GitHub usernames to assign."}},required:["repo_full_name","title"]}},{name:"gh_issue_comment",title:"Comment on an issue",description:"Post a comment on a GitHub issue in an allowlisted repository.",category:"github",risk_level:"medium",required_env:["GITHUB_TOKEN"],enabled_default:!1,allowlist_required:!0,allowlist_scope_key:"repo_full_name",rate_limit:{window_seconds:3600,max:30},input_schema:{type:"object",properties:{repo_full_name:{type:"string",description:"Repository in owner/repo format."},issue_number:{type:"number",description:"Issue number."},body:{type:"string",description:"Comment body in Markdown."}},required:["repo_full_name","issue_number","body"]}},{name:"gh_pr_list",title:"List pull requests",description:"List pull requests in a GitHub repository with optional filters.",category:"github",risk_level:"low",required_env:["GITHUB_TOKEN"],enabled_default:!1,allowlist_required:!1,allowlist_default_allow:!0,rate_limit:{window_seconds:60,max:60},input_schema:{type:"object",properties:{repo_full_name:{type:"string",description:"Repository in owner/repo format."},state:{type:"string",description:"PR state: open, closed, all. Default open."},head:{type:"string",description:"Filter by head branch (user:branch)."},base:{type:"string",description:"Filter by base branch name."},per_page:{type:"number",description:"Results per page, 1-100. Default 30."}},required:["repo_full_name"]}},{name:"gh_pr_create",title:"Open a pull request",description:"Open a pull request in an allowlisted GitHub repository.",category:"github",risk_level:"high",required_env:["GITHUB_TOKEN"],enabled_default:!1,allowlist_required:!0,allowlist_scope_key:"repo_full_name",rate_limit:{window_seconds:3600,max:10},input_schema:{type:"object",properties:{repo_full_name:{type:"string",description:"Repository in owner/repo format."},title:{type:"string",description:"PR title."},head:{type:"string",description:"Head branch (source)."},base:{type:"string",description:"Base branch (target)."},body:{type:"string",description:"PR description in Markdown."},draft:{type:"boolean",description:"Open as a draft PR."}},required:["repo_full_name","title","head","base"]}},{name:"gh_pr_comment",title:"Comment on a pull request",description:"Post a comment on a GitHub pull request in an allowlisted repository.",category:"github",risk_level:"medium",required_env:["GITHUB_TOKEN"],enabled_default:!1,allowlist_required:!0,allowlist_scope_key:"repo_full_name",rate_limit:{window_seconds:3600,max:30},input_schema:{type:"object",properties:{repo_full_name:{type:"string",description:"Repository in owner/repo format."},pr_number:{type:"number",description:"Pull request number."},body:{type:"string",description:"Comment body in Markdown."}},required:["repo_full_name","pr_number","body"]}},{name:"gh_pr_merge",title:"Merge a pull request",description:"Merge a pull request in an allowlisted GitHub repository. This action is irreversible once completed.",category:"github",risk_level:"irreversible_external",required_env:["GITHUB_TOKEN"],enabled_default:!1,allowlist_required:!0,allowlist_scope_key:"repo_full_name",rate_limit:{window_seconds:3600,max:5},input_schema:{type:"object",properties:{repo_full_name:{type:"string",description:"Repository in owner/repo format."},pr_number:{type:"number",description:"Pull request number."},commit_title:{type:"string",description:"Custom commit title for squash merge."},commit_message:{type:"string",description:"Custom commit message for squash merge."},merge_method:{type:"string",description:"Merge method: merge, squash, rebase. Default squash."}},required:["repo_full_name","pr_number"]}},{name:"gh_actions_dispatch",title:"Run a GitHub workflow",description:"Trigger a workflow dispatch event in an allowlisted GitHub repository.",category:"github",risk_level:"high",required_env:["GITHUB_TOKEN"],enabled_default:!1,allowlist_required:!0,allowlist_scope_key:"repo_full_name",rate_limit:{window_seconds:3600,max:10},input_schema:{type:"object",properties:{repo_full_name:{type:"string",description:"Repository in owner/repo format."},workflow_id:{type:"string",description:"Workflow filename or ID (e.g. deploy.yml)."},ref:{type:"string",description:"Branch or tag to run the workflow on."},inputs:{type:"object",description:"Optional workflow dispatch inputs."}},required:["repo_full_name","workflow_id","ref"]}},{name:"gh_release_create",title:"Publish a release",description:"Create a release in an allowlisted GitHub repository.",category:"github",risk_level:"high",required_env:["GITHUB_TOKEN"],enabled_default:!1,allowlist_required:!0,allowlist_scope_key:"repo_full_name",rate_limit:{window_seconds:3600,max:5},input_schema:{type:"object",properties:{repo_full_name:{type:"string",description:"Repository in owner/repo format."},tag_name:{type:"string",description:"Git tag for the release."},target_commitish:{type:"string",description:"Commit SHA or branch to tag."},name:{type:"string",description:"Release title."},body:{type:"string",description:"Release notes in Markdown."},draft:{type:"boolean",description:"Create as a draft release."},prerelease:{type:"boolean",description:"Mark as a pre-release."}},required:["repo_full_name","tag_name"]}},{name:"flight_search",title:"Search flights",description:"Search flight offers and return curated price + itinerary data. Uses Amadeus when AMADEUS_CLIENT_ID and AMADEUS_CLIENT_SECRET are configured, otherwise falls back to a free, key-less Google Flights backend lookup.",category:"travel",risk_level:"low",required_env:[],enabled_default:!0,allowlist_required:!1,allowlist_default_allow:!0,rate_limit:{window_seconds:60,max:60},input_schema:{type:"object",properties:{origin:{type:"string",description:'Origin airport IATA code, e.g. "JFK".'},destination:{type:"string",description:'Destination airport IATA code, e.g. "LHR".'},departure_date:{type:"string",description:"Departure date YYYY-MM-DD."},return_date:{type:"string",description:"Optional return date YYYY-MM-DD for round-trip search."},adults:{type:"number",description:"Adult passengers 1-9. Default 1."},children:{type:"number",description:"Child passengers 0-8."},travel_class:{type:"string",description:"ECONOMY | PREMIUM_ECONOMY | BUSINESS | FIRST."},currency:{type:"string",description:"3-letter ISO currency code. Default USD."},non_stop:{type:"boolean",description:"Only return non-stop itineraries."},max_results:{type:"number",description:"Max offers 1-25. Default 5."}},required:["origin","destination","departure_date"]}},{name:"flight_status",title:"Check flight status",description:"Look up live or scheduled flight status via Aviationstack. Returns departure, arrival, delay, and live position.",category:"travel",risk_level:"low",required_env:["AVIATIONSTACK_API_KEY"],enabled_default:!0,allowlist_required:!1,allowlist_default_allow:!0,rate_limit:{window_seconds:60,max:60},input_schema:{type:"object",properties:{flight_iata:{type:"string",description:'Flight IATA code, e.g. "BA283".'},flight_icao:{type:"string",description:"Flight ICAO code."},airline_iata:{type:"string",description:'Filter by airline IATA, e.g. "BA".'},dep_iata:{type:"string",description:"Departure airport IATA."},arr_iata:{type:"string",description:"Arrival airport IATA."},flight_date:{type:"string",description:"Flight date YYYY-MM-DD."},limit:{type:"number",description:"Max results 1-100. Default 5."}}}},{name:"hotel_search",title:"Search hotels",description:"List hotels at a TripAdvisor location via Xotelo. No API key required. Returns hotel_keys you can pass to hotel_rates.",category:"travel",risk_level:"low",required_env:[],enabled_default:!0,allowlist_required:!1,allowlist_default_allow:!0,rate_limit:{window_seconds:60,max:60},input_schema:{type:"object",properties:{location_key:{type:"string",description:'TripAdvisor geo location key, e.g. "g60763" for New York City.'},offset:{type:"number",description:"Pagination offset. Default 0."},limit:{type:"number",description:"Results 1-30. Default 10."},sort:{type:"string",description:"popularity | price | rating."},currency:{type:"string",description:"3-letter ISO currency. Default USD."},hotel_class:{type:"string",description:'Filter by star class, e.g. "4,5".'}},required:["location_key"]}},{name:"hotel_rates",title:"Check hotel rates",description:"Get real-time hotel rates from Booking.com, Expedia, Hotels.com, Agoda, etc. via Xotelo. No API key required.",category:"travel",risk_level:"low",required_env:[],enabled_default:!0,allowlist_required:!1,allowlist_default_allow:!0,rate_limit:{window_seconds:60,max:60},input_schema:{type:"object",properties:{hotel_key:{type:"string",description:'TripAdvisor hotel key, e.g. "g60763-d224867". Obtain from hotel_search.'},chk_in:{type:"string",description:"Check-in date YYYY-MM-DD."},chk_out:{type:"string",description:"Check-out date YYYY-MM-DD (must be after chk_in)."},currency:{type:"string",description:"3-letter ISO currency. Default USD."},rooms:{type:"number",description:"Rooms 1-9. Default 1."},adults:{type:"number",description:"Adults 1-9. Default 2."}},required:["hotel_key","chk_in","chk_out"]}},{name:"gmail_messages_list",title:"List Gmail messages",description:"Read message metadata from the operator Gmail inbox.",category:"email",risk_level:"low",approval_mode:"auto",required_env:["GOOGLE_REFRESH_TOKEN"],enabled_default:!0,allowlist_required:!1,rate_limit:{window_seconds:60,max:60},input_schema:{type:"object",properties:{max_results:{type:"number"},q:{type:"string"}}}},{name:"gmail_message_read",title:"Read a Gmail message",description:"Read one Gmail message for summarization or drafting.",category:"email",risk_level:"low",approval_mode:"auto",required_env:["GOOGLE_REFRESH_TOKEN"],enabled_default:!0,allowlist_required:!1,rate_limit:{window_seconds:60,max:60},input_schema:{type:"object",properties:{message_id:{type:"string"}},required:["message_id"]}},{name:"gmail_thread_read",title:"Read a Gmail thread",description:"Read a Gmail thread for context.",category:"email",risk_level:"low",approval_mode:"auto",required_env:["GOOGLE_REFRESH_TOKEN"],enabled_default:!0,allowlist_required:!1,rate_limit:{window_seconds:60,max:60},input_schema:{type:"object",properties:{thread_id:{type:"string"}},required:["thread_id"]}},{name:"calendar_events_list",title:"List calendar events",description:"Read upcoming Google Calendar events.",category:"calendar",risk_level:"low",approval_mode:"auto",required_env:["GOOGLE_REFRESH_TOKEN"],enabled_default:!0,allowlist_required:!1,rate_limit:{window_seconds:60,max:60},input_schema:{type:"object",properties:{calendar_id:{type:"string"},time_min:{type:"string"},time_max:{type:"string"},max_results:{type:"number"}}}},{name:"calendar_event_read",title:"Read a calendar event",description:"Read one Google Calendar event.",category:"calendar",risk_level:"low",approval_mode:"auto",required_env:["GOOGLE_REFRESH_TOKEN"],enabled_default:!0,allowlist_required:!1,rate_limit:{window_seconds:60,max:60},input_schema:{type:"object",properties:{event_id:{type:"string"},calendar_id:{type:"string"}},required:["event_id"]}},{name:"transcribe_audio",title:"Transcribe audio",description:"Transcribe a Disk audio file and save the transcript as a Disk artifact. Provider: openai (whisper, default), elevenlabs (Scribe), or local.",category:"local_machine",risk_level:"medium",approval_mode:"approval_required",required_env:[],enabled_default:!0,allowlist_required:!1,rate_limit:{window_seconds:3600,max:10},input_schema:{type:"object",properties:{file_id:{type:"string"},use_local:{type:"boolean"},provider:{type:"string",description:'Transcription provider: openai | elevenlabs | local. Defaults to TRANSCRIBE_DEFAULT_PROVIDER or "openai".'},language:{type:"string"}},required:["file_id"]}},{name:"voice_speak",title:"Speak text aloud",description:"Synthesize a short text reply to audio via OpenAI TTS (default) or ElevenLabs. Returns base64 audio; optionally saves to Disk.",category:"voice",risk_level:"low",approval_mode:"auto",required_env:[["OPENAI_API_KEY","ELEVENLABS_API_KEY"]],enabled_default:!0,allowlist_required:!1,rate_limit:{window_seconds:3600,max:60},input_schema:{type:"object",properties:{text:{type:"string",description:"Text to synthesize. Up to 4000 chars."},provider:{type:"string",description:"Provider: openai (default) or elevenlabs."},voice:{type:"string",description:"Provider-specific voice id. OpenAI: alloy|echo|fable|onyx|nova|shimmer. ElevenLabs: voice id."},model:{type:"string"},format:{type:"string",description:"mp3 (default) or wav."},save_to_disk:{type:"boolean"},project_id:{type:"string"}},required:["text"]}},{name:"printing_press_install",title:"Install Printing Press sub-package",description:"Install the printing-press sub-package required to generate scoped CLIs. Always approval-gated.",category:"cli_generator",risk_level:"irreversible_external",approval_required:!0,approval_mode:"approval_required",enabled_default:!1,allowlist_required:!1,rate_limit:{window_seconds:3600,max:5},input_schema:{type:"object",properties:{},required:[]}},{name:"printing_press_generate",title:"Generate a scoped CLI",description:"Generate a new scoped CLI from a starter pack, GitHub repo, or local source.",category:"cli_generator",risk_level:"irreversible_external",approval_required:!0,approval_mode:"approval_required",enabled_default:!1,allowlist_required:!1,rate_limit:{window_seconds:3600,max:20},input_schema:{type:"object",properties:{slug:{type:"string",description:"Lowercase kebab-case CLI slug."},source:{type:"string",description:"starter-pack | github | local | spec"},source_url:{type:"string",description:"Required when source is not starter-pack."}},required:["slug"]}},{name:"printing_press_run",title:"Run an installed CLI",description:"Execute a previously-installed printing-press CLI with bounded args.",category:"cli_generator",risk_level:"high",approval_mode:"approval_required",enabled_default:!1,allowlist_required:!0,allowlist_scope_key:"printing_press_cli",allowlist_default_allow:!1,rate_limit:{window_seconds:60,max:30},input_schema:{type:"object",properties:{slug:{type:"string",description:"CLI slug to run."},args:{type:"array",items:{type:"string"},description:"Bounded arg list (no shell metacharacters)."},printing_press_cli:{type:"string",description:"Slug used by the allowlist gate. Must equal `slug`."}},required:["slug"]}},{name:"create_workflow_definition",title:"Create workflow definition",description:'Create a new process workflow from a JSON spec. The spec is validated against lib/process/spec-validator.js. The new definition is published immediately at status="published" — cases can be started from it. Risk-gated by approval.',category:"workflow",risk_level:"medium",approval_required:!0,approval_mode:"approval_required",required_env:[],enabled_default:!0,allowlist_required:!1,rate_limit:{window_seconds:3600,max:20},input_schema:{type:"object",properties:{spec:{type:"object",description:"Full workflow spec JSON. Must include schema_version, slug, name, version, stages[]. First stage must be intake_form. See ai-docs/process-engine.md and the validator at lib/process/spec-validator.js for the full schema."},approval_id:{type:"string",description:"Approval request ID for one-shot execution."}},required:["spec"]}},{name:"update_workflow_definition",title:"Update workflow definition",description:"Update an existing process workflow at a given slug. Spec is re-validated. version must be bumped if the stage list changed structurally. In-flight cases keep their old definition_id; new cases use the new version.",category:"workflow",risk_level:"medium",approval_required:!0,approval_mode:"approval_required",required_env:[],enabled_default:!0,allowlist_required:!1,rate_limit:{window_seconds:3600,max:20},input_schema:{type:"object",properties:{slug:{type:"string",description:"Slug of the existing workflow to update."},spec:{type:"object",description:"Full workflow spec JSON. slug is forced to match the path slug."},approval_id:{type:"string",description:"Approval request ID for one-shot execution."}},required:["slug","spec"]}},{name:"self_update",title:"Update madarX OS",description:"Update the madarX OS install to the latest published version (npm i -g madarx@latest). Irreversible-external: an agent calling this ALWAYS requires owner approval — it can never silently replace the running binary. A restart is required after a successful update.",category:"system",risk_level:"irreversible_external",required_env:[],enabled_default:!1,allowlist_required:!1,rate_limit:{window_seconds:86400,max:4},input_schema:{type:"object",properties:{approval_id:{type:"string",description:"Approval request ID for one-shot execution."}},required:[]}},{name:"printing_press_query",title:"Query an installed CLI SQLite mirror",description:"Run a single read-only SELECT against a CLI local SQLite mirror, if it exposes one.",category:"cli_generator",risk_level:"low",approval_mode:"auto",enabled_default:!1,allowlist_required:!0,allowlist_scope_key:"printing_press_cli",allowlist_default_allow:!1,rate_limit:{window_seconds:60,max:60},input_schema:{type:"object",properties:{slug:{type:"string",description:"CLI slug whose SQLite mirror to query."},sql:{type:"string",description:"Single SELECT statement. Multi-statement SQL is refused."},printing_press_cli:{type:"string",description:"Slug used by the allowlist gate. Must equal the slug."}},required:["slug","sql"]}},{name:"mines_project_create",title:"Create mine project",description:"Create a new mine project workspace and register it in the Mines module.",category:"mines",risk_level:"medium",approval_required:!0,approval_mode:"approval_required",required_env:[],enabled_default:!0,allowlist_required:!1,rate_limit:{window_seconds:3600,max:30},input_schema:{type:"object",properties:{name:{type:"string"},slug:{type:"string",description:'Lowercase kebab-case, e.g. "batamote"'},asset_stage:{type:"string",enum:["exploration","development","production","care_and_maintenance","unknown"]},commodity:{type:"string"},deposit_type:{type:"string"},approval_id:{type:"string"}},required:["name","slug"]}},{name:"mines_project_read",title:"Read mine project summary",description:"Read a mine project record including data completeness and document counts by category.",category:"mines",risk_level:"low",approval_mode:"auto",required_env:[],enabled_default:!0,allowlist_required:!1,rate_limit:{window_seconds:60,max:60},input_schema:{type:"object",properties:{project_id:{type:"string"}},required:["project_id"]}},{name:"mines_catalog_import",title:"Import portfolio catalog",description:"Load a master project catalog XLSX into Portfolio and PortfolioEntry records.",category:"mines",risk_level:"medium",approval_required:!0,approval_mode:"approval_required",required_env:[],enabled_default:!0,allowlist_required:!1,rate_limit:{window_seconds:3600,max:10},input_schema:{type:"object",properties:{file_id:{type:"string",description:"Disk file ID of the XLSX catalog."},portfolio_name:{type:"string"},sheet_name:{type:"string",description:"Optional sheet override."},approval_id:{type:"string"}},required:["file_id","portfolio_name"]}},{name:"mines_data_import",title:"Bulk import mine data directory",description:"Walk a directory tree, auto-classify files by folder taxonomy, and enqueue each file for ingestion. Incremental and resumable.",category:"mines",risk_level:"high",approval_required:!0,approval_mode:"approval_required",required_env:[],enabled_default:!0,allowlist_required:!1,rate_limit:{window_seconds:3600,max:5},input_schema:{type:"object",properties:{project_id:{type:"string"},directory_path:{type:"string"},resume:{type:"boolean",description:"Skip files already past queued status."},approval_id:{type:"string"}},required:["project_id","directory_path"]}},{name:"mines_document_extract",title:"Extract and embed document",description:"Parse a source document (PDF/DOCX/PPTX), OCR if scanned, chunk text, and embed chunks. Spanish-first.",category:"mines",risk_level:"medium",approval_required:!0,approval_mode:"approval_required",required_env:[],enabled_default:!0,allowlist_required:!1,rate_limit:{window_seconds:3600,max:20},input_schema:{type:"object",properties:{source_document_id:{type:"string"},force_ocr:{type:"boolean"},approval_id:{type:"string"}},required:["source_document_id"]}},{name:"mines_spatial_index",title:"Index spatial assets",description:"Read GIS/CAD file metadata (kind, CRS, bounding box) without rendering geometry.",category:"mines",risk_level:"low",approval_mode:"auto",required_env:[],enabled_default:!0,allowlist_required:!1,rate_limit:{window_seconds:60,max:60},input_schema:{type:"object",properties:{project_id:{type:"string"},source_document_id:{type:"string",description:"Index a single already-catalogued file."}},required:["project_id"]}},{name:"mines_extract_facts",title:"Extract structured facts from documents (LLM)",description:"Read a project document's indexed chunks and extract structured, provenance-cited geology/economics facts into mines_extracted_facts. Every fact is validated to cite a real chunk + verbatim quote; uncited facts are rejected. Never declares a mineral resource the source did not. Feeds mines_report_generate and mines_valuation_run.",category:"mines",risk_level:"medium",approval_required:!0,approval_mode:"approval_required",required_env:[],enabled_default:!0,allowlist_required:!1,rate_limit:{window_seconds:3600,max:20},input_schema:{type:"object",properties:{project_id:{type:"string"},source_document_id:{type:"string",description:"Document to extract from. Defaults to the project's most-chunked document (its technical report)."},max_chunks:{type:"number",description:"Max chunks fed to the model. Default 48."},char_budget:{type:"number",description:"Max source characters per call. Default 32000."},approval_id:{type:"string"}},required:["project_id"]}},{name:"mines_assumption_validate",title:"Validate valuation assumptions",description:"Check completeness of data required for T1 or T2 valuation and return a gap list.",category:"mines",risk_level:"low",approval_mode:"auto",required_env:[],enabled_default:!0,allowlist_required:!1,rate_limit:{window_seconds:60,max:60},input_schema:{type:"object",properties:{project_id:{type:"string"},target_tier:{type:"string",enum:["t1_in_situ","t2_dcf","auto"]}},required:["project_id"]}},{name:"mines_valuation_run",title:"Run tiered mine valuation",description:"Compute base/downside/upside valuation. Selects T1 (in-situ) or T2 (DCF) based on asset stage and data completeness. States tier and rationale.",category:"mines",risk_level:"high",approval_required:!0,approval_mode:"approval_required",required_env:[],enabled_default:!0,allowlist_required:!1,rate_limit:{window_seconds:3600,max:10},input_schema:{type:"object",properties:{project_id:{type:"string"},commodity_prices_json:{type:"string",description:'JSON price override e.g. {"Au":2300,"Cu":4.2}. Defaults to latest mines_market_snapshots.'},in_situ_factor_override:{type:"number"},force_tier:{type:"string",enum:["t1_in_situ","t2_dcf"]},approval_id:{type:"string"}},required:["project_id"]}},{name:"mines_sensitivity_run",title:"Run valuation sensitivity analysis",description:"Compute sensitivity of valuation to key drivers (grade, price, recovery, in_situ_factor, discount_rate).",category:"mines",risk_level:"high",approval_required:!0,approval_mode:"approval_required",required_env:[],enabled_default:!0,allowlist_required:!1,rate_limit:{window_seconds:3600,max:10},input_schema:{type:"object",properties:{scenario_id:{type:"string"},drivers:{type:"array",items:{type:"string"}},steps:{type:"number",description:"Steps per driver. Default 5."},approval_id:{type:"string"}},required:["scenario_id"]}},{name:"mines_market_snapshot",title:"Fetch commodity market data",description:"Retrieve current commodity prices from an approved market data provider.",category:"mines",risk_level:"medium",approval_required:!0,approval_mode:"approval_required",required_env:["MINES_MARKET_API_KEY"],enabled_default:!1,allowlist_required:!0,allowlist_scope_key:"market_provider_host",allowlist_default_allow:!1,rate_limit:{window_seconds:60,max:60},input_schema:{type:"object",properties:{commodities:{type:"array",items:{type:"string"}},market_provider_host:{type:"string",description:'e.g. "metals-api.com". Must be in allowlist.'},approval_id:{type:"string"}},required:["market_provider_host"]}},{name:"mines_report_generate",title:"Generate mine project report",description:"Generate a cited, structured report artifact. External email send always requires separate irreversible_external approval.",category:"mines",risk_level:"high",approval_required:!0,approval_mode:"approval_required",required_env:[],enabled_default:!0,allowlist_required:!1,rate_limit:{window_seconds:3600,max:5},input_schema:{type:"object",properties:{project_id:{type:"string"},report_kind:{type:"string",enum:["interpretation_memo","due_diligence_memo","data_quality_report","investor_presentation","pfs_readiness_report","valuation_report","due_diligence_questions","project_package","portfolio_screen"]},scenario_id:{type:"string",description:"Required for valuation_report."},space_id:{type:"string",description:"Optional dashboard space to publish into. Defaults to the project’s configured default space; the artifact is pinned there so it appears as a window on the dashboard board."},language:{type:"string",enum:["en","es"],description:'Default "en".'},narrative:{type:"object",description:"LLM-authored prose slots (all optional, each falls back to data-driven copy). For investor_presentation: hero_headline, hero_subhead (strings); opportunity (array of paragraph strings); findings_lead, upside_lead, risk_lead, the_ask (strings). For pfs_readiness_report: verdict, gap_intro, work_program, recommendation (strings). Numbers/figures are never taken from here — they always come from cited DB rows.",properties:{hero_headline:{type:"string"},hero_subhead:{type:"string"},opportunity:{type:"array",items:{type:"string"}},findings_lead:{type:"string"},upside_lead:{type:"string"},risk_lead:{type:"string"},the_ask:{type:"string"},verdict:{type:"string"},gap_intro:{type:"string"},work_program:{type:"string"},recommendation:{type:"string"}}},send_email:{type:"boolean"},recipient_email:{type:"string"},approval_id:{type:"string"}},required:["project_id","report_kind"]}},{name:"create_skill",title:"Author skill",description:"Author a declarative skill (SKILL.md + marketplace row) any agent can invoke. Instructions only — no code executes. Owner/admin authority required.",category:"authoring",risk_level:"medium",approval_required:!0,approval_mode:"approval_required",required_env:[],enabled_default:!0,allowlist_required:!1,input_schema:{type:"object",properties:{spec:{type:"object",description:"{ slug, title, description?, markdown, invocation?, trigger_examples?[], category? }"},approval_id:{type:"string"}},required:["spec"]}},{name:"update_skill",title:"Update skill",description:"Update an existing authored skill by slug. Owner/admin authority required.",category:"authoring",risk_level:"medium",approval_required:!0,approval_mode:"approval_required",required_env:[],enabled_default:!0,allowlist_required:!1,input_schema:{type:"object",properties:{slug:{type:"string"},spec:{type:"object"},approval_id:{type:"string"}},required:["slug","spec"]}},{name:"create_composite_tool",title:"Author composite tool",description:"Author a composite tool: a declarative recipe chaining EXISTING primitive tools + LLM steps. Inherits the MAX risk of its steps; every gate re-fires per sub-step. Owner/admin authority required.",category:"authoring",risk_level:"medium",approval_required:!0,approval_mode:"approval_required",required_env:[],enabled_default:!0,allowlist_required:!1,input_schema:{type:"object",properties:{spec:{type:"object",description:'{ slug, title, description?, input_schema?, steps:[{kind:"tool_call"|"llm_synthesis"|"artifact_write", id, ...}] }'},approval_id:{type:"string"}},required:["spec"]}},{name:"update_composite_tool",title:"Update composite tool",description:"Update an existing composite tool by slug. Owner/admin authority required.",category:"authoring",risk_level:"medium",approval_required:!0,approval_mode:"approval_required",required_env:[],enabled_default:!0,allowlist_required:!1,input_schema:{type:"object",properties:{slug:{type:"string"},spec:{type:"object"},approval_id:{type:"string"}},required:["slug","spec"]}},{name:"create_connector",title:"Author API connector",description:"Author a declarative REST API connector (Option D). Each endpoint becomes a callable <slug>.<endpoint> tool backed by the generic http_api_call executor. Manifest is inert data: https-only, secret-by-reference auth, host allowlist, per-endpoint risk ceiling. Owner/admin authority required. The owner supplies the API key once.",category:"authoring",risk_level:"medium",approval_required:!0,approval_mode:"approval_required",required_env:[],enabled_default:!0,allowlist_required:!1,input_schema:{type:"object",properties:{manifest:{type:"object",description:"{ slug, base_url(https), allowed_hosts[], auth:{type,secret_ref|username_ref/password_ref,header?,prefix?,query_param?}, default_headers?, endpoints:{ name:{method,path,risk?,input_schema?} } }"},approval_id:{type:"string"}},required:["manifest"]}},{name:"update_connector",title:"Update API connector",description:"Update an existing API connector by slug. Owner/admin authority required.",category:"authoring",risk_level:"medium",approval_required:!0,approval_mode:"approval_required",required_env:[],enabled_default:!0,allowlist_required:!1,input_schema:{type:"object",properties:{slug:{type:"string"},manifest:{type:"object"},approval_id:{type:"string"}},required:["slug","manifest"]}},{name:"propose_tool",title:"Propose new tool (code-gen)",description:"Option B escape hatch for non-REST integrations: generate an adapter scaffold + registry snippet + tests into a staging dir. The proposal is INERT — it is never callable until a human reviews, merges, and restarts. Writes files only; executes nothing.",category:"authoring",risk_level:"medium",approval_required:!0,approval_mode:"approval_required",required_env:[],enabled_default:!0,allowlist_required:!1,input_schema:{type:"object",properties:{slug:{type:"string",description:"snake_case tool name"},summary:{type:"string"},risk:{type:"string",enum:["low","medium","high","irreversible_external"]},approval_id:{type:"string"}},required:["slug"]}}],al={web_search:o.tE,web_fetch:o.dV,web_extract:o.IY,email_send:p.x,email_status_lookup:p.f,supabase_list_projects:q.NO,supabase_rest_select:q.TP,supabase_rest_insert:q.c3,supabase_rest_upsert:q.mD,supabase_rest_update:q.sX,supabase_rest_delete:q.oc,supabase_rpc:q.wm,supabase_sql:q.l8,vercel_list_projects:r.Q$,vercel_list_deployments:r.I6,vercel_create_deployment:r.vV,gh_repo_read:s.Sj,gh_repo_list:s.AU,gh_issue_list:s.jj,gh_issue_create:s.vj,gh_issue_comment:s.iP,gh_pr_list:s.gn,gh_pr_create:s.Ud,gh_pr_comment:s.J,gh_pr_merge:s.wt,gh_actions_dispatch:s.zI,gh_release_create:s.Bb,file_read:t.dd,directory_list:t.sv,file_search:t.X,file_write:t.sq,file_patch:t.vO,terminal_run:u.y,process_start:v.gy,process_poll:v.p3,process_kill:v.MU,flight_search:w.R5,flight_status:w.zP,hotel_search:w.FE,hotel_rates:w.Y$,gmail_messages_list:x.r_,gmail_message_read:x.cS,gmail_thread_read:x.vg,calendar_events_list:y.u,calendar_event_read:y.r,transcribe_audio:z.b,browser_harness_run:A.K,browser_open:C.D6,browser_act:C.Hz,browser_extract:C.aU,browser_screenshot:C.Jz,browser_navigate:B.M,browser_extract_structured:B.B,voice_speak:D.o,printing_press_install:E.gE,printing_press_generate:E.ID,printing_press_run:E.Cw,printing_press_query:E.VC,create_workflow_definition:F.h,update_workflow_definition:F.m,self_update:G.m,create_skill:H.S,update_skill:H.f,create_composite_tool:I.y$,update_composite_tool:I.le,create_connector:J.U$,update_connector:J.zc,propose_tool:K.B,http_api_call:L.p,composite_tool_run:M.n,mines_project_create:P.m,mines_project_read:P.I,mines_catalog_import:Q.b,mines_data_import:R.I,mines_document_extract:S.f,mines_extract_facts:Y.$,mines_spatial_index:T.d,mines_assumption_validate:U.w,mines_valuation_run:V.R,mines_sensitivity_run:V.h,mines_market_snapshot:W.V,mines_report_generate:X.Q},am={file_write:t.Z6,file_patch:t.mr,terminal_run:u.x,process_start:v.H7,process_kill:v.L7,browser_harness_run:A.r},an=new Set;function $(a){try{if((0,j.r6)(a))return!0}catch{}return!!process.env[a]&&(an.has(a)||(an.add(a),console.warn(`[secrets] ${a} is being read from process.env as a fallback. Migrate it to the vault with: node scripts/migrate-env-to-secrets.mjs`)),!0)}function _(a=[]){return a.filter(a=>Array.isArray(a)?!a.some(a=>$(a)):!$(a)).map(a=>Array.isArray(a)?a.join(" or "):a)}let ao=[{marker:"tool.repair.flight_search_enable_v1",tool_name:"flight_search",summary:"One-shot: enable flight_search on installs where the Amadeus→Google fallback shipped after the row was created."}];function aa(a,b){try{let c=JSON.parse(a||"[]");return Array.isArray(c)?c:b}catch{return b}}function ab(){let a=new Set,b=new Map;for(let c of ak)a.add(c.name),b.set(c.name,c.risk_level||"medium");return{names:a,riskByName:b}}function ac({agent_id:a,tool_name:b,status:c,summary:d,meta:e={}}){a&&(0,f.Lf)().prepare(`
1041
1041
  INSERT INTO audit_logs (id, at, type, summary, status, meta)
1042
1042
  VALUES (?, ?, ?, ?, ?, ?)
1043
1043
  `).run((0,f.Si)("audit"),(0,f.kF)(),`agent.tool.${c}`,d,c,JSON.stringify({agent_id:a,tool_name:b,...e}))}function ad(a,b){if("irreversible_external"===a.risk_level)return!0;if("terminal_run"===a.name||"process_start"===a.name){let a=String(b?.command||"");if(!a)return!1;let c=Array.isArray(b?.args)?b.args.map(String):[];return"irreversible_external"===(0,i.IB)(a,c).risk}return!1}function ae(a={}){let b={...a};return"string"==typeof b.content&&b.content.length>500&&(b.content=`[${b.content.length} chars]`),"string"==typeof b.new_string&&b.new_string.length>500&&(b.new_string=`[${b.new_string.length} chars]`),"approval_id"in b&&delete b.approval_id,b}let ap={create_workflow_definition:a=>({slug:a?.spec?.slug||null}),update_workflow_definition:a=>({slug:a?.slug||a?.spec?.slug||null,version:a?.spec?.version||null})};function af(a,b={}){let c=ap[a],d=c?c(b):(()=>{let a={...b};return delete a.approval_id,a})();return(0,e.createHash)("sha256").update(`${a}|${function a(b){if(null===b||"object"!=typeof b)return JSON.stringify(b);if(Array.isArray(b))return`[${b.map(b=>a(b)).join(",")}]`;let c=Object.keys(b).sort();return`{${c.map(c=>`${JSON.stringify(c)}:${a(b[c])}`).join(",")}}`}(d)}`).digest("hex")}function ag({tool_name:a,status:b,summary:c,meta:d={}}){(0,f.Lf)().prepare(`
@@ -1425,7 +1425,7 @@ HARD SAFETY RULES (non-negotiable — the package is rejected by the validator o
1425
1425
  INSERT OR IGNORE INTO marketplace_installations (item_id, installed)
1426
1426
  VALUES (?, 0)
1427
1427
  `).run(r)),{id:r,slug:d,invocation:o,file_path:s}}function m(a){return a&&(0,e.Lf)().prepare("SELECT * FROM marketplace_items WHERE kind='skill' AND slug=? LIMIT 1").get(a)||null}e=(k.then?(await k)():k)[0],d()}catch(a){d(a)}})},80781:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{x:()=>k,y:()=>l});var e=c(31421),f=c(42382),g=c(67354),h=c(684),i=a([f,g]);function j(a){return(0,h.nc)(String(a||"").slice(0,Number(process.env.MADARX_TOOL_OUTPUT_MAX_BYTES||5e4)))}function k(a={}){let b=String(a.command||""),c=Array.isArray(a.args)?a.args.map(String):[],{path:d}=(0,h.hC)(a.cwd||"."),e=(0,h.IB)(b,c);if(e.blocked)throw Error(e.reason);return{command:b,args:c,cwd:d,classified:e}}async function l(a={},b={}){let{command:c,args:d,cwd:h,classified:i}=k(a);if(i.approval_required&&!b.owner_trusted&&!(0,g.v)(a.approval_id,{action_type:"terminal_run",matches:a=>{var b;return a.command===c&&(b=a.args,JSON.stringify(b||[])===JSON.stringify(d||[]))&&a.cwd===h}})){let a=(0,g.D6)({action_type:"terminal_run",risk:i.risk,summary:`Run ${c} ${d.join(" ")}`.trim(),payload:{command:c,args:d,cwd:h,reason:i.reason}});return{ok:!1,status:"approval_required",approval_request_id:a.id,reason:i.reason}}let m=Math.max(1,Math.min(6e5,Number(a.timeout_ms||process.env.MADARX_TERMINAL_TIMEOUT_MS||18e4))),n=Date.now();return await new Promise(a=>{let b="",g="",i=(0,e.spawn)(c,d,{cwd:h,shell:!1,stdio:["ignore","pipe","pipe"]}),k=setTimeout(()=>i.kill("SIGTERM"),m);i.stdout.on("data",a=>{b+=a}),i.stderr.on("data",a=>{g+=a}),i.on("error",e=>{clearTimeout(k),(0,f.appendAudit)({type:"local.terminal_run",summary:`terminal_run failed: ${c}`,status:"failed",meta:{command:c,args:d,cwd:h,error:e.message}}),a({ok:!1,tool:"terminal_run",status:"failed",command:c,args:d,cwd:h,error:e.message,stdout:j(b),stderr:j(g)})}),i.on("close",(e,i)=>{clearTimeout(k);let l=i?"timeout":0===e?"complete":"failed";(0,f.appendAudit)({type:"local.terminal_run",summary:`terminal_run ${l}: ${c}`,status:l,meta:{command:c,args:d,cwd:h,exit_code:e,signal:i,duration_ms:Date.now()-n,stdout_preview:j(b),stderr_preview:j(g)}}),a({ok:0===e&&!i,tool:"terminal_run",status:l,command:c,args:d,cwd:h,exit_code:e,signal:i,stdout:j(b),stderr:j(g),duration_ms:Date.now()-n})})})}[f,g]=i.then?(await i)():i,d()}catch(a){d(a)}})},81626:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"isDynamicRoute",{enumerable:!0,get:function(){return g}});let d=c(78697),e=/\/[^/]*\[[^/]+\][^/]*(?=\/|$)/,f=/\/\[[^/]+\](?=\/|$)/;function g(a,b){return(void 0===b&&(b=!0),(0,d.isInterceptionRouteAppPath)(a)&&(a=(0,d.extractInterceptionRouteInformation)(a).interceptedRoute),b)?f.test(a):e.test(a)}},81909:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{Pq:()=>o,r6:()=>n});var e=c(77598),f=c(84104),g=c(7346),h=a([f]);f=(h.then?(await h)():h)[0];let p="aes-256-gcm",q=new Map;function i(){return(0,g.K2)({db:(0,f.Lf)(),allowGenerate:!0})}function j(a={}){return a.scope?String(a.scope):a.agent_id?`agent:${a.agent_id}`:a.project_id?`project:${a.project_id}`:"global"}function k(a,b={}){return b.project_id?String(b.project_id):String(a).startsWith("project:")?String(a).slice(8):null}function l(a,b,c){return`${a}::${b}::${c||""}`}function m(a,b,c){return(0,f.Lf)().prepare("SELECT * FROM secrets WHERE name = ? AND scope = ? AND COALESCE(project_id, '') = COALESCE(?, '') AND status = 'active' LIMIT 1").get(a,b,c||null)}function n(a,b={}){let c=[];b.agent_id&&c.push([`agent:${b.agent_id}`,null]),b.project_id&&c.push([`project:${b.project_id}`,String(b.project_id)]);let d=j(b);c.push([d,k(d,b)]),c.push(["global",null]);let g=new Set;for(let[b,d]of c){let c=l(a,b,d);if(g.has(c))continue;if(g.add(c),q.has(c))return q.get(c);let h=m(a,b,d);if(h)return function(a,b){let c;try{c=function(a,b,c,d){let f=(0,e.createDecipheriv)(p,d,b);return f.setAuthTag(c),Buffer.concat([f.update(a),f.final()]).toString("utf8")}(Buffer.from(a.value_encrypted),Buffer.from(a.iv),Buffer.from(a.auth_tag),i())}catch(b){throw console.warn(`[secrets] decrypt failed for ${a.name} (scope=${a.scope}, id=${a.id}): ${b?.message||b}. The active MADARX_MASTER_KEY does not match the key that encrypted this row. Either restore the original key or re-store this secret with the current key.`),b}return(0,f.Lf)().prepare("UPDATE secrets SET last_used_at = ? WHERE id = ?").run((0,f.kF)(),a.id),q.set(b,c),c}(h,c)}return Object.prototype.hasOwnProperty.call(process.env,a)?process.env[a]:null}function o(a,b,c={}){if(!a||"string"!=typeof a)throw Error("name is required");if(null==b)throw Error("value is required");let d=j(c),g=k(d,c),h=(0,f.Lf)(),n=(0,f.kF)(),r=m(a,d,g);r&&h.prepare("UPDATE secrets SET status = ?, rotated_at = ? WHERE id = ?").run("rotated",n,r.id),q.delete(l(a,d,g));let{iv:s,encrypted:t,authTag:u}=function(a,b){let c=(0,e.randomBytes)(12),d=(0,e.createCipheriv)(p,b,c),f=Buffer.concat([d.update(String(a),"utf8"),d.final()]);return{iv:c,encrypted:f,authTag:d.getAuthTag()}}(b,i());h.prepare(`INSERT INTO secrets (id, name, scope, value_encrypted, iv, auth_tag, status, source, metadata_json, project_id, created_at)
1428
- VALUES (?, ?, ?, ?, ?, ?, 'active', ?, ?, ?, ?)`).run((0,f.Si)("sec"),a,d,t,s,u,c.source||"manual",c.metadata?JSON.stringify(c.metadata):null,g,n),q.set(l(a,d,g),String(b))}d()}catch(a){d(a)}})},81929:(a,b,c)=>{"use strict";c.d(b,{S:()=>e});var d=c(8512);function e(a){return null===a||(0,d.Ee)(a)||(0,d.Ny)(a)?1:(0,d.es)(a)?2:void 0}},83183:(a,b,c)=>{"use strict";a.exports=c(49754).vendored["react-rsc"].ReactServerDOMWebpackServer},83237:a=>{"use strict";a.exports=import("playwright")},83498:(a,b,c)=>{"use strict";c.d(b,{Dl:()=>i,Jh:()=>v,QG:()=>j,bo:()=>p,c_:()=>t,nJ:()=>n,ny:()=>x,un:()=>o,wn:()=>k,yQ:()=>r,z9:()=>w});var d=c(76760),e=c(73024),f=c(48161),g=c(73136);let h=d.dirname((0,g.fileURLToPath)("file:///home/runner/work/madarx-os/madarx-os/lib/paths.js")),i=d.resolve(h,".."),j=process.env.MADARX_PKG_ROOT?d.resolve(process.env.MADARX_PKG_ROOT):i;function k(...a){for(let b of a)try{if(b&&e.statSync(b).isDirectory())return b}catch{}return process.cwd()}let l=!1;function m(a,b,c){if(process.env[a])return d.resolve(process.env[a]);if(process.env[b]){let a=d.resolve(process.env[b]);return!function(a,b){if(l||b.startsWith(f.tmpdir()))return;l=!0;let c=a.replace("VILLA515_","MADARX_");console.warn(`[paths] ${a} is deprecated — rename it to ${c}. The old name still works for now but will be removed in a future release.`)}(b,a),a}let e=process.env.MADARX_HOME?d.resolve(process.env.MADARX_HOME):null;return e?d.join(e,c):d.join(i,c)}let n=m("MADARX_DATA_DIR","VILLA515_DATA_DIR","data"),o=m("MADARX_WORKSPACE","VILLA515_WORKSPACE","workspace"),p=d.join(o,"agents"),q=d.join(o,"reports"),r=d.join(o,"artifacts"),s=d.join(o,"brand"),t=d.join(n,"madarx.sqlite"),u=d.join(n,"whatsapp");function v(){for(let a of[n,o,p,q,r,s])e.mkdirSync(a,{recursive:!0})}function w(a){return d.relative(i,a)}function x(a){if(!a)return null;if(d.isAbsolute(a))return a;let b=d.resolve(i,a);if(e.existsSync(b))return b;let c=a.replace(/\\/g,"/");for(let a of[o,n]){let b=`${d.basename(a)}/`,f=c.lastIndexOf(b);if(-1!==f){let g=d.join(a,c.slice(f+b.length));if(e.existsSync(g))return g}}return b}d.join(u,"session"),d.join(i,"scripts","whatsapp-bridge")},83796:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{D6:()=>q,Hz:()=>r,Jz:()=>t,aU:()=>s});var e=c(76760),f=c(73024),g=c(83498),h=c(684),i=c(89145),j=a([i]);i=(j.then?(await j)():j)[0];let u=e.join(g.nJ,"browser-profile"),v=e.join(g.nJ,"browser-screenshots"),w=null,x=null,y=null;function k(a){let b=Number(a);return!Number.isFinite(b)||b<=0?3e4:Math.min(12e4,Math.max(1e3,Math.floor(b)))}function l(a){return(0,h.nc)(String(a??"").slice(0,2e4))}function m(){y&&clearTimeout(y),y=setTimeout(()=>{n().catch(()=>{})},9e4),"function"==typeof y.unref&&y.unref()}async function n(){y&&(clearTimeout(y),y=null);let a=w;if(w=null,x=null,a)try{await a.close()}catch{}}async function o(){let a;if(w&&x&&!x.isClosed())return m(),x;try{({chromium:a}=await Promise.resolve().then(c.bind(c,83237)))}catch{throw Error("Playwright is not installed. Run: npm install playwright && npx playwright install chromium")}f.mkdirSync(u,{recursive:!0});try{w=await a.launchPersistentContext(u,{headless:!0,args:["--no-sandbox","--disable-dev-shm-usage"]})}catch(a){throw w=null,Error(`Failed to launch Chromium (${a?.message||a}). Provision it with: npx playwright install chromium`)}return w.setDefaultTimeout(3e4),x=w.pages()[0]||await w.newPage(),m(),x}async function p(a){let b="";try{b=await a.title()}catch{}return{url:a.url(),title:b}}async function q(a={}){let b=(0,i.vC)(a.url).href,c=k(a.timeout_ms);try{let d=await o();if(await d.goto(b,{waitUntil:"domcontentloaded",timeout:c}),a.wait_for)try{await d.waitForSelector(String(a.wait_for),{timeout:c})}catch{}let{url:e,title:f}=await p(d),g=await d.evaluate(()=>document.body?.innerText||"");return{ok:!0,tool:"browser_open",status:"complete",url:e,title:f,text:l(g)}}catch(a){return{ok:!1,tool:"browser_open",status:"failed",url:b,error:String(a?.message||a)}}}let z=new Set(["click","fill","type","select","press","scroll","wait"]);async function r(a={}){let b,c=String(a.action||"").toLowerCase();if(!z.has(c))return{ok:!1,tool:"browser_act",status:"error",error:`unknown action: ${c||"(none)"}`};let d=k(a.timeout_ms);try{b=await o()}catch(a){return{ok:!1,tool:"browser_act",status:"failed",error:String(a?.message||a)}}try{if("scroll"===c)await b.evaluate(()=>window.scrollBy(0,window.innerHeight));else if("wait"===c)a.selector?await b.waitForSelector(String(a.selector),{timeout:d}):await b.waitForTimeout(Math.min(d,1e4));else{let e=String(a.selector||"");if(!e)return{ok:!1,tool:"browser_act",status:"error",error:"selector is required"};let f=b.locator(e).first();"click"===c?await f.click({timeout:d}):"fill"===c?await f.fill(String(a.text??""),{timeout:d}):"type"===c?await f.pressSequentially(String(a.text??""),{timeout:d}):"select"===c?await f.selectOption(String(a.value??a.text??""),{timeout:d}):"press"===c&&await f.press(String(a.key||"Enter"),{timeout:d})}let{url:e,title:f}=await p(b);return{ok:!0,tool:"browser_act",status:"complete",action:c,url:e,title:f}}catch(a){return{ok:!1,tool:"browser_act",status:"failed",action:c,error:String(a?.message||a)}}}async function s(a={}){let b,c=String(a.mode||"text").toLowerCase(),d=a.selector?String(a.selector):null;try{b=await o()}catch(a){return{ok:!1,tool:"browser_extract",status:"failed",error:String(a?.message||a)}}try{let a="";a="html"===c?d?await b.locator(d).first().innerHTML().catch(()=>"")||"":await b.content():"json-ld"===c?(await b.evaluate(()=>Array.from(document.querySelectorAll('script[type="application/ld+json"]')).map(a=>a.textContent||""))).join("\n"):d?await b.locator(d).first().innerText().catch(()=>"")||"":await b.evaluate(()=>document.body?.innerText||"");let{url:e,title:f}=await p(b);return{ok:!0,tool:"browser_extract",status:"complete",mode:c,url:e,title:f,content:l(a)}}catch(a){return{ok:!1,tool:"browser_extract",status:"failed",error:String(a?.message||a)}}}async function t(a={}){let b;try{b=await o()}catch(a){return{ok:!1,tool:"browser_screenshot",status:"failed",error:String(a?.message||a)}}try{f.mkdirSync(v,{recursive:!0});let c=`shot-${Date.now()}.png`.replace(/[^a-zA-Z0-9_.-]/g,"-"),d=e.join(v,c),g={path:d,fullPage:!!a.full_page};a.selector?await b.locator(String(a.selector)).first().screenshot({path:d}):await b.screenshot(g);let{url:h,title:i}=await p(b);return{ok:!0,tool:"browser_screenshot",status:"complete",url:h,title:i,path:d}}catch(a){return{ok:!1,tool:"browser_screenshot",status:"failed",error:String(a?.message||a)}}}d()}catch(a){d(a)}})},84104:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{Lf:()=>n,Si:()=>p,kF:()=>o});var e=c(80099),f=c(73024),g=c(76760),h=c(48161),i=c(77598),j=c(83498),k=c(95411),l=c(26200),m=a([l]);l=(m.then?(await m)():m)[0];let q=null,r=null;function n(){if(q&&r===j.c_)return q;if(q){try{q.close()}catch{}q=null}(0,j.Jh)();let a=new e.DatabaseSync(j.c_);for(let b of(a.exec("PRAGMA journal_mode=WAL;"),a.exec("PRAGMA busy_timeout=5000;"),a.exec("PRAGMA foreign_keys=ON;"),a.exec(k.x),["ALTER TABLE artifacts ADD COLUMN title TEXT","ALTER TABLE artifacts ADD COLUMN content TEXT","ALTER TABLE artifacts ADD COLUMN source_md TEXT","ALTER TABLE agents ADD COLUMN system_prompt TEXT","ALTER TABLE agents ADD COLUMN memory TEXT","ALTER TABLE agents ADD COLUMN model TEXT","ALTER TABLE runs ADD COLUMN output TEXT","ALTER TABLE hermes_jobs ADD COLUMN cwd TEXT","ALTER TABLE hermes_jobs ADD COLUMN timeout_ms INTEGER","ALTER TABLE connectors ADD COLUMN type TEXT","ALTER TABLE connectors ADD COLUMN capabilities TEXT","ALTER TABLE connectors ADD COLUMN metadata TEXT","ALTER TABLE schedules ADD COLUMN last_queued_at TEXT","ALTER TABLE schedules ADD COLUMN last_queued_window TEXT","ALTER TABLE heartbeat_tasks ADD COLUMN approval_request_id TEXT","ALTER TABLE agents ADD COLUMN reports_to TEXT","ALTER TABLE agents ADD COLUMN role TEXT","ALTER TABLE agents ADD COLUMN title TEXT","ALTER TABLE agents ADD COLUMN status_reason TEXT","ALTER TABLE agents ADD COLUMN autonomy_mode TEXT","ALTER TABLE agents ADD COLUMN budget_monthly_cents INTEGER DEFAULT 0","ALTER TABLE agents ADD COLUMN spent_monthly_cents INTEGER DEFAULT 0","ALTER TABLE agents ADD COLUMN permissions_json TEXT","ALTER TABLE agents ADD COLUMN metadata_json TEXT","ALTER TABLE agents ADD COLUMN project_id TEXT","ALTER TABLE agents ADD COLUMN template_slug TEXT","ALTER TABLE secrets ADD COLUMN project_id TEXT","ALTER TABLE audit_logs ADD COLUMN project_id TEXT","ALTER TABLE audit_logs ADD COLUMN correlation_id TEXT","ALTER TABLE tool_egress ADD COLUMN project_id TEXT","ALTER TABLE activity_log ADD COLUMN project_id TEXT","ALTER TABLE artifacts ADD COLUMN project_id TEXT","ALTER TABLE heartbeat_tasks ADD COLUMN project_id TEXT","ALTER TABLE transcripts ADD COLUMN engine TEXT","ALTER TABLE transcripts ADD COLUMN language TEXT","ALTER TABLE transcripts ADD COLUMN duration_seconds REAL","ALTER TABLE approval_requests ADD COLUMN project_id TEXT","ALTER TABLE projects ADD COLUMN folder_path TEXT","ALTER TABLE tasks ADD COLUMN due_at TEXT","ALTER TABLE tasks ADD COLUMN tags_json TEXT","ALTER TABLE tasks ADD COLUMN estimate_minutes INTEGER","ALTER TABLE tasks ADD COLUMN watchers_json TEXT","ALTER TABLE tasks ADD COLUMN recurrence TEXT","ALTER TABLE tasks ADD COLUMN acceptance_criteria TEXT","ALTER TABLE tasks ADD COLUMN recurred_from_task_id TEXT","ALTER TABLE artifacts ADD COLUMN task_id TEXT","ALTER TABLE artifacts ADD COLUMN is_protected INTEGER NOT NULL DEFAULT 0","ALTER TABLE projects ADD COLUMN org_id TEXT","ALTER TABLE artifacts ADD COLUMN owner_user_id TEXT","ALTER TABLE artifacts ADD COLUMN sharing_scope TEXT NOT NULL DEFAULT 'private'","ALTER TABLE artifacts ADD COLUMN encrypted INTEGER NOT NULL DEFAULT 0","ALTER TABLE artifacts ADD COLUMN encryption_key_id TEXT","ALTER TABLE audit_logs ADD COLUMN user_id TEXT","ALTER TABLE audit_logs ADD COLUMN org_id TEXT","ALTER TABLE audit_logs ADD COLUMN ip TEXT","ALTER TABLE audit_logs ADD COLUMN user_agent TEXT","ALTER TABLE audit_logs ADD COLUMN action_target_id TEXT","ALTER TABLE audit_logs ADD COLUMN action_target_type TEXT","ALTER TABLE activity_log ADD COLUMN user_id TEXT","ALTER TABLE activity_log ADD COLUMN org_id TEXT","ALTER TABLE activity_log ADD COLUMN ip TEXT","ALTER TABLE heartbeat_tasks ADD COLUMN acting_on_behalf_of_user_id TEXT","ALTER TABLE schedules ADD COLUMN created_by_user_id TEXT","ALTER TABLE schedules ADD COLUMN catchup_policy TEXT DEFAULT 'fire_all'","ALTER TABLE artifacts ADD COLUMN folder_id TEXT","ALTER TABLE artifacts ADD COLUMN space_id TEXT","ALTER TABLE agents ADD COLUMN default_space_id TEXT","ALTER TABLE artifacts ADD COLUMN heartbeat_task_id TEXT","ALTER TABLE artifacts ADD COLUMN dedupe_key TEXT","ALTER TABLE artifact_share_links ADD COLUMN token TEXT","ALTER TABLE artifacts ADD COLUMN pinned_to_space_at TEXT","ALTER TABLE process_definitions ADD COLUMN source_spec_json TEXT","ALTER TABLE process_definitions ADD COLUMN schema_version INTEGER NOT NULL DEFAULT 1","ALTER TABLE process_definitions ADD COLUMN created_by_user_id TEXT","ALTER TABLE process_definitions ADD COLUMN created_by_agent_id TEXT","ALTER TABLE tool_allowlists ADD COLUMN org_id TEXT","ALTER TABLE tool_allowlists ADD COLUMN created_by_user_id TEXT","ALTER TABLE agents ADD COLUMN expected_output TEXT","ALTER TABLE mines_projects ADD COLUMN default_space_id TEXT"]))try{a.exec(b)}catch(a){if(!/duplicate column name/i.test(String(a?.message||a)))throw a}return a.exec("CREATE INDEX IF NOT EXISTS idx_agents_reports_to ON agents(reports_to);"),a.exec("CREATE INDEX IF NOT EXISTS idx_tasks_due_at ON tasks(due_at);"),a.exec("DROP INDEX IF EXISTS idx_secrets_one_active;"),a.exec("CREATE UNIQUE INDEX IF NOT EXISTS idx_secrets_one_active ON secrets(name, scope, COALESCE(project_id, '')) WHERE status = 'active';"),a.exec("CREATE INDEX IF NOT EXISTS idx_audit_project_at ON audit_logs(project_id, at DESC);"),a.exec("CREATE INDEX IF NOT EXISTS idx_egress_project_at ON tool_egress(project_id, at DESC);"),a.exec("CREATE INDEX IF NOT EXISTS idx_activity_project ON activity_log(project_id, created_at DESC);"),a.exec("CREATE INDEX IF NOT EXISTS idx_artifacts_project ON artifacts(project_id, created_at DESC);"),a.exec("CREATE INDEX IF NOT EXISTS idx_artifacts_task ON artifacts(task_id, created_at DESC);"),a.exec("CREATE INDEX IF NOT EXISTS idx_artifacts_folder ON artifacts(project_id, folder_id);"),a.exec("CREATE INDEX IF NOT EXISTS idx_artifacts_space ON artifacts(space_id);"),a.exec("CREATE INDEX IF NOT EXISTS idx_artifacts_heartbeat_task ON artifacts(heartbeat_task_id);\nCREATE INDEX IF NOT EXISTS idx_artifacts_dedupe_key ON artifacts(dedupe_key);"),a.exec("CREATE INDEX IF NOT EXISTS idx_artifacts_is_protected ON artifacts(is_protected, project_id);"),a.exec("CREATE INDEX IF NOT EXISTS idx_projects_org ON projects(org_id);"),a.exec("CREATE INDEX IF NOT EXISTS idx_audit_user ON audit_logs(user_id, at DESC);"),a.exec("CREATE INDEX IF NOT EXISTS idx_audit_org ON audit_logs(org_id, at DESC);"),a.exec("CREATE INDEX IF NOT EXISTS idx_audit_target ON audit_logs(action_target_type, action_target_id, at DESC);"),a.exec("CREATE TRIGGER IF NOT EXISTS audit_logs_no_update\nBEFORE UPDATE ON audit_logs\nBEGIN\n SELECT RAISE(ABORT, 'audit_logs rows are immutable');\nEND;"),a.exec("CREATE TRIGGER IF NOT EXISTS audit_logs_no_delete\nBEFORE DELETE ON audit_logs\nBEGIN\n SELECT RAISE(ABORT, 'audit_logs rows cannot be deleted');\nEND;"),!function(){try{if(!a.prepare("PRAGMA index_list('secrets')").all().some(b=>"u"===b.origin&&b.name.startsWith("sqlite_autoindex_secrets_")&&3===a.prepare(`PRAGMA index_info('${b.name}')`).all().length))return;a.exec("BEGIN"),a.exec("CREATE TABLE secrets_new (\n id TEXT PRIMARY KEY,\n name TEXT NOT NULL,\n scope TEXT NOT NULL DEFAULT 'global',\n value_encrypted BLOB NOT NULL,\n iv BLOB NOT NULL,\n auth_tag BLOB NOT NULL,\n status TEXT NOT NULL DEFAULT 'active',\n source TEXT,\n metadata_json TEXT,\n last_used_at TEXT,\n created_at TEXT NOT NULL,\n rotated_at TEXT\n)"),a.exec("INSERT INTO secrets_new\n SELECT id, name, scope, value_encrypted, iv, auth_tag, status,\n source, metadata_json, last_used_at, created_at, rotated_at\n FROM secrets\n WHERE status = 'active'"),a.exec("DROP TABLE secrets"),a.exec("ALTER TABLE secrets_new RENAME TO secrets"),a.exec("CREATE UNIQUE INDEX IF NOT EXISTS idx_secrets_one_active\n ON secrets(name, scope) WHERE status = 'active'"),a.exec("CREATE INDEX IF NOT EXISTS idx_secrets_name_status\n ON secrets(name, status)"),a.exec("COMMIT")}catch(b){try{a.exec("ROLLBACK")}catch{}throw b}}(),a.exec(k.t),q=a,r=j.c_,(0,l.ef)(a),function(){if("1"===process.env.MADARX_DISABLE_INPROC_DAEMON||process.env.MADARX_DATA_DIR||process.env.VILLA515_DATA_DIR)return;let a=Number(process.env.CRON_DAEMON_INTERVAL_MS||3e4),b=Number(process.env.HEARTBEAT_WORKER_INTERVAL_MS||5e3),d=process.env.MADARX_INPROC_HOST||"127.0.0.1",e=process.env.PORT||process.env.MADARX_PORT||"8787",k=`http://${d}:${e}`,l=Number(process.env.MADARX_INPROC_POKE_TIMEOUT_MS||5e3);async function m(a){let{getInprocToken:b,INPROC_TOKEN_HEADER:d}=await c.e(671).then(c.bind(c,671)),e=new AbortController,f=setTimeout(()=>e.abort(),l);try{let c=await fetch(`${k}${a}`,{method:"POST",headers:{"content-type":"application/json",[d]:b()},body:"{}",signal:e.signal});if(!c.ok)throw Error(`route ${a} returned ${c.status}`);return await c.json()}finally{clearTimeout(f)}}function n({name:a,flag:b,intervalMs:c,route:d,tag:e}){if(globalThis[b])return;let k=()=>{if(globalThis[b])return!0;let k=function(a,b){let c=function(a){let b=i.createHash("sha1").update(j.nJ).digest("hex").slice(0,12);return g.join(h.tmpdir(),`madarx-daemon-${b}-${a}.lock`)}(a),d=Math.max(3*b,15e3),e=()=>{let a=f.openSync(c,"wx");try{f.writeSync(a,JSON.stringify({pid:process.pid,at:Date.now()}))}finally{f.closeSync(a)}};try{return e(),c}catch(a){if("EEXIST"!==a.code)return null}let k=!1;try{k=Date.now()-f.statSync(c).mtimeMs<d}catch{}if(k)return null;try{return f.rmSync(c,{force:!0}),e(),c}catch{return null}}(a,c);if(!k)return!1;globalThis[b]=!0,process.once("exit",()=>{try{f.rmSync(k,{force:!0})}catch{}});let l=0,n=Math.max(6,Math.ceil(3e4/c)),o=setInterval(async()=>{try{let a=new Date;f.utimesSync(k,a,a)}catch{}try{await m(d),l=0}catch(a){if(l++,console.warn(`[${e}:inproc] tick error:`,a?.message||a),l>=n){console.warn(`[${e}:inproc] ${l} consecutive failures — server gone, stopping loop`),clearInterval(o),globalThis[b]=!1;try{f.rmSync(k,{force:!0})}catch{}}}},c);return"function"==typeof o.unref&&o.unref(),!0};if(k())return;let l=Math.max(3*c,15e3),n=setTimeout(k,l+Math.floor(1e3*Math.random()));"function"==typeof n.unref&&n.unref()}n({name:"cron",flag:"__madarxCronStarted",intervalMs:a,route:"/api/cron/tick",tag:"cron"}),n({name:"heartbeat",flag:"__madarxHeartbeatStarted",intervalMs:b,route:"/api/heartbeat/worker",tag:"heartbeat"})}(),a}function o(){return new Date().toISOString()}function p(a="id"){return`${a}-${Date.now().toString(36)}-${Math.random().toString(36).slice(2,8)}`}d()}catch(a){d(a)}})},84125:(a,b)=>{"use strict";let c;Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"cloneResponse",{enumerable:!0,get:function(){return e}});let d=()=>{};function e(a){if(!a.body)return[a,a];let[b,d]=a.body.tee(),e=new Response(b,{status:a.status,statusText:a.statusText,headers:a.headers});Object.defineProperty(e,"url",{value:a.url,configurable:!0,enumerable:!0,writable:!1}),c&&e.body&&c.register(e,new WeakRef(e.body));let f=new Response(d,{status:a.status,statusText:a.statusText,headers:a.headers});return Object.defineProperty(f,"url",{value:a.url,configurable:!0,enumerable:!0,writable:!1}),[e,f]}globalThis.FinalizationRegistry&&(c=new FinalizationRegistry(a=>{let b=a.deref();b&&!b.locked&&b.cancel("Response object has been garbage collected").then(d)}))},84939:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{Hy:()=>h,n_:()=>k,t2:()=>j,uu:()=>i});var e=c(84104),f=c(17830),g=a([e]);function h(a,b={},c={}){let d=(0,f.ho)(a,{knownToolNames:c.knownToolNames,toolRiskByName:c.toolRiskByName});if(!d.ok){let a=Error("composite spec invalid");throw a.code="spec_invalid",a.errors=d.errors,a}let g=d.normalized,i=(0,e.Lf)(),j=(0,e.kF)(),k=i.prepare("SELECT slug FROM composite_tools WHERE slug = ?").get(g.slug),l=JSON.stringify(g),m=JSON.stringify(g.input_schema||{type:"object",properties:{}});return k?i.prepare(`UPDATE composite_tools
1428
+ VALUES (?, ?, ?, ?, ?, ?, 'active', ?, ?, ?, ?)`).run((0,f.Si)("sec"),a,d,t,s,u,c.source||"manual",c.metadata?JSON.stringify(c.metadata):null,g,n),q.set(l(a,d,g),String(b))}d()}catch(a){d(a)}})},81929:(a,b,c)=>{"use strict";c.d(b,{S:()=>e});var d=c(8512);function e(a){return null===a||(0,d.Ee)(a)||(0,d.Ny)(a)?1:(0,d.es)(a)?2:void 0}},82120:(a,b,c)=>{"use strict";c.d(b,{default:()=>m});var d=c(21124),e=c(38301),f=c(23312),g=c(43815),h=c(85708);let i=(0,h.createServerReference)("404cce7150d2acc5ee19356fa3efb446f4ccd47781",h.callServer,void 0,h.findSourceMapURL,"updateProjectAction");var j=c(54151);let k=[{value:"#c2452a",name:"Mars Red"},{value:"#a83a22",name:"Deep Red"},{value:"#7c2b19",name:"Dark Red"},{value:"#111318",name:"Charcoal"},{value:"#3f3a30",name:"Warm Black"},{value:"#68707b",name:"Slate"},{value:"#cdb78a",name:"Warm Sand"},{value:"#1f6c9f",name:"Skill Blue"}];function l(){let{pending:a}=(0,f.useFormStatus)();return(0,d.jsx)("button",{type:"submit",className:"admin-button",disabled:a,"aria-busy":a?"true":void 0,children:a?"Saving…":"Save changes"})}function m({projectId:a,projectName:b,projectColor:c,projectDescription:f,projectFolderPath:h}){let[m,n]=e.useState(!1),[o,p]=e.useState("keep"),[q,r]=e.useState(h||""),s=e.useRef(null);return e.useEffect(()=>{m&&(p("keep"),r(h||""))},[m,h]),e.useEffect(()=>{"custom"===o&&s.current?.focus()},[o]),(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("button",{type:"button",className:"admin-button secondary project-edit",onClick:()=>n(!0),"aria-label":`Edit ${b}`,children:"Edit"}),(0,d.jsx)(g.A,{open:m,onClose:()=>n(!1),eyebrow:"Edit project",title:`Edit ${b}`,children:(0,d.jsxs)("form",{className:"agents-modal-form",action:i,children:[(0,d.jsx)("input",{type:"hidden",name:"project_id",value:a}),(0,d.jsx)("section",{className:"agents-modal-section",children:(0,d.jsxs)("label",{className:"agents-modal-field wide",children:[(0,d.jsx)("span",{children:"Name"}),(0,d.jsx)("input",{name:"name",type:"text",defaultValue:b,autoComplete:"off",required:!0})]})}),(0,d.jsxs)("section",{className:"agents-modal-section",children:[(0,d.jsxs)("div",{className:"agents-modal-section-head",children:[(0,d.jsx)("span",{children:"Folder location"}),(0,d.jsx)("small",{children:"Where project files live on disk. Move only if you've already moved the folder yourself."})]}),(0,d.jsxs)("div",{className:"agents-modal-radio-group",children:[(0,d.jsxs)("label",{className:`agents-modal-radio ${"keep"===o?"on":""}`,children:[(0,d.jsx)("input",{type:"radio",name:"folder_mode",value:"keep",checked:"keep"===o,onChange:()=>p("keep")}),(0,d.jsxs)("span",{className:"agents-modal-radio-body",children:[(0,d.jsx)("b",{children:"Keep current"}),(0,d.jsx)("code",{title:h||"",children:function(a,b=48){if(!a||a.length<=b)return a;let c=a.slice(0,Math.floor(b/2)-1),d=a.slice(a.length-Math.floor(b/2)+2);return`${c}…${d}`}(h)||"(not set)"})]})]}),(0,d.jsxs)("label",{className:`agents-modal-radio ${"custom"===o?"on":""}`,children:[(0,d.jsx)("input",{type:"radio",name:"folder_mode",value:"custom",checked:"custom"===o,onChange:()=>p("custom")}),(0,d.jsxs)("span",{className:"agents-modal-radio-body",children:[(0,d.jsx)("b",{children:"Change to…"}),(0,d.jsx)("small",{children:"Absolute path. Must already exist or be writable."})]})]})]}),"custom"===o?(0,d.jsx)(j.A,{inputRef:s,value:q,onChange:r}):(0,d.jsx)("input",{type:"hidden",name:"folder_path",value:""})]}),(0,d.jsxs)("section",{className:"agents-modal-section",children:[(0,d.jsxs)("div",{className:"agents-modal-section-head",children:[(0,d.jsx)("span",{children:"Color"}),(0,d.jsx)("small",{children:"Tile color across the app."})]}),(0,d.jsxs)("fieldset",{className:"agents-modal-swatches",children:[(0,d.jsx)("legend",{className:"visually-hidden",children:"Project color"}),k.map(a=>(0,d.jsxs)("label",{className:"agents-modal-swatch",style:{"--swatch":a.value},children:[(0,d.jsx)("input",{type:"radio",name:"color",value:a.value,defaultChecked:a.value===(c||"#c2452a")}),(0,d.jsx)("span",{className:"agents-modal-swatch-ring","aria-hidden":"true"}),(0,d.jsx)("span",{className:"visually-hidden",children:a.name})]},a.value))]})]}),(0,d.jsxs)("section",{className:"agents-modal-section",children:[(0,d.jsxs)("div",{className:"agents-modal-section-head",children:[(0,d.jsx)("span",{children:"Description"}),(0,d.jsx)("small",{children:"Used as context for agents working in this project."})]}),(0,d.jsx)("label",{className:"agents-modal-field wide",children:(0,d.jsx)("textarea",{name:"description",rows:3,defaultValue:f||"",placeholder:"What is this project for? Goals, audience, voice, constraints."})})]}),(0,d.jsxs)("footer",{className:"agents-modal-foot",children:[(0,d.jsx)("button",{type:"button",className:"admin-button secondary",onClick:()=>n(!1),children:"Cancel"}),(0,d.jsx)(l,{})]})]})})]})}},83183:(a,b,c)=>{"use strict";a.exports=c(49754).vendored["react-rsc"].ReactServerDOMWebpackServer},83237:a=>{"use strict";a.exports=import("playwright")},83498:(a,b,c)=>{"use strict";c.d(b,{Dl:()=>i,Jh:()=>v,QG:()=>j,bo:()=>p,c_:()=>t,nJ:()=>n,ny:()=>x,un:()=>o,wn:()=>k,yQ:()=>r,z9:()=>w});var d=c(76760),e=c(73024),f=c(48161),g=c(73136);let h=d.dirname((0,g.fileURLToPath)("file:///home/runner/work/madarx-os/madarx-os/lib/paths.js")),i=d.resolve(h,".."),j=process.env.MADARX_PKG_ROOT?d.resolve(process.env.MADARX_PKG_ROOT):i;function k(...a){for(let b of a)try{if(b&&e.statSync(b).isDirectory())return b}catch{}return process.cwd()}let l=!1;function m(a,b,c){if(process.env[a])return d.resolve(process.env[a]);if(process.env[b]){let a=d.resolve(process.env[b]);return!function(a,b){if(l||b.startsWith(f.tmpdir()))return;l=!0;let c=a.replace("VILLA515_","MADARX_");console.warn(`[paths] ${a} is deprecated — rename it to ${c}. The old name still works for now but will be removed in a future release.`)}(b,a),a}let e=process.env.MADARX_HOME?d.resolve(process.env.MADARX_HOME):null;return e?d.join(e,c):d.join(i,c)}let n=m("MADARX_DATA_DIR","VILLA515_DATA_DIR","data"),o=m("MADARX_WORKSPACE","VILLA515_WORKSPACE","workspace"),p=d.join(o,"agents"),q=d.join(o,"reports"),r=d.join(o,"artifacts"),s=d.join(o,"brand"),t=d.join(n,"madarx.sqlite"),u=d.join(n,"whatsapp");function v(){for(let a of[n,o,p,q,r,s])e.mkdirSync(a,{recursive:!0})}function w(a){return d.relative(i,a)}function x(a){if(!a)return null;if(d.isAbsolute(a))return a;let b=d.resolve(i,a);if(e.existsSync(b))return b;let c=a.replace(/\\/g,"/");for(let a of[o,n]){let b=`${d.basename(a)}/`,f=c.lastIndexOf(b);if(-1!==f){let g=d.join(a,c.slice(f+b.length));if(e.existsSync(g))return g}}return b}d.join(u,"session"),d.join(i,"scripts","whatsapp-bridge")},84104:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{Lf:()=>n,Si:()=>p,kF:()=>o});var e=c(80099),f=c(73024),g=c(76760),h=c(48161),i=c(77598),j=c(83498),k=c(95411),l=c(26200),m=a([l]);l=(m.then?(await m)():m)[0];let q=null,r=null;function n(){if(q&&r===j.c_)return q;if(q){try{q.close()}catch{}q=null}(0,j.Jh)();let a=new e.DatabaseSync(j.c_);for(let b of(a.exec("PRAGMA journal_mode=WAL;"),a.exec("PRAGMA busy_timeout=5000;"),a.exec("PRAGMA foreign_keys=ON;"),a.exec(k.x),["ALTER TABLE artifacts ADD COLUMN title TEXT","ALTER TABLE artifacts ADD COLUMN content TEXT","ALTER TABLE artifacts ADD COLUMN source_md TEXT","ALTER TABLE agents ADD COLUMN system_prompt TEXT","ALTER TABLE agents ADD COLUMN memory TEXT","ALTER TABLE agents ADD COLUMN model TEXT","ALTER TABLE runs ADD COLUMN output TEXT","ALTER TABLE hermes_jobs ADD COLUMN cwd TEXT","ALTER TABLE hermes_jobs ADD COLUMN timeout_ms INTEGER","ALTER TABLE connectors ADD COLUMN type TEXT","ALTER TABLE connectors ADD COLUMN capabilities TEXT","ALTER TABLE connectors ADD COLUMN metadata TEXT","ALTER TABLE schedules ADD COLUMN last_queued_at TEXT","ALTER TABLE schedules ADD COLUMN last_queued_window TEXT","ALTER TABLE heartbeat_tasks ADD COLUMN approval_request_id TEXT","ALTER TABLE agents ADD COLUMN reports_to TEXT","ALTER TABLE agents ADD COLUMN role TEXT","ALTER TABLE agents ADD COLUMN title TEXT","ALTER TABLE agents ADD COLUMN status_reason TEXT","ALTER TABLE agents ADD COLUMN autonomy_mode TEXT","ALTER TABLE agents ADD COLUMN budget_monthly_cents INTEGER DEFAULT 0","ALTER TABLE agents ADD COLUMN spent_monthly_cents INTEGER DEFAULT 0","ALTER TABLE agents ADD COLUMN permissions_json TEXT","ALTER TABLE agents ADD COLUMN metadata_json TEXT","ALTER TABLE agents ADD COLUMN project_id TEXT","ALTER TABLE agents ADD COLUMN template_slug TEXT","ALTER TABLE secrets ADD COLUMN project_id TEXT","ALTER TABLE audit_logs ADD COLUMN project_id TEXT","ALTER TABLE audit_logs ADD COLUMN correlation_id TEXT","ALTER TABLE tool_egress ADD COLUMN project_id TEXT","ALTER TABLE activity_log ADD COLUMN project_id TEXT","ALTER TABLE artifacts ADD COLUMN project_id TEXT","ALTER TABLE heartbeat_tasks ADD COLUMN project_id TEXT","ALTER TABLE transcripts ADD COLUMN engine TEXT","ALTER TABLE transcripts ADD COLUMN language TEXT","ALTER TABLE transcripts ADD COLUMN duration_seconds REAL","ALTER TABLE approval_requests ADD COLUMN project_id TEXT","ALTER TABLE projects ADD COLUMN folder_path TEXT","ALTER TABLE tasks ADD COLUMN due_at TEXT","ALTER TABLE tasks ADD COLUMN tags_json TEXT","ALTER TABLE tasks ADD COLUMN estimate_minutes INTEGER","ALTER TABLE tasks ADD COLUMN watchers_json TEXT","ALTER TABLE tasks ADD COLUMN recurrence TEXT","ALTER TABLE tasks ADD COLUMN acceptance_criteria TEXT","ALTER TABLE tasks ADD COLUMN recurred_from_task_id TEXT","ALTER TABLE artifacts ADD COLUMN task_id TEXT","ALTER TABLE artifacts ADD COLUMN is_protected INTEGER NOT NULL DEFAULT 0","ALTER TABLE projects ADD COLUMN org_id TEXT","ALTER TABLE artifacts ADD COLUMN owner_user_id TEXT","ALTER TABLE artifacts ADD COLUMN sharing_scope TEXT NOT NULL DEFAULT 'private'","ALTER TABLE artifacts ADD COLUMN encrypted INTEGER NOT NULL DEFAULT 0","ALTER TABLE artifacts ADD COLUMN encryption_key_id TEXT","ALTER TABLE audit_logs ADD COLUMN user_id TEXT","ALTER TABLE audit_logs ADD COLUMN org_id TEXT","ALTER TABLE audit_logs ADD COLUMN ip TEXT","ALTER TABLE audit_logs ADD COLUMN user_agent TEXT","ALTER TABLE audit_logs ADD COLUMN action_target_id TEXT","ALTER TABLE audit_logs ADD COLUMN action_target_type TEXT","ALTER TABLE activity_log ADD COLUMN user_id TEXT","ALTER TABLE activity_log ADD COLUMN org_id TEXT","ALTER TABLE activity_log ADD COLUMN ip TEXT","ALTER TABLE heartbeat_tasks ADD COLUMN acting_on_behalf_of_user_id TEXT","ALTER TABLE schedules ADD COLUMN created_by_user_id TEXT","ALTER TABLE schedules ADD COLUMN catchup_policy TEXT DEFAULT 'fire_all'","ALTER TABLE artifacts ADD COLUMN folder_id TEXT","ALTER TABLE artifacts ADD COLUMN space_id TEXT","ALTER TABLE agents ADD COLUMN default_space_id TEXT","ALTER TABLE artifacts ADD COLUMN heartbeat_task_id TEXT","ALTER TABLE artifacts ADD COLUMN dedupe_key TEXT","ALTER TABLE artifact_share_links ADD COLUMN token TEXT","ALTER TABLE artifacts ADD COLUMN pinned_to_space_at TEXT","ALTER TABLE process_definitions ADD COLUMN source_spec_json TEXT","ALTER TABLE process_definitions ADD COLUMN schema_version INTEGER NOT NULL DEFAULT 1","ALTER TABLE process_definitions ADD COLUMN created_by_user_id TEXT","ALTER TABLE process_definitions ADD COLUMN created_by_agent_id TEXT","ALTER TABLE tool_allowlists ADD COLUMN org_id TEXT","ALTER TABLE tool_allowlists ADD COLUMN created_by_user_id TEXT","ALTER TABLE agents ADD COLUMN expected_output TEXT","ALTER TABLE mines_projects ADD COLUMN default_space_id TEXT"]))try{a.exec(b)}catch(a){if(!/duplicate column name/i.test(String(a?.message||a)))throw a}return a.exec("CREATE INDEX IF NOT EXISTS idx_agents_reports_to ON agents(reports_to);"),a.exec("CREATE INDEX IF NOT EXISTS idx_tasks_due_at ON tasks(due_at);"),a.exec("DROP INDEX IF EXISTS idx_secrets_one_active;"),a.exec("CREATE UNIQUE INDEX IF NOT EXISTS idx_secrets_one_active ON secrets(name, scope, COALESCE(project_id, '')) WHERE status = 'active';"),a.exec("CREATE INDEX IF NOT EXISTS idx_audit_project_at ON audit_logs(project_id, at DESC);"),a.exec("CREATE INDEX IF NOT EXISTS idx_egress_project_at ON tool_egress(project_id, at DESC);"),a.exec("CREATE INDEX IF NOT EXISTS idx_activity_project ON activity_log(project_id, created_at DESC);"),a.exec("CREATE INDEX IF NOT EXISTS idx_artifacts_project ON artifacts(project_id, created_at DESC);"),a.exec("CREATE INDEX IF NOT EXISTS idx_artifacts_task ON artifacts(task_id, created_at DESC);"),a.exec("CREATE INDEX IF NOT EXISTS idx_artifacts_folder ON artifacts(project_id, folder_id);"),a.exec("CREATE INDEX IF NOT EXISTS idx_artifacts_space ON artifacts(space_id);"),a.exec("CREATE INDEX IF NOT EXISTS idx_artifacts_heartbeat_task ON artifacts(heartbeat_task_id);\nCREATE INDEX IF NOT EXISTS idx_artifacts_dedupe_key ON artifacts(dedupe_key);"),a.exec("CREATE INDEX IF NOT EXISTS idx_artifacts_is_protected ON artifacts(is_protected, project_id);"),a.exec("CREATE INDEX IF NOT EXISTS idx_projects_org ON projects(org_id);"),a.exec("CREATE INDEX IF NOT EXISTS idx_audit_user ON audit_logs(user_id, at DESC);"),a.exec("CREATE INDEX IF NOT EXISTS idx_audit_org ON audit_logs(org_id, at DESC);"),a.exec("CREATE INDEX IF NOT EXISTS idx_audit_target ON audit_logs(action_target_type, action_target_id, at DESC);"),a.exec("CREATE TRIGGER IF NOT EXISTS audit_logs_no_update\nBEFORE UPDATE ON audit_logs\nBEGIN\n SELECT RAISE(ABORT, 'audit_logs rows are immutable');\nEND;"),a.exec("CREATE TRIGGER IF NOT EXISTS audit_logs_no_delete\nBEFORE DELETE ON audit_logs\nBEGIN\n SELECT RAISE(ABORT, 'audit_logs rows cannot be deleted');\nEND;"),!function(){try{if(!a.prepare("PRAGMA index_list('secrets')").all().some(b=>"u"===b.origin&&b.name.startsWith("sqlite_autoindex_secrets_")&&3===a.prepare(`PRAGMA index_info('${b.name}')`).all().length))return;a.exec("BEGIN"),a.exec("CREATE TABLE secrets_new (\n id TEXT PRIMARY KEY,\n name TEXT NOT NULL,\n scope TEXT NOT NULL DEFAULT 'global',\n value_encrypted BLOB NOT NULL,\n iv BLOB NOT NULL,\n auth_tag BLOB NOT NULL,\n status TEXT NOT NULL DEFAULT 'active',\n source TEXT,\n metadata_json TEXT,\n last_used_at TEXT,\n created_at TEXT NOT NULL,\n rotated_at TEXT\n)"),a.exec("INSERT INTO secrets_new\n SELECT id, name, scope, value_encrypted, iv, auth_tag, status,\n source, metadata_json, last_used_at, created_at, rotated_at\n FROM secrets\n WHERE status = 'active'"),a.exec("DROP TABLE secrets"),a.exec("ALTER TABLE secrets_new RENAME TO secrets"),a.exec("CREATE UNIQUE INDEX IF NOT EXISTS idx_secrets_one_active\n ON secrets(name, scope) WHERE status = 'active'"),a.exec("CREATE INDEX IF NOT EXISTS idx_secrets_name_status\n ON secrets(name, status)"),a.exec("COMMIT")}catch(b){try{a.exec("ROLLBACK")}catch{}throw b}}(),a.exec(k.t),q=a,r=j.c_,(0,l.ef)(a),function(){if("1"===process.env.MADARX_DISABLE_INPROC_DAEMON||process.env.MADARX_DATA_DIR||process.env.VILLA515_DATA_DIR)return;let a=Number(process.env.CRON_DAEMON_INTERVAL_MS||3e4),b=Number(process.env.HEARTBEAT_WORKER_INTERVAL_MS||5e3),d=process.env.MADARX_INPROC_HOST||"127.0.0.1",e=process.env.PORT||process.env.MADARX_PORT||"8787",k=`http://${d}:${e}`,l=Number(process.env.MADARX_INPROC_POKE_TIMEOUT_MS||5e3);async function m(a){let{getInprocToken:b,INPROC_TOKEN_HEADER:d}=await c.e(671).then(c.bind(c,671)),e=new AbortController,f=setTimeout(()=>e.abort(),l);try{let c=await fetch(`${k}${a}`,{method:"POST",headers:{"content-type":"application/json",[d]:b()},body:"{}",signal:e.signal});if(!c.ok)throw Error(`route ${a} returned ${c.status}`);return await c.json()}finally{clearTimeout(f)}}function n({name:a,flag:b,intervalMs:c,route:d,tag:e}){if(globalThis[b])return;let k=()=>{if(globalThis[b])return!0;let k=function(a,b){let c=function(a){let b=i.createHash("sha1").update(j.nJ).digest("hex").slice(0,12);return g.join(h.tmpdir(),`madarx-daemon-${b}-${a}.lock`)}(a),d=Math.max(3*b,15e3),e=()=>{let a=f.openSync(c,"wx");try{f.writeSync(a,JSON.stringify({pid:process.pid,at:Date.now()}))}finally{f.closeSync(a)}};try{return e(),c}catch(a){if("EEXIST"!==a.code)return null}let k=!1;try{k=Date.now()-f.statSync(c).mtimeMs<d}catch{}if(k)return null;try{return f.rmSync(c,{force:!0}),e(),c}catch{return null}}(a,c);if(!k)return!1;globalThis[b]=!0,process.once("exit",()=>{try{f.rmSync(k,{force:!0})}catch{}});let l=0,n=Math.max(6,Math.ceil(3e4/c)),o=setInterval(async()=>{try{let a=new Date;f.utimesSync(k,a,a)}catch{}try{await m(d),l=0}catch(a){if(l++,console.warn(`[${e}:inproc] tick error:`,a?.message||a),l>=n){console.warn(`[${e}:inproc] ${l} consecutive failures — server gone, stopping loop`),clearInterval(o),globalThis[b]=!1;try{f.rmSync(k,{force:!0})}catch{}}}},c);return"function"==typeof o.unref&&o.unref(),!0};if(k())return;let l=Math.max(3*c,15e3),n=setTimeout(k,l+Math.floor(1e3*Math.random()));"function"==typeof n.unref&&n.unref()}n({name:"cron",flag:"__madarxCronStarted",intervalMs:a,route:"/api/cron/tick",tag:"cron"}),n({name:"heartbeat",flag:"__madarxHeartbeatStarted",intervalMs:b,route:"/api/heartbeat/worker",tag:"heartbeat"})}(),a}function o(){return new Date().toISOString()}function p(a="id"){return`${a}-${Date.now().toString(36)}-${Math.random().toString(36).slice(2,8)}`}d()}catch(a){d(a)}})},84125:(a,b)=>{"use strict";let c;Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"cloneResponse",{enumerable:!0,get:function(){return e}});let d=()=>{};function e(a){if(!a.body)return[a,a];let[b,d]=a.body.tee(),e=new Response(b,{status:a.status,statusText:a.statusText,headers:a.headers});Object.defineProperty(e,"url",{value:a.url,configurable:!0,enumerable:!0,writable:!1}),c&&e.body&&c.register(e,new WeakRef(e.body));let f=new Response(d,{status:a.status,statusText:a.statusText,headers:a.headers});return Object.defineProperty(f,"url",{value:a.url,configurable:!0,enumerable:!0,writable:!1}),[e,f]}globalThis.FinalizationRegistry&&(c=new FinalizationRegistry(a=>{let b=a.deref();b&&!b.locked&&b.cancel("Response object has been garbage collected").then(d)}))},84939:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{Hy:()=>h,n_:()=>k,t2:()=>j,uu:()=>i});var e=c(84104),f=c(17830),g=a([e]);function h(a,b={},c={}){let d=(0,f.ho)(a,{knownToolNames:c.knownToolNames,toolRiskByName:c.toolRiskByName});if(!d.ok){let a=Error("composite spec invalid");throw a.code="spec_invalid",a.errors=d.errors,a}let g=d.normalized,i=(0,e.Lf)(),j=(0,e.kF)(),k=i.prepare("SELECT slug FROM composite_tools WHERE slug = ?").get(g.slug),l=JSON.stringify(g),m=JSON.stringify(g.input_schema||{type:"object",properties:{}});return k?i.prepare(`UPDATE composite_tools
1429
1429
  SET title=?, description=?, spec_json=?, risk_level=?, input_schema_json=?, status='active', updated_at=?
1430
1430
  WHERE slug=?`).run(g.title,g.description,l,g.risk_level,m,j,g.slug):i.prepare(`INSERT INTO composite_tools
1431
1431
  (slug, title, description, spec_json, risk_level, input_schema_json, status,
@@ -3185,7 +3185,7 @@ ${b}`:b;return p(o("codex"),["exec",d],{timeoutMs:Number(process.env.CODEX_TICK_
3185
3185
  FROM mines_portfolio_entries
3186
3186
  WHERE project_id = ?
3187
3187
  LIMIT 1
3188
- `).get(c),i=h?{id:h.id,portfolio_id:h.portfolio_id,name:h.name,commodity:h.commodity??null,deposit_type:h.deposit_type??null,owner:h.owner??null,available_information:h.available_information??null,has_drilling:+(1===h.has_drilling),deal_terms:h.deal_terms??null,data_completeness:h.data_completeness??null,notes:h.notes??null}:null,j=d.prepare("SELECT COUNT(*) AS n, MAX(created_at) AS last_at FROM mines_source_documents WHERE project_id = ?").get(c),k=d.prepare("SELECT COUNT(*) AS n FROM mines_assay_samples WHERE project_id = ?").get(c),l=d.prepare("SELECT COUNT(*) AS n FROM mines_drill_holes WHERE project_id = ?").get(c),m={documents:j?.n??0,assays:k?.n??0,drill_holes:l?.n??0},o=j?.last_at??null;return{status:"ok",project:f,portfolio_entry:i,counts:m,last_import_at:o}}[g,h,i,j]=l.then?(await l)():l,d()}catch(a){d(a)}})},99034:(a,b,c)=>{"use strict";c.d(b,{default:()=>m});var d=c(21124),e=c(38301),f=c(23312),g=c(43815),h=c(85708);let i=(0,h.createServerReference)("4046bff3f50a4d8e21373406b0bd9a355d7a6d6f77",h.callServer,void 0,h.findSourceMapURL,"updateProjectAction");var j=c(54151);let k=[{value:"#c2452a",name:"Mars Red"},{value:"#a83a22",name:"Deep Red"},{value:"#7c2b19",name:"Dark Red"},{value:"#111318",name:"Charcoal"},{value:"#3f3a30",name:"Warm Black"},{value:"#68707b",name:"Slate"},{value:"#cdb78a",name:"Warm Sand"},{value:"#1f6c9f",name:"Skill Blue"}];function l(){let{pending:a}=(0,f.useFormStatus)();return(0,d.jsx)("button",{type:"submit",className:"admin-button",disabled:a,"aria-busy":a?"true":void 0,children:a?"Saving…":"Save changes"})}function m({projectId:a,projectName:b,projectColor:c,projectDescription:f,projectFolderPath:h}){let[m,n]=e.useState(!1),[o,p]=e.useState("keep"),[q,r]=e.useState(h||""),s=e.useRef(null);return e.useEffect(()=>{m&&(p("keep"),r(h||""))},[m,h]),e.useEffect(()=>{"custom"===o&&s.current?.focus()},[o]),(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("button",{type:"button",className:"admin-button secondary project-edit",onClick:()=>n(!0),"aria-label":`Edit ${b}`,children:"Edit"}),(0,d.jsx)(g.A,{open:m,onClose:()=>n(!1),eyebrow:"Edit project",title:`Edit ${b}`,children:(0,d.jsxs)("form",{className:"agents-modal-form",action:i,children:[(0,d.jsx)("input",{type:"hidden",name:"project_id",value:a}),(0,d.jsx)("section",{className:"agents-modal-section",children:(0,d.jsxs)("label",{className:"agents-modal-field wide",children:[(0,d.jsx)("span",{children:"Name"}),(0,d.jsx)("input",{name:"name",type:"text",defaultValue:b,autoComplete:"off",required:!0})]})}),(0,d.jsxs)("section",{className:"agents-modal-section",children:[(0,d.jsxs)("div",{className:"agents-modal-section-head",children:[(0,d.jsx)("span",{children:"Folder location"}),(0,d.jsx)("small",{children:"Where project files live on disk. Move only if you've already moved the folder yourself."})]}),(0,d.jsxs)("div",{className:"agents-modal-radio-group",children:[(0,d.jsxs)("label",{className:`agents-modal-radio ${"keep"===o?"on":""}`,children:[(0,d.jsx)("input",{type:"radio",name:"folder_mode",value:"keep",checked:"keep"===o,onChange:()=>p("keep")}),(0,d.jsxs)("span",{className:"agents-modal-radio-body",children:[(0,d.jsx)("b",{children:"Keep current"}),(0,d.jsx)("code",{title:h||"",children:function(a,b=48){if(!a||a.length<=b)return a;let c=a.slice(0,Math.floor(b/2)-1),d=a.slice(a.length-Math.floor(b/2)+2);return`${c}…${d}`}(h)||"(not set)"})]})]}),(0,d.jsxs)("label",{className:`agents-modal-radio ${"custom"===o?"on":""}`,children:[(0,d.jsx)("input",{type:"radio",name:"folder_mode",value:"custom",checked:"custom"===o,onChange:()=>p("custom")}),(0,d.jsxs)("span",{className:"agents-modal-radio-body",children:[(0,d.jsx)("b",{children:"Change to…"}),(0,d.jsx)("small",{children:"Absolute path. Must already exist or be writable."})]})]})]}),"custom"===o?(0,d.jsx)(j.A,{inputRef:s,value:q,onChange:r}):(0,d.jsx)("input",{type:"hidden",name:"folder_path",value:""})]}),(0,d.jsxs)("section",{className:"agents-modal-section",children:[(0,d.jsxs)("div",{className:"agents-modal-section-head",children:[(0,d.jsx)("span",{children:"Color"}),(0,d.jsx)("small",{children:"Tile color across the app."})]}),(0,d.jsxs)("fieldset",{className:"agents-modal-swatches",children:[(0,d.jsx)("legend",{className:"visually-hidden",children:"Project color"}),k.map(a=>(0,d.jsxs)("label",{className:"agents-modal-swatch",style:{"--swatch":a.value},children:[(0,d.jsx)("input",{type:"radio",name:"color",value:a.value,defaultChecked:a.value===(c||"#c2452a")}),(0,d.jsx)("span",{className:"agents-modal-swatch-ring","aria-hidden":"true"}),(0,d.jsx)("span",{className:"visually-hidden",children:a.name})]},a.value))]})]}),(0,d.jsxs)("section",{className:"agents-modal-section",children:[(0,d.jsxs)("div",{className:"agents-modal-section-head",children:[(0,d.jsx)("span",{children:"Description"}),(0,d.jsx)("small",{children:"Used as context for agents working in this project."})]}),(0,d.jsx)("label",{className:"agents-modal-field wide",children:(0,d.jsx)("textarea",{name:"description",rows:3,defaultValue:f||"",placeholder:"What is this project for? Goals, audience, voice, constraints."})})]}),(0,d.jsxs)("footer",{className:"agents-modal-foot",children:[(0,d.jsx)("button",{type:"button",className:"admin-button secondary",onClick:()=>n(!1),children:"Cancel"}),(0,d.jsx)(l,{})]})]})})]})}},99332:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{createTask:()=>p,fI:()=>l});var e=c(84104),f=c(67644),g=c(79336),h=c(86702),i=a([e,f,g]);function j(a,b=null){if(!a)return b;try{return JSON.parse(a)}catch{return b}}function k(a){return null==a?null:JSON.stringify(a)}function l(a){if(!a?.type||!1===a.persist)return null;let b=function(a){let b={agent_run_start:"agent.run.status",agent_run_complete:"agent.run.status",agent_tool_start:"agent.run.event",agent_tool_result:"agent.run.event",log:"agent.run.log"},c=(0,h._d)(b[a.type]||a.type,null);return c&&h.eh.includes(c)?{actor_type:a.actor_type||(a.agent_id?"agent":"system"),actor_id:a.actor_id||a.agent_id||null,agent_id:a.agent_id||null,run_id:a.run_id||null,entity_type:a.entity_type||(a.task_id?"task":a.run_id?"agent_run":a.agent_id?"agent":"event"),entity_id:a.entity_id||a.task_id||a.run_id||a.id||null,action:c,details:{...a,legacy_type:b[a.type]?a.type:void 0},created_at:a.created_at||(0,e.kF)()}:null}(a);return b?m(b):null}function m({actor_type:a="system",actor_id:b=null,agent_id:c=null,run_id:d=null,entity_type:f=null,entity_id:g=null,action:h,details:i=null,created_at:l=(0,e.kF)()}={}){var n;if(!h)throw Error("activity action is required");let o=(0,e.Lf)(),p=(0,e.Si)("activity");return o.prepare(`
3188
+ `).get(c),i=h?{id:h.id,portfolio_id:h.portfolio_id,name:h.name,commodity:h.commodity??null,deposit_type:h.deposit_type??null,owner:h.owner??null,available_information:h.available_information??null,has_drilling:+(1===h.has_drilling),deal_terms:h.deal_terms??null,data_completeness:h.data_completeness??null,notes:h.notes??null}:null,j=d.prepare("SELECT COUNT(*) AS n, MAX(created_at) AS last_at FROM mines_source_documents WHERE project_id = ?").get(c),k=d.prepare("SELECT COUNT(*) AS n FROM mines_assay_samples WHERE project_id = ?").get(c),l=d.prepare("SELECT COUNT(*) AS n FROM mines_drill_holes WHERE project_id = ?").get(c),m={documents:j?.n??0,assays:k?.n??0,drill_holes:l?.n??0},o=j?.last_at??null;return{status:"ok",project:f,portfolio_entry:i,counts:m,last_import_at:o}}[g,h,i,j]=l.then?(await l)():l,d()}catch(a){d(a)}})},99332:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{createTask:()=>p,fI:()=>l});var e=c(84104),f=c(67644),g=c(79336),h=c(86702),i=a([e,f,g]);function j(a,b=null){if(!a)return b;try{return JSON.parse(a)}catch{return b}}function k(a){return null==a?null:JSON.stringify(a)}function l(a){if(!a?.type||!1===a.persist)return null;let b=function(a){let b={agent_run_start:"agent.run.status",agent_run_complete:"agent.run.status",agent_tool_start:"agent.run.event",agent_tool_result:"agent.run.event",log:"agent.run.log"},c=(0,h._d)(b[a.type]||a.type,null);return c&&h.eh.includes(c)?{actor_type:a.actor_type||(a.agent_id?"agent":"system"),actor_id:a.actor_id||a.agent_id||null,agent_id:a.agent_id||null,run_id:a.run_id||null,entity_type:a.entity_type||(a.task_id?"task":a.run_id?"agent_run":a.agent_id?"agent":"event"),entity_id:a.entity_id||a.task_id||a.run_id||a.id||null,action:c,details:{...a,legacy_type:b[a.type]?a.type:void 0},created_at:a.created_at||(0,e.kF)()}:null}(a);return b?m(b):null}function m({actor_type:a="system",actor_id:b=null,agent_id:c=null,run_id:d=null,entity_type:f=null,entity_id:g=null,action:h,details:i=null,created_at:l=(0,e.kF)()}={}){var n;if(!h)throw Error("activity action is required");let o=(0,e.Lf)(),p=(0,e.Si)("activity");return o.prepare(`
3189
3189
  INSERT INTO activity_log
3190
3190
  (id, actor_type, actor_id, agent_id, run_id, entity_type, entity_id, action, details_json, created_at)
3191
3191
  VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
@@ -3203,4 +3203,4 @@ ${b}`:b;return p(o("codex"),["exec",d],{timeoutMs:Number(process.env.CODEX_TICK_
3203
3203
  `).run(f,a.workspace_id||"local",String(a.title||"Untitled task"),a.description||null,i,l,g?.id||null,a.created_by_agent_id||null,a.created_by_user_id||null,a.parent_task_id||null,a.project_id||null,a.goal_id||null,a.blocked_reason||null,r,k(m),s,k(q),t,a.acceptance_criteria||null,a.recurred_from_task_id||null,d,d,"in_progress"===i?d:null,"done"===i?d:null,"cancelled"===i?d:null),Array.isArray(a.checklist)&&a.checklist.length){let b=c.prepare(`
3204
3204
  INSERT INTO task_checklist_items (id, task_id, label, done, position, created_at, done_at)
3205
3205
  VALUES (?, ?, ?, 0, ?, ?, NULL)
3206
- `);a.checklist.map(a=>String(a).trim()).filter(Boolean).slice(0,30).forEach((a,c)=>{b.run((0,e.Si)("ckl"),f,a,c,d)})}let u=(b=(0,e.Lf)().prepare("SELECT * FROM tasks WHERE id = ?").get(f))?{...b,parent_task_id:b.parent_task_id||null,tags:j(b.tags_json,[]),watchers:j(b.watchers_json,[]),due_at:b.due_at||null,estimate_minutes:null==b.estimate_minutes?null:Number(b.estimate_minutes),recurrence:b.recurrence||null,acceptance_criteria:b.acceptance_criteria||null}:null;return o(u,{action:"task.updated",liveType:"task.updated",actor_type:a.created_by_agent_id?"agent":a.created_by_user_id?"user":"system",actor_id:a.created_by_agent_id||a.created_by_user_id||null,agent_id:g?.id||null,details:{event:"created"},event_type:"task.created",wake_reason:g?"task_assigned":null}),g&&o(u,{action:"task.assigned",liveType:"task.assigned",actor_type:a.created_by_agent_id?"agent":a.created_by_user_id?"user":"system",actor_id:a.created_by_agent_id||a.created_by_user_id||null,agent_id:g.id,details:{assignee_agent_id:g.id},event_type:"task.assigned"}),a.parent_task_id&&n(a.parent_task_id,{event_type:"task.child_created",actor_type:a.created_by_agent_id?"agent":a.created_by_user_id?"user":"system",actor_id:a.created_by_agent_id||a.created_by_user_id||null,agent_id:g?.id||null,payload:{child_task_id:u.id}}),u}[e,f,g]=i.then?(await i)():i,d()}catch(a){d(a)}})},99752:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{chatWithClaude:()=>i});var e=c(50832),f=c(66740),g=a([e,f]);[e,f]=g.then?(await g)():g;let j=Number(process.env.MADARX_ANTHROPIC_MAX_RETRIES??4),k=Number(process.env.MADARX_ANTHROPIC_OUTER_RETRIES??3),l=a=>new Promise(b=>setTimeout(b,a));async function h(a,b){let c;for(let d=0;d<k;d+=1)try{return await a()}catch(e){if(c=e,!function(a){let b=a?.status;return!!(429===b||408===b||409===b||"number"==typeof b&&b>=500||null==b&&(a?.name==="APIConnectionError"||a?.name==="APIConnectionTimeoutError"||/timeout|ECONNRESET|ENOTFOUND|EAI_AGAIN|socket hang up/i.test(String(a?.message||""))))}(e)||d===k-1)throw e;let a=function(a,b){let c=a?.headers?.get?.("retry-after"),d=null!=c?Number(c):NaN;return Number.isFinite(d)&&d>=0?Math.min(1e3*d,3e4):Math.min(500*2**b,8e3)+Math.floor(250*Math.random())}(e,d);console.warn(`[claude] ${b} transient ${e?.status||e?.name||"error"} — retry ${d+1}/${k-1} in ${a}ms`),await l(a)}throw c}async function i(a,b,c=[],d={}){let g=function(){let a=(0,f.resolveAnthropicApiKey)();if(!a)throw Error("ANTHROPIC_API_KEY not configured");return new e.default({apiKey:a,maxRetries:j})}(),k={model:d.model||"claude-sonnet-4-6",max_tokens:d.max_tokens||8192,system:b,messages:a};return c.length&&(k.tools=c),d.tool_choice&&(k.tool_choice=d.tool_choice),"number"==typeof d.temperature&&(k.temperature=d.temperature),h(()=>g.messages.create(k),`chat(${k.model})`)}d()}catch(a){d(a)}})},99755:(a,b,c)=>{"use strict";c.d(b,{nA:()=>g});let d=/^[a-z][a-z0-9-]{2,63}$/,e=/^\/[a-z][a-z0-9-]{1,63}$/;function f(a,b,c){a.push(`${b}: ${c}`)}function g(a,b={}){var c;let h,i=[],j=[];try{h=JSON.stringify(a)}catch{return{ok:!1,errors:["spec: not JSON-serialisable"],warnings:[],normalized:null}}if(!h||"undefined"===h)return{ok:!1,errors:["spec: required"],warnings:[],normalized:null};if(Buffer.byteLength(h,"utf8")>65536)return{ok:!1,errors:["spec: exceeds 64KB"],warnings:[],normalized:null};return null===a||"object"!=typeof a||Array.isArray(a)?{ok:!1,errors:["spec: must be an object"],warnings:[],normalized:null}:(a.slug&&"string"==typeof a.slug?d.test(a.slug)||f(i,"slug",`does not match ${d} (lowercase, starts with letter, 3-64 chars, [a-z0-9-])`):f(i,"slug","required (string)"),a.title&&"string"==typeof a.title||f(i,"title","required (non-empty string)"),null!=a.description&&"string"!=typeof a.description&&f(i,"description","must be a string"),a.markdown&&"string"==typeof a.markdown?a.markdown.length>1e5&&f(i,"markdown",`exceeds 100000 chars (got ${a.markdown.length})`):f(i,"markdown","required (non-empty string)"),null!=a.invocation&&("string"!=typeof a.invocation?f(i,"invocation","must be a string"):e.test(a.invocation)||f(i,"invocation",`must match ${e} (e.g. "/my-skill")`)),null!=a.trigger_examples&&(Array.isArray(a.trigger_examples)?a.trigger_examples.forEach((a,b)=>{"string"==typeof a&&a.trim()||f(i,`trigger_examples[${b}]`,"must be a non-empty string")}):f(i,"trigger_examples","must be an array of strings")),null!=a.category&&"string"!=typeof a.category&&f(i,"category","must be a string"),i.length>0)?{ok:!1,errors:i,warnings:j,normalized:null}:{ok:!0,errors:[],warnings:j,normalized:{slug:(c=a).slug,title:c.title,description:c.description||null,category:"string"==typeof c.category&&c.category?c.category:"authored",invocation:"string"==typeof c.invocation&&c.invocation?c.invocation:`/${c.slug}`,markdown:c.markdown,trigger_examples:Array.isArray(c.trigger_examples)?c.trigger_examples.filter(a=>"string"==typeof a&&a.trim()):[]}}}},99850:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{J1:()=>h}),c(77598);var e=c(84104),f=a([e]);async function g(a,b,c){let d=new URLSearchParams(b).toString(),e=await c(a,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:d}),f=null;try{f=await e.json()}catch{f=null}return{res:e,data:f}}async function h(a,b={},c=fetch){if(!a?.token_url)throw Error("provider.token_url required");if(!b.refresh_token)throw Error("refresh_token required");let d={grant_type:"refresh_token",refresh_token:b.refresh_token,client_id:b.client_id||""};b.client_secret&&(d.client_secret=b.client_secret);let{res:e,data:f}=await g(a.token_url,d,c);if(!e.ok)return{ok:!1,error:"refresh_failed",http_status:e.status,detail:f?.error||null};let i=function(a){if(!a||"object"!=typeof a)return null;let b=a.access_token||null;return b?{access_token:b,refresh_token:a.refresh_token||null,token_type:a.token_type||"Bearer",expires_in:Number.isFinite(a.expires_in)?a.expires_in:null,scope:a.scope||null}:null}(f);return i?{ok:!0,...i,refresh_token:i.refresh_token||b.refresh_token}:{ok:!1,error:"no_access_token"}}e=(f.then?(await f)():f)[0],d()}catch(a){d(a)}})}};var b=require("../../webpack-runtime.js");b.C(a);var c=b.X(0,[5873,3940,3676,1699,3230,6059],()=>b(b.s=17483));module.exports=c})();
3206
+ `);a.checklist.map(a=>String(a).trim()).filter(Boolean).slice(0,30).forEach((a,c)=>{b.run((0,e.Si)("ckl"),f,a,c,d)})}let u=(b=(0,e.Lf)().prepare("SELECT * FROM tasks WHERE id = ?").get(f))?{...b,parent_task_id:b.parent_task_id||null,tags:j(b.tags_json,[]),watchers:j(b.watchers_json,[]),due_at:b.due_at||null,estimate_minutes:null==b.estimate_minutes?null:Number(b.estimate_minutes),recurrence:b.recurrence||null,acceptance_criteria:b.acceptance_criteria||null}:null;return o(u,{action:"task.updated",liveType:"task.updated",actor_type:a.created_by_agent_id?"agent":a.created_by_user_id?"user":"system",actor_id:a.created_by_agent_id||a.created_by_user_id||null,agent_id:g?.id||null,details:{event:"created"},event_type:"task.created",wake_reason:g?"task_assigned":null}),g&&o(u,{action:"task.assigned",liveType:"task.assigned",actor_type:a.created_by_agent_id?"agent":a.created_by_user_id?"user":"system",actor_id:a.created_by_agent_id||a.created_by_user_id||null,agent_id:g.id,details:{assignee_agent_id:g.id},event_type:"task.assigned"}),a.parent_task_id&&n(a.parent_task_id,{event_type:"task.child_created",actor_type:a.created_by_agent_id?"agent":a.created_by_user_id?"user":"system",actor_id:a.created_by_agent_id||a.created_by_user_id||null,agent_id:g?.id||null,payload:{child_task_id:u.id}}),u}[e,f,g]=i.then?(await i)():i,d()}catch(a){d(a)}})},99752:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{chatWithClaude:()=>i});var e=c(50832),f=c(66740),g=a([e,f]);[e,f]=g.then?(await g)():g;let j=Number(process.env.MADARX_ANTHROPIC_MAX_RETRIES??4),k=Number(process.env.MADARX_ANTHROPIC_OUTER_RETRIES??3),l=a=>new Promise(b=>setTimeout(b,a));async function h(a,b){let c;for(let d=0;d<k;d+=1)try{return await a()}catch(e){if(c=e,!function(a){let b=a?.status;return!!(429===b||408===b||409===b||"number"==typeof b&&b>=500||null==b&&(a?.name==="APIConnectionError"||a?.name==="APIConnectionTimeoutError"||/timeout|ECONNRESET|ENOTFOUND|EAI_AGAIN|socket hang up/i.test(String(a?.message||""))))}(e)||d===k-1)throw e;let a=function(a,b){let c=a?.headers?.get?.("retry-after"),d=null!=c?Number(c):NaN;return Number.isFinite(d)&&d>=0?Math.min(1e3*d,3e4):Math.min(500*2**b,8e3)+Math.floor(250*Math.random())}(e,d);console.warn(`[claude] ${b} transient ${e?.status||e?.name||"error"} — retry ${d+1}/${k-1} in ${a}ms`),await l(a)}throw c}async function i(a,b,c=[],d={}){let g=function(){let a=(0,f.resolveAnthropicApiKey)();if(!a)throw Error("ANTHROPIC_API_KEY not configured");return new e.default({apiKey:a,maxRetries:j})}(),k={model:d.model||"claude-sonnet-4-6",max_tokens:d.max_tokens||8192,system:b,messages:a};return c.length&&(k.tools=c),d.tool_choice&&(k.tool_choice=d.tool_choice),"number"==typeof d.temperature&&(k.temperature=d.temperature),h(()=>g.messages.create(k),`chat(${k.model})`)}d()}catch(a){d(a)}})},99755:(a,b,c)=>{"use strict";c.d(b,{nA:()=>g});let d=/^[a-z][a-z0-9-]{2,63}$/,e=/^\/[a-z][a-z0-9-]{1,63}$/;function f(a,b,c){a.push(`${b}: ${c}`)}function g(a,b={}){var c;let h,i=[],j=[];try{h=JSON.stringify(a)}catch{return{ok:!1,errors:["spec: not JSON-serialisable"],warnings:[],normalized:null}}if(!h||"undefined"===h)return{ok:!1,errors:["spec: required"],warnings:[],normalized:null};if(Buffer.byteLength(h,"utf8")>65536)return{ok:!1,errors:["spec: exceeds 64KB"],warnings:[],normalized:null};return null===a||"object"!=typeof a||Array.isArray(a)?{ok:!1,errors:["spec: must be an object"],warnings:[],normalized:null}:(a.slug&&"string"==typeof a.slug?d.test(a.slug)||f(i,"slug",`does not match ${d} (lowercase, starts with letter, 3-64 chars, [a-z0-9-])`):f(i,"slug","required (string)"),a.title&&"string"==typeof a.title||f(i,"title","required (non-empty string)"),null!=a.description&&"string"!=typeof a.description&&f(i,"description","must be a string"),a.markdown&&"string"==typeof a.markdown?a.markdown.length>1e5&&f(i,"markdown",`exceeds 100000 chars (got ${a.markdown.length})`):f(i,"markdown","required (non-empty string)"),null!=a.invocation&&("string"!=typeof a.invocation?f(i,"invocation","must be a string"):e.test(a.invocation)||f(i,"invocation",`must match ${e} (e.g. "/my-skill")`)),null!=a.trigger_examples&&(Array.isArray(a.trigger_examples)?a.trigger_examples.forEach((a,b)=>{"string"==typeof a&&a.trim()||f(i,`trigger_examples[${b}]`,"must be a non-empty string")}):f(i,"trigger_examples","must be an array of strings")),null!=a.category&&"string"!=typeof a.category&&f(i,"category","must be a string"),i.length>0)?{ok:!1,errors:i,warnings:j,normalized:null}:{ok:!0,errors:[],warnings:j,normalized:{slug:(c=a).slug,title:c.title,description:c.description||null,category:"string"==typeof c.category&&c.category?c.category:"authored",invocation:"string"==typeof c.invocation&&c.invocation?c.invocation:`/${c.slug}`,markdown:c.markdown,trigger_examples:Array.isArray(c.trigger_examples)?c.trigger_examples.filter(a=>"string"==typeof a&&a.trim()):[]}}}},99850:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{J1:()=>h}),c(77598);var e=c(84104),f=a([e]);async function g(a,b,c){let d=new URLSearchParams(b).toString(),e=await c(a,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:d}),f=null;try{f=await e.json()}catch{f=null}return{res:e,data:f}}async function h(a,b={},c=fetch){if(!a?.token_url)throw Error("provider.token_url required");if(!b.refresh_token)throw Error("refresh_token required");let d={grant_type:"refresh_token",refresh_token:b.refresh_token,client_id:b.client_id||""};b.client_secret&&(d.client_secret=b.client_secret);let{res:e,data:f}=await g(a.token_url,d,c);if(!e.ok)return{ok:!1,error:"refresh_failed",http_status:e.status,detail:f?.error||null};let i=function(a){if(!a||"object"!=typeof a)return null;let b=a.access_token||null;return b?{access_token:b,refresh_token:a.refresh_token||null,token_type:a.token_type||"Bearer",expires_in:Number.isFinite(a.expires_in)?a.expires_in:null,scope:a.scope||null}:null}(f);return i?{ok:!0,...i,refresh_token:i.refresh_token||b.refresh_token}:{ok:!1,error:"no_access_token"}}e=(f.then?(await f)():f)[0],d()}catch(a){d(a)}})}};var b=require("../../webpack-runtime.js");b.C(a);var c=b.X(0,[5873,3940,9195,1699,3230,6059],()=>b(b.s=17483));module.exports=c})();