madarx 2.13.0 → 2.15.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 (407) hide show
  1. package/.next/standalone/.next/BUILD_ID +1 -1
  2. package/.next/standalone/.next/app-build-manifest.json +544 -551
  3. package/.next/standalone/.next/app-path-routes-manifest.json +76 -77
  4. package/.next/standalone/.next/build-manifest.json +5 -5
  5. package/.next/standalone/.next/prerender-manifest.json +3 -3
  6. package/.next/standalone/.next/react-loadable-manifest.json +1 -1
  7. package/.next/standalone/.next/routes-manifest.json +0 -6
  8. package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  9. package/.next/standalone/.next/server/app/_not-found.html +1 -1
  10. package/.next/standalone/.next/server/app/_not-found.rsc +2 -2
  11. package/.next/standalone/.next/server/app/activity/page_client-reference-manifest.js +1 -1
  12. package/.next/standalone/.next/server/app/admin/page.js +2 -2
  13. package/.next/standalone/.next/server/app/admin/page_client-reference-manifest.js +1 -1
  14. package/.next/standalone/.next/server/app/agents/[id]/page.js +4 -4
  15. package/.next/standalone/.next/server/app/agents/[id]/page_client-reference-manifest.js +1 -1
  16. package/.next/standalone/.next/server/app/agents/page.js +1 -1
  17. package/.next/standalone/.next/server/app/agents/page_client-reference-manifest.js +1 -1
  18. package/.next/standalone/.next/server/app/api/activity/route_client-reference-manifest.js +1 -1
  19. package/.next/standalone/.next/server/app/api/admin/audit-export/route_client-reference-manifest.js +1 -1
  20. package/.next/standalone/.next/server/app/api/admin/share-links/route_client-reference-manifest.js +1 -1
  21. package/.next/standalone/.next/server/app/api/agent-memory/route_client-reference-manifest.js +1 -1
  22. package/.next/standalone/.next/server/app/api/agent-runs/[id]/cancel/route_client-reference-manifest.js +1 -1
  23. package/.next/standalone/.next/server/app/api/agent-runs/[id]/events/route_client-reference-manifest.js +1 -1
  24. package/.next/standalone/.next/server/app/api/agent-runs/[id]/log/route_client-reference-manifest.js +1 -1
  25. package/.next/standalone/.next/server/app/api/agent-runs/[id]/route_client-reference-manifest.js +1 -1
  26. package/.next/standalone/.next/server/app/api/agent-runs/route_client-reference-manifest.js +1 -1
  27. package/.next/standalone/.next/server/app/api/agents/[id]/chain/route_client-reference-manifest.js +1 -1
  28. package/.next/standalone/.next/server/app/api/agents/[id]/memory/route_client-reference-manifest.js +1 -1
  29. package/.next/standalone/.next/server/app/api/agents/[id]/reports/route_client-reference-manifest.js +1 -1
  30. package/.next/standalone/.next/server/app/api/agents/[id]/run/route_client-reference-manifest.js +1 -1
  31. package/.next/standalone/.next/server/app/api/agents/[id]/skills/route_client-reference-manifest.js +1 -1
  32. package/.next/standalone/.next/server/app/api/agents/create/route_client-reference-manifest.js +1 -1
  33. package/.next/standalone/.next/server/app/api/agents/ops/route_client-reference-manifest.js +1 -1
  34. package/.next/standalone/.next/server/app/api/approvals/[id]/route_client-reference-manifest.js +1 -1
  35. package/.next/standalone/.next/server/app/api/approvals/route_client-reference-manifest.js +1 -1
  36. package/.next/standalone/.next/server/app/api/artifacts/[id]/acl/route_client-reference-manifest.js +1 -1
  37. package/.next/standalone/.next/server/app/api/artifacts/[id]/protect/route_client-reference-manifest.js +1 -1
  38. package/.next/standalone/.next/server/app/api/artifacts/[id]/raw/route_client-reference-manifest.js +1 -1
  39. package/.next/standalone/.next/server/app/api/artifacts/[id]/route_client-reference-manifest.js +1 -1
  40. package/.next/standalone/.next/server/app/api/artifacts/[id]/share-link/[linkId]/route_client-reference-manifest.js +1 -1
  41. package/.next/standalone/.next/server/app/api/artifacts/[id]/share-link/route_client-reference-manifest.js +1 -1
  42. package/.next/standalone/.next/server/app/api/artifacts/upload/route_client-reference-manifest.js +1 -1
  43. package/.next/standalone/.next/server/app/api/audit/list/route_client-reference-manifest.js +1 -1
  44. package/.next/standalone/.next/server/app/api/audit/search/route_client-reference-manifest.js +1 -1
  45. package/.next/standalone/.next/server/app/api/auth/callback/route_client-reference-manifest.js +1 -1
  46. package/.next/standalone/.next/server/app/api/auth/config/route_client-reference-manifest.js +1 -1
  47. package/.next/standalone/.next/server/app/api/auth/join-bootstrap/route_client-reference-manifest.js +1 -1
  48. package/.next/standalone/.next/server/app/api/auth/session/route_client-reference-manifest.js +1 -1
  49. package/.next/standalone/.next/server/app/api/brand/route_client-reference-manifest.js +1 -1
  50. package/.next/standalone/.next/server/app/api/chat/sessions/[id]/route_client-reference-manifest.js +1 -1
  51. package/.next/standalone/.next/server/app/api/chat/sessions/route_client-reference-manifest.js +1 -1
  52. package/.next/standalone/.next/server/app/api/config/env/route_client-reference-manifest.js +1 -1
  53. package/.next/standalone/.next/server/app/api/config/route_client-reference-manifest.js +1 -1
  54. package/.next/standalone/.next/server/app/api/connections/[service]/route_client-reference-manifest.js +1 -1
  55. package/.next/standalone/.next/server/app/api/connections/[service]/verify/route_client-reference-manifest.js +1 -1
  56. package/.next/standalone/.next/server/app/api/connections/route_client-reference-manifest.js +1 -1
  57. package/.next/standalone/.next/server/app/api/cron/tick/route_client-reference-manifest.js +1 -1
  58. package/.next/standalone/.next/server/app/api/dashboard/spaces/[id]/move/route_client-reference-manifest.js +1 -1
  59. package/.next/standalone/.next/server/app/api/dashboard/spaces/[id]/route_client-reference-manifest.js +1 -1
  60. package/.next/standalone/.next/server/app/api/dashboard/spaces/[id]/share-link/[linkId]/route_client-reference-manifest.js +1 -1
  61. package/.next/standalone/.next/server/app/api/dashboard/spaces/[id]/share-link/route_client-reference-manifest.js +1 -1
  62. package/.next/standalone/.next/server/app/api/dashboard/spaces/import/route_client-reference-manifest.js +1 -1
  63. package/.next/standalone/.next/server/app/api/dashboard/spaces/route_client-reference-manifest.js +1 -1
  64. package/.next/standalone/.next/server/app/api/disk/files/[id]/blob/route_client-reference-manifest.js +1 -1
  65. package/.next/standalone/.next/server/app/api/disk/files/[id]/route_client-reference-manifest.js +1 -1
  66. package/.next/standalone/.next/server/app/api/disk/files/[id]/transcribe/route_client-reference-manifest.js +1 -1
  67. package/.next/standalone/.next/server/app/api/disk/files/route_client-reference-manifest.js +1 -1
  68. package/.next/standalone/.next/server/app/api/disk/folders/route_client-reference-manifest.js +1 -1
  69. package/.next/standalone/.next/server/app/api/events/since/[cursor]/route_client-reference-manifest.js +1 -1
  70. package/.next/standalone/.next/server/app/api/events/stream/route_client-reference-manifest.js +1 -1
  71. package/.next/standalone/.next/server/app/api/fs/create-folder/route_client-reference-manifest.js +1 -1
  72. package/.next/standalone/.next/server/app/api/fs/pick-folder/route_client-reference-manifest.js +1 -1
  73. package/.next/standalone/.next/server/app/api/hail/engagements/[id]/blueprint/route.js.nft.json +1 -1
  74. package/.next/standalone/.next/server/app/api/hail/engagements/[id]/blueprint/route_client-reference-manifest.js +1 -1
  75. package/.next/standalone/.next/server/app/api/hail/engagements/[id]/diagnostic/route.js.nft.json +1 -1
  76. package/.next/standalone/.next/server/app/api/hail/engagements/[id]/diagnostic/route_client-reference-manifest.js +1 -1
  77. package/.next/standalone/.next/server/app/api/hail/engagements/[id]/governance/route.js.nft.json +1 -1
  78. package/.next/standalone/.next/server/app/api/hail/engagements/[id]/governance/route_client-reference-manifest.js +1 -1
  79. package/.next/standalone/.next/server/app/api/hail/engagements/[id]/interview/route.js.nft.json +1 -1
  80. package/.next/standalone/.next/server/app/api/hail/engagements/[id]/interview/route_client-reference-manifest.js +1 -1
  81. package/.next/standalone/.next/server/app/api/hail/engagements/[id]/pilot/route.js.nft.json +1 -1
  82. package/.next/standalone/.next/server/app/api/hail/engagements/[id]/pilot/route_client-reference-manifest.js +1 -1
  83. package/.next/standalone/.next/server/app/api/hail/engagements/[id]/quarterly/route.js.nft.json +1 -1
  84. package/.next/standalone/.next/server/app/api/hail/engagements/[id]/quarterly/route_client-reference-manifest.js +1 -1
  85. package/.next/standalone/.next/server/app/api/hail/engagements/[id]/route.js.nft.json +1 -1
  86. package/.next/standalone/.next/server/app/api/hail/engagements/[id]/route_client-reference-manifest.js +1 -1
  87. package/.next/standalone/.next/server/app/api/hail/engagements/[id]/setup-package/route.js.nft.json +1 -1
  88. package/.next/standalone/.next/server/app/api/hail/engagements/[id]/setup-package/route_client-reference-manifest.js +1 -1
  89. package/.next/standalone/.next/server/app/api/hail/engagements/route.js.nft.json +1 -1
  90. package/.next/standalone/.next/server/app/api/hail/engagements/route_client-reference-manifest.js +1 -1
  91. package/.next/standalone/.next/server/app/api/hail/interviews/[id]/responses/route.js.nft.json +1 -1
  92. package/.next/standalone/.next/server/app/api/hail/interviews/[id]/responses/route_client-reference-manifest.js +1 -1
  93. package/.next/standalone/.next/server/app/api/hail/interviews/[id]/route.js.nft.json +1 -1
  94. package/.next/standalone/.next/server/app/api/hail/interviews/[id]/route_client-reference-manifest.js +1 -1
  95. package/.next/standalone/.next/server/app/api/hail/setup-packages/[id]/apply/route.js.nft.json +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.js.nft.json +1 -1
  100. package/.next/standalone/.next/server/app/api/heartbeat/worker/route_client-reference-manifest.js +1 -1
  101. package/.next/standalone/.next/server/app/api/help/route_client-reference-manifest.js +1 -1
  102. package/.next/standalone/.next/server/app/api/hermes/jobs/[id]/events/route_client-reference-manifest.js +1 -1
  103. package/.next/standalone/.next/server/app/api/hermes/jobs/[id]/route_client-reference-manifest.js +1 -1
  104. package/.next/standalone/.next/server/app/api/hermes/jobs/route_client-reference-manifest.js +1 -1
  105. package/.next/standalone/.next/server/app/api/integrations/google/callback/route_client-reference-manifest.js +1 -1
  106. package/.next/standalone/.next/server/app/api/integrations/google/oauth/route_client-reference-manifest.js +1 -1
  107. package/.next/standalone/.next/server/app/api/marketplace/[id]/route_client-reference-manifest.js +1 -1
  108. package/.next/standalone/.next/server/app/api/marketplace/open-design/route_client-reference-manifest.js +1 -1
  109. package/.next/standalone/.next/server/app/api/marketplace/route_client-reference-manifest.js +1 -1
  110. package/.next/standalone/.next/server/app/api/mines/import-roots/route_client-reference-manifest.js +1 -1
  111. package/.next/standalone/.next/server/app/api/mines/portfolio/route_client-reference-manifest.js +1 -1
  112. package/.next/standalone/.next/server/app/api/mines/projects/[id]/chunks/route_client-reference-manifest.js +1 -1
  113. package/.next/standalone/.next/server/app/api/mines/projects/[id]/diligence/route_client-reference-manifest.js +1 -1
  114. package/.next/standalone/.next/server/app/api/mines/projects/[id]/import/route_client-reference-manifest.js +1 -1
  115. package/.next/standalone/.next/server/app/api/mines/projects/[id]/publish/route_client-reference-manifest.js +1 -1
  116. package/.next/standalone/.next/server/app/api/mines/projects/route_client-reference-manifest.js +1 -1
  117. package/.next/standalone/.next/server/app/api/missions/route_client-reference-manifest.js +1 -1
  118. package/.next/standalone/.next/server/app/api/models/route_client-reference-manifest.js +1 -1
  119. package/.next/standalone/.next/server/app/api/onboarding/blueprint/route_client-reference-manifest.js +1 -1
  120. package/.next/standalone/.next/server/app/api/onboarding/launch/route_client-reference-manifest.js +1 -1
  121. package/.next/standalone/.next/server/app/api/orchestrator/command/route_client-reference-manifest.js +1 -1
  122. package/.next/standalone/.next/server/app/api/orchestrator/stream/route_client-reference-manifest.js +1 -1
  123. package/.next/standalone/.next/server/app/api/orchestrator/upload/route_client-reference-manifest.js +1 -1
  124. package/.next/standalone/.next/server/app/api/org/route_client-reference-manifest.js +1 -1
  125. package/.next/standalone/.next/server/app/api/orgs/[id]/invites/[inviteId]/route_client-reference-manifest.js +1 -1
  126. package/.next/standalone/.next/server/app/api/orgs/[id]/invites/route_client-reference-manifest.js +1 -1
  127. package/.next/standalone/.next/server/app/api/orgs/[id]/members/[userId]/role/route_client-reference-manifest.js +1 -1
  128. package/.next/standalone/.next/server/app/api/orgs/[id]/members/[userId]/route_client-reference-manifest.js +1 -1
  129. package/.next/standalone/.next/server/app/api/orgs/[id]/members/route_client-reference-manifest.js +1 -1
  130. package/.next/standalone/.next/server/app/api/orgs/[id]/route_client-reference-manifest.js +1 -1
  131. package/.next/standalone/.next/server/app/api/orgs/invites/pending/route_client-reference-manifest.js +1 -1
  132. package/.next/standalone/.next/server/app/api/orgs/join/route_client-reference-manifest.js +1 -1
  133. package/.next/standalone/.next/server/app/api/orgs/join-complete/route_client-reference-manifest.js +1 -1
  134. package/.next/standalone/.next/server/app/api/orgs/route_client-reference-manifest.js +1 -1
  135. package/.next/standalone/.next/server/app/api/printing-press/clis/route_client-reference-manifest.js +1 -1
  136. package/.next/standalone/.next/server/app/api/printing-press/install/route_client-reference-manifest.js +1 -1
  137. package/.next/standalone/.next/server/app/api/printing-press/security-mode/route_client-reference-manifest.js +1 -1
  138. package/.next/standalone/.next/server/app/api/privacy/config/route_client-reference-manifest.js +1 -1
  139. package/.next/standalone/.next/server/app/api/privacy/verify/route_client-reference-manifest.js +1 -1
  140. package/.next/standalone/.next/server/app/api/processes/[id]/route.js.nft.json +1 -1
  141. package/.next/standalone/.next/server/app/api/processes/[id]/route_client-reference-manifest.js +1 -1
  142. package/.next/standalone/.next/server/app/api/processes/[id]/share-link/route.js.nft.json +1 -1
  143. package/.next/standalone/.next/server/app/api/processes/[id]/share-link/route_client-reference-manifest.js +1 -1
  144. package/.next/standalone/.next/server/app/api/processes/[id]/stages/[stageId]/override/route.js.nft.json +1 -1
  145. package/.next/standalone/.next/server/app/api/processes/[id]/stages/[stageId]/override/route_client-reference-manifest.js +1 -1
  146. package/.next/standalone/.next/server/app/api/processes/[id]/stages/[stageId]/retry/route.js.nft.json +1 -1
  147. package/.next/standalone/.next/server/app/api/processes/[id]/stages/[stageId]/retry/route_client-reference-manifest.js +1 -1
  148. package/.next/standalone/.next/server/app/api/processes/[id]/stages/[stageId]/submit/route.js.nft.json +1 -1
  149. package/.next/standalone/.next/server/app/api/processes/[id]/stages/[stageId]/submit/route_client-reference-manifest.js +1 -1
  150. package/.next/standalone/.next/server/app/api/processes/definitions/[slug]/route_client-reference-manifest.js +1 -1
  151. package/.next/standalone/.next/server/app/api/processes/definitions/[slug]/settings/route_client-reference-manifest.js +1 -1
  152. package/.next/standalone/.next/server/app/api/processes/definitions/route_client-reference-manifest.js +1 -1
  153. package/.next/standalone/.next/server/app/api/processes/definitions/validate/route_client-reference-manifest.js +1 -1
  154. package/.next/standalone/.next/server/app/api/processes/route.js.nft.json +1 -1
  155. package/.next/standalone/.next/server/app/api/processes/route_client-reference-manifest.js +1 -1
  156. package/.next/standalone/.next/server/app/api/processes/start-and-route/route.js +1 -1
  157. package/.next/standalone/.next/server/app/api/processes/start-and-route/route.js.nft.json +1 -1
  158. package/.next/standalone/.next/server/app/api/processes/start-and-route/route_client-reference-manifest.js +1 -1
  159. package/.next/standalone/.next/server/app/api/projects/[slug]/library/route_client-reference-manifest.js +1 -1
  160. package/.next/standalone/.next/server/app/api/projects/[slug]/route_client-reference-manifest.js +1 -1
  161. package/.next/standalone/.next/server/app/api/projects/route_client-reference-manifest.js +1 -1
  162. package/.next/standalone/.next/server/app/api/runs/approve-claude-run/route_client-reference-manifest.js +1 -1
  163. package/.next/standalone/.next/server/app/api/runs/claude-code-dry-run/route_client-reference-manifest.js +1 -1
  164. package/.next/standalone/.next/server/app/api/runs/competitor-report/route_client-reference-manifest.js +1 -1
  165. package/.next/standalone/.next/server/app/api/runs/engine-ping/route_client-reference-manifest.js +1 -1
  166. package/.next/standalone/.next/server/app/api/runs/marketing-plan/route_client-reference-manifest.js +1 -1
  167. package/.next/standalone/.next/server/app/api/schedules/upsert/route_client-reference-manifest.js +1 -1
  168. package/.next/standalone/.next/server/app/api/secrets/[name]/route_client-reference-manifest.js +1 -1
  169. package/.next/standalone/.next/server/app/api/secrets/route_client-reference-manifest.js +1 -1
  170. package/.next/standalone/.next/server/app/api/settings/trust-mode/route_client-reference-manifest.js +1 -1
  171. package/.next/standalone/.next/server/app/api/share/[token]/otp/route_client-reference-manifest.js +1 -1
  172. package/.next/standalone/.next/server/app/api/share/[token]/route_client-reference-manifest.js +1 -1
  173. package/.next/standalone/.next/server/app/api/share/[token]/verify/route_client-reference-manifest.js +1 -1
  174. package/.next/standalone/.next/server/app/api/share/space/[token]/otp/route_client-reference-manifest.js +1 -1
  175. package/.next/standalone/.next/server/app/api/share/space/[token]/route_client-reference-manifest.js +1 -1
  176. package/.next/standalone/.next/server/app/api/share/space/[token]/verify/route_client-reference-manifest.js +1 -1
  177. package/.next/standalone/.next/server/app/api/shared/spaces/[id]/acl/route_client-reference-manifest.js +1 -1
  178. package/.next/standalone/.next/server/app/api/shared/spaces/publish/route_client-reference-manifest.js +1 -1
  179. package/.next/standalone/.next/server/app/api/shared/spaces/route_client-reference-manifest.js +1 -1
  180. package/.next/standalone/.next/server/app/api/shared/spaces/status/route_client-reference-manifest.js +1 -1
  181. package/.next/standalone/.next/server/app/api/shared/spaces/unpublish/route_client-reference-manifest.js +1 -1
  182. package/.next/standalone/.next/server/app/api/state/route_client-reference-manifest.js +1 -1
  183. package/.next/standalone/.next/server/app/api/system/update/route_client-reference-manifest.js +1 -1
  184. package/.next/standalone/.next/server/app/api/tasks/[id]/active-run/route_client-reference-manifest.js +1 -1
  185. package/.next/standalone/.next/server/app/api/tasks/[id]/attachments/route_client-reference-manifest.js +1 -1
  186. package/.next/standalone/.next/server/app/api/tasks/[id]/checklist/[itemId]/route_client-reference-manifest.js +1 -1
  187. package/.next/standalone/.next/server/app/api/tasks/[id]/checklist/route_client-reference-manifest.js +1 -1
  188. package/.next/standalone/.next/server/app/api/tasks/[id]/checkout/route_client-reference-manifest.js +1 -1
  189. package/.next/standalone/.next/server/app/api/tasks/[id]/children/route_client-reference-manifest.js +1 -1
  190. package/.next/standalone/.next/server/app/api/tasks/[id]/comments/route_client-reference-manifest.js +1 -1
  191. package/.next/standalone/.next/server/app/api/tasks/[id]/events/route_client-reference-manifest.js +1 -1
  192. package/.next/standalone/.next/server/app/api/tasks/[id]/live-runs/route_client-reference-manifest.js +1 -1
  193. package/.next/standalone/.next/server/app/api/tasks/[id]/release/route_client-reference-manifest.js +1 -1
  194. package/.next/standalone/.next/server/app/api/tasks/[id]/route_client-reference-manifest.js +1 -1
  195. package/.next/standalone/.next/server/app/api/tasks/route_client-reference-manifest.js +1 -1
  196. package/.next/standalone/.next/server/app/api/tool-allowlists/[id]/route_client-reference-manifest.js +1 -1
  197. package/.next/standalone/.next/server/app/api/tool-allowlists/route_client-reference-manifest.js +1 -1
  198. package/.next/standalone/.next/server/app/api/tool-egress/route_client-reference-manifest.js +1 -1
  199. package/.next/standalone/.next/server/app/api/tools/[name]/approve/route_client-reference-manifest.js +1 -1
  200. package/.next/standalone/.next/server/app/api/tools/[name]/route_client-reference-manifest.js +1 -1
  201. package/.next/standalone/.next/server/app/api/tools/route_client-reference-manifest.js +1 -1
  202. package/.next/standalone/.next/server/app/api/transcripts/route_client-reference-manifest.js +1 -1
  203. package/.next/standalone/.next/server/app/api/voice/providers/route_client-reference-manifest.js +1 -1
  204. package/.next/standalone/.next/server/app/api/voice/realtime/context/route_client-reference-manifest.js +1 -1
  205. package/.next/standalone/.next/server/app/api/voice/realtime/session/route_client-reference-manifest.js +1 -1
  206. package/.next/standalone/.next/server/app/api/voice/realtime/tool-result/route_client-reference-manifest.js +1 -1
  207. package/.next/standalone/.next/server/app/api/voice/realtime/tools/route_client-reference-manifest.js +1 -1
  208. package/.next/standalone/.next/server/app/api/voice/tts/route_client-reference-manifest.js +1 -1
  209. package/.next/standalone/.next/server/app/api/whatsapp/allowlist/route_client-reference-manifest.js +1 -1
  210. package/.next/standalone/.next/server/app/api/whatsapp/disconnect/route_client-reference-manifest.js +1 -1
  211. package/.next/standalone/.next/server/app/api/whatsapp/messages/route_client-reference-manifest.js +1 -1
  212. package/.next/standalone/.next/server/app/api/whatsapp/qr/route_client-reference-manifest.js +1 -1
  213. package/.next/standalone/.next/server/app/api/whatsapp/send/route_client-reference-manifest.js +1 -1
  214. package/.next/standalone/.next/server/app/api/whatsapp/status/route_client-reference-manifest.js +1 -1
  215. package/.next/standalone/.next/server/app/approvals/page.js +2 -2
  216. package/.next/standalone/.next/server/app/approvals/page_client-reference-manifest.js +1 -1
  217. package/.next/standalone/.next/server/app/architecture/page_client-reference-manifest.js +1 -1
  218. package/.next/standalone/.next/server/app/architecture.html +2 -2
  219. package/.next/standalone/.next/server/app/architecture.rsc +2 -2
  220. package/.next/standalone/.next/server/app/audit/live/page_client-reference-manifest.js +1 -1
  221. package/.next/standalone/.next/server/app/audit/page_client-reference-manifest.js +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 +2 -2
  225. package/.next/standalone/.next/server/app/disk/page_client-reference-manifest.js +1 -1
  226. package/.next/standalone/.next/server/app/federated-ai/page_client-reference-manifest.js +1 -1
  227. package/.next/standalone/.next/server/app/federated-ai.html +2 -2
  228. package/.next/standalone/.next/server/app/federated-ai.rsc +2 -2
  229. package/.next/standalone/.next/server/app/hail/[id]/governance/page.js.nft.json +1 -1
  230. package/.next/standalone/.next/server/app/hail/[id]/governance/page_client-reference-manifest.js +1 -1
  231. package/.next/standalone/.next/server/app/hail/[id]/interview/page.js +2 -2
  232. package/.next/standalone/.next/server/app/hail/[id]/interview/page.js.nft.json +1 -1
  233. package/.next/standalone/.next/server/app/hail/[id]/interview/page_client-reference-manifest.js +1 -1
  234. package/.next/standalone/.next/server/app/hail/[id]/page.js +1 -1
  235. package/.next/standalone/.next/server/app/hail/[id]/page.js.nft.json +1 -1
  236. package/.next/standalone/.next/server/app/hail/[id]/page_client-reference-manifest.js +1 -1
  237. package/.next/standalone/.next/server/app/hail/[id]/setup/page.js +2 -2
  238. package/.next/standalone/.next/server/app/hail/[id]/setup/page.js.nft.json +1 -1
  239. package/.next/standalone/.next/server/app/hail/[id]/setup/page_client-reference-manifest.js +1 -1
  240. package/.next/standalone/.next/server/app/hail/page.js +3 -3
  241. package/.next/standalone/.next/server/app/hail/page.js.nft.json +1 -1
  242. package/.next/standalone/.next/server/app/hail/page_client-reference-manifest.js +1 -1
  243. package/.next/standalone/.next/server/app/help/[slug]/page_client-reference-manifest.js +1 -1
  244. package/.next/standalone/.next/server/app/help/page_client-reference-manifest.js +1 -1
  245. package/.next/standalone/.next/server/app/index.html +2 -2
  246. package/.next/standalone/.next/server/app/index.rsc +2 -2
  247. package/.next/standalone/.next/server/app/join/page_client-reference-manifest.js +1 -1
  248. package/.next/standalone/.next/server/app/join.html +1 -1
  249. package/.next/standalone/.next/server/app/join.rsc +2 -2
  250. package/.next/standalone/.next/server/app/login/page_client-reference-manifest.js +1 -1
  251. package/.next/standalone/.next/server/app/marketplace/page.js +2 -2
  252. package/.next/standalone/.next/server/app/marketplace/page_client-reference-manifest.js +1 -1
  253. package/.next/standalone/.next/server/app/mines/[projectId]/page_client-reference-manifest.js +1 -1
  254. package/.next/standalone/.next/server/app/mines/[projectId]/results/page_client-reference-manifest.js +1 -1
  255. package/.next/standalone/.next/server/app/mines/page_client-reference-manifest.js +1 -1
  256. package/.next/standalone/.next/server/app/missions/page.js +1 -1
  257. package/.next/standalone/.next/server/app/missions/page_client-reference-manifest.js +1 -1
  258. package/.next/standalone/.next/server/app/onboarding/org/page_client-reference-manifest.js +1 -1
  259. package/.next/standalone/.next/server/app/onboarding/page_client-reference-manifest.js +1 -1
  260. package/.next/standalone/.next/server/app/onboarding.html +2 -2
  261. package/.next/standalone/.next/server/app/onboarding.rsc +2 -2
  262. package/.next/standalone/.next/server/app/org/page.js +1 -1
  263. package/.next/standalone/.next/server/app/org/page.js.nft.json +1 -1
  264. package/.next/standalone/.next/server/app/org/page_client-reference-manifest.js +1 -1
  265. package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
  266. package/.next/standalone/.next/server/app/projects/[slug]/log/page_client-reference-manifest.js +1 -1
  267. package/.next/standalone/.next/server/app/projects/[slug]/page_client-reference-manifest.js +1 -1
  268. package/.next/standalone/.next/server/app/projects/new/page.js +1 -1
  269. package/.next/standalone/.next/server/app/projects/new/page_client-reference-manifest.js +1 -1
  270. package/.next/standalone/.next/server/app/projects/new.html +1 -1
  271. package/.next/standalone/.next/server/app/projects/new.rsc +3 -3
  272. package/.next/standalone/.next/server/app/projects/page.js +20 -20
  273. package/.next/standalone/.next/server/app/projects/page_client-reference-manifest.js +1 -1
  274. package/.next/standalone/.next/server/app/reports/[file]/route_client-reference-manifest.js +1 -1
  275. package/.next/standalone/.next/server/app/reports/page_client-reference-manifest.js +1 -1
  276. package/.next/standalone/.next/server/app/runtime/page_client-reference-manifest.js +1 -1
  277. package/.next/standalone/.next/server/app/schedules/page.js +2 -2
  278. package/.next/standalone/.next/server/app/schedules/page.js.nft.json +1 -1
  279. package/.next/standalone/.next/server/app/schedules/page_client-reference-manifest.js +1 -1
  280. package/.next/standalone/.next/server/app/settings/account/page_client-reference-manifest.js +1 -1
  281. package/.next/standalone/.next/server/app/settings/advanced/page_client-reference-manifest.js +1 -1
  282. package/.next/standalone/.next/server/app/settings/appearance/page_client-reference-manifest.js +1 -1
  283. package/.next/standalone/.next/server/app/settings/brand/page_client-reference-manifest.js +1 -1
  284. package/.next/standalone/.next/server/app/settings/brand.html +2 -2
  285. package/.next/standalone/.next/server/app/settings/brand.rsc +2 -2
  286. package/.next/standalone/.next/server/app/settings/connectors/page_client-reference-manifest.js +1 -1
  287. package/.next/standalone/.next/server/app/settings/engines/page_client-reference-manifest.js +1 -1
  288. package/.next/standalone/.next/server/app/settings/onboarding/page_client-reference-manifest.js +1 -1
  289. package/.next/standalone/.next/server/app/settings/onboarding.html +2 -2
  290. package/.next/standalone/.next/server/app/settings/onboarding.rsc +2 -2
  291. package/.next/standalone/.next/server/app/settings/organization/page.js +1 -1
  292. package/.next/standalone/.next/server/app/settings/organization/page.js.nft.json +1 -1
  293. package/.next/standalone/.next/server/app/settings/organization/page_client-reference-manifest.js +1 -1
  294. package/.next/standalone/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  295. package/.next/standalone/.next/server/app/settings/runtime/page_client-reference-manifest.js +1 -1
  296. package/.next/standalone/.next/server/app/settings/team/page_client-reference-manifest.js +1 -1
  297. package/.next/standalone/.next/server/app/settings/tools/page_client-reference-manifest.js +1 -1
  298. package/.next/standalone/.next/server/app/settings.html +2 -2
  299. package/.next/standalone/.next/server/app/settings.rsc +2 -2
  300. package/.next/standalone/.next/server/app/share/[token]/page_client-reference-manifest.js +1 -1
  301. package/.next/standalone/.next/server/app/share/space/[token]/page_client-reference-manifest.js +1 -1
  302. package/.next/standalone/.next/server/app/tasks/[id]/page.js +1 -1
  303. package/.next/standalone/.next/server/app/tasks/[id]/page_client-reference-manifest.js +1 -1
  304. package/.next/standalone/.next/server/app/tasks/page.js +2 -2
  305. package/.next/standalone/.next/server/app/tasks/page_client-reference-manifest.js +1 -1
  306. package/.next/standalone/.next/server/app/team/[agentId]/page_client-reference-manifest.js +1 -1
  307. package/.next/standalone/.next/server/app/team/page_client-reference-manifest.js +1 -1
  308. package/.next/standalone/.next/server/app/tools/page_client-reference-manifest.js +1 -1
  309. package/.next/standalone/.next/server/app/whatsapp/page.js +1 -1
  310. package/.next/standalone/.next/server/app/whatsapp/page_client-reference-manifest.js +1 -1
  311. package/.next/standalone/.next/server/app/whatsapp.html +1 -1
  312. package/.next/standalone/.next/server/app/whatsapp.rsc +3 -3
  313. package/.next/standalone/.next/server/app/workflows/[caseId]/page.js +1 -1
  314. package/.next/standalone/.next/server/app/workflows/[caseId]/page.js.nft.json +1 -1
  315. package/.next/standalone/.next/server/app/workflows/[caseId]/page_client-reference-manifest.js +1 -1
  316. package/.next/standalone/.next/server/app/workflows/new/[caseId]/page.js +1 -1
  317. package/.next/standalone/.next/server/app/workflows/new/[caseId]/page.js.nft.json +1 -1
  318. package/.next/standalone/.next/server/app/workflows/new/[caseId]/page_client-reference-manifest.js +1 -1
  319. package/.next/standalone/.next/server/app/workflows/new/definition/page_client-reference-manifest.js +1 -1
  320. package/.next/standalone/.next/server/app/workflows/page.js +1 -1
  321. package/.next/standalone/.next/server/app/workflows/page.js.nft.json +1 -1
  322. package/.next/standalone/.next/server/app/workflows/page_client-reference-manifest.js +1 -1
  323. package/.next/standalone/.next/server/app/workflows/share/[caseId]/page.js +1 -1
  324. package/.next/standalone/.next/server/app/workflows/share/[caseId]/page.js.nft.json +1 -1
  325. package/.next/standalone/.next/server/app/workflows/share/[caseId]/page_client-reference-manifest.js +1 -1
  326. package/.next/standalone/.next/server/app-paths-manifest.json +76 -77
  327. package/.next/standalone/.next/server/chunks/1699.js +19 -19
  328. package/.next/standalone/.next/server/chunks/51.js +1 -0
  329. package/.next/standalone/.next/server/chunks/5185.js +4 -27
  330. package/.next/standalone/.next/server/chunks/5257.js +1 -1
  331. package/.next/standalone/.next/server/chunks/6355.js +1 -0
  332. package/.next/standalone/.next/server/functions-config-manifest.json +15 -15
  333. package/.next/standalone/.next/server/middleware-build-manifest.js +1 -1
  334. package/.next/standalone/.next/server/middleware-manifest.json +5 -5
  335. package/.next/standalone/.next/server/middleware-react-loadable-manifest.js +1 -1
  336. package/.next/standalone/.next/server/pages/404.html +1 -1
  337. package/.next/standalone/.next/server/pages/500.html +1 -1
  338. package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
  339. package/.next/standalone/.next/server/server-reference-manifest.json +1 -1
  340. package/.next/standalone/.next/static/chunks/4119-cfb6260557a0a3d2.js +1 -0
  341. package/.next/standalone/.next/static/chunks/app/projects/page-f136822590202f9f.js +1 -0
  342. package/.next/standalone/.next/static/chunks/app/workflows/[caseId]/page-9949ff1c223e771d.js +1 -0
  343. package/.next/{static/chunks/app/workflows/page-25cb2c4cb90273a8.js → standalone/.next/static/chunks/app/workflows/page-d0484521369bce4c.js} +1 -1
  344. package/.next/standalone/.next/static/chunks/{webpack-0cfb048137bd7fce.js → webpack-f916d679fe38a701.js} +1 -1
  345. package/.next/standalone/.next/static/css/0bd4c357d4f0c4f2.css +1 -0
  346. package/.next/standalone/.next/static/tMcPS9JR5cRXSe0u5ne95/_buildManifest.js +1 -0
  347. package/.next/standalone/CHANGELOG.md +28 -0
  348. package/.next/standalone/data/.artifacts-migrated-v1 +1 -1
  349. package/.next/standalone/data/.default-project-seeded +1 -1
  350. package/.next/standalone/data/madarx.sqlite +0 -0
  351. package/.next/standalone/data/madarx.sqlite-shm +0 -0
  352. package/.next/standalone/data/madarx.sqlite-wal +0 -0
  353. package/.next/standalone/lib/process/seeds/specs/mine-project-intake.json +12 -4
  354. package/.next/standalone/lib/process/seeds/specs/mine-valuation.json +6 -2
  355. package/.next/standalone/lib/process/stages/policy-dsl-legacy.js +178 -0
  356. package/.next/standalone/lib/process/stages/policy-gate.js +24 -168
  357. package/.next/standalone/package.json +2 -2
  358. package/.next/static/chunks/4119-cfb6260557a0a3d2.js +1 -0
  359. package/.next/static/chunks/app/projects/page-f136822590202f9f.js +1 -0
  360. package/.next/static/chunks/app/workflows/[caseId]/page-9949ff1c223e771d.js +1 -0
  361. package/.next/{standalone/.next/static/chunks/app/workflows/page-25cb2c4cb90273a8.js → static/chunks/app/workflows/page-d0484521369bce4c.js} +1 -1
  362. package/.next/static/chunks/{webpack-0cfb048137bd7fce.js → webpack-f916d679fe38a701.js} +1 -1
  363. package/.next/static/css/0bd4c357d4f0c4f2.css +1 -0
  364. package/.next/static/tMcPS9JR5cRXSe0u5ne95/_buildManifest.js +1 -0
  365. package/CHANGELOG.md +28 -0
  366. package/ai-docs/process-engine.md +33 -1
  367. package/app/api/processes/start-and-route/route.js +5 -3
  368. package/app/components/dashboard/whatsapp-section.jsx +54 -13
  369. package/app/workflows/[caseId]/case-detail-client.jsx +2 -2
  370. package/app/workflows/definition-card.jsx +12 -18
  371. package/app/workflows/new/[caseId]/page.js +8 -8
  372. package/app/workflows/page.js +0 -5
  373. package/app/workflows/share/[caseId]/page.js +0 -1
  374. package/lib/cli/prompt.js +110 -0
  375. package/lib/cli/setup.js +152 -87
  376. package/lib/process/artifacts.js +12 -60
  377. package/lib/process/engine.js +5 -5
  378. package/lib/process/policy-predicates.js +116 -0
  379. package/lib/process/seeds/specs/mine-project-intake.json +12 -4
  380. package/lib/process/seeds/specs/mine-valuation.json +6 -2
  381. package/lib/process/spec-validator.js +46 -1
  382. package/lib/process/stages/policy-dsl-legacy.js +178 -0
  383. package/lib/process/stages/policy-gate.js +24 -168
  384. package/lib/runtime.js +8 -2
  385. package/package.json +2 -2
  386. package/scripts/postbuild-standalone.mjs +9 -0
  387. package/scripts/whatsapp-reset.mjs +15 -0
  388. package/.next/standalone/.next/server/app/workflows/new/page.js +0 -2
  389. package/.next/standalone/.next/server/app/workflows/new/page.js.nft.json +0 -1
  390. package/.next/standalone/.next/server/app/workflows/new/page_client-reference-manifest.js +0 -1
  391. package/.next/standalone/.next/server/chunks/1092.js +0 -1
  392. package/.next/standalone/.next/static/cR6E_4o8_rHXujVNesWiZ/_buildManifest.js +0 -1
  393. package/.next/standalone/.next/static/chunks/4119-3b6adff3c7187ef3.js +0 -1
  394. package/.next/standalone/.next/static/chunks/app/projects/page-2166c214f854766e.js +0 -1
  395. package/.next/standalone/.next/static/chunks/app/workflows/[caseId]/page-423e4c194c7f5bf5.js +0 -1
  396. package/.next/standalone/.next/static/chunks/app/workflows/new/page-1eda41616cbfc4f3.js +0 -1
  397. package/.next/standalone/.next/static/css/0bfed9e12afa1dc1.css +0 -1
  398. package/.next/static/cR6E_4o8_rHXujVNesWiZ/_buildManifest.js +0 -1
  399. package/.next/static/chunks/4119-3b6adff3c7187ef3.js +0 -1
  400. package/.next/static/chunks/app/projects/page-2166c214f854766e.js +0 -1
  401. package/.next/static/chunks/app/workflows/[caseId]/page-423e4c194c7f5bf5.js +0 -1
  402. package/.next/static/chunks/app/workflows/new/page-1eda41616cbfc4f3.js +0 -1
  403. package/.next/static/css/0bfed9e12afa1dc1.css +0 -1
  404. package/app/workflows/new/new-case-flow.jsx +0 -256
  405. package/app/workflows/new/page.js +0 -27
  406. /package/.next/standalone/.next/static/{cR6E_4o8_rHXujVNesWiZ → tMcPS9JR5cRXSe0u5ne95}/_ssgManifest.js +0 -0
  407. /package/.next/static/{cR6E_4o8_rHXujVNesWiZ → tMcPS9JR5cRXSe0u5ne95}/_ssgManifest.js +0 -0
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[4119],{94119:(e,s,a)=>{a.d(s,{A:()=>r});var t=a(95155),n=a(12115),i=a(52769);let l=[["pairing","Pairing","Bridge status + QR"],["allowlist","Allowlist","Permitted senders"],["messages","Messages","Inbound + outbound"],["send","Send","Manual message"]];async function c(e,s){let a=await fetch(e,s),t=await a.text();try{return{ok:a.ok,status:a.status,json:t?JSON.parse(t):null}}catch(e){return{ok:a.ok,status:a.status,json:null,text:t}}}function r(){var e;let[s,a]=(0,n.useState)("pairing"),[r,d]=(0,n.useState)(null),[o,h]=(0,n.useState)(null),[p,u]=(0,n.useState)(""),[m,x]=(0,n.useState)([]),[j,g]=(0,n.useState)(null),[v,f]=(0,n.useState)(""),[b,w]=(0,n.useState)(""),[N,y]=(0,n.useState)(!1),[S,k]=(0,n.useState)(""),[_,C]=(0,n.useState)(null),[A,D]=(0,n.useState)(!1),[R,T]=(0,n.useState)(!1),[q,W]=(0,n.useState)(""),[L,P]=(0,n.useState)(""),[O,X]=(0,n.useState)(!1),[E,I]=(0,n.useState)(""),[z,F]=(0,n.useState)(!1),M=(0,n.useCallback)(async()=>{try{var e;let[s,a,t]=await Promise.all([c("/api/whatsapp/status"),c("/api/whatsapp/qr"),c("/api/whatsapp/messages?limit=50")]);d(s.json),h(a.json),x((null==(e=t.json)?void 0:e.messages)||[]),g(null)}catch(e){g(e.message)}},[]);(0,n.useEffect)(()=>{M();let e=setInterval(M,3500);return()=>clearInterval(e)},[M]),(0,n.useEffect)(()=>{let e=!1;return async function(){if((null==o?void 0:o.paired)||!(null==o?void 0:o.qr))return u("");try{let s=await i.toDataURL(o.qr,{margin:1,width:220,errorCorrectionLevel:"M"});e||u(s)}catch(s){e||u("")}}(),()=>{e=!0}},[o]);let Q=(null==r?void 0:r.health)||{},B=(null==r?void 0:r.allowlist)||[],J=Q.pairing_state||(!1===Q.ok?"offline":"unknown"),U=Q.last_connected_at?new Date(Q.last_connected_at).toLocaleTimeString():"—",Y=(0,n.useMemo)(()=>(0,t.jsx)("p",{className:"whatsapp-warn-copy",children:"Pair only a dedicated WhatsApp number, not your personal account. Baileys is an unofficial WhatsApp Web client and the paired account can be banned."}),[]);async function G(e){if(e.preventDefault(),!v.trim())return;y(!0),k("");let s=await c("/api/whatsapp/allowlist",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({chat_id:v.trim(),label:b.trim()||null})});if(y(!1),!s.ok){var a;k((null==(a=s.json)?void 0:a.error)||"Failed to add");return}f(""),w(""),M()}async function H(e){var s;C(e);let a=await c("/api/whatsapp/allowlist?chat_id=".concat(encodeURIComponent(e)),{method:"DELETE"});C(null),a.ok?M():g((null==(s=a.json)?void 0:s.error)||"Failed to remove")}async function K(){D(!0),g(null);let e=await c("/api/whatsapp/disconnect",{method:"POST"});if(D(!1),T(!1),!e.ok){var s;g((null==(s=e.json)?void 0:s.error)||"Failed to disconnect");return}M()}async function V(e){if(e.preventDefault(),!q.trim()||!L.trim())return;X(!0),I(""),F(!1);let s=await c("/api/whatsapp/send",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({chat_id:q.trim(),text:L.trim()})});if(X(!1),!s.ok){var a;I((null==(a=s.json)?void 0:a.error)||"Failed to send");return}P(""),F(!0),M()}return(0,t.jsxs)("div",{className:"wa-section",children:[(0,t.jsxs)("div",{className:"wa-status-row",children:[(0,t.jsx)("span",{className:"admin-pill ".concat("paired"===J?"ready":"qr_required"===J||"reconnecting"===J||"starting"===J?"warn":"danger"),children:"paired"===J?"Connected":"qr_required"===J?"Awaiting QR scan":"reconnecting"===J?"Reconnecting":"logged_out"===J?"Logged out — reset session":"starting"===J?"Starting":"Bridge offline"}),Q.user&&(0,t.jsx)("span",{className:"wa-status-user",children:Q.user})]}),j&&(0,t.jsx)("div",{className:"wa-error-banner",children:j}),(0,t.jsx)("nav",{className:"tools-subnav",role:"tablist","aria-label":"WhatsApp sections",children:l.map(e=>{let[n,i,l]=e;return(0,t.jsxs)("button",{type:"button",role:"tab","aria-selected":s===n,className:"tools-subnav-pill"+(s===n?" on":""),onClick:()=>a(n),children:[(0,t.jsx)("b",{children:i}),(0,t.jsx)("small",{children:l})]},n)})}),"pairing"===s&&(0,t.jsxs)("div",{className:"tools-pane",children:[(0,t.jsxs)("div",{className:"wa-stats-row",children:[(0,t.jsxs)("div",{className:"wa-stat",children:[(0,t.jsx)("span",{className:"wa-stat-label",children:"Paired account"}),(0,t.jsx)("span",{className:"wa-stat-value",children:Q.user||"—"})]}),(0,t.jsxs)("div",{className:"wa-stat",children:[(0,t.jsx)("span",{className:"wa-stat-label",children:"Bridge queue"}),(0,t.jsx)("span",{className:"wa-stat-value",children:null!=(e=Q.queue_size)?e:0})]}),(0,t.jsxs)("div",{className:"wa-stat",children:[(0,t.jsx)("span",{className:"wa-stat-label",children:"Last connected"}),(0,t.jsx)("span",{className:"wa-stat-value",children:U})]})]}),Q.last_error&&(0,t.jsx)("div",{className:"wa-error-banner",children:Q.last_error}),"paired"!==J?(0,t.jsxs)("div",{className:"config-secrets-panel",style:{marginTop:0},children:[(0,t.jsxs)("div",{className:"config-secrets-head",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("span",{className:"config-section-title",children:"logged_out"===J?"Session logged out":"Pair device"}),(0,t.jsx)("p",{children:"logged_out"===J?"WhatsApp unlinked this device server-side, so the stale credentials block a fresh QR. Reset the session to wipe them and generate a new pairing code.":"Open WhatsApp → Settings → Linked Devices → Link a Device, then scan the code."})]}),"logged_out"===J&&(R?(0,t.jsxs)("div",{className:"wa-disconnect-confirm",children:[(0,t.jsx)("button",{type:"button",className:"secrets-action-btn danger",onClick:K,disabled:A,children:A?"Resetting…":"Confirm reset"}),(0,t.jsx)("button",{type:"button",className:"secrets-action-btn",onClick:()=>T(!1),disabled:A,children:"Cancel"})]}):(0,t.jsx)("button",{type:"button",className:"secrets-action-btn danger",onClick:()=>T(!0),disabled:A,children:"Reset session"}))]}),"logged_out"===J?(0,t.jsx)("div",{className:"whatsapp-pair-copy",children:Y}):(0,t.jsxs)("div",{className:"whatsapp-pair-row",children:[p?(0,t.jsx)("div",{className:"whatsapp-qr-box",children:(0,t.jsx)("img",{src:p,alt:"WhatsApp pairing QR code",width:220,height:220})}):(0,t.jsx)("div",{className:"whatsapp-qr-pending",children:"Waiting for QR — make sure the daemon is running."}),(0,t.jsxs)("div",{className:"whatsapp-pair-copy",children:[(0,t.jsxs)("p",{children:["Code rotates roughly every 20 seconds. The dashboard re-fetches automatically. The session is saved at ",(0,t.jsx)("code",{children:"data/whatsapp/session/"}),"."]}),Y]})]})]}):(0,t.jsxs)("div",{className:"config-secrets-panel",style:{marginTop:0},children:[(0,t.jsxs)("div",{className:"config-secrets-head",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("span",{className:"config-section-title",children:"Bridge is paired"}),(0,t.jsx)("p",{children:"The WhatsApp session is active. Allowlisted senders can message this agent directly."})]}),R?(0,t.jsxs)("div",{className:"wa-disconnect-confirm",children:[(0,t.jsx)("button",{type:"button",className:"secrets-action-btn danger",onClick:K,disabled:A,children:A?"Disconnecting...":"Confirm disconnect"}),(0,t.jsx)("button",{type:"button",className:"secrets-action-btn",onClick:()=>T(!1),disabled:A,children:"Cancel"})]}):(0,t.jsx)("button",{type:"button",className:"secrets-action-btn danger",onClick:()=>T(!0),disabled:A,children:"Disconnect"})]}),R&&(0,t.jsx)("p",{className:"whatsapp-warn-copy",children:"Unlinks this device from WhatsApp and wipes the local session. You will need to scan a new QR code to reconnect."}),Y]})]}),"allowlist"===s&&(0,t.jsx)("div",{className:"tools-pane",children:(0,t.jsxs)("div",{className:"config-secrets-panel",children:[(0,t.jsx)("div",{className:"config-secrets-head",children:(0,t.jsxs)("div",{children:[(0,t.jsx)("span",{className:"config-section-title",children:"Allowed senders"}),(0,t.jsx)("p",{children:"Only chats on this list can message the agent. Add new entries below."})]})}),(0,t.jsxs)("form",{className:"secrets-add-form",onSubmit:G,children:[(0,t.jsxs)("div",{className:"secrets-add-fields",children:[(0,t.jsxs)("label",{className:"config-env-field",children:[(0,t.jsx)("span",{className:"config-env-field-top",children:(0,t.jsx)("b",{children:"Chat id"})}),(0,t.jsx)("input",{type:"text",autoComplete:"off",placeholder:"9715XXXXXXXX or full JID",value:v,onChange:e=>f(e.target.value),required:!0})]}),(0,t.jsxs)("label",{className:"config-env-field",children:[(0,t.jsxs)("span",{className:"config-env-field-top",children:[(0,t.jsx)("b",{children:"Label"}),(0,t.jsx)("em",{style:{fontStyle:"normal",fontSize:"10px",color:"#68707b",background:"transparent",padding:0},children:"optional"})]}),(0,t.jsx)("input",{type:"text",autoComplete:"off",placeholder:"e.g. Founder phone",value:b,onChange:e=>w(e.target.value)})]})]}),(0,t.jsxs)("div",{className:"secrets-add-footer",children:[S&&(0,t.jsx)("span",{className:"secrets-error",children:S}),(0,t.jsx)("button",{type:"submit",className:"config-save-btn",disabled:N||!v.trim(),children:N?"Adding...":"Add to allowlist"})]})]}),0===B.length?(0,t.jsx)("div",{className:"allowlists-entries-empty",children:"No senders allowlisted — all inbound messages are dropped. Add at least one chat id above."}):(0,t.jsx)("div",{className:"config-tools-list",children:B.map(e=>(0,t.jsx)("div",{className:"config-tool-row on",children:(0,t.jsxs)("div",{className:"secrets-row-inner",children:[(0,t.jsxs)("div",{className:"secrets-row-meta",children:[(0,t.jsxs)("div",{className:"config-tool-titleline",children:[(0,t.jsx)("span",{className:"config-tool-name",style:{textTransform:"none"},children:(0,t.jsx)("code",{className:"whatsapp-mono",children:e.chat_id})}),e.kind&&(0,t.jsx)("span",{className:"config-tool-risk",children:e.kind})]}),(e.label||e.created_at)&&(0,t.jsxs)("div",{className:"config-tool-status",children:[e.label&&(0,t.jsx)("span",{children:e.label}),e.created_at&&(0,t.jsx)("span",{children:new Date(e.created_at).toLocaleString()})]})]}),(0,t.jsx)("div",{className:"secrets-row-actions",children:(0,t.jsx)("button",{type:"button",className:"secrets-action-btn danger",disabled:_===e.chat_id,onClick:()=>H(e.chat_id),children:_===e.chat_id?"...":"Remove"})})]})},e.chat_id))})]})}),"messages"===s&&(0,t.jsx)("div",{className:"tools-pane",children:(0,t.jsxs)("div",{className:"config-secrets-panel",children:[(0,t.jsx)("div",{className:"config-secrets-head",children:(0,t.jsxs)("div",{children:[(0,t.jsx)("span",{className:"config-section-title",children:"Recent messages"}),(0,t.jsxs)("p",{children:[m.length," of last 50 inbound + outbound."]})]})}),0===m.length?(0,t.jsx)("div",{className:"secrets-empty",children:"No messages yet. Inbound and outbound traffic from the bridge will appear here."}):(0,t.jsx)("div",{style:{overflowX:"auto"},children:(0,t.jsxs)("table",{className:"admin-table",style:{minWidth:520},children:[(0,t.jsx)("thead",{children:(0,t.jsxs)("tr",{children:[(0,t.jsx)("th",{children:"When"}),(0,t.jsx)("th",{children:"Dir"}),(0,t.jsx)("th",{children:"Chat"}),(0,t.jsx)("th",{children:"Sender"}),(0,t.jsx)("th",{children:"Text"})]})}),(0,t.jsx)("tbody",{children:m.map(e=>(0,t.jsxs)("tr",{children:[(0,t.jsx)("td",{style:{whiteSpace:"nowrap"},children:new Date(e.created_at).toLocaleTimeString()}),(0,t.jsx)("td",{children:(0,t.jsx)("span",{className:"admin-pill ".concat("inbound"===e.direction?"warn":"ready"),children:e.direction})}),(0,t.jsx)("td",{children:(0,t.jsx)("code",{className:"whatsapp-mono",children:e.chat_id})}),(0,t.jsx)("td",{children:(0,t.jsx)("code",{className:"whatsapp-mono",children:e.sender||"—"})}),(0,t.jsx)("td",{style:{maxWidth:260,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e.text})]},e.id))})]})})]})}),"send"===s&&(0,t.jsx)("div",{className:"tools-pane",children:(0,t.jsxs)("div",{className:"config-secrets-panel",children:[(0,t.jsx)("div",{className:"config-secrets-head",children:(0,t.jsxs)("div",{children:[(0,t.jsx)("span",{className:"config-section-title",children:"Send a message"}),(0,t.jsx)("p",{children:"Manual outbound send. Logs to whatsapp_messages with an audit row."})]})}),(0,t.jsxs)("form",{className:"secrets-add-form",onSubmit:V,children:[(0,t.jsxs)("div",{className:"secrets-add-fields",children:[(0,t.jsxs)("label",{className:"config-env-field",children:[(0,t.jsx)("span",{className:"config-env-field-top",children:(0,t.jsx)("b",{children:"Chat id"})}),(0,t.jsx)("input",{type:"text",autoComplete:"off",placeholder:"Digits or full JID",value:q,onChange:e=>{W(e.target.value),F(!1)},required:!0})]}),(0,t.jsxs)("label",{className:"config-env-field",children:[(0,t.jsx)("span",{className:"config-env-field-top",children:(0,t.jsx)("b",{children:"Message"})}),(0,t.jsx)("textarea",{rows:4,placeholder:"Plain text only",value:L,onChange:e=>{P(e.target.value),F(!1)},required:!0,style:{resize:"vertical",fontFamily:"inherit",fontSize:"13px",padding:"8px 10px",borderRadius:8,border:"1px solid rgba(17,19,24,.12)",outline:"none",width:"100%",boxSizing:"border-box"}})]})]}),(0,t.jsxs)("div",{className:"secrets-add-footer",children:[E&&(0,t.jsx)("span",{className:"secrets-error",children:E}),z&&(0,t.jsx)("span",{style:{fontSize:12,color:"#2d7044",fontWeight:650},children:"Sent"}),(0,t.jsx)("button",{type:"submit",className:"config-save-btn",disabled:O||!q.trim()||!L.trim(),children:O?"Sending...":"Send message"})]})]})]})})]})}}}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[893],{45:(e,a,t)=>{"use strict";t.d(a,{default:()=>o});var s=t(12115),n={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"},l=t(64250);let r=(0,s.createContext)({}),o=(0,s.forwardRef)((e,a)=>{var t,o,c;let{color:i,size:d,strokeWidth:u,absoluteStrokeWidth:m,className:h="",children:p,iconNode:f,...j}=e,{size:x=24,strokeWidth:g=2,absoluteStrokeWidth:v=!1,color:b="currentColor",className:y=""}=null!=(t=(0,s.useContext)(r))?t:{},k=(null!=m?m:v)?24*Number(null!=u?u:g)/Number(null!=d?d:x):null!=u?u:g;return(0,s.createElement)("svg",{ref:a,...n,width:null!=(o=null!=d?d:x)?o:n.width,height:null!=(c=null!=d?d:x)?c:n.height,stroke:null!=i?i:b,strokeWidth:k,className:(0,l.z)("lucide",y,h),...!p&&!(e=>{for(let a in e)if(a.startsWith("aria-")||"role"===a||"title"===a)return!0;return!1})(j)&&{"aria-hidden":"true"},...j},[...f.map(e=>{let[a,t]=e;return(0,s.createElement)(a,t)}),...Array.isArray(p)?p:[p]])})},10677:(e,a,t)=>{"use strict";t.d(a,{default:()=>l});var s=t(95155),n=t(12115);function l(){let[e,a]=(0,n.useState)([]),[t,l]=(0,n.useState)("");return(0,n.useEffect)(()=>{l(localStorage.getItem("madarx.activeProjectId")||""),fetch("/api/projects").then(e=>e.json()).then(e=>a(e.projects||[])).catch(()=>{})},[]),(0,s.jsx)("div",{className:"project-switcher","data-project-switcher":!0,children:(0,s.jsxs)("select",{value:t,onChange:e=>{var a;l(a=e.target.value),a?localStorage.setItem("madarx.activeProjectId",a):localStorage.removeItem("madarx.activeProjectId"),window.dispatchEvent(new CustomEvent("madarx:project-change",{detail:{project_id:a||null}}))},"aria-label":"Active project",children:[(0,s.jsx)("option",{value:"",children:"All projects"}),e.map(e=>(0,s.jsx)("option",{value:e.id,children:e.name},e.id))]})})}},13185:(e,a,t)=>{"use strict";t.d(a,{A:()=>o});var s=t(12115),n=t(64250);let l=e=>{let a=e.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,a,t)=>t?t.toUpperCase():a.toLowerCase());return a.charAt(0).toUpperCase()+a.slice(1)};var r=t(45);let o=(e,a)=>{let t=(0,s.forwardRef)((t,o)=>{let{className:c,...i}=t;return(0,s.createElement)(r.default,{ref:o,iconNode:a,className:(0,n.z)("lucide-".concat(l(e).replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()),"lucide-".concat(e),c),...i})});return t.displayName=l(e),t}},30926:(e,a,t)=>{"use strict";Object.defineProperty(a,"__esModule",{value:!0}),!function(e,a){for(var t in a)Object.defineProperty(e,t,{enumerable:!0,get:a[t]})}(a,{callServer:function(){return s.callServer},createServerReference:function(){return l.createServerReference},findSourceMapURL:function(){return n.findSourceMapURL}});let s=t(41209),n=t(85153),l=t(77197)},34788:(e,a,t)=>{"use strict";t.d(a,{A:()=>s});let s=(0,t(13185).A)("x",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]])},39230:(e,a,t)=>{"use strict";t.d(a,{default:()=>d});var s=t(95155),n=t(12115),l=t(47650),r=t(85649),o=t(30926);let c=(0,o.createServerReference)("40eef5ddc0668dac68deb5c8543ccb863ed3003f56",o.callServer,void 0,o.findSourceMapURL,"deleteProjectAction");function i(e){let{disabled:a}=e,{pending:t}=(0,l.useFormStatus)();return(0,s.jsx)("button",{type:"submit",className:"admin-button danger",disabled:t||a,"aria-busy":t?"true":void 0,children:t?"Deleting…":"Delete project"})}function d(e){let{projectId:a,projectName:t,projectSlug:l,isProtected:o}=e,[d,u]=n.useState(!1),[m,h]=n.useState("");if(o)return(0,s.jsxs)("span",{className:"admin-button secondary project-delete is-locked","aria-disabled":"true",title:"The Personal project is the default scope and cannot be deleted.",children:[(0,s.jsxs)("svg",{width:"11",height:"11",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",style:{marginRight:6,verticalAlign:"-1px"},children:[(0,s.jsx)("rect",{x:"3",y:"11",width:"18",height:"11",rx:"2"}),(0,s.jsx)("path",{d:"M7 11V7a5 5 0 0 1 10 0v4"})]}),"Protected"]});n.useEffect(()=>{d||h("")},[d]);let p=m.trim()===l;return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("button",{type:"button",className:"admin-button secondary project-delete",onClick:()=>u(!0),"aria-label":"Delete ".concat(t),children:"Delete"}),(0,s.jsx)(r.A,{open:d,onClose:()=>u(!1),eyebrow:"Delete project",title:"Delete ".concat(t,"?"),tone:"danger",children:(0,s.jsxs)("form",{className:"agents-modal-form",action:c,children:[(0,s.jsx)("input",{type:"hidden",name:"project_id",value:a}),(0,s.jsx)("p",{className:"agents-modal-help",children:"This removes the project, its agents, Disk files, memory, secrets, and audit history. The folder on your local drive is left untouched."}),(0,s.jsx)("section",{className:"agents-modal-section",children:(0,s.jsxs)("label",{className:"agents-modal-field wide",children:[(0,s.jsxs)("span",{children:["Type ",(0,s.jsx)("code",{className:"agents-modal-inline-code",children:l})," to confirm"]}),(0,s.jsx)("input",{type:"text",autoComplete:"off",spellCheck:!1,value:m,onChange:e=>h(e.target.value),placeholder:l,autoFocus:!0})]})}),(0,s.jsxs)("footer",{className:"agents-modal-foot",children:[(0,s.jsx)("button",{type:"button",className:"admin-button secondary",onClick:()=>u(!1),children:"Cancel"}),(0,s.jsx)(i,{disabled:!p})]})]})})]})}},59097:(e,a,t)=>{"use strict";t.d(a,{A:()=>l});var s=t(95155),n=t(12115);function l(e){let{name:a="folder_path",value:t,onChange:l,inputRef:r,placeholder:o="/Users/you/Documents/my-project"}=e,[c,i]=n.useState(null),[d,u]=n.useState(!1),[m,h]=n.useState(""),[p,f]=n.useState(""),[j,x]=n.useState(null);async function g(){var e;let a;if(i(null),!(null==(e=navigator.clipboard)?void 0:e.readText))return void i({kind:"error",message:"Clipboard not available."});try{a=await navigator.clipboard.readText()}catch(e){i({kind:"error",message:"Allow clipboard access."});return}let t=(a||"").trim();if((t.startsWith('"')&&t.endsWith('"')||t.startsWith("'")&&t.endsWith("'"))&&(t=t.slice(1,-1)),t.startsWith("file://"))try{t=decodeURI(t.slice(7))}catch(e){}return t?t.startsWith("/")||t.startsWith("~")?void(l(t),i({kind:"success",message:"Pasted."})):void i({kind:"error",message:"Path must be absolute."}):void i({kind:"error",message:"Clipboard is empty."})}async function v(){i(null),x("pick");try{let e=await fetch("/api/fs/pick-folder",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({title:"Choose project folder",start_path:t&&t.startsWith("/")?t:void 0})});if(499===e.status)return void i({kind:"error",message:"Cancelled."});let a=await e.json();if(!e.ok)return void i({kind:"error",message:a.error||"Picker failed."});l(a.folder_path),i({kind:"success",message:"Selected ".concat(a.folder_path)})}catch(e){i({kind:"error",message:String((null==e?void 0:e.message)||e)})}finally{x(null)}}async function b(){if(i(null),!m.trim()||!p.trim())return void i({kind:"error",message:"Parent and name required."});x("create");try{let e=await fetch("/api/fs/create-folder",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({parent:m.trim(),name:p.trim()})}),a=await e.json();if(!e.ok)return void i({kind:"error",message:a.error||"Create failed."});l(a.folder_path),u(!1),f(""),i({kind:"success",message:"Created ".concat(a.folder_path)})}catch(e){i({kind:"error",message:String((null==e?void 0:e.message)||e)})}finally{x(null)}}return n.useEffect(()=>{d&&!m&&h(t||"~/Documents")},[d,t,m]),(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)("div",{className:"agents-modal-paste-row",children:[(0,s.jsx)("input",{ref:r,name:a,type:"text",placeholder:o,autoComplete:"off",spellCheck:!1,value:t||"",onChange:e=>{l(e.target.value),c&&i(null)},required:!0}),(0,s.jsx)("button",{type:"button",className:"admin-button secondary",onClick:v,disabled:"pick"===j,children:"pick"===j?"Opening…":"Choose folder…"})]}),(0,s.jsxs)("div",{className:"agents-modal-folder-tools",children:[(0,s.jsx)("button",{type:"button",className:"admin-button secondary",onClick:g,children:"Paste from clipboard"}),(0,s.jsx)("button",{type:"button",className:"admin-button secondary",onClick:()=>l("~/Documents"),children:"~/Documents"}),(0,s.jsx)("button",{type:"button",className:"admin-button secondary",onClick:()=>l("~/Desktop"),children:"~/Desktop"}),(0,s.jsx)("button",{type:"button",className:"admin-button secondary",onClick:()=>u(e=>!e),children:d?"Cancel new folder":"+ New folder"})]}),d?(0,s.jsxs)("div",{className:"agents-modal-create-folder",children:[(0,s.jsx)("small",{children:"Create a folder anywhere outside system directories. Parent must exist."}),(0,s.jsx)("div",{className:"agents-modal-create-row",children:(0,s.jsx)("input",{type:"text",placeholder:"Parent (e.g. ~/Documents)",value:m,onChange:e=>h(e.target.value),spellCheck:!1,autoComplete:"off"})}),(0,s.jsxs)("div",{className:"agents-modal-create-row",children:[(0,s.jsx)("input",{type:"text",placeholder:"New folder name",value:p,onChange:e=>f(e.target.value),spellCheck:!1,autoComplete:"off"}),(0,s.jsx)("button",{type:"button",className:"admin-button",onClick:b,disabled:"create"===j,children:"create"===j?"Creating…":"Create"})]})]}):null,c?(0,s.jsx)("p",{className:"agents-modal-feedback ".concat(c.kind),role:"status","aria-live":"polite",children:c.message}):null]})}},64250:(e,a,t)=>{"use strict";t.d(a,{z:()=>s});let s=function(){for(var e=arguments.length,a=Array(e),t=0;t<e;t++)a[t]=arguments[t];return a.filter((e,a,t)=>!!e&&""!==e.trim()&&t.indexOf(e)===a).join(" ").trim()}},65308:(e,a,t)=>{"use strict";t.d(a,{default:()=>m});var s=t(95155),n=t(12115),l=t(47650),r=t(85649),o=t(30926);let c=(0,o.createServerReference)("40791a84a4b0a499f400f89a19df24f021c541ae27",o.callServer,void 0,o.findSourceMapURL,"createProjectAction");var i=t(59097);let d=[{value:"#c2452a",name:"Mars Red"},{value:"#a83a22",name:"Deep Red"},{value:"#7c2b19",name:"Dark Red"},{value:"#111318",name:"Charcoal"},{value:"#3f3a30",name:"Warm Black"},{value:"#68707b",name:"Slate"},{value:"#cdb78a",name:"Warm Sand"},{value:"#1f6c9f",name:"Skill Blue"}];function u(){let{pending:e}=(0,l.useFormStatus)();return(0,s.jsx)("button",{type:"submit",className:"admin-button",disabled:e,"aria-busy":e?"true":void 0,children:e?"Creating…":"Create project"})}function m(e){let{workspaceRoot:a="~/workspace/projects"}=e,[t,l]=n.useState(!1),[o,m]=n.useState(""),[h,p]=n.useState("workspace"),[f,j]=n.useState(""),x=n.useRef(null),g=n.useMemo(()=>"".concat(a.replace(/\/$/,""),"/").concat(String(o||"").toLowerCase().trim().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").slice(0,64)||"project"),[a,o]);return n.useEffect(()=>{var e;"custom"===h&&(null==(e=x.current)||e.focus())},[h]),(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)("button",{type:"button",className:"admin-button agents-new-cta",onClick:()=>l(!0),children:[(0,s.jsx)("span",{"aria-hidden":!0,className:"agents-new-cta-glyph",children:"+"}),"New project"]}),(0,s.jsx)(r.A,{open:t,onClose:()=>l(!1),eyebrow:"New project",title:"Create a project",children:(0,s.jsxs)("form",{className:"agents-modal-form",action:c,children:[(0,s.jsx)("p",{className:"agents-modal-help",children:"Scope agents, documents, memory, and integrations together."}),(0,s.jsx)("section",{className:"agents-modal-section",children:(0,s.jsxs)("label",{className:"agents-modal-field wide",children:[(0,s.jsx)("span",{children:"Name"}),(0,s.jsx)("input",{name:"name",type:"text",required:!0,placeholder:"Acme Co.",autoComplete:"off",value:o,onChange:e=>m(e.target.value),autoFocus:!0})]})}),(0,s.jsxs)("section",{className:"agents-modal-section",children:[(0,s.jsxs)("div",{className:"agents-modal-section-head",children:[(0,s.jsx)("span",{children:"Folder location"}),(0,s.jsx)("small",{children:"Where this project lives on disk."})]}),(0,s.jsxs)("div",{className:"agents-modal-radio-group",children:[(0,s.jsxs)("label",{className:"agents-modal-radio ".concat("workspace"===h?"on":""),children:[(0,s.jsx)("input",{type:"radio",name:"folder_mode",value:"workspace",checked:"workspace"===h,onChange:()=>p("workspace")}),(0,s.jsxs)("span",{className:"agents-modal-radio-body",children:[(0,s.jsx)("b",{children:"madarX workspace"}),(0,s.jsx)("code",{title:g,children:function(e){let a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:48;if(!e||e.length<=a)return e;let t=e.slice(0,Math.floor(a/2)-1),s=e.slice(e.length-Math.floor(a/2)+2);return"".concat(t,"…").concat(s)}(g)})]})]}),(0,s.jsxs)("label",{className:"agents-modal-radio ".concat("custom"===h?"on":""),children:[(0,s.jsx)("input",{type:"radio",name:"folder_mode",value:"custom",checked:"custom"===h,onChange:()=>p("custom")}),(0,s.jsxs)("span",{className:"agents-modal-radio-body",children:[(0,s.jsx)("b",{children:"Custom path"}),(0,s.jsx)("small",{children:"Any absolute folder. Created if missing."})]})]})]}),"custom"===h?(0,s.jsx)(i.A,{inputRef:x,value:f,onChange:j}):(0,s.jsx)("input",{type:"hidden",name:"folder_path",value:""})]}),(0,s.jsxs)("section",{className:"agents-modal-section",children:[(0,s.jsxs)("div",{className:"agents-modal-section-head",children:[(0,s.jsx)("span",{children:"Color"}),(0,s.jsx)("small",{children:"Used for the project tile across the app."})]}),(0,s.jsxs)("fieldset",{className:"agents-modal-swatches",children:[(0,s.jsx)("legend",{className:"visually-hidden",children:"Project color"}),d.map(e=>(0,s.jsxs)("label",{className:"agents-modal-swatch",style:{"--swatch":e.value},children:[(0,s.jsx)("input",{type:"radio",name:"color",value:e.value,defaultChecked:"#c2452a"===e.value}),(0,s.jsx)("span",{className:"agents-modal-swatch-ring","aria-hidden":"true"}),(0,s.jsx)("span",{className:"visually-hidden",children:e.name})]},e.value))]})]}),(0,s.jsxs)("section",{className:"agents-modal-section",children:[(0,s.jsxs)("div",{className:"agents-modal-section-head",children:[(0,s.jsx)("span",{children:"Description"}),(0,s.jsx)("small",{children:"Used as context for agents working in this project."})]}),(0,s.jsx)("label",{className:"agents-modal-field wide",children:(0,s.jsx)("textarea",{name:"description",rows:3,placeholder:"What is this project for? Goals, audience, voice, constraints."})})]}),(0,s.jsxs)("footer",{className:"agents-modal-foot",children:[(0,s.jsx)("button",{type:"button",className:"admin-button secondary",onClick:()=>l(!1),children:"Cancel"}),(0,s.jsx)(u,{})]})]})})]})}},73746:(e,a,t)=>{"use strict";t.d(a,{default:()=>m});var s=t(95155),n=t(12115),l=t(47650),r=t(85649),o=t(30926);let c=(0,o.createServerReference)("402cbf907da0274afb9d1571cc8534d973c40176ab",o.callServer,void 0,o.findSourceMapURL,"updateProjectAction");var i=t(59097);let d=[{value:"#c2452a",name:"Mars Red"},{value:"#a83a22",name:"Deep Red"},{value:"#7c2b19",name:"Dark Red"},{value:"#111318",name:"Charcoal"},{value:"#3f3a30",name:"Warm Black"},{value:"#68707b",name:"Slate"},{value:"#cdb78a",name:"Warm Sand"},{value:"#1f6c9f",name:"Skill Blue"}];function u(){let{pending:e}=(0,l.useFormStatus)();return(0,s.jsx)("button",{type:"submit",className:"admin-button",disabled:e,"aria-busy":e?"true":void 0,children:e?"Saving…":"Save changes"})}function m(e){let{projectId:a,projectName:t,projectColor:l,projectDescription:o,projectFolderPath:m}=e,[h,p]=n.useState(!1),[f,j]=n.useState("keep"),[x,g]=n.useState(m||""),v=n.useRef(null);return n.useEffect(()=>{h&&(j("keep"),g(m||""))},[h,m]),n.useEffect(()=>{var e;"custom"===f&&(null==(e=v.current)||e.focus())},[f]),(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("button",{type:"button",className:"admin-button secondary project-edit",onClick:()=>p(!0),"aria-label":"Edit ".concat(t),children:"Edit"}),(0,s.jsx)(r.A,{open:h,onClose:()=>p(!1),eyebrow:"Edit project",title:"Edit ".concat(t),children:(0,s.jsxs)("form",{className:"agents-modal-form",action:c,children:[(0,s.jsx)("input",{type:"hidden",name:"project_id",value:a}),(0,s.jsx)("section",{className:"agents-modal-section",children:(0,s.jsxs)("label",{className:"agents-modal-field wide",children:[(0,s.jsx)("span",{children:"Name"}),(0,s.jsx)("input",{name:"name",type:"text",defaultValue:t,autoComplete:"off",required:!0})]})}),(0,s.jsxs)("section",{className:"agents-modal-section",children:[(0,s.jsxs)("div",{className:"agents-modal-section-head",children:[(0,s.jsx)("span",{children:"Folder location"}),(0,s.jsx)("small",{children:"Where project files live on disk. Move only if you've already moved the folder yourself."})]}),(0,s.jsxs)("div",{className:"agents-modal-radio-group",children:[(0,s.jsxs)("label",{className:"agents-modal-radio ".concat("keep"===f?"on":""),children:[(0,s.jsx)("input",{type:"radio",name:"folder_mode",value:"keep",checked:"keep"===f,onChange:()=>j("keep")}),(0,s.jsxs)("span",{className:"agents-modal-radio-body",children:[(0,s.jsx)("b",{children:"Keep current"}),(0,s.jsx)("code",{title:m||"",children:function(e){let a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:48;if(!e||e.length<=a)return e;let t=e.slice(0,Math.floor(a/2)-1),s=e.slice(e.length-Math.floor(a/2)+2);return"".concat(t,"…").concat(s)}(m)||"(not set)"})]})]}),(0,s.jsxs)("label",{className:"agents-modal-radio ".concat("custom"===f?"on":""),children:[(0,s.jsx)("input",{type:"radio",name:"folder_mode",value:"custom",checked:"custom"===f,onChange:()=>j("custom")}),(0,s.jsxs)("span",{className:"agents-modal-radio-body",children:[(0,s.jsx)("b",{children:"Change to…"}),(0,s.jsx)("small",{children:"Absolute path. Must already exist or be writable."})]})]})]}),"custom"===f?(0,s.jsx)(i.A,{inputRef:v,value:x,onChange:g}):(0,s.jsx)("input",{type:"hidden",name:"folder_path",value:""})]}),(0,s.jsxs)("section",{className:"agents-modal-section",children:[(0,s.jsxs)("div",{className:"agents-modal-section-head",children:[(0,s.jsx)("span",{children:"Color"}),(0,s.jsx)("small",{children:"Tile color across the app."})]}),(0,s.jsxs)("fieldset",{className:"agents-modal-swatches",children:[(0,s.jsx)("legend",{className:"visually-hidden",children:"Project color"}),d.map(e=>(0,s.jsxs)("label",{className:"agents-modal-swatch",style:{"--swatch":e.value},children:[(0,s.jsx)("input",{type:"radio",name:"color",value:e.value,defaultChecked:e.value===(l||"#c2452a")}),(0,s.jsx)("span",{className:"agents-modal-swatch-ring","aria-hidden":"true"}),(0,s.jsx)("span",{className:"visually-hidden",children:e.name})]},e.value))]})]}),(0,s.jsxs)("section",{className:"agents-modal-section",children:[(0,s.jsxs)("div",{className:"agents-modal-section-head",children:[(0,s.jsx)("span",{children:"Description"}),(0,s.jsx)("small",{children:"Used as context for agents working in this project."})]}),(0,s.jsx)("label",{className:"agents-modal-field wide",children:(0,s.jsx)("textarea",{name:"description",rows:3,defaultValue:o||"",placeholder:"What is this project for? Goals, audience, voice, constraints."})})]}),(0,s.jsxs)("footer",{className:"agents-modal-foot",children:[(0,s.jsx)("button",{type:"button",className:"admin-button secondary",onClick:()=>p(!1),children:"Cancel"}),(0,s.jsx)(u,{})]})]})})]})}},85649:(e,a,t)=>{"use strict";t.d(a,{A:()=>r});var s=t(95155),n=t(12115),l=t(34788);function r(e){let{open:a,onClose:t,eyebrow:r,title:o,tone:c="default",size:i="default",children:d}=e,u=n.useRef(null);return n.useEffect(()=>{let e=u.current;e&&(a&&!e.open&&("function"==typeof e.showModal?e.showModal():e.setAttribute("open","")),!a&&e.open&&e.close())},[a]),n.useEffect(()=>{let e=u.current;if(!e)return;let a=e=>{e.preventDefault(),t()};return e.addEventListener("cancel",a),()=>e.removeEventListener("cancel",a)},[t]),(0,s.jsx)("dialog",{ref:u,className:"agents-modal".concat("wide"===i?" agents-modal--wide":""),onClick:e=>{e.target===u.current&&t()},children:a?(0,s.jsxs)("div",{className:"agents-modal-card".concat("danger"===c?" agents-modal-card--danger":""),onClick:e=>e.stopPropagation(),children:[(0,s.jsxs)("header",{className:"agents-modal-head",children:[(0,s.jsxs)("div",{children:[r?(0,s.jsx)("span",{className:"admin-kicker",children:r}):null,(0,s.jsx)("h2",{children:o})]}),(0,s.jsx)("button",{type:"button",className:"agents-modal-close",onClick:t,"aria-label":"Close",children:(0,s.jsx)(l.A,{size:14})})]}),d]}):null})}},99168:(e,a,t)=>{Promise.resolve().then(t.bind(t,10677)),Promise.resolve().then(t.bind(t,39230)),Promise.resolve().then(t.bind(t,73746)),Promise.resolve().then(t.bind(t,65308)),Promise.resolve().then(t.t.bind(t,52619,23))}},e=>{e.O(0,[2619,8441,1255,7358],()=>e(e.s=99168)),_N_E=e.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3427],{10677:(e,a,t)=>{"use strict";t.d(a,{default:()=>l});var s=t(95155),n=t(12115);function l(){let[e,a]=(0,n.useState)([]),[t,l]=(0,n.useState)("");return(0,n.useEffect)(()=>{l(localStorage.getItem("madarx.activeProjectId")||""),fetch("/api/projects").then(e=>e.json()).then(e=>a(e.projects||[])).catch(()=>{})},[]),(0,s.jsx)("div",{className:"project-switcher","data-project-switcher":!0,children:(0,s.jsxs)("select",{value:t,onChange:e=>{var a;l(a=e.target.value),a?localStorage.setItem("madarx.activeProjectId",a):localStorage.removeItem("madarx.activeProjectId"),window.dispatchEvent(new CustomEvent("madarx:project-change",{detail:{project_id:a||null}}))},"aria-label":"Active project",children:[(0,s.jsx)("option",{value:"",children:"All projects"}),e.map(e=>(0,s.jsx)("option",{value:e.id,children:e.name},e.id))]})})}},20063:(e,a,t)=>{"use strict";var s=t(47260);t.o(s,"usePathname")&&t.d(a,{usePathname:function(){return s.usePathname}}),t.o(s,"useRouter")&&t.d(a,{useRouter:function(){return s.useRouter}}),t.o(s,"useSearchParams")&&t.d(a,{useSearchParams:function(){return s.useSearchParams}})},22157:(e,a,t)=>{"use strict";t.d(a,{default:()=>j});var s=t(95155),n=t(12115),l=t(20063),r=t(55799);let i={intake:"neutral",running:"info",awaiting_approval:"warning",complete:"success",rejected:"danger",failed:"danger",cancelled:"neutral"},c={intake:"Intake",running:"Running",awaiting_approval:"Awaiting approval",complete:"Complete",rejected:"Rejected",failed:"Failed",cancelled:"Cancelled"},d={queued:"neutral",running:"info",awaiting_approval:"warning",pass:"success",fail:"danger",skipped:"neutral",cancelled:"neutral"},o=new Set(["complete","rejected","failed","cancelled"]);function u(e){return e?new Date(e).toLocaleString():"—"}function h(e){let{artifact:a}=e;if(!a)return null;let t="html"===a.kind;return(0,s.jsxs)("li",{className:"case-artifact-card",children:[(0,s.jsxs)("div",{className:"case-artifact-card-meta",children:[(0,s.jsx)("span",{className:"case-artifact-title",children:a.title||a.path}),(0,s.jsxs)("span",{className:"muted",children:[" \xb7 ",a.kind]})]}),t?(0,s.jsx)("iframe",{title:a.title||a.id,src:"/api/artifacts/".concat(a.id,"/raw"),sandbox:"allow-scripts",loading:"lazy"}):null]})}function m(e){let{title:a,label:t,artifact:n,helpText:l}=e,r=(null==n?void 0:n.kind)==="html";return(0,s.jsxs)("div",{className:"intake-artifact-card",children:[(0,s.jsxs)("header",{children:[(0,s.jsx)("h4",{children:t}),(0,s.jsx)("span",{className:"muted",children:(null==n?void 0:n.title)||""})]}),r?(0,s.jsx)("iframe",{title:a,src:"/api/artifacts/".concat(n.id,"/raw"),sandbox:"allow-scripts",loading:"lazy"}):(0,s.jsx)("p",{className:"muted",children:"Artifact content unavailable."}),l?(0,s.jsx)("small",{className:"muted",children:l}):null]})}function p(e){var a;let{caseRow:t,artifacts:n,latestExec:l}=e,r=null==t||null==(a=t.context)?void 0:a.intake_form_artifact_id,i=(null==l?void 0:l.artifact_ids)||[],c=n.find(e=>e.id===r),d=n.find(e=>i.includes(e.id)&&e.id!==r);return(0,s.jsxs)(s.Fragment,{children:[c?(0,s.jsx)(m,{title:"Intake form artifact",label:"Intake form artifact",artifact:c,helpText:"Artifact-first intake page \xb7 canonical presentation record for this case."}):null,t.intake_payload?null:(0,s.jsxs)("p",{children:["Intake form not submitted yet. Submit via"," ",(0,s.jsx)("a",{href:"/workflows/new/".concat(t.id),children:"the intake page"})," ","for this case."]}),d?(0,s.jsx)(m,{title:"Intake submission",label:"Intake submission",artifact:d,helpText:"Sensitive identifiers (passport / national IDs) are redacted in this artifact."}):null,t.intake_payload?(0,s.jsxs)("details",{className:"payload-card",children:[(0,s.jsx)("summary",{children:"Raw intake payload (engine state)"}),(0,s.jsx)("pre",{children:JSON.stringify(t.intake_payload,null,2)})]}):null]})}function f(e){let{artifacts:a}=e;return a&&0!==a.length?(0,s.jsxs)("section",{className:"case-artifacts-gallery",children:[(0,s.jsx)("h3",{children:"Case artifacts"}),(0,s.jsx)("p",{className:"muted",children:"Every workflow touchpoint is rendered as an HTML artifact. These artifacts are also visible in the project library."}),(0,s.jsx)("ul",{className:"case-artifact-list",children:a.map(e=>(0,s.jsx)(h,{artifact:e},e.id))})]}):null}function j(e){var a,t;let{caseRow:h,definition:m,stages:j,executions:x,approvals:g,artifacts:v}=e,N=(0,l.useRouter)(),[k,y]=(0,n.useState)(h),[w,_]=(0,n.useState)(x),[b,S]=(0,n.useState)(g),[P,C]=(0,n.useState)(v),[I,E]=(0,n.useState)(k.current_stage_slug||(null==(a=j[0])?void 0:a.slug)),[A,R]=(0,n.useState)(!1),[O,T]=(0,n.useState)(null);(0,n.useEffect)(()=>{if(o.has(k.status))return;let e=!1,a=setInterval(async()=>{try{var a;let t=await fetch("/api/processes/".concat(k.id));if(!t.ok)return;let s=await t.json();if(e)return;y(s.case),_(s.executions||[]),S(s.approvals||[]),C(s.artifacts||[]),(null==(a=s.case)?void 0:a.current_stage_slug)&&E(s.case.current_stage_slug)}catch(e){}},4e3);return()=>{e=!0,clearInterval(a)}},[k.id,k.status]);let q=(0,n.useMemo)(()=>(function(e){let a=new Map;for(let t of e){let e=a.get(t.stage_slug)||[];e.push(t),a.set(t.stage_slug,e)}return a})(w),[w]),J=(0,n.useMemo)(()=>j.find(e=>e.slug===I)||j[0],[j,I]);async function H(e){R(!0),T(null);try{let a=await fetch("/api/approvals/".concat(e),{method:"PATCH",headers:{"content-type":"application/json"},body:JSON.stringify({decision:"approved"})});if(!a.ok){let e=await a.json().catch(()=>({}));throw Error((null==e?void 0:e.error)||"approve failed")}}catch(e){T((null==e?void 0:e.message)||String(e))}finally{R(!1)}}async function M(e){R(!0),T(null);try{let a=await fetch("/api/approvals/".concat(e),{method:"PATCH",headers:{"content-type":"application/json"},body:JSON.stringify({decision:"denied"})});if(!a.ok){let e=await a.json().catch(()=>({}));throw Error((null==e?void 0:e.error)||"deny failed")}}catch(e){T((null==e?void 0:e.message)||String(e))}finally{R(!1)}}async function D(e){R(!0),T(null);try{let a=await fetch("/api/processes/".concat(k.id,"/stages/").concat(e,"/retry"),{method:"POST"});if(!a.ok){let e=await a.json().catch(()=>({}));throw Error((null==e?void 0:e.error)||"retry failed")}}catch(e){T((null==e?void 0:e.message)||String(e))}finally{R(!1)}}async function F(){if(confirm("Cancel this case?")){R(!0);try{let e=await fetch("/api/processes/".concat(k.id),{method:"PATCH",headers:{"content-type":"application/json"},body:JSON.stringify({status:"cancelled"})});if(!e.ok){let a=await e.json().catch(()=>({}));throw Error((null==a?void 0:a.error)||"cancel failed")}N.refresh()}catch(e){T((null==e?void 0:e.message)||String(e))}finally{R(!1)}}}let L=q.get(null==J?void 0:J.slug)||[],z=L[L.length-1],U=b.find(e=>{var a;return"pending"===e.status&&(null==(a=e.payload)?void 0:a.stage_slug)===(null==J?void 0:J.slug)});return(0,s.jsxs)("div",{className:"case-detail","data-page":"case",children:[(0,s.jsxs)("header",{className:"case-header",children:[(0,s.jsx)(r.qs,{tone:i[k.status]||"neutral",children:c[k.status]||k.status}),(0,s.jsxs)("div",{className:"case-header-meta",children:[(0,s.jsxs)("span",{className:"muted",children:["Project: ",k.project_id]}),(0,s.jsxs)("span",{className:"muted",children:["Updated: ",u(k.updated_at)]})]}),o.has(k.status)?null:(0,s.jsx)("button",{className:"btn-tertiary",onClick:F,disabled:A,children:"Cancel case"})]}),O?(0,s.jsx)("p",{className:"form-error",role:"alert",children:O}):null,(0,s.jsxs)("div",{className:"case-grid",children:[(0,s.jsxs)("aside",{className:"case-timeline",children:[(0,s.jsx)("h3",{children:"Stages"}),(0,s.jsx)("ol",{children:j.map(e=>{let a=q.get(e.slug)||[],t=a[a.length-1],n=e.slug===(null==J?void 0:J.slug),l=e.slug===k.current_stage_slug,i=(null==t?void 0:t.status)||(l?"running":"pending");return(0,s.jsx)("li",{className:"stage-node ".concat(n?"active":""," ").concat(l?"current":""),"data-status":i,children:(0,s.jsxs)("button",{type:"button",onClick:()=>E(e.slug),children:[(0,s.jsx)("span",{className:"stage-name",children:e.name}),(0,s.jsx)("span",{className:"stage-kind muted",children:e.kind.replace("_"," ")}),(0,s.jsx)(r.qs,{tone:d[i]||"neutral",children:i})]})},e.id)})})]}),(0,s.jsx)("section",{className:"case-stage-panel",children:J?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)("header",{children:[(0,s.jsx)("h3",{children:J.name}),(0,s.jsx)("span",{className:"muted",children:J.kind})]}),"intake_form"===J.kind?(0,s.jsx)(p,{caseRow:k,artifacts:P,latestExec:z}):null,"human_approval"===J.kind&&U?(0,s.jsxs)("div",{className:"approval-card",children:[(0,s.jsxs)("p",{children:[(0,s.jsx)("strong",{children:"Approval requested:"})," ",U.summary]}),(0,s.jsxs)("div",{className:"approval-actions",children:[(0,s.jsx)("button",{className:"btn-primary",onClick:()=>H(U.id),disabled:A,children:"Approve"}),(0,s.jsx)("button",{className:"btn-danger",onClick:()=>M(U.id),disabled:A,children:"Deny"})]}),(0,s.jsxs)("small",{className:"muted",children:["Risk: ",U.risk," \xb7 created ",u(U.created_at)]})]}):null,z?(0,s.jsxs)("div",{className:"exec-card",children:[(0,s.jsxs)("header",{children:[(0,s.jsx)("h4",{children:"Latest execution"}),(0,s.jsx)(r.qs,{tone:d[z.status]||"neutral",children:z.status}),z.attempt>1?(0,s.jsxs)("span",{className:"muted",children:["Attempt ",z.attempt]}):null]}),z.output?(0,s.jsxs)("details",{open:!0,children:[(0,s.jsx)("summary",{children:"Structured output"}),(0,s.jsx)("pre",{children:JSON.stringify(z.output,null,2)})]}):null,z.error?(0,s.jsxs)("p",{className:"form-error",children:["Error: ",z.error]}):null,"fail"===z.status?(0,s.jsx)("button",{className:"btn-secondary",onClick:()=>D(J.id),disabled:A,children:"Retry stage"}):null]}):(0,s.jsx)("p",{className:"muted",children:"No execution recorded yet."}),P.length&&((null==z||null==(t=z.artifact_ids)?void 0:t.length)||"package"===J.kind)?(0,s.jsxs)("div",{className:"artifacts-card",children:[(0,s.jsx)("h4",{children:"Stage artifacts"}),(0,s.jsx)("ul",{children:P.filter(e=>((null==z?void 0:z.artifact_ids)||[]).includes(e.id)).map(e=>(0,s.jsxs)("li",{children:[(0,s.jsx)("span",{className:"case-artifact-title",children:e.title||e.path}),(0,s.jsxs)("span",{className:"muted",children:[" \xb7 ",e.kind]})]},e.id))})]}):null]}):(0,s.jsx)("p",{children:"Pick a stage from the timeline."})})]}),(0,s.jsx)(f,{artifacts:P})]})}},55799:(e,a,t)=>{"use strict";t.d(a,{iN:()=>l,qs:()=>r});var s=t(95155),n=t(10677);function l(e){let{kicker:a="madarX OS v1.0",title:t,description:l,actions:r,hideProjectSwitcher:i,children:c}=e;return(0,s.jsxs)("main",{className:"admin-shell",children:[(0,s.jsxs)("header",{className:"admin-header",children:[(0,s.jsxs)("div",{children:[(0,s.jsx)("span",{className:"admin-kicker",children:a}),(0,s.jsx)("h1",{children:t}),l?(0,s.jsx)("p",{children:l}):null]}),(0,s.jsxs)("div",{className:"admin-header-actions",children:[i?null:(0,s.jsx)(n.default,{}),r]})]}),c]})}function r(e){let{children:a,tone:t="neutral"}=e;return(0,s.jsx)("span",{className:"admin-pill ".concat(t),children:a})}},59531:(e,a,t)=>{Promise.resolve().then(t.bind(t,10677)),Promise.resolve().then(t.bind(t,22157)),Promise.resolve().then(t.t.bind(t,52619,23))}},e=>{e.O(0,[2619,8441,1255,7358],()=>e(e.s=59531)),_N_E=e.O()}]);
@@ -1 +1 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7143],{10677:(e,a,s)=>{"use strict";s.d(a,{default:()=>n});var r=s(95155),t=s(12115);function n(){let[e,a]=(0,t.useState)([]),[s,n]=(0,t.useState)("");return(0,t.useEffect)(()=>{n(localStorage.getItem("madarx.activeProjectId")||""),fetch("/api/projects").then(e=>e.json()).then(e=>a(e.projects||[])).catch(()=>{})},[]),(0,r.jsx)("div",{className:"project-switcher","data-project-switcher":!0,children:(0,r.jsxs)("select",{value:s,onChange:e=>{var a;n(a=e.target.value),a?localStorage.setItem("madarx.activeProjectId",a):localStorage.removeItem("madarx.activeProjectId"),window.dispatchEvent(new CustomEvent("madarx:project-change",{detail:{project_id:a||null}}))},"aria-label":"Active project",children:[(0,r.jsx)("option",{value:"",children:"All projects"}),e.map(e=>(0,r.jsx)("option",{value:e.id,children:e.name},e.id))]})})}},20063:(e,a,s)=>{"use strict";var r=s(47260);s.o(r,"usePathname")&&s.d(a,{usePathname:function(){return r.usePathname}}),s.o(r,"useRouter")&&s.d(a,{useRouter:function(){return r.useRouter}}),s.o(r,"useSearchParams")&&s.d(a,{useSearchParams:function(){return r.useSearchParams}})},53749:(e,a,s)=>{"use strict";s.d(a,{default:()=>d});var r=s(95155),t=s(12115),n=s(47650),l=s(20063);function c(){return{sender_name:"",cover_image_url:"",cover_copy:{title:"",subtitle:""},accent_hex:"",logo_url:""}}function i(e){let{definition:a,projects:s,initialProjectId:n,onClose:l}=e,[i,d]=(0,t.useState)(n),[h,u]=(0,t.useState)(null),[p,m]=(0,t.useState)(null),[f,x]=(0,t.useState)(!0),[v,g]=(0,t.useState)(null),[j,w]=(0,t.useState)(null),[b,_]=(0,t.useState)(c()),[y,N]=(0,t.useState)("{}"),[k,S]=(0,t.useState)("[]"),[C,P]=(0,t.useState)(!1),[O,E]=(0,t.useState)(14),[I,J]=(0,t.useState)(!1);(0,t.useEffect)(()=>{let e=!1;return x(!0),g(null),fetch("/api/processes/definitions/".concat(a.slug,"/settings?project_id=").concat(encodeURIComponent(i),"&include_brand=1")).then(e=>e.json()).then(a=>{var s,r,t,n,l,i,o,d;if(e)return;if(a.error){g(a.error),x(!1);return}u(a.settings),m(a.resolved_brand||null);let h=(null==(s=a.settings)?void 0:s.brand)||c();_({sender_name:h.sender_name||"",cover_image_url:h.cover_image_url||"",cover_copy:{title:(null==(r=h.cover_copy)?void 0:r.title)||"",subtitle:(null==(t=h.cover_copy)?void 0:t.subtitle)||""},accent_hex:h.accent_hex||"",logo_url:h.logo_url||""}),N(JSON.stringify((null==(n=a.settings)?void 0:n.agent_overrides)||{},null,2)),S(JSON.stringify((null==(l=a.settings)?void 0:l.auto_approve_rules)||[],null,2)),P(!!(null==(i=a.settings)?void 0:i.share_link_enabled)),E(Number((null==(o=a.settings)?void 0:o.share_link_default_expiry_days)||14)),J(!!(null==(d=a.settings)?void 0:d.default_for_project)),x(!1)}).catch(a=>{e||(g(String(a)),x(!1))}),()=>{e=!0}},[a.slug,i]);let A=async(e,s)=>{w(s),g(null);try{let s=await fetch("/api/processes/definitions/".concat(a.slug,"/settings"),{method:"PUT",headers:{"content-type":"application/json"},body:JSON.stringify({project_id:i,...e})}),r=await s.json();if(!s.ok)throw Error(r.error||"save_failed");u(r.settings)}catch(e){g(String((null==e?void 0:e.message)||e))}finally{w(null)}},L=(0,t.useMemo)(()=>({accent_hex:b.accent_hex||(null==p?void 0:p.accent_hex)||"#c2452a",sender_name:b.sender_name||(null==p?void 0:p.sender_name)||"Madarx OS",logo_url:b.logo_url||(null==p?void 0:p.logo_url)||null,cover_image_url:b.cover_image_url||null,cover_copy:b.cover_copy,fonts:(null==p?void 0:p.fonts)||[]}),[b,p]),R=(0,t.useMemo)(()=>{let e=L.accent_hex,s=o(L.sender_name),r=o(b.cover_copy.title||a.name),t=o(b.cover_copy.subtitle||"Submit the details below to start."),n=L.cover_image_url?"background-image:linear-gradient(135deg,".concat(e,"cc,#0e0d0ccc),url('").concat(o(L.cover_image_url),"');background-size:cover;background-position:center;"):"background:linear-gradient(135deg,".concat(e,",#0e0d0c);");return"<!DOCTYPE html><html><head><style>body{margin:0;font:13px/1.45 ui-sans-serif,system-ui,sans-serif;background:#f7f4ee;padding:14px;color:#1a1817}.hdr{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#69707a;margin-bottom:8px}.cv{".concat(n,';height:74px;border-radius:12px;margin-bottom:10px}h1{font-size:18px;margin:0 0 4px}p{margin:0;color:#5f5a55;font-size:12px}.ftr{margin-top:10px;color:#69707a;font-size:10.5px}</style></head><body><div class="hdr">').concat(s,' \xb7 Intake</div><div class="cv"></div><h1>').concat(r,"</h1><p>").concat(t,'</p><p class="ftr">Powered by ').concat(s,"</p></body></html>")},[a.name,L,b.cover_copy]);return(0,r.jsx)("div",{className:"wf-drawer-scrim",role:"dialog","aria-label":"Workflow settings",onClick:l,children:(0,r.jsxs)("aside",{className:"wf-drawer",onClick:e=>e.stopPropagation(),children:[(0,r.jsxs)("header",{className:"wf-drawer-head",children:[(0,r.jsxs)("div",{children:[(0,r.jsx)("span",{className:"wf-drawer-kicker",children:"Configure workflow"}),(0,r.jsx)("h3",{children:a.name}),(0,r.jsxs)("small",{children:[a.category||"process"," \xb7 v",a.version]})]}),(0,r.jsx)("button",{type:"button",className:"wf-drawer-close",onClick:l,"aria-label":"Close",children:"\xd7"})]}),v?(0,r.jsx)("p",{className:"wf-drawer-error",children:v}):null,f?(0,r.jsx)("div",{className:"wf-drawer-body",children:(0,r.jsx)("p",{className:"wf-drawer-muted",children:"Loading…"})}):(0,r.jsxs)("div",{className:"wf-drawer-body",children:[(0,r.jsxs)("section",{className:"wf-drawer-section wf-drawer-brand-row",children:[(0,r.jsxs)("header",{className:"wf-drawer-section-head",children:[(0,r.jsx)("h4",{children:"Brand"}),(0,r.jsx)("a",{href:"/settings/brand",target:"_blank",rel:"noreferrer",className:"wf-drawer-link",children:"Edit at /settings/brand ↗"})]}),(0,r.jsx)("p",{className:"wf-drawer-muted",children:"Logo, palette, fonts, and voice inherit from the global brand. You can override the sender name + accent below, but everything else flows through."}),(0,r.jsxs)("div",{className:"wf-brand-chips",children:[(0,r.jsxs)("div",{className:"wf-brand-chip",children:[(0,r.jsx)("span",{children:"Sender"}),(0,r.jsx)("strong",{children:(null==p?void 0:p.company_name)||(null==p?void 0:p.sender_name)||"—"})]}),(0,r.jsxs)("div",{className:"wf-brand-chip",children:[(0,r.jsx)("span",{children:"Accent"}),(0,r.jsxs)("strong",{style:{display:"inline-flex",gap:6,alignItems:"center"},children:[(0,r.jsx)("i",{className:"wf-brand-swatch",style:{background:(null==p?void 0:p.accent_hex)||"#c2452a"}}),(null==p?void 0:p.accent_hex)||"#c2452a"]})]}),(0,r.jsxs)("div",{className:"wf-brand-chip",children:[(0,r.jsx)("span",{children:"Fonts"}),(0,r.jsx)("strong",{children:((null==p?void 0:p.fonts)||[]).slice(0,2).join(" \xb7 ")||"—"})]})]})]}),(0,r.jsxs)("section",{className:"wf-drawer-section",children:[(0,r.jsx)("header",{className:"wf-drawer-section-head",children:(0,r.jsx)("h4",{children:"1 \xb7 Project"})}),(0,r.jsxs)("label",{className:"wf-field",children:[(0,r.jsx)("span",{children:"Project"}),(0,r.jsx)("select",{value:i,onChange:e=>d(e.target.value),children:s.map(e=>(0,r.jsx)("option",{value:e.id,children:e.name||e.slug||e.id},e.id))})]}),(0,r.jsxs)("label",{className:"wf-checkbox",children:[(0,r.jsx)("input",{type:"checkbox",checked:I,onChange:e=>J(e.target.checked)}),(0,r.jsx)("span",{children:"Default process for this project"})]}),(0,r.jsx)("button",{type:"button",className:"wf-btn",disabled:"project"===j,onClick:()=>A({default_for_project:I},"project"),children:"project"===j?"Saving…":"Save"})]}),(0,r.jsxs)("section",{className:"wf-drawer-section",children:[(0,r.jsx)("header",{className:"wf-drawer-section-head",children:(0,r.jsx)("h4",{children:"2 \xb7 Presentation"})}),(0,r.jsx)("p",{className:"wf-drawer-muted",children:"Workflow-specific copy and artwork. The intake form's wrapping inherits from your brand; these fields only override the surface details unique to this workflow."}),(0,r.jsxs)("label",{className:"wf-field",children:[(0,r.jsxs)("span",{children:["Cover image URL ",(0,r.jsx)("em",{className:"wf-optional",children:"optional"})]}),(0,r.jsx)("input",{type:"url",value:b.cover_image_url,onChange:e=>_({...b,cover_image_url:e.target.value}),placeholder:"https://…/cover.jpg"})]}),(0,r.jsxs)("label",{className:"wf-field",children:[(0,r.jsx)("span",{children:"Cover title"}),(0,r.jsx)("input",{type:"text",value:b.cover_copy.title,onChange:e=>_({...b,cover_copy:{...b.cover_copy,title:e.target.value}}),placeholder:"".concat(a.name," — Intake")})]}),(0,r.jsxs)("label",{className:"wf-field",children:[(0,r.jsx)("span",{children:"Cover subtitle"}),(0,r.jsx)("input",{type:"text",value:b.cover_copy.subtitle,onChange:e=>_({...b,cover_copy:{...b.cover_copy,subtitle:e.target.value}}),placeholder:"Submit the details below to start."})]}),(0,r.jsxs)("details",{className:"wf-advanced",children:[(0,r.jsx)("summary",{children:"Override sender name / accent (optional)"}),(0,r.jsxs)("label",{className:"wf-field",children:[(0,r.jsxs)("span",{children:["Sender name override ",(0,r.jsxs)("em",{className:"wf-optional",children:["defaults to ",(null==p?void 0:p.company_name)||"brand"]})]}),(0,r.jsx)("input",{type:"text",value:b.sender_name,onChange:e=>_({...b,sender_name:e.target.value}),placeholder:(null==p?void 0:p.company_name)||""})]}),(0,r.jsxs)("label",{className:"wf-field",children:[(0,r.jsxs)("span",{children:["Accent override ",(0,r.jsxs)("em",{className:"wf-optional",children:["defaults to ",(null==p?void 0:p.accent_hex)||"#c2452a"]})]}),(0,r.jsxs)("div",{className:"wf-accent-row",children:[(0,r.jsx)("input",{type:"color",value:b.accent_hex||(null==p?void 0:p.accent_hex)||"#c2452a",onChange:e=>_({...b,accent_hex:e.target.value})}),(0,r.jsx)("input",{type:"text",value:b.accent_hex,onChange:e=>_({...b,accent_hex:e.target.value}),placeholder:"leave empty to use brand"})]})]}),(0,r.jsxs)("label",{className:"wf-field",children:[(0,r.jsxs)("span",{children:["Logo URL override ",(0,r.jsx)("em",{className:"wf-optional",children:"defaults to brand logo"})]}),(0,r.jsx)("input",{type:"url",value:b.logo_url,onChange:e=>_({...b,logo_url:e.target.value}),placeholder:"https://…/logo.svg"})]})]}),(0,r.jsxs)("div",{className:"wf-preview",children:[(0,r.jsx)("small",{children:"Live preview"}),(0,r.jsx)("iframe",{title:"Brand preview",srcDoc:R,sandbox:"allow-same-origin"})]}),(0,r.jsx)("button",{type:"button",className:"wf-btn",disabled:"presentation"===j,onClick:()=>A({brand:b},"presentation"),children:"presentation"===j?"Saving…":"Save presentation"})]}),(0,r.jsxs)("section",{className:"wf-drawer-section",children:[(0,r.jsx)("header",{className:"wf-drawer-section-head",children:(0,r.jsx)("h4",{children:"3 \xb7 Agents"})}),(0,r.jsxs)("p",{className:"wf-drawer-muted",children:["Per-stage agent template overrides. JSON map: ",(0,r.jsx)("code",{children:"{ stage_slug: { agent_template_slug, prompt_override } }"}),"."]}),(0,r.jsx)("textarea",{rows:6,className:"wf-code",value:y,onChange:e=>N(e.target.value)}),(0,r.jsx)("button",{type:"button",className:"wf-btn",disabled:"agents"===j,onClick:()=>{try{A({agent_overrides:JSON.parse(y)},"agents")}catch(e){g("agents: invalid JSON — ".concat(e.message))}},children:"agents"===j?"Saving…":"Save agent overrides"})]}),(0,r.jsxs)("section",{className:"wf-drawer-section",children:[(0,r.jsx)("header",{className:"wf-drawer-section-head",children:(0,r.jsx)("h4",{children:"4 \xb7 Auto-approval"})}),(0,r.jsxs)("p",{className:"wf-drawer-muted",children:["Declarative rules (same dialect as ",(0,r.jsx)("code",{children:"policy_gate"}),"). Array of ",(0,r.jsx)("code",{children:"{ when, decision }"})," entries."]}),(0,r.jsx)("textarea",{rows:5,className:"wf-code",value:k,onChange:e=>S(e.target.value)}),(0,r.jsx)("button",{type:"button",className:"wf-btn",disabled:"autoapprove"===j,onClick:()=>{try{A({auto_approve_rules:JSON.parse(k)},"autoapprove")}catch(e){g("auto-approve: invalid JSON — ".concat(e.message))}},children:"autoapprove"===j?"Saving…":"Save auto-approval"})]}),(0,r.jsxs)("section",{className:"wf-drawer-section",children:[(0,r.jsx)("header",{className:"wf-drawer-section-head",children:(0,r.jsx)("h4",{children:"5 \xb7 Sharing"})}),(0,r.jsxs)("label",{className:"wf-checkbox",children:[(0,r.jsx)("input",{type:"checkbox",checked:C,onChange:e=>P(e.target.checked)}),(0,r.jsx)("span",{children:"Allow share-link submissions"})]}),(0,r.jsxs)("label",{className:"wf-field",children:[(0,r.jsx)("span",{children:"Default link expiry (days)"}),(0,r.jsx)("input",{type:"number",min:1,max:90,value:O,onChange:e=>E(Number(e.target.value))})]}),(0,r.jsx)("button",{type:"button",className:"wf-btn",disabled:"sharing"===j,onClick:()=>A({share_link_enabled:C,share_link_default_expiry_days:O},"sharing"),children:"sharing"===j?"Saving…":"Save sharing"})]})]})]})})}function o(e){return String(e||"").replace(/[&<>"']/g,e=>({"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"})[e])}function d(e){var a;let{definition:s,projects:c,brandedIntake:o,defaultProjectId:d,usage:h=0}=e,u=(0,l.useRouter)(),[p,m]=(0,t.useState)(!1),[f,x]=(0,t.useState)(!1),[v,g]=(0,t.useState)(null);(0,t.useEffect)(()=>{x(!0)},[]);let[j,w]=(0,t.useState)(null),[b,_]=(0,t.useState)(!1),[y,N]=(0,t.useState)(null),k=d||(null==c||null==(a=c[0])?void 0:a.id)||"personal",S=(0,t.useCallback)(async()=>{N(null),_(!0);try{if(o){let e=await fetch("/api/processes/start-and-route",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({definition_slug:s.slug,project_id:k})}),a=await e.json();if(!e.ok)throw Error(a.error||"start_failed");u.push(a.redirect_url||"/workflows/".concat(a.case_id))}else u.push("/workflows/new?definition=".concat(s.slug))}catch(e){N(String((null==e?void 0:e.message)||e)),_(!1)}},[o,s.slug,k,u]),C=(0,t.useCallback)(async()=>{w(null),g(null);try{let e=await fetch("/api/processes/start-and-route",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({definition_slug:s.slug,project_id:k})}),a=await e.json();if(!e.ok)throw Error(a.error||"start_failed");let r=await fetch("/api/processes/".concat(a.case_id,"/share-link"),{method:"POST",headers:{"content-type":"application/json"},body:"{}"}),t=await r.json();if(!r.ok)throw Error(t.error||"mint_failed");g(t.link);try{await navigator.clipboard.writeText(t.link)}catch(e){}}catch(e){w(String((null==e?void 0:e.message)||e))}},[s.slug,k]),P=(s.name||"??").replace(/[^a-zA-Z]/g,"").slice(0,2).toUpperCase()||"??";return(0,r.jsxs)("li",{className:"mkt-card wf-defcard",children:[(0,r.jsxs)("div",{className:"mkt-card-head wf-defcard-top",children:[(0,r.jsx)("div",{className:"wf-defcard-cover","aria-hidden":!0,children:(0,r.jsx)("span",{className:"wf-defcard-initials",children:P})}),(0,r.jsxs)("span",{className:"wf-defcard-version",children:["v",s.version]})]}),(0,r.jsxs)("div",{className:"mkt-card-body wf-defcard-body",children:[(0,r.jsxs)("header",{className:"wf-defcard-head",children:[(0,r.jsxs)("div",{children:[(0,r.jsx)("span",{className:"wf-defcard-kicker",children:s.category||"process"}),(0,r.jsx)("h3",{className:"mkt-card-title",children:s.name})]}),(0,r.jsxs)("span",{className:"wf-defcard-usage",title:"".concat(h," cases started"),children:[h," ",1===h?"case":"cases"]})]}),(0,r.jsx)("p",{className:"mkt-card-desc wf-defcard-desc",children:s.description||"No description."}),y?(0,r.jsx)("p",{className:"wf-defcard-error",children:y}):null,j?(0,r.jsxs)("p",{className:"wf-defcard-error",children:["Share: ",j]}):null,v?(0,r.jsxs)("p",{className:"wf-defcard-share",children:[(0,r.jsx)("span",{children:"Link copied:"}),(0,r.jsx)("a",{href:v,target:"_blank",rel:"noreferrer",children:v})]}):null,(0,r.jsxs)("div",{className:"wf-defcard-actions",children:[(0,r.jsx)("button",{type:"button",className:"wf-defcard-btn wf-defcard-btn--primary",onClick:S,disabled:b,children:b?"Starting…":"Start case"}),(0,r.jsx)("button",{type:"button",className:"wf-defcard-btn",onClick:()=>m(!0),children:"Configure"}),(0,r.jsx)("button",{type:"button",className:"wf-defcard-btn",onClick:C,children:"Share"})]})]}),p&&f?(0,n.createPortal)((0,r.jsx)(i,{definition:s,projects:c,initialProjectId:k,onClose:()=>m(!1)}),document.body):null]})}},77547:(e,a,s)=>{Promise.resolve().then(s.bind(s,10677)),Promise.resolve().then(s.bind(s,53749)),Promise.resolve().then(s.t.bind(s,52619,23))}},e=>{e.O(0,[2619,8441,1255,7358],()=>e(e.s=77547)),_N_E=e.O()}]);
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7143],{10677:(e,a,s)=>{"use strict";s.d(a,{default:()=>n});var r=s(95155),t=s(12115);function n(){let[e,a]=(0,t.useState)([]),[s,n]=(0,t.useState)("");return(0,t.useEffect)(()=>{n(localStorage.getItem("madarx.activeProjectId")||""),fetch("/api/projects").then(e=>e.json()).then(e=>a(e.projects||[])).catch(()=>{})},[]),(0,r.jsx)("div",{className:"project-switcher","data-project-switcher":!0,children:(0,r.jsxs)("select",{value:s,onChange:e=>{var a;n(a=e.target.value),a?localStorage.setItem("madarx.activeProjectId",a):localStorage.removeItem("madarx.activeProjectId"),window.dispatchEvent(new CustomEvent("madarx:project-change",{detail:{project_id:a||null}}))},"aria-label":"Active project",children:[(0,r.jsx)("option",{value:"",children:"All projects"}),e.map(e=>(0,r.jsx)("option",{value:e.id,children:e.name},e.id))]})})}},20063:(e,a,s)=>{"use strict";var r=s(47260);s.o(r,"usePathname")&&s.d(a,{usePathname:function(){return r.usePathname}}),s.o(r,"useRouter")&&s.d(a,{useRouter:function(){return r.useRouter}}),s.o(r,"useSearchParams")&&s.d(a,{useSearchParams:function(){return r.useSearchParams}})},53749:(e,a,s)=>{"use strict";s.d(a,{default:()=>d});var r=s(95155),t=s(12115),n=s(47650),l=s(20063);function c(){return{sender_name:"",cover_image_url:"",cover_copy:{title:"",subtitle:""},accent_hex:"",logo_url:""}}function i(e){let{definition:a,projects:s,initialProjectId:n,onClose:l}=e,[i,d]=(0,t.useState)(n),[h,u]=(0,t.useState)(null),[p,m]=(0,t.useState)(null),[f,x]=(0,t.useState)(!0),[v,g]=(0,t.useState)(null),[j,w]=(0,t.useState)(null),[b,_]=(0,t.useState)(c()),[y,N]=(0,t.useState)("{}"),[k,S]=(0,t.useState)("[]"),[C,P]=(0,t.useState)(!1),[O,E]=(0,t.useState)(14),[I,J]=(0,t.useState)(!1);(0,t.useEffect)(()=>{let e=!1;return x(!0),g(null),fetch("/api/processes/definitions/".concat(a.slug,"/settings?project_id=").concat(encodeURIComponent(i),"&include_brand=1")).then(e=>e.json()).then(a=>{var s,r,t,n,l,i,o,d;if(e)return;if(a.error){g(a.error),x(!1);return}u(a.settings),m(a.resolved_brand||null);let h=(null==(s=a.settings)?void 0:s.brand)||c();_({sender_name:h.sender_name||"",cover_image_url:h.cover_image_url||"",cover_copy:{title:(null==(r=h.cover_copy)?void 0:r.title)||"",subtitle:(null==(t=h.cover_copy)?void 0:t.subtitle)||""},accent_hex:h.accent_hex||"",logo_url:h.logo_url||""}),N(JSON.stringify((null==(n=a.settings)?void 0:n.agent_overrides)||{},null,2)),S(JSON.stringify((null==(l=a.settings)?void 0:l.auto_approve_rules)||[],null,2)),P(!!(null==(i=a.settings)?void 0:i.share_link_enabled)),E(Number((null==(o=a.settings)?void 0:o.share_link_default_expiry_days)||14)),J(!!(null==(d=a.settings)?void 0:d.default_for_project)),x(!1)}).catch(a=>{e||(g(String(a)),x(!1))}),()=>{e=!0}},[a.slug,i]);let A=async(e,s)=>{w(s),g(null);try{let s=await fetch("/api/processes/definitions/".concat(a.slug,"/settings"),{method:"PUT",headers:{"content-type":"application/json"},body:JSON.stringify({project_id:i,...e})}),r=await s.json();if(!s.ok)throw Error(r.error||"save_failed");u(r.settings)}catch(e){g(String((null==e?void 0:e.message)||e))}finally{w(null)}},L=(0,t.useMemo)(()=>({accent_hex:b.accent_hex||(null==p?void 0:p.accent_hex)||"#c2452a",sender_name:b.sender_name||(null==p?void 0:p.sender_name)||"Madarx OS",logo_url:b.logo_url||(null==p?void 0:p.logo_url)||null,cover_image_url:b.cover_image_url||null,cover_copy:b.cover_copy,fonts:(null==p?void 0:p.fonts)||[]}),[b,p]),R=(0,t.useMemo)(()=>{let e=L.accent_hex,s=o(L.sender_name),r=o(b.cover_copy.title||a.name),t=o(b.cover_copy.subtitle||"Submit the details below to start."),n=L.cover_image_url?"background-image:linear-gradient(135deg,".concat(e,"cc,#0e0d0ccc),url('").concat(o(L.cover_image_url),"');background-size:cover;background-position:center;"):"background:linear-gradient(135deg,".concat(e,",#0e0d0c);");return"<!DOCTYPE html><html><head><style>body{margin:0;font:13px/1.45 ui-sans-serif,system-ui,sans-serif;background:#f7f4ee;padding:14px;color:#1a1817}.hdr{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#69707a;margin-bottom:8px}.cv{".concat(n,';height:74px;border-radius:12px;margin-bottom:10px}h1{font-size:18px;margin:0 0 4px}p{margin:0;color:#5f5a55;font-size:12px}.ftr{margin-top:10px;color:#69707a;font-size:10.5px}</style></head><body><div class="hdr">').concat(s,' \xb7 Intake</div><div class="cv"></div><h1>').concat(r,"</h1><p>").concat(t,'</p><p class="ftr">Powered by ').concat(s,"</p></body></html>")},[a.name,L,b.cover_copy]);return(0,r.jsx)("div",{className:"wf-drawer-scrim",role:"dialog","aria-label":"Workflow settings",onClick:l,children:(0,r.jsxs)("aside",{className:"wf-drawer",onClick:e=>e.stopPropagation(),children:[(0,r.jsxs)("header",{className:"wf-drawer-head",children:[(0,r.jsxs)("div",{children:[(0,r.jsx)("span",{className:"wf-drawer-kicker",children:"Configure workflow"}),(0,r.jsx)("h3",{children:a.name}),(0,r.jsxs)("small",{children:[a.category||"process"," \xb7 v",a.version]})]}),(0,r.jsx)("button",{type:"button",className:"wf-drawer-close",onClick:l,"aria-label":"Close",children:"\xd7"})]}),v?(0,r.jsx)("p",{className:"wf-drawer-error",children:v}):null,f?(0,r.jsx)("div",{className:"wf-drawer-body",children:(0,r.jsx)("p",{className:"wf-drawer-muted",children:"Loading…"})}):(0,r.jsxs)("div",{className:"wf-drawer-body",children:[(0,r.jsxs)("section",{className:"wf-drawer-section wf-drawer-brand-row",children:[(0,r.jsxs)("header",{className:"wf-drawer-section-head",children:[(0,r.jsx)("h4",{children:"Brand"}),(0,r.jsx)("a",{href:"/settings/brand",target:"_blank",rel:"noreferrer",className:"wf-drawer-link",children:"Edit at /settings/brand ↗"})]}),(0,r.jsx)("p",{className:"wf-drawer-muted",children:"Logo, palette, fonts, and voice inherit from the global brand. You can override the sender name + accent below, but everything else flows through."}),(0,r.jsxs)("div",{className:"wf-brand-chips",children:[(0,r.jsxs)("div",{className:"wf-brand-chip",children:[(0,r.jsx)("span",{children:"Sender"}),(0,r.jsx)("strong",{children:(null==p?void 0:p.company_name)||(null==p?void 0:p.sender_name)||"—"})]}),(0,r.jsxs)("div",{className:"wf-brand-chip",children:[(0,r.jsx)("span",{children:"Accent"}),(0,r.jsxs)("strong",{style:{display:"inline-flex",gap:6,alignItems:"center"},children:[(0,r.jsx)("i",{className:"wf-brand-swatch",style:{background:(null==p?void 0:p.accent_hex)||"#c2452a"}}),(null==p?void 0:p.accent_hex)||"#c2452a"]})]}),(0,r.jsxs)("div",{className:"wf-brand-chip",children:[(0,r.jsx)("span",{children:"Fonts"}),(0,r.jsx)("strong",{children:((null==p?void 0:p.fonts)||[]).slice(0,2).join(" \xb7 ")||"—"})]})]})]}),(0,r.jsxs)("section",{className:"wf-drawer-section",children:[(0,r.jsx)("header",{className:"wf-drawer-section-head",children:(0,r.jsx)("h4",{children:"1 \xb7 Project"})}),(0,r.jsxs)("label",{className:"wf-field",children:[(0,r.jsx)("span",{children:"Project"}),(0,r.jsx)("select",{value:i,onChange:e=>d(e.target.value),children:s.map(e=>(0,r.jsx)("option",{value:e.id,children:e.name||e.slug||e.id},e.id))})]}),(0,r.jsxs)("label",{className:"wf-checkbox",children:[(0,r.jsx)("input",{type:"checkbox",checked:I,onChange:e=>J(e.target.checked)}),(0,r.jsx)("span",{children:"Default process for this project"})]}),(0,r.jsx)("button",{type:"button",className:"wf-btn",disabled:"project"===j,onClick:()=>A({default_for_project:I},"project"),children:"project"===j?"Saving…":"Save"})]}),(0,r.jsxs)("section",{className:"wf-drawer-section",children:[(0,r.jsx)("header",{className:"wf-drawer-section-head",children:(0,r.jsx)("h4",{children:"2 \xb7 Presentation"})}),(0,r.jsx)("p",{className:"wf-drawer-muted",children:"Workflow-specific copy and artwork. The intake form's wrapping inherits from your brand; these fields only override the surface details unique to this workflow."}),(0,r.jsxs)("label",{className:"wf-field",children:[(0,r.jsxs)("span",{children:["Cover image URL ",(0,r.jsx)("em",{className:"wf-optional",children:"optional"})]}),(0,r.jsx)("input",{type:"url",value:b.cover_image_url,onChange:e=>_({...b,cover_image_url:e.target.value}),placeholder:"https://…/cover.jpg"})]}),(0,r.jsxs)("label",{className:"wf-field",children:[(0,r.jsx)("span",{children:"Cover title"}),(0,r.jsx)("input",{type:"text",value:b.cover_copy.title,onChange:e=>_({...b,cover_copy:{...b.cover_copy,title:e.target.value}}),placeholder:"".concat(a.name," — Intake")})]}),(0,r.jsxs)("label",{className:"wf-field",children:[(0,r.jsx)("span",{children:"Cover subtitle"}),(0,r.jsx)("input",{type:"text",value:b.cover_copy.subtitle,onChange:e=>_({...b,cover_copy:{...b.cover_copy,subtitle:e.target.value}}),placeholder:"Submit the details below to start."})]}),(0,r.jsxs)("details",{className:"wf-advanced",children:[(0,r.jsx)("summary",{children:"Override sender name / accent (optional)"}),(0,r.jsxs)("label",{className:"wf-field",children:[(0,r.jsxs)("span",{children:["Sender name override ",(0,r.jsxs)("em",{className:"wf-optional",children:["defaults to ",(null==p?void 0:p.company_name)||"brand"]})]}),(0,r.jsx)("input",{type:"text",value:b.sender_name,onChange:e=>_({...b,sender_name:e.target.value}),placeholder:(null==p?void 0:p.company_name)||""})]}),(0,r.jsxs)("label",{className:"wf-field",children:[(0,r.jsxs)("span",{children:["Accent override ",(0,r.jsxs)("em",{className:"wf-optional",children:["defaults to ",(null==p?void 0:p.accent_hex)||"#c2452a"]})]}),(0,r.jsxs)("div",{className:"wf-accent-row",children:[(0,r.jsx)("input",{type:"color",value:b.accent_hex||(null==p?void 0:p.accent_hex)||"#c2452a",onChange:e=>_({...b,accent_hex:e.target.value})}),(0,r.jsx)("input",{type:"text",value:b.accent_hex,onChange:e=>_({...b,accent_hex:e.target.value}),placeholder:"leave empty to use brand"})]})]}),(0,r.jsxs)("label",{className:"wf-field",children:[(0,r.jsxs)("span",{children:["Logo URL override ",(0,r.jsx)("em",{className:"wf-optional",children:"defaults to brand logo"})]}),(0,r.jsx)("input",{type:"url",value:b.logo_url,onChange:e=>_({...b,logo_url:e.target.value}),placeholder:"https://…/logo.svg"})]})]}),(0,r.jsxs)("div",{className:"wf-preview",children:[(0,r.jsx)("small",{children:"Live preview"}),(0,r.jsx)("iframe",{title:"Brand preview",srcDoc:R,sandbox:"allow-same-origin"})]}),(0,r.jsx)("button",{type:"button",className:"wf-btn",disabled:"presentation"===j,onClick:()=>A({brand:b},"presentation"),children:"presentation"===j?"Saving…":"Save presentation"})]}),(0,r.jsxs)("section",{className:"wf-drawer-section",children:[(0,r.jsx)("header",{className:"wf-drawer-section-head",children:(0,r.jsx)("h4",{children:"3 \xb7 Agents"})}),(0,r.jsxs)("p",{className:"wf-drawer-muted",children:["Per-stage agent template overrides. JSON map: ",(0,r.jsx)("code",{children:"{ stage_slug: { agent_template_slug, prompt_override } }"}),"."]}),(0,r.jsx)("textarea",{rows:6,className:"wf-code",value:y,onChange:e=>N(e.target.value)}),(0,r.jsx)("button",{type:"button",className:"wf-btn",disabled:"agents"===j,onClick:()=>{try{A({agent_overrides:JSON.parse(y)},"agents")}catch(e){g("agents: invalid JSON — ".concat(e.message))}},children:"agents"===j?"Saving…":"Save agent overrides"})]}),(0,r.jsxs)("section",{className:"wf-drawer-section",children:[(0,r.jsx)("header",{className:"wf-drawer-section-head",children:(0,r.jsx)("h4",{children:"4 \xb7 Auto-approval"})}),(0,r.jsxs)("p",{className:"wf-drawer-muted",children:["Declarative rules (same dialect as ",(0,r.jsx)("code",{children:"policy_gate"}),"). Array of ",(0,r.jsx)("code",{children:"{ when, decision }"})," entries."]}),(0,r.jsx)("textarea",{rows:5,className:"wf-code",value:k,onChange:e=>S(e.target.value)}),(0,r.jsx)("button",{type:"button",className:"wf-btn",disabled:"autoapprove"===j,onClick:()=>{try{A({auto_approve_rules:JSON.parse(k)},"autoapprove")}catch(e){g("auto-approve: invalid JSON — ".concat(e.message))}},children:"autoapprove"===j?"Saving…":"Save auto-approval"})]}),(0,r.jsxs)("section",{className:"wf-drawer-section",children:[(0,r.jsx)("header",{className:"wf-drawer-section-head",children:(0,r.jsx)("h4",{children:"5 \xb7 Sharing"})}),(0,r.jsxs)("label",{className:"wf-checkbox",children:[(0,r.jsx)("input",{type:"checkbox",checked:C,onChange:e=>P(e.target.checked)}),(0,r.jsx)("span",{children:"Allow share-link submissions"})]}),(0,r.jsxs)("label",{className:"wf-field",children:[(0,r.jsx)("span",{children:"Default link expiry (days)"}),(0,r.jsx)("input",{type:"number",min:1,max:90,value:O,onChange:e=>E(Number(e.target.value))})]}),(0,r.jsx)("button",{type:"button",className:"wf-btn",disabled:"sharing"===j,onClick:()=>A({share_link_enabled:C,share_link_default_expiry_days:O},"sharing"),children:"sharing"===j?"Saving…":"Save sharing"})]})]})]})})}function o(e){return String(e||"").replace(/[&<>"']/g,e=>({"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"})[e])}function d(e){var a;let{definition:s,projects:c,defaultProjectId:o,usage:d=0}=e,h=(0,l.useRouter)(),[u,p]=(0,t.useState)(!1),[m,f]=(0,t.useState)(!1),[x,v]=(0,t.useState)(null);(0,t.useEffect)(()=>{f(!0)},[]);let[g,j]=(0,t.useState)(null),[w,b]=(0,t.useState)(!1),[_,y]=(0,t.useState)(null),N=o||(null==c||null==(a=c[0])?void 0:a.id)||"personal",k=(0,t.useCallback)(async()=>{y(null),b(!0);try{let e=await fetch("/api/processes/start-and-route",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({definition_slug:s.slug,project_id:N})}),a=await e.json();if(!e.ok)throw Error(a.error||"start_failed");h.push(a.redirect_url||"/workflows/".concat(a.case_id))}catch(e){y(String((null==e?void 0:e.message)||e)),b(!1)}},[s.slug,N,h]),S=(0,t.useCallback)(async()=>{j(null),v(null);try{let e=await fetch("/api/processes/start-and-route",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({definition_slug:s.slug,project_id:N})}),a=await e.json();if(!e.ok)throw Error(a.error||"start_failed");let r=await fetch("/api/processes/".concat(a.case_id,"/share-link"),{method:"POST",headers:{"content-type":"application/json"},body:"{}"}),t=await r.json();if(!r.ok)throw Error(t.error||"mint_failed");v(t.link);try{await navigator.clipboard.writeText(t.link)}catch(e){}}catch(e){j(String((null==e?void 0:e.message)||e))}},[s.slug,N]),C=(s.name||"??").replace(/[^a-zA-Z]/g,"").slice(0,2).toUpperCase()||"??";return(0,r.jsxs)("li",{className:"mkt-card wf-defcard",children:[(0,r.jsxs)("div",{className:"mkt-card-head wf-defcard-top",children:[(0,r.jsx)("div",{className:"wf-defcard-cover","aria-hidden":!0,children:(0,r.jsx)("span",{className:"wf-defcard-initials",children:C})}),(0,r.jsxs)("span",{className:"wf-defcard-version",children:["v",s.version]})]}),(0,r.jsxs)("div",{className:"mkt-card-body wf-defcard-body",children:[(0,r.jsxs)("header",{className:"wf-defcard-head",children:[(0,r.jsxs)("div",{children:[(0,r.jsx)("span",{className:"wf-defcard-kicker",children:s.category||"process"}),(0,r.jsx)("h3",{className:"mkt-card-title",children:s.name})]}),(0,r.jsxs)("span",{className:"wf-defcard-usage",title:"".concat(d," cases started"),children:[d," ",1===d?"case":"cases"]})]}),(0,r.jsx)("p",{className:"mkt-card-desc wf-defcard-desc",children:s.description||"No description."}),_?(0,r.jsx)("p",{className:"wf-defcard-error",children:_}):null,g?(0,r.jsxs)("p",{className:"wf-defcard-error",children:["Share: ",g]}):null,x?(0,r.jsxs)("p",{className:"wf-defcard-share",children:[(0,r.jsx)("span",{children:"Link copied:"}),(0,r.jsx)("a",{href:x,target:"_blank",rel:"noreferrer",children:x})]}):null,(0,r.jsxs)("div",{className:"wf-defcard-actions",children:[(0,r.jsx)("button",{type:"button",className:"wf-defcard-btn wf-defcard-btn--primary",onClick:k,disabled:w,children:w?"Starting…":"Start case"}),(0,r.jsx)("button",{type:"button",className:"wf-defcard-btn",onClick:()=>p(!0),children:"Configure"}),(0,r.jsx)("button",{type:"button",className:"wf-defcard-btn",onClick:S,children:"Share"})]})]}),u&&m?(0,n.createPortal)((0,r.jsx)(i,{definition:s,projects:c,initialProjectId:N,onClose:()=>p(!1)}),document.body):null]})}},77547:(e,a,s)=>{Promise.resolve().then(s.bind(s,10677)),Promise.resolve().then(s.bind(s,53749)),Promise.resolve().then(s.t.bind(s,52619,23))}},e=>{e.O(0,[2619,8441,1255,7358],()=>e(e.s=77547)),_N_E=e.O()}]);
@@ -1 +1 @@
1
- (()=>{"use strict";var e={},t={};function r(o){var n=t[o];if(void 0!==n)return n.exports;var a=t[o]={exports:{}},i=!0;try{e[o].call(a.exports,a,a.exports,r),i=!1}finally{i&&delete t[o]}return a.exports}r.m=e,(()=>{var e=[];r.O=(t,o,n,a)=>{if(o){a=a||0;for(var i=e.length;i>0&&e[i-1][2]>a;i--)e[i]=e[i-1];e[i]=[o,n,a];return}for(var c=1/0,i=0;i<e.length;i++){for(var[o,n,a]=e[i],d=!0,u=0;u<o.length;u++)(!1&a||c>=a)&&Object.keys(r.O).every(e=>r.O[e](o[u]))?o.splice(u--,1):(d=!1,a<c&&(c=a));if(d){e.splice(i--,1);var s=n();void 0!==s&&(t=s)}}return t}})(),r.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return r.d(t,{a:t}),t},(()=>{var e,t=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__;r.t=function(o,n){if(1&n&&(o=this(o)),8&n||"object"==typeof o&&o&&(4&n&&o.__esModule||16&n&&"function"==typeof o.then))return o;var a=Object.create(null);r.r(a);var i={};e=e||[null,t({}),t([]),t(t)];for(var c=2&n&&o;"object"==typeof c&&!~e.indexOf(c);c=t(c))Object.getOwnPropertyNames(c).forEach(e=>i[e]=()=>o[e]);return i.default=()=>o,r.d(a,i),a}})(),r.d=(e,t)=>{for(var o in t)r.o(t,o)&&!r.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:t[o]})},r.f={},r.e=e=>Promise.all(Object.keys(r.f).reduce((t,o)=>(r.f[o](e,t),t),[])),r.u=e=>2769===e?"static/chunks/2769-5b75c7bddf7ca30a.js":4119===e?"static/chunks/4119-3b6adff3c7187ef3.js":930===e?"static/chunks/930-721369985da388ce.js":"static/chunks/"+(5730===e?"44530001":e)+"."+({840:"e6f27edfb8124775",1517:"ebf6fe1a9c310c88",2713:"ffa893e49f7e4183",3168:"ed91d2d25b4aca3f",4797:"c676c6ac0f39449c",5730:"a9ce8b2fb3979725",5938:"9d4468131146b81c",7130:"08b2adb325a87ad8",8217:"0beb0a316c7ad5d8",9863:"cb7415f4a67d7f45",9867:"f985c0e7589f40cf"})[e]+".js",r.miniCssF=e=>{},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{var e={},t="_N_E:";r.l=(o,n,a,i)=>{if(e[o])return void e[o].push(n);if(void 0!==a)for(var c,d,u=document.getElementsByTagName("script"),s=0;s<u.length;s++){var f=u[s];if(f.getAttribute("src")==o||f.getAttribute("data-webpack")==t+a){c=f;break}}c||(d=!0,(c=document.createElement("script")).charset="utf-8",c.timeout=120,r.nc&&c.setAttribute("nonce",r.nc),c.setAttribute("data-webpack",t+a),c.src=r.tu(o)),e[o]=[n];var l=(t,r)=>{c.onerror=c.onload=null,clearTimeout(p);var n=e[o];if(delete e[o],c.parentNode&&c.parentNode.removeChild(c),n&&n.forEach(e=>e(r)),t)return t(r)},p=setTimeout(l.bind(null,void 0,{type:"timeout",target:c}),12e4);c.onerror=l.bind(null,c.onerror),c.onload=l.bind(null,c.onload),d&&document.head.appendChild(c)}})(),r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{var e;r.tt=()=>(void 0===e&&(e={createScriptURL:e=>e},"undefined"!=typeof trustedTypes&&trustedTypes.createPolicy&&(e=trustedTypes.createPolicy("nextjs#bundler",e))),e)})(),r.tu=e=>r.tt().createScriptURL(e),r.p="/_next/",(()=>{var e={8068:0,3045:0,1741:0,1776:0,8422:0};r.f.j=(t,o)=>{var n=r.o(e,t)?e[t]:void 0;if(0!==n)if(n)o.push(n[2]);else if(/^(17(41|76)|3045|8068|8422)$/.test(t))e[t]=0;else{var a=new Promise((r,o)=>n=e[t]=[r,o]);o.push(n[2]=a);var i=r.p+r.u(t),c=Error();r.l(i,o=>{if(r.o(e,t)&&(0!==(n=e[t])&&(e[t]=void 0),n)){var a=o&&("load"===o.type?"missing":o.type),i=o&&o.target&&o.target.src;c.message="Loading chunk "+t+" failed.\n("+a+": "+i+")",c.name="ChunkLoadError",c.type=a,c.request=i,n[1](c)}},"chunk-"+t,t)}},r.O.j=t=>0===e[t];var t=(t,o)=>{var n,a,[i,c,d]=o,u=0;if(i.some(t=>0!==e[t])){for(n in c)r.o(c,n)&&(r.m[n]=c[n]);if(d)var s=d(r)}for(t&&t(o);u<i.length;u++)a=i[u],r.o(e,a)&&e[a]&&e[a][0](),e[a]=0;return r.O(s)},o=self.webpackChunk_N_E=self.webpackChunk_N_E||[];o.forEach(t.bind(null,0)),o.push=t.bind(null,o.push.bind(o))})(),r.nc=void 0})();
1
+ (()=>{"use strict";var e={},t={};function r(o){var n=t[o];if(void 0!==n)return n.exports;var a=t[o]={exports:{}},i=!0;try{e[o].call(a.exports,a,a.exports,r),i=!1}finally{i&&delete t[o]}return a.exports}r.m=e,(()=>{var e=[];r.O=(t,o,n,a)=>{if(o){a=a||0;for(var i=e.length;i>0&&e[i-1][2]>a;i--)e[i]=e[i-1];e[i]=[o,n,a];return}for(var c=1/0,i=0;i<e.length;i++){for(var[o,n,a]=e[i],d=!0,u=0;u<o.length;u++)(!1&a||c>=a)&&Object.keys(r.O).every(e=>r.O[e](o[u]))?o.splice(u--,1):(d=!1,a<c&&(c=a));if(d){e.splice(i--,1);var s=n();void 0!==s&&(t=s)}}return t}})(),r.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return r.d(t,{a:t}),t},(()=>{var e,t=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__;r.t=function(o,n){if(1&n&&(o=this(o)),8&n||"object"==typeof o&&o&&(4&n&&o.__esModule||16&n&&"function"==typeof o.then))return o;var a=Object.create(null);r.r(a);var i={};e=e||[null,t({}),t([]),t(t)];for(var c=2&n&&o;"object"==typeof c&&!~e.indexOf(c);c=t(c))Object.getOwnPropertyNames(c).forEach(e=>i[e]=()=>o[e]);return i.default=()=>o,r.d(a,i),a}})(),r.d=(e,t)=>{for(var o in t)r.o(t,o)&&!r.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:t[o]})},r.f={},r.e=e=>Promise.all(Object.keys(r.f).reduce((t,o)=>(r.f[o](e,t),t),[])),r.u=e=>2769===e?"static/chunks/2769-5b75c7bddf7ca30a.js":4119===e?"static/chunks/4119-cfb6260557a0a3d2.js":930===e?"static/chunks/930-721369985da388ce.js":"static/chunks/"+(5730===e?"44530001":e)+"."+({840:"e6f27edfb8124775",1517:"ebf6fe1a9c310c88",2713:"ffa893e49f7e4183",3168:"ed91d2d25b4aca3f",4797:"c676c6ac0f39449c",5730:"a9ce8b2fb3979725",5938:"9d4468131146b81c",7130:"08b2adb325a87ad8",8217:"0beb0a316c7ad5d8",9863:"cb7415f4a67d7f45",9867:"f985c0e7589f40cf"})[e]+".js",r.miniCssF=e=>{},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{var e={},t="_N_E:";r.l=(o,n,a,i)=>{if(e[o])return void e[o].push(n);if(void 0!==a)for(var c,d,u=document.getElementsByTagName("script"),s=0;s<u.length;s++){var f=u[s];if(f.getAttribute("src")==o||f.getAttribute("data-webpack")==t+a){c=f;break}}c||(d=!0,(c=document.createElement("script")).charset="utf-8",c.timeout=120,r.nc&&c.setAttribute("nonce",r.nc),c.setAttribute("data-webpack",t+a),c.src=r.tu(o)),e[o]=[n];var l=(t,r)=>{c.onerror=c.onload=null,clearTimeout(p);var n=e[o];if(delete e[o],c.parentNode&&c.parentNode.removeChild(c),n&&n.forEach(e=>e(r)),t)return t(r)},p=setTimeout(l.bind(null,void 0,{type:"timeout",target:c}),12e4);c.onerror=l.bind(null,c.onerror),c.onload=l.bind(null,c.onload),d&&document.head.appendChild(c)}})(),r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{var e;r.tt=()=>(void 0===e&&(e={createScriptURL:e=>e},"undefined"!=typeof trustedTypes&&trustedTypes.createPolicy&&(e=trustedTypes.createPolicy("nextjs#bundler",e))),e)})(),r.tu=e=>r.tt().createScriptURL(e),r.p="/_next/",(()=>{var e={8068:0,3045:0,1741:0,8422:0,1776:0};r.f.j=(t,o)=>{var n=r.o(e,t)?e[t]:void 0;if(0!==n)if(n)o.push(n[2]);else if(/^(17(41|76)|3045|8068|8422)$/.test(t))e[t]=0;else{var a=new Promise((r,o)=>n=e[t]=[r,o]);o.push(n[2]=a);var i=r.p+r.u(t),c=Error();r.l(i,o=>{if(r.o(e,t)&&(0!==(n=e[t])&&(e[t]=void 0),n)){var a=o&&("load"===o.type?"missing":o.type),i=o&&o.target&&o.target.src;c.message="Loading chunk "+t+" failed.\n("+a+": "+i+")",c.name="ChunkLoadError",c.type=a,c.request=i,n[1](c)}},"chunk-"+t,t)}},r.O.j=t=>0===e[t];var t=(t,o)=>{var n,a,[i,c,d]=o,u=0;if(i.some(t=>0!==e[t])){for(n in c)r.o(c,n)&&(r.m[n]=c[n]);if(d)var s=d(r)}for(t&&t(o);u<i.length;u++)a=i[u],r.o(e,a)&&e[a]&&e[a][0](),e[a]=0;return r.O(s)},o=self.webpackChunk_N_E=self.webpackChunk_N_E||[];o.forEach(t.bind(null,0)),o.push=t.bind(null,o.push.bind(o))})(),r.nc=void 0})();