madarx 2.17.0 → 2.18.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 (511) hide show
  1. package/.next/standalone/.next/BUILD_ID +1 -1
  2. package/.next/standalone/.next/app-build-manifest.json +536 -536
  3. package/.next/standalone/.next/app-path-routes-manifest.json +68 -68
  4. package/.next/standalone/.next/build-manifest.json +5 -5
  5. package/.next/standalone/.next/prerender-manifest.json +15 -15
  6. package/.next/standalone/.next/react-loadable-manifest.json +1 -1
  7. package/.next/standalone/.next/server/app/_not-found/page.js +1 -1
  8. package/.next/standalone/.next/server/app/_not-found/page.js.nft.json +1 -1
  9. package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  10. package/.next/standalone/.next/server/app/_not-found.html +2 -1
  11. package/.next/standalone/.next/server/app/_not-found.rsc +4 -4
  12. package/.next/standalone/.next/server/app/activity/page.js +1 -1
  13. package/.next/standalone/.next/server/app/activity/page.js.nft.json +1 -1
  14. package/.next/standalone/.next/server/app/activity/page_client-reference-manifest.js +1 -1
  15. package/.next/standalone/.next/server/app/admin/page.js +4 -4
  16. package/.next/standalone/.next/server/app/admin/page.js.nft.json +1 -1
  17. package/.next/standalone/.next/server/app/admin/page_client-reference-manifest.js +1 -1
  18. package/.next/standalone/.next/server/app/agents/[id]/page.js +4 -4
  19. package/.next/standalone/.next/server/app/agents/[id]/page.js.nft.json +1 -1
  20. package/.next/standalone/.next/server/app/agents/[id]/page_client-reference-manifest.js +1 -1
  21. package/.next/standalone/.next/server/app/agents/page.js +1 -1
  22. package/.next/standalone/.next/server/app/agents/page.js.nft.json +1 -1
  23. package/.next/standalone/.next/server/app/agents/page_client-reference-manifest.js +1 -1
  24. package/.next/standalone/.next/server/app/api/activity/route_client-reference-manifest.js +1 -1
  25. package/.next/standalone/.next/server/app/api/admin/audit-export/route_client-reference-manifest.js +1 -1
  26. package/.next/standalone/.next/server/app/api/admin/share-links/route_client-reference-manifest.js +1 -1
  27. package/.next/standalone/.next/server/app/api/agent-memory/route_client-reference-manifest.js +1 -1
  28. package/.next/standalone/.next/server/app/api/agent-runs/[id]/cancel/route_client-reference-manifest.js +1 -1
  29. package/.next/standalone/.next/server/app/api/agent-runs/[id]/events/route_client-reference-manifest.js +1 -1
  30. package/.next/standalone/.next/server/app/api/agent-runs/[id]/log/route_client-reference-manifest.js +1 -1
  31. package/.next/standalone/.next/server/app/api/agent-runs/[id]/route_client-reference-manifest.js +1 -1
  32. package/.next/standalone/.next/server/app/api/agent-runs/route_client-reference-manifest.js +1 -1
  33. package/.next/standalone/.next/server/app/api/agents/[id]/active-run/route_client-reference-manifest.js +1 -1
  34. package/.next/standalone/.next/server/app/api/agents/[id]/chain/route_client-reference-manifest.js +1 -1
  35. package/.next/standalone/.next/server/app/api/agents/[id]/memory/route_client-reference-manifest.js +1 -1
  36. package/.next/standalone/.next/server/app/api/agents/[id]/reports/route_client-reference-manifest.js +1 -1
  37. package/.next/standalone/.next/server/app/api/agents/[id]/run/route_client-reference-manifest.js +1 -1
  38. package/.next/standalone/.next/server/app/api/agents/[id]/skills/route_client-reference-manifest.js +1 -1
  39. package/.next/standalone/.next/server/app/api/agents/create/route_client-reference-manifest.js +1 -1
  40. package/.next/standalone/.next/server/app/api/agents/ops/route_client-reference-manifest.js +1 -1
  41. package/.next/standalone/.next/server/app/api/approvals/[id]/route_client-reference-manifest.js +1 -1
  42. package/.next/standalone/.next/server/app/api/approvals/route_client-reference-manifest.js +1 -1
  43. package/.next/standalone/.next/server/app/api/artifacts/[id]/acl/route_client-reference-manifest.js +1 -1
  44. package/.next/standalone/.next/server/app/api/artifacts/[id]/protect/route_client-reference-manifest.js +1 -1
  45. package/.next/standalone/.next/server/app/api/artifacts/[id]/raw/route_client-reference-manifest.js +1 -1
  46. package/.next/standalone/.next/server/app/api/artifacts/[id]/route_client-reference-manifest.js +1 -1
  47. package/.next/standalone/.next/server/app/api/artifacts/[id]/share-link/[linkId]/route_client-reference-manifest.js +1 -1
  48. package/.next/standalone/.next/server/app/api/artifacts/[id]/share-link/route_client-reference-manifest.js +1 -1
  49. package/.next/standalone/.next/server/app/api/artifacts/upload/route_client-reference-manifest.js +1 -1
  50. package/.next/standalone/.next/server/app/api/audit/list/route_client-reference-manifest.js +1 -1
  51. package/.next/standalone/.next/server/app/api/audit/search/route_client-reference-manifest.js +1 -1
  52. package/.next/standalone/.next/server/app/api/auth/callback/route_client-reference-manifest.js +1 -1
  53. package/.next/standalone/.next/server/app/api/auth/config/route_client-reference-manifest.js +1 -1
  54. package/.next/standalone/.next/server/app/api/auth/join-bootstrap/route_client-reference-manifest.js +1 -1
  55. package/.next/standalone/.next/server/app/api/auth/session/route_client-reference-manifest.js +1 -1
  56. package/.next/standalone/.next/server/app/api/brand/route_client-reference-manifest.js +1 -1
  57. package/.next/standalone/.next/server/app/api/brand/share/route_client-reference-manifest.js +1 -1
  58. package/.next/standalone/.next/server/app/api/chat/sessions/[id]/route_client-reference-manifest.js +1 -1
  59. package/.next/standalone/.next/server/app/api/chat/sessions/route_client-reference-manifest.js +1 -1
  60. package/.next/standalone/.next/server/app/api/config/env/route.js +1 -1
  61. package/.next/standalone/.next/server/app/api/config/env/route_client-reference-manifest.js +1 -1
  62. package/.next/standalone/.next/server/app/api/config/route_client-reference-manifest.js +1 -1
  63. package/.next/standalone/.next/server/app/api/connections/[service]/route_client-reference-manifest.js +1 -1
  64. package/.next/standalone/.next/server/app/api/connections/[service]/verify/route.js +1 -1
  65. package/.next/standalone/.next/server/app/api/connections/[service]/verify/route_client-reference-manifest.js +1 -1
  66. package/.next/standalone/.next/server/app/api/connections/route_client-reference-manifest.js +1 -1
  67. package/.next/standalone/.next/server/app/api/cron/tick/route_client-reference-manifest.js +1 -1
  68. package/.next/standalone/.next/server/app/api/dashboard/spaces/[id]/move/route_client-reference-manifest.js +1 -1
  69. package/.next/standalone/.next/server/app/api/dashboard/spaces/[id]/route_client-reference-manifest.js +1 -1
  70. package/.next/standalone/.next/server/app/api/dashboard/spaces/[id]/share-link/[linkId]/route_client-reference-manifest.js +1 -1
  71. package/.next/standalone/.next/server/app/api/dashboard/spaces/[id]/share-link/route_client-reference-manifest.js +1 -1
  72. package/.next/standalone/.next/server/app/api/dashboard/spaces/import/route_client-reference-manifest.js +1 -1
  73. package/.next/standalone/.next/server/app/api/dashboard/spaces/route_client-reference-manifest.js +1 -1
  74. package/.next/standalone/.next/server/app/api/disk/files/[id]/blob/route_client-reference-manifest.js +1 -1
  75. package/.next/standalone/.next/server/app/api/disk/files/[id]/route_client-reference-manifest.js +1 -1
  76. package/.next/standalone/.next/server/app/api/disk/files/[id]/transcribe/route_client-reference-manifest.js +1 -1
  77. package/.next/standalone/.next/server/app/api/disk/files/route_client-reference-manifest.js +1 -1
  78. package/.next/standalone/.next/server/app/api/disk/folders/route_client-reference-manifest.js +1 -1
  79. package/.next/standalone/.next/server/app/api/events/since/[cursor]/route_client-reference-manifest.js +1 -1
  80. package/.next/standalone/.next/server/app/api/events/stream/route_client-reference-manifest.js +1 -1
  81. package/.next/standalone/.next/server/app/api/fs/create-folder/route_client-reference-manifest.js +1 -1
  82. package/.next/standalone/.next/server/app/api/fs/pick-folder/route.js +2 -2
  83. package/.next/standalone/.next/server/app/api/fs/pick-folder/route_client-reference-manifest.js +1 -1
  84. package/.next/standalone/.next/server/app/api/hail/engagements/[id]/blueprint/route_client-reference-manifest.js +1 -1
  85. package/.next/standalone/.next/server/app/api/hail/engagements/[id]/diagnostic/route_client-reference-manifest.js +1 -1
  86. package/.next/standalone/.next/server/app/api/hail/engagements/[id]/governance/route_client-reference-manifest.js +1 -1
  87. package/.next/standalone/.next/server/app/api/hail/engagements/[id]/interview/route_client-reference-manifest.js +1 -1
  88. package/.next/standalone/.next/server/app/api/hail/engagements/[id]/pilot/route_client-reference-manifest.js +1 -1
  89. package/.next/standalone/.next/server/app/api/hail/engagements/[id]/quarterly/route_client-reference-manifest.js +1 -1
  90. package/.next/standalone/.next/server/app/api/hail/engagements/[id]/route_client-reference-manifest.js +1 -1
  91. package/.next/standalone/.next/server/app/api/hail/engagements/[id]/setup-package/route_client-reference-manifest.js +1 -1
  92. package/.next/standalone/.next/server/app/api/hail/engagements/route_client-reference-manifest.js +1 -1
  93. package/.next/standalone/.next/server/app/api/hail/interviews/[id]/responses/route_client-reference-manifest.js +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_client-reference-manifest.js +1 -1
  96. package/.next/standalone/.next/server/app/api/hail/setup-packages/validate/route_client-reference-manifest.js +1 -1
  97. package/.next/standalone/.next/server/app/api/heartbeat/tick/route_client-reference-manifest.js +1 -1
  98. package/.next/standalone/.next/server/app/api/heartbeat/worker/route_client-reference-manifest.js +1 -1
  99. package/.next/standalone/.next/server/app/api/help/route_client-reference-manifest.js +1 -1
  100. package/.next/standalone/.next/server/app/api/hermes/jobs/[id]/events/route_client-reference-manifest.js +1 -1
  101. package/.next/standalone/.next/server/app/api/hermes/jobs/[id]/route_client-reference-manifest.js +1 -1
  102. package/.next/standalone/.next/server/app/api/hermes/jobs/route_client-reference-manifest.js +1 -1
  103. package/.next/standalone/.next/server/app/api/integrations/google/callback/route_client-reference-manifest.js +1 -1
  104. package/.next/standalone/.next/server/app/api/integrations/google/oauth/route_client-reference-manifest.js +1 -1
  105. package/.next/standalone/.next/server/app/api/marketplace/[id]/route_client-reference-manifest.js +1 -1
  106. package/.next/standalone/.next/server/app/api/marketplace/open-design/route_client-reference-manifest.js +1 -1
  107. package/.next/standalone/.next/server/app/api/marketplace/route_client-reference-manifest.js +1 -1
  108. package/.next/standalone/.next/server/app/api/mines/import-roots/route_client-reference-manifest.js +1 -1
  109. package/.next/standalone/.next/server/app/api/mines/portfolio/route_client-reference-manifest.js +1 -1
  110. package/.next/standalone/.next/server/app/api/mines/projects/[id]/chunks/route_client-reference-manifest.js +1 -1
  111. package/.next/standalone/.next/server/app/api/mines/projects/[id]/diligence/route_client-reference-manifest.js +1 -1
  112. package/.next/standalone/.next/server/app/api/mines/projects/[id]/import/route_client-reference-manifest.js +1 -1
  113. package/.next/standalone/.next/server/app/api/mines/projects/[id]/publish/route_client-reference-manifest.js +1 -1
  114. package/.next/standalone/.next/server/app/api/mines/projects/route_client-reference-manifest.js +1 -1
  115. package/.next/standalone/.next/server/app/api/missions/route_client-reference-manifest.js +1 -1
  116. package/.next/standalone/.next/server/app/api/models/route_client-reference-manifest.js +1 -1
  117. package/.next/standalone/.next/server/app/api/onboarding/blueprint/route_client-reference-manifest.js +1 -1
  118. package/.next/standalone/.next/server/app/api/onboarding/launch/route_client-reference-manifest.js +1 -1
  119. package/.next/standalone/.next/server/app/api/orchestrator/command/route_client-reference-manifest.js +1 -1
  120. package/.next/standalone/.next/server/app/api/orchestrator/stream/route.js +13 -13
  121. package/.next/standalone/.next/server/app/api/orchestrator/stream/route_client-reference-manifest.js +1 -1
  122. package/.next/standalone/.next/server/app/api/orchestrator/upload/route_client-reference-manifest.js +1 -1
  123. package/.next/standalone/.next/server/app/api/org/route_client-reference-manifest.js +1 -1
  124. package/.next/standalone/.next/server/app/api/orgs/[id]/invites/[inviteId]/route_client-reference-manifest.js +1 -1
  125. package/.next/standalone/.next/server/app/api/orgs/[id]/invites/route_client-reference-manifest.js +1 -1
  126. package/.next/standalone/.next/server/app/api/orgs/[id]/members/[userId]/role/route_client-reference-manifest.js +1 -1
  127. package/.next/standalone/.next/server/app/api/orgs/[id]/members/[userId]/route_client-reference-manifest.js +1 -1
  128. package/.next/standalone/.next/server/app/api/orgs/[id]/members/route_client-reference-manifest.js +1 -1
  129. package/.next/standalone/.next/server/app/api/orgs/[id]/route_client-reference-manifest.js +1 -1
  130. package/.next/standalone/.next/server/app/api/orgs/invites/pending/route_client-reference-manifest.js +1 -1
  131. package/.next/standalone/.next/server/app/api/orgs/join/route_client-reference-manifest.js +1 -1
  132. package/.next/standalone/.next/server/app/api/orgs/join-complete/route_client-reference-manifest.js +1 -1
  133. package/.next/standalone/.next/server/app/api/orgs/route_client-reference-manifest.js +1 -1
  134. package/.next/standalone/.next/server/app/api/printing-press/clis/route_client-reference-manifest.js +1 -1
  135. package/.next/standalone/.next/server/app/api/printing-press/install/route_client-reference-manifest.js +1 -1
  136. package/.next/standalone/.next/server/app/api/printing-press/security-mode/route_client-reference-manifest.js +1 -1
  137. package/.next/standalone/.next/server/app/api/privacy/config/route_client-reference-manifest.js +1 -1
  138. package/.next/standalone/.next/server/app/api/privacy/verify/route_client-reference-manifest.js +1 -1
  139. package/.next/standalone/.next/server/app/api/processes/[id]/route_client-reference-manifest.js +1 -1
  140. package/.next/standalone/.next/server/app/api/processes/[id]/share-link/route_client-reference-manifest.js +1 -1
  141. package/.next/standalone/.next/server/app/api/processes/[id]/stages/[stageId]/override/route_client-reference-manifest.js +1 -1
  142. package/.next/standalone/.next/server/app/api/processes/[id]/stages/[stageId]/retry/route_client-reference-manifest.js +1 -1
  143. package/.next/standalone/.next/server/app/api/processes/[id]/stages/[stageId]/submit/route_client-reference-manifest.js +1 -1
  144. package/.next/standalone/.next/server/app/api/processes/definitions/[slug]/route_client-reference-manifest.js +1 -1
  145. package/.next/standalone/.next/server/app/api/processes/definitions/[slug]/settings/route_client-reference-manifest.js +1 -1
  146. package/.next/standalone/.next/server/app/api/processes/definitions/route_client-reference-manifest.js +1 -1
  147. package/.next/standalone/.next/server/app/api/processes/definitions/validate/route_client-reference-manifest.js +1 -1
  148. package/.next/standalone/.next/server/app/api/processes/route_client-reference-manifest.js +1 -1
  149. package/.next/standalone/.next/server/app/api/processes/start-and-route/route_client-reference-manifest.js +1 -1
  150. package/.next/standalone/.next/server/app/api/projects/[slug]/library/route_client-reference-manifest.js +1 -1
  151. package/.next/standalone/.next/server/app/api/projects/[slug]/route_client-reference-manifest.js +1 -1
  152. package/.next/standalone/.next/server/app/api/projects/route_client-reference-manifest.js +1 -1
  153. package/.next/standalone/.next/server/app/api/runs/approve-claude-run/route_client-reference-manifest.js +1 -1
  154. package/.next/standalone/.next/server/app/api/runs/claude-code-dry-run/route_client-reference-manifest.js +1 -1
  155. package/.next/standalone/.next/server/app/api/runs/competitor-report/route_client-reference-manifest.js +1 -1
  156. package/.next/standalone/.next/server/app/api/runs/engine-ping/route_client-reference-manifest.js +1 -1
  157. package/.next/standalone/.next/server/app/api/runs/marketing-plan/route_client-reference-manifest.js +1 -1
  158. package/.next/standalone/.next/server/app/api/schedules/upsert/route_client-reference-manifest.js +1 -1
  159. package/.next/standalone/.next/server/app/api/secrets/[name]/route_client-reference-manifest.js +1 -1
  160. package/.next/standalone/.next/server/app/api/secrets/route_client-reference-manifest.js +1 -1
  161. package/.next/standalone/.next/server/app/api/settings/trust-mode/route_client-reference-manifest.js +1 -1
  162. package/.next/standalone/.next/server/app/api/share/[token]/otp/route_client-reference-manifest.js +1 -1
  163. package/.next/standalone/.next/server/app/api/share/[token]/route_client-reference-manifest.js +1 -1
  164. package/.next/standalone/.next/server/app/api/share/[token]/verify/route_client-reference-manifest.js +1 -1
  165. package/.next/standalone/.next/server/app/api/share/space/[token]/otp/route_client-reference-manifest.js +1 -1
  166. package/.next/standalone/.next/server/app/api/share/space/[token]/route_client-reference-manifest.js +1 -1
  167. package/.next/standalone/.next/server/app/api/share/space/[token]/verify/route_client-reference-manifest.js +1 -1
  168. package/.next/standalone/.next/server/app/api/shared/spaces/[id]/acl/route_client-reference-manifest.js +1 -1
  169. package/.next/standalone/.next/server/app/api/shared/spaces/publish/route_client-reference-manifest.js +1 -1
  170. package/.next/standalone/.next/server/app/api/shared/spaces/route_client-reference-manifest.js +1 -1
  171. package/.next/standalone/.next/server/app/api/shared/spaces/status/route_client-reference-manifest.js +1 -1
  172. package/.next/standalone/.next/server/app/api/shared/spaces/unpublish/route_client-reference-manifest.js +1 -1
  173. package/.next/standalone/.next/server/app/api/state/route_client-reference-manifest.js +1 -1
  174. package/.next/standalone/.next/server/app/api/system/update/route_client-reference-manifest.js +1 -1
  175. package/.next/standalone/.next/server/app/api/tasks/[id]/active-run/route_client-reference-manifest.js +1 -1
  176. package/.next/standalone/.next/server/app/api/tasks/[id]/attachments/route_client-reference-manifest.js +1 -1
  177. package/.next/standalone/.next/server/app/api/tasks/[id]/checklist/[itemId]/route_client-reference-manifest.js +1 -1
  178. package/.next/standalone/.next/server/app/api/tasks/[id]/checklist/route_client-reference-manifest.js +1 -1
  179. package/.next/standalone/.next/server/app/api/tasks/[id]/checkout/route_client-reference-manifest.js +1 -1
  180. package/.next/standalone/.next/server/app/api/tasks/[id]/children/route_client-reference-manifest.js +1 -1
  181. package/.next/standalone/.next/server/app/api/tasks/[id]/comments/route_client-reference-manifest.js +1 -1
  182. package/.next/standalone/.next/server/app/api/tasks/[id]/events/route_client-reference-manifest.js +1 -1
  183. package/.next/standalone/.next/server/app/api/tasks/[id]/live-runs/route_client-reference-manifest.js +1 -1
  184. package/.next/standalone/.next/server/app/api/tasks/[id]/release/route_client-reference-manifest.js +1 -1
  185. package/.next/standalone/.next/server/app/api/tasks/[id]/route_client-reference-manifest.js +1 -1
  186. package/.next/standalone/.next/server/app/api/tasks/route_client-reference-manifest.js +1 -1
  187. package/.next/standalone/.next/server/app/api/tool-allowlists/[id]/route_client-reference-manifest.js +1 -1
  188. package/.next/standalone/.next/server/app/api/tool-allowlists/route_client-reference-manifest.js +1 -1
  189. package/.next/standalone/.next/server/app/api/tool-egress/route_client-reference-manifest.js +1 -1
  190. package/.next/standalone/.next/server/app/api/tools/[name]/approve/route_client-reference-manifest.js +1 -1
  191. package/.next/standalone/.next/server/app/api/tools/[name]/route_client-reference-manifest.js +1 -1
  192. package/.next/standalone/.next/server/app/api/tools/route_client-reference-manifest.js +1 -1
  193. package/.next/standalone/.next/server/app/api/transcripts/route_client-reference-manifest.js +1 -1
  194. package/.next/standalone/.next/server/app/api/voice/providers/route_client-reference-manifest.js +1 -1
  195. package/.next/standalone/.next/server/app/api/voice/realtime/context/route_client-reference-manifest.js +1 -1
  196. package/.next/standalone/.next/server/app/api/voice/realtime/session/route.js +2 -2
  197. package/.next/standalone/.next/server/app/api/voice/realtime/session/route_client-reference-manifest.js +1 -1
  198. package/.next/standalone/.next/server/app/api/voice/realtime/tool-result/route.js +2 -2
  199. package/.next/standalone/.next/server/app/api/voice/realtime/tool-result/route_client-reference-manifest.js +1 -1
  200. package/.next/standalone/.next/server/app/api/voice/realtime/tools/route.js +1 -1
  201. package/.next/standalone/.next/server/app/api/voice/realtime/tools/route_client-reference-manifest.js +1 -1
  202. package/.next/standalone/.next/server/app/api/voice/tts/route_client-reference-manifest.js +1 -1
  203. package/.next/standalone/.next/server/app/api/whatsapp/allowlist/route_client-reference-manifest.js +1 -1
  204. package/.next/standalone/.next/server/app/api/whatsapp/disconnect/route_client-reference-manifest.js +1 -1
  205. package/.next/standalone/.next/server/app/api/whatsapp/messages/route_client-reference-manifest.js +1 -1
  206. package/.next/standalone/.next/server/app/api/whatsapp/qr/route_client-reference-manifest.js +1 -1
  207. package/.next/standalone/.next/server/app/api/whatsapp/send/route_client-reference-manifest.js +1 -1
  208. package/.next/standalone/.next/server/app/api/whatsapp/status/route_client-reference-manifest.js +1 -1
  209. package/.next/standalone/.next/server/app/approvals/page.js +2 -2
  210. package/.next/standalone/.next/server/app/approvals/page.js.nft.json +1 -1
  211. package/.next/standalone/.next/server/app/approvals/page_client-reference-manifest.js +1 -1
  212. package/.next/standalone/.next/server/app/architecture/page.js +1 -1
  213. package/.next/standalone/.next/server/app/architecture/page.js.nft.json +1 -1
  214. package/.next/standalone/.next/server/app/architecture/page_client-reference-manifest.js +1 -1
  215. package/.next/standalone/.next/server/app/architecture.html +2 -2
  216. package/.next/standalone/.next/server/app/architecture.rsc +4 -4
  217. package/.next/standalone/.next/server/app/audit/live/page.js +1 -1
  218. package/.next/standalone/.next/server/app/audit/live/page.js.nft.json +1 -1
  219. package/.next/standalone/.next/server/app/audit/live/page_client-reference-manifest.js +1 -1
  220. package/.next/standalone/.next/server/app/audit/page.js +1 -1
  221. package/.next/standalone/.next/server/app/audit/page.js.nft.json +1 -1
  222. package/.next/standalone/.next/server/app/audit/page_client-reference-manifest.js +1 -1
  223. package/.next/standalone/.next/server/app/brand/page.js +1 -1
  224. package/.next/standalone/.next/server/app/brand/page.js.nft.json +1 -1
  225. package/.next/standalone/.next/server/app/brand/page_client-reference-manifest.js +1 -1
  226. package/.next/standalone/.next/server/app/brand.html +2 -1
  227. package/.next/standalone/.next/server/app/brand.rsc +4 -4
  228. package/.next/standalone/.next/server/app/disk/page.js +1 -1
  229. package/.next/standalone/.next/server/app/disk/page.js.nft.json +1 -1
  230. package/.next/standalone/.next/server/app/disk/page_client-reference-manifest.js +1 -1
  231. package/.next/standalone/.next/server/app/federated-ai/page.js +1 -1
  232. package/.next/standalone/.next/server/app/federated-ai/page.js.nft.json +1 -1
  233. package/.next/standalone/.next/server/app/federated-ai/page_client-reference-manifest.js +1 -1
  234. package/.next/standalone/.next/server/app/federated-ai.html +2 -2
  235. package/.next/standalone/.next/server/app/federated-ai.rsc +4 -4
  236. package/.next/standalone/.next/server/app/hail/[id]/governance/page.js +1 -1
  237. package/.next/standalone/.next/server/app/hail/[id]/governance/page.js.nft.json +1 -1
  238. package/.next/standalone/.next/server/app/hail/[id]/governance/page_client-reference-manifest.js +1 -1
  239. package/.next/standalone/.next/server/app/hail/[id]/interview/page.js +1 -1
  240. package/.next/standalone/.next/server/app/hail/[id]/interview/page.js.nft.json +1 -1
  241. package/.next/standalone/.next/server/app/hail/[id]/interview/page_client-reference-manifest.js +1 -1
  242. package/.next/standalone/.next/server/app/hail/[id]/page.js +1 -1
  243. package/.next/standalone/.next/server/app/hail/[id]/page.js.nft.json +1 -1
  244. package/.next/standalone/.next/server/app/hail/[id]/page_client-reference-manifest.js +1 -1
  245. package/.next/standalone/.next/server/app/hail/[id]/setup/page.js +1 -1
  246. package/.next/standalone/.next/server/app/hail/[id]/setup/page.js.nft.json +1 -1
  247. package/.next/standalone/.next/server/app/hail/[id]/setup/page_client-reference-manifest.js +1 -1
  248. package/.next/standalone/.next/server/app/hail/page.js +2 -2
  249. package/.next/standalone/.next/server/app/hail/page.js.nft.json +1 -1
  250. package/.next/standalone/.next/server/app/hail/page_client-reference-manifest.js +1 -1
  251. package/.next/standalone/.next/server/app/help/[slug]/page.js +1 -1
  252. package/.next/standalone/.next/server/app/help/[slug]/page.js.nft.json +1 -1
  253. package/.next/standalone/.next/server/app/help/[slug]/page_client-reference-manifest.js +1 -1
  254. package/.next/standalone/.next/server/app/help/page.js +1 -1
  255. package/.next/standalone/.next/server/app/help/page.js.nft.json +1 -1
  256. package/.next/standalone/.next/server/app/help/page_client-reference-manifest.js +1 -1
  257. package/.next/standalone/.next/server/app/index.html +2 -2
  258. package/.next/standalone/.next/server/app/index.rsc +5 -5
  259. package/.next/standalone/.next/server/app/join/page.js +1 -1
  260. package/.next/standalone/.next/server/app/join/page.js.nft.json +1 -1
  261. package/.next/standalone/.next/server/app/join/page_client-reference-manifest.js +1 -1
  262. package/.next/standalone/.next/server/app/join.html +1 -1
  263. package/.next/standalone/.next/server/app/join.rsc +4 -4
  264. package/.next/standalone/.next/server/app/login/page.js +1 -1
  265. package/.next/standalone/.next/server/app/login/page.js.nft.json +1 -1
  266. package/.next/standalone/.next/server/app/login/page_client-reference-manifest.js +1 -1
  267. package/.next/standalone/.next/server/app/marketplace/page.js +4 -4
  268. package/.next/standalone/.next/server/app/marketplace/page.js.nft.json +1 -1
  269. package/.next/standalone/.next/server/app/marketplace/page_client-reference-manifest.js +1 -1
  270. package/.next/standalone/.next/server/app/mines/[projectId]/page.js +1 -1
  271. package/.next/standalone/.next/server/app/mines/[projectId]/page.js.nft.json +1 -1
  272. package/.next/standalone/.next/server/app/mines/[projectId]/page_client-reference-manifest.js +1 -1
  273. package/.next/standalone/.next/server/app/mines/[projectId]/results/page.js +1 -1
  274. package/.next/standalone/.next/server/app/mines/[projectId]/results/page.js.nft.json +1 -1
  275. package/.next/standalone/.next/server/app/mines/[projectId]/results/page_client-reference-manifest.js +1 -1
  276. package/.next/standalone/.next/server/app/mines/page.js +1 -1
  277. package/.next/standalone/.next/server/app/mines/page.js.nft.json +1 -1
  278. package/.next/standalone/.next/server/app/mines/page_client-reference-manifest.js +1 -1
  279. package/.next/standalone/.next/server/app/missions/page.js +2 -2
  280. package/.next/standalone/.next/server/app/missions/page.js.nft.json +1 -1
  281. package/.next/standalone/.next/server/app/missions/page_client-reference-manifest.js +1 -1
  282. package/.next/standalone/.next/server/app/onboarding/org/page.js +1 -1
  283. package/.next/standalone/.next/server/app/onboarding/org/page.js.nft.json +1 -1
  284. package/.next/standalone/.next/server/app/onboarding/org/page_client-reference-manifest.js +1 -1
  285. package/.next/standalone/.next/server/app/onboarding/page.js +1 -1
  286. package/.next/standalone/.next/server/app/onboarding/page.js.nft.json +1 -1
  287. package/.next/standalone/.next/server/app/onboarding/page_client-reference-manifest.js +1 -1
  288. package/.next/standalone/.next/server/app/onboarding.html +2 -2
  289. package/.next/standalone/.next/server/app/onboarding.rsc +4 -4
  290. package/.next/standalone/.next/server/app/org/page.js +1 -1
  291. package/.next/standalone/.next/server/app/org/page.js.nft.json +1 -1
  292. package/.next/standalone/.next/server/app/org/page_client-reference-manifest.js +1 -1
  293. package/.next/standalone/.next/server/app/page.js +5 -5
  294. package/.next/standalone/.next/server/app/page.js.nft.json +1 -1
  295. package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
  296. package/.next/standalone/.next/server/app/projects/[slug]/log/page.js +1 -1
  297. package/.next/standalone/.next/server/app/projects/[slug]/log/page.js.nft.json +1 -1
  298. package/.next/standalone/.next/server/app/projects/[slug]/log/page_client-reference-manifest.js +1 -1
  299. package/.next/standalone/.next/server/app/projects/[slug]/page.js +1 -1
  300. package/.next/standalone/.next/server/app/projects/[slug]/page.js.nft.json +1 -1
  301. package/.next/standalone/.next/server/app/projects/[slug]/page_client-reference-manifest.js +1 -1
  302. package/.next/standalone/.next/server/app/projects/new/page.js +3 -3
  303. package/.next/standalone/.next/server/app/projects/new/page.js.nft.json +1 -1
  304. package/.next/standalone/.next/server/app/projects/new/page_client-reference-manifest.js +1 -1
  305. package/.next/standalone/.next/server/app/projects/new.html +2 -2
  306. package/.next/standalone/.next/server/app/projects/new.rsc +5 -5
  307. package/.next/standalone/.next/server/app/projects/page.js +34 -24
  308. package/.next/standalone/.next/server/app/projects/page.js.nft.json +1 -1
  309. package/.next/standalone/.next/server/app/projects/page_client-reference-manifest.js +1 -1
  310. package/.next/standalone/.next/server/app/reports/[file]/route_client-reference-manifest.js +1 -1
  311. package/.next/standalone/.next/server/app/reports/page.js +1 -1
  312. package/.next/standalone/.next/server/app/reports/page.js.nft.json +1 -1
  313. package/.next/standalone/.next/server/app/reports/page_client-reference-manifest.js +1 -1
  314. package/.next/standalone/.next/server/app/runtime/page.js +1 -1
  315. package/.next/standalone/.next/server/app/runtime/page.js.nft.json +1 -1
  316. package/.next/standalone/.next/server/app/runtime/page_client-reference-manifest.js +1 -1
  317. package/.next/standalone/.next/server/app/schedules/page.js +2 -2
  318. package/.next/standalone/.next/server/app/schedules/page.js.nft.json +1 -1
  319. package/.next/standalone/.next/server/app/schedules/page_client-reference-manifest.js +1 -1
  320. package/.next/standalone/.next/server/app/settings/account/page.js +1 -1
  321. package/.next/standalone/.next/server/app/settings/account/page.js.nft.json +1 -1
  322. package/.next/standalone/.next/server/app/settings/account/page_client-reference-manifest.js +1 -1
  323. package/.next/standalone/.next/server/app/settings/advanced/page.js +1 -1
  324. package/.next/standalone/.next/server/app/settings/advanced/page.js.nft.json +1 -1
  325. package/.next/standalone/.next/server/app/settings/advanced/page_client-reference-manifest.js +1 -1
  326. package/.next/standalone/.next/server/app/settings/appearance/page.js +1 -1
  327. package/.next/standalone/.next/server/app/settings/appearance/page.js.nft.json +1 -1
  328. package/.next/standalone/.next/server/app/settings/appearance/page_client-reference-manifest.js +1 -1
  329. package/.next/standalone/.next/server/app/settings/brand/page.js +1 -1
  330. package/.next/standalone/.next/server/app/settings/brand/page.js.nft.json +1 -1
  331. package/.next/standalone/.next/server/app/settings/brand/page_client-reference-manifest.js +1 -1
  332. package/.next/standalone/.next/server/app/settings/brand.html +2 -2
  333. package/.next/standalone/.next/server/app/settings/brand.rsc +5 -5
  334. package/.next/standalone/.next/server/app/settings/connectors/page.js +1 -1
  335. package/.next/standalone/.next/server/app/settings/connectors/page.js.nft.json +1 -1
  336. package/.next/standalone/.next/server/app/settings/connectors/page_client-reference-manifest.js +1 -1
  337. package/.next/standalone/.next/server/app/settings/engines/page.js +1 -1
  338. package/.next/standalone/.next/server/app/settings/engines/page.js.nft.json +1 -1
  339. package/.next/standalone/.next/server/app/settings/engines/page_client-reference-manifest.js +1 -1
  340. package/.next/standalone/.next/server/app/settings/onboarding/page.js +1 -1
  341. package/.next/standalone/.next/server/app/settings/onboarding/page.js.nft.json +1 -1
  342. package/.next/standalone/.next/server/app/settings/onboarding/page_client-reference-manifest.js +1 -1
  343. package/.next/standalone/.next/server/app/settings/onboarding.html +2 -2
  344. package/.next/standalone/.next/server/app/settings/onboarding.rsc +5 -5
  345. package/.next/standalone/.next/server/app/settings/organization/page.js +2 -2
  346. package/.next/standalone/.next/server/app/settings/organization/page.js.nft.json +1 -1
  347. package/.next/standalone/.next/server/app/settings/organization/page_client-reference-manifest.js +1 -1
  348. package/.next/standalone/.next/server/app/settings/page.js +1 -1
  349. package/.next/standalone/.next/server/app/settings/page.js.nft.json +1 -1
  350. package/.next/standalone/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  351. package/.next/standalone/.next/server/app/settings/runtime/page.js +1 -1
  352. package/.next/standalone/.next/server/app/settings/runtime/page.js.nft.json +1 -1
  353. package/.next/standalone/.next/server/app/settings/runtime/page_client-reference-manifest.js +1 -1
  354. package/.next/standalone/.next/server/app/settings/team/page.js +1 -1
  355. package/.next/standalone/.next/server/app/settings/team/page.js.nft.json +1 -1
  356. package/.next/standalone/.next/server/app/settings/team/page_client-reference-manifest.js +1 -1
  357. package/.next/standalone/.next/server/app/settings/tools/page.js +1 -1
  358. package/.next/standalone/.next/server/app/settings/tools/page.js.nft.json +1 -1
  359. package/.next/standalone/.next/server/app/settings/tools/page_client-reference-manifest.js +1 -1
  360. package/.next/standalone/.next/server/app/settings.html +2 -2
  361. package/.next/standalone/.next/server/app/settings.rsc +5 -5
  362. package/.next/standalone/.next/server/app/share/[token]/page.js +1 -1
  363. package/.next/standalone/.next/server/app/share/[token]/page.js.nft.json +1 -1
  364. package/.next/standalone/.next/server/app/share/[token]/page_client-reference-manifest.js +1 -1
  365. package/.next/standalone/.next/server/app/share/space/[token]/page.js +1 -1
  366. package/.next/standalone/.next/server/app/share/space/[token]/page.js.nft.json +1 -1
  367. package/.next/standalone/.next/server/app/share/space/[token]/page_client-reference-manifest.js +1 -1
  368. package/.next/standalone/.next/server/app/tasks/[id]/page.js +2 -2
  369. package/.next/standalone/.next/server/app/tasks/[id]/page.js.nft.json +1 -1
  370. package/.next/standalone/.next/server/app/tasks/[id]/page_client-reference-manifest.js +1 -1
  371. package/.next/standalone/.next/server/app/tasks/page.js +2 -2
  372. package/.next/standalone/.next/server/app/tasks/page.js.nft.json +1 -1
  373. package/.next/standalone/.next/server/app/tasks/page_client-reference-manifest.js +1 -1
  374. package/.next/standalone/.next/server/app/team/[agentId]/page.js +1 -1
  375. package/.next/standalone/.next/server/app/team/[agentId]/page.js.nft.json +1 -1
  376. package/.next/standalone/.next/server/app/team/[agentId]/page_client-reference-manifest.js +1 -1
  377. package/.next/standalone/.next/server/app/team/page.js +1 -1
  378. package/.next/standalone/.next/server/app/team/page.js.nft.json +1 -1
  379. package/.next/standalone/.next/server/app/team/page_client-reference-manifest.js +1 -1
  380. package/.next/standalone/.next/server/app/tools/page.js +1 -1
  381. package/.next/standalone/.next/server/app/tools/page.js.nft.json +1 -1
  382. package/.next/standalone/.next/server/app/tools/page_client-reference-manifest.js +1 -1
  383. package/.next/standalone/.next/server/app/whatsapp/page.js +1 -1
  384. package/.next/standalone/.next/server/app/whatsapp/page.js.nft.json +1 -1
  385. package/.next/standalone/.next/server/app/whatsapp/page_client-reference-manifest.js +1 -1
  386. package/.next/standalone/.next/server/app/whatsapp.html +2 -2
  387. package/.next/standalone/.next/server/app/whatsapp.rsc +4 -4
  388. package/.next/standalone/.next/server/app/workflows/[caseId]/page.js +1 -1
  389. package/.next/standalone/.next/server/app/workflows/[caseId]/page.js.nft.json +1 -1
  390. package/.next/standalone/.next/server/app/workflows/[caseId]/page_client-reference-manifest.js +1 -1
  391. package/.next/standalone/.next/server/app/workflows/new/[caseId]/page.js +1 -1
  392. package/.next/standalone/.next/server/app/workflows/new/[caseId]/page.js.nft.json +1 -1
  393. package/.next/standalone/.next/server/app/workflows/new/[caseId]/page_client-reference-manifest.js +1 -1
  394. package/.next/standalone/.next/server/app/workflows/new/definition/page.js +1 -1
  395. package/.next/standalone/.next/server/app/workflows/new/definition/page.js.nft.json +1 -1
  396. package/.next/standalone/.next/server/app/workflows/new/definition/page_client-reference-manifest.js +1 -1
  397. package/.next/standalone/.next/server/app/workflows/page.js +1 -1
  398. package/.next/standalone/.next/server/app/workflows/page.js.nft.json +1 -1
  399. package/.next/standalone/.next/server/app/workflows/page_client-reference-manifest.js +1 -1
  400. package/.next/standalone/.next/server/app/workflows/share/[caseId]/page.js +1 -1
  401. package/.next/standalone/.next/server/app/workflows/share/[caseId]/page.js.nft.json +1 -1
  402. package/.next/standalone/.next/server/app/workflows/share/[caseId]/page_client-reference-manifest.js +1 -1
  403. package/.next/standalone/.next/server/app-paths-manifest.json +68 -68
  404. package/.next/standalone/.next/server/chunks/1648.js +1 -1
  405. package/.next/standalone/.next/server/chunks/1699.js +35 -18
  406. package/.next/standalone/.next/server/chunks/{3806.js → 3379.js} +1 -1
  407. package/.next/standalone/.next/server/chunks/4804.js +1 -1
  408. package/.next/standalone/.next/server/chunks/6059.js +1 -1
  409. package/.next/standalone/.next/server/chunks/{9195.js → 9483.js} +1 -1
  410. package/.next/standalone/.next/server/functions-config-manifest.json +45 -45
  411. package/.next/standalone/.next/server/middleware-build-manifest.js +1 -1
  412. package/.next/standalone/.next/server/middleware-manifest.json +5 -5
  413. package/.next/standalone/.next/server/middleware-react-loadable-manifest.js +1 -1
  414. package/.next/standalone/.next/server/pages/404.html +2 -1
  415. package/.next/standalone/.next/server/pages/500.html +1 -1
  416. package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
  417. package/.next/standalone/.next/server/server-reference-manifest.json +1 -1
  418. package/.next/standalone/.next/static/chunks/494-02cf75066d25e8ac.js +1 -0
  419. package/.next/standalone/.next/static/chunks/8217.9459315d921fdd61.js +1 -0
  420. package/.next/{static/chunks/app/agents/[id]/page-e4bcb0ace2900a11.js → standalone/.next/static/chunks/app/agents/[id]/page-fd263522f6c29653.js} +1 -1
  421. package/.next/{static/chunks/app/agents/page-47a00aa58327a35e.js → standalone/.next/static/chunks/app/agents/page-5860869c305cc54b.js} +1 -1
  422. package/.next/standalone/.next/static/chunks/app/layout-457acc50d33a5e0e.js +1 -0
  423. package/.next/standalone/.next/static/chunks/app/login/page-69e66f7316e3aaf2.js +1 -0
  424. package/.next/standalone/.next/static/chunks/app/marketplace/page-b21a9b2946742aa4.js +1 -0
  425. package/.next/standalone/.next/static/chunks/app/page-9a013fdb2983cbf4.js +1 -0
  426. package/.next/standalone/.next/static/chunks/app/projects/page-3d7140091264933a.js +1 -0
  427. package/.next/standalone/.next/static/chunks/app/settings/layout-fd443bfa8cac181e.js +1 -0
  428. package/.next/standalone/.next/static/chunks/webpack-e4f2cfb4ad98f256.js +1 -0
  429. package/.next/standalone/.next/static/css/31fb2fdadf8f1c6b.css +1 -0
  430. package/.next/standalone/CHANGELOG.md +25 -0
  431. package/.next/standalone/package.json +1 -1
  432. package/.next/static/chunks/494-02cf75066d25e8ac.js +1 -0
  433. package/.next/static/chunks/8217.9459315d921fdd61.js +1 -0
  434. package/.next/{standalone/.next/static/chunks/app/agents/[id]/page-e4bcb0ace2900a11.js → static/chunks/app/agents/[id]/page-fd263522f6c29653.js} +1 -1
  435. package/.next/{standalone/.next/static/chunks/app/agents/page-47a00aa58327a35e.js → static/chunks/app/agents/page-5860869c305cc54b.js} +1 -1
  436. package/.next/static/chunks/app/layout-457acc50d33a5e0e.js +1 -0
  437. package/.next/static/chunks/app/login/page-69e66f7316e3aaf2.js +1 -0
  438. package/.next/static/chunks/app/marketplace/page-b21a9b2946742aa4.js +1 -0
  439. package/.next/static/chunks/app/page-9a013fdb2983cbf4.js +1 -0
  440. package/.next/static/chunks/app/projects/page-3d7140091264933a.js +1 -0
  441. package/.next/static/chunks/app/settings/layout-fd443bfa8cac181e.js +1 -0
  442. package/.next/static/chunks/webpack-e4f2cfb4ad98f256.js +1 -0
  443. package/.next/static/css/31fb2fdadf8f1c6b.css +1 -0
  444. package/CHANGELOG.md +25 -0
  445. package/CLAUDE.md +1 -1
  446. package/README.md +1 -1
  447. package/ai-docs/key-constraints.md +9 -1
  448. package/app/agents/agent-events-bus.js +11 -1
  449. package/app/api/connections/[service]/verify/route.js +29 -1
  450. package/app/api/fs/pick-folder/route.js +13 -11
  451. package/app/api/orchestrator/stream/route.js +92 -9
  452. package/app/api/voice/realtime/session/route.js +4 -0
  453. package/app/components/app-topbar.jsx +265 -28
  454. package/app/components/dashboard/chat-panel.jsx +54 -5
  455. package/app/components/dashboard/thinking-disclosure.jsx +59 -0
  456. package/app/components/dashboard/tool-steps.js +9 -0
  457. package/app/components/dashboard/use-main-agent-stream.js +2 -0
  458. package/app/components/dashboard/use-realtime-voice.js +33 -5
  459. package/app/components/dashboard/use-stream-command.js +29 -2
  460. package/app/components/dashboard/voice-panel.jsx +148 -36
  461. package/app/components/ui/marketplace/install-toggle.jsx +44 -9
  462. package/app/globals.css +148 -8
  463. package/app/login/login-client.jsx +23 -5
  464. package/app/marketplace/connection-setup-modal.jsx +31 -1
  465. package/app/marketplace/connection-setup-steps/api-key-step.jsx +20 -3
  466. package/app/marketplace/install-toast.jsx +1 -1
  467. package/app/marketplace/marketplace-row.jsx +8 -1
  468. package/app/marketplace/marketplace-shell.jsx +78 -7
  469. package/app/marketplace/workflow-card.jsx +2 -1
  470. package/lib/agent-config.js +7 -0
  471. package/lib/agent-engines.js +182 -21
  472. package/lib/auth-config.js +24 -8
  473. package/lib/claude.js +19 -2
  474. package/lib/cli/doctor.js +25 -0
  475. package/lib/connection-seeds.js +1 -1
  476. package/lib/engine-verbosity.js +42 -0
  477. package/lib/env-file.js +3 -0
  478. package/lib/pick-folder-authz.js +15 -0
  479. package/lib/realtime-openai.js +49 -1
  480. package/lib/tools/adapters/browser-session.js +37 -8
  481. package/lib/tools/adapters/github.js +47 -5
  482. package/lib/tools/adapters/skill-bridge.js +146 -0
  483. package/lib/tools/registry.js +40 -4
  484. package/lib/voice/context.js +1 -1
  485. package/lib/voice/tools.js +34 -2
  486. package/package.json +1 -1
  487. package/scripts/migrate-auth-v1.mjs +92 -0
  488. package/.next/standalone/.next/static/chunks/3054-451abdd7b9afc2ac.js +0 -1
  489. package/.next/standalone/.next/static/chunks/8217.0beb0a316c7ad5d8.js +0 -1
  490. package/.next/standalone/.next/static/chunks/app/layout-b7e1918b9125641e.js +0 -1
  491. package/.next/standalone/.next/static/chunks/app/login/page-d2298bc1803944ae.js +0 -1
  492. package/.next/standalone/.next/static/chunks/app/marketplace/page-0b7d3a6309302de3.js +0 -1
  493. package/.next/standalone/.next/static/chunks/app/page-887ef6f96897f78a.js +0 -1
  494. package/.next/standalone/.next/static/chunks/app/projects/page-739d4cc74824d336.js +0 -1
  495. package/.next/standalone/.next/static/chunks/app/settings/layout-08f6b30132b26dd1.js +0 -1
  496. package/.next/standalone/.next/static/chunks/webpack-f916d679fe38a701.js +0 -1
  497. package/.next/standalone/.next/static/css/2587cd46c922a6d8.css +0 -1
  498. package/.next/static/chunks/3054-451abdd7b9afc2ac.js +0 -1
  499. package/.next/static/chunks/8217.0beb0a316c7ad5d8.js +0 -1
  500. package/.next/static/chunks/app/layout-b7e1918b9125641e.js +0 -1
  501. package/.next/static/chunks/app/login/page-d2298bc1803944ae.js +0 -1
  502. package/.next/static/chunks/app/marketplace/page-0b7d3a6309302de3.js +0 -1
  503. package/.next/static/chunks/app/page-887ef6f96897f78a.js +0 -1
  504. package/.next/static/chunks/app/projects/page-739d4cc74824d336.js +0 -1
  505. package/.next/static/chunks/app/settings/layout-08f6b30132b26dd1.js +0 -1
  506. package/.next/static/chunks/webpack-f916d679fe38a701.js +0 -1
  507. package/.next/static/css/2587cd46c922a6d8.css +0 -1
  508. /package/.next/standalone/.next/static/{ZxaTPKGC9lESQlvHfrHgp → -FRz43s1H_LZFhx24FvnL}/_buildManifest.js +0 -0
  509. /package/.next/standalone/.next/static/{ZxaTPKGC9lESQlvHfrHgp → -FRz43s1H_LZFhx24FvnL}/_ssgManifest.js +0 -0
  510. /package/.next/static/{ZxaTPKGC9lESQlvHfrHgp → -FRz43s1H_LZFhx24FvnL}/_buildManifest.js +0 -0
  511. /package/.next/static/{ZxaTPKGC9lESQlvHfrHgp → -FRz43s1H_LZFhx24FvnL}/_ssgManifest.js +0 -0
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8974],{27355:(e,t,n)=>{"use strict";n.d(t,{q:()=>x,M:()=>j});var a=n(95155),s=n(12115);async function i(e,t){let n=await fetch(e,t);if(!n.ok)throw Error(await n.text());return n.json()}let r={width:900,height:620};function l(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:r,n=Math.max(1,e.length),a=Math.max(320,t.width||900),s=Math.max(360,t.height||620),i=a<640?10:16,l=a<640?10:14,{cols:o,rows:c}=a<640?{cols:1,rows:n}:n<=1?{cols:1,rows:1}:n<=3?{cols:n,rows:1}:n<=4?{cols:2,rows:2}:n<=6?{cols:3,rows:2}:n<=8?{cols:4,rows:2}:{cols:Math.ceil(n/2),rows:2},d=Math.max(280*o,a-2*i-l*(o-1)),u=Math.max(180*c,s-2*i-l*(c-1)),h=Math.floor(d/o),m=Math.floor(u/c),p=d-h*o,f=u-m*c;return e.map((e,t)=>{let n=t%o,a=Math.floor(t/o);return{x:i+n*(h+l),y:i+a*(m+l),width:Math.max(280,h+(n===o-1?p:0)),height:Math.max(180,m+(a===c-1?f:0))}})}var o=n(58219);let c="madarx:spaces-v1",d={id:"default",name:"main",is_active:!0},u="madarx:last-chat-session-id:v1";function h(e){try{e?window.localStorage.setItem(u,e):window.localStorage.removeItem(u)}catch(e){}}function m(){try{return window.localStorage.getItem(u)}catch(e){return null}}var p=n(93247);let f=[{key:"claude-code",label:"Local CLI"},{key:"codex",label:"Local CLI"},{key:"ollama",label:"Ollama"},{key:"anthropic",label:"Anthropic"}],g=["claude-code","codex","ollama","anthropic"],v=(0,s.createContext)(null);function x(e){let{children:t}=e,n=function(){let[e,t]=(0,s.useState)(null),[n,a]=(0,s.useState)([{role:"agent",text:"Fresh workspace ready. I am the madarX Main Agent. No demo agents, cron jobs, reports, or old runtime data are loaded. Tell me what to create first."}]),[u,v]=(0,s.useState)({model:"",input:0,output:0,cache_read:0,cache_creation:0,context:0}),[x,j]=(0,s.useState)(null),[w,b]=(0,s.useState)(null),[y,k]=(0,s.useState)(!1),[N,S]=(0,s.useState)(!1),[_,C]=(0,s.useState)(()=>{try{return localStorage.getItem("madarx:selected-project")||"personal"}catch(e){return"personal"}}),E=(0,s.useCallback)(e=>{C(e);try{e?localStorage.setItem("madarx:selected-project",e):localStorage.removeItem("madarx:selected-project")}catch(e){}},[]),[L,M]=(0,s.useState)(!1),D=function(){let[e,t]=(0,s.useState)(!1),[n,a]=(0,s.useState)("instructions"),[r,l]=(0,s.useState)(""),[o,c]=(0,s.useState)([]),[d,u]=(0,s.useState)([]),[h,m]=(0,s.useState)({}),[p,f]=(0,s.useState)(!1),[g,v]=(0,s.useState)(!1),[x,j]=(0,s.useState)(!1),[w,b]=(0,s.useState)([]),[y,k]=(0,s.useState)(!1),[N,S]=(0,s.useState)({}),[_,C]=(0,s.useState)(!1),[E,L]=(0,s.useState)("balanced");async function M(){try{let e=await i("/api/secrets");b(e.secrets||[])}catch(e){}}async function D(){try{let e=await i("/api/tool-allowlists");S(e.allowlists||{})}catch(e){}}async function A(){var e;t(!0),k(!0),C(!0);let[n,a,s,r]=await Promise.all([i("/api/config"),i("/api/config/env"),i("/api/secrets").catch(()=>({secrets:[]})),i("/api/tool-allowlists").catch(()=>({allowlists:{}}))]);l(n.instructions),c(n.tools||[]),u(a.env||[]),m({}),v(!1),L(null!=(e=n.designStyle)?e:"balanced"),b(s.secrets||[]),k(!1),S(r.allowlists||{}),C(!1)}async function I(e,t){c(n=>n.map(n=>n.name===e.name?{...n,enabled:t}:n));try{let n=await fetch("/api/tools/".concat(encodeURIComponent(e.name)),{method:"PUT",headers:{"content-type":"application/json"},body:JSON.stringify({enabled:t})});if(!n.ok)throw Error(await n.text());let a=await n.json();c(t=>t.map(t=>t.name===e.name?a.tool:t))}catch(t){c(t=>t.map(t=>t.name===e.name?{...t,enabled:e.enabled}:t))}}async function T(){let e=Object.fromEntries(Object.entries(h).filter(e=>{let[,t]=e;return String(t||"").trim()}));if(Object.keys(e).length){f(!0),v(!1);try{let t=await fetch("/api/config/env",{method:"PUT",headers:{"content-type":"application/json"},body:JSON.stringify({values:e})});if(!t.ok)throw Error(await t.text());let n=await t.json();u(n.env||[]),m({}),v(!0);let a=await i("/api/config");c(a.tools||[])}finally{f(!1)}}}async function R(){j(!0);try{await fetch("/api/config",{method:"PUT",headers:{"content-type":"application/json"},body:JSON.stringify({instructions:r})})}finally{j(!1)}}async function O(e){L(e),await fetch("/api/config",{method:"PUT",headers:{"content-type":"application/json"},body:JSON.stringify({designStyle:e})})}return{configOpen:e,setConfigOpen:t,configTab:n,setConfigTab:a,configInstructions:r,setConfigInstructions:l,configTools:o,setConfigTools:c,configEnv:d,setConfigEnv:u,configEnvValues:h,setConfigEnvValues:m,configEnvSaving:p,configEnvSaved:g,setConfigEnvSaved:v,configSaving:x,secrets:w,secretsLoading:y,allowlists:N,allowlistsLoading:_,designStyle:E,setDesignStyle:L,openConfig:A,saveInstructions:R,saveDesignStyle:O,saveEnvValues:T,toggleTool:I,handleAddSecret:async function(e){let{name:t,value:n,scope:a}=e,s=await fetch("/api/secrets",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({name:t,value:n,scope:a})});if(!s.ok)throw Error(await s.text()||"Failed to save secret");await M()},handleRotateSecret:async function(e,t,n){let a=await fetch("/api/secrets/".concat(encodeURIComponent(e)),{method:"PATCH",headers:{"content-type":"application/json"},body:JSON.stringify({value:t,scope:n})});if(!a.ok)throw Error(await a.text()||"Failed to rotate secret");await M()},handleDeleteSecret:async function(e,t){let n="/api/secrets/".concat(encodeURIComponent(e),"?scope=").concat(encodeURIComponent(t||"global")),a=await fetch(n,{method:"DELETE"});if(!a.ok)throw Error(await a.text()||"Failed to delete secret");await M()},handleAddAllowlistEntry:async function(e){let{tool_name:t,scope_key:n,scope_value:a,label:s}=e,i=await fetch("/api/tool-allowlists",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({tool_name:t,scope_key:n,scope_value:a,label:s})});if(!i.ok)throw Error(await i.text()||"Failed to add allowlist entry");await D()},handleRemoveAllowlistEntry:async function(e){let t=await fetch("/api/tool-allowlists/".concat(encodeURIComponent(e)),{method:"DELETE"});if(!t.ok)throw Error(await t.text()||"Failed to remove allowlist entry");await D()}}}(),A=function(){let[e,t]=(0,s.useState)("approval_required"),[n,a]=(0,s.useState)(!1),[i,r]=(0,s.useState)(!1);async function l(e){a(!0);try{let n=await fetch("/api/settings/trust-mode",{method:"PATCH",headers:{"content-type":"application/json"},body:JSON.stringify({mode:e,confirm:"auto"===e})});if(!n.ok)throw Error(await n.text());let a=await n.json();t(a.mode||e)}catch(e){}finally{a(!1)}}async function o(){await l("auto"),r(!1)}return{trustMode:e,setTrustMode:t,trustModeBusy:n,trustModePromptOpen:i,applyTrustMode:l,toggleTrustMode:function(){let t="auto"===e?"approval_required":"auto";if("auto"===t)return void r(!0);l(t)},confirmEnableTrustMode:o,cancelEnableTrustMode:function(){r(!1)}}}(),I=function(){let[e,t]=(0,s.useState)(""),[n,a]=(0,s.useState)([]),[i,r]=(0,s.useState)(!1),l=(0,s.useMemo)(()=>g.reduce((e,t)=>{var a,s;let i=n.filter(e=>e.engine===t);return i.length&&e.push({engine:t,label:null!=(s=null==(a=f.find(e=>e.key===t))?void 0:a.label)?s:t,items:i}),e},[]),[n]),o=(0,s.useCallback)(async e=>{t(e),r(!1),await fetch("/api/config",{method:"PUT",headers:{"content-type":"application/json"},body:JSON.stringify({model:e})})},[t,r]);return{selectedModel:e,setSelectedModel:t,models:n,setModels:a,modelOpen:i,setModelOpen:r,grouped:l,pickModel:o}}(),{selectedModel:T,setSelectedModel:R}=I,O=(null==T?void 0:T.startsWith("claude-"))?2e5:32768,P=Math.min(100,Math.round((u.context||0)/O*100));async function z(e){t(await i(_?"/api/state?project_id=".concat(encodeURIComponent(_)):"/api/state",e?{signal:e}:void 0))}let W=function(){let{onArtifactMoved:e,refresh:t}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},[n,a]=(0,s.useState)([d]),[i,r]=(0,s.useState)(d.id),[l,o]=(0,s.useState)(!1),[u,h]=(0,s.useState)(!1),m=(0,s.useRef)(null),p=(0,s.useRef)(e),f=(0,s.useRef)(t);p.current=e,f.current=t,(0,s.useEffect)(()=>()=>{m.current&&clearTimeout(m.current)},[]),(0,s.useEffect)(()=>{let e=!1;return async function(){try{var t,n,s;let i=await fetch("/api/dashboard/spaces",{cache:"no-store"}).then(e=>e.json()).catch(()=>null),l=i&&Array.isArray(i.spaces)&&1===i.spaces.length&&(null==(t=i.spaces[0])?void 0:t.id)==="default"&&0===((null==(s=i.spaces[0])||null==(n=s.artifact_ids)?void 0:n.length)||0)?function(){try{let e=localStorage.getItem(c);if(!e)return null;let t=JSON.parse(e);if(!t||!Array.isArray(t.spaces)||0===t.spaces.length)return null;let n=t.spaces.filter(e=>e&&"string"==typeof e.id).map(e=>({id:String(e.id),name:String(e.name||"Space"),artifactIds:Array.isArray(e.artifactIds)?e.artifactIds.map(String):[]}));if(0===n.length)return null;let a=n.some(e=>e.id===t.activeSpaceId)?t.activeSpaceId:n[0].id;return{spaces:n,activeSpaceId:a}}catch(e){return null}}():null,o=i;if(l){let e=await fetch("/api/dashboard/spaces/import",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({spaces:l.spaces,active_space_id:l.activeSpaceId})}).then(e=>e.json()).catch(()=>null);if(e&&e.imported){o=e;try{localStorage.removeItem(c)}catch(e){}}}if(e)return;let u=function(e){if(!e||!Array.isArray(e.spaces)||0===e.spaces.length)return{spaces:[d],activeSpaceId:d.id};let t=e.spaces.map(e=>({id:String(e.id),name:String(e.name||"Space"),is_active:!!e.is_active})),n=e.active_space_id&&t.some(t=>t.id===e.active_space_id)?String(e.active_space_id):t[0].id;return{spaces:t,activeSpaceId:n}}(o);a(u.spaces),r(u.activeSpaceId)}catch(t){if(e)return;a([d]),r(d.id)}finally{e||h(!0)}}(),()=>{e=!0}},[]);let g=(0,s.useCallback)(e=>{r(e),fetch("/api/dashboard/spaces/".concat(encodeURIComponent(e)),{method:"PATCH",headers:{"content-type":"application/json"},body:JSON.stringify({is_active:!0})}).catch(()=>{})},[]),v=(0,s.useCallback)(e=>{e!==i&&n.some(t=>t.id===e)&&(m.current&&(clearTimeout(m.current),m.current=null),o(!0),m.current=setTimeout(()=>{g(e),m.current=setTimeout(()=>{o(!1),m.current=null},20)},Math.floor(110)))},[i,n,g]),x=(0,s.useCallback)(async()=>{let e="Space ".concat(n.length+1);try{let t=await fetch("/api/dashboard/spaces",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({name:e})}),n=await t.json().catch(()=>({}));if(!t.ok||!(null==n?void 0:n.space))return null;let s={id:String(n.space.id),name:n.space.name,is_active:!1};return a(e=>[...e,s]),m.current&&(clearTimeout(m.current),m.current=null),o(!0),m.current=setTimeout(()=>{g(s.id),m.current=setTimeout(()=>{o(!1),m.current=null},20)},Math.floor(110)),s.id}catch(e){return null}},[n.length,g]),j=(0,s.useCallback)((e,t)=>{let n=String(t||"").trim().slice(0,32);n&&(a(t=>t.map(t=>t.id===e?{...t,name:n}:t)),fetch("/api/dashboard/spaces/".concat(encodeURIComponent(e)),{method:"PATCH",headers:{"content-type":"application/json"},body:JSON.stringify({name:n})}).catch(()=>{}))},[]),w=(0,s.useCallback)(e=>{let t=null;a(n=>{var a;if(n.length<=1)return n;let s=n.filter(t=>t.id!==e);return s.length===n.length?n:(t=(null==(a=s[0])?void 0:a.id)||null,s)}),fetch("/api/dashboard/spaces/".concat(encodeURIComponent(e)),{method:"DELETE"}).then(()=>{var e;return null==(e=f.current)?void 0:e.call(f)}).catch(()=>{}),i===e&&t&&v(t)},[i,v]),b=(0,s.useCallback)((e,t)=>{var a;n.some(e=>e.id===t)&&(null==(a=p.current)||a.call(p,e,t),fetch("/api/dashboard/spaces/".concat(encodeURIComponent(t),"/move"),{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({artifact_id:e})}).then(()=>{var e;return null==(e=f.current)?void 0:e.call(f)}).catch(()=>{}))},[n]),y=n.find(e=>e.id===i)||n[0];return{spaces:n,activeSpaceId:i,activeSpace:y,isSwitching:l,ready:u,setActiveSpaceId:v,createSpace:x,renameSpace:j,deleteSpace:w,moveArtifactToSpace:b}}({onArtifactMoved:(0,s.useCallback)((e,n)=>{t(t=>{if(!t||!Array.isArray(t.artifacts))return t;let a=!1,s=t.artifacts.map(t=>t.id!==e||t.space_id===n?t:(a=!0,{...t,space_id:n}));return a?{...t,artifacts:s}:t})},[]),refresh:z}),B=(0,s.useMemo)(()=>((null==e?void 0:e.artifacts)||[]).filter(e=>e.content).filter(e=>(e.space_id||"default")===W.activeSpaceId).map(e=>e.id),[null==e?void 0:e.artifacts,W.activeSpaceId]),U=function(e){let{state:t,refresh:n,spaceArtifactIds:a,activeSpaceId:i,moveArtifactToSpace:c}=e,[d,u]=(0,s.useState)(null),[h,m]=(0,s.useState)({}),[p,f]=(0,s.useState)(null),[g,v]=(0,s.useState)(null),[x,j]=(0,s.useState)(null),[w,b]=(0,s.useState)({}),[y,k]=(0,s.useState)({}),[N,S]=(0,s.useState)({}),[_,C]=(0,s.useState)(null),[E,L]=(0,s.useState)(null),[M,D]=(0,s.useState)(null),[A,I]=(0,s.useState)("auto"),[T,R]=(0,s.useState)(null),[O,P]=(0,s.useState)({width:0,height:0}),z=(0,s.useRef)(20),W=(0,s.useRef)(!1);function B(e){z.current+=1;let t=z.current;u(e),S(n=>n[e]===t?n:{...n,[e]:t})}async function U(e){let t=await fetch("/api/artifacts/".concat(encodeURIComponent(e)),{method:"DELETE"});if(!t.ok&&404!==t.status)throw Error(await t.text());m(t=>{let n={...t};return delete n[e],n}),b(t=>{let n={...t};return delete n[e],n}),k(t=>{let n={...t};return delete n[e],n}),S(t=>{let n={...t};return delete n[e],n}),j(null),await n()}return(0,s.useEffect)(()=>{if(!T)return;let e=()=>P({width:T.clientWidth,height:T.clientHeight});e();let t=new ResizeObserver(e);return t.observe(T),()=>t.disconnect()},[T]),(0,s.useEffect)(()=>{W.current&&O.width&&O.height&&(b(e=>{let t=!1,n={...e},a=Math.max(280,O.width-16),s=Math.max(180,O.height-16);for(let i in e){let r=e[i],l=Math.max(280,Math.min(a,r.width)),o=Math.max(180,Math.min(s,r.height));(l!==r.width||o!==r.height)&&(n[i]={width:l,height:o},t=!0)}return t?n:e}),k(e=>{let t=!1,n={...e};for(let i in e){var a,s;let r=e[i],l=(null==(a=w[i])?void 0:a.width)||520,o=(null==(s=w[i])?void 0:s.height)||380,c=Math.max(8,O.width-l-8),d=Math.max(8,O.height-o-8),u=Math.max(8,Math.min(c,r.x)),h=Math.max(8,Math.min(d,r.y));(u!==r.x||h!==r.y)&&(n[i]={x:u,y:h},t=!0)}return t?n:e}))},[O]),(0,s.useEffect)(()=>(document.body.classList.toggle("is-dragging",!!_),document.body.classList.toggle("is-resizing",!!E),()=>{document.body.classList.remove("is-dragging"),document.body.classList.remove("is-resizing")}),[_,E]),(0,s.useEffect)(()=>{try{let e=localStorage.getItem("madarx:artifact-layout-v2");if(e){let t=JSON.parse(e);t.positions&&k(t.positions),t.sizes&&b(t.sizes),t.z&&S(t.z),t.minimized&&m(t.minimized),("manual"===t.layoutMode||"auto"===t.layoutMode)&&I(t.layoutMode),"number"==typeof t.nextZ&&(z.current=t.nextZ)}}catch(e){}W.current=!0},[]),(0,s.useEffect)(()=>{if(!t)return;let e=a?new Set(a):null,n=(t.artifacts||[]).filter(t=>t.content&&!h[t.id]&&(!e||e.has(t.id)));if("auto"===A){let e=l(n,O),t={},a={};n.forEach((n,s)=>{let i=e[s];t[n.id]={x:i.x,y:i.y},a[n.id]={width:i.width,height:i.height}}),k(t),b(a);return}let s=[];k(e=>{if(0===(s=n.filter(t=>!e[t.id]).map(e=>e.id)).length)return e;let t={...e},a=Object.values(e),i=a.length?Math.max(...a.map(e=>e.x)):24,r=a.length?Math.max(...a.map(e=>e.y)):24,l=Math.max(320,(O.width||900)-320),o=Math.max(180,(O.height||620)-200);return s.forEach((e,n)=>{let a=(n+1)*32;t[e]={x:Math.max(16,Math.min(l,i+a)),y:Math.max(16,Math.min(o,r+a))}}),t}),0!==s.length&&(b(e=>{let t={...e};return s.forEach(e=>{t[e]||(t[e]={width:520,height:380})}),t}),S(e=>{let t={...e};return s.forEach(e=>{z.current+=1,t[e]=z.current}),t}),u(s[s.length-1]))},[t,O,A,h,a]),(0,s.useEffect)(()=>{if(!W.current)return;let e=setTimeout(()=>{try{localStorage.setItem("madarx:artifact-layout-v2",JSON.stringify({positions:y,sizes:w,z:N,minimized:h,layoutMode:A,nextZ:z.current}))}catch(e){}},200);return()=>clearTimeout(e)},[y,w,N,h,A]),{selectedArtifactId:d,minimizedIds:h,cardZ:N,hoveredDockId:p,setHoveredDockId:f,fullscreenId:g,setFullscreenId:v,confirmDeleteId:x,setConfirmDeleteId:j,draggingId:_,resizingId:E,pointerDropSpaceId:M,layoutMode:A,setBoardEl:R,toggleMinimize:function(e){m(t=>({...t,[e]:!t[e]}))},getLayout:function(e,n){var s,i,o,c;let d=y[e],u=w[e],m=a?new Set(a):null,p=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:r;return l(Array.from({length:t},(e,t)=>({id:String(t)})),n)[e]||{x:16,y:16,width:520,height:380}}(Math.max(0,n),Math.max(1,((null==t?void 0:t.artifacts)||[]).filter(e=>e.content&&!h[e.id]&&(!m||m.has(e.id))).length),O);return{x:null!=(s=null==d?void 0:d.x)?s:p.x,y:null!=(i=null==d?void 0:d.y)?i:p.y,width:null!=(o=null==u?void 0:u.width)?o:p.width,height:null!=(c=null==u?void 0:u.height)?c:p.height}},bringToFront:B,resetArtifactLayout:function(){z.current=20,I("auto"),S({})},deleteArtifactById:U,downloadArtifact:function(e){let t=(0,o.o0)(e.kind),n=new Blob([t?e.content||"":e.source_md||e.content||""],{type:t?"text/html":"text/markdown"}),a=URL.createObjectURL(n),s=document.createElement("a");s.href=a,s.download=(e.title||"artifact").toLowerCase().replace(/\s+/g,"-")+(t?".html":".md"),s.click(),URL.revokeObjectURL(a)},startDrag:function(e,t){var n,a;if(e.target.closest("button, .winbar i, .winbar-dl, .artifact-kind-badge, .confirm-label"))return;e.preventDefault();let s=e.currentTarget.closest(".artifact-window-wrap"),r=null==s?void 0:s.closest(".canvas-board");if(!s)return;null==(n=(a=e.currentTarget).setPointerCapture)||n.call(a,e.pointerId),I("manual"),C(t),B(t);let l=null==r?void 0:r.getBoundingClientRect(),o=s.getBoundingClientRect(),d=l?o.left-l.left+r.scrollLeft:0,u=l?o.top-l.top+r.scrollTop:0,h=l?e.clientX-l.left+r.scrollLeft-d:0,m=l?e.clientY-l.top+r.scrollTop-u:0,p=e.currentTarget;document.body.style.userSelect="none";let f=null,g=!1;function v(e){e.preventDefault();let n=null==r?void 0:r.getBoundingClientRect(),a=n?Math.max(0,e.clientX-n.left+r.scrollLeft-h):d,s=n?Math.max(0,e.clientY-n.top+r.scrollTop-m):u;k(e=>({...e,[t]:{x:a,y:s}}));let l=function(e,t){let n=document.elementFromPoint(e,t);if(!n)return null;let a=n.closest(".space-chip");if(!a)return null;let s=a.getAttribute("data-space-id");return!s||i&&s===i?null:s}(e.clientX,e.clientY);l!==f&&(f=l,D(l)),l&&(g=!0)}function x(e){var n;p.removeEventListener("pointermove",v),p.removeEventListener("pointerup",x),p.removeEventListener("pointercancel",x),null==(n=p.releasePointerCapture)||n.call(p,e.pointerId),document.body.style.userSelect="",C(null),D(null),g&&f&&"function"==typeof c&&(c(t,f),k(e=>{if(!(t in e))return e;let n={...e};return n[t]={x:d,y:u},n}))}p.addEventListener("pointermove",v),p.addEventListener("pointerup",x),p.addEventListener("pointercancel",x)},startResize:function(e,t,n){var a,s;e.preventDefault(),e.stopPropagation();let i=e.currentTarget.closest(".artifact-window-wrap"),r=i.closest(".canvas-board");null==(a=(s=e.currentTarget).setPointerCapture)||a.call(s,e.pointerId),I("manual"),B(t);let l=e.clientX,o=e.clientY,c=null==r?void 0:r.getBoundingClientRect(),d=i.getBoundingClientRect(),u=d.width,h=d.height,m=c?d.left-c.left+r.scrollLeft:0,p=c?d.top-c.top+r.scrollTop:0,f=r?r.clientWidth:1/0,g=r?r.clientHeight:1/0,v={n:"ns-resize",s:"ns-resize",e:"ew-resize",w:"ew-resize",ne:"nesw-resize",sw:"nesw-resize",nw:"nwse-resize",se:"nwse-resize"}[n]||"nwse-resize",x=e.currentTarget;function j(e){e.preventDefault();let a=e.clientX-l,s=e.clientY-o,i=m,r=p,c=u,d=h;n.includes("w")&&(u-a<280&&(a=u-280),m+a<8&&(a=8-m),i=m+a,c=u-a),n.includes("e")&&(u+a<280&&(a=280-u),m+u+a>f-8&&(a=f-8-m-u),c=u+a),n.includes("n")&&(h-s<180&&(s=h-180),p+s<8&&(s=8-p),r=p+s,d=h-s),n.includes("s")&&(h+s<180&&(s=180-h),p+h+s>g-8&&(s=g-8-p-h),d=h+s),b(e=>({...e,[t]:{width:c,height:d}})),(n.includes("w")||n.includes("n"))&&k(e=>({...e,[t]:{x:i,y:r}}))}function w(e){var t;x.removeEventListener("pointermove",j),x.removeEventListener("pointerup",w),x.removeEventListener("pointercancel",w),null==(t=x.releasePointerCapture)||t.call(x,e.pointerId),document.body.style.userSelect="",document.body.style.cursor="",L(null)}L(t),document.body.style.userSelect="none",document.body.style.cursor=v,x.addEventListener("pointermove",j),x.addEventListener("pointerup",w),x.addEventListener("pointercancel",w)}}}({state:e,refresh:z,spaceArtifactIds:B,activeSpaceId:W.activeSpaceId,moveArtifactToSpace:W.moveArtifactToSpace}),F=function(e){let{sessionId:t,setSessionId:n,setChat:a,setUsage:r,setSelectedModel:l,setSessionArtifactId:o}=e,[c,d]=(0,s.useState)([]),[u,p]=(0,s.useState)(!1);async function f(){try{let e=await i("/api/chat/sessions");d(e.sessions||[])}catch(e){}}async function g(e){if(p(!1),e!==t){o(null);try{let t=(await i("/api/chat/sessions/".concat(encodeURIComponent(e)))).session;n(t.id),h(t.id),a(function(e){let t=((null==e?void 0:e.messages)||[]).filter(e=>("user"===e.role||"assistant"===e.role)&&e.content).map(e=>({role:"assistant"===e.role?"agent":"user",text:e.content}));return t.length||t.push({role:"agent",text:"Fresh workspace ready. I am the madarX Main Agent. Tell me what to create first."}),t}(t)),r(e=>({...e,model:t.model||e.model,input:t.total_input_tokens||0,output:t.total_output_tokens||0,cache_read:t.total_cache_read_tokens||0,cache_creation:t.total_cache_creation_tokens||0,context:t.last_context_tokens||0})),t.model&&l(t.model)}catch(e){}}}function v(){p(!1),n(null),h(null),o(null),a([{role:"agent",text:"Fresh workspace ready. I am the madarX Main Agent. Tell me what to create first."}]),r(e=>({...e,input:0,output:0,cache_read:0,cache_creation:0,context:0}))}async function x(e){try{await fetch("/api/chat/sessions/".concat(encodeURIComponent(e)),{method:"DELETE"})}catch(e){}if(e===t)v();else try{m()===e&&h(null)}catch(e){}await f()}return{sessions:c,setSessions:d,sessionsOpen:u,setSessionsOpen:p,refreshSessions:f,openSession:g,newSession:v,deleteSession:x}}({sessionId:x,setSessionId:j,setChat:a,setUsage:v,setSelectedModel:R,setSessionArtifactId:b}),H=function(e){let{bgAgentList:t,hasBgActivity:n}=function(e){let{refresh:t,runs:n}=e,[a,i]=(0,s.useState)({}),r=(0,s.useRef)(t);(0,s.useEffect)(()=>{r.current=t},[t]),(0,s.useEffect)(()=>{if(!window.EventSource)return;let e=new EventSource("/api/events/stream");return e.addEventListener("agent_tool_start",e=>{try{var t=JSON.parse(e.data);let n=t.agent_id;n&&i(e=>{let a=e[n]||{agent_id:n,agent_name:t.agent_name||n,status:"running",started_at:Date.now(),steps:[]};return{...e,[n]:{...a,agent_name:t.agent_name||a.agent_name,status:"running",current_tool:t.tool,current_input_summary:t.input_summary,steps:[...a.steps,{tool:t.tool,input_summary:t.input_summary,status:"running",ts:t.ts||Date.now()}].slice(-12)}}})}catch(e){}}),e.addEventListener("agent_tool_result",e=>{try{var t=JSON.parse(e.data);let n=t.agent_id;n&&i(e=>{let a=e[n]||{agent_id:n,agent_name:t.agent_name||n,status:"running",started_at:Date.now(),steps:[]},s=[...a.steps],i=!1;for(let e=s.length-1;e>=0;e--)if(s[e].tool===t.tool&&"running"===s[e].status){s[e]={...s[e],status:t.isError?"error":"done"},i=!0;break}return!i&&(s.push({tool:t.tool,status:t.isError?"error":"done",ts:Date.now()}),s.length>12&&s.shift()),{...e,[n]:{...a,current_tool:null,steps:s}}})}catch(e){}}),e.addEventListener("agent_run_start",e=>{try{var t=JSON.parse(e.data);let n=t.agent_id;n&&i(e=>{var a,s,i;return{...e,[n]:{agent_id:n,agent_name:t.agent_name||n,triggered_by:t.triggered_by,status:"running",started_at:Date.now(),steps:null!=(i=null==(s=e[n])||null==(a=s.steps)?void 0:a.slice(-6))?i:[]}}})}catch(e){}}),e.addEventListener("agent_run_complete",e=>{try{var t;!function(e){let t=e.agent_id;if(!t)return;let n=Date.now();i(a=>{let s=a[t];return s?{...a,[t]:{...s,status:e.isError?"failed":"complete",finished_at:n,current_tool:null}}:a}),setTimeout(()=>{i(e=>{let a=e[t];if(!a||"running"===a.status||a.finished_at!==n)return e;let s={...e};return delete s[t],s})},3e4)}(JSON.parse(e.data)),null==(t=r.current)||t.call(r)}catch(e){}}),e.addEventListener("agent_created",()=>{var e;null==(e=r.current)||e.call(r)}),e.onerror=()=>{},()=>{e.close()}},[]),(0,s.useEffect)(()=>{Array.isArray(n)&&0!==n.length&&i(e=>{let t=Object.keys(e);if(0===t.length)return e;let a=!1,s={...e};for(let r of t){let t=e[r];if(!t||"running"!==t.status)continue;let l=n.find(e=>e&&e.agent_id===r&&("complete"===e.status||"failed"===e.status)&&e.at&&new Date(e.at).getTime()>=(t.started_at||0)-1e3);if(l){s[r]={...t,status:l.status,finished_at:Date.now(),current_tool:null},a=!0;let e=s[r].finished_at;setTimeout(()=>{i(t=>{let n=t[r];if(!n||"running"===n.status||n.finished_at!==e)return t;let a={...t};return delete a[r],a})},3e4)}}return a?s:e})},[n]),(0,s.useEffect)(()=>{let e=window.setInterval(()=>{let e=Date.now()-12e4;i(t=>{let n=Object.keys(t);if(0===n.length)return t;let a=!1,s={...t};for(let r of n){var i;let n=t[r];if(!n||"running"!==n.status)continue;let l=(null==(i=n.steps)?void 0:i.length)?n.steps[n.steps.length-1].ts:0,o=Math.max(n.started_at||0,l||0);o>0&&o<e&&(delete s[r],a=!0)}return a?s:t})},15e3);return()=>window.clearInterval(e)},[]);let l=Object.values(a),o=l.some(e=>"running"===e.status);return{bgAgents:a,bgAgentList:l,hasBgActivity:o}}({refresh:e.refresh,runs:e.runs}),a=function(e){let{chat:t,setChat:n,selectedModel:a,sessionId:i,setSessionId:r,sessionArtifactId:l,setSessionArtifactId:o,setUsage:c,refresh:d,refreshSessions:u,bringToFront:m,projectId:f}=e,[g,v]=(0,s.useState)(!1),[x,j]=(0,s.useState)(""),[w,b]=(0,s.useState)(null),[y,k]=(0,s.useState)(!1),[N,S]=(0,s.useState)([]),[_,C]=(0,s.useState)(null),[E,L]=(0,s.useState)("idle"),[M,D]=(0,s.useState)(""),[A,I]=(0,s.useState)(null),T=(0,s.useRef)([]),R=(0,s.useRef)(null),O=(0,s.useRef)(!1),P=(0,s.useRef)(null);(0,s.useEffect)(()=>{let e=P.current;if(!e)return;let t=e.scrollHeight-e.scrollTop-e.clientHeight<200;(g||t)&&(e.scrollTop=e.scrollHeight)},[t,x,g]);let z=(0,s.useRef)(null),W=(0,s.useRef)(null);async function B(e,t,a){var s,i;if(e){try{let a=await fetch("/api/approvals/".concat(e),{method:"PATCH",headers:{"content-type":"application/json"},body:JSON.stringify({decision:t})});if(!a.ok){let e=await a.text().catch(()=>"");n(t=>[...t,{role:"agent",text:"Approval failed: ".concat(e||a.status)}]);return}}catch(e){n(t=>[...t,{role:"agent",text:"Approval error: ".concat(e.message)}]);return}S(n=>n.map(n=>n.approval_id===e?{...n,status:"approved"===t?"approved":"denied"}:n)),"approved"===t&&a?(T.current.push({approval_id:e,tool_name:a}),null==(s=z.current)||s.call(z,"Approved — please continue.")):"denied"===t&&(null==(i=z.current)||i.call(z,"Denied — try a different approach."))}}z.current=async function e(e,s){if(g)return;let x=(null!=e?e:"").trim(),w=Array.isArray(s)?s:[];if(!x&&!w.length)return;n(e=>[...e,{role:"user",text:x,attachments:w}]),(0,p.q)(),S([]),D(""),I(null),L("thinking"),C(Date.now()),v(!0);let y=t.filter(e=>"user"===e.role||"agent"===e.role).map(e=>({role:"agent"===e.role?"assistant":"user",content:e.text}));for(;y.length&&"assistant"===y[0].role;)y.shift();y.push({role:"user",content:x,attachments:w});let N=new AbortController;R.current=N,O.current=!1;try{let e=T.current.slice();T.current=[];let t=await fetch("/api/orchestrator/stream",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({messages:y,model:a,session_id:i,session_artifact_id:l,project_id:f||"personal",pending_approvals:e}),signal:N.signal});if(!t.ok||!t.body){let e=await t.text();n(t=>[...t,{role:"agent",text:"Stream error: ".concat(e)}]);return}let s=t.body.getReader(),p=new TextDecoder,g="",v="";for(n(e=>[...e,{role:"agent",text:""}]);;){let{done:e,value:t}=await s.read();if(e)break;let a=(g+=p.decode(t,{stream:!0})).split("\n");g=a.pop();let l="";for(let e of a)if(e.startsWith("event:"))l=e.slice(6).trim();else if(e.startsWith("data:")){let t=e.slice(5).trim();try{var _,E,M,A;let e=JSON.parse(t);if("session"===l&&e.id)h(e.id),e.id!==i&&r(e.id);else if("cli_stream"===l&&(e.text||e.building))L(e=>"thinking"===e?"responding":e),n(t=>{let n=[...t];return n[n.length-1]={role:"agent",text:e.text||"",streaming:!0,building:!!e.building},n});else if("cli_thinking"===l&&"string"==typeof e.text)D(e.text),L(e=>"responding"===e||"tool"===e?e:"thinking");else if("cli_status"===l)I(e&&e.phase?e:null),(null==e?void 0:e.phase)==="thinking"&&L(e=>"responding"===e||"tool"===e?e:"thinking");else if("text"===l&&e.delta)v+=e.delta,L(e=>"thinking"===e?"responding":e),j(t=>t+e.delta),n(e=>{let t=[...e];return t[t.length-1]={role:"agent",text:v},t});else if("tool_start"===l)b(e.name),L("tool"),S(t=>[...t,{id:"".concat(e.name,"-").concat(Date.now()),name:e.name,input:e.input,status:"running"}]);else if("tool_result"===l){b(null),L("synthesis");let t=(null==(E=e.output)?void 0:E.status)==="approval_required"&&"string"==typeof(null==(M=e.output)?void 0:M.approval_request_id);S(n=>{let a=[...n];for(let n=a.length-1;n>=0;n--)if(a[n].name===e.name&&"running"===a[n].status){var s,i,r;a[n]={...a[n],status:t?"awaiting_approval":e.isError?"error":"done",durationMs:"number"==typeof e.durationMs?e.durationMs:a[n].durationMs,preview:(null==(s=e.output)?void 0:s.preview)||a[n].preview||null,outLines:null!=(r=null==(i=e.output)?void 0:i.lines)?r:a[n].outLines,approval_id:t?e.output.approval_request_id:a[n].approval_id||null,approval_reason:t&&e.output.reason||null};break}return a}),("create_artifact"===e.name||"generate_ui"===e.name||"send_to_hermes"===e.name||"start_hermes_job"===e.name)&&(null==(A=e.output)?void 0:A.artifact_id)&&m(e.output.artifact_id)}else if("artifacts"===l&&(null==(_=e.created)?void 0:_.length)){for(let t of e.created)t.artifact_id&&m(t.artifact_id);d()}else if("agent_created"===l&&e.agent)d();else if("session_artifact"===l&&e.artifact_id)o(e.artifact_id);else if("artifact_updated"===l&&e.artifact_id)o(e.artifact_id),m(e.artifact_id),d();else if("usage"===l)c(e);else if("pending_approvals"===l&&Array.isArray(null==e?void 0:e.approvals))for(let t of e.approvals)(null==t?void 0:t.approval_id)&&(null==t?void 0:t.tool_name)&&T.current.push({approval_id:t.approval_id,tool_name:t.tool_name});else"error"===l&&(v+="\nError: ".concat(e.message),n(e=>{let t=[...e];return t[t.length-1]={role:"agent",text:v},t}))}catch(e){}l=""}}v||n(e=>{let t=[...e];return t[t.length-1]={role:"agent",text:"Done."},t}),await d(),await u()}catch(e){O.current||(null==e?void 0:e.name)==="AbortError"?n(e=>{let t=[...e],n=t[t.length-1];if(n&&"agent"===n.role){let e=(n.text||"").trim();t[t.length-1]={role:"agent",text:e?"".concat(e,"\n\n_(stopped by user)_"):"_(stopped by user)_"}}else t.push({role:"agent",text:"_(stopped by user)_"});return t}):n(t=>[...t,{role:"agent",text:"Action failed: ".concat(e.message)}])}finally{R.current=null,O.current=!1,v(!1),C(null),L("idle"),j(""),b(null),I(null),setTimeout(()=>D(""),4e3),setTimeout(()=>{S(e=>e.some(e=>"awaiting_approval"===e.status)?e:[])},1200),k(!1)}},W.current=function(){if(g){O.current=!0;try{var e;null==(e=R.current)||e.abort()}catch(e){}}};let U=(0,s.useRef)(null);U.current=B;let F=(0,s.useCallback)((e,t)=>z.current(e,t),[]);return{busy:g,liveText:x,liveTool:w,liveExpanded:y,setLiveExpanded:k,liveSteps:N,busyStartTime:_,agentPhase:E,liveThinking:M,liveStatus:A,feedRef:P,command:F,stop:(0,s.useCallback)(()=>W.current(),[]),decideApproval:(0,s.useCallback)((e,t,n)=>U.current(e,t,n),[])}}(e);return{busy:a.busy,liveText:a.liveText,liveTool:a.liveTool,liveExpanded:a.liveExpanded,setLiveExpanded:a.setLiveExpanded,liveSteps:a.liveSteps,busyStartTime:a.busyStartTime,agentPhase:a.agentPhase,liveThinking:a.liveThinking,liveStatus:a.liveStatus,bgAgentList:t,hasBgActivity:n,feedRef:a.feedRef,command:a.command,stop:a.stop,decideApproval:a.decideApproval}}({chat:n,setChat:a,selectedModel:T,sessionId:x,setSessionId:j,sessionArtifactId:w,setSessionArtifactId:b,setUsage:v,refresh:z,refreshSessions:F.refreshSessions,bringToFront:U.bringToFront,projectId:_,runs:(null==e?void 0:e.runs)||null}),J=function(e){let{refresh:t,setChat:n}=e,[a,i]=(0,s.useState)(null),[r,l]=(0,s.useState)(!1),[o,c]=(0,s.useState)(null);async function d(e){if(!e||a)return;i(e);let s="Approved Claude Code run. Starting local execution...\n";n(e=>[...e,{role:"agent",text:s}]);try{let a=await fetch("/api/runs/approve-claude-run",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({run_id:e})});if(!a.ok||!a.body){let e=await a.text();try{e=JSON.parse(e).error||e}catch(e){}n(t=>{let n=[...t];return n[n.length-1]={role:"agent",text:"".concat(s,"\n").concat(e)},n}),await t();return}let i=a.body.getReader(),r=new TextDecoder,l="";for(;;){let{done:e,value:t}=await i.read();if(e)break;let a=(l+=r.decode(t,{stream:!0})).split("\n");l=a.pop();let o="";for(let e of a)if(e.startsWith("event:"))o=e.slice(6).trim();else if(e.startsWith("data:")){try{let t=JSON.parse(e.slice(5).trim());"stdout"===o&&t.line?s+="".concat(t.line,"\n"):"stderr"===o&&t.line?s+="stderr: ".concat(t.line,"\n"):"done"===o?s+="\nClaude run ".concat(t.status,"."):"error"===o&&(s+="\nError: ".concat(t.message)),n(e=>{let t=[...e];return t[t.length-1]={role:"agent",text:s},t})}catch(e){}o=""}}await t()}catch(e){n(t=>{let n=[...t];return n[n.length-1]={role:"agent",text:"".concat(s,"\nAction failed: ").concat(e.message)},n})}finally{i(null)}}async function u(e,s){if(e&&!a){i(e);try{let n=await fetch("/api/approvals/".concat(encodeURIComponent(e)),{method:"PATCH",headers:{"content-type":"application/json"},body:JSON.stringify({decision:s})});if(!n.ok)throw Error(await n.text());await t()}catch(e){n(t=>[...t,{role:"agent",text:"Approval update failed: ".concat(e.message)}])}finally{i(null)}}}return{approvalBusyId:a,runtimeOpen:r,setRuntimeOpen:l,runtimeActionBusy:o,approveClaudeRun:d,decideGenericApproval:u,ensureOpsAgentAction:async function(){c("ops");try{let e=await fetch("/api/agents/ops",{method:"POST"});if(!e.ok)throw Error(await e.text());n(e=>[...e,{role:"agent",text:"Caretaker is ready: daily 08:00 schedule, scoped tools, and approval gates configured."}]),await t()}catch(e){n(t=>[...t,{role:"agent",text:"Caretaker setup failed: ".concat(e.message)}])}finally{c(null)}},processHeartbeatOnceAction:async function(){c("worker");try{let e=await fetch("/api/heartbeat/worker",{method:"POST",headers:{"content-type":"application/json"},body:"{}"});if(!e.ok)throw Error(await e.text());let a=await e.json();n(e=>[...e,{role:"agent",text:"Heartbeat worker processed once: ".concat(a.worked?a.status||"worked":"no queued task",".")}]),await t()}catch(e){n(t=>[...t,{role:"agent",text:"Heartbeat worker failed: ".concat(e.message)}])}finally{c(null)}}}}({refresh:z,setChat:a}),q=(0,s.useRef)(_),V=(0,s.useRef)(H),X=(0,s.useRef)(F),Y=(0,s.useRef)(null),K=(0,s.useRef)(D),G=(0,s.useRef)(A),Z=(0,s.useRef)(I);q.current=_,V.current=H,X.current=F,Y.current=D.openConfig,K.current=D,G.current=A,Z.current=I;let $=(0,s.useRef)(null);null===$.current&&($.current=new WeakSet);let Q=(0,s.useCallback)(e=>{e&&$.current.add(e)},[]);(0,s.useEffect)(()=>{let t=null==e?void 0:e.projects;if(!Array.isArray(t)||0===t.length||_&&t.some(e=>(null==e?void 0:e.id)===_))return;let n=_?t.find(e=>(null==e?void 0:e.slug)===_):null,a=t.find(e=>(null==e?void 0:e.slug)==="personal"||(null==e?void 0:e.id)==="personal"),s=t.find(e=>(null==e?void 0:e.status)==="active"),i=n||a||s||t[0];(null==i?void 0:i.id)&&E(i.id)},[null==e?void 0:e.projects,_,E]),(0,s.useEffect)(()=>{let e=!1,n=null,a=null,s=null,r=null,l=null,o=["agents","runs","artifacts","heartbeat","approvals","connectors","schedules","sessions","local_actions","local_processes","hermes_jobs","projects"];async function c(){if("hidden"===document.visibilityState||n)return;let l=new AbortController;n=l;try{let n=await i(function(){let e=q.current;return e?"/api/state?project_id=".concat(encodeURIComponent(e)):"/api/state"}(),{signal:l.signal});!e&&(t(n),(null==n?void 0:n.main_agent_trust_mode)&&G.current.setTrustMode(n.main_agent_trust_mode),(null==n?void 0:n.live_deltas_enabled)&&!r&&(function(){try{for(let e of(r=new EventSource("/api/events/stream"),o))r.addEventListener("state.".concat(e,".changed"),d);r.addEventListener("error",()=>{})}catch(e){r=null}s=setInterval(c,6e4)}(),a&&(clearInterval(a),a=null)))}catch(e){}finally{n===l&&(n=null)}}function d(){l||(l=setTimeout(()=>{l=null,c()},250))}function u(e){if(e.origin!==window.location.origin||!e.source||!$.current.has(e.source))return;let t=null==e?void 0:e.data;if(!t||"object"!=typeof t||"madarx:prompt"!==t.type)return;let n="string"==typeof t.text?t.text.trim():"";if(!n)return;let a=V.current;a&&!a.busy&&a.command(n)}function h(){"visible"===document.visibilityState&&c()}return c().then(()=>{e||a||s||r||(a=setInterval(c,5e3))}),window.addEventListener("message",u),document.addEventListener("visibilitychange",h),i("/api/config").then(e=>{var t;K.current.setDesignStyle(null!=(t=e.designStyle)?t:"balanced"),K.current.setConfigTools(e.tools||[]),e.model&&(Z.current.setSelectedModel(e.model),v(t=>({...t,model:e.model})))}).catch(()=>{}),i("/api/models").then(e=>Z.current.setModels(e.models||[])).catch(()=>{}),i("/api/config/env").then(e=>K.current.setConfigEnv(e.env||[])).catch(()=>{}),i("/api/settings/trust-mode").then(e=>G.current.setTrustMode(e.mode||"approval_required")).catch(()=>{}),i("/api/chat/sessions").then(async e=>{let t=e.sessions||[],n=X.current;if(n.setSessions(t),t.length){let e=m(),a=t.find(t=>t.id===e)||t[0];await n.openSession(a.id)}}).catch(()=>{}).finally(()=>{e||S(!0)}),()=>{if(e=!0,n&&n.abort(),a&&clearInterval(a),s&&clearInterval(s),l&&(clearTimeout(l),l=null),r)try{r.close()}catch(e){}window.removeEventListener("message",u),document.removeEventListener("visibilitychange",h)}},[]),(0,s.useEffect)(()=>{function e(){var e;null==(e=Y.current)||e.call(Y)}return window.addEventListener("madarx:open-config",e),()=>window.removeEventListener("madarx:open-config",e)},[]);let ee=null===e||!N,et=e||{agents:[],runs:[],schedules:[],connectors:[],artifacts:[],hermes_jobs:[]},en=(0,s.useMemo)(()=>(et.runs||[]).find(e=>"claude-code-dry-run"===e.kind&&"approval-needed"===e.status),[et.runs]),ea=(0,s.useMemo)(()=>(et.hermes_jobs||[]).filter(e=>"queued"===e.status||"running"===e.status),[et.hermes_jobs]),es=et.pending_approvals||[],ei=et.heartbeat_tasks||[],er=et.local_tool_audit||[],el=et.local_processes||[],eo=es.length+ei.length+er.length+el.length,ec=(0,s.useMemo)(()=>(et.artifacts||[]).filter(e=>e.content),[et.artifacts]),ed=(0,s.useMemo)(()=>ec.filter(e=>(e.space_id||"default")===W.activeSpaceId&&!U.minimizedIds[e.id]),[ec,W.activeSpaceId,U.minimizedIds]),eu=(0,s.useMemo)(()=>ec.filter(e=>(e.space_id||"default")===W.activeSpaceId&&U.minimizedIds[e.id]),[ec,W.activeSpaceId,U.minimizedIds]),eh=(0,s.useCallback)(e=>{var t,n;let a=ec.findIndex(t=>t.id===e.id);return null!=(n=null==(t=U.cardZ)?void 0:t[e.id])?n:10+Math.max(0,a)},[ec,U.cardZ]),em=(0,s.useMemo)(()=>ed.reduce((e,t)=>{if(!e)return t.id;let n=ed.find(t=>t.id===e);return eh(t)>=eh(n)?t.id:e},null),[ed,eh]);return{state:e,chat:n,chatHydrated:N,chatHidden:y,setChatHidden:k,usage:u,setUsage:v,sessionId:x,sessionArtifactId:w,selectedProjectId:_,setSelectedProjectId:E,voiceOpen:L,setVoiceOpen:M,initializing:ee,counts:et,approvalRun:en,activeHermesJobs:ea,pendingApprovals:es,heartbeatTasks:ei,localActions:er,localProcesses:el,runtimeSignalCount:eo,artifacts:ec,visibleArtifacts:ed,dockedArtifacts:eu,zForArtifact:eh,frontArtifactId:em,ctxLimit:O,ctxPct:P,...D,...A,...I,spaces:W,artifactLayout:U,sessions:F,mainAgent:H,runtimeActions:J,registerArtifactFrame:Q}}();return(0,a.jsx)(v.Provider,{value:n,children:t})}function j(){let e=(0,s.useContext)(v);if(null===e)throw Error("useDashboard must be used inside <DashboardProvider>");return e}},42930:(e,t,n)=>{Promise.resolve().then(n.bind(n,49864))},49864:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>R});var a=n(95155),s=n(67909),i=n(27355),r=n(12115),l=n(6504),o=n(5459),c=n(97167),d=n(59077);let u={starting:"Starting engine…",working:"Working…",generating:"Composing…",thinking:"Thinking…",done:"Finishing…"};function h(e){let{thinking:t,status:n,busy:s}=e,[i,l]=(0,r.useState)(!1),o=(0,r.useRef)(null),c=!!(t&&t.trim());if((0,r.useEffect)(()=>{i&&o.current&&(o.current.scrollTop=o.current.scrollHeight)},[t,i]),!c&&!s)return null;let d=u[null==n?void 0:n.phase]||(c?"Thinking":"Working…"),h=(null==n?void 0:n.elapsedMs)?"".concat(Math.round(n.elapsedMs/1e3),"s"):null;return(0,a.jsxs)("div",{className:"thinking-disclosure"+(i?" open":""),children:[(0,a.jsxs)("button",{type:"button",className:"thinking-toggle",onClick:()=>c&&l(e=>!e),"aria-expanded":i,disabled:!c,title:c?"Show reasoning":void 0,children:[(0,a.jsx)("span",{className:"thinking-dot"+(s?" pulsing":""),"aria-hidden":"true"}),(0,a.jsx)("span",{className:"thinking-label",children:d}),h&&(0,a.jsx)("span",{className:"thinking-elapsed",children:h}),c&&(0,a.jsx)("svg",{className:"thinking-caret"+(i?" open":""),width:"10",height:"10",viewBox:"0 0 10 10",fill:"none","aria-hidden":"true",children:(0,a.jsx)("path",{d:"M2 3.5L5 6.5L8 3.5",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})]}),i&&c&&(0,a.jsx)("div",{className:"thinking-body",ref:o,children:t})]})}var m=n(93247);let p="madarx:composerHeight";function f(e){return Math.min(Math.max(160,Math.round(.72*window.innerHeight)),Math.max(72,Math.round(e)))}let g=(0,r.memo)(function(){var e,t,n;let{initializing:s,models:u,selectedModel:g,modelOpen:v,setModelOpen:x,usage:j,ctxLimit:w,ctxPct:b,grouped:y,pickModel:k,sessions:N,sessionId:S,openConfig:_,chat:C,mainAgent:E,setChatHidden:L,setVoiceOpen:M}=(0,i.M)(),{prompt:D,setPrompt:A}=(0,m.r)(),I=N.sessionsOpen,T=N.setSessionsOpen,R=N.newSession,O=N.openSession,P=N.deleteSession,z=N.sessions||[],W=E.feedRef,B=E.liveSteps,U=E.busyStartTime,F=E.agentPhase,H=E.liveThinking,J=E.liveStatus,q=E.busy,V=E.command,X=E.stop,Y=E.decideApproval,K=(0,r.useCallback)(()=>L(!0),[L]),G=(0,r.useCallback)(()=>M(!0),[M]),Z=(0,r.useRef)(null),$=(0,r.useRef)(null),Q=(0,r.useRef)(0),[ee,et]=(0,r.useState)([]),[en,ea]=(0,r.useState)(!1),[es,ei]=(0,r.useState)(null),[er,el]=(0,r.useState)(!1),[eo,ec]=(0,r.useState)(!1),[ed,eu]=(0,r.useState)(120),[eh,em]=(0,r.useState)(!1),ep=(0,r.useCallback)(async e=>{let t=Array.from(e||[]).filter(Boolean);t.length&&(ei(null),et(e=>{let n=8-e.length;if(n<=0)return ei("Max ".concat(8," files")),e;let a=t.slice(0,n),s=new FormData;return a.forEach(e=>s.append("files",e)),ea(!0),fetch("/api/orchestrator/upload",{method:"POST",body:s}).then(async e=>{let t=await e.json().catch(()=>({}));if(!e.ok)return void ei(t.error||"Upload failed");let n=(t.attachments||[]).map((e,t)=>({...e,previewUrl:"image"===e.kind&&a[t]?URL.createObjectURL(a[t]):null}));et(e=>[...e,...n])}).catch(e=>ei(e.message||"Upload failed")).finally(()=>ea(!1)),e}))},[]),ef=(0,r.useCallback)(e=>{et(t=>{let n=t.find(t=>t.id===e);return(null==n?void 0:n.previewUrl)&&URL.revokeObjectURL(n.previewUrl),t.filter(t=>t.id!==e)})},[]),eg=(0,r.useCallback)(()=>{var e,t;if(q||en)return;let n=null!=(t=null==(e=Z.current)?void 0:e.value)?t:"";(n.trim()||0!==ee.length)&&(A(""),V(n,ee.map(e=>{let{id:t,name:n,mime:a,size:s,kind:i}=e;return{id:t,name:n,mime:a,size:s,kind:i}})),ee.forEach(e=>{e.previewUrl&&URL.revokeObjectURL(e.previewUrl)}),et([]),ei(null))},[q,en,ee,A,V]),ev=(0,r.useCallback)(e=>{var t;let n=null==(t=e.clipboardData)?void 0:t.items;if(!n)return;let a=[];for(let e of n)if("file"===e.kind){let t=e.getAsFile();t&&a.push(t)}a.length&&(e.preventDefault(),ep(a))},[ep]),ex=(0,r.useCallback)(e=>{var t,n;(null==(n=e.dataTransfer)||null==(t=n.types)?void 0:t.includes("Files"))&&(e.preventDefault(),Q.current+=1,el(!0))},[]),ej=(0,r.useCallback)(e=>{var t,n;(null==(n=e.dataTransfer)||null==(t=n.types)?void 0:t.includes("Files"))&&e.preventDefault()},[]),ew=(0,r.useCallback)(()=>{Q.current=Math.max(0,Q.current-1),0===Q.current&&el(!1)},[]),eb=(0,r.useCallback)(e=>{var t,n;(null==(n=e.dataTransfer)||null==(t=n.files)?void 0:t.length)&&(e.preventDefault(),Q.current=0,el(!1),ep(e.dataTransfer.files))},[ep]);(0,r.useEffect)(()=>{if(eo)return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e);function e(e){"Escape"===e.key&&ec(!1)}},[eo]),(0,r.useEffect)(()=>{try{let e=Number(localStorage.getItem(p));e>=72&&eu(f(e))}catch(e){}},[]),(0,r.useEffect)(()=>{try{localStorage.setItem(p,String(ed))}catch(e){}},[ed]);let ey=(0,r.useCallback)(e=>{e.preventDefault();let t=e.clientY;em(!0);let n=e=>eu(f(ed+(t-e.clientY))),a=()=>{em(!1),window.removeEventListener("pointermove",n),window.removeEventListener("pointerup",a)};window.addEventListener("pointermove",n),window.addEventListener("pointerup",a)},[ed]),ek=(0,r.useCallback)(e=>{"ArrowUp"===e.key?(e.preventDefault(),eu(e=>f(e+24))):"ArrowDown"===e.key&&(e.preventDefault(),eu(e=>f(e-24)))},[]),eN=(0,r.useCallback)(()=>eu(120),[]);return(0,r.useEffect)(()=>{function e(){var e,t;null==(e=Z.current)||e.focus(),null==(t=Z.current)||t.scrollIntoView({block:"center",behavior:"smooth"})}function t(){R(),window.setTimeout(e,0)}return window.addEventListener("madarx:focus-composer",e),window.addEventListener("madarx:new-chat",t),()=>{window.removeEventListener("madarx:focus-composer",e),window.removeEventListener("madarx:new-chat",t)}},[R]),(0,a.jsxs)("div",{className:"chat-column"+(er?" chat-column--dragover":"")+(eo?" chat-column--fullscreen":"")+(eh?" chat-column--resizing":""),onDragEnter:ex,onDragOver:ej,onDragLeave:ew,onDrop:eb,children:[er&&(0,a.jsx)("div",{className:"chat-dropzone","aria-hidden":"true",children:(0,a.jsxs)("div",{className:"chat-dropzone-inner",children:[(0,a.jsxs)("svg",{width:"34",height:"34",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,a.jsx)("path",{d:"M12 16V4M12 4L7 9M12 4l5 5"}),(0,a.jsx)("path",{d:"M4 16v2.5A1.5 1.5 0 0 0 5.5 20h13a1.5 1.5 0 0 0 1.5-1.5V16"})]}),(0,a.jsx)("span",{children:"Drop files to attach"})]})}),(0,a.jsxs)("section",{className:"chat",children:[(0,a.jsxs)("div",{className:"chat-top",children:[(0,a.jsxs)("div",{className:"model-pill-wrap",children:[(0,a.jsxs)("button",{className:"model-pill",onClick:()=>x(e=>!e),"aria-haspopup":"listbox","aria-expanded":v,title:j.context>0?"Context: ".concat((j.context/1e3).toFixed(1),"K / ").concat((w/1e3).toFixed(0),"K (").concat(b,"%) \xb7 cache read ").concat(j.cache_read||0):"Pick model",children:[(0,a.jsx)("span",{className:"model-name",children:null!=(n=null!=(t=null==(e=u.find(e=>e.id===g))?void 0:e.label)?t:g)?n:"Pick model"}),j.context>0?(0,a.jsxs)("span",{className:"ctx-tokens",children:[(j.context/1e3).toFixed(1),"K \xb7 ",b,"%"]}):j.input+j.output>0?(0,a.jsxs)("span",{className:"ctx-tokens",children:[((j.input+j.output)/1e3).toFixed(1),"K ctx"]}):null,(0,a.jsx)("svg",{width:"10",height:"10",viewBox:"0 0 10 10",fill:"none",children:(0,a.jsx)("path",{d:"M2 3.5L5 6.5L8 3.5",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})]}),v&&(0,a.jsx)("ul",{className:"model-dropdown",role:"listbox",children:y.map(e=>(0,a.jsxs)("li",{className:"model-group",children:[(0,a.jsx)("span",{className:"model-group-label",children:e.label}),(0,a.jsx)("ul",{children:e.items.map(e=>(0,a.jsx)("li",{role:"option","aria-selected":e.id===g,className:"model-option"+(e.id===g?" selected":""),onClick:()=>k(e.id),children:"ollama"===e.engine?e.id:e.label},e.id))})]},e.engine))})]}),(0,a.jsxs)("div",{className:"chat-actions",children:[(0,a.jsxs)("div",{className:"chat-session-menu",children:[(0,a.jsx)("button",{className:"config-btn",style:{marginLeft:0},onClick:()=>T(e=>!e),title:"Conversations","aria-label":"Conversations","aria-haspopup":"listbox","aria-expanded":I,children:(0,a.jsxs)("svg",{width:"15",height:"15",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,a.jsx)("rect",{x:"3",y:"7",width:"14",height:"14",rx:"3"}),(0,a.jsx)("path",{d:"M7 7V5.5A2.5 2.5 0 0 1 9.5 3H18.5A2.5 2.5 0 0 1 21 5.5V14.5A2.5 2.5 0 0 1 18.5 17H17"})]})}),I&&(0,a.jsxs)("ul",{className:"model-dropdown sessions-dropdown",role:"listbox",children:[(0,a.jsxs)("li",{className:"model-option session-new-option",onClick:R,children:[(0,a.jsx)("span",{children:"+"})," New chat"]}),0===z.length&&(0,a.jsx)("li",{className:"model-option session-empty-option",children:"No saved sessions"}),z.map(e=>{let t=e.total_input_tokens+e.total_output_tokens>0?"".concat((((e.total_input_tokens||0)+(e.total_output_tokens||0))/1e3).toFixed(1),"K"):"0";return(0,a.jsxs)("li",{role:"option","aria-selected":e.id===S,className:"model-option session-option"+(e.id===S?" selected":""),onClick:()=>O(e.id),children:[(0,a.jsx)("span",{className:"session-title",children:e.title||"Untitled chat"}),(0,a.jsx)("span",{className:"session-tokens",children:t}),(0,a.jsx)("button",{onClick:t=>{t.stopPropagation(),P(e.id)},title:"Delete session","aria-label":"Delete session",className:"session-delete-btn",children:"x"})]},e.id)})]})]}),G?(0,a.jsx)("button",{className:"config-btn voice-launch",style:{marginLeft:0},onClick:G,title:"Open voice console","aria-label":"Open voice console",children:(0,a.jsxs)("svg",{width:"15",height:"15",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[(0,a.jsx)("rect",{x:"9",y:"3",width:"6",height:"12",rx:"3"}),(0,a.jsx)("path",{d:"M5 11a7 7 0 0 0 14 0"}),(0,a.jsx)("line",{x1:"12",y1:"18",x2:"12",y2:"21"}),(0,a.jsx)("line",{x1:"8",y1:"21",x2:"16",y2:"21"})]})}):null,(0,a.jsx)("button",{className:"config-btn"+(eo?" on":""),style:{marginLeft:0},onClick:()=>ec(e=>!e),title:eo?"Exit full screen":"Full screen","aria-label":eo?"Exit full screen":"Full screen","aria-pressed":eo,children:eo?(0,a.jsx)("svg",{width:"15",height:"15",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.9",strokeLinecap:"round",strokeLinejoin:"round",children:(0,a.jsx)("path",{d:"M9 4v5H4M15 4v5h5M9 20v-5H4M15 20v-5h5"})}):(0,a.jsx)("svg",{width:"15",height:"15",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.9",strokeLinecap:"round",strokeLinejoin:"round",children:(0,a.jsx)("path",{d:"M4 9V4h5M20 9V4h-5M4 15v5h5M20 15v5h-5"})})}),K?(0,a.jsx)("button",{className:"config-btn",style:{marginLeft:0},onClick:K,title:"Minimize","aria-label":"Minimize chat",children:(0,a.jsx)("svg",{width:"15",height:"15",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.25",strokeLinecap:"round",strokeLinejoin:"round",children:(0,a.jsx)("path",{d:"M5 12h14"})})}):null,(0,a.jsx)("button",{className:"config-btn",style:{marginLeft:0},onClick:_,title:"Settings","aria-label":"Agent settings",children:(0,a.jsxs)("svg",{width:"15",height:"15",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,a.jsx)("line",{x1:"4",y1:"7",x2:"20",y2:"7"}),(0,a.jsx)("line",{x1:"4",y1:"12",x2:"20",y2:"12"}),(0,a.jsx)("line",{x1:"4",y1:"17",x2:"20",y2:"17"}),(0,a.jsx)("circle",{cx:"15",cy:"7",r:"2",fill:"currentColor",stroke:"none"}),(0,a.jsx)("circle",{cx:"9",cy:"12",r:"2",fill:"currentColor",stroke:"none"}),(0,a.jsx)("circle",{cx:"17",cy:"17",r:"2",fill:"currentColor",stroke:"none"})]})})]})]}),(0,a.jsxs)("div",{className:"feed",ref:W,children:[s?(0,a.jsxs)("div",{className:"feed-skeleton","aria-hidden":"true",children:[(0,a.jsxs)("div",{className:"msg agent msg--skel",children:[(0,a.jsx)("div",{className:"skel sk-line sk-line--w90"}),(0,a.jsx)("div",{className:"skel sk-line sk-line--w70"}),(0,a.jsx)("div",{className:"skel sk-line sk-line--w55"})]}),(0,a.jsxs)("div",{className:"msg user msg--skel",children:[(0,a.jsx)("div",{className:"skel sk-line sk-line--w65"}),(0,a.jsx)("div",{className:"skel sk-line sk-line--w40"})]}),(0,a.jsxs)("div",{className:"msg agent msg--skel",children:[(0,a.jsx)("div",{className:"skel sk-line sk-line--w85"}),(0,a.jsx)("div",{className:"skel sk-line sk-line--w50"})]})]}):C.map((e,t)=>{var n,s;let i="agent"===e.role,r=i&&e.streaming?(n=e.text)?n.replace(/```madarx-action[\s\S]*?```/gi,"").replace(/```madarx-action[\s\S]*$/i,"").replace(/```html[\s\S]*?```/gi,"").replace(/```html[\s\S]*$/i,"").replace(/<!doctype html[\s\S]*$/i,"").replace(/<html[\s>][\s\S]*$/i,"").trim():"":e.text,c=i&&(e.building||e.streaming&&!r&&(s=e.text,/```html|<!doctype html|<html[\s>]/i.test(s||"")));return!i||r||c?(0,a.jsxs)("div",{className:"msg "+e.role+(e.streaming?" msg--streaming":"")+(c?" msg--building":""),children:[c?(0,a.jsxs)("div",{className:"artifact-building","aria-live":"polite",children:[(0,a.jsx)("span",{className:"artifact-building-orb","aria-hidden":"true"}),(0,a.jsxs)("span",{className:"artifact-building-label",children:["Designing the page",(0,a.jsxs)("span",{className:"artifact-building-dots",children:[(0,a.jsx)("i",{children:"."}),(0,a.jsx)("i",{children:"."}),(0,a.jsx)("i",{children:"."})]})]})]}):(0,a.jsx)(l.oz,{remarkPlugins:[o.A],children:r}),Array.isArray(e.attachments)&&e.attachments.length>0&&(0,a.jsx)("div",{className:"msg-attachments",children:e.attachments.map(e=>(0,a.jsxs)("span",{className:"msg-attach-chip",title:e.name,children:[(0,a.jsxs)("svg",{width:"11",height:"11",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.9",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[(0,a.jsx)("path",{d:"M14 3v4a1 1 0 0 0 1 1h4"}),(0,a.jsx)("path",{d:"M17 21H7a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h7l5 5v11a2 2 0 0 1-2 2z"})]}),e.name]},e.id))})]},t):null}),(q||H&&H.trim())&&(0,a.jsx)(h,{thinking:H,status:J,busy:q}),B.length>0&&(0,a.jsxs)("div",{className:"tool-steps",children:[B.map(e=>{let t="claude_code_cli"===e.name||"codex_cli"===e.name,n=(0,d.bX)(e.name,e.input),s="awaiting_approval"===e.status,i="number"==typeof e.durationMs&&e.durationMs>0?(0,d.wb)(e.durationMs):null,r=e.preview?String(e.preview).split("\n").find(e=>e.trim()):null;return(0,a.jsxs)("div",{className:"tool-step tool-step--".concat(e.status)+(t?" tool-step--cli":""),children:[(0,a.jsxs)("span",{className:"tool-step-icon","aria-hidden":"true",children:["running"===e.status&&(0,a.jsx)(c.Nl,{}),"done"===e.status&&(0,a.jsx)(c.Sr,{}),"approved"===e.status&&(0,a.jsx)(c.Sr,{}),("error"===e.status||"denied"===e.status)&&(0,a.jsx)(c.wx,{}),s&&(0,a.jsx)("span",{style:{display:"inline-block",width:8,height:8,borderRadius:4,background:"#c2452a"}})]}),!t&&(0,a.jsx)("code",{className:"tool-step-name",children:(0,d.U_)(e.name)}),n&&(0,a.jsx)("span",{className:"tool-step-sub",children:n}),r&&"done"===e.status&&(0,a.jsx)("span",{className:"tool-step-preview",title:e.preview,children:r.slice(0,64)}),i&&!s&&(0,a.jsx)("span",{className:"tool-step-dur",children:i}),s&&e.approval_id?(0,a.jsxs)("span",{className:"tool-step-approve",style:{marginLeft:"auto",display:"inline-flex",gap:6},children:[(0,a.jsx)("button",{type:"button",onClick:()=>Y(e.approval_id,"approved",e.name),style:{appearance:"none",border:0,background:"#c2452a",color:"#fff",padding:"4px 10px",borderRadius:999,font:"600 11.5px/1 ui-sans-serif,system-ui",cursor:"pointer"},children:"Approve"}),(0,a.jsx)("button",{type:"button",onClick:()=>Y(e.approval_id,"denied",e.name),style:{appearance:"none",border:"1px solid rgba(17,19,24,.16)",background:"#fff",color:"#313740",padding:"4px 10px",borderRadius:999,font:"600 11.5px/1 ui-sans-serif,system-ui",cursor:"pointer"},children:"Deny"})]}):null]},e.id)}),q&&U&&("synthesis"===F||"tool"===F)&&(0,a.jsx)("div",{className:"tool-step-elapsed",children:(0,a.jsx)(c.YE,{startTime:U})})]}),q&&0===B.length&&!J&&!(H&&H.trim())&&(0,a.jsxs)("div",{className:"typing-indicator",children:[(0,a.jsx)("span",{}),(0,a.jsx)("span",{}),(0,a.jsx)("span",{})]})]})]}),(0,a.jsx)("div",{className:"composer-resizer",role:"separator","aria-orientation":"horizontal","aria-label":"Resize the message input","aria-valuenow":ed,tabIndex:0,onPointerDown:ey,onKeyDown:ek,onDoubleClick:eN,title:"Drag to resize \xb7 double-click to reset",children:(0,a.jsx)("span",{className:"composer-resizer-grip","aria-hidden":"true"})}),(0,a.jsx)("section",{className:"composer-panel",style:{height:ed},"aria-label":"Message input",children:(0,a.jsxs)("form",{className:"composer",onSubmit:e=>{e.preventDefault(),eg()},children:[(0,a.jsx)("input",{ref:$,type:"file",multiple:!0,hidden:!0,accept:"image/png,image/jpeg,image/gif,image/webp,application/pdf,text/*,.md,.markdown,.csv,.tsv,.json,.jsonl,.log,.yaml,.yml,.xml,.html,.css,.js,.jsx,.ts,.tsx,.mjs,.cjs,.py,.rb,.go,.rs,.java,.c,.h,.cpp,.cs,.php,.sh,.sql,.toml,.ini",onChange:e=>{ep(e.target.files),e.target.value=""}}),(0,a.jsxs)("div",{className:"composer-field",children:[(ee.length>0||en||es)&&(0,a.jsxs)("div",{className:"composer-attachments",children:[ee.map(e=>{var t;return(0,a.jsxs)("span",{className:"attach-chip",title:"".concat(e.name," \xb7 ").concat((t=e.size)||0===t?t<1024?"".concat(t," B"):t<1048576?"".concat((t/1024).toFixed(0)," KB"):"".concat((t/1024/1024).toFixed(1)," MB"):""),children:[e.previewUrl?(0,a.jsx)("img",{className:"attach-chip-thumb",src:e.previewUrl,alt:""}):(0,a.jsxs)("svg",{className:"attach-chip-icon",width:"13",height:"13",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[(0,a.jsx)("path",{d:"M14 3v4a1 1 0 0 0 1 1h4"}),(0,a.jsx)("path",{d:"M17 21H7a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h7l5 5v11a2 2 0 0 1-2 2z"})]}),(0,a.jsx)("span",{className:"attach-chip-name",children:e.name}),(0,a.jsx)("button",{type:"button",className:"attach-chip-x",onClick:()=>ef(e.id),"aria-label":"Remove ".concat(e.name),children:(0,a.jsx)("svg",{width:"11",height:"11",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.4",strokeLinecap:"round",children:(0,a.jsx)("path",{d:"M6 6l12 12M18 6L6 18"})})})]},e.id)}),en&&(0,a.jsx)("span",{className:"attach-uploading",children:"Uploading…"}),es&&(0,a.jsx)("span",{className:"attach-error",children:es})]}),(0,a.jsx)("textarea",{ref:Z,"data-madarx-composer":"true",value:D,onChange:e=>A(e.target.value),onPaste:ev,onKeyDown:e=>{"Enter"!==e.key||e.shiftKey||(e.preventDefault(),eg())},placeholder:"Start fresh: ask the main agent to create the first agent, report, schedule, or UI task…",rows:3})]}),(0,a.jsxs)("div",{className:"composer-actions",children:[(0,a.jsx)("button",{type:"button",className:"attach-btn",onClick:()=>{var e;return null==(e=$.current)?void 0:e.click()},disabled:q,title:"Attach files","aria-label":"Attach files",children:(0,a.jsx)("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.9",strokeLinecap:"round",strokeLinejoin:"round",children:(0,a.jsx)("path",{d:"M21.4 11.05 12.25 20.2a5.5 5.5 0 0 1-7.78-7.78l9.2-9.2a3.67 3.67 0 0 1 5.18 5.18l-9.2 9.19a1.83 1.83 0 0 1-2.59-2.59l8.49-8.48"})})}),q?(0,a.jsx)("button",{type:"button",className:"send-btn send-btn--stop",onClick:e=>{e.preventDefault(),X&&X()},"aria-label":"Stop main agent",title:"Stop main agent",children:(0,a.jsx)("svg",{width:"16",height:"16",viewBox:"0 0 18 18",fill:"none",children:(0,a.jsx)("rect",{x:"5",y:"5",width:"8",height:"8",rx:"1.5",fill:"currentColor"})})}):(0,a.jsx)("button",{className:"send-btn",disabled:!D.trim()&&0===ee.length||en,"aria-label":"Send",children:(0,a.jsx)("svg",{width:"16",height:"16",viewBox:"0 0 18 18",fill:"none",children:(0,a.jsx)("path",{d:"M9 14V4M9 4L4.5 8.5M9 4L13.5 8.5",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})})})]})]})})]})});var v=n(47650),x=n(58219);function j(){return(0,a.jsxs)("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round","aria-hidden":"true",children:[(0,a.jsx)("line",{x1:"6",y1:"6",x2:"18",y2:"18"}),(0,a.jsx)("line",{x1:"18",y1:"6",x2:"6",y2:"18"})]})}function w(e){var t;let{spaceId:n,spaceName:s,onClose:i}=e,[l,o]=(0,r.useState)([]),[c,d]=(0,r.useState)(!0),[u,h]=(0,r.useState)(!1),[m,p]=(0,r.useState)(""),[f,g]=(0,r.useState)(null),[x,w]=(0,r.useState)(7),[b,y]=(0,r.useState)(50),[k,N]=(0,r.useState)(!1),[S,_]=(0,r.useState)(!1),[C,E]=(0,r.useState)(null),[L,M]=(0,r.useState)("org"),[D,A]=(0,r.useState)(!1),[I,T]=(0,r.useState)(!1);(0,r.useEffect)(()=>{T(!0)},[]),(0,r.useEffect)(()=>{let e=document.body.style.overflow;return document.body.style.overflow="hidden",()=>{document.body.style.overflow=e}},[]);let R=window.location.origin,O=(0,r.useCallback)(e=>"".concat(R,"/share/space/").concat(e),[R]),P=(0,r.useCallback)(async()=>{d(!0);try{let[e,t]=await Promise.all([fetch("/api/dashboard/spaces/".concat(n,"/share-link"),{cache:"no-store"}),fetch("/api/shared/spaces/status?local_space_id=".concat(encodeURIComponent(n),"&space_type=dashboard_space"),{cache:"no-store"})]),a=await e.json().catch(()=>({}));e.ok&&o(a.data||[]);let s=await t.json().catch(()=>({}));t.ok&&(_(!!s.cloud_ready),E(s.status||null))}catch(e){p("Failed to load share state.")}finally{d(!1)}},[n]);async function z(e){e.preventDefault(),h(!0),p("");try{let e=await fetch("/api/dashboard/spaces/".concat(n,"/share-link"),{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({expires_in_days:Number(x)||null,max_views:Number(b)||null,require_email_otp:k})}),t=await e.json().catch(()=>({}));if(!e.ok)return void p(t.error||"Failed to create link.");await P()}catch(e){p("Failed to create link.")}finally{h(!1)}}async function W(e){try{(await fetch("/api/dashboard/spaces/".concat(n,"/share-link/").concat(e),{method:"DELETE"})).ok&&o(t=>t.filter(t=>t.id!==e))}catch(e){}}async function B(e,t){try{await navigator.clipboard.writeText(O(e)),g(t),setTimeout(()=>g(null),1500)}catch(e){}}async function U(){A(!0),p("");try{let e=await fetch("/api/shared/spaces/publish",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({space_type:"dashboard_space",space_id:n,visibility:L})}),t=await e.json().catch(()=>({}));if(!e.ok)return void p("shared_cloud_not_configured"===t.error?"Supabase cloud is not configured.":t.error||"Publish failed.");E(t.status||null)}catch(e){p("Publish failed.")}finally{A(!1)}}async function F(){A(!0),p("");try{let e=await fetch("/api/shared/spaces/unpublish",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({local_space_id:n,space_type:"dashboard_space"})}),t=await e.json().catch(()=>({}));if(!e.ok)return void p(t.error||"Unpublish failed.");E(t.status||null)}catch(e){p("Unpublish failed.")}finally{A(!1)}}(0,r.useEffect)(()=>{n&&P()},[n,P]);let H=(null==C?void 0:C.shared)||(null==C?void 0:C.status)==="published";return I?(0,v.createPortal)((0,a.jsx)("div",{className:"space-share-overlay",onClick:i,children:(0,a.jsxs)("div",{className:"space-share-modal",onClick:e=>e.stopPropagation(),role:"dialog","aria-modal":"true","aria-label":"Share ".concat(s),children:[(0,a.jsxs)("div",{className:"ssm-head",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("div",{className:"ssm-eyebrow",children:"Share space"}),(0,a.jsx)("h2",{className:"ssm-title",children:s})]}),(0,a.jsx)("button",{type:"button",className:"ssm-close",onClick:i,"aria-label":"Close",children:(0,a.jsx)(j,{})})]}),m?(0,a.jsx)("div",{className:"ssm-error",children:m}):null,(0,a.jsxs)("section",{className:"ssm-section",children:[(0,a.jsx)("h3",{className:"ssm-section-title",children:"Public link"}),(0,a.jsx)("p",{className:"ssm-note",children:"Anyone with the link can view every artifact in this space. New and moved-in artifacts are included automatically."}),(0,a.jsxs)("form",{className:"ssm-form",onSubmit:z,children:[(0,a.jsxs)("label",{className:"ssm-field",children:[(0,a.jsx)("span",{children:"Expires in (days)"}),(0,a.jsx)("input",{type:"number",min:"0",max:"90",value:x,onChange:e=>w(e.target.value)})]}),(0,a.jsxs)("label",{className:"ssm-field",children:[(0,a.jsx)("span",{children:"Max views"}),(0,a.jsx)("input",{type:"number",min:"0",value:b,onChange:e=>y(e.target.value)})]}),(0,a.jsxs)("label",{className:"ssm-check",children:[(0,a.jsx)("input",{type:"checkbox",checked:k,onChange:e=>N(e.target.checked)}),(0,a.jsx)("span",{children:"Require email verification"})]}),(0,a.jsx)("button",{type:"submit",className:"ssm-btn ssm-btn-primary",disabled:u,children:u?"Creating…":"Create link"})]}),(0,a.jsxs)("div",{className:"ssm-links",children:[c?(0,a.jsx)("div",{className:"ssm-muted",children:"Loading…"}):null,c||0!==l.length?null:(0,a.jsx)("div",{className:"ssm-muted",children:"No active links."}),l.map(e=>(0,a.jsxs)("div",{className:"ssm-link",children:[(0,a.jsxs)("div",{className:"ssm-link-main",children:[(0,a.jsx)("input",{className:"ssm-link-url",readOnly:!0,value:O(e.token),onFocus:e=>e.target.select()}),(0,a.jsx)("button",{type:"button",className:"ssm-btn ssm-btn-sm",onClick:()=>B(e.token,e.id),children:f===e.id?"Copied":"Copy"}),(0,a.jsx)("button",{type:"button",className:"ssm-btn ssm-btn-sm ssm-btn-danger",onClick:()=>W(e.id),children:"Revoke"})]}),(0,a.jsxs)("div",{className:"ssm-link-meta",children:["Expires ",function(e){if(!e)return"never";try{return new Date(e).toLocaleDateString(void 0,{month:"short",day:"numeric",year:"numeric"})}catch(t){return e}}(e.expires_at)," \xb7 ",e.access_count,null!=e.max_views?"/".concat(e.max_views):""," views",e.require_email_otp?" \xb7 email-gated":""]})]},e.id))]})]}),S?(0,a.jsxs)("section",{className:"ssm-section",children:[(0,a.jsx)("h3",{className:"ssm-section-title",children:"Org workspace"}),(0,a.jsx)("p",{className:"ssm-note",children:"Publish this space to your organization. Only signed-in teammates can see it."}),H?(0,a.jsxs)("div",{className:"ssm-cloud-status",children:[(0,a.jsx)("span",{className:"ssm-badge ssm-badge-on",children:"Published"}),(0,a.jsxs)("span",{className:"ssm-muted",children:[(null==C?void 0:C.visibility)||"org"," \xb7 ",null!=(t=null==C?void 0:C.resource_count)?t:0," artifacts indexed"]}),(0,a.jsx)("button",{type:"button",className:"ssm-btn ssm-btn-sm ssm-btn-danger",onClick:F,disabled:D,children:D?"…":"Unpublish"})]}):(0,a.jsxs)("div",{className:"ssm-form",children:[(0,a.jsxs)("label",{className:"ssm-field",children:[(0,a.jsx)("span",{children:"Visibility"}),(0,a.jsxs)("select",{value:L,onChange:e=>M(e.target.value),children:[(0,a.jsx)("option",{value:"org",children:"Whole organization"}),(0,a.jsx)("option",{value:"team",children:"Team"}),(0,a.jsx)("option",{value:"private",children:"Private"})]})]}),(0,a.jsx)("button",{type:"button",className:"ssm-btn ssm-btn-primary",onClick:U,disabled:D,children:D?"Publishing…":"Publish to org"})]})]}):null]})}),document.body):null}function b(e){let{space:t,active:n,count:s,onActivate:i,onRename:l,onDelete:o,onShare:c,isEmpty:d,canDelete:u,onMoveArtifactHere:h,dragOverSpaceId:m,setDragOverSpaceId:p,pointerDropSpaceId:f}=e,[g,v]=(0,r.useState)(!1),[x,j]=(0,r.useState)(t.name),[w,b]=(0,r.useState)(!1),y=(0,r.useRef)(null),k=(0,r.useRef)(null);function N(){v(!1);let e=x.trim();e&&e!==t.name?l(t.id,e):j(t.name)}return(0,r.useEffect)(()=>{j(t.name)},[t.name]),(0,r.useEffect)(()=>{if(w)return document.addEventListener("pointerdown",e),()=>document.removeEventListener("pointerdown",e);function e(e){var t;(null==(t=y.current)?void 0:t.contains(e.target))||b(!1)}},[w]),(0,r.useEffect)(()=>{if(g){var e,t;null==(e=k.current)||e.focus(),null==(t=k.current)||t.select()}},[g]),(0,a.jsxs)("div",{"data-space-id":t.id,className:"space-chip"+(n?" is-active":"")+(m===t.id||f===t.id?" is-drop-target":""),onClick:()=>{g||i(t.id)},onDoubleClick:e=>{e.stopPropagation(),v(!0)},onContextMenu:e=>{e.preventDefault(),b(!0)},onDragOver:e=>{e.preventDefault(),p(t.id)},onDragLeave:()=>p(e=>e===t.id?null:e),onDrop:e=>{e.preventDefault();let n=e.dataTransfer.getData("text/x-artifact-id");n&&h(n,t.id),p(null)},title:g?"":"Click to switch \xb7 Double-click to rename \xb7 Right-click for more",children:[g?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("input",{ref:k,className:"space-chip-input",value:x,onChange:e=>j(e.target.value),onBlur:N,onKeyDown:e=>{"Enter"===e.key?N():"Escape"===e.key&&(v(!1),j(t.name))},maxLength:32}),d&&u&&(0,a.jsx)("button",{type:"button",className:"space-chip-action space-chip-action--delete",onMouseDown:e=>e.preventDefault(),onClick:e=>{e.stopPropagation(),o(t.id)},"aria-label":"Delete ".concat(t.name),title:"Delete empty space",tabIndex:-1,children:(0,a.jsxs)("svg",{width:"10",height:"10",viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round","aria-hidden":"true",children:[(0,a.jsx)("line",{x1:"3.5",y1:"3.5",x2:"12.5",y2:"12.5"}),(0,a.jsx)("line",{x1:"12.5",y1:"3.5",x2:"3.5",y2:"12.5"})]})})]}):(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("span",{className:"space-chip-name",children:t.name}),s>0&&(0,a.jsx)("span",{className:"space-chip-count",children:s})]}),w&&(0,a.jsxs)("div",{className:"space-chip-menu",ref:y,onClick:e=>e.stopPropagation(),children:[(0,a.jsx)("button",{type:"button",onClick:()=>{b(!1),v(!0)},children:"Rename"}),(0,a.jsx)("button",{type:"button",onClick:()=>{b(!1),c(t.id)},children:"Share"}),(0,a.jsxs)("button",{type:"button",disabled:!u||!d,onClick:()=>{b(!1),u&&d&&o(t.id)},title:d?u?"Delete this empty space":"Cannot delete the last space":"Move or delete its artifacts first",children:["Delete",d?"":" (not empty)"]})]})]})}function y(e){let{artifact:t,spaces:n,activeSpaceId:s,hoveredDockId:i,setHoveredDockId:c,onRestore:d,onMove:u}=e,h=(0,x.o0)(t.kind),[m,p]=(0,r.useState)(!1),f=(0,r.useRef)(null);(0,r.useEffect)(()=>{if(m)return document.addEventListener("pointerdown",e),()=>document.removeEventListener("pointerdown",e);function e(e){var t;(null==(t=f.current)?void 0:t.contains(e.target))||p(!1)}},[m]);let g=n.filter(e=>e.id!==s);return(0,a.jsxs)("div",{className:"dock-item",onMouseEnter:()=>c(t.id),onMouseLeave:()=>c(e=>e===t.id?null:e),onContextMenu:e=>{e.preventDefault(),p(!0)},draggable:!0,onDragStart:e=>{e.dataTransfer.setData("text/x-artifact-id",t.id),e.dataTransfer.effectAllowed="move"},children:[(0,a.jsx)("button",{type:"button",className:"dock-card",onClick:()=>d(t.id),"aria-label":"Restore: ".concat(t.title),title:t.title||"Artifact",children:(0,a.jsx)("div",{className:"dock-thumb",children:t.content?h?(0,a.jsx)("iframe",{srcDoc:(0,x.sV)(t.content),sandbox:"allow-same-origin",title:"Thumbnail: ".concat(t.title),tabIndex:-1,"aria-hidden":"true",loading:"lazy"}):(0,a.jsx)("div",{className:"win-md",children:(0,a.jsx)(l.oz,{remarkPlugins:[o.A],children:t.content})}):(0,a.jsx)("div",{className:"dock-thumb-empty",children:t.kind||"doc"})})}),i===t.id&&!m&&(0,a.jsxs)("div",{className:"dock-preview",role:"tooltip",children:[(0,a.jsxs)("div",{className:"dock-preview-title",children:[(0,a.jsx)("span",{className:"artifact-kind-badge "+(t.kind||"text"),children:t.kind}),(0,a.jsx)("b",{children:t.title||"Artifact"})]}),(0,a.jsx)("div",{className:"dock-preview-body"+(h?" is-html":" is-md"),children:h?(0,a.jsx)("iframe",{srcDoc:(0,x.sV)(t.content),sandbox:"allow-scripts allow-same-origin",title:"Preview: ".concat(t.title),tabIndex:-1,"aria-hidden":"true"}):(0,a.jsx)("div",{className:"win-md",children:(0,a.jsx)(l.oz,{remarkPlugins:[o.A],children:t.content||""})})})]}),m&&(0,a.jsxs)("div",{className:"dock-item-menu",ref:f,onClick:e=>e.stopPropagation(),children:[(0,a.jsx)("div",{className:"dock-item-menu-label",children:"Move to space"}),0===g.length?(0,a.jsx)("div",{className:"dock-item-menu-empty",children:"No other spaces"}):g.map(e=>(0,a.jsx)("button",{type:"button",onClick:()=>{u(t.id,e.id),p(!1)},children:e.name},e.id)),(0,a.jsx)("div",{className:"dock-item-menu-divider"}),(0,a.jsx)("button",{type:"button",onClick:()=>{d(t.id),p(!1)},children:"Restore"})]})]})}function k(e){let{spaces:t,activeSpaceId:n,setActiveSpaceId:s,createSpace:i,renameSpace:l,deleteSpace:o,moveArtifactToSpace:c,artifacts:d,dockedArtifacts:u,minimizedIds:h,hoveredDockId:m,setHoveredDockId:p,toggleMinimize:f,pointerDropSpaceId:g}=e,[v,x]=(0,r.useState)(null),[j,k]=(0,r.useState)(null),N=(0,r.useMemo)(()=>{let e=new Map;for(let n of t)e.set(n.id,[]);for(let t of d||[]){let n=t.space_id||"default";e.has(n)&&e.get(n).push(t.id)}return e},[t,d]);function S(e,t){c(e,t)}return(0,a.jsxs)("div",{className:"artifact-dock",role:"toolbar","aria-label":"Spaces and minimized artifacts",children:[(0,a.jsxs)("div",{className:"dock-spaces",children:[t.map(e=>(0,a.jsx)(b,{space:e,active:e.id===n,count:(N.get(e.id)||[]).filter(e=>!h[e]).length,isEmpty:0===(N.get(e.id)||[]).length,onActivate:s,onRename:l,onDelete:o,onShare:k,canDelete:t.length>1,onMoveArtifactHere:S,dragOverSpaceId:v,setDragOverSpaceId:x,pointerDropSpaceId:g},e.id)),(0,a.jsx)("button",{type:"button",className:"space-add",onClick:()=>i(),"aria-label":"Create new space",title:"New space",children:(0,a.jsxs)("svg",{width:"13",height:"13",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.4",strokeLinecap:"round",children:[(0,a.jsx)("line",{x1:"12",y1:"5",x2:"12",y2:"19"}),(0,a.jsx)("line",{x1:"5",y1:"12",x2:"19",y2:"12"})]})})]}),u.length>0&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("div",{className:"dock-divider","aria-hidden":"true"}),(0,a.jsx)("div",{className:"dock-items",children:u.map(e=>(0,a.jsx)(y,{artifact:e,spaces:t,activeSpaceId:n,hoveredDockId:m,setHoveredDockId:p,onRestore:f,onMove:S},e.id))})]}),j?(0,a.jsx)(w,{spaceId:j,spaceName:(t.find(e=>e.id===j)||{}).name||"Space",onClose:()=>k(null)}):null]})}function N(e){let{onActivate:t}=e,n=(0,r.useRef)(null);return(0,r.useEffect)(()=>{let e=n.current;if(!e)return;let t=e=>(0,x.x2)(e);return e.addEventListener("wheel",t,{passive:!1}),()=>e.removeEventListener("wheel",t)},[]),(0,a.jsx)("div",{ref:n,className:"iframe-focus-shield","aria-hidden":"true",onPointerDown:e=>{e.preventDefault(),e.stopPropagation(),t()}})}function S(e){let{confirmDeleteId:t,setConfirmDeleteId:n,deleteArtifactById:s,setMoveMenu:r}=e,{artifacts:c,visibleArtifacts:d,frontArtifactId:u,zForArtifact:h,artifactLayout:m,registerArtifactFrame:p}=(0,i.M)(),f=m.setBoardEl,g=m.getLayout,v=m.draggingId,j=m.resizingId,w=m.selectedArtifactId,b=m.toggleMinimize,y=m.setFullscreenId,k=m.downloadArtifact,S=m.startDrag,_=m.startResize,C=m.bringToFront;return(0,a.jsx)("div",{ref:f,className:"canvas-board canvas-board--docked",children:d.map(e=>{let i=c.findIndex(t=>t.id===e.id),d=g(e.id,i),m=h(e),f=(0,x.o0)(e.kind),E=e.id===u;return(0,a.jsxs)("div",{className:"artifact-window-wrap"+(v===e.id?" is-dragging":""),"data-dragging":v===e.id?"true":"false","data-resizing":j===e.id?"true":"false",style:{transform:"translate3d(".concat(d.x,"px, ").concat(d.y,"px, 0)"),width:d.width,height:d.height,zIndex:m},onPointerDown:()=>C(e.id),children:[(0,a.jsxs)("div",{className:"window artifact-window"+(e.id===w?" artifact-window--new":""),children:[(0,a.jsx)("div",{className:"winbar",onPointerDown:t=>S(t,e.id),onDoubleClick:t=>{t.target.closest("button, i, .confirm-label")||y(e.id)},onContextMenu:t=>{t.target.closest("button, i, .confirm-label")||(t.preventDefault(),r({artifactId:e.id,x:t.clientX,y:t.clientY}))},title:"Drag onto a space chip to move \xb7 Right-click for more \xb7 Double-click to expand",children:t===e.id?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("span",{className:"confirm-label",children:"Delete permanently?"}),(0,a.jsx)("button",{className:"confirm-cancel",onClick:()=>n(null),children:"Cancel"}),(0,a.jsx)("button",{className:"confirm-delete",onClick:()=>s(e.id),children:"Delete"})]}):(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("i",{className:"dot-close",onClick:()=>n(e.id),title:"Delete"}),(0,a.jsx)("i",{className:"dot-minimize",onClick:()=>b(e.id),title:"Minimize"}),(0,a.jsx)("i",{className:"dot-zoom",onClick:()=>y(e.id),title:"Expand"}),(0,a.jsx)("b",{children:e.title||"Artifact"}),(0,a.jsx)("span",{className:"artifact-kind-badge "+(e.kind||"text"),children:e.kind}),(0,a.jsx)("button",{className:"winbar-dl",onClick:()=>k(e),title:(0,x.o0)(e.kind)?"Download .html":"Download .md",children:(0,a.jsxs)("svg",{width:"11",height:"11",viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:"2.2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,a.jsx)("path",{d:"M8 2v9M4 7l4 4 4-4"}),(0,a.jsx)("line",{x1:"2",y1:"14",x2:"14",y2:"14"})]})})]})}),(0,a.jsxs)("div",{className:"win-content",onWheelCapture:x.qE,children:[v===e.id&&(0,a.jsx)("div",{className:"drag-blocker"}),j===e.id&&(0,a.jsx)("div",{className:"resize-blocker"}),f?(0,a.jsxs)(a.Fragment,{children:[!E&&(0,a.jsx)(N,{onActivate:()=>C(e.id)}),(0,a.jsx)("iframe",{ref:(0,x.Jw)(p),srcDoc:(0,x.sV)(e.content),sandbox:"allow-scripts allow-same-origin allow-popups allow-popups-to-escape-sandbox",title:e.title,onLoad:x.MZ})]}):(0,a.jsx)("div",{className:"win-md",children:(0,a.jsx)(l.oz,{remarkPlugins:[o.A],children:e.content||""})})]})]}),["nw","n","ne","e","se","s","sw","w"].map(t=>(0,a.jsx)("div",{className:"resize-edge resize-"+t,onPointerDown:n=>_(n,e.id,t)},t))]},e.id)})})}function _(e){let{artifact:t,docked:n,onClose:s,confirmDeleteId:i,setConfirmDeleteId:c,deleteArtifactById:d,toggleMinimize:u,downloadArtifact:h,registerArtifactFrame:m}=e,[p,f]=(0,r.useState)("enter"),g=(0,r.useRef)(!1);function v(e){g.current||(g.current=!0,f("exit"),setTimeout(()=>{"function"==typeof e&&e(),s()},260))}return(0,r.useEffect)(()=>{let e={first:0,second:0};return e.first=requestAnimationFrame(()=>{e.second=requestAnimationFrame(()=>f("open"))}),()=>{e.first&&cancelAnimationFrame(e.first),e.second&&cancelAnimationFrame(e.second)}},[]),(0,r.useEffect)(()=>{function e(e){"Escape"===e.key&&v()}return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[]),(0,a.jsxs)("div",{className:"artifact-fs"+(n?" artifact-fs--docked":""),"data-phase":p,children:[(0,a.jsx)("div",{className:"winbar artifact-fs-bar",onDoubleClick:e=>{e.target.closest("button, i, .confirm-label")||v()},title:"Double-click to exit fullscreen",children:i===t.id?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("span",{className:"confirm-label",children:"Delete permanently?"}),(0,a.jsx)("button",{className:"confirm-cancel",onClick:()=>c(null),children:"Cancel"}),(0,a.jsx)("button",{className:"confirm-delete",onClick:()=>v(()=>d(t.id)),children:"Delete"})]}):(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("i",{className:"dot-close",onClick:()=>c(t.id),title:"Delete"}),(0,a.jsx)("i",{className:"dot-minimize",onClick:()=>v(()=>u(t.id)),title:"Minimize"}),(0,a.jsx)("i",{className:"dot-zoom",onClick:()=>v(),title:"Exit fullscreen"}),(0,a.jsx)("b",{children:t.title||"Artifact"}),(0,a.jsx)("span",{className:"artifact-kind-badge "+(t.kind||"text"),children:t.kind}),(0,a.jsx)("button",{className:"winbar-dl",onClick:()=>h(t),title:(0,x.o0)(t.kind)?"Download .html":"Download .md",children:(0,a.jsxs)("svg",{width:"11",height:"11",viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:"2.2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,a.jsx)("path",{d:"M8 2v9M4 7l4 4 4-4"}),(0,a.jsx)("line",{x1:"2",y1:"14",x2:"14",y2:"14"})]})})]})}),(0,a.jsx)("div",{className:"artifact-fs-content",children:(0,x.o0)(t.kind)?(0,a.jsx)("iframe",{ref:(0,x.Jw)(m),srcDoc:(0,x.sV)(t.content),sandbox:"allow-scripts allow-same-origin allow-popups allow-popups-to-escape-sandbox",title:t.title,onLoad:x.MZ}):(0,a.jsx)("div",{className:"win-md",children:(0,a.jsx)(l.oz,{remarkPlugins:[o.A],children:t.content||""})})})]})}function C(){let{mainAgent:e,runtimeActions:t,runtimeSignalCount:n,pendingApprovals:s,heartbeatTasks:r,localProcesses:l,localActions:o}=(0,i.M)(),u=t.runtimeOpen,h=t.setRuntimeOpen,m=e.busy,p=e.hasBgActivity,f=e.bgAgentList,g=e.busyStartTime,v=e.agentPhase,x=e.liveSteps,j=t.decideGenericApproval,w=t.approvalBusyId,b=t.ensureOpsAgentAction,y=t.processHeartbeatOnceAction,k=t.runtimeActionBusy;return(0,a.jsxs)("div",{className:"runtime-menu-wrap",children:[(0,a.jsxs)("button",{className:"runtime-menu-btn"+(u?" on":"")+(m||p?" runtime-menu-btn--busy":""),onClick:()=>h(e=>!e),title:m?"Main agent is working — click to see live activity":p?"".concat(f.filter(e=>"running"===e.status).length," background agent(s) working"):"Runtime activity","aria-label":"Runtime activity","aria-expanded":u,children:[(0,a.jsx)("svg",{width:"15",height:"15",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:(0,a.jsx)("path",{d:"M4 12h4l2-7 4 14 2-7h4"})}),(m||p)&&(0,a.jsx)("span",{className:"runtime-busy-dot","aria-hidden":"true"}),!m&&!p&&n>0&&(0,a.jsx)("span",{children:n})]}),u&&(0,a.jsxs)("div",{className:"runtime-popover",children:[(0,a.jsxs)("div",{className:"runtime-popover-head",children:[(0,a.jsx)("b",{children:"Operator Command Center"}),(0,a.jsx)("small",{children:"Approvals, running work, failed runs, and task queues"}),(0,a.jsxs)("div",{className:"runtime-quick-links","aria-label":"Operator quick links",children:[(0,a.jsx)("a",{href:"/approvals",children:"Approvals"}),(0,a.jsx)("a",{href:"/tasks",children:"Tasks"}),(0,a.jsx)("a",{href:"/activity",children:"Activity"}),(0,a.jsx)("a",{href:"/runtime",children:"Runtime"})]})]}),m&&(0,a.jsxs)("div",{className:"runtime-live-section",children:[(0,a.jsxs)("div",{className:"runtime-live-header",children:[(0,a.jsxs)("div",{className:"runtime-live-title-row",children:[(0,a.jsx)("span",{className:"runtime-section-title",children:"Main Agent"}),(0,a.jsxs)("span",{className:"runtime-live-phase",children:["thinking"===v&&"thinking","responding"===v&&"responding","tool"===v&&"using tools","synthesis"===v&&"synthesizing"]})]}),(0,a.jsxs)("div",{className:"runtime-live-meta",children:[g&&(0,a.jsx)("span",{className:"runtime-live-elapsed",children:(0,a.jsx)(c.YE,{startTime:g})}),(0,a.jsxs)("span",{className:"runtime-live-badge",children:[(0,a.jsx)("span",{className:"runtime-live-badge-dot","aria-hidden":"true"}),"Live"]})]})]}),x.length>0?(0,a.jsx)("div",{className:"runtime-live-steps",children:x.map(e=>(0,a.jsxs)("div",{className:"runtime-live-step runtime-live-step--".concat(e.status),children:[(0,a.jsxs)("span",{className:"runtime-live-step-icon","aria-hidden":"true",children:["running"===e.status&&(0,a.jsx)(c.Nl,{}),"done"===e.status&&(0,a.jsx)(c.Sr,{}),"error"===e.status&&(0,a.jsx)(c.wx,{})]}),(0,a.jsx)("code",{className:"runtime-live-step-name",children:e.name.replace(/_/g," ")}),(0,d.bX)(e.name,e.input)&&(0,a.jsx)("span",{className:"runtime-live-step-sub",children:(0,d.bX)(e.name,e.input)})]},e.id))}):(0,a.jsxs)("div",{className:"runtime-live-thinking",children:[(0,a.jsx)("span",{className:"runtime-live-thinking-icon",children:(0,a.jsx)(c.Nl,{})}),(0,a.jsxs)("span",{children:["thinking"===v&&"Waiting for first response…","responding"===v&&"Streaming response…","synthesis"===v&&"Synthesizing results…","idle"===v&&"Processing…"]})]})]}),f.length>0&&(0,a.jsxs)("div",{className:"runtime-section",children:[(0,a.jsxs)("span",{className:"runtime-section-title",children:["Background agents",p&&(0,a.jsxs)("span",{className:"runtime-live-badge",style:{marginLeft:8},children:[(0,a.jsx)("span",{className:"runtime-live-badge-dot","aria-hidden":"true"}),"Live"]})]}),(0,a.jsx)("div",{className:"runtime-live-steps",children:f.map(e=>(0,a.jsxs)("div",{className:"runtime-live-step runtime-live-step--".concat("running"===e.status?"running":"failed"===e.status?"error":"done"),children:[(0,a.jsxs)("span",{className:"runtime-live-step-icon","aria-hidden":"true",children:["running"===e.status&&(0,a.jsx)(c.Nl,{}),"complete"===e.status&&(0,a.jsx)(c.Sr,{}),"failed"===e.status&&(0,a.jsx)(c.wx,{})]}),(0,a.jsx)("code",{className:"runtime-live-step-name",children:e.agent_name}),(0,a.jsx)("span",{className:"runtime-live-step-sub",children:e.current_tool?"".concat(e.current_tool.replace(/_/g," ")).concat((0,d.bX)(e.current_tool,e.current_input)?" ".concat((0,d.bX)(e.current_tool,e.current_input)):""):"running"===e.status?e.triggered_by?"".concat(e.triggered_by," tick"):"starting…":"complete"===e.status?"done":"failed"})]},e.agent_id))})]}),(0,a.jsx)("div",{className:"runtime-compact-stats",children:[["Approvals",s.length],["Heartbeat",r.length],["Processes",l.length],["Audit",o.length]].map(e=>{let[t,n]=e;return(0,a.jsxs)("div",{className:"runtime-compact-stat"+(n>0?" has-value":""),children:[(0,a.jsx)("b",{children:n}),(0,a.jsx)("span",{children:t})]},t)})}),s.length>0&&(0,a.jsxs)("div",{className:"runtime-section",children:[(0,a.jsx)("span",{className:"runtime-section-title",children:"Pending approvals"}),s.slice(0,3).map(e=>(0,a.jsxs)("div",{className:"runtime-approval",children:[(0,a.jsx)("span",{children:e.summary}),(0,a.jsxs)("div",{children:[(0,a.jsx)("button",{onClick:()=>j(e.id,"approved"),disabled:w===e.id,children:"Approve"}),(0,a.jsx)("button",{className:"secondary",onClick:()=>j(e.id,"denied"),disabled:w===e.id,children:"Deny"})]})]},e.id))]}),(r.length>0||l.length>0||o.length>0)&&(0,a.jsxs)("div",{className:"runtime-section",children:[(0,a.jsx)("span",{className:"runtime-section-title",children:"Recent activity"}),r.slice(0,2).map(e=>(0,a.jsxs)("div",{className:"runtime-row",children:[(0,a.jsx)("span",{children:e.type}),(0,a.jsx)("b",{children:e.status})]},e.id)),l.slice(0,2).map(e=>(0,a.jsxs)("div",{className:"runtime-row",children:[(0,a.jsx)("span",{children:e.command}),(0,a.jsx)("b",{children:e.status})]},e.id)),o.slice(0,3).map(e=>(0,a.jsxs)("div",{className:"runtime-row",children:[(0,a.jsx)("span",{children:e.summary||e.type}),(0,a.jsx)("b",{children:e.status})]},e.id))]}),!m&&0===n&&0===f.length&&(0,a.jsx)("div",{className:"runtime-empty",children:"No active tasks right now."}),(0,a.jsxs)("div",{className:"runtime-dev-tools",children:[(0,a.jsx)("span",{className:"runtime-section-title",children:"System tools"}),(0,a.jsxs)("div",{className:"runtime-dev-row",children:[(0,a.jsx)("button",{onClick:b,disabled:"ops"===k,className:"runtime-dev-btn",children:"ops"===k?"Creating…":"Caretaker"}),(0,a.jsx)("button",{onClick:y,disabled:"worker"===k,className:"runtime-dev-btn",children:"worker"===k?"Processing…":"Heartbeat once"})]})]})]})]})}function E(e){let{x:t,y:n,spaces:s,activeSpaceId:i,onMove:l,onClose:o}=e,c=(0,r.useRef)(null),[d,u]=(0,r.useState)({left:t,top:n});(0,r.useEffect)(()=>{function e(e){var t;(null==(t=c.current)?void 0:t.contains(e.target))||o()}function t(e){"Escape"===e.key&&o()}return document.addEventListener("pointerdown",e),document.addEventListener("keydown",t),()=>{document.removeEventListener("pointerdown",e),document.removeEventListener("keydown",t)}},[o]),(0,r.useEffect)(()=>{let e=c.current;if(!e)return;let a=e.getBoundingClientRect(),s=t,i=n;s+a.width+8>window.innerWidth&&(s=Math.max(8,window.innerWidth-a.width-8)),i+a.height+8>window.innerHeight&&(i=Math.max(8,window.innerHeight-a.height-8)),u({left:s,top:i})},[t,n]);let h=s.filter(e=>e.id!==i);return"undefined"==typeof document?null:(0,v.createPortal)((0,a.jsxs)("div",{className:"winbar-move-menu",ref:c,style:{left:d.left,top:d.top},onClick:e=>e.stopPropagation(),children:[(0,a.jsx)("div",{className:"winbar-move-menu-label",children:"Move to space"}),0===h.length?(0,a.jsx)("div",{className:"winbar-move-menu-empty",children:"No other spaces"}):h.map(e=>(0,a.jsx)("button",{type:"button",onClick:()=>{l(e.id),o()},children:e.name},e.id))]}),document.body)}let L=(0,r.memo)(function(){let{initializing:e,activeHermesJobs:t,runtimeActions:n,mainAgent:s,approvalRun:l,counts:o,artifacts:c,visibleArtifacts:d,dockedArtifacts:u,artifactLayout:h,spaces:m,registerArtifactFrame:p,designStyle:f}=(0,i.M)(),g=n.approveClaudeRun,x=n.approvalBusyId,j=h.resetArtifactLayout,w=h.layoutMode,b=h.fullscreenId,y=h.setFullscreenId,N=h.confirmDeleteId,L=h.setConfirmDeleteId,M=h.deleteArtifactById,D=h.toggleMinimize,A=h.downloadArtifact,I=h.minimizedIds,T=h.hoveredDockId,R=h.setHoveredDockId,O=h.pointerDropSpaceId,P=s.busy,z=s.liveTool,W=s.liveText,B=s.command,U=m.spaces,F=m.activeSpaceId,H=m.setActiveSpaceId,J=m.createSpace,q=m.renameSpace,V=m.deleteSpace,X=m.moveArtifactToSpace,Y=m.isSwitching,[K,G]=(0,r.useState)(null),[Z,$]=(0,r.useState)(null);(0,r.useEffect)(()=>{$(document.getElementById("app-topbar-slot"))},[]);let Q=((null==o?void 0:o.agents)||[]).some(e=>"hermes"===(e.engine||"")),ee=(0,a.jsxs)("div",{className:"app-topbar-actions",children:[l&&(0,a.jsx)("button",{className:"admin-button",onClick:()=>g(l.id),disabled:x===l.id,style:{height:28,padding:"0 12px",fontSize:12},children:x===l.id?"Running Claude...":"Approve & Run"}),Q&&(0,a.jsxs)("div",{className:"hermes-wrap",children:[(0,a.jsxs)("span",{className:"tb-icon-btn"+(t.length>0?" on":""),role:"status","aria-label":t.length>0?"Hermes ".concat(t.length," running"):"Hermes idle",children:[(0,a.jsx)("svg",{width:"15",height:"15",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:(0,a.jsx)("path",{d:"M13 2L3 14h9l-1 8 10-12h-9l1-8z"})}),t.length>0&&(0,a.jsx)("span",{children:t.length})]}),(0,a.jsxs)("div",{className:"hermes-tooltip",role:"tooltip",children:[(0,a.jsx)("b",{children:"Hermes"}),(0,a.jsx)("small",{children:t.length>0?"".concat(t.length," running"):"idle"}),t.length>0&&(0,a.jsx)("ul",{children:t.map(e=>(0,a.jsx)("li",{children:e.title||(e.prompt?e.prompt.slice(0,60):"Untitled job")},e.id))})]})]}),(0,a.jsx)(C,{}),c.length>0&&(0,a.jsx)("button",{className:"tb-icon-btn",onClick:j,title:"manual"===w?"Reset to auto layout":"Auto layout active","aria-label":"manual"===w?"Reset to auto layout":"Auto layout active",children:(0,a.jsxs)("svg",{width:"15",height:"15",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,a.jsx)("rect",{x:"3",y:"3",width:"7",height:"7"}),(0,a.jsx)("rect",{x:"14",y:"3",width:"7",height:"7"}),(0,a.jsx)("rect",{x:"14",y:"14",width:"7",height:"7"}),(0,a.jsx)("rect",{x:"3",y:"14",width:"7",height:"7"})]})})]});return(0,a.jsxs)("section",{className:"canvas fresh-canvas"+(Y?" is-space-switching":""),children:[Z?(0,v.createPortal)(ee,Z):null,e?(0,a.jsx)("div",{className:"canvas-board canvas-board--skel","aria-hidden":"true",children:(0,a.jsx)("div",{className:"artifact-window-wrap artifact-skel-wrap artifact-skel-wrap--solo",children:(0,a.jsxs)("div",{className:"window artifact-window",children:[(0,a.jsxs)("div",{className:"winbar",children:[(0,a.jsx)("i",{className:"dot-close"}),(0,a.jsx)("i",{className:"dot-minimize"}),(0,a.jsx)("i",{className:"dot-zoom"}),(0,a.jsx)("div",{className:"skel sk-winbar-title"}),(0,a.jsx)("div",{className:"skel sk-kind-badge"})]}),(0,a.jsxs)("div",{className:"win-content artifact-skel-content",children:[(0,a.jsx)("div",{className:"skel sk-art-hero"}),(0,a.jsx)("div",{className:"skel sk-line sk-line--w90"}),(0,a.jsx)("div",{className:"skel sk-line sk-line--w80"}),(0,a.jsx)("div",{className:"skel sk-line sk-line--w65"}),(0,a.jsx)("div",{className:"skel sk-art-block"}),(0,a.jsx)("div",{className:"skel sk-line sk-line--w75"}),(0,a.jsx)("div",{className:"skel sk-line sk-line--w55"})]})]})})}):P&&0===d.length&&0===u.length?(0,a.jsx)("div",{className:"building-card-wrap",children:(0,a.jsxs)("div",{className:"building-card",children:[(0,a.jsxs)("div",{className:"building-winbar",children:[(0,a.jsxs)("div",{className:"building-dots",children:[(0,a.jsx)("span",{}),(0,a.jsx)("span",{}),(0,a.jsx)("span",{})]}),(0,a.jsx)("span",{className:"building-winbar-title",children:"generate_ui"===z?"Designing ".concat(f," UI…"):"create_artifact"===z?"Building artifact…":z?"Running ".concat(z.replace(/_/g," "),"…"):"Agent composing…"}),(0,a.jsxs)("div",{className:"building-pill",children:[(0,a.jsx)("div",{className:"building-pill-dot"}),"Live"]})]}),(0,a.jsxs)("div",{className:"building-body",children:[(0,a.jsxs)("div",{className:"building-illustration",children:[(0,a.jsx)("div",{className:"building-mesh"}),(0,a.jsxs)("div",{className:"building-skeleton",children:[(0,a.jsx)("div",{className:"skel hd"}),(0,a.jsx)("div",{className:"skel la"}),(0,a.jsx)("div",{className:"skel lb"}),(0,a.jsx)("div",{className:"skel lc"}),(0,a.jsx)("div",{className:"skel ld"})]})]}),(0,a.jsxs)("div",{className:"building-footer",children:[(0,a.jsx)("div",{className:"building-footer-label",children:z?"Active tool":"Status"}),(0,a.jsx)("div",{className:"building-footer-tool",children:"generate_ui"===z?"".concat(f," design rules active"):z?z.replace(/_/g," "):"Agent is thinking…"}),W&&(0,a.jsx)("div",{className:"building-stream-text",children:W.slice(-320)})]})]})]})}):(0,a.jsxs)(a.Fragment,{children:[d.length>0?(0,a.jsx)(S,{confirmDeleteId:N,setConfirmDeleteId:L,deleteArtifactById:M,setMoveMenu:G}):0===u.length&&0===c.length?(0,a.jsx)("div",{className:"fresh-workspace",children:(0,a.jsxs)("div",{className:"fresh-hero full-width",children:[(0,a.jsx)("small",{children:"Clean workspace"}),(0,a.jsx)("h1",{children:"Start from zero."}),(0,a.jsx)("p",{children:"Your local-first agent workspace. Create agents that research competitors, generate reports, run scheduled tasks, and prepare actions for your approval — all running on your machine, backed by SQLite, with no cloud dependencies."}),(0,a.jsxs)("div",{className:"fresh-actions",children:[(0,a.jsx)("button",{onClick:()=>B("Create the first Client Workspace competitor research agent with browser scraper and report writer daily at 07:30"),children:"Create first agent"}),(0,a.jsx)("button",{className:"secondary",onClick:()=>B("Look for all Client Workspace competitors and provide the daily report"),children:"Test report flow"})]})]})}):null,(0,a.jsx)(k,{spaces:U,activeSpaceId:F,setActiveSpaceId:H,createSpace:J,renameSpace:q,deleteSpace:V,moveArtifactToSpace:X,artifacts:c,dockedArtifacts:u,minimizedIds:I,hoveredDockId:T,setHoveredDockId:R,toggleMinimize:D,pointerDropSpaceId:O})]}),b&&(()=>{let e=c.find(e=>e.id===b);return e?(0,a.jsx)(_,{artifact:e,docked:!0,onClose:()=>y(null),confirmDeleteId:N,setConfirmDeleteId:L,deleteArtifactById:M,toggleMinimize:D,downloadArtifact:A,registerArtifactFrame:p},e.id):null})(),K&&(0,a.jsx)(E,{x:K.x,y:K.y,spaces:U,activeSpaceId:F,onMove:e=>X(K.artifactId,e),onClose:()=>G(null)})]})}),M=(0,s.default)(()=>Promise.all([n.e(2769),n.e(4119),n.e(3168)]).then(n.bind(n,53168)),{loadableGenerated:{webpack:()=>[require.resolveWeak("./components/dashboard/config-panel")]},ssr:!1}),D=(0,s.default)(()=>n.e(8217).then(n.bind(n,98217)),{loadableGenerated:{webpack:()=>[require.resolveWeak("./components/dashboard/voice-panel")]},ssr:!1}),A=(0,s.default)(()=>n.e(5938).then(n.bind(n,95938)),{loadableGenerated:{webpack:()=>[require.resolveWeak("./components/dashboard/trust-mode-confirm-modal")]},ssr:!1}),I=(0,s.default)(()=>n.e(7130).then(n.bind(n,67130)),{loadableGenerated:{webpack:()=>[require.resolveWeak("./components/update-banner")]},ssr:!1});function T(){let{chatHidden:e,setChatHidden:t,configOpen:n,trustModePromptOpen:s,trustModeBusy:r,confirmEnableTrustMode:l,cancelEnableTrustMode:o,voiceOpen:c}=(0,i.M)();return(0,a.jsxs)("main",{className:"visual-frame fresh-frame"+(e?" frame-chat-hidden":""),"aria-label":"madarX OS product",children:[(0,a.jsx)(I,{}),(0,a.jsx)(g,{}),(0,a.jsx)(L,{}),e?(0,a.jsx)("button",{type:"button",className:"chat-restore-bubble",onClick:()=>t(!1),title:"Show chat panel","aria-label":"Show chat panel",children:(0,a.jsx)("svg",{width:20,height:20,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:(0,a.jsx)("path",{d:"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"})})}):null,n?(0,a.jsx)(M,{}):null,s?(0,a.jsx)(A,{open:s,busy:r,onConfirm:l,onCancel:o}):null,c?(0,a.jsx)(D,{}):null]})}function R(){return(0,a.jsx)(i.q,{children:(0,a.jsx)(T,{})})}},59077:(e,t,n)=>{"use strict";n.d(t,{U_:()=>l,bX:()=>o,wb:()=>r});let a={Bash:"run command",WebSearch:"web search",WebFetch:"fetch",Read:"read",Write:"write",Edit:"edit",MultiEdit:"edit",NotebookEdit:"edit notebook",Glob:"find files",Grep:"search files",LS:"list",TodoWrite:"plan",Task:"subagent",Skill:"skill",SlashCommand:"command",ExitPlanMode:"exit plan",AskUserQuestion:"ask"};function s(e){if(!e)return"";let t=String(e);return t.split("/").filter(Boolean).pop()||t}function i(e){try{return new URL(String(e)).hostname}catch(t){return String(e).slice(0,52)}}function r(e){if(!e||e<0)return null;if(e<1e3)return"".concat(Math.round(e),"ms");if(e<6e4)return"".concat((e/1e3).toFixed(1),"s");let t=Math.round(e/1e3);return"".concat(Math.floor(t/60),"m ").concat(t%60,"s")}function l(e){if(!e)return"";if(a[e])return a[e];if("string"==typeof e&&e.startsWith("mcp__")){let t=e.split("__");return t[t.length-1].replace(/_/g," ")}return e.replace(/_/g," ")}function o(e,t){return t?"web_search"===e&&t.query?'"'.concat(String(t.query).slice(0,52),'"'):"web_fetch"===e&&t.url?i(t.url):"browser_harness_run"===e&&t.script?"browser script":"create_artifact"===e&&t.title?'"'.concat(String(t.title).slice(0,40),'"'):"create_agent"===e&&t.name?'"'.concat(String(t.name).slice(0,40),'"'):("file_read"===e||"file_write"===e)&&t.path?s(t.path).slice(0,40):"Bash"===e&&t.command?String(t.command).slice(0,80):"WebSearch"===e&&t.query?'"'.concat(String(t.query).slice(0,52),'"'):"WebFetch"===e&&t.url?i(t.url):("Read"===e||"Write"===e||"Edit"===e||"MultiEdit"===e||"NotebookEdit"===e)&&t.file_path?s(t.file_path).slice(0,40):("Glob"===e||"Grep"===e)&&(t.pattern||t.path)?String(t.pattern||t.path).slice(0,52):"LS"===e&&t.path?s(t.path).slice(0,40)||"/":"TodoWrite"===e&&Array.isArray(t.todos)?"".concat(t.todos.length," item").concat(1===t.todos.length?"":"s"):"Task"===e&&t.description?'"'.concat(String(t.description).slice(0,52),'"'):"Skill"===e&&t.skill?"/".concat(t.skill):"SlashCommand"===e&&t.command?String(t.command).slice(0,52):null:null}},93247:(e,t,n)=>{"use strict";n.d(t,{q:()=>r,r:()=>l});var a=n(12115);let s="madarx:main-agent-draft:v1";function i(e){try{let t=String(e||"");t.trim()?window.localStorage.setItem(s,t):window.localStorage.removeItem(s)}catch(e){}}function r(){try{window.localStorage.removeItem(s)}catch(e){}}function l(){let[e,t]=(0,a.useState)("");return(0,a.useEffect)(()=>{let e=function(){try{return window.localStorage.getItem(s)||""}catch(e){return""}}();e&&t(t=>t||e)},[]),(0,a.useEffect)(()=>{let t=window.setTimeout(()=>i(e),250);return()=>window.clearTimeout(t)},[e]),(0,a.useEffect)(()=>{let t=()=>i(e);return window.addEventListener("pagehide",t),document.addEventListener("visibilitychange",t),()=>{window.removeEventListener("pagehide",t),document.removeEventListener("visibilitychange",t)}},[e]),{prompt:e,setPrompt:t}}},97167:(e,t,n)=>{"use strict";n.d(t,{Nl:()=>i,Sr:()=>r,YE:()=>o,wx:()=>l});var a=n(95155),s=n(12115);function i(){return(0,a.jsx)("svg",{width:"11",height:"11",viewBox:"0 0 11 11",fill:"none",children:(0,a.jsx)("circle",{cx:"5.5",cy:"5.5",r:"4",stroke:"currentColor",strokeWidth:"1.5",strokeDasharray:"6 4",strokeLinecap:"round",children:(0,a.jsx)("animateTransform",{attributeName:"transform",type:"rotate",from:"0 5.5 5.5",to:"360 5.5 5.5",dur:"0.75s",repeatCount:"indefinite"})})})}function r(){return(0,a.jsx)("svg",{width:"11",height:"11",viewBox:"0 0 11 11",fill:"none",children:(0,a.jsx)("path",{d:"M2 5.5L4.5 8L9 3",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})}function l(){return(0,a.jsx)("svg",{width:"11",height:"11",viewBox:"0 0 11 11",fill:"none",children:(0,a.jsx)("path",{d:"M2.5 2.5L8.5 8.5M8.5 2.5L2.5 8.5",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"})})}function o(e){let{startTime:t}=e,[n,i]=(0,s.useState)(0);return((0,s.useEffect)(()=>{i(Math.floor((Date.now()-t)/1e3));let e=setInterval(()=>i(e=>e+1),1e3);return()=>clearInterval(e)},[t]),n<60)?(0,a.jsxs)(a.Fragment,{children:[n,"s"]}):(0,a.jsxs)(a.Fragment,{children:[Math.floor(n/60),"m ",n%60,"s"]})}}},e=>{e.O(0,[930,1231,8441,1255,7358],()=>e(e.s=42930)),_N_E=e.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[893],{45:(e,a,t)=>{"use strict";t.d(a,{default:()=>o});var s=t(12115),n={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"},l=t(64250);let r=(0,s.createContext)({}),o=(0,s.forwardRef)((e,a)=>{var t,o,c;let{color:i,size:d,strokeWidth:u,absoluteStrokeWidth:m,className:h="",children:p,iconNode:f,...j}=e,{size:x=24,strokeWidth:g=2,absoluteStrokeWidth:v=!1,color:b="currentColor",className:y=""}=null!=(t=(0,s.useContext)(r))?t:{},k=(null!=m?m:v)?24*Number(null!=u?u:g)/Number(null!=d?d:x):null!=u?u:g;return(0,s.createElement)("svg",{ref:a,...n,width:null!=(o=null!=d?d:x)?o:n.width,height:null!=(c=null!=d?d:x)?c:n.height,stroke:null!=i?i:b,strokeWidth:k,className:(0,l.z)("lucide",y,h),...!p&&!(e=>{for(let a in e)if(a.startsWith("aria-")||"role"===a||"title"===a)return!0;return!1})(j)&&{"aria-hidden":"true"},...j},[...f.map(e=>{let[a,t]=e;return(0,s.createElement)(a,t)}),...Array.isArray(p)?p:[p]])})},10677:(e,a,t)=>{"use strict";t.d(a,{default:()=>l});var s=t(95155),n=t(12115);function l(){let[e,a]=(0,n.useState)([]),[t,l]=(0,n.useState)("");return(0,n.useEffect)(()=>{l(localStorage.getItem("madarx.activeProjectId")||""),fetch("/api/projects").then(e=>e.json()).then(e=>a(e.projects||[])).catch(()=>{})},[]),(0,s.jsx)("div",{className:"project-switcher","data-project-switcher":!0,children:(0,s.jsxs)("select",{value:t,onChange:e=>{var a;l(a=e.target.value),a?localStorage.setItem("madarx.activeProjectId",a):localStorage.removeItem("madarx.activeProjectId"),window.dispatchEvent(new CustomEvent("madarx:project-change",{detail:{project_id:a||null}}))},"aria-label":"Active project",children:[(0,s.jsx)("option",{value:"",children:"All projects"}),e.map(e=>(0,s.jsx)("option",{value:e.id,children:e.name},e.id))]})})}},13185:(e,a,t)=>{"use strict";t.d(a,{A:()=>o});var s=t(12115),n=t(64250);let l=e=>{let a=e.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,a,t)=>t?t.toUpperCase():a.toLowerCase());return a.charAt(0).toUpperCase()+a.slice(1)};var r=t(45);let o=(e,a)=>{let t=(0,s.forwardRef)((t,o)=>{let{className:c,...i}=t;return(0,s.createElement)(r.default,{ref:o,iconNode:a,className:(0,n.z)("lucide-".concat(l(e).replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()),"lucide-".concat(e),c),...i})});return t.displayName=l(e),t}},22195:(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)("4045e9bdab916dd640271ad9ff5b0e1b5d07405060",o.callServer,void 0,o.findSourceMapURL,"createProjectAction");var i=t(59097);let d=[{value:"#c2452a",name:"Mars Red"},{value:"#a83a22",name:"Deep Red"},{value:"#7c2b19",name:"Dark Red"},{value:"#111318",name:"Charcoal"},{value:"#3f3a30",name:"Warm Black"},{value:"#68707b",name:"Slate"},{value:"#cdb78a",name:"Warm Sand"},{value:"#1f6c9f",name:"Skill Blue"}];function u(){let{pending:e}=(0,l.useFormStatus)();return(0,s.jsx)("button",{type:"submit",className:"admin-button",disabled:e,"aria-busy":e?"true":void 0,children:e?"Creating…":"Create project"})}function m(e){let{workspaceRoot:a="~/workspace/projects"}=e,[t,l]=n.useState(!1),[o,m]=n.useState(""),[h,p]=n.useState("workspace"),[f,j]=n.useState(""),x=n.useRef(null),g=n.useMemo(()=>"".concat(a.replace(/\/$/,""),"/").concat(String(o||"").toLowerCase().trim().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").slice(0,64)||"project"),[a,o]);return n.useEffect(()=>{var e;"custom"===h&&(null==(e=x.current)||e.focus())},[h]),(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)("button",{type:"button",className:"admin-button agents-new-cta",onClick:()=>l(!0),children:[(0,s.jsx)("span",{"aria-hidden":!0,className:"agents-new-cta-glyph",children:"+"}),"New project"]}),(0,s.jsx)(r.A,{open:t,onClose:()=>l(!1),eyebrow:"New project",title:"Create a project",children:(0,s.jsxs)("form",{className:"agents-modal-form",action:c,children:[(0,s.jsx)("p",{className:"agents-modal-help",children:"Scope agents, documents, memory, and integrations together."}),(0,s.jsx)("section",{className:"agents-modal-section",children:(0,s.jsxs)("label",{className:"agents-modal-field wide",children:[(0,s.jsx)("span",{children:"Name"}),(0,s.jsx)("input",{name:"name",type:"text",required:!0,placeholder:"Acme Co.",autoComplete:"off",value:o,onChange:e=>m(e.target.value),autoFocus:!0})]})}),(0,s.jsxs)("section",{className:"agents-modal-section",children:[(0,s.jsxs)("div",{className:"agents-modal-section-head",children:[(0,s.jsx)("span",{children:"Folder location"}),(0,s.jsx)("small",{children:"Where this project lives on disk."})]}),(0,s.jsxs)("div",{className:"agents-modal-radio-group",children:[(0,s.jsxs)("label",{className:"agents-modal-radio ".concat("workspace"===h?"on":""),children:[(0,s.jsx)("input",{type:"radio",name:"folder_mode",value:"workspace",checked:"workspace"===h,onChange:()=>p("workspace")}),(0,s.jsxs)("span",{className:"agents-modal-radio-body",children:[(0,s.jsx)("b",{children:"madarX workspace"}),(0,s.jsx)("code",{title:g,children:function(e){let a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:48;if(!e||e.length<=a)return e;let t=e.slice(0,Math.floor(a/2)-1),s=e.slice(e.length-Math.floor(a/2)+2);return"".concat(t,"…").concat(s)}(g)})]})]}),(0,s.jsxs)("label",{className:"agents-modal-radio ".concat("custom"===h?"on":""),children:[(0,s.jsx)("input",{type:"radio",name:"folder_mode",value:"custom",checked:"custom"===h,onChange:()=>p("custom")}),(0,s.jsxs)("span",{className:"agents-modal-radio-body",children:[(0,s.jsx)("b",{children:"Custom path"}),(0,s.jsx)("small",{children:"Any absolute folder. Created if missing."})]})]})]}),"custom"===h?(0,s.jsx)(i.A,{inputRef:x,value:f,onChange:j}):(0,s.jsx)("input",{type:"hidden",name:"folder_path",value:""})]}),(0,s.jsxs)("section",{className:"agents-modal-section",children:[(0,s.jsxs)("div",{className:"agents-modal-section-head",children:[(0,s.jsx)("span",{children:"Color"}),(0,s.jsx)("small",{children:"Used for the project tile across the app."})]}),(0,s.jsxs)("fieldset",{className:"agents-modal-swatches",children:[(0,s.jsx)("legend",{className:"visually-hidden",children:"Project color"}),d.map(e=>(0,s.jsxs)("label",{className:"agents-modal-swatch",style:{"--swatch":e.value},children:[(0,s.jsx)("input",{type:"radio",name:"color",value:e.value,defaultChecked:"#c2452a"===e.value}),(0,s.jsx)("span",{className:"agents-modal-swatch-ring","aria-hidden":"true"}),(0,s.jsx)("span",{className:"visually-hidden",children:e.name})]},e.value))]})]}),(0,s.jsxs)("section",{className:"agents-modal-section",children:[(0,s.jsxs)("div",{className:"agents-modal-section-head",children:[(0,s.jsx)("span",{children:"Description"}),(0,s.jsx)("small",{children:"Used as context for agents working in this project."})]}),(0,s.jsx)("label",{className:"agents-modal-field wide",children:(0,s.jsx)("textarea",{name:"description",rows:3,placeholder:"What is this project for? Goals, audience, voice, constraints."})})]}),(0,s.jsxs)("footer",{className:"agents-modal-foot",children:[(0,s.jsx)("button",{type:"button",className:"admin-button secondary",onClick:()=>l(!1),children:"Cancel"}),(0,s.jsx)(u,{})]})]})})]})}},30926:(e,a,t)=>{"use strict";Object.defineProperty(a,"__esModule",{value:!0}),!function(e,a){for(var t in a)Object.defineProperty(e,t,{enumerable:!0,get:a[t]})}(a,{callServer:function(){return s.callServer},createServerReference:function(){return l.createServerReference},findSourceMapURL:function(){return n.findSourceMapURL}});let s=t(41209),n=t(85153),l=t(77197)},34788:(e,a,t)=>{"use strict";t.d(a,{A:()=>s});let s=(0,t(13185).A)("x",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]])},49693:(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)("40fe6c355096ce5e6b3646450fce4cebd71d507704",o.callServer,void 0,o.findSourceMapURL,"updateProjectAction");var i=t(59097);let d=[{value:"#c2452a",name:"Mars Red"},{value:"#a83a22",name:"Deep Red"},{value:"#7c2b19",name:"Dark Red"},{value:"#111318",name:"Charcoal"},{value:"#3f3a30",name:"Warm Black"},{value:"#68707b",name:"Slate"},{value:"#cdb78a",name:"Warm Sand"},{value:"#1f6c9f",name:"Skill Blue"}];function u(){let{pending:e}=(0,l.useFormStatus)();return(0,s.jsx)("button",{type:"submit",className:"admin-button",disabled:e,"aria-busy":e?"true":void 0,children:e?"Saving…":"Save changes"})}function m(e){let{projectId:a,projectName:t,projectColor:l,projectDescription:o,projectFolderPath:m}=e,[h,p]=n.useState(!1),[f,j]=n.useState("keep"),[x,g]=n.useState(m||""),v=n.useRef(null);return n.useEffect(()=>{h&&(j("keep"),g(m||""))},[h,m]),n.useEffect(()=>{var e;"custom"===f&&(null==(e=v.current)||e.focus())},[f]),(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("button",{type:"button",className:"admin-button secondary project-edit",onClick:()=>p(!0),"aria-label":"Edit ".concat(t),children:"Edit"}),(0,s.jsx)(r.A,{open:h,onClose:()=>p(!1),eyebrow:"Edit project",title:"Edit ".concat(t),children:(0,s.jsxs)("form",{className:"agents-modal-form",action:c,children:[(0,s.jsx)("input",{type:"hidden",name:"project_id",value:a}),(0,s.jsx)("section",{className:"agents-modal-section",children:(0,s.jsxs)("label",{className:"agents-modal-field wide",children:[(0,s.jsx)("span",{children:"Name"}),(0,s.jsx)("input",{name:"name",type:"text",defaultValue:t,autoComplete:"off",required:!0})]})}),(0,s.jsxs)("section",{className:"agents-modal-section",children:[(0,s.jsxs)("div",{className:"agents-modal-section-head",children:[(0,s.jsx)("span",{children:"Folder location"}),(0,s.jsx)("small",{children:"Where project files live on disk. Move only if you've already moved the folder yourself."})]}),(0,s.jsxs)("div",{className:"agents-modal-radio-group",children:[(0,s.jsxs)("label",{className:"agents-modal-radio ".concat("keep"===f?"on":""),children:[(0,s.jsx)("input",{type:"radio",name:"folder_mode",value:"keep",checked:"keep"===f,onChange:()=>j("keep")}),(0,s.jsxs)("span",{className:"agents-modal-radio-body",children:[(0,s.jsx)("b",{children:"Keep current"}),(0,s.jsx)("code",{title:m||"",children:function(e){let a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:48;if(!e||e.length<=a)return e;let t=e.slice(0,Math.floor(a/2)-1),s=e.slice(e.length-Math.floor(a/2)+2);return"".concat(t,"…").concat(s)}(m)||"(not set)"})]})]}),(0,s.jsxs)("label",{className:"agents-modal-radio ".concat("custom"===f?"on":""),children:[(0,s.jsx)("input",{type:"radio",name:"folder_mode",value:"custom",checked:"custom"===f,onChange:()=>j("custom")}),(0,s.jsxs)("span",{className:"agents-modal-radio-body",children:[(0,s.jsx)("b",{children:"Change to…"}),(0,s.jsx)("small",{children:"Absolute path. Must already exist or be writable."})]})]})]}),"custom"===f?(0,s.jsx)(i.A,{inputRef:v,value:x,onChange:g}):(0,s.jsx)("input",{type:"hidden",name:"folder_path",value:""})]}),(0,s.jsxs)("section",{className:"agents-modal-section",children:[(0,s.jsxs)("div",{className:"agents-modal-section-head",children:[(0,s.jsx)("span",{children:"Color"}),(0,s.jsx)("small",{children:"Tile color across the app."})]}),(0,s.jsxs)("fieldset",{className:"agents-modal-swatches",children:[(0,s.jsx)("legend",{className:"visually-hidden",children:"Project color"}),d.map(e=>(0,s.jsxs)("label",{className:"agents-modal-swatch",style:{"--swatch":e.value},children:[(0,s.jsx)("input",{type:"radio",name:"color",value:e.value,defaultChecked:e.value===(l||"#c2452a")}),(0,s.jsx)("span",{className:"agents-modal-swatch-ring","aria-hidden":"true"}),(0,s.jsx)("span",{className:"visually-hidden",children:e.name})]},e.value))]})]}),(0,s.jsxs)("section",{className:"agents-modal-section",children:[(0,s.jsxs)("div",{className:"agents-modal-section-head",children:[(0,s.jsx)("span",{children:"Description"}),(0,s.jsx)("small",{children:"Used as context for agents working in this project."})]}),(0,s.jsx)("label",{className:"agents-modal-field wide",children:(0,s.jsx)("textarea",{name:"description",rows:3,defaultValue:o||"",placeholder:"What is this project for? Goals, audience, voice, constraints."})})]}),(0,s.jsxs)("footer",{className:"agents-modal-foot",children:[(0,s.jsx)("button",{type:"button",className:"admin-button secondary",onClick:()=>p(!1),children:"Cancel"}),(0,s.jsx)(u,{})]})]})})]})}},59097:(e,a,t)=>{"use strict";t.d(a,{A:()=>l});var s=t(95155),n=t(12115);function l(e){let{name:a="folder_path",value:t,onChange:l,inputRef:r,placeholder:o="/Users/you/Documents/my-project"}=e,[c,i]=n.useState(null),[d,u]=n.useState(!1),[m,h]=n.useState(""),[p,f]=n.useState(""),[j,x]=n.useState(null);async function g(){var e;let a;if(i(null),!(null==(e=navigator.clipboard)?void 0:e.readText))return void i({kind:"error",message:"Clipboard not available."});try{a=await navigator.clipboard.readText()}catch(e){i({kind:"error",message:"Allow clipboard access."});return}let t=(a||"").trim();if((t.startsWith('"')&&t.endsWith('"')||t.startsWith("'")&&t.endsWith("'"))&&(t=t.slice(1,-1)),t.startsWith("file://"))try{t=decodeURI(t.slice(7))}catch(e){}return t?t.startsWith("/")||t.startsWith("~")?void(l(t),i({kind:"success",message:"Pasted."})):void i({kind:"error",message:"Path must be absolute."}):void i({kind:"error",message:"Clipboard is empty."})}async function v(){i(null),x("pick");try{let e=await fetch("/api/fs/pick-folder",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({title:"Choose project folder",start_path:t&&t.startsWith("/")?t:void 0})});if(499===e.status)return void i({kind:"error",message:"Cancelled."});let a=await e.json();if(!e.ok)return void i({kind:"error",message:a.error||"Picker failed."});l(a.folder_path),i({kind:"success",message:"Selected ".concat(a.folder_path)})}catch(e){i({kind:"error",message:String((null==e?void 0:e.message)||e)})}finally{x(null)}}async function b(){if(i(null),!m.trim()||!p.trim())return void i({kind:"error",message:"Parent and name required."});x("create");try{let e=await fetch("/api/fs/create-folder",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({parent:m.trim(),name:p.trim()})}),a=await e.json();if(!e.ok)return void i({kind:"error",message:a.error||"Create failed."});l(a.folder_path),u(!1),f(""),i({kind:"success",message:"Created ".concat(a.folder_path)})}catch(e){i({kind:"error",message:String((null==e?void 0:e.message)||e)})}finally{x(null)}}return n.useEffect(()=>{d&&!m&&h(t||"~/Documents")},[d,t,m]),(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)("div",{className:"agents-modal-paste-row",children:[(0,s.jsx)("input",{ref:r,name:a,type:"text",placeholder:o,autoComplete:"off",spellCheck:!1,value:t||"",onChange:e=>{l(e.target.value),c&&i(null)},required:!0}),(0,s.jsx)("button",{type:"button",className:"admin-button secondary",onClick:v,disabled:"pick"===j,children:"pick"===j?"Opening…":"Choose folder…"})]}),(0,s.jsxs)("div",{className:"agents-modal-folder-tools",children:[(0,s.jsx)("button",{type:"button",className:"admin-button secondary",onClick:g,children:"Paste from clipboard"}),(0,s.jsx)("button",{type:"button",className:"admin-button secondary",onClick:()=>l("~/Documents"),children:"~/Documents"}),(0,s.jsx)("button",{type:"button",className:"admin-button secondary",onClick:()=>l("~/Desktop"),children:"~/Desktop"}),(0,s.jsx)("button",{type:"button",className:"admin-button secondary",onClick:()=>u(e=>!e),children:d?"Cancel new folder":"+ New folder"})]}),d?(0,s.jsxs)("div",{className:"agents-modal-create-folder",children:[(0,s.jsx)("small",{children:"Create a folder anywhere outside system directories. Parent must exist."}),(0,s.jsx)("div",{className:"agents-modal-create-row",children:(0,s.jsx)("input",{type:"text",placeholder:"Parent (e.g. ~/Documents)",value:m,onChange:e=>h(e.target.value),spellCheck:!1,autoComplete:"off"})}),(0,s.jsxs)("div",{className:"agents-modal-create-row",children:[(0,s.jsx)("input",{type:"text",placeholder:"New folder name",value:p,onChange:e=>f(e.target.value),spellCheck:!1,autoComplete:"off"}),(0,s.jsx)("button",{type:"button",className:"admin-button",onClick:b,disabled:"create"===j,children:"create"===j?"Creating…":"Create"})]})]}):null,c?(0,s.jsx)("p",{className:"agents-modal-feedback ".concat(c.kind),role:"status","aria-live":"polite",children:c.message}):null]})}},64250:(e,a,t)=>{"use strict";t.d(a,{z:()=>s});let s=function(){for(var e=arguments.length,a=Array(e),t=0;t<e;t++)a[t]=arguments[t];return a.filter((e,a,t)=>!!e&&""!==e.trim()&&t.indexOf(e)===a).join(" ").trim()}},85061:(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)("40371ff0eb940cdf46582d4096860c34a176f490aa",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})]})]})})]})}},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,85061)),Promise.resolve().then(t.bind(t,49693)),Promise.resolve().then(t.bind(t,22195)),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([[1953],{45:(e,t,a)=>{"use strict";a.d(t,{default:()=>l});var r=a(12115),s={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"},i=a(64250);let n=(0,r.createContext)({}),l=(0,r.forwardRef)((e,t)=>{var a,l,c;let{color:h,size:d,strokeWidth:o,absoluteStrokeWidth:u,className:m="",children:g,iconNode:p,...y}=e,{size:k=24,strokeWidth:f=2,absoluteStrokeWidth:x=!1,color:v="currentColor",className:A=""}=null!=(a=(0,r.useContext)(n))?a:{},b=(null!=u?u:x)?24*Number(null!=o?o:f)/Number(null!=d?d:k):null!=o?o:f;return(0,r.createElement)("svg",{ref:t,...s,width:null!=(l=null!=d?d:k)?l:s.width,height:null!=(c=null!=d?d:k)?c:s.height,stroke:null!=h?h:v,strokeWidth:b,className:(0,i.z)("lucide",A,m),...!g&&!(e=>{for(let t in e)if(t.startsWith("aria-")||"role"===t||"title"===t)return!0;return!1})(y)&&{"aria-hidden":"true"},...y},[...p.map(e=>{let[t,a]=e;return(0,r.createElement)(t,a)}),...Array.isArray(g)?g:[g]])})},4441:(e,t,a)=>{"use strict";a.d(t,{A:()=>r});let r=(0,a(13185).A)("activity",[["path",{d:"M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2",key:"169zse"}]])},13185:(e,t,a)=>{"use strict";a.d(t,{A:()=>l});var r=a(12115),s=a(64250);let i=e=>{let t=e.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,t,a)=>a?a.toUpperCase():t.toLowerCase());return t.charAt(0).toUpperCase()+t.slice(1)};var n=a(45);let l=(e,t)=>{let a=(0,r.forwardRef)((a,l)=>{let{className:c,...h}=a;return(0,r.createElement)(n.default,{ref:l,iconNode:t,className:(0,s.z)("lucide-".concat(i(e).replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()),"lucide-".concat(e),c),...h})});return a.displayName=i(e),a}},20063:(e,t,a)=>{"use strict";var r=a(47260);a.o(r,"usePathname")&&a.d(t,{usePathname:function(){return r.usePathname}}),a.o(r,"useRouter")&&a.d(t,{useRouter:function(){return r.useRouter}}),a.o(r,"useSearchParams")&&a.d(t,{useSearchParams:function(){return r.useSearchParams}})},37642:(e,t,a)=>{Promise.resolve().then(a.bind(a,85473))},41516:(e,t,a)=>{"use strict";a.d(t,{A:()=>r});let r=(0,a(13185).A)("users",[["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["path",{d:"M16 3.128a4 4 0 0 1 0 7.744",key:"16gr8j"}],["path",{d:"M22 21v-2a4 4 0 0 0-3-3.87",key:"kshegd"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}]])},64250:(e,t,a)=>{"use strict";a.d(t,{z:()=>r});let r=function(){for(var e=arguments.length,t=Array(e),a=0;a<e;a++)t[a]=arguments[a];return t.filter((e,t,a)=>!!e&&""!==e.trim()&&a.indexOf(e)===t).join(" ").trim()}},85473:(e,t,a)=>{"use strict";a.d(t,{default:()=>v});var r=a(95155),s=a(52619),i=a.n(s),n=a(20063),l=a(13185);let c=(0,l.A)("user-round",[["circle",{cx:"12",cy:"8",r:"5",key:"1hypcn"}],["path",{d:"M20 21a8 8 0 0 0-16 0",key:"rfgkzh"}]]),h=(0,l.A)("palette",[["path",{d:"M12 22a1 1 0 0 1 0-20 10 9 0 0 1 10 9 5 5 0 0 1-5 5h-2.25a1.75 1.75 0 0 0-1.4 2.8l.3.4a1.75 1.75 0 0 1-1.4 2.8z",key:"e79jfc"}],["circle",{cx:"13.5",cy:"6.5",r:".5",fill:"currentColor",key:"1okk4w"}],["circle",{cx:"17.5",cy:"10.5",r:".5",fill:"currentColor",key:"f64h9f"}],["circle",{cx:"6.5",cy:"12.5",r:".5",fill:"currentColor",key:"qy21gx"}],["circle",{cx:"8.5",cy:"7.5",r:".5",fill:"currentColor",key:"fotxhn"}]]);var d=a(41516);let o=(0,l.A)("network",[["rect",{x:"16",y:"16",width:"6",height:"6",rx:"1",key:"4q2zg0"}],["rect",{x:"2",y:"16",width:"6",height:"6",rx:"1",key:"8cvhb9"}],["rect",{x:"9",y:"2",width:"6",height:"6",rx:"1",key:"1egb70"}],["path",{d:"M5 16v-3a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v3",key:"1jsf9p"}],["path",{d:"M12 12V8",key:"2874zd"}]]),u=(0,l.A)("brush",[["path",{d:"m11 10 3 3",key:"fzmg1i"}],["path",{d:"M6.5 21A3.5 3.5 0 1 0 3 17.5a2.62 2.62 0 0 1-.708 1.792A1 1 0 0 0 3 21z",key:"p4q2r7"}],["path",{d:"M9.969 17.031 21.378 5.624a1 1 0 0 0-3.002-3.002L6.967 14.031",key:"wy6l02"}]]),m=(0,l.A)("compass",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m16.24 7.76-1.804 5.411a2 2 0 0 1-1.265 1.265L7.76 16.24l1.804-5.411a2 2 0 0 1 1.265-1.265z",key:"9ktpf1"}]]),g=(0,l.A)("cpu",[["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M17 20v2",key:"1rnc9c"}],["path",{d:"M17 2v2",key:"11trls"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M2 17h2",key:"7oei6x"}],["path",{d:"M2 7h2",key:"asdhe0"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"M20 17h2",key:"1fpfkl"}],["path",{d:"M20 7h2",key:"1o8tra"}],["path",{d:"M7 20v2",key:"4gnj0m"}],["path",{d:"M7 2v2",key:"1i4yhu"}],["rect",{x:"4",y:"4",width:"16",height:"16",rx:"2",key:"1vbyd7"}],["rect",{x:"8",y:"8",width:"8",height:"8",rx:"1",key:"z9xiuo"}]]),p=(0,l.A)("plug",[["path",{d:"M12 22v-5",key:"1ega77"}],["path",{d:"M15 8V2",key:"18g5xt"}],["path",{d:"M17 8a1 1 0 0 1 1 1v4a4 4 0 0 1-4 4h-4a4 4 0 0 1-4-4V9a1 1 0 0 1 1-1z",key:"1xoxul"}],["path",{d:"M9 8V2",key:"14iosj"}]]),y=(0,l.A)("key-round",[["path",{d:"M2.586 17.414A2 2 0 0 0 2 18.828V21a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h1a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h.172a2 2 0 0 0 1.414-.586l.814-.814a6.5 6.5 0 1 0-4-4z",key:"1s6t7t"}],["circle",{cx:"16.5",cy:"7.5",r:".5",fill:"currentColor",key:"w0ekpg"}]]);var k=a(88977),f=a(4441);let x=[{label:"General",items:[{id:"account",name:"Account",icon:c,href:"/settings/account"},{id:"appearance",name:"Appearance",icon:h,href:"/settings/appearance"}]},{label:"Identity",items:[{id:"team",name:"Team",icon:d.A,href:"/settings/team"},{id:"organization",name:"Agent chart",icon:o,href:"/settings/organization"},{id:"brand",name:"Brand templates",icon:u,href:"/settings/brand"},{id:"onboarding",name:"Onboarding",icon:m,href:"/settings/onboarding"}]},{label:"Agent runtime",items:[{id:"engines",name:"Engines",icon:g,href:"/settings/engines"},{id:"connectors",name:"Connectors",icon:p,href:"/settings/connectors"},{id:"tools",name:"Tools & secrets",icon:y,href:"/settings/tools"}]},{label:"Advanced",items:[{id:"advanced",name:"Advanced",icon:k.A,href:"/settings/advanced"},{id:"runtime",name:"Runtime diagnostics",icon:f.A,href:"/settings/runtime"}]}];function v(){let e=(0,n.usePathname)()||"/settings";return(0,r.jsxs)("nav",{className:"settings-rail","aria-label":"Settings sections",children:[(0,r.jsxs)("div",{className:"settings-rail-head",children:[(0,r.jsx)("span",{className:"settings-rail-title",children:"Settings"}),(0,r.jsx)("small",{className:"settings-rail-sub",children:"madarX OS v1.0"})]}),(0,r.jsx)("ul",{className:"settings-rail-list",children:x.map((t,a)=>(0,r.jsxs)("li",{className:"settings-rail-group",children:[a>0?(0,r.jsx)("hr",{className:"settings-rail-divider","aria-hidden":"true"}):null,(0,r.jsx)("span",{className:"settings-rail-group-label",children:t.label}),(0,r.jsx)("ul",{className:"settings-rail-sublist",children:t.items.map(t=>{let a=t.icon,s=!t.stub&&!!t.href&&(t.href===e||e.startsWith("".concat(t.href,"/")));return t.stub?(0,r.jsx)("li",{children:(0,r.jsxs)("span",{className:"settings-rail-item","data-stub":"true","aria-disabled":"true",title:"Coming soon",children:[(0,r.jsx)(a,{className:"settings-rail-icon",strokeWidth:1.75,"aria-hidden":"true"}),(0,r.jsx)("span",{className:"settings-rail-label",children:t.name}),(0,r.jsx)("span",{className:"settings-rail-tag",children:"soon"})]})},t.id):(0,r.jsx)("li",{children:(0,r.jsxs)(i(),{href:t.href,prefetch:!0,className:"settings-rail-item","data-active":s?"true":void 0,"aria-current":s?"page":void 0,children:[(0,r.jsx)(a,{className:"settings-rail-icon",strokeWidth:1.75,"aria-hidden":"true"}),(0,r.jsx)("span",{className:"settings-rail-label",children:t.name})]})},t.id)})})]},t.label))})]})}},88977:(e,t,a)=>{"use strict";a.d(t,{A:()=>r});let r=(0,a(13185).A)("wrench",[["path",{d:"M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.106-3.105c.32-.322.863-.22.983.218a6 6 0 0 1-8.259 7.057l-7.91 7.91a1 1 0 0 1-2.999-3l7.91-7.91a6 6 0 0 1 7.057-8.259c.438.12.54.662.219.984z",key:"1ngwbx"}]])}},e=>{e.O(0,[2619,8441,1255,7358],()=>e(e.s=37642)),_N_E=e.O()}]);
@@ -0,0 +1 @@
1
+ (()=>{"use strict";var e={},t={};function r(o){var a=t[o];if(void 0!==a)return a.exports;var n=t[o]={exports:{}},i=!0;try{e[o].call(n.exports,n,n.exports,r),i=!1}finally{i&&delete t[o]}return n.exports}r.m=e,(()=>{var e=[];r.O=(t,o,a,n)=>{if(o){n=n||0;for(var i=e.length;i>0&&e[i-1][2]>n;i--)e[i]=e[i-1];e[i]=[o,a,n];return}for(var c=1/0,i=0;i<e.length;i++){for(var[o,a,n]=e[i],d=!0,u=0;u<o.length;u++)(!1&n||c>=n)&&Object.keys(r.O).every(e=>r.O[e](o[u]))?o.splice(u--,1):(d=!1,n<c&&(c=n));if(d){e.splice(i--,1);var s=a();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,a){if(1&a&&(o=this(o)),8&a||"object"==typeof o&&o&&(4&a&&o.__esModule||16&a&&"function"==typeof o.then))return o;var n=Object.create(null);r.r(n);var i={};e=e||[null,t({}),t([]),t(t)];for(var c=2&a&&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(n,i),n}})(),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:"9459315d921fdd61",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,a,n,i)=>{if(e[o])return void e[o].push(a);if(void 0!==n)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+n){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+n),c.src=r.tu(o)),e[o]=[a];var l=(t,r)=>{c.onerror=c.onload=null,clearTimeout(p);var a=e[o];if(delete e[o],c.parentNode&&c.parentNode.removeChild(c),a&&a.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 a=r.o(e,t)?e[t]:void 0;if(0!==a)if(a)o.push(a[2]);else if(/^(17(41|76)|3045|8068|8422)$/.test(t))e[t]=0;else{var n=new Promise((r,o)=>a=e[t]=[r,o]);o.push(a[2]=n);var i=r.p+r.u(t),c=Error();r.l(i,o=>{if(r.o(e,t)&&(0!==(a=e[t])&&(e[t]=void 0),a)){var n=o&&("load"===o.type?"missing":o.type),i=o&&o.target&&o.target.src;c.message="Loading chunk "+t+" failed.\n("+n+": "+i+")",c.name="ChunkLoadError",c.type=n,c.request=i,a[1](c)}},"chunk-"+t,t)}},r.O.j=t=>0===e[t];var t=(t,o)=>{var a,n,[i,c,d]=o,u=0;if(i.some(t=>0!==e[t])){for(a in c)r.o(c,a)&&(r.m[a]=c[a]);if(d)var s=d(r)}for(t&&t(o);u<i.length;u++)n=i[u],r.o(e,n)&&e[n]&&e[n][0](),e[n]=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})();