auramaxx 0.0.11 → 0.0.13

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 (342) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/app-build-manifest.json +240 -223
  3. package/.next/app-path-routes-manifest.json +8 -7
  4. package/.next/build-manifest.json +14 -14
  5. package/.next/prerender-manifest.json +53 -29
  6. package/.next/react-loadable-manifest.json +41 -41
  7. package/.next/routes-manifest.json +6 -0
  8. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  9. package/.next/server/app/_not-found.html +1 -1
  10. package/.next/server/app/_not-found.rsc +12 -12
  11. package/.next/server/app/api/[...doc]/page_client-reference-manifest.js +1 -1
  12. package/.next/server/app/api/agent-requests/route_client-reference-manifest.js +1 -1
  13. package/.next/server/app/api/apps/install/route_client-reference-manifest.js +1 -1
  14. package/.next/server/app/api/apps/manifests/route_client-reference-manifest.js +1 -1
  15. package/.next/server/app/api/apps/static/[...path]/route_client-reference-manifest.js +1 -1
  16. package/.next/server/app/api/docs/plain/route_client-reference-manifest.js +1 -1
  17. package/.next/server/app/api/events/route.js +1 -19
  18. package/.next/server/app/api/events/route_client-reference-manifest.js +1 -1
  19. package/.next/server/app/api/import-from-openclaw/[channel]/route_client-reference-manifest.js +1 -1
  20. package/.next/server/app/api/import-from-openclaw/route_client-reference-manifest.js +1 -1
  21. package/.next/server/app/api/import-from-openclaw/validate/[channel]/route_client-reference-manifest.js +1 -1
  22. package/.next/server/app/api/page_client-reference-manifest.js +1 -1
  23. package/.next/server/app/api/restart/route.js +1 -1
  24. package/.next/server/app/api/restart/route_client-reference-manifest.js +1 -1
  25. package/.next/server/app/api/update/route.js +63 -1
  26. package/.next/server/app/api/update/route.js.nft.json +1 -1
  27. package/.next/server/app/api/update/route_client-reference-manifest.js +1 -1
  28. package/.next/server/app/api/version/route.js +1 -1
  29. package/.next/server/app/api/version/route_client-reference-manifest.js +1 -1
  30. package/.next/server/app/api/workspace/[id]/apps/[wid]/route_client-reference-manifest.js +1 -1
  31. package/.next/server/app/api/workspace/[id]/apps/route_client-reference-manifest.js +1 -1
  32. package/.next/server/app/api/workspace/[id]/export/route_client-reference-manifest.js +1 -1
  33. package/.next/server/app/api/workspace/[id]/route_client-reference-manifest.js +1 -1
  34. package/.next/server/app/api/workspace/config/route_client-reference-manifest.js +1 -1
  35. package/.next/server/app/api/workspace/import/route_client-reference-manifest.js +1 -1
  36. package/.next/server/app/api/workspace/route_client-reference-manifest.js +1 -1
  37. package/.next/server/app/app-legacy-do-not-use/page.js +1 -1
  38. package/.next/server/app/app-legacy-do-not-use/page.js.nft.json +1 -1
  39. package/.next/server/app/app-legacy-do-not-use/page_client-reference-manifest.js +1 -1
  40. package/.next/server/app/app-legacy-do-not-use.html +1 -1
  41. package/.next/server/app/app-legacy-do-not-use.rsc +14 -14
  42. package/.next/server/app/approve/[actionId]/page.js +1 -1
  43. package/.next/server/app/approve/[actionId]/page_client-reference-manifest.js +1 -1
  44. package/.next/server/app/docs/[...doc]/page_client-reference-manifest.js +1 -1
  45. package/.next/server/app/docs/page_client-reference-manifest.js +1 -1
  46. package/.next/server/app/health/page_client-reference-manifest.js +1 -1
  47. package/.next/server/app/health.html +1 -1
  48. package/.next/server/app/health.rsc +13 -13
  49. package/.next/server/app/hello/page_client-reference-manifest.js +1 -1
  50. package/.next/server/app/hello.html +1 -1
  51. package/.next/server/app/hello.rsc +14 -14
  52. package/.next/server/app/index.html +1 -1
  53. package/.next/server/app/index.rsc +18 -21
  54. package/.next/server/app/page.js +3 -3
  55. package/.next/server/app/page.js.nft.json +1 -1
  56. package/.next/server/app/page_client-reference-manifest.js +1 -1
  57. package/.next/server/app/privacy/page_client-reference-manifest.js +1 -1
  58. package/.next/server/app/privacy.html +1 -1
  59. package/.next/server/app/privacy.rsc +13 -13
  60. package/.next/server/app/share/[token]/page_client-reference-manifest.js +1 -1
  61. package/.next/server/app/terms/page_client-reference-manifest.js +1 -1
  62. package/.next/server/app/terms.html +1 -1
  63. package/.next/server/app/terms.rsc +13 -13
  64. package/.next/server/app/yo/page.js +2 -0
  65. package/.next/server/app/yo/page.js.nft.json +1 -0
  66. package/.next/server/app/yo/page_client-reference-manifest.js +1 -0
  67. package/.next/server/app/yo.html +1 -0
  68. package/.next/server/app/yo.meta +7 -0
  69. package/.next/server/app/yo.rsc +23 -0
  70. package/.next/server/app-paths-manifest.json +8 -7
  71. package/.next/server/chunks/2145.js +1 -1
  72. package/.next/server/chunks/2460.js +1 -1
  73. package/.next/server/chunks/5246.js +1 -1
  74. package/.next/server/chunks/5678.js +1 -1
  75. package/.next/server/chunks/5784.js +1 -1
  76. package/.next/server/chunks/6086.js +2 -20
  77. package/.next/server/chunks/{5553.js → 6415.js} +2 -2
  78. package/.next/server/chunks/7935.js +2 -2
  79. package/.next/server/functions-config-manifest.json +1 -1
  80. package/.next/server/instrumentation.js +1 -1
  81. package/.next/server/middleware-build-manifest.js +1 -1
  82. package/.next/server/middleware-react-loadable-manifest.js +1 -1
  83. package/.next/server/pages/404.html +1 -1
  84. package/.next/server/pages/500.html +1 -1
  85. package/.next/server/server-reference-manifest.json +1 -1
  86. package/.next/server/webpack-runtime.js +1 -1
  87. package/.next/static/WshFGr6RxGYP6AbWuT9OG/_buildManifest.js +1 -0
  88. package/.next/static/chunks/1168.aaac1edbb597fe5a.js +1 -0
  89. package/.next/static/chunks/1255-7999eac54f80a49f.js +1 -0
  90. package/.next/static/chunks/142-fa9752f53a551f63.js +1 -0
  91. package/.next/static/chunks/2505.d54ccadc42f4e3d1.js +1 -0
  92. package/.next/static/chunks/2619-04bc32f026a0d946.js +1 -0
  93. package/.next/static/chunks/2927.7e00cc878d9a3f52.js +1 -0
  94. package/.next/static/chunks/3573-1b41d7b8a000d015.js +1 -0
  95. package/.next/static/chunks/3609.ded5a5306e18af9c.js +1 -0
  96. package/.next/static/chunks/3667-1db7bd03948e60df.js +1 -0
  97. package/.next/static/chunks/3826.a73d4a88d8c09030.js +1 -0
  98. package/.next/static/chunks/{3a91511d-648a2ba3dad7df0c.js → 3a91511d-ba215c0b5dc21ba9.js} +1 -1
  99. package/.next/static/chunks/4256.48407d9abad5ea33.js +1 -0
  100. package/.next/static/chunks/4685-7f53bbfc4a9845eb.js +1 -0
  101. package/.next/static/chunks/4901-ba6a32818662e70a.js +1 -0
  102. package/.next/static/chunks/4919-7e7cdd5efc9f2110.js +1 -0
  103. package/.next/static/chunks/4bd1b696-100b9d70ed4e49c1.js +1 -0
  104. package/.next/static/chunks/5336-233ec7ab3807267c.js +1 -0
  105. package/.next/static/chunks/5442-b5bb869e832e8967.js +1 -0
  106. package/.next/static/chunks/6233-97a810aa272af547.js +1 -0
  107. package/.next/static/chunks/626.a5109d16f9eca1f6.js +1 -0
  108. package/.next/static/chunks/6872-faea0f088ab2d450.js +1 -0
  109. package/.next/static/chunks/7338-3ce17a93614f1d77.js +59 -0
  110. package/.next/static/chunks/7394-4bdb1feefad1a74a.js +1 -0
  111. package/.next/static/chunks/7616-1129bcb3eee8d315.js +1 -0
  112. package/.next/static/chunks/786-26deffb41572cbb3.js +1 -0
  113. package/.next/static/chunks/8273-8e92d34180669ca9.js +1 -0
  114. package/.next/static/chunks/8357.5dee1e0c4e5bb091.js +1 -0
  115. package/.next/static/chunks/9062-2bc2d089f9c9c6ba.js +1 -0
  116. package/.next/static/chunks/9380.f198afbf0c6b5369.js +1 -0
  117. package/.next/static/chunks/app/_not-found/page-5a8c6a29f762fa58.js +1 -0
  118. package/.next/static/chunks/app/api/[...doc]/page-f0852f35f0fd1d44.js +1 -0
  119. package/.next/static/chunks/app/api/agent-requests/route-cf84f975aad4c719.js +1 -0
  120. package/.next/static/chunks/app/api/apps/install/route-cf84f975aad4c719.js +1 -0
  121. package/.next/static/chunks/app/api/apps/manifests/route-cf84f975aad4c719.js +1 -0
  122. package/.next/static/chunks/app/api/apps/static/[...path]/route-cf84f975aad4c719.js +1 -0
  123. package/.next/static/chunks/app/api/docs/plain/route-cf84f975aad4c719.js +1 -0
  124. package/.next/static/chunks/app/api/events/route-cf84f975aad4c719.js +1 -0
  125. package/.next/static/chunks/app/api/import-from-openclaw/[channel]/route-cf84f975aad4c719.js +1 -0
  126. package/.next/static/chunks/app/api/import-from-openclaw/route-cf84f975aad4c719.js +1 -0
  127. package/.next/static/chunks/app/api/import-from-openclaw/validate/[channel]/route-cf84f975aad4c719.js +1 -0
  128. package/.next/static/chunks/app/api/page-cc59bebcc0d2c01d.js +1 -0
  129. package/.next/static/chunks/app/api/restart/route-cf84f975aad4c719.js +1 -0
  130. package/.next/static/chunks/app/api/update/route-cf84f975aad4c719.js +1 -0
  131. package/.next/static/chunks/app/api/version/route-cf84f975aad4c719.js +1 -0
  132. package/.next/static/chunks/app/api/workspace/[id]/apps/[wid]/route-cf84f975aad4c719.js +1 -0
  133. package/.next/static/chunks/app/api/workspace/[id]/apps/route-cf84f975aad4c719.js +1 -0
  134. package/.next/static/chunks/app/api/workspace/[id]/export/route-cf84f975aad4c719.js +1 -0
  135. package/.next/static/chunks/app/api/workspace/[id]/route-cf84f975aad4c719.js +1 -0
  136. package/.next/static/chunks/app/api/workspace/config/route-cf84f975aad4c719.js +1 -0
  137. package/.next/static/chunks/app/api/workspace/import/route-cf84f975aad4c719.js +1 -0
  138. package/.next/static/chunks/app/api/workspace/route-cf84f975aad4c719.js +1 -0
  139. package/.next/static/chunks/app/app-legacy-do-not-use/page-e5dc864e92d90ca7.js +1 -0
  140. package/.next/static/chunks/app/approve/[actionId]/page-2acca1f490424f21.js +1 -0
  141. package/.next/static/chunks/app/docs/[...doc]/page-8e2a2d036caab242.js +1 -0
  142. package/.next/static/chunks/app/docs/page-acf872a03ff79893.js +1 -0
  143. package/.next/static/chunks/app/error-66f983b7769dabfa.js +1 -0
  144. package/.next/static/chunks/app/health/page-c9185854ed9c86d0.js +1 -0
  145. package/.next/static/chunks/app/hello/page-74c9f4deaa4b03dd.js +1 -0
  146. package/.next/static/chunks/app/layout-af8d9969c7aeb758.js +1 -0
  147. package/.next/static/chunks/app/page-16dfcd1c7cc88bcc.js +1 -0
  148. package/.next/static/chunks/app/privacy/page-8e2d17079355c2cc.js +1 -0
  149. package/.next/static/chunks/app/share/[token]/page-5dd9b0418eee411f.js +1 -0
  150. package/.next/static/chunks/app/terms/page-8e2d17079355c2cc.js +1 -0
  151. package/.next/static/chunks/app/yo/layout-cf84f975aad4c719.js +1 -0
  152. package/.next/static/chunks/app/yo/page-719dc5f213fdfb30.js +1 -0
  153. package/.next/static/chunks/framework-a32a2a465584c0bc.js +1 -0
  154. package/.next/static/chunks/main-0f0f9142f74e7215.js +1 -0
  155. package/.next/static/chunks/main-app-24f0c92ba10af457.js +1 -0
  156. package/.next/static/chunks/pages/_app-4b3fb5e477a0267f.js +1 -0
  157. package/.next/static/chunks/pages/_error-c970d8b55ace1b48.js +1 -0
  158. package/.next/static/chunks/{webpack-768de8b7d6a7a27a.js → webpack-79ad58260e9b10b4.js} +1 -1
  159. package/.next/static/css/83cd401584ab787f.css +3 -0
  160. package/.next/trace +28 -28
  161. package/.next/types/app/yo/layout.ts +84 -0
  162. package/.next/types/app/yo/page.ts +84 -0
  163. package/.next/types/routes.d.ts +4 -2
  164. package/.next/types/validator.ts +18 -0
  165. package/bin/auramaxx.js +11 -26
  166. package/docs/ARCHITECTURE.md +1 -1
  167. package/docs/AUTH.md +6 -3
  168. package/docs/CLI.md +2 -0
  169. package/docs/MCP.md +2 -0
  170. package/docs/TROUBLESHOOTING.md +24 -0
  171. package/docs/credentials.md +2 -0
  172. package/package.json +2 -1
  173. package/prisma/migrations/20260227214000_update_agent_action_ttl_defaults/migration.sql +19 -0
  174. package/public/0a167e5e-4f52-4715-ae23-bf63d259a6b1.png +0 -0
  175. package/public/141ec92c-6780-4b23-838f-9a7bf1e91bb8.png +0 -0
  176. package/public/3afc4935-92cb-42af-9624-0b1341c12a5e.png +0 -0
  177. package/public/43947df5-dbcf-4e49-ab8b-41b9162c0410.png +0 -0
  178. package/public/5aeae9ce-0d38-49ea-8fd1-167892a04a85.png +0 -0
  179. package/public/660e4ea3-a3a6-4be4-a8ca-2cb74c51dfb5.png +0 -0
  180. package/public/733f02d7-6b58-4ba6-a5c8-d062cd205e1d.png +0 -0
  181. package/public/a32d65cb-95b0-4977-be6b-cf69f515afbe.png +0 -0
  182. package/public/agent1.png +0 -0
  183. package/public/agent10.png +0 -0
  184. package/public/agent2.png +0 -0
  185. package/public/agent3.png +0 -0
  186. package/public/agent4.png +0 -0
  187. package/public/agent5.png +0 -0
  188. package/public/agent6.png +0 -0
  189. package/public/agent7.png +0 -0
  190. package/public/agent8.png +0 -0
  191. package/public/agent9.png +0 -0
  192. package/public/c4938305-b811-4ccc-91db-94d309734827.png +0 -0
  193. package/public/f2ca6825-a4f3-4107-815c-51ee740dfc09.png +0 -0
  194. package/public/llm.txt +2 -0
  195. package/public/llms.txt +39 -0
  196. package/public/ss-dark1.png +0 -0
  197. package/public/ss-dark1.webp +0 -0
  198. package/public/ss-dark2.png +0 -0
  199. package/public/ss-dark2.webp +0 -0
  200. package/public/ss-dark3.png +0 -0
  201. package/public/ss-dark3.webp +0 -0
  202. package/public/ss-light1.png +0 -0
  203. package/public/ss-light1.webp +0 -0
  204. package/public/ss-light2.png +0 -0
  205. package/public/ss-light2.webp +0 -0
  206. package/public/ss-light3.png +0 -0
  207. package/public/ss-light3.webp +0 -0
  208. package/shared/agent-profile-schema.ts +81 -0
  209. package/shared/credential-field-schema.ts +12 -0
  210. package/skills/auramaxx/SKILL.md +71 -691
  211. package/src/app/UnlockPageClient.tsx +1939 -0
  212. package/src/app/api/page.tsx +8 -9
  213. package/src/app/api/restart/route.ts +2 -18
  214. package/src/app/api/update/route.ts +104 -51
  215. package/src/app/approve/[actionId]/page.tsx +4 -1
  216. package/src/app/docs/DocsPageContent.tsx +3 -3
  217. package/src/app/globals.css +94 -0
  218. package/src/app/layout.tsx +1 -0
  219. package/src/app/page.tsx +25 -1935
  220. package/src/app/yo/layout.tsx +29 -0
  221. package/src/app/yo/page.tsx +528 -0
  222. package/src/components/HumanActionBar.tsx +34 -8
  223. package/src/components/agent/AgentSidebar.tsx +3 -1
  224. package/src/components/agent/CredentialAgent.tsx +5 -1
  225. package/src/components/agent/CredentialDetail.tsx +32 -1
  226. package/src/components/agent/CredentialForm.tsx +94 -7
  227. package/src/components/agent/CredentialRow.tsx +8 -1
  228. package/src/components/agent/credentialFormName.ts +22 -1
  229. package/src/components/agent/types.ts +2 -2
  230. package/src/components/design-system/Modal.tsx +14 -1
  231. package/src/hooks/useUpdateChecker.ts +17 -1
  232. package/src/lib/pino.ts +77 -8
  233. package/src/server/cli/commands/actions.ts +1 -1
  234. package/src/server/cli/commands/agent.ts +110 -65
  235. package/src/server/cli/commands/approve.ts +1 -1
  236. package/src/server/cli/commands/auth.ts +81 -20
  237. package/src/server/cli/commands/start.ts +42 -3
  238. package/src/server/cli/commands/token.ts +2 -2
  239. package/src/server/cli/lib/escalation.ts +109 -24
  240. package/src/server/cli/lib/process.ts +54 -1
  241. package/src/server/cli/socket.ts +1 -1
  242. package/src/server/index.ts +2 -0
  243. package/src/server/lib/agent-profile-records.ts +72 -0
  244. package/src/server/lib/credential-transport.ts +27 -11
  245. package/src/server/lib/defaults.ts +3 -3
  246. package/src/server/lib/escalation-responder.ts +1 -1
  247. package/src/server/lib/resolve-action.ts +2 -2
  248. package/src/server/lib/update-check.ts +1 -1
  249. package/src/server/mcp/server.ts +6 -1
  250. package/src/server/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +1 -1
  251. package/src/server/routes/actions.ts +2 -2
  252. package/src/server/routes/agent-profiles.ts +82 -0
  253. package/src/server/routes/auth.ts +39 -4
  254. package/src/server/routes/credentials.ts +18 -0
  255. package/src/server/tests/cli/agent-auth.test.ts +20 -39
  256. package/src/server/tests/cli/agent.test.ts +18 -0
  257. package/src/server/tests/cli/auth-action-flag.test.ts +3 -2
  258. package/src/server/tests/cli/bin-entrypoint.test.ts +35 -11
  259. package/src/server/tests/cli/escalation.test.ts +7 -3
  260. package/src/server/tests/cli/process.test.ts +3 -3
  261. package/src/server/tests/cli/socket.test.ts +2 -2
  262. package/src/server/tests/cli/start-run.test.ts +24 -1
  263. package/src/server/tests/endpoints/actions.test.ts +2 -2
  264. package/src/server/tests/endpoints/agent-profiles.test.ts +117 -0
  265. package/src/server/tests/endpoints/auth.test.ts +34 -0
  266. package/src/server/tests/lib/credential-transport.test.ts +68 -2
  267. package/src/server/tests/lib/defaults.test.ts +2 -2
  268. package/src/server/tests/lib/escalation-responder.test.ts +2 -2
  269. package/src/server/tests/lib/update-check.test.ts +1 -1
  270. package/src/server/tests/setup.ts +7 -0
  271. package/src/server/tsconfig.tsbuildinfo +1 -1
  272. package/src/server/types.ts +1 -1
  273. package/.next/static/AcaCjQ4akovHBUnVGPpfN/_buildManifest.js +0 -1
  274. package/.next/static/chunks/1168.63dbb444a33b1867.js +0 -1
  275. package/.next/static/chunks/1255-e8718b02724690dd.js +0 -1
  276. package/.next/static/chunks/142-aeaf7ffa9c53516d.js +0 -1
  277. package/.next/static/chunks/2505.22aaa333fd65908f.js +0 -1
  278. package/.next/static/chunks/2619-3c9e02e22d10480a.js +0 -1
  279. package/.next/static/chunks/2927.e7e9e2a1b8d2dc61.js +0 -1
  280. package/.next/static/chunks/3573-27e17f4ff2dd86ed.js +0 -1
  281. package/.next/static/chunks/3609.6f8e0ecd6de9566c.js +0 -1
  282. package/.next/static/chunks/3667-d6770121629db38b.js +0 -1
  283. package/.next/static/chunks/3826.7dfe96467cd74e45.js +0 -1
  284. package/.next/static/chunks/4256.50cb375c979ffd5a.js +0 -1
  285. package/.next/static/chunks/4685-3f8d92f574366fec.js +0 -1
  286. package/.next/static/chunks/4901-54c1ac380b7b43bb.js +0 -1
  287. package/.next/static/chunks/4919-fe6f1553abfc9420.js +0 -1
  288. package/.next/static/chunks/4bd1b696-f785427dddbba9fb.js +0 -1
  289. package/.next/static/chunks/5336-bd251f91235f7c11.js +0 -1
  290. package/.next/static/chunks/5442-be197c885bf12079.js +0 -1
  291. package/.next/static/chunks/5553-c8b86fe3513fce04.js +0 -59
  292. package/.next/static/chunks/6233-44e6fe57a552a816.js +0 -1
  293. package/.next/static/chunks/626.2583673a0386a81b.js +0 -1
  294. package/.next/static/chunks/6872-6442f2f5cce36ce5.js +0 -1
  295. package/.next/static/chunks/7411-3ca797c21b722ccd.js +0 -1
  296. package/.next/static/chunks/7616-b8bd37ce1f735d6f.js +0 -1
  297. package/.next/static/chunks/786-9ed39f96091b2be4.js +0 -1
  298. package/.next/static/chunks/8273-922091226ba84a94.js +0 -1
  299. package/.next/static/chunks/8357.6159472717ff7d11.js +0 -1
  300. package/.next/static/chunks/9062-3eb1607c96486f88.js +0 -1
  301. package/.next/static/chunks/9380.93f361baab2eefdf.js +0 -1
  302. package/.next/static/chunks/app/_not-found/page-c3b87025baf0a9c2.js +0 -1
  303. package/.next/static/chunks/app/api/[...doc]/page-790c4b33ba1fde4a.js +0 -1
  304. package/.next/static/chunks/app/api/agent-requests/route-e83b12cbab2e8707.js +0 -1
  305. package/.next/static/chunks/app/api/apps/install/route-e83b12cbab2e8707.js +0 -1
  306. package/.next/static/chunks/app/api/apps/manifests/route-e83b12cbab2e8707.js +0 -1
  307. package/.next/static/chunks/app/api/apps/static/[...path]/route-e83b12cbab2e8707.js +0 -1
  308. package/.next/static/chunks/app/api/docs/plain/route-e83b12cbab2e8707.js +0 -1
  309. package/.next/static/chunks/app/api/events/route-e83b12cbab2e8707.js +0 -1
  310. package/.next/static/chunks/app/api/import-from-openclaw/[channel]/route-e83b12cbab2e8707.js +0 -1
  311. package/.next/static/chunks/app/api/import-from-openclaw/route-e83b12cbab2e8707.js +0 -1
  312. package/.next/static/chunks/app/api/import-from-openclaw/validate/[channel]/route-e83b12cbab2e8707.js +0 -1
  313. package/.next/static/chunks/app/api/page-b53f9aa17a4c5201.js +0 -1
  314. package/.next/static/chunks/app/api/restart/route-e83b12cbab2e8707.js +0 -1
  315. package/.next/static/chunks/app/api/update/route-e83b12cbab2e8707.js +0 -1
  316. package/.next/static/chunks/app/api/version/route-e83b12cbab2e8707.js +0 -1
  317. package/.next/static/chunks/app/api/workspace/[id]/apps/[wid]/route-e83b12cbab2e8707.js +0 -1
  318. package/.next/static/chunks/app/api/workspace/[id]/apps/route-e83b12cbab2e8707.js +0 -1
  319. package/.next/static/chunks/app/api/workspace/[id]/export/route-e83b12cbab2e8707.js +0 -1
  320. package/.next/static/chunks/app/api/workspace/[id]/route-e83b12cbab2e8707.js +0 -1
  321. package/.next/static/chunks/app/api/workspace/config/route-e83b12cbab2e8707.js +0 -1
  322. package/.next/static/chunks/app/api/workspace/import/route-e83b12cbab2e8707.js +0 -1
  323. package/.next/static/chunks/app/api/workspace/route-e83b12cbab2e8707.js +0 -1
  324. package/.next/static/chunks/app/app-legacy-do-not-use/page-0052191daef60036.js +0 -1
  325. package/.next/static/chunks/app/approve/[actionId]/page-45cd3b8fa062d5e5.js +0 -1
  326. package/.next/static/chunks/app/docs/[...doc]/page-632ac406200b66fe.js +0 -1
  327. package/.next/static/chunks/app/docs/page-b7556394709b43df.js +0 -1
  328. package/.next/static/chunks/app/error-3d6057da512253d8.js +0 -1
  329. package/.next/static/chunks/app/health/page-80c985cd72328b74.js +0 -1
  330. package/.next/static/chunks/app/hello/page-fd71babcd192729b.js +0 -1
  331. package/.next/static/chunks/app/layout-285c6ef3f16bae63.js +0 -1
  332. package/.next/static/chunks/app/page-85017185df14c37b.js +0 -1
  333. package/.next/static/chunks/app/privacy/page-faf36cd0dde6dfa3.js +0 -1
  334. package/.next/static/chunks/app/share/[token]/page-22d51d6c5a47bb75.js +0 -1
  335. package/.next/static/chunks/app/terms/page-faf36cd0dde6dfa3.js +0 -1
  336. package/.next/static/chunks/framework-e60c938074ff7136.js +0 -1
  337. package/.next/static/chunks/main-447abf206d7ebd2f.js +0 -1
  338. package/.next/static/chunks/main-app-f63b86bdbf5b7b88.js +0 -1
  339. package/.next/static/chunks/pages/_app-6c8c2371b16a04b8.js +0 -1
  340. package/.next/static/chunks/pages/_error-94812ad32cad7365.js +0 -1
  341. package/.next/static/css/eb25c6452113486f.css +0 -3
  342. /package/.next/static/{AcaCjQ4akovHBUnVGPpfN → WshFGr6RxGYP6AbWuT9OG}/_ssgManifest.js +0 -0
@@ -14,4 +14,4 @@ see more here https://nextjs.org/docs/messages/app-static-to-dynamic-error`),"__
14
14
  relative flex items-center gap-2 px-4 py-2 font-mono text-[10px] tracking-wider
15
15
  transition-all rounded-t-sm border border-b-0 group
16
16
  ${e?"bg-[var(--color-surface,#ffffff)] text-[var(--color-text,#0a0a0a)] border-[var(--color-border,#d4d4d8)] z-10 -mb-[1px]":"bg-[var(--color-surface-alt,#d8d8d6)] text-[var(--color-text-muted,#6b7280)] border-transparent hover:bg-[var(--color-background-alt,#e0e0de)] cursor-pointer"}
17
- `,style:m?{borderTopColor:m,borderTopWidth:e?"2px":"1px"}:void 0,onClick:()=>!e&&c(a.id),onMouseEnter:()=>p(a.id),onMouseLeave:()=>p(null),onDoubleClick:b=>{b.stopPropagation(),e&&B(a)},children:[a.emoji?(0,d.jsx)("span",{className:"text-xs",children:a.emoji}):(0,d.jsx)(l,{size:12,style:m?{color:m}:void 0}),(0,d.jsx)("span",{className:"select-none",children:a.label}),e&&g&&i&&!j&&(0,d.jsx)("button",{onClick:b=>{b.stopPropagation(),B(a)},className:"p-0.5 hover:bg-[var(--color-background-alt,#e5e5e5)] rounded transition-colors",title:"Edit workspace",children:(0,d.jsx)(X,{size:9,className:"text-[var(--color-text-muted,#6b7280)] hover:text-[var(--color-text,#0a0a0a)]"})}),a.closeable&&(0,d.jsx)("button",{onClick:b=>{b.stopPropagation(),f?.(a.id)},className:"p-0.5 hover:bg-[var(--color-background-alt,#e5e5e5)] rounded transition-colors",children:(0,d.jsx)(k.A,{size:10,className:"text-[var(--color-text-muted,#6b7280)] hover:text-[var(--color-text,#0a0a0a)]"})}),e&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("div",{className:"absolute -bottom-[1px] left-0 right-0 h-[1px] bg-[var(--color-surface,#ffffff)]"}),(0,d.jsx)("div",{className:"absolute top-0 left-0 right-0 h-[3px] shard-start bg-[var(--color-accent,#ccff00)]"})]}),(0,d.jsx)(x.AM,{isOpen:j,onClose:C,title:"EDIT WORKSPACE",anchor:"left",anchorEl:A.current[a.id],children:(0,d.jsxs)("div",{className:"space-y-3 min-w-[220px]",children:[(0,d.jsx)(x.ks,{label:"Name",type:"text",value:t,onChange:a=>u(a.target.value.toUpperCase()),autoFocus:!0,compact:!0}),(0,d.jsxs)("div",{children:[(0,d.jsx)("label",{className:"block font-mono text-[8px] text-[var(--color-text-muted,#6b7280)] uppercase tracking-widest mb-1",children:"Emoji"}),(0,d.jsxs)("div",{className:"flex flex-wrap gap-1",children:[(0,d.jsx)("button",{onClick:()=>D(""),className:`w-6 h-6 border text-[10px] font-mono ${!v?"border-[var(--color-border-focus,#0a0a0a)] bg-[var(--color-surface-alt,#fafafa)]":"border-[var(--color-border,#d4d4d8)] hover:border-[var(--color-text-muted,#6b7280)]"}`,children:"✕"}),aa.map(a=>(0,d.jsx)("button",{onClick:()=>D(a),className:`w-6 h-6 border text-sm ${v===a?"border-[var(--color-border-focus,#0a0a0a)] bg-[var(--color-surface-alt,#fafafa)]":"border-[var(--color-border,#d4d4d8)] hover:border-[var(--color-text-muted,#6b7280)]"}`,children:a},a))]})]}),(0,d.jsxs)("div",{children:[(0,d.jsx)("label",{className:"block font-mono text-[8px] text-[var(--color-text-muted,#6b7280)] uppercase tracking-widest mb-1",children:"Color"}),(0,d.jsx)("div",{className:"flex flex-wrap gap-1",children:_.map(a=>(0,d.jsx)("button",{onClick:()=>(a=>{z(a),q&&i&&i(q,{color:a||void 0})})(a),className:`w-6 h-6 border-2 ${y===a?"border-[var(--color-accent,#ccff00)]":"border-transparent"}`,style:{backgroundColor:a}},a))})]})]})})]},a.id)})}),g&&(0,d.jsx)("button",{onClick:g,className:"ml-1 p-1.5 mb-1 hover:bg-[var(--color-surface-alt,#d8d8d6)] rounded transition-colors group",title:"New Workspace",children:(0,d.jsx)(s.A,{size:14,className:"text-[var(--color-text-muted,#6b7280)] group-hover:text-[var(--color-text,#0a0a0a)]"})}),(0,d.jsx)("div",{className:"flex-1"}),(0,d.jsxs)("div",{className:"flex items-center gap-0.5 mr-1 mb-1",children:[l&&(0,d.jsx)("button",{onClick:l,className:"p-1.5 hover:bg-[var(--color-surface,#ffffff)] rounded transition-colors group",title:"App Store",children:(0,d.jsx)(Y,{size:14,className:"text-[var(--color-text-muted,#6b7280)] group-hover:text-[var(--color-text,#0a0a0a)]"})}),j&&(0,d.jsx)("button",{onClick:j,className:"p-1.5 hover:bg-[var(--color-surface,#ffffff)] rounded transition-colors group",title:"Tidy apps",children:(0,d.jsx)(Z,{size:14,className:"text-[var(--color-text-muted,#6b7280)] group-hover:text-[var(--color-text,#0a0a0a)]"})}),(0,d.jsx)($.v,{notifications:m,onDismiss:n??(()=>{})})]})]})};var ac=c(54684);let ad=(0,g.A)("Download",[["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["polyline",{points:"7 10 12 15 17 10",key:"2ggqvy"}],["line",{x1:"12",x2:"12",y1:"15",y2:"3",key:"1vk2je"}]]);var ae=c(98817);let af=[{id:"all",label:"ALL"},{id:"builtin",label:"BUILT-IN"},{id:"installed",label:"INSTALLED"}];function ag({isOpen:a,onClose:b,onAddApp:c}){let[f,g]=(0,e.useState)([]),[h,i]=(0,e.useState)(!1),[j,k]=(0,e.useState)("all"),[l,n]=(0,e.useState)(""),[o,p]=(0,e.useState)(!1),[q,t]=(0,e.useState)(null),[v,w]=(0,e.useState)(null),[y,z]=(0,e.useState)(null),[A,B]=(0,e.useState)(null),[C,D]=(0,e.useState)(!1),[E,F]=(0,e.useState)(null),G=async()=>{if(l.trim()){p(!0),t(null),w(null);try{let a=await S.FH.post(S.jI.Workspace,"/apps/install",{source:l.trim()});if(!a.success)return void t(a.error||"Install failed");w(`Installed "${a.app?.name||a.app?.id}"`),n(""),S.FH.get(S.jI.Workspace,"/apps/manifests").then(a=>{a.success&&g(a.manifests)}).catch(()=>{})}catch(a){t(a.message)}finally{p(!1)}}},H=async()=>{if(y){D(!0),F(null);try{let a=await S.FH.post(S.jI.Wallet,`/apps/${y.id}/approve`);if(!a.success)return void F(a.error||"Approval failed");let b=y.id,d=y.name;z(null),B(null),c(`installed:${b}`,{appPath:b,appName:d})}catch(a){F(a.message)}finally{D(!1)}}},I=(0,e.useMemo)(()=>Object.entries(ae.yN).map(([a,b])=>({id:a,name:b.title,icon:b.icon,description:b.description||`Built-in ${b.title.toLowerCase()} app`,category:"builtin",color:b.color,permissions:[],manifest:null,onAdd:()=>c(a)})),[c]),J=(0,e.useMemo)(()=>f.map(a=>({id:`installed:${a.id}`,name:a.name,icon:ac.A,description:a.description||"Installed app",category:"installed",color:"gray",permissions:Array.isArray(a.permissions)?a.permissions:[],manifest:a,onAdd:()=>c(`installed:${a.id}`,{appPath:a.id,appName:a.name})})),[f,c]),K=(0,e.useMemo)(()=>"builtin"===j?I:"installed"===j?J:[...I,...J],[j,I,J]);return(0,d.jsx)(x._s,{isOpen:a,onClose:b,title:"APP STORE",subtitle:"Add apps to workspace",children:(0,d.jsxs)("div",{className:"space-y-4",children:[(0,d.jsx)("div",{className:"flex gap-1",children:af.map(a=>(0,d.jsx)("button",{onClick:()=>k(a.id),className:`px-2.5 py-1 font-mono text-[9px] tracking-widest border transition-colors ${j===a.id?"bg-[var(--color-text,#0a0a0a)] text-[var(--color-accent,#ccff00)] border-[var(--color-text,#0a0a0a)]":"bg-[var(--color-surface,#fff)] text-[var(--color-text-muted,#6b7280)] border-[var(--color-border,#d4d4d8)] hover:border-[var(--color-text,#0a0a0a)]"}`,children:a.label},a.id))}),("all"===j||"installed"===j)&&(0,d.jsxs)("div",{className:"p-2.5 border border-[var(--color-border,#d4d4d8)] bg-[var(--color-surface,#fff)]",children:[(0,d.jsx)("div",{className:"font-mono text-[8px] text-[var(--color-text-muted,#6b7280)] mb-1.5 tracking-wider",children:"INSTALL FROM URL"}),(0,d.jsxs)("div",{className:"flex gap-1.5",children:[(0,d.jsx)("div",{className:"flex-1",children:(0,d.jsx)(x.ks,{value:l,onChange:a=>n(a.target.value),placeholder:"github.com/user/app or URL",compact:!0,onKeyDown:a=>{"Enter"===a.key&&G()},disabled:o})}),(0,d.jsx)(x.$n,{variant:"primary",size:"sm",onClick:G,loading:o,disabled:o||!l.trim(),icon:(0,d.jsx)(ad,{size:10}),children:"INSTALL"})]}),q&&(0,d.jsx)("div",{className:"font-mono text-[8px] text-[var(--color-warning,#ff4d00)] mt-1.5",children:q}),v&&(0,d.jsx)("div",{className:"font-mono text-[8px] text-[var(--color-success,#22c55e)] mt-1.5",children:v})]}),h&&(0,d.jsx)("div",{className:"py-8 flex items-center justify-center",children:(0,d.jsx)(m.A,{size:16,className:"animate-spin text-[var(--color-text-muted,#6b7280)]"})}),!h&&0===K.length&&(0,d.jsxs)("div",{className:"py-8 text-center border border-dashed border-[var(--color-border,#d4d4d8)]",children:[(0,d.jsx)(ac.A,{size:20,className:"mx-auto mb-2 text-[var(--color-text-faint,#9ca3af)]"}),(0,d.jsx)("div",{className:"font-mono text-[9px] text-[var(--color-text-muted,#6b7280)]",children:"installed"===j?"No apps installed. Drop app folders into apps/":"No apps available"})]}),!h&&(0,d.jsx)("div",{className:"space-y-2",children:K.map(a=>{let b=a.icon,c=a.permissions.length>0;return(0,d.jsxs)("div",{className:"p-3 border border-[var(--color-border,#d4d4d8)] bg-[var(--color-surface,#fff)] hover:border-[var(--color-border-focus,#0a0a0a)] transition-colors relative",children:[(0,d.jsx)("div",{className:"absolute top-1 left-1 w-1.5 h-1.5 border-l border-t border-[var(--color-border-focus,#0a0a0a)] opacity-30"}),(0,d.jsx)("div",{className:"absolute top-1 right-1 w-1.5 h-1.5 border-r border-t border-[var(--color-border-focus,#0a0a0a)] opacity-30"}),(0,d.jsxs)("div",{className:"flex items-start gap-3",children:[(0,d.jsx)("div",{className:"w-8 h-8 bg-[var(--color-background-alt,#f4f4f5)] flex items-center justify-center shrink-0",children:(0,d.jsx)(b,{size:14,className:"text-[var(--color-text-muted,#6b7280)]"})}),(0,d.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)("span",{className:"font-mono text-[10px] font-bold text-[var(--color-text,#0a0a0a)]",children:a.name}),(0,d.jsx)("span",{className:`font-mono text-[7px] px-1 py-0.5 ${"installed"===a.category?"bg-[var(--color-accent,#ccff00)]/20 text-[var(--color-accent,#ccff00)]":"bg-[var(--color-info,#0047ff)]/10 text-[var(--color-info,#0047ff)]"}`,children:"installed"===a.category?"PLUGIN":"BUILT-IN"})]}),(0,d.jsx)("div",{className:"font-mono text-[8px] text-[var(--color-text-muted,#6b7280)] mt-0.5 leading-relaxed",children:a.description}),c&&(0,d.jsxs)("div",{className:"flex items-center gap-1 mt-1",children:[(0,d.jsx)(u.A,{size:8,className:"text-[var(--color-warning,#ff4d00)]"}),(0,d.jsxs)("span",{className:"font-mono text-[7px] text-[var(--color-warning,#ff4d00)]",children:[a.permissions.length," PERMISSION",a.permissions.length>1?"S":""]})]})]}),(0,d.jsx)(x.$n,{variant:c?"secondary":"ghost",size:"sm",onClick:b=>{c&&a.manifest?(z(a.manifest),B(b.currentTarget),F(null)):a.onAdd()},icon:c?(0,d.jsx)(u.A,{size:10}):(0,d.jsx)(s.A,{size:10}),children:c?"APPROVE":"ADD"})]})]},a.id)})}),(0,d.jsx)(x.AM,{isOpen:!!y,onClose:()=>{z(null),B(null)},title:"APP PERMISSIONS",anchorEl:A,anchor:"right",children:y&&(0,d.jsxs)("div",{className:"space-y-3 min-w-[220px]",children:[(0,d.jsxs)("div",{children:[(0,d.jsx)("div",{className:"font-mono text-[10px] font-bold text-[var(--color-text,#0a0a0a)]",children:y.name}),(0,d.jsx)("div",{className:"font-mono text-[8px] text-[var(--color-text-muted,#6b7280)] mt-0.5",children:"This app requests the following permissions:"})]}),(0,d.jsx)("div",{className:"space-y-1",children:(Array.isArray(y.permissions)?y.permissions:[]).map(a=>(0,d.jsxs)("div",{className:"flex items-center gap-1.5 px-2 py-1.5 bg-[var(--color-background-alt,#f4f4f5)]",children:[(0,d.jsx)(u.A,{size:9,className:"text-[var(--color-warning,#ff4d00)] shrink-0"}),(0,d.jsx)("span",{className:"font-mono text-[9px] text-[var(--color-text,#0a0a0a)]",children:a})]},a))}),E&&(0,d.jsx)("div",{className:"font-mono text-[8px] text-[var(--color-warning,#ff4d00)] px-1",children:E}),(0,d.jsxs)("div",{className:"flex gap-2 pt-1",children:[(0,d.jsx)(x.$n,{variant:"primary",size:"sm",onClick:H,loading:C,disabled:C,icon:(0,d.jsx)(r.A,{size:10}),className:"flex-1",children:"APPROVE"}),(0,d.jsx)(x.$n,{variant:"secondary",size:"sm",onClick:()=>{z(null),B(null)},disabled:C,children:"CANCEL"})]})]})})]})})}let ah={KeyRound:n.A,Flame:J,Shield:u.A,Database:v.A};function ai({views:a,activeViewId:b,onSelectView:c,onCreateView:e}){return(0,d.jsxs)("div",{style:{display:"flex",flexDirection:"column",alignItems:"center",gap:"8px",padding:"12px 6px",width:"56px",minWidth:"56px",borderRight:"1px solid var(--border-color, rgba(255,255,255,0.08))",background:"var(--bg-sidebar, rgba(0,0,0,0.15))",height:"100%"},children:[(0,d.jsx)("button",{onClick:e,title:"Create view",style:{width:"40px",height:"40px",borderRadius:"12px",border:"1px dashed rgba(255,255,255,0.2)",background:"transparent",color:"rgba(255,255,255,0.5)",cursor:"pointer",display:"flex",alignItems:"center",justifyContent:"center",transition:"all 0.15s ease",marginBottom:"4px"},onMouseEnter:a=>{a.target.style.borderColor="rgba(255,255,255,0.4)",a.target.style.color="rgba(255,255,255,0.8)"},onMouseLeave:a=>{a.target.style.borderColor="rgba(255,255,255,0.2)",a.target.style.color="rgba(255,255,255,0.5)"},children:(0,d.jsx)(s.A,{size:18})}),(0,d.jsx)("div",{style:{width:"24px",height:"1px",background:"rgba(255,255,255,0.08)"}}),a.map(a=>{let e=ah[a.icon]||n.A,f=a.id===b;return(0,d.jsx)("button",{onClick:()=>c(a.id),title:a.label,style:{width:"40px",height:"40px",borderRadius:"12px",border:"none",background:f?"var(--accent-color, rgba(99,102,241,0.3))":"rgba(255,255,255,0.04)",color:f?"white":"rgba(255,255,255,0.5)",cursor:"pointer",display:"flex",alignItems:"center",justifyContent:"center",transition:"all 0.15s ease"},onMouseEnter:a=>{f||(a.currentTarget.style.background="rgba(255,255,255,0.08)",a.currentTarget.style.color="rgba(255,255,255,0.8)")},onMouseLeave:a=>{f||(a.currentTarget.style.background="rgba(255,255,255,0.04)",a.currentTarget.style.color="rgba(255,255,255,0.5)")},children:(0,d.jsx)(e,{size:20})},a.id)})]})}let aj=[{id:"main",label:"Agent",icon:"KeyRound",description:"Credentials, secrets, and agent management",pinned:!0},{id:"wallet",label:"Wallet",icon:"Flame",description:"Wallet balances, send, swap, and fund",pinned:!0}],ak=[{id:"auth",label:"Auth",icon:"Shield",description:"Token management and approval flows"},{id:"wallet",label:"Wallet",icon:"Flame",description:"Wallet balances, send, swap, and fund"},{id:"audit",label:"Audit",icon:"Database",description:"Audit logs and security monitoring"}],al={KeyRound:n.A,Flame:J,Shield:u.A,Database:v.A};function am({open:a,onClose:b,onSelect:c}){return a?(0,d.jsx)(x.aF,{isOpen:a,title:"Create View",onClose:b,children:(0,d.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:"8px",padding:"8px 0"},children:ak.map(a=>{let e=al[a.icon]||n.A;return(0,d.jsxs)("button",{onClick:()=>{c(a),b()},style:{display:"flex",alignItems:"center",gap:"12px",padding:"12px 16px",borderRadius:"8px",border:"1px solid rgba(255,255,255,0.08)",background:"rgba(255,255,255,0.03)",color:"white",cursor:"pointer",textAlign:"left",transition:"all 0.15s ease",width:"100%"},onMouseEnter:a=>{a.currentTarget.style.background="rgba(255,255,255,0.06)",a.currentTarget.style.borderColor="rgba(255,255,255,0.15)"},onMouseLeave:a=>{a.currentTarget.style.background="rgba(255,255,255,0.03)",a.currentTarget.style.borderColor="rgba(255,255,255,0.08)"},children:[(0,d.jsx)("div",{style:{width:"36px",height:"36px",borderRadius:"10px",background:"rgba(99,102,241,0.15)",display:"flex",alignItems:"center",justifyContent:"center",flexShrink:0},children:(0,d.jsx)(e,{size:18})}),(0,d.jsxs)("div",{children:[(0,d.jsx)("div",{style:{fontWeight:600,fontSize:"14px"},children:a.label}),a.description&&(0,d.jsx)("div",{style:{fontSize:"12px",color:"rgba(255,255,255,0.5)",marginTop:"2px"},children:a.description})]})]},a.id)})})}):null}let an=(0,g.A)("GripVertical",[["circle",{cx:"9",cy:"12",r:"1",key:"1vctgf"}],["circle",{cx:"9",cy:"5",r:"1",key:"hp0tcf"}],["circle",{cx:"9",cy:"19",r:"1",key:"fkjjf6"}],["circle",{cx:"15",cy:"12",r:"1",key:"1tmaij"}],["circle",{cx:"15",cy:"5",r:"1",key:"19l28e"}],["circle",{cx:"15",cy:"19",r:"1",key:"f4zoj3"}]]),ao={blue:{band:"bg-[var(--app-blue-band,#0047ff)]",accent:"border-[var(--app-blue-accent,rgba(0,71,255,0.3))]",bg:"bg-[var(--app-blue-bg,rgba(0,71,255,0.05))]",text:"text-[var(--app-blue-text,#0047ff)]"},orange:{band:"bg-[var(--app-orange-band,#ff4d00)]",accent:"border-[var(--app-orange-accent,rgba(255,77,0,0.3))]",bg:"bg-[var(--app-orange-bg,rgba(255,77,0,0.05))]",text:"text-[var(--app-orange-text,#ff4d00)]"},lime:{band:"bg-[var(--app-lime-band,#84cc16)]",accent:"border-[var(--app-lime-accent,rgba(132,204,22,0.3))]",bg:"bg-[var(--app-lime-bg,rgba(132,204,22,0.05))]",text:"text-[var(--app-lime-text,#65a30d)]"},purple:{band:"bg-[var(--app-purple-band,#7c3aed)]",accent:"border-[var(--app-purple-accent,rgba(124,58,237,0.3))]",bg:"bg-[var(--app-purple-bg,rgba(124,58,237,0.05))]",text:"text-[var(--app-purple-text,#7c3aed)]"},gray:{band:"bg-[var(--app-gray-band,#6b7280)]",accent:"border-[var(--app-gray-accent,rgba(107,114,128,0.3))]",bg:"bg-[var(--app-gray-bg,rgba(107,114,128,0.05))]",text:"text-[var(--app-gray-text,#6b7280)]"},teal:{band:"bg-[var(--app-teal-band,#14b8a6)]",accent:"border-[var(--app-teal-accent,rgba(20,184,166,0.3))]",bg:"bg-[var(--app-teal-bg,rgba(20,184,166,0.05))]",text:"text-[var(--app-teal-text,#14b8a6)]"},rose:{band:"bg-[var(--app-rose-band,#f43f5e)]",accent:"border-[var(--app-rose-accent,rgba(244,63,94,0.3))]",bg:"bg-[var(--app-rose-bg,rgba(244,63,94,0.05))]",text:"text-[var(--app-rose-text,#f43f5e)]"}},ap=({id:a,title:b,subtitle:c,subtitleLink:f,icon:g,color:h,initialPosition:i={x:20,y:20},initialSize:j={width:320,height:"auto"},minWidth:m=200,minHeight:n=100,maxWidth:o=2e3,maxHeight:p=2e3,resizable:q=!0,dismissable:r=!1,locked:s=!1,onLockChange:t,onRefresh:u,onDismiss:v,onPositionChange:x,onSizeChange:y,onBringToFront:z,children:A,className:C="",status:D="normal",zIndex:E=10,focusTrigger:F})=>{let G=h&&h in ao,H=G?ao[h]:null,I=!G&&h?.startsWith("#")?h:null,[J,K]=(0,e.useState)(i),[M,N]=(0,e.useState)({width:"number"==typeof j.width?j.width:320,height:"number"==typeof j.height?j.height:200}),[O,P]=(0,e.useState)(!1),[Q,R]=(0,e.useState)(!1),[S,T]=(0,e.useState)(s),[,U]=(0,e.useState)(!1),V=(0,e.useRef)(null),W=(0,e.useRef)({startX:0,startY:0,startPosX:0,startPosY:0}),X=(0,e.useRef)({direction:null,startX:0,startY:0,startWidth:0,startHeight:0,startPosX:0,startPosY:0}),Y=(0,e.useRef)(E);(0,e.useEffect)(()=>{T(s)},[s]),(0,e.useEffect)(()=>{K(i)},[i.x,i.y]),(0,e.useEffect)(()=>{"number"==typeof j.width&&N(a=>({...a,width:j.width})),"number"==typeof j.height&&N(a=>({...a,height:j.height}))},[j.width,j.height]),(0,e.useEffect)(()=>{let a=Y.current;if(Y.current=E,E>a){U(!0);let a=setTimeout(()=>U(!1),250);return()=>clearTimeout(a)}},[E]),(0,e.useEffect)(()=>{if(void 0!==F&&F>0){U(!0);let a=setTimeout(()=>U(!1),250);return()=>clearTimeout(a)}},[F]),(0,e.useEffect)(()=>{let b=()=>{setTimeout(()=>{let b=document.activeElement;b?.tagName==="IFRAME"&&V.current?.contains(b)&&z?.(a)},0)};return window.addEventListener("blur",b),()=>window.removeEventListener("blur",b)},[a,z]);let Z=(0,e.useCallback)(()=>{if(!V.current)return;let b=V.current.getBoundingClientRect(),c=V.current.offsetParent,d=c?.getBoundingClientRect()||{left:0,top:0},e=b.left-d.left,f=b.top-d.top,g=b.width,h=b.height;K({x:e,y:f}),N({width:g,height:h}),(O||Q)&&x?.(a,{x:e,y:f}),Q&&y?.(a,{width:g,height:h}),P(!1),R(!1)},[a,O,Q,x,y]),$=(0,e.useCallback)((b,c)=>{!S&&q&&(b.preventDefault(),b.stopPropagation(),z?.(a),R(!0),X.current={direction:c,startX:b.clientX,startY:b.clientY,startWidth:M.width,startHeight:M.height,startPosX:J.x,startPosY:J.y})},[S,q,M,J,a,z]);(0,e.useEffect)(()=>{if(!O&&!Q)return;let a=a=>{if(V.current){if(O){let b=a.clientX-W.current.startX,c=a.clientY-W.current.startY,d=Math.max(0,W.current.startPosX+b),e=Math.max(0,W.current.startPosY+c);V.current.style.left=`${d}px`,V.current.style.top=`${e}px`}else if(Q&&X.current.direction){let b=a.clientX-X.current.startX,c=a.clientY-X.current.startY,d=X.current.direction,e=X.current.startWidth,f=X.current.startHeight,g=X.current.startPosX,h=X.current.startPosY;if(d.includes("e")&&(e=Math.min(o,Math.max(m,X.current.startWidth+b))),d.includes("w")){let a=X.current.startWidth-b;a>=m&&a<=o&&(e=a,g=X.current.startPosX+b)}if(d.includes("s")&&(f=Math.min(p,Math.max(n,X.current.startHeight+c))),d.includes("n")){let a=X.current.startHeight-c;a>=n&&a<=p&&(f=a,h=X.current.startPosY+c)}V.current.style.width=`${e}px`,V.current.style.height=`${f}px`,V.current.style.left=`${Math.max(0,g)}px`,V.current.style.top=`${Math.max(0,h)}px`}}},b=()=>{Z()},c=a=>{"Escape"===a.key&&Z()};return document.addEventListener("mousemove",a),document.addEventListener("mouseup",b),document.addEventListener("keydown",c),()=>{document.removeEventListener("mousemove",a),document.removeEventListener("mouseup",b),document.removeEventListener("keydown",c)}},[O,Q,Z,m,n,o,p]);let _="absolute z-20";return(0,d.jsx)("div",{ref:V,className:`absolute ${C}`,onClick:b=>{if(!(b.target.closest("button")||b.target.closest("input")||b.target.closest("a")||b.target.closest("textarea")||b.target.closest("select"))){if(O||Q)return void Z();z?.(a)}},style:{left:J.x,top:J.y,width:M.width,height:M.height,minWidth:m,minHeight:n,zIndex:O||Q?1e3:E,transform:"scale(1)",transition:"none",transformOrigin:"top left",willChange:O||Q?"left, top, width, height":"auto"},children:(0,d.jsxs)("div",{className:`bg-[var(--color-surface,#ffffff)] border ${H?H.accent:!I?({normal:"border-[var(--color-border-muted,#e5e5e5)]",alert:"border-[var(--color-warning,#ff4d00)]",success:"border-[var(--color-accent,#ccff00)]"})[D]:""} relative overflow-hidden h-full flex flex-col`,style:{borderColor:I?`${I}4D`:void 0,boxShadow:O||Q?"6px 6px 0 rgba(0,0,0,0.1)":"4px 4px 0 rgba(0,0,0,0.05)"},children:[(H||I)&&(0,d.jsx)("div",{className:`absolute top-0 left-0 right-0 h-1 ${H?H.band:""}`,style:I?{backgroundColor:I}:void 0}),(0,d.jsx)("div",{className:"absolute top-1 left-1 w-2 h-2 border-l border-t border-[var(--color-border,#d4d4d8)] opacity-50 pointer-events-none"}),(0,d.jsx)("div",{className:"absolute top-1 right-1 w-2 h-2 border-r border-t border-[var(--color-border,#d4d4d8)] opacity-50 pointer-events-none"}),(0,d.jsx)("div",{className:"absolute bottom-1 left-1 w-2 h-2 border-l border-b border-[var(--color-border,#d4d4d8)] opacity-50 pointer-events-none"}),(0,d.jsx)("div",{className:"absolute bottom-1 right-1 w-2 h-2 border-r border-b border-[var(--color-border,#d4d4d8)] opacity-50 pointer-events-none"}),(0,d.jsx)("div",{className:"absolute inset-0 opacity-[0.02] pointer-events-none bg-[radial-gradient(#000_1px,transparent_1px)] bg-[size:3px_3px]"}),q&&!S&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("div",{className:`${_} top-0 left-3 right-3 h-2 cursor-n-resize`,onMouseDown:a=>$(a,"n")}),(0,d.jsx)("div",{className:`${_} bottom-0 left-3 right-3 h-2 cursor-s-resize`,onMouseDown:a=>$(a,"s")}),(0,d.jsx)("div",{className:`${_} left-0 top-3 bottom-3 w-2 cursor-w-resize`,onMouseDown:a=>$(a,"w")}),(0,d.jsx)("div",{className:`${_} right-0 top-3 bottom-3 w-2 cursor-e-resize`,onMouseDown:a=>$(a,"e")}),(0,d.jsx)("div",{className:`${_} top-0 left-0 w-3 h-3 cursor-nw-resize`,onMouseDown:a=>$(a,"nw")}),(0,d.jsx)("div",{className:`${_} top-0 right-0 w-3 h-3 cursor-ne-resize`,onMouseDown:a=>$(a,"ne")}),(0,d.jsx)("div",{className:`${_} bottom-0 left-0 w-3 h-3 cursor-sw-resize`,onMouseDown:a=>$(a,"sw")}),(0,d.jsx)("div",{className:`${_} bottom-0 right-0 w-5 h-5 cursor-se-resize group/resize`,onMouseDown:a=>$(a,"se"),children:(0,d.jsxs)("svg",{className:"absolute bottom-1 right-1 w-2.5 h-2.5 text-[var(--color-border,#d4d4d8)] group-hover/resize:text-[var(--color-text-muted,#6b7280)] transition-colors",viewBox:"0 0 10 10",fill:"currentColor",children:[(0,d.jsx)("circle",{cx:"8.5",cy:"1.5",r:"1"}),(0,d.jsx)("circle",{cx:"8.5",cy:"5",r:"1"}),(0,d.jsx)("circle",{cx:"8.5",cy:"8.5",r:"1"}),(0,d.jsx)("circle",{cx:"5",cy:"5",r:"1"}),(0,d.jsx)("circle",{cx:"5",cy:"8.5",r:"1"}),(0,d.jsx)("circle",{cx:"1.5",cy:"8.5",r:"1"})]})})]}),(0,d.jsxs)("div",{className:`px-3 py-2 border-b border-[var(--color-border-muted,#e5e5e5)] flex items-center justify-between relative z-10 shrink-0 ${H||I?"pt-3":""} ${S?"cursor-default":O?"cursor-grabbing":"cursor-grab"}`,onMouseDown:b=>{!(b.target.closest("button")||b.target.closest("input"))&&(z?.(a),S||(b.preventDefault(),P(!0),W.current={startX:b.clientX,startY:b.clientY,startPosX:J.x,startPosY:J.y}))},children:[(0,d.jsxs)("div",{className:"flex items-center gap-2 min-w-0 flex-1",children:[!S&&(0,d.jsx)(an,{size:10,className:"text-[var(--color-text-faint,#9ca3af)] shrink-0"}),S&&(0,d.jsx)(l.A,{size:10,className:"text-[var(--color-text-faint,#9ca3af)] shrink-0"}),g&&(0,d.jsx)(g,{size:12,className:`shrink-0 ${H?H.text:"text-[var(--color-text-muted,#6b7280)]"}`,style:I?{color:I}:void 0}),(0,d.jsx)("span",{className:`font-mono text-[10px] font-bold tracking-widest uppercase select-none shrink-0 ${H?H.text:"text-[var(--color-text,#0a0a0a)]"}`,style:I?{color:I}:void 0,children:b}),c&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("span",{className:"text-[var(--color-text-faint,#9ca3af)] shrink-0",children:"\xb7"}),(0,d.jsx)("span",{className:"font-mono text-[9px] text-[var(--color-text-muted,#6b7280)] truncate",children:c}),f&&(0,d.jsx)("a",{href:f,target:"_blank",rel:"noopener noreferrer",className:"p-0.5 hover:bg-[var(--color-surface-alt,#fafafa)] rounded transition-colors shrink-0",title:"Open in new tab",onClick:a=>a.stopPropagation(),onMouseDown:a=>a.stopPropagation(),children:(0,d.jsx)(B.A,{size:9,className:"text-[var(--color-text-muted,#6b7280)]"})})]})]}),(0,d.jsxs)("div",{className:"flex items-center gap-1",children:[u&&(0,d.jsx)("button",{onClick:u,className:"p-1 hover:bg-[var(--color-surface-alt,#fafafa)] transition-colors",title:"Refresh app",children:(0,d.jsx)(w.A,{size:10,className:"text-[var(--color-text-muted,#6b7280)]"})}),(0,d.jsx)("button",{onClick:()=>{let b=!S;T(b),t?.(a,b)},className:"p-1 hover:bg-[var(--color-surface-alt,#fafafa)] transition-colors",title:S?"Unlock app":"Lock app",children:S?(0,d.jsx)(l.A,{size:10,className:"text-[var(--color-text,#0a0a0a)]"}):(0,d.jsx)(L.A,{size:10,className:"text-[var(--color-text-muted,#6b7280)]"})}),r&&(0,d.jsx)("button",{onClick:v,className:"p-1 hover:bg-[var(--color-surface-alt,#fafafa)] transition-colors",children:(0,d.jsx)(k.A,{size:10,className:"text-[var(--color-text-muted,#6b7280)]"})})]})]}),(0,d.jsx)("div",{className:"p-3 relative z-10 flex-1 min-h-0 overflow-auto",style:{pointerEvents:O||Q?"none":"auto"},children:A})]})})};c(96470),c(88011),c(1196),c(89971),c(14337),c(22234);var aq=c(64354),ar=c(97053),as=c(71287),at=c(37300),au=c(81100),av=c(44688);let aw=["wallet:create:hot","send:hot","swap","fund","action:create"],ax=["limits.fund","limits.send","limits.swap","swap.max_slippage","swap.min_slippage_admin","swap.min_slippage_agent","permissions.default"],ay={"limits.fund":"ETH","limits.send":"ETH","limits.swap":"ETH","swap.max_slippage":"%","swap.min_slippage_admin":"%","swap.min_slippage_agent":"%"},az={fast:"Fast",standard:"Standard",powerful:"Powerful"},aA={"claude-cli":null,"claude-api":"anthropic","codex-cli":null,"openai-api":"openai"},aB={anthropic:"Anthropic",openai:"OpenAI"};function aC(){let[a,b]=(0,e.useState)(null),[c,f]=(0,e.useState)(!0),[g,h]=(0,e.useState)(null),[i,j]=(0,e.useState)(!1),[l,o]=(0,e.useState)(null),[p,q]=(0,e.useState)("claude-cli"),[s,t]=(0,e.useState)(!1),[u,v]=(0,e.useState)(""),[y,z]=(0,e.useState)(!1),[A,B]=(0,e.useState)(null),[C,D]=(0,e.useState)(!1),E=(0,e.useCallback)(async()=>{f(!0),h(null);try{let a=await S.FH.get(S.jI.Wallet,"/ai/status");b(a),q(a.activeProvider)}catch(a){h(a instanceof Error?a.message:"Failed to load AI status")}finally{f(!1)}},[]),F=a?.providers.find(a=>a.mode===p),G=aA[p],H=G&&!F?.available,I=async()=>{j(!0),h(null),o(null);try{await S.FH.patch(S.jI.Wallet,`/defaults/${encodeURIComponent("ai.provider")}`,{value:p}),o("AI settings saved"),await E()}catch(a){h(a instanceof Error?a.message:"Failed to save AI settings")}finally{j(!1)}},J=async()=>{j(!0),h(null),o(null);try{await S.FH.post(S.jI.Wallet,"/defaults/reset",{key:"ai.provider"}),o("AI settings reset to defaults"),await E()}catch(a){h(a instanceof Error?a.message:"Failed to reset AI settings")}finally{j(!1)}},K=async()=>{if(G&&u.trim()){z(!0),B(null),D(!1);try{let a=await S.FH.post(S.jI.Wallet,"/apikeys/validate",{service:G,key:u.trim()});a.valid?(await S.FH.post(S.jI.Wallet,"/apikeys",{service:G,name:"default",key:u.trim()}),D(!0),v(""),t(!1),await E()):B(a.error||"Invalid API key")}catch(a){B(a instanceof Error?a.message:"Validation failed")}finally{z(!1)}}};return c?(0,d.jsxs)("div",{className:"p-2 space-y-2",style:{border:"1px solid var(--color-border)",background:"var(--color-surface)"},children:[(0,d.jsx)("div",{className:"font-mono text-[10px] tracking-widest",style:{color:"var(--color-text-muted)"},children:"AI ENGINE"}),(0,d.jsx)("div",{className:"py-4 flex items-center justify-center",children:(0,d.jsx)(m.A,{size:14,className:"animate-spin",style:{color:"var(--color-text-muted)"}})})]}):(0,d.jsxs)("div",{className:"p-2 space-y-2",style:{border:"1px solid var(--color-border)",background:"var(--color-surface)"},children:[(0,d.jsxs)("div",{children:[(0,d.jsx)("div",{className:"font-mono text-[10px] tracking-widest",style:{color:"var(--color-text-muted)"},children:"AI ENGINE"}),(0,d.jsx)("div",{className:"font-mono text-[8px]",style:{color:"var(--color-text-muted)"},children:"Select AI provider and default model for hooks and strategies."})]}),g&&(0,d.jsx)("div",{className:"p-1.5 font-mono text-[9px]",style:{border:"1px solid var(--color-warning)",color:"var(--color-warning)"},children:g}),l&&(0,d.jsx)("div",{className:"p-1.5 font-mono text-[9px]",style:{border:"1px solid var(--color-success)",color:"var(--color-success)"},children:l}),(0,d.jsxs)("div",{className:"space-y-1",children:[(0,d.jsx)("div",{className:"font-mono text-[9px] font-bold",style:{color:"var(--color-text)"},children:"Provider"}),a?.providers.map(a=>(0,d.jsxs)("label",{className:"flex items-center gap-2 cursor-pointer py-1 px-1.5",style:{border:p===a.mode?"1px solid var(--color-accent, #ccff00)":"1px solid transparent",background:p===a.mode?"var(--color-background-alt, #f4f4f5)":"transparent"},children:[(0,d.jsx)("input",{type:"radio",name:"ai-provider",value:a.mode,checked:p===a.mode,onChange:()=>{q(a.mode),t(!1),v(""),B(null),D(!1)},className:"accent-[var(--color-accent,#ccff00)]"}),(0,d.jsx)("span",{className:"font-mono text-[9px] flex-1",style:{color:"var(--color-text)"},children:a.label}),a.available?(0,d.jsx)(r.A,{size:10,style:{color:"var(--color-success, #22c55e)"}}):(0,d.jsx)(k.A,{size:10,style:{color:"var(--color-text-muted)"}}),(0,d.jsx)("span",{className:"font-mono text-[8px]",style:{color:"var(--color-text-muted)"},children:a.available?"":a.reason})]},a.mode))]}),H&&G&&(0,d.jsxs)("div",{className:"space-y-1.5",children:[(0,d.jsxs)("div",{className:"p-1.5 font-mono text-[9px] flex items-center gap-1.5",style:{border:"1px solid var(--color-warning)",color:"var(--color-warning)"},children:["No ",aB[G]||G," API key configured.",!s&&(0,d.jsx)("button",{onClick:()=>t(!0),className:"font-bold underline ml-1",style:{color:"var(--color-warning)"},children:"Add API Key"})]}),s&&(0,d.jsxs)("div",{className:"flex items-end gap-1.5",children:[(0,d.jsx)("div",{className:"flex-1",children:(0,d.jsx)(x.ks,{label:`${aB[G]||G} API Key`,compact:!0,value:u,onChange:a=>{v(a.target.value),B(null)},rightElement:(0,d.jsx)(n.A,{size:10,style:{color:"var(--color-text-muted)"}})})}),(0,d.jsx)(x.$n,{size:"sm",onClick:()=>void K(),loading:y,disabled:!u.trim(),children:"VALIDATE"})]}),A&&(0,d.jsx)("div",{className:"font-mono text-[8px]",style:{color:"var(--color-warning)"},children:A}),C&&(0,d.jsx)("div",{className:"font-mono text-[8px]",style:{color:"var(--color-success)"},children:"API key saved successfully"})]}),a?.tiers&&(0,d.jsxs)("div",{className:"space-y-0.5",children:[(0,d.jsx)("div",{className:"font-mono text-[9px]",style:{color:"var(--color-text-muted)"},children:"Model Tiers (auto-selected by permissions):"}),["fast","standard","powerful"].map(b=>(0,d.jsxs)("div",{className:"flex items-center gap-2 pl-1",children:[(0,d.jsxs)("span",{className:"font-mono text-[8px] w-14",style:{color:"var(--color-text-muted)"},children:[az[b],":"]}),(0,d.jsx)("span",{className:"font-mono text-[9px] font-bold",style:{color:"var(--color-text)"},children:a.tiers[b]})]},b))]}),(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)(x.$n,{size:"sm",onClick:()=>void I(),loading:i,icon:(0,d.jsx)(au.A,{size:11}),children:"SAVE"}),(0,d.jsx)(x.$n,{size:"sm",variant:"secondary",onClick:()=>void J(),disabled:i,icon:(0,d.jsx)(w.A,{size:11}),children:"RESET"})]})]})}let aD={telegram:["botToken"]};function aE(){let[a,b]=(0,e.useState)([]),[c,f]=(0,e.useState)(!1),[g,h]=(0,e.useState)(!0),[i,j]=(0,e.useState)(null),[k,l]=(0,e.useState)(null),[n,o]=(0,e.useState)(null),[p,q]=(0,e.useState)(""),[,r]=(0,e.useState)(""),[s,t]=(0,e.useState)(""),u=(0,e.useRef)(null),v=(0,e.useCallback)(async()=>{h(!0),j(null);try{let a=await S.FH.get(S.jI.Wallet,"/adapters");b(a.adapters||[]),f(a.running)}catch(a){j(a instanceof Error?a.message:"Failed to load adapters")}finally{h(!1)}},[]),w=async a=>{o(a.type),j(null);try{let b=await S.FH.post(S.jI.Wallet,"/adapters/telegram/setup-link",{});if(!b.success){j(b.error||"Failed to generate setup link"),o(null);return}q(b.link),r(b.setupToken),t(b.botUsername);let c=new AbortController;u.current=c;for(let d=0;d<2;d++){if(c.signal.aborted)return;try{let d=await S.FH.post(S.jI.Wallet,"/adapters/telegram/detect-chat",{setupToken:b.setupToken});if(c.signal.aborted)return;if(d.chatId){await S.FH.post(S.jI.Wallet,"/adapters",{type:a.type,enabled:a.enabled,config:{...a.config,chatId:d.chatId},chat:{enabled:!0}}),await S.FH.post(S.jI.Wallet,"/adapters/restart");try{await S.FH.post(S.jI.Wallet,"/adapters/test",{type:a.type})}catch{}o(null),q(""),await v();return}}catch{if(c.signal.aborted)return;break}}c.signal.aborted||(j("Auto-detection timed out. Re-configure Telegram in the Setup Wizard to set your chat ID."),o(null),q(""))}catch(a){j(a instanceof Error?a.message:"Failed to start detection"),o(null)}},y=async a=>{let b=!a.chat?.enabled;if(b&&"telegram"===a.type&&!a.config?.chatId)return void await w(a);l(a.type),j(null);try{if(await S.FH.post(S.jI.Wallet,"/adapters",{type:a.type,enabled:a.enabled,config:a.config,chat:{enabled:b}}),await S.FH.post(S.jI.Wallet,"/adapters/restart"),b)try{await S.FH.post(S.jI.Wallet,"/adapters/test",{type:a.type})}catch{}await v()}catch(a){j(a instanceof Error?a.message:"Failed to toggle chat")}finally{l(null)}};if(g)return(0,d.jsxs)("div",{className:"p-2 space-y-2",style:{border:"1px solid var(--color-border)",background:"var(--color-surface)"},children:[(0,d.jsxs)("div",{className:"font-mono text-[10px] tracking-widest flex items-center gap-1",style:{color:"var(--color-text-muted)"},children:[(0,d.jsx)(av.A,{size:10}),"ADAPTER CHAT"]}),(0,d.jsx)("div",{className:"py-3 flex items-center justify-center",children:(0,d.jsx)(m.A,{size:14,className:"animate-spin",style:{color:"var(--color-text-muted)"}})})]});let z=a.filter(a=>a.enabled),A=z.some(a=>a.chat?.enabled===!0);return(0,d.jsxs)("div",{className:"p-2 space-y-2",style:{border:"1px solid var(--color-border)",background:"var(--color-surface)"},children:[(0,d.jsxs)("div",{children:[(0,d.jsxs)("div",{className:"font-mono text-[10px] tracking-widest flex items-center gap-1",style:{color:"var(--color-text-muted)"},children:[(0,d.jsx)(av.A,{size:10}),"ADAPTER CHAT"]}),(0,d.jsx)("div",{className:"font-mono text-[8px]",style:{color:"var(--color-text-muted)"},children:"Allow AI to respond to messages via external adapters."})]}),i&&(0,d.jsx)("div",{className:"p-1.5 font-mono text-[9px]",style:{border:"1px solid var(--color-warning)",color:"var(--color-warning)"},children:i}),n&&p&&(0,d.jsxs)("div",{className:"p-2 space-y-2",style:{border:"1px solid var(--color-accent)",background:"var(--color-background-alt)"},children:[(0,d.jsxs)(x.$n,{variant:"secondary",size:"sm",icon:(0,d.jsx)(B.A,{size:10}),onClick:()=>window.open(p,"_blank"),children:["Open @",s," in Telegram"]}),(0,d.jsx)("div",{className:"font-mono text-[8px]",style:{color:"var(--color-text-faint)"},children:"Click the link above, then press Start in Telegram to detect your chat ID."}),(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)(m.A,{size:12,className:"animate-spin",style:{color:"var(--color-info)"}}),(0,d.jsx)("span",{className:"font-mono text-[9px]",style:{color:"var(--color-text-muted)"},children:"Waiting for you to press Start..."})]}),(0,d.jsx)("button",{onClick:()=>{u.current?.abort(),o(null),q("")},className:"font-mono text-[8px] underline",style:{color:"var(--color-text-muted)"},children:"Cancel"})]}),!c&&A&&(0,d.jsx)("div",{className:"p-1.5 font-mono text-[8px]",style:{border:"1px solid var(--color-warning)",color:"var(--color-warning)"},children:"Router not running. Restart the server or toggle an adapter to start it."}),0===z.length?(0,d.jsx)("div",{className:"py-3 text-center font-mono text-[9px]",style:{color:"var(--color-text-muted)"},children:"No adapters configured. Add one via the API or CLI."}):(0,d.jsx)("div",{className:"space-y-1",children:z.map(a=>{let b=a.chat?.enabled===!0,c=k===a.type,e=(a=>{let b=aD[a.type];return!!b&&b.some(b=>!a.secretKeys.includes(b))})(a);return(0,d.jsxs)("div",{children:[(0,d.jsxs)("div",{className:"flex items-center justify-between py-1.5 px-2",style:{border:"1px solid var(--color-border)",background:"var(--color-background-alt)"},children:[(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)("span",{className:"font-mono text-[10px] font-bold uppercase",style:{color:"var(--color-text)"},children:a.type}),(0,d.jsx)("span",{className:"font-mono text-[8px] px-1 py-0.5 rounded",style:{background:b?"color-mix(in srgb, var(--color-success) 20%, transparent)":"color-mix(in srgb, var(--color-text-muted) 20%, transparent)",color:b?"var(--color-success)":"var(--color-text-muted)"},children:b?"CHAT ON":"CHAT OFF"})]}),(0,d.jsx)("button",{onClick:()=>void y(a),disabled:c||e,className:"relative w-8 h-4 rounded-full transition-colors cursor-pointer disabled:opacity-50 disabled:cursor-not-allowed",style:{background:b?"var(--color-success, #22c55e)":"var(--color-border, #d4d4d8)"},children:(0,d.jsx)("div",{className:"absolute top-0.5 w-3 h-3 rounded-full transition-all",style:{left:b?"17px":"2px",background:"var(--color-surface, #ffffff)"}})})]}),e&&(0,d.jsxs)("div",{className:"px-2 py-1 font-mono text-[8px]",style:{color:"var(--color-warning)"},children:["Missing bot token. Add it in API Keys (service: adapter:",a.type,", name: botToken)."]})]},a.type)})})]})}function aF(){let[a,b]=(0,e.useState)(!0),[c,f]=(0,e.useState)(null),[g,h]=(0,e.useState)(null),[i,j]=(0,e.useState)(null),[k,l]=(0,e.useState)({}),[n,o]=(0,e.useState)({}),[p,q]=(0,e.useState)([]),r=(0,e.useCallback)(async()=>{b(!0),h(null);try{let b=await S.FH.get(S.jI.Wallet,"/defaults"),c=Object.values(b.defaults||{}).flat(),d={};for(let a of c)d[a.key]=a;l(d);let e={};for(let b of ax)if("permissions.default"!==b){var a;e[b]=(a=d[b]?.value,"number"==typeof a?String(a):"string"==typeof a?a:"")}o(e);let f=d["permissions.default"]?.value;q(Array.isArray(f)?f.filter(a=>"string"==typeof a):[])}catch(a){h(a instanceof Error?a.message:"Failed to load defaults")}finally{b(!1)}},[]),s=(0,e.useMemo)(()=>ax.map(a=>k[a]).filter(Boolean),[k]),t=async a=>{let b=Number(n[a]);if(Number.isNaN(b))return void h(`${a} must be a number`);f(a),h(null),j(null);try{await S.FH.patch(S.jI.Wallet,`/defaults/${encodeURIComponent(a)}`,{value:b}),j(`Saved ${a}`),await r()}catch(b){h(b instanceof Error?b.message:`Failed to save ${a}`)}finally{f(null)}},u=async()=>{let a="permissions.default";f(a),h(null),j(null);try{await S.FH.patch(S.jI.Wallet,`/defaults/${encodeURIComponent(a)}`,{value:p}),j("Saved permissions.default"),await r()}catch(a){h(a instanceof Error?a.message:"Failed to save permissions.default")}finally{f(null)}},v=async a=>{f(a),h(null),j(null);try{await S.FH.post(S.jI.Wallet,"/defaults/reset",{key:a}),j(`Reset ${a}`),await r()}catch(b){h(b instanceof Error?b.message:`Failed to reset ${a}`)}finally{f(null)}};return a?(0,d.jsx)("div",{className:"py-8 flex items-center justify-center",children:(0,d.jsx)(m.A,{size:20,className:"animate-spin",style:{color:"var(--color-text-muted)"}})}):(0,d.jsxs)("div",{className:"space-y-3 p-2",children:[(0,d.jsxs)("div",{children:[(0,d.jsx)("div",{className:"font-mono text-[10px] tracking-widest",style:{color:"var(--color-text-muted)"},children:"SYSTEM DEFAULTS"}),(0,d.jsx)("div",{className:"font-mono text-[9px]",style:{color:"var(--color-text-muted)"},children:"Edit baseline limits and permissions for new agent actions."})]}),g&&(0,d.jsx)("div",{className:"p-2 font-mono text-[9px]",style:{border:"1px solid var(--color-warning)",color:"var(--color-warning)",background:"var(--color-surface)"},children:g}),i&&(0,d.jsx)("div",{className:"p-2 font-mono text-[9px]",style:{border:"1px solid var(--color-success)",color:"var(--color-success)",background:"var(--color-surface)"},children:i}),(0,d.jsx)(aC,{}),s.filter(a=>"permissions.default"!==a.key).map(a=>(0,d.jsxs)("div",{className:"p-2 space-y-2",style:{border:"1px solid var(--color-border)",background:"var(--color-surface)"},children:[(0,d.jsxs)("div",{children:[(0,d.jsx)("div",{className:"font-mono text-[10px]",style:{color:"var(--color-text)"},children:a.label}),(0,d.jsx)("div",{className:"font-mono text-[8px]",style:{color:"var(--color-text-muted)"},children:a.description||a.key})]}),(0,d.jsxs)("div",{className:"flex items-end gap-2",children:[(0,d.jsx)(x.ks,{label:a.key,compact:!0,value:n[a.key]??"",onChange:b=>o(c=>({...c,[a.key]:b.target.value})),rightElement:ay[a.key]?(0,d.jsx)("span",{className:"font-mono text-[8px] text-[var(--color-text-muted)]",children:ay[a.key]}):void 0}),(0,d.jsx)(x.$n,{size:"sm",onClick:()=>void t(a.key),loading:c===a.key,icon:(0,d.jsx)(au.A,{size:11}),children:"SAVE"}),(0,d.jsx)(x.$n,{size:"sm",variant:"secondary",onClick:()=>void v(a.key),disabled:c===a.key,icon:(0,d.jsx)(w.A,{size:11}),children:"RESET"})]})]},a.key)),k["permissions.default"]&&(0,d.jsxs)("div",{className:"p-2 space-y-2",style:{border:"1px solid var(--color-border)",background:"var(--color-surface)"},children:[(0,d.jsxs)("div",{children:[(0,d.jsx)("div",{className:"font-mono text-[10px]",style:{color:"var(--color-text)"},children:k["permissions.default"].label}),(0,d.jsx)("div",{className:"font-mono text-[8px]",style:{color:"var(--color-text-muted)"},children:k["permissions.default"].description||"permissions.default"})]}),(0,d.jsx)("div",{className:"grid grid-cols-2 gap-2",children:aw.map(a=>{let b=p.includes(a);return(0,d.jsxs)("label",{className:"flex items-center gap-2 cursor-pointer font-mono text-[9px]",style:{color:"var(--color-text)"},children:[(0,d.jsx)("input",{type:"checkbox",checked:b,onChange:b=>{q(c=>b.target.checked?Array.from(new Set([...c,a])):c.filter(b=>b!==a))}}),a]},a)})}),(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)(x.$n,{size:"sm",onClick:()=>void u(),loading:"permissions.default"===c,icon:(0,d.jsx)(au.A,{size:11}),children:"SAVE"}),(0,d.jsx)(x.$n,{size:"sm",variant:"secondary",onClick:()=>void v("permissions.default"),disabled:"permissions.default"===c,icon:(0,d.jsx)(w.A,{size:11}),children:"RESET"})]})]}),(0,d.jsx)(aE,{})]})}c(2761);let aG={base:{chainId:8453,alchemyPath:"base-mainnet",explorer:"https://basescan.org"},ethereum:{chainId:1,alchemyPath:"eth-mainnet",explorer:"https://etherscan.io"},arbitrum:{chainId:42161,alchemyPath:"arb-mainnet",explorer:"https://arbiscan.io"},optimism:{chainId:10,alchemyPath:"opt-mainnet",explorer:"https://optimistic.etherscan.io"},polygon:{chainId:137,alchemyPath:"polygon-mainnet",explorer:"https://polygonscan.com"},zksync:{chainId:324,alchemyPath:"zksync-mainnet",explorer:"https://explorer.zksync.io"}};function aH(){let{token:a,apiKeys:b,apiKeysLoading:c,refreshApiKeys:g,getApiKey:o,chainOverrides:p,saveChainOverride:q,removeChainOverride:r,getConfiguredChains:s}=(0,Q.A)(),{subscribe:t}=(0,R.h)(),[u,v]=(0,e.useState)(null),[w,y]=(0,e.useState)(!0),[z,A]=(0,e.useState)(""),B=f().useRef(null),[C,D]=(0,e.useState)(!1),[E,F]=(0,e.useState)("main"),[G,H]=(0,e.useState)(!1),I=f().useCallback(a=>{let b=a.trim()||"Something went wrong",c=Date.now(),d=B.current;d&&d.message===b&&c-d.at<3e3||(B.current={message:b,at:c},A(b))},[]),{requests:J,notifications:K,dismissNotification:L,resolveAction:M,actionLoading:N}=(0,aq.S)({autoFetch:!!a}),[O,P]=(0,e.useState)(null),[T,U]=(0,e.useState)(null),[V,X]=(0,e.useState)(!1),[Y,Z]=(0,e.useState)(!1),[$,_]=(0,e.useState)(!1),[aa,ac]=(0,e.useState)(""),[ad,ae]=(0,e.useState)(null),[af,ah]=(0,e.useState)(!1),[ak,al]=(0,e.useState)(""),[an,ao]=(0,e.useState)(!1),[ap,au]=(0,e.useState)(null),[av,aw]=(0,e.useState)(!1),[ax,ay]=(0,e.useState)(""),[az,aA]=(0,e.useState)(""),[aB,aC]=(0,e.useState)(""),[aD,aE]=(0,e.useState)(!1),[aF,aH]=(0,e.useState)({}),[aJ,aM]=(0,e.useState)(null),[aN,aO]=(0,e.useState)(""),[aP]=(0,e.useState)(!1),[aQ,aR]=(0,e.useState)(!1),[aS,aT]=(0,e.useState)(null),[aU,aV]=(0,e.useState)({name:"",chainId:"",rpc:"",explorer:"",nativeCurrency:"ETH"}),[aW,aX]=(0,e.useState)(!1),[aY,aZ]=(0,e.useState)(null),[a$,a_]=(0,e.useState)({service:"",name:"",key:""}),[a0,a1]=(0,e.useState)(!1),[a2,a3]=(0,e.useState)(null),[a4,a5]=(0,e.useState)(!1),[a6,a7]=(0,e.useState)(null),[a8,a9]=(0,e.useState)(!1),[ba,bb]=(0,e.useState)([]),[bc,bd]=(0,e.useState)(!1),[be,bf]=(0,e.useState)(!1),[bg,bh]=(0,e.useState)(null),{workspaces:bi,activeWorkspaceId:bj,apps:bk,loading:bl,createWorkspace:bm,deleteWorkspace:bn,updateWorkspace:bo,switchWorkspace:bp,addApp:bq,removeApp:br,updateApp:bs,bringToFront:bt,tidyApps:bu}=(0,at.h)(),bv=bi.map(a=>({id:a.id,label:a.name,icon:"Home"===a.icon?h:void 0,emoji:a.emoji,color:a.color,closeable:a.isCloseable,isDefault:a.isDefault})),bw=async(a=10)=>{for(let b=0;b<a;b++)try{let a=new AbortController,b=setTimeout(()=>a.abort(),5e3),c=await S.FH.get(S.jI.Wallet,"/setup",void 0,{signal:a.signal});clearTimeout(b);let d=c.hasWallet,e=c.unlocked;if(!d){v({configured:!1,isUnlocked:!1,wallets:[]}),y(!1);return}if(!e){v({configured:!0,isUnlocked:!1,wallets:[]}),y(!1);return}let f=await S.FH.get(S.jI.Wallet,"/wallets",{includeHidden:!0});if(v({configured:!0,isUnlocked:!0,wallets:f.wallets||[]}),f.wallets?.length>0&&!aa){let a=f.wallets.find(a=>"hot"===a.tier);a&&ac(a.address)}y(!1);return}catch{b<a-1&&await new Promise(a=>setTimeout(a,2e3))}I("Failed to connect to wallet server"),y(!1)},bx=async a=>{a.preventDefault(),A(""),ao(!0);try{let a=await S.FH.post(S.jI.Wallet,"/wallet/export-seed",{password:ak});if(!a.success)throw Error(a.error);au(a.mnemonic??null),al("")}catch(a){A(a instanceof Error?a.message:"Export failed")}finally{ao(!1)}},by=async()=>{if(!$)return void _(!0);Z(!0);try{let a=await S.FH.post(S.jI.Wallet,"/nuke");if(!a.success)throw Error(a.error);v(null),U(null),_(!1),window.location.reload()}catch(a){A(a instanceof Error?a.message:"Nuke failed")}finally{Z(!1)}},bz=async a=>{if(a.preventDefault(),az!==aB)return void A("Passwords do not match");if(az.length<8)return void A("Password must be at least 8 characters");if(!ax.trim())return void A("Please enter a seed phrase");aE(!0);try{let a=await S.FH.post(S.jI.Wallet,"/nuke/import",{mnemonic:ax.trim(),password:az});if(!a.success&&a.error)throw Error(a.error);aw(!1),ay(""),aA(""),aC(""),window.location.reload()}catch(a){A(a instanceof Error?a.message:"Import failed")}finally{aE(!1)}},bA=async a=>{try{await r(a)}catch{A("Failed to remove chain")}},bB=async()=>{if(!a$.service||!a$.name||!a$.key)return void A("Service, name, and key are required");a1(!0);try{let a=await S.FH.post(S.jI.Wallet,"/apikeys",{service:a$.service.toLowerCase(),name:a$.name,key:a$.key});a.success?(await g(),a_({service:"",name:"",key:""}),aX(!1)):I(a.error||"Failed to save API key")}catch(a){A(a instanceof Error?a.message:"Failed to save API key")}finally{a1(!1)}},bC=async a=>{a3(a);try{let b=await S.FH.delete(S.jI.Wallet,`/apikeys/${a}`);b.success?await g():I(b.error||"Failed to delete API key")}catch(a){A(a instanceof Error?a.message:"Failed to delete API key")}finally{a3(null)}},bD=()=>{a5(!1),a7(null)},bE=async()=>{a9(!0);try{let a=await S.FH.delete(S.jI.Wallet,"/apikeys/revoke-all");if(!a.success)return void I(a.error||"Failed to revoke all API keys");await g(),bD()}catch(a){A(a instanceof Error?a.message:"Failed to revoke all API keys")}finally{a9(!1)}},bF=async a=>{try{let b=await S.FH.post(S.jI.Wallet,"/apikeys",{service:"alchemy",name:"default",key:a});if(b.success)return await g(),!0;return I(b.error||"Failed to save Alchemy key"),!1}catch(a){return A(a instanceof Error?a.message:"Failed to save Alchemy key"),!1}},bG=async()=>{let a=aU.name.toLowerCase().trim();if(!a||!aU.chainId)return void A("Chain name and chain ID are required");let b=parseInt(aU.chainId,10),c=aG[a],d=aU.explorer||c?.explorer||"",e=aU.rpc.trim();if(!e){let a=o("alchemy");if(!(a&&c?.alchemyPath))return void A("RPC URL is required (or add Alchemy key for known chains)");e=`https://${c.alchemyPath}.g.alchemy.com/v2/${a}`}try{await q(a,{rpc:e,chainId:b,explorer:d}),aV({name:"",chainId:"",rpc:"",explorer:"",nativeCurrency:"ETH"}),aR(!1)}catch{A("Failed to add chain")}},bH=async(a,b)=>{if(!b)return void A("RPC URL is required");try{let c=aF[a];await q(a,{rpc:b,chainId:c?.chainId||0,explorer:c?.explorer||""}),aM(null),aO("")}catch{A("Failed to save RPC override")}},bI=async()=>{if(!a)return void bb([]);bd(!0);try{let a=await S.FH.get(S.jI.Wallet,"/backup");a.success&&bb(a.backups)}catch(a){console.error("Failed to fetch backups:",a),bb([])}finally{bd(!1)}},bJ=async()=>{bf(!0);try{let a=await S.FH.post(S.jI.Wallet,"/backup");a.success?await bI():I(a.error||"Failed to create backup")}catch(a){A(a instanceof Error?a.message:"Failed to create backup")}finally{bf(!1)}},bK=async a=>{bh(a);try{let b=await S.FH.put(S.jI.Wallet,"/backup",{filename:a});b.success?window.location.reload():I(b.error||"Failed to restore backup")}catch(a){A(a instanceof Error?a.message:"Failed to restore backup")}finally{bh(null)}},[bL,bM]=(0,e.useState)(!1),bN=async()=>{bM(!0);try{let b=S.FH.getBaseUrl(S.jI.Wallet),c=await fetch(`${b}/backup/export`,{headers:{Authorization:`Bearer ${a||""}`}});if(!c.ok){let a=await c.json().catch(()=>({error:"Export failed"}));I(a.error||"Export failed");return}let d=await c.blob(),e=(c.headers.get("Content-Disposition")||"").match(/filename="?([^"]+)"?/),f=e?e[1]:"auramaxx-export.db",g=URL.createObjectURL(d),h=document.createElement("a");h.href=g,h.download=f,document.body.appendChild(h),h.click(),document.body.removeChild(h),URL.revokeObjectURL(g)}catch(a){I(a instanceof Error?a.message:"Export failed")}finally{bM(!1)}},bO=(a,b)=>{bs(a,{x:b.x,y:b.y})},bP=(a,b)=>{bs(a,{isLocked:b})},bQ=(a,b)=>{bs(a,{width:b.width,height:b.height})},bR=a=>{bt(a)},bS=a=>{br(a)},bT=(a,b)=>{let c=bk.find(b=>b.appType===a);c?bt(c.id):bq(a,void 0,b)};if(w)return(0,d.jsxs)("div",{className:"min-h-screen flex items-center justify-center bg-[var(--color-background,#f5f5f5)] relative",children:[(0,d.jsx)("div",{className:"fixed inset-0 pointer-events-none z-0 overflow-hidden",children:(0,d.jsx)("div",{className:"absolute inset-0 bg-[linear-gradient(to_right,var(--color-border-muted,#e5e5e5)_1px,transparent_1px),linear-gradient(to_bottom,var(--color-border-muted,#e5e5e5)_1px,transparent_1px)] bg-[size:4rem_4rem] opacity-30"})}),(0,d.jsx)("div",{className:"font-mono text-sm text-[var(--color-text-muted,#6b7280)] animate-pulse relative z-10",children:"INITIALIZING SYSTEM..."})]});if(ad&&!af)return(0,d.jsxs)("div",{className:"min-h-screen flex items-center justify-center p-4 bg-[var(--color-background,#f5f5f5)] relative",children:[(0,d.jsx)("div",{className:"fixed inset-0 pointer-events-none z-0 overflow-hidden",children:(0,d.jsx)("div",{className:"absolute inset-0 bg-[linear-gradient(to_right,var(--color-border-muted,#e5e5e5)_1px,transparent_1px),linear-gradient(to_bottom,var(--color-border-muted,#e5e5e5)_1px,transparent_1px)] bg-[size:4rem_4rem] opacity-30"})}),(0,d.jsxs)("div",{className:"w-full max-w-md bg-[var(--color-surface,#ffffff)] border border-[var(--color-border,#d4d4d8)] relative z-10",children:[(0,d.jsx)("div",{className:"absolute top-2 left-2 w-4 h-4 border-l-2 border-t-2 border-[var(--color-border-focus,#0a0a0a)]"}),(0,d.jsx)("div",{className:"absolute top-2 right-2 w-4 h-4 border-r-2 border-t-2 border-[var(--color-border-focus,#0a0a0a)]"}),(0,d.jsx)("div",{className:"absolute bottom-2 left-2 w-4 h-4 border-l-2 border-b-2 border-[var(--color-border-focus,#0a0a0a)]"}),(0,d.jsx)("div",{className:"absolute bottom-2 right-2 w-4 h-4 border-r-2 border-b-2 border-[var(--color-border-focus,#0a0a0a)]"}),(0,d.jsx)("div",{className:"absolute inset-0 opacity-[0.02] pointer-events-none bg-[radial-gradient(var(--color-text,#000)_1px,transparent_1px)] bg-[size:4px_4px]"}),(0,d.jsxs)("div",{className:"p-8 relative z-10",children:[(0,d.jsxs)("div",{className:"flex items-center gap-3 mb-6",children:[(0,d.jsx)("div",{className:"w-10 h-10 bg-[var(--color-warning,#ff4d00)] flex items-center justify-center",children:(0,d.jsx)(i.A,{size:16,className:"text-white"})}),(0,d.jsxs)("div",{children:[(0,d.jsx)("div",{className:"font-mono text-[10px] text-[var(--color-warning,#ff4d00)] tracking-widest",children:"CRITICAL"}),(0,d.jsx)("div",{className:"font-black text-xl text-[var(--color-text,#0a0a0a)] tracking-tight",children:"BACKUP SEED PHRASE"})]})]}),(0,d.jsx)("div",{className:"mb-4 p-3 bg-[var(--color-warning,#ff4d00)]/10 border border-[var(--color-warning,#ff4d00)]/30",children:(0,d.jsx)("div",{className:"font-mono text-[10px] text-[var(--color-warning,#ff4d00)] leading-relaxed",children:"Write this down and store it safely. This is the ONLY way to recover your wallets. It will NOT be shown again."})}),(0,d.jsxs)("div",{className:"mb-6 p-4 bg-[var(--color-text,#0a0a0a)] border-2 border-[var(--color-border-focus,#0a0a0a)] relative",children:[(0,d.jsx)("button",{onClick:()=>{navigator.clipboard.writeText(ad),P("seed"),setTimeout(()=>P(null),2e3)},className:"absolute top-2 right-2 p-1.5 bg-[var(--color-text,#0a0a0a)]/80 hover:bg-[var(--color-text,#0a0a0a)]/70 transition-colors",children:(0,d.jsx)(j.A,{size:12,className:"seed"===O?"text-[var(--color-accent,#ccff00)]":"text-[var(--color-text-muted,#6b7280)]"})}),(0,d.jsx)("div",{className:"font-mono text-sm text-[var(--color-accent,#ccff00)] leading-relaxed break-words select-all",children:ad})]}),(0,d.jsxs)("div",{className:"space-y-3",children:[(0,d.jsxs)("label",{className:"flex items-start gap-3 cursor-pointer group",children:[(0,d.jsx)("input",{type:"checkbox",checked:af,onChange:a=>ah(a.target.checked),className:"mt-1 w-4 h-4 accent-[var(--color-accent,#ccff00)]"}),(0,d.jsx)("span",{className:"font-mono text-[10px] text-[var(--color-text-muted,#6b7280)] leading-relaxed group-hover:text-[var(--color-text,#0a0a0a)]",children:"I have saved my seed phrase in a secure location."})]}),(0,d.jsx)("button",{onClick:()=>{ae(null),bw()},disabled:!af,className:"w-full h-14 bg-[var(--color-text,#0a0a0a)] text-white relative overflow-hidden disabled:opacity-30 disabled:cursor-not-allowed group",children:(0,d.jsx)("span",{className:"relative z-10 font-mono font-bold text-xs uppercase tracking-[0.15em] group-hover:text-[var(--color-accent,#ccff00)] transition-colors",children:"CONTINUE"})})]})]})]})]});let bU=u?.wallets.filter(a=>"cold"===a.tier)||[],bV=u?.configured&&!u?.isUnlocked,bW=u?.configured??!1;return(0,d.jsxs)("div",{className:"h-screen flex bg-[var(--color-background,#f5f5f5)] overflow-hidden",children:[C&&(0,d.jsx)(ai,{views:aj,activeViewId:E,onSelectView:F,onCreateView:()=>H(!0)}),C&&(0,d.jsx)(am,{open:G,onClose:()=>H(!1),onSelect:a=>F(a.id)}),(0,d.jsxs)("div",{className:"fixed inset-0 pointer-events-none z-0 overflow-hidden",children:[(0,d.jsx)("div",{className:"absolute inset-0 bg-[linear-gradient(to_right,var(--color-border-muted,#e5e5e5)_1px,transparent_1px),linear-gradient(to_bottom,var(--color-border-muted,#e5e5e5)_1px,transparent_1px)] bg-[size:4rem_4rem] opacity-30"}),(0,d.jsx)("div",{className:"absolute inset-0 tyvek-texture opacity-40 mix-blend-multiply"}),(0,d.jsx)("div",{className:"absolute top-[5%] left-[30%] opacity-[0.03] select-none",children:(0,d.jsx)("div",{className:"text-[15vw] font-black leading-none text-[var(--color-text,#0a0a0a)] font-mono tracking-tighter",children:"AURA"})}),(0,d.jsx)("div",{className:"absolute bottom-[5%] right-[5%] opacity-[0.03] select-none",children:(0,d.jsx)("div",{className:"text-[12vw] font-black leading-none text-[var(--color-text,#0a0a0a)] font-mono tracking-tighter text-right",children:"MAXXING"})}),(0,d.jsx)("div",{className:"absolute top-10 left-[290px] w-24 h-24 border-l-4 border-t-4 border-[var(--color-text,#0a0a0a)] opacity-10",children:(0,d.jsx)("div",{className:"absolute top-2 left-2 w-3 h-3 bg-[var(--color-text,#0a0a0a)]"})}),(0,d.jsx)("div",{className:"absolute bottom-10 right-10 w-24 h-24 border-r-4 border-b-4 border-[var(--color-text,#0a0a0a)] opacity-10 flex items-end justify-end",children:(0,d.jsx)("div",{className:"absolute bottom-2 right-2 w-3 h-3 bg-[var(--color-text,#0a0a0a)]"})})]}),(0,d.jsx)(W,{onSend:()=>bT("send",{x:360,y:20}),onReceive:()=>U("receive"),onLogs:()=>{let a=bk.find(a=>"logs"===a.appType);a?bt(a.id):bq("logs",void 0,{x:700,y:20})},onAgentKeys:()=>bT("agentKeys",{x:360,y:20}),onAppStore:()=>X(!0),onWalletClick:a=>{let b=`walletDetail-${a.address}`;if(bk.find(a=>a.id===b))return void bt(b);let c=30*bk.filter(a=>"walletDetail"===a.appType).length;bq("walletDetail",{walletAddress:a.address,walletName:a.name,walletEmoji:a.emoji,walletColor:a.color},{x:360+c,y:20+c},b)},onImportSeed:()=>aw(!0),onSettings:()=>{U("settings"===T?null:"settings"),_(!1)},pendingActionCount:K.filter(a=>"pending"===a.status&&"notify"!==a.type).length,onStateChange:a=>{v(b=>b?{...b,configured:a.configured,isUnlocked:a.unlocked,wallets:a.wallets}:{configured:a.configured,isUnlocked:a.unlocked,wallets:a.wallets})}}),(0,d.jsxs)("div",{className:"flex-1 flex flex-col relative z-10",children:[z&&(0,d.jsxs)("div",{"data-testid":"app-error-toast",className:"absolute top-2 left-1/2 -translate-x-1/2 z-50 flex items-center gap-2 px-3 py-2 border shadow-lg",style:{background:"color-mix(in srgb, var(--color-warning,#ff4d00) 8%, var(--color-surface,#ffffff))",borderColor:"color-mix(in srgb, var(--color-warning,#ff4d00) 40%, transparent)"},children:[(0,d.jsx)("span",{className:"font-mono text-[10px] text-[var(--color-warning,#ff4d00)]",children:z}),(0,d.jsx)("button",{onClick:()=>A(""),className:"text-[var(--color-warning,#ff4d00)] hover:opacity-70",children:(0,d.jsx)(k.A,{size:10})})]}),bV||!bW?(0,d.jsx)("div",{className:"flex-1 flex items-center justify-center",children:(0,d.jsxs)("div",{className:"text-center",children:[(0,d.jsx)(l.A,{size:32,className:"mx-auto mb-3 text-[var(--color-text-faint,#9ca3af)]"}),(0,d.jsx)("div",{className:"font-mono text-sm text-[var(--color-text-muted,#6b7280)]",children:bW?"AGENT LOCKED":"WALLET NOT CONFIGURED"}),(0,d.jsx)("div",{className:"font-mono text-[10px] text-[var(--color-text-faint,#9ca3af)] mt-1",children:bW?"Unlock workspace access in the sidebar. Unlock each agent row separately.":"Set up your wallet using the sidebar"})]})}):(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(ab,{tabs:bv,activeTab:bj,onTabChange:a=>{bp(a)},onTabClose:a=>{bn(a)},onNewTab:()=>{bm("NEW")},onTabUpdate:(a,b)=>{bo(a,{name:b.name,emoji:b.emoji,color:b.color})},onTidy:bu,onAppStore:()=>X(!0),notifications:K,onDismissNotification:L}),(0,d.jsx)("div",{className:"flex-1 relative overflow-y-auto overflow-x-hidden",children:bl?(0,d.jsx)("div",{className:"absolute inset-0 flex items-center justify-center",children:(0,d.jsxs)("div",{className:"text-center",children:[(0,d.jsx)(m.A,{size:24,className:"mx-auto mb-2 text-[var(--color-text-faint,#9ca3af)] animate-spin"}),(0,d.jsx)("div",{className:"font-mono text-[10px] text-[var(--color-text-muted,#6b7280)]",children:"LOADING WORKSPACE..."})]})}):(0,d.jsxs)("div",{className:"relative w-full h-full min-h-[800px]",children:[bk.filter(a=>a.isVisible).map(a=>(0,d.jsx)(aI,{app:a,onPositionChange:bO,onSizeChange:bQ,onLockChange:bP,onBringToFront:bR,onDismiss:bS},a.id)),0===bk.length&&(0,d.jsx)("div",{className:"absolute inset-0 flex items-center justify-center pointer-events-none",children:(0,d.jsxs)("div",{className:"text-center",children:[(0,d.jsx)("div",{className:"font-mono text-sm text-[var(--color-text-muted,#6b7280)]",children:"EMPTY WORKSPACE"}),(0,d.jsx)("div",{className:"font-mono text-[10px] text-[var(--color-text-faint,#9ca3af)] mt-1",children:"Apps can be added via WebSocket or sidebar"})]})})]})}),(0,d.jsx)(ar.Z,{requests:J,resolveAction:M,actionLoading:N})]})]}),(0,d.jsx)(x._s,{isOpen:"settings"===T,onClose:()=>U(null),title:"SETTINGS",subtitle:"System configuration",footerLabel:"",children:(0,d.jsx)(aK,{chains:aF,editingChainRpc:aJ,setEditingChainRpc:aM,customRpc:aN,setCustomRpc:aO,savingConfig:aP,handleSaveCustomRpc:bH,handleRemoveChain:bA,exportedSeed:ap,setExportedSeed:au,exportPassword:ak,setExportPassword:al,exporting:an,handleExportSeed:bx,copied:O,setCopied:P,confirmNuke:$,nuking:Y,handleNuke:by,backups:ba,backupsLoading:bc,creatingBackup:be,restoringBackup:bg,onFetchBackups:bI,onCreateBackup:bJ,onRestoreBackup:bK,exportingDb:bL,onExportDb:bN,showAddChainPopover:aQ,addChainAnchorEl:aS,onOpenAddChain:a=>{aT(a),aR(!0)},onCloseAddChain:()=>{aR(!1),aT(null)},newChain:aU,setNewChain:aV,handleAddChain:bG,chainOverrides:p,hasAlchemyKey:!!o("alchemy"),isUnlocked:u?.isUnlocked??!1,apiKeys:b,apiKeysLoading:c,showAddApiKeyPopover:aW,addApiKeyAnchorEl:aY,onOpenAddApiKey:a=>{aZ(a),aX(!0)},onCloseAddApiKey:()=>{aX(!1),aZ(null)},newApiKey:a$,setNewApiKey:a_,savingApiKey:a0,handleAddApiKey:bB,deletingApiKey:a2,handleDeleteApiKey:bC,showRevokeAllApiKeysPopover:a4,revokeAllApiKeysAnchorEl:a6,revokingAllApiKeys:a8,onOpenRevokeAllApiKeys:a=>{a7(a),a5(!0)},onCloseRevokeAllApiKeys:bD,handleRevokeAllApiKeys:bE,onAddAlchemyKey:bF})}),(0,d.jsx)(x._s,{isOpen:"receive"===T,onClose:()=>U(null),title:"RECEIVE",subtitle:"Fund your wallets",children:(0,d.jsx)(aL,{coldWallets:bU,copyAddress:a=>{navigator.clipboard.writeText(a),P(a),setTimeout(()=>P(null),2e3)},copied:O})}),(0,d.jsx)(ag,{isOpen:V&&!bV&&bW,onClose:()=>X(!1),onAddApp:(a,b)=>{bq(a,b,{x:360,y:20}),X(!1)}}),(0,d.jsx)(x.aF,{isOpen:av,onClose:()=>{aw(!1),ay(""),aA(""),aC("")},title:"Import Seed Phrase",subtitle:"Recovery",icon:(0,d.jsx)(n.A,{size:20,className:"text-[#0047ff]"}),size:"md",children:(0,d.jsxs)("form",{onSubmit:bz,className:"space-y-4",children:[(0,d.jsxs)("div",{children:[(0,d.jsx)("label",{className:"font-mono text-[9px] text-[var(--color-text-muted,#6b7280)] tracking-widest block mb-1",children:"SEED_PHRASE"}),(0,d.jsx)("textarea",{value:ax,onChange:a=>ay(a.target.value),placeholder:"Enter your 12 or 24 word seed phrase...",rows:3,className:"w-full px-3 py-2 border border-[var(--color-border,#d4d4d8)] font-mono text-xs focus:outline-none focus:border-[var(--color-border-focus,#0a0a0a)] bg-[var(--color-surface,#ffffff)] text-[var(--color-text,#0a0a0a)] resize-none"})]}),(0,d.jsxs)("div",{children:[(0,d.jsx)("label",{className:"font-mono text-[9px] text-[var(--color-text-muted,#6b7280)] tracking-widest block mb-1",children:"NEW_PASSWORD"}),(0,d.jsx)("input",{type:"password",value:az,onChange:a=>aA(a.target.value),placeholder:"Min 8 characters",className:"w-full px-3 py-2 border border-[var(--color-border,#d4d4d8)] font-mono text-xs focus:outline-none focus:border-[var(--color-border-focus,#0a0a0a)] bg-[var(--color-surface,#ffffff)] text-[var(--color-text,#0a0a0a)]"})]}),(0,d.jsxs)("div",{children:[(0,d.jsx)("label",{className:"font-mono text-[9px] text-[var(--color-text-muted,#6b7280)] tracking-widest block mb-1",children:"CONFIRM_PASSWORD"}),(0,d.jsx)("input",{type:"password",value:aB,onChange:a=>aC(a.target.value),placeholder:"Confirm password",className:"w-full px-3 py-2 border border-[var(--color-border,#d4d4d8)] font-mono text-xs focus:outline-none focus:border-[var(--color-border-focus,#0a0a0a)] bg-[var(--color-surface,#ffffff)] text-[var(--color-text,#0a0a0a)]"})]}),(0,d.jsx)("div",{className:"p-3 bg-[var(--color-info,#0047ff)]/5 border border-[var(--color-info,#0047ff)]/30",children:(0,d.jsx)("div",{className:"font-mono text-[9px] text-[var(--color-text-muted,#6b7280)] leading-relaxed",children:"This will restore your wallet from the seed phrase. All hot wallets will be re-derived from this seed."})}),(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)("button",{type:"button",onClick:()=>{aw(!1),ay(""),aA(""),aC("")},className:"flex-1 h-10 border border-[var(--color-border,#d4d4d8)] font-mono text-[10px] tracking-widest text-[var(--color-text-muted,#6b7280)] hover:border-[var(--color-border-focus,#0a0a0a)] hover:text-[var(--color-text,#0a0a0a)] transition-colors",children:"CANCEL"}),(0,d.jsxs)("button",{type:"submit",disabled:aD||!ax||!az||!aB,className:"flex-1 h-10 bg-[var(--color-text,#0a0a0a)] text-white font-mono text-[10px] tracking-widest flex items-center justify-center gap-2 disabled:opacity-50 hover:text-[var(--color-accent,#ccff00)] transition-colors",children:[aD?(0,d.jsx)(m.A,{size:12,className:"animate-spin"}):(0,d.jsx)(n.A,{size:12}),aD?"IMPORTING...":"IMPORT"]})]})]})}),(0,d.jsx)(as.Z,{isUnlocked:u?.isUnlocked??!1})]})}function aI({app:a,onPositionChange:b,onSizeChange:c,onLockChange:f,onBringToFront:g,onDismiss:h}){let[i,j]=(0,e.useState)(0),k=a.appType.startsWith("installed:"),l=(0,ae.xR)(a.appType);if(!l)return(0,d.jsx)(ap,{id:a.id,title:`UNKNOWN: ${a.appType}`,icon:o,color:"gray",initialPosition:{x:a.x,y:a.y},initialSize:{width:a.width,height:a.height},locked:a.isLocked,onLockChange:f,dismissable:!0,onDismiss:()=>h(a.id),onPositionChange:b,onSizeChange:c,onBringToFront:g,zIndex:a.zIndex,children:(0,d.jsxs)("div",{className:"py-4 text-center",children:[(0,d.jsx)(o,{size:20,className:"mx-auto mb-2 text-[var(--color-text-faint,#9ca3af)]"}),(0,d.jsx)("div",{className:"font-mono text-[9px] text-[var(--color-text-muted,#6b7280)]",children:"UNKNOWN APP TYPE"}),(0,d.jsx)("div",{className:"font-mono text-[8px] text-[var(--color-text-faint,#9ca3af)] mt-1",children:a.appType})]})});let m=l.component;return(0,d.jsx)(ap,{id:a.id,title:(()=>{if("walletDetail"===a.appType){let b=a.config?.walletEmoji,c=a.config?.walletName;if(b||c)return b?`${b} ${c||"WALLET"}`:c||"WALLET"}return l.title})(),subtitle:(()=>{if("iframe"===a.appType&&a.config?.url)try{return new URL(a.config.url).hostname}catch{}})(),subtitleLink:(()=>{if("iframe"===a.appType&&a.config?.url)return a.config.url})(),icon:l.icon,color:(()=>{if("walletDetail"===a.appType){let b=a.config?.walletColor;if(b)return({"#ff4d00":"orange","#0047ff":"blue","#00c853":"teal","#ffab00":"orange","#9c27b0":"purple","#00bcd4":"teal","#e91e63":"rose","#607d8b":"gray"})[b]||"orange"}return l.color})(),initialPosition:{x:a.x,y:a.y},initialSize:{width:a.width,height:a.height},locked:a.isLocked,onLockChange:f,onRefresh:k?()=>j(a=>a+1):void 0,dismissable:!0,onDismiss:()=>h(a.id),onPositionChange:b,onSizeChange:c,onBringToFront:g,zIndex:a.zIndex,children:(()=>{let b=k?{appPath:a.appType.slice(10),...a.config,_refreshKey:i}:a.config;return(0,d.jsx)(e.Suspense,{fallback:(0,d.jsx)(aJ,{}),children:(0,d.jsx)(m,{config:b})})})()})}function aJ(){return(0,d.jsxs)("div",{className:"py-6 text-center",children:[(0,d.jsx)(m.A,{size:20,className:"mx-auto mb-2 text-[var(--color-text-faint,#9ca3af)] animate-spin"}),(0,d.jsx)("div",{className:"font-mono text-[9px] text-[var(--color-text-muted,#6b7280)]",children:"LOADING..."})]})}function aK({chains:a,editingChainRpc:b,setEditingChainRpc:c,customRpc:e,setCustomRpc:g,savingConfig:h,handleSaveCustomRpc:l,handleRemoveChain:y,exportedSeed:z,setExportedSeed:A,exportPassword:B,setExportPassword:C,exporting:D,handleExportSeed:E,copied:F,setCopied:G,confirmNuke:H,nuking:I,handleNuke:J,backups:K,backupsLoading:L,creatingBackup:M,restoringBackup:N,onFetchBackups:O,onCreateBackup:P,onRestoreBackup:Q,exportingDb:R,onExportDb:T,showAddChainPopover:U,addChainAnchorEl:V,onOpenAddChain:W,onCloseAddChain:X,newChain:Y,setNewChain:Z,handleAddChain:$,chainOverrides:_,hasAlchemyKey:aa,isUnlocked:ab,apiKeys:ac,apiKeysLoading:ad,showAddApiKeyPopover:ae,addApiKeyAnchorEl:af,onOpenAddApiKey:ag,onCloseAddApiKey:ah,newApiKey:ai,setNewApiKey:aj,savingApiKey:ak,handleAddApiKey:al,deletingApiKey:am,handleDeleteApiKey:an,showRevokeAllApiKeysPopover:ao,revokeAllApiKeysAnchorEl:ap,revokingAllApiKeys:aq,onOpenRevokeAllApiKeys:ar,onCloseRevokeAllApiKeys:as,handleRevokeAllApiKeys:at,onAddAlchemyKey:au}){let[av,aw]=f().useState(null),[ax,ay]=f().useState(null),[az,aA]=f().useState(""),[aB,aD]=f().useState(!1),aE=async()=>{az.trim()&&(aD(!0),await au(az.trim())&&aA(""),aD(!1))},aG=["base","ethereum","arbitrum","optimism"],[aH,aI]=f().useState(!1),[aJ,aK]=f().useState("admin"),[aL,aM]=f().useState(!0),[aN,aO]=f().useState(!1),aP=async a=>{aK(a),aO(!0);try{await S.FH.patch(S.jI.Wallet,`/defaults/${encodeURIComponent("permissions.agent_tier")}`,{value:a})}catch{aK("admin"===a?"restricted":"admin")}finally{aO(!1)}},[aQ,aR]=f().useState(!1),[aS,aT]=f().useState(!1),[aU,aV]=f().useState(!1),[aW,aX]=f().useState(!1),[aY,aZ]=f().useState(!1),[a$,a_]=f().useState(!1);return(0,d.jsxs)("div",{className:"space-y-4",children:[(0,d.jsxs)(x.lX,{title:"DEFAULT_AGENT",icon:(0,d.jsx)(p.A,{size:12}),isOpen:aH,onToggle:()=>aI(!aH),contentClassName:"p-4 pt-0 space-y-4",children:[(0,d.jsxs)("div",{className:"p-3 space-y-2 border border-[var(--color-border)] bg-[var(--color-surface)]",children:[(0,d.jsx)("div",{className:"font-mono text-[10px] text-[var(--color-text)]",children:"Permission Tier"}),(0,d.jsx)("div",{className:"font-mono text-[8px] text-[var(--color-text-muted)]",children:"Controls what the agent-chat app can do directly"}),aL?(0,d.jsx)("div",{className:"flex items-center gap-2 py-2",children:(0,d.jsx)(m.A,{size:12,className:"animate-spin text-[var(--color-text-muted)]"})}):(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)(x.$n,{type:"button",onClick:()=>aP("admin"),disabled:aN,variant:"admin"===aJ?"secondary":"ghost",size:"md",className:`flex-1 !h-auto !p-2 !justify-start border ${"admin"===aJ?"border-[var(--color-accent)] text-[var(--color-text)] bg-[var(--color-background-alt)]":"border-[var(--color-border)] text-[var(--color-text-muted)]"}`,children:(0,d.jsxs)("div",{className:"text-left",children:[(0,d.jsx)("div",{className:"font-bold text-[9px] tracking-normal",children:"Full Admin"}),(0,d.jsx)("div",{className:"text-[8px] tracking-normal text-[var(--color-text-muted)]",children:"Agent can do everything directly"})]})}),(0,d.jsx)(x.$n,{type:"button",onClick:()=>aP("restricted"),disabled:aN,variant:"restricted"===aJ?"secondary":"ghost",size:"md",className:`flex-1 !h-auto !p-2 !justify-start border ${"restricted"===aJ?"border-[var(--color-accent)] text-[var(--color-text)] bg-[var(--color-background-alt)]":"border-[var(--color-border)] text-[var(--color-text-muted)]"}`,children:(0,d.jsxs)("div",{className:"text-left",children:[(0,d.jsx)("div",{className:"font-bold text-[9px] tracking-normal",children:"Restricted"}),(0,d.jsx)("div",{className:"text-[8px] tracking-normal text-[var(--color-text-muted)]",children:"Approval required for actions"})]})})]})]}),(0,d.jsx)(aC,{})]}),(0,d.jsx)(x.lX,{title:"SYSTEM_DEFAULTS",icon:(0,d.jsx)(q.A,{size:12}),isOpen:aQ,onToggle:()=>aR(!aQ),children:(0,d.jsx)(aF,{})}),(0,d.jsx)(x.lX,{title:"RPC_CONFIGURATION",icon:(0,d.jsx)(o,{size:12}),isOpen:aS,onToggle:()=>aT(!aS),contentClassName:"p-4 pt-0",children:(0,d.jsxs)("div",{className:"p-3 bg-[var(--color-background-alt)] border border-[var(--color-border)] space-y-4",children:[(0,d.jsxs)("div",{className:"p-3 border border-dashed border-[var(--color-border)] bg-[var(--color-surface)]",children:[(0,d.jsx)("div",{className:"font-mono text-[9px] text-[var(--color-text-muted)] uppercase tracking-widest mb-2",children:"ALCHEMY API KEY"}),aa?(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)(r.A,{size:12,className:"text-[var(--color-success)]"}),(0,d.jsx)("span",{className:"font-mono text-[10px] text-[var(--color-success)]",children:"Configured"}),(0,d.jsxs)("span",{className:"font-mono text-[8px] text-[var(--color-text-muted)]",children:["(auto-configures: ",aG.join(", "),")"]})]}),(0,d.jsx)("div",{className:"font-mono text-[8px] text-[var(--color-text-faint)] leading-relaxed",children:"Remove in API Keys section below. Custom overrides take priority."})]}):(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsxs)("div",{className:"font-mono text-[8px] text-[var(--color-text-muted)] leading-relaxed mb-2",children:["Get a free key at alchemy.com to auto-configure: ",aG.join(", ")]}),(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)("div",{className:"flex-1",children:(0,d.jsx)(x.ks,{label:"",type:"password",value:az,onChange:a=>aA(a.target.value),placeholder:"Paste your Alchemy API key...",compact:!0})}),(0,d.jsx)(x.$n,{size:"sm",onClick:aE,disabled:aB||!az.trim(),loading:aB,icon:aB?void 0:(0,d.jsx)(s.A,{size:10}),children:"ADD"})]}),(0,d.jsx)("div",{className:"font-mono text-[8px] text-[var(--color-text-faint)] leading-relaxed",children:"Currently using public RPCs (may have rate limits)."})]})]}),(0,d.jsxs)("div",{children:[(0,d.jsxs)("div",{className:"flex items-center justify-between mb-2",children:[(0,d.jsx)("div",{className:"font-mono text-[9px] text-[var(--color-text-muted)] uppercase tracking-widest",children:"CHAIN OVERRIDES"}),(0,d.jsxs)("div",{className:"relative",children:[(0,d.jsx)(x.$n,{variant:"ghost",size:"sm",onClick:a=>W(a.currentTarget),icon:(0,d.jsx)(s.A,{size:10}),children:"ADD"}),(0,d.jsx)(x.AM,{isOpen:U,onClose:X,title:"ADD_CHAIN",anchorEl:V,anchor:"right",className:"w-64",children:(0,d.jsxs)("div",{className:"space-y-3",children:[(0,d.jsx)("div",{className:"font-mono text-[8px] text-[var(--color-text-muted)] leading-relaxed",children:"Known chains: arbitrum, optimism, polygon, zksync"}),(0,d.jsx)(x.ks,{label:"NAME",type:"text",value:Y.name,onChange:a=>Z({...Y,name:a.target.value}),placeholder:"arbitrum, polygon, zksync...",compact:!0}),(0,d.jsx)(x.ks,{label:"CHAIN_ID",type:"number",value:Y.chainId,onChange:a=>Z({...Y,chainId:a.target.value}),placeholder:"42161, 10, 137...",compact:!0}),(0,d.jsx)(x.ks,{label:"RPC (optional)",type:"text",value:Y.rpc,onChange:a=>Z({...Y,rpc:a.target.value}),placeholder:"blank = use Alchemy",compact:!0}),(0,d.jsx)(x.$n,{size:"md",onClick:()=>{$(),X()},disabled:h||!Y.name||!Y.chainId,loading:h,icon:h?void 0:(0,d.jsx)(s.A,{size:10}),className:"w-full",children:"ADD CHAIN"})]})})]})]}),(0,d.jsx)("div",{className:"space-y-2",children:Object.entries(a).map(([a,f])=>{let h=_[a]?"override":aa&&aG.includes(a)?"alchemy":"public",i=!["base","ethereum"].includes(a);return(0,d.jsxs)("div",{className:"flex items-center gap-2 p-2 bg-[var(--color-surface)] border border-[var(--color-border)]",children:[(0,d.jsxs)("div",{className:"w-20 font-mono text-[10px] font-bold text-[var(--color-text)] uppercase flex items-center gap-1",children:[a,(0,d.jsx)("span",{className:`font-mono text-[7px] px-1 py-0.5 rounded ${"override"===h?"bg-[var(--color-accent)]/20 text-[var(--color-accent)]":"alchemy"===h?"bg-[var(--color-success)]/20 text-[var(--color-success)]":"bg-[var(--color-text-muted)]/20 text-[var(--color-text-muted)]"}`,children:"override"===h?"CUSTOM":"alchemy"===h?"ALCHEMY":"PUBLIC"})]}),b===a?(0,d.jsx)("div",{className:"flex-1",children:(0,d.jsx)(x.ks,{label:"",type:"text",value:e,onChange:a=>g(a.target.value),placeholder:"https://...",compact:!0,autoFocus:!0,rightElement:(0,d.jsxs)("div",{className:"flex gap-1",children:[(0,d.jsx)(x.$n,{variant:"ghost",size:"sm",onClick:()=>l(a,e),icon:(0,d.jsx)(r.A,{size:12,className:"text-[var(--color-success)]"}),children:""}),(0,d.jsx)(x.$n,{variant:"ghost",size:"sm",onClick:()=>{c(null),g("")},icon:(0,d.jsx)(k.A,{size:12}),children:""})]})})}):(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("div",{className:"flex-1"}),(0,d.jsx)(x.$n,{variant:"secondary",size:"sm",onClick:()=>{c(a),g(f.rpc)},children:"EDIT RPC"}),i&&(0,d.jsx)(x.$n,{variant:"ghost",size:"sm",onClick:()=>y(a),icon:(0,d.jsx)(t.A,{size:10}),className:"hover:text-[var(--color-warning)]",children:""})]})]},a)})})]})]})}),(0,d.jsx)(x.lX,{title:"API_KEYS",icon:(0,d.jsx)(n.A,{size:12}),isOpen:aU,onToggle:()=>aV(!aU),contentClassName:"p-4 pt-0",children:(0,d.jsxs)("div",{className:"p-3 bg-[var(--color-background-alt)] border border-[var(--color-border)] space-y-3",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,d.jsx)("div",{className:"font-mono text-[9px] text-[var(--color-text-muted)]",children:"Store API keys for premium services (Alchemy, Infura, etc.)"}),(0,d.jsxs)("div",{className:"flex items-center gap-1",children:[ac.length>0&&(0,d.jsxs)("div",{className:"relative",children:[(0,d.jsx)(x.$n,{variant:"danger",size:"sm",onClick:a=>ar(a.currentTarget),disabled:aq,icon:aq?(0,d.jsx)(m.A,{size:10,className:"animate-spin"}):(0,d.jsx)(i.A,{size:10}),children:"REVOKE ALL"}),(0,d.jsx)(x.Rw,{isOpen:ao,onClose:as,onConfirm:at,title:"Revoke All API Keys",message:"Revoking all API keys can lock the agent by disabling services that depend on them. This action revokes every active API key immediately.",confirmText:"REVOKE ALL",variant:"danger",loading:aq})]}),(0,d.jsxs)("div",{className:"relative",children:[(0,d.jsx)(x.$n,{variant:"ghost",size:"sm",onClick:a=>ag(a.currentTarget),icon:(0,d.jsx)(s.A,{size:10}),children:"ADD"}),(0,d.jsx)(x.AM,{isOpen:ae,onClose:ah,title:"ADD_API_KEY",anchorEl:af,anchor:"right",className:"w-72",children:(0,d.jsxs)("div",{className:"space-y-3",children:[(0,d.jsx)(x.ks,{label:"SERVICE",type:"text",value:ai.service,onChange:a=>aj({...ai,service:a.target.value}),placeholder:"alchemy, infura, etherscan...",compact:!0}),(0,d.jsx)(x.ks,{label:"NAME",type:"text",value:ai.name,onChange:a=>aj({...ai,name:a.target.value}),placeholder:"My API Key",compact:!0}),(0,d.jsx)(x.ks,{label:"API_KEY",type:"password",value:ai.key,onChange:a=>aj({...ai,key:a.target.value}),placeholder:"Enter your API key...",compact:!0}),(0,d.jsx)(x.$n,{size:"md",onClick:al,disabled:ak||!ai.service||!ai.name||!ai.key,loading:ak,icon:ak?void 0:(0,d.jsx)(s.A,{size:10}),className:"w-full",children:"ADD KEY"})]})})]})]})]}),ad?(0,d.jsx)("div",{className:"py-4 flex items-center justify-center",children:(0,d.jsx)(m.A,{size:16,className:"animate-spin text-[var(--color-text-muted)]"})}):0===ac.length?(0,d.jsxs)("div",{className:"py-4 text-center border border-dashed border-[var(--color-border)]",children:[(0,d.jsx)("div",{className:"font-mono text-[9px] text-[var(--color-text-muted)]",children:"No API keys stored"}),(0,d.jsx)("div",{className:"font-mono text-[8px] text-[var(--color-text-faint)] mt-1",children:"Add keys for Alchemy, Infura, etc."})]}):(0,d.jsx)("div",{className:"space-y-2",children:ac.map(a=>(0,d.jsxs)("div",{className:"flex items-center gap-2 p-2 bg-[var(--color-surface)] border border-[var(--color-border)]",children:[(0,d.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)("span",{className:"font-mono text-[10px] font-bold text-[var(--color-text)] uppercase",children:a.service}),(0,d.jsx)("span",{className:"font-mono text-[9px] text-[var(--color-text-muted)]",children:a.name})]}),(0,d.jsx)("div",{className:"font-mono text-[8px] text-[var(--color-text-faint)] truncate",children:a.keyMasked||a.key})]}),(0,d.jsx)(x.$n,{variant:"ghost",size:"sm",onClick:()=>an(a.id),disabled:am===a.id,icon:am===a.id?(0,d.jsx)(m.A,{size:10,className:"animate-spin"}):(0,d.jsx)(t.A,{size:10}),className:"hover:text-[var(--color-warning)]",children:""})]},a.id))}),(0,d.jsx)("div",{className:"pt-2 border-t border-dashed border-[var(--color-border)]",children:(0,d.jsx)("div",{className:"font-mono text-[8px] text-[var(--color-text-faint)] leading-relaxed",children:"Alchemy keys will automatically configure RPCs for supported chains."})})]})}),(0,d.jsx)(x.lX,{title:"EXPORT_SEED",icon:(0,d.jsx)(u.A,{size:12}),isOpen:aW,onToggle:()=>aX(!aW),contentClassName:"p-4 pt-0",children:z?(0,d.jsxs)("div",{className:"space-y-3",children:[(0,d.jsxs)("div",{className:"p-3 bg-[var(--color-text)] border border-[var(--color-border-focus)] relative",children:[(0,d.jsx)(x.$n,{variant:"ghost",size:"sm",onClick:()=>{navigator.clipboard.writeText(z),G("exported"),setTimeout(()=>G(null),2e3)},className:"absolute top-2 right-2 bg-[var(--color-text-muted)]/20 hover:bg-[var(--color-text-muted)]/40",icon:(0,d.jsx)(j.A,{size:10,className:"exported"===F?"text-[var(--color-accent)]":"text-[var(--color-surface)]"}),children:""}),(0,d.jsx)("div",{className:"font-mono text-xs text-[var(--color-accent)] leading-relaxed break-words select-all pr-8",children:z})]}),(0,d.jsx)(x.$n,{variant:"ghost",size:"sm",onClick:()=>A(null),children:"HIDE"})]}):(0,d.jsx)("form",{onSubmit:E,children:(0,d.jsx)(x.ks,{label:"PASSWORD",type:"password",value:B,onChange:a=>C(a.target.value),placeholder:"Enter password to export...",compact:!0,rightElement:(0,d.jsx)(x.$n,{type:"submit",size:"sm",disabled:D||!B,loading:D,children:"EXPORT"})})})}),(0,d.jsx)(x.lX,{title:"DATABASE_BACKUP",icon:(0,d.jsx)(v.A,{size:12}),isOpen:aY,onToggle:()=>aZ(!aY),contentClassName:"p-4 pt-0",children:(0,d.jsxs)("div",{className:"space-y-3",children:[(0,d.jsx)(x.$n,{variant:"secondary",size:"lg",onClick:P,disabled:M,loading:M,icon:M?void 0:(0,d.jsx)(s.A,{size:12}),className:"w-full",children:M?"CREATING...":"CREATE BACKUP"}),(0,d.jsx)(x.$n,{variant:"secondary",size:"lg",onClick:T,disabled:R,loading:R,icon:R?void 0:(0,d.jsx)(v.A,{size:12}),className:"w-full",children:R?"EXPORTING...":"EXPORT DATABASE"}),L?(0,d.jsx)("div",{className:"py-4 flex items-center justify-center",children:(0,d.jsx)(m.A,{size:16,className:"animate-spin text-[var(--color-text-muted)]"})}):0===K.length?(0,d.jsx)("div",{className:"py-4 text-center",children:(0,d.jsx)("div",{className:"font-mono text-[9px] text-[var(--color-text-muted)]",children:"No backups found"})}):(0,d.jsx)("div",{className:"space-y-1 max-h-48 overflow-y-auto",children:K.map(a=>{var b;return(0,d.jsxs)("div",{className:"relative",children:[(0,d.jsxs)(x.$n,{type:"button",variant:"secondary",size:"md",onClick:b=>{ay(b.currentTarget),aw(a.filename)},className:"w-full !h-auto !px-2 !py-2 !justify-between group",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)(w.A,{size:10,className:"text-[var(--color-text-muted)] group-hover:text-[var(--color-text)]"}),(0,d.jsx)("span",{className:"font-mono text-[10px] text-[var(--color-text)]",children:(a=>{let b=a.slice(0,4),c=a.slice(4,6),d=a.slice(6,8),e=a.slice(9,11),f=a.slice(11,13);return`${b}-${c}-${d} ${e}:${f}`})(a.timestamp)})]}),(0,d.jsx)("span",{className:"font-mono text-[9px] text-[var(--color-text-muted)]",children:(b=a.size)<1024?`${b} B`:b<1048576?`${(b/1024).toFixed(1)} KB`:`${(b/1048576).toFixed(1)} MB`})]}),(0,d.jsx)(x.Rw,{isOpen:av===a.filename,onClose:()=>{aw(null),ay(null)},onConfirm:()=>{Q(a.filename),aw(null),ay(null)},title:"Restore Backup",message:"Restore to this backup? You will lose all data since this backup was created.",confirmText:"RESTORE",variant:"warning",loading:N===a.filename})]},a.filename)})}),(0,d.jsx)("div",{className:"pt-2 border-t border-dashed border-[var(--color-border)]",children:(0,d.jsx)("div",{className:"font-mono text-[8px] text-[var(--color-text-faint)] leading-relaxed",children:"Backups are tied to the current database schema. Restoring after migrations may cause issues."})})]})}),(0,d.jsx)(x.lX,{title:"DANGER_ZONE",icon:(0,d.jsx)(i.A,{size:12}),isOpen:a$,onToggle:()=>a_(!a$),tone:"warning",contentClassName:"p-4 pt-0",children:(0,d.jsxs)("div",{className:"p-3 border-2 border-[var(--color-warning)] bg-[color-mix(in_srgb,var(--color-warning)_5%,transparent)]",children:[(0,d.jsx)("div",{className:"font-mono text-[10px] text-[var(--color-text-muted)] mb-3",children:"Delete ALL data. Irreversible."}),(0,d.jsx)(x.$n,{variant:H?"primary":"danger",size:"lg",onClick:J,disabled:I,loading:I,icon:I?void 0:(0,d.jsx)(t.A,{size:12}),className:`w-full ${H?"!bg-[var(--color-warning)] !border-[var(--color-warning)] hover:!bg-[var(--color-warning)]":""}`,children:I?"NUKING...":H?"CONFIRM":"NUKE"})]})})]})}function aL({coldWallets:a,copyAddress:b,copied:c}){return 0===a.length?(0,d.jsx)("div",{className:"text-center py-8",children:(0,d.jsx)("div",{className:"font-mono text-[10px] text-[var(--color-text-muted,#6b7280)]",children:"No wallet found. Set up your wallet first."})}):(0,d.jsxs)("div",{className:"space-y-5",children:[a.map(e=>(0,d.jsxs)("div",{className:"space-y-3",children:[(0,d.jsxs)("div",{className:"flex items-center justify-center gap-2",children:[(0,d.jsx)(u.A,{size:12,style:{color:"var(--color-info, #0047ff)"}}),(0,d.jsxs)("span",{className:"font-mono text-[9px] font-bold tracking-widest",style:{color:"var(--color-info, #0047ff)"},children:[e.name?.toUpperCase()||"AGENT",e.chain?` (${e.chain.toUpperCase()})`:""]})]}),(0,d.jsx)("div",{className:"flex justify-center",children:(0,d.jsxs)("div",{className:"p-3 relative",style:{backgroundColor:"var(--color-surface, #ffffff)",border:"1px solid var(--color-border, #d4d4d8)"},children:[(0,d.jsx)("div",{className:"absolute top-1 left-1 w-2 h-2 border-l border-t",style:{borderColor:"var(--color-border-focus, #0a0a0a)"}}),(0,d.jsx)("div",{className:"absolute top-1 right-1 w-2 h-2 border-r border-t",style:{borderColor:"var(--color-border-focus, #0a0a0a)"}}),(0,d.jsx)("div",{className:"absolute bottom-1 left-1 w-2 h-2 border-l border-b",style:{borderColor:"var(--color-border-focus, #0a0a0a)"}}),(0,d.jsx)("div",{className:"absolute bottom-1 right-1 w-2 h-2 border-r border-b",style:{borderColor:"var(--color-border-focus, #0a0a0a)"}}),(0,d.jsx)("img",{src:`https://api.qrserver.com/v1/create-qr-code/?size=160x160&data=${e.address}&bgcolor=ffffff&color=0a0a0a&margin=0`,alt:"Wallet QR Code",className:"w-40 h-40"})]})}),(0,d.jsxs)("div",{className:"p-3 relative group cursor-pointer",onClick:()=>b(e.address),style:{backgroundColor:"var(--color-background-alt, #f4f4f5)",border:"1px solid var(--color-border, #d4d4d8)"},children:[(0,d.jsx)("code",{className:"font-mono text-[11px] break-all select-all block text-center leading-relaxed pr-6",style:{color:"var(--color-text, #0a0a0a)"},children:e.address}),(0,d.jsx)("button",{className:"absolute right-2 top-1/2 -translate-y-1/2 p-1 opacity-60 group-hover:opacity-100 transition-opacity",onClick:a=>{a.stopPropagation(),b(e.address)},children:(0,d.jsx)(j.A,{size:14,style:{color:c===e.address?"var(--color-success, #00c853)":"var(--color-info, #0047ff)"}})})]}),c===e.address&&(0,d.jsx)("div",{className:"text-center",children:(0,d.jsx)("span",{className:"font-mono text-[9px]",style:{color:"var(--color-success, #00c853)"},children:"COPIED TO CLIPBOARD"})}),a.length>1&&e!==a[a.length-1]&&(0,d.jsx)("div",{className:"border-t",style:{borderColor:"var(--color-border, #d4d4d8)"}})]},e.address)),(0,d.jsxs)("div",{className:"space-y-2 pt-2",children:[(0,d.jsx)("div",{className:"font-mono text-[8px] text-[var(--color-text-muted,#6b7280)] tracking-widest",children:"INSTRUCTIONS"}),(0,d.jsxs)("div",{className:"space-y-1.5",children:[(0,d.jsxs)("div",{className:"flex items-start gap-2",children:[(0,d.jsx)("div",{className:"w-4 h-4 bg-[var(--color-background-alt,#e8e8e6)] flex items-center justify-center shrink-0 mt-0.5",children:(0,d.jsx)("span",{className:"font-mono text-[8px] text-[var(--color-text-muted,#6b7280)]",children:"1"})}),(0,d.jsx)("span",{className:"font-mono text-[9px] text-[var(--color-text-muted,#6b7280)]",children:"Scan QR or copy address above"})]}),(0,d.jsxs)("div",{className:"flex items-start gap-2",children:[(0,d.jsx)("div",{className:"w-4 h-4 bg-[var(--color-background-alt,#e8e8e6)] flex items-center justify-center shrink-0 mt-0.5",children:(0,d.jsx)("span",{className:"font-mono text-[8px] text-[var(--color-text-muted,#6b7280)]",children:"2"})}),(0,d.jsx)("span",{className:"font-mono text-[9px] text-[var(--color-text-muted,#6b7280)]",children:"Send ETH from exchange or another wallet"})]}),(0,d.jsxs)("div",{className:"flex items-start gap-2",children:[(0,d.jsx)("div",{className:"w-4 h-4 bg-[var(--color-background-alt,#e8e8e6)] flex items-center justify-center shrink-0 mt-0.5",children:(0,d.jsx)("span",{className:"font-mono text-[8px] text-[var(--color-text-muted,#6b7280)]",children:"3"})}),(0,d.jsx)("span",{className:"font-mono text-[9px] text-[var(--color-text-muted,#6b7280)]",children:"Funds will appear after network confirmation"})]})]})]})]})}},41025:a=>{"use strict";a.exports=require("next/dist/server/app-render/dynamic-access-async-storage.external.js")},44688:(a,b,c)=>{"use strict";c.d(b,{A:()=>d});let d=(0,c(23339).A)("MessageSquare",[["path",{d:"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z",key:"1lielz"}]])},55511:a=>{"use strict";a.exports=require("crypto")},55591:a=>{"use strict";a.exports=require("https")},57011:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>d});let d=(0,c(97954).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/Users/alyssa/src/aura/aurawallet/src/app/app-legacy-do-not-use/page.tsx\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/Users/alyssa/src/aura/aurawallet/src/app/app-legacy-do-not-use/page.tsx","default")},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},73136:a=>{"use strict";a.exports=require("node:url")},74075:a=>{"use strict";a.exports=require("zlib")},77598:a=>{"use strict";a.exports=require("node:crypto")},79428:a=>{"use strict";a.exports=require("buffer")},79551:a=>{"use strict";a.exports=require("url")},81630:a=>{"use strict";a.exports=require("http")},86439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},88011:(a,b,c)=>{"use strict";c.r(b),c.d(b,{LogsApp:()=>r,default:()=>s});var d=c(21124),e=c(38301),f=c(22842),g=c(14263),h=c(25345);let i=(0,c(23339).A)("Filter",[["polygon",{points:"22 3 2 3 10 12.46 10 19 14 21 14 12.46 22 3",key:"1yg77f"}]]);var j=c(85351),k=c(58620),l=c(81296),m=c(15303),n=c(77886),o=c(33337),p=c(45478);let q={"action:created":"var(--color-warning, #ff4d00)","action:resolved":"var(--color-success, #00c853)","token:created":"var(--color-info, #0047ff)","token:revoked":"var(--color-warning, #ff4d00)","token:spent":"var(--color-accent, #ffab00)","wallet:created":"var(--color-info, #00bcd4)","wallet:changed":"var(--color-info, #00bcd4)"},r=({maxHeight:a=320})=>{let[b,c]=(0,e.useState)([]),[r,s]=(0,e.useState)(!0),[t,u]=(0,e.useState)(!1),[v,w]=(0,e.useState)(null),[x,y]=(0,e.useState)("all"),[z,A]=(0,e.useState)(!1),[B,C]=(0,e.useState)(50),{subscribe:D,connected:E}=(0,n.h)(),{isUnlocked:F}=(0,o.A)(),G=(0,e.useCallback)(async()=>{try{let a={limit:B};"all"!==x&&(a.type=x);let b=await p.FH.get(p.jI.Events,"/events",a);if(b.success){let a=b.events.map(a=>({id:a.id,type:a.type,source:a.source,data:"string"==typeof a.data?JSON.parse(a.data):a.data,timestamp:new Date(a.timestamp).getTime()}));c(a),w(null)}else w(b.error||"Failed to fetch logs")}catch(a){w(a instanceof Error?a.message:"Failed to fetch logs")}finally{s(!1),u(!1)}},[x,B]);(0,e.useEffect)(()=>{if(!F)return void s(!1);G()},[G,F]),(0,e.useEffect)(()=>D("*",a=>{let b=a.type;if(!b||b.startsWith("workspace:")||b.startsWith("app:")||b.startsWith("theme:")||"error"===b||"connected"===b)return;let d={id:`ws-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,type:a.type,source:a.source,data:a.data,timestamp:a.timestamp,isNew:!0};c(a=>{let b=a.filter(a=>!(a.type===d.type&&1e3>Math.abs(a.timestamp-d.timestamp)));return[d,...b].slice(0,B+50)}),setTimeout(()=>{c(a=>a.map(a=>a.id===d.id?{...a,isNew:!1}:a))},5e3)}),[D,B]);let H=()=>{u(!0),G()},I=[{value:"all",label:"ALL"},{value:"action:created",label:"ACTIONS"},{value:"action:resolved",label:"RESOLVED"},{value:"token:created",label:"TOKENS"},{value:"token:revoked",label:"REVOKED"},{value:"token:spent",label:"SPENT"},{value:"wallet:created",label:"WALLETS"}],J="all"===x?b:b.filter(a=>a.type===x);return F?r?(0,d.jsxs)("div",{className:"py-6 text-center",children:[(0,d.jsx)(g.A,{size:20,className:"mx-auto mb-2 text-[var(--color-text-faint,#9ca3af)] animate-spin"}),(0,d.jsx)("div",{className:"font-mono text-[9px] text-[var(--color-text-muted,#6b7280)]",children:"LOADING LOGS..."})]}):v?(0,d.jsxs)("div",{className:"py-6 text-center",children:[(0,d.jsx)("div",{className:"font-mono text-[9px] text-[var(--color-warning,#ff4d00)] mb-2",children:v}),(0,d.jsxs)("button",{onClick:H,className:"font-mono text-[9px] text-[var(--color-text-muted,#6b7280)] hover:text-[var(--color-text,#0a0a0a)] flex items-center gap-1 mx-auto",children:[(0,d.jsx)(h.A,{size:10}),"RETRY"]})]}):(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between",children:[(0,d.jsxs)("div",{className:"relative",children:[(0,d.jsxs)("button",{onClick:()=>A(!z),className:"flex items-center gap-1 px-2 py-1 border border-[var(--color-border,#d4d4d8)] font-mono text-[8px] text-[var(--color-text-muted,#6b7280)] hover:border-[var(--color-border-focus,#0a0a0a)] hover:text-[var(--color-text,#0a0a0a)] transition-colors",children:[(0,d.jsx)(i,{size:9}),I.find(a=>a.value===x)?.label||"ALL",(0,d.jsx)(j.A,{size:8,className:z?"rotate-180":""})]}),z&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("div",{className:"fixed inset-0 z-40",onClick:()=>A(!1)}),(0,d.jsx)("div",{className:"absolute left-0 top-full mt-1 bg-[var(--color-surface,#ffffff)] border border-[var(--color-border-focus,#0a0a0a)] shadow-lg z-50 min-w-[100px]",children:I.map(a=>(0,d.jsx)("button",{onClick:()=>{y(a.value),A(!1)},className:`w-full text-left px-2 py-1 font-mono text-[8px] hover:bg-[var(--color-accent,#ccff00)] hover:text-[var(--color-text,#0a0a0a)] ${x===a.value?"bg-[var(--color-surface-alt,#fafafa)] font-bold":""}`,children:a.label},a.value))})]})]}),(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsxs)("div",{className:"flex items-center gap-1",children:[E?(0,d.jsx)(k.A,{size:9,className:"text-[var(--color-success,#00c853)]"}):(0,d.jsx)(l.A,{size:9,className:"text-[var(--color-text-muted,#6b7280)]"}),(0,d.jsx)("span",{className:"font-mono text-[7px] text-[var(--color-text-muted,#6b7280)]",children:E?"LIVE":"OFFLINE"})]}),(0,d.jsx)("span",{className:"font-mono text-[8px] text-[var(--color-text-muted,#6b7280)]",children:J.length}),(0,d.jsx)("button",{onClick:H,disabled:t,className:"p-1 hover:bg-[var(--color-surface-alt,#fafafa)] transition-colors",children:(0,d.jsx)(h.A,{size:10,className:`text-[var(--color-text-muted,#6b7280)] ${t?"animate-spin":""}`})})]})]}),0===J.length?(0,d.jsxs)("div",{className:"py-6 text-center",children:[(0,d.jsx)(m.A,{size:20,className:"mx-auto mb-2 text-[var(--color-text-faint,#9ca3af)]"}),(0,d.jsx)("div",{className:"font-mono text-[9px] text-[var(--color-text-muted,#6b7280)]",children:"NO EVENTS YET"})]}):(0,d.jsxs)("div",{className:"space-y-1 overflow-y-auto",style:{maxHeight:a},children:[J.map(a=>{let b=q[a.type]||"var(--color-text-muted, #666)",c=function(a,b){switch(a){case"action:created":return`Action "${b.type||b.actionType}" from ${b.agentId||"agent"}`;case"action:resolved":return`Action ${b.id?.slice(0,8)}... ${b.approved?"approved":"rejected"}`;case"token:created":return`Token for "${b.agentId}" (${b.limit} ETH)`;case"token:revoked":return`Token ${b.tokenHash?.slice(0,8)}... revoked`;case"token:spent":return`Spent ${b.amount} ETH (${b.remaining} left)`;case"wallet:changed":return`${b.tier?.toUpperCase()} wallet ${b.address?.slice(0,10)}... updated`;case"wallet:created":return`${b.tier?.toUpperCase()} wallet ${b.address?.slice(0,10)}...`;default:return b?JSON.stringify(b).slice(0,50):"No data"}}(a.type,a.data);return(0,d.jsxs)("div",{className:`border p-2 transition-all group ${a.isNew?"border-[var(--color-accent,#ccff00)] bg-[var(--color-accent,#ccff00)]/10 animate-pulse":"border-[var(--color-border-muted,#e5e5e5)] hover:border-[var(--color-border,#d4d4d8)]"}`,children:[(0,d.jsxs)("div",{className:"flex items-start justify-between gap-2",children:[(0,d.jsxs)("div",{className:"flex items-center gap-1.5 min-w-0",children:[(0,d.jsx)("div",{className:"w-1.5 h-1.5 shrink-0",style:{backgroundColor:b}}),(0,d.jsx)("span",{className:"font-mono text-[8px] font-bold shrink-0",style:{color:b},children:function(a){return({"action:created":"ACTION","action:resolved":"RESOLVED","token:created":"TOKEN+","token:revoked":"REVOKED","token:spent":"SPENT","wallet:created":"WALLET+","wallet:changed":"WALLET~"})[a]||a.split(":").pop()?.toUpperCase()||a}(a.type)}),(0,d.jsx)("span",{className:"font-mono text-[8px] text-[var(--color-text-muted,#6b7280)] truncate",children:c})]}),(0,d.jsx)("span",{className:"font-mono text-[7px] text-[var(--color-text-muted,#6b7280)] shrink-0",children:function(a){let b=Math.floor((Date.now()-a)/1e3),c=Math.floor(b/60),d=Math.floor(c/60),e=Math.floor(d/24);return b<10?"just now":b<60?`${b}s ago`:c<60?`${c}m ago`:d<24?`${d}h ago`:`${e}d ago`}(a.timestamp)})]}),(0,d.jsx)("div",{className:"hidden group-hover:block mt-1.5 pt-1.5 border-t border-[var(--color-border-muted,#e5e5e5)]",children:(0,d.jsx)("div",{className:"font-mono text-[7px] text-[var(--color-text-muted,#6b7280)] break-all",children:JSON.stringify(a.data,null,0)})})]},a.id)}),J.length>=B&&(0,d.jsx)("button",{onClick:()=>C(a=>a+50),className:"w-full py-2 font-mono text-[8px] text-[var(--color-text-muted,#6b7280)] hover:text-[var(--color-text,#0a0a0a)] hover:bg-[var(--color-surface-alt,#fafafa)] transition-colors",children:"LOAD MORE"})]})]}):(0,d.jsxs)("div",{className:"py-6 text-center",children:[(0,d.jsx)(f.A,{size:20,className:"mx-auto mb-2 text-[var(--color-text-faint,#9ca3af)]"}),(0,d.jsx)("div",{className:"font-mono text-[9px] text-[var(--color-text-muted,#6b7280)]",children:"AGENT LOCKED"})]})},s=r},90417:(a,b,c)=>{Promise.resolve().then(c.bind(c,40977))},91645:a=>{"use strict";a.exports=require("net")},94735:a=>{"use strict";a.exports=require("events")}};var b=require("../../webpack-runtime.js");b.C(a);var c=b.X(0,[1331,2395,2269,1350,5553,7935,5246,1196,6470,9971],()=>b(b.s=3387));module.exports=c})();
17
+ `,style:m?{borderTopColor:m,borderTopWidth:e?"2px":"1px"}:void 0,onClick:()=>!e&&c(a.id),onMouseEnter:()=>p(a.id),onMouseLeave:()=>p(null),onDoubleClick:b=>{b.stopPropagation(),e&&B(a)},children:[a.emoji?(0,d.jsx)("span",{className:"text-xs",children:a.emoji}):(0,d.jsx)(l,{size:12,style:m?{color:m}:void 0}),(0,d.jsx)("span",{className:"select-none",children:a.label}),e&&g&&i&&!j&&(0,d.jsx)("button",{onClick:b=>{b.stopPropagation(),B(a)},className:"p-0.5 hover:bg-[var(--color-background-alt,#e5e5e5)] rounded transition-colors",title:"Edit workspace",children:(0,d.jsx)(X,{size:9,className:"text-[var(--color-text-muted,#6b7280)] hover:text-[var(--color-text,#0a0a0a)]"})}),a.closeable&&(0,d.jsx)("button",{onClick:b=>{b.stopPropagation(),f?.(a.id)},className:"p-0.5 hover:bg-[var(--color-background-alt,#e5e5e5)] rounded transition-colors",children:(0,d.jsx)(k.A,{size:10,className:"text-[var(--color-text-muted,#6b7280)] hover:text-[var(--color-text,#0a0a0a)]"})}),e&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("div",{className:"absolute -bottom-[1px] left-0 right-0 h-[1px] bg-[var(--color-surface,#ffffff)]"}),(0,d.jsx)("div",{className:"absolute top-0 left-0 right-0 h-[3px] shard-start bg-[var(--color-accent,#ccff00)]"})]}),(0,d.jsx)(x.AM,{isOpen:j,onClose:C,title:"EDIT WORKSPACE",anchor:"left",anchorEl:A.current[a.id],children:(0,d.jsxs)("div",{className:"space-y-3 min-w-[220px]",children:[(0,d.jsx)(x.ks,{label:"Name",type:"text",value:t,onChange:a=>u(a.target.value.toUpperCase()),autoFocus:!0,compact:!0}),(0,d.jsxs)("div",{children:[(0,d.jsx)("label",{className:"block font-mono text-[8px] text-[var(--color-text-muted,#6b7280)] uppercase tracking-widest mb-1",children:"Emoji"}),(0,d.jsxs)("div",{className:"flex flex-wrap gap-1",children:[(0,d.jsx)("button",{onClick:()=>D(""),className:`w-6 h-6 border text-[10px] font-mono ${!v?"border-[var(--color-border-focus,#0a0a0a)] bg-[var(--color-surface-alt,#fafafa)]":"border-[var(--color-border,#d4d4d8)] hover:border-[var(--color-text-muted,#6b7280)]"}`,children:"✕"}),aa.map(a=>(0,d.jsx)("button",{onClick:()=>D(a),className:`w-6 h-6 border text-sm ${v===a?"border-[var(--color-border-focus,#0a0a0a)] bg-[var(--color-surface-alt,#fafafa)]":"border-[var(--color-border,#d4d4d8)] hover:border-[var(--color-text-muted,#6b7280)]"}`,children:a},a))]})]}),(0,d.jsxs)("div",{children:[(0,d.jsx)("label",{className:"block font-mono text-[8px] text-[var(--color-text-muted,#6b7280)] uppercase tracking-widest mb-1",children:"Color"}),(0,d.jsx)("div",{className:"flex flex-wrap gap-1",children:_.map(a=>(0,d.jsx)("button",{onClick:()=>(a=>{z(a),q&&i&&i(q,{color:a||void 0})})(a),className:`w-6 h-6 border-2 ${y===a?"border-[var(--color-accent,#ccff00)]":"border-transparent"}`,style:{backgroundColor:a}},a))})]})]})})]},a.id)})}),g&&(0,d.jsx)("button",{onClick:g,className:"ml-1 p-1.5 mb-1 hover:bg-[var(--color-surface-alt,#d8d8d6)] rounded transition-colors group",title:"New Workspace",children:(0,d.jsx)(s.A,{size:14,className:"text-[var(--color-text-muted,#6b7280)] group-hover:text-[var(--color-text,#0a0a0a)]"})}),(0,d.jsx)("div",{className:"flex-1"}),(0,d.jsxs)("div",{className:"flex items-center gap-0.5 mr-1 mb-1",children:[l&&(0,d.jsx)("button",{onClick:l,className:"p-1.5 hover:bg-[var(--color-surface,#ffffff)] rounded transition-colors group",title:"App Store",children:(0,d.jsx)(Y,{size:14,className:"text-[var(--color-text-muted,#6b7280)] group-hover:text-[var(--color-text,#0a0a0a)]"})}),j&&(0,d.jsx)("button",{onClick:j,className:"p-1.5 hover:bg-[var(--color-surface,#ffffff)] rounded transition-colors group",title:"Tidy apps",children:(0,d.jsx)(Z,{size:14,className:"text-[var(--color-text-muted,#6b7280)] group-hover:text-[var(--color-text,#0a0a0a)]"})}),(0,d.jsx)($.v,{notifications:m,onDismiss:n??(()=>{})})]})]})};var ac=c(54684);let ad=(0,g.A)("Download",[["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["polyline",{points:"7 10 12 15 17 10",key:"2ggqvy"}],["line",{x1:"12",x2:"12",y1:"15",y2:"3",key:"1vk2je"}]]);var ae=c(98817);let af=[{id:"all",label:"ALL"},{id:"builtin",label:"BUILT-IN"},{id:"installed",label:"INSTALLED"}];function ag({isOpen:a,onClose:b,onAddApp:c}){let[f,g]=(0,e.useState)([]),[h,i]=(0,e.useState)(!1),[j,k]=(0,e.useState)("all"),[l,n]=(0,e.useState)(""),[o,p]=(0,e.useState)(!1),[q,t]=(0,e.useState)(null),[v,w]=(0,e.useState)(null),[y,z]=(0,e.useState)(null),[A,B]=(0,e.useState)(null),[C,D]=(0,e.useState)(!1),[E,F]=(0,e.useState)(null),G=async()=>{if(l.trim()){p(!0),t(null),w(null);try{let a=await S.FH.post(S.jI.Workspace,"/apps/install",{source:l.trim()});if(!a.success)return void t(a.error||"Install failed");w(`Installed "${a.app?.name||a.app?.id}"`),n(""),S.FH.get(S.jI.Workspace,"/apps/manifests").then(a=>{a.success&&g(a.manifests)}).catch(()=>{})}catch(a){t(a.message)}finally{p(!1)}}},H=async()=>{if(y){D(!0),F(null);try{let a=await S.FH.post(S.jI.Wallet,`/apps/${y.id}/approve`);if(!a.success)return void F(a.error||"Approval failed");let b=y.id,d=y.name;z(null),B(null),c(`installed:${b}`,{appPath:b,appName:d})}catch(a){F(a.message)}finally{D(!1)}}},I=(0,e.useMemo)(()=>Object.entries(ae.yN).map(([a,b])=>({id:a,name:b.title,icon:b.icon,description:b.description||`Built-in ${b.title.toLowerCase()} app`,category:"builtin",color:b.color,permissions:[],manifest:null,onAdd:()=>c(a)})),[c]),J=(0,e.useMemo)(()=>f.map(a=>({id:`installed:${a.id}`,name:a.name,icon:ac.A,description:a.description||"Installed app",category:"installed",color:"gray",permissions:Array.isArray(a.permissions)?a.permissions:[],manifest:a,onAdd:()=>c(`installed:${a.id}`,{appPath:a.id,appName:a.name})})),[f,c]),K=(0,e.useMemo)(()=>"builtin"===j?I:"installed"===j?J:[...I,...J],[j,I,J]);return(0,d.jsx)(x._s,{isOpen:a,onClose:b,title:"APP STORE",subtitle:"Add apps to workspace",children:(0,d.jsxs)("div",{className:"space-y-4",children:[(0,d.jsx)("div",{className:"flex gap-1",children:af.map(a=>(0,d.jsx)("button",{onClick:()=>k(a.id),className:`px-2.5 py-1 font-mono text-[9px] tracking-widest border transition-colors ${j===a.id?"bg-[var(--color-text,#0a0a0a)] text-[var(--color-accent,#ccff00)] border-[var(--color-text,#0a0a0a)]":"bg-[var(--color-surface,#fff)] text-[var(--color-text-muted,#6b7280)] border-[var(--color-border,#d4d4d8)] hover:border-[var(--color-text,#0a0a0a)]"}`,children:a.label},a.id))}),("all"===j||"installed"===j)&&(0,d.jsxs)("div",{className:"p-2.5 border border-[var(--color-border,#d4d4d8)] bg-[var(--color-surface,#fff)]",children:[(0,d.jsx)("div",{className:"font-mono text-[8px] text-[var(--color-text-muted,#6b7280)] mb-1.5 tracking-wider",children:"INSTALL FROM URL"}),(0,d.jsxs)("div",{className:"flex gap-1.5",children:[(0,d.jsx)("div",{className:"flex-1",children:(0,d.jsx)(x.ks,{value:l,onChange:a=>n(a.target.value),placeholder:"github.com/user/app or URL",compact:!0,onKeyDown:a=>{"Enter"===a.key&&G()},disabled:o})}),(0,d.jsx)(x.$n,{variant:"primary",size:"sm",onClick:G,loading:o,disabled:o||!l.trim(),icon:(0,d.jsx)(ad,{size:10}),children:"INSTALL"})]}),q&&(0,d.jsx)("div",{className:"font-mono text-[8px] text-[var(--color-warning,#ff4d00)] mt-1.5",children:q}),v&&(0,d.jsx)("div",{className:"font-mono text-[8px] text-[var(--color-success,#22c55e)] mt-1.5",children:v})]}),h&&(0,d.jsx)("div",{className:"py-8 flex items-center justify-center",children:(0,d.jsx)(m.A,{size:16,className:"animate-spin text-[var(--color-text-muted,#6b7280)]"})}),!h&&0===K.length&&(0,d.jsxs)("div",{className:"py-8 text-center border border-dashed border-[var(--color-border,#d4d4d8)]",children:[(0,d.jsx)(ac.A,{size:20,className:"mx-auto mb-2 text-[var(--color-text-faint,#9ca3af)]"}),(0,d.jsx)("div",{className:"font-mono text-[9px] text-[var(--color-text-muted,#6b7280)]",children:"installed"===j?"No apps installed. Drop app folders into apps/":"No apps available"})]}),!h&&(0,d.jsx)("div",{className:"space-y-2",children:K.map(a=>{let b=a.icon,c=a.permissions.length>0;return(0,d.jsxs)("div",{className:"p-3 border border-[var(--color-border,#d4d4d8)] bg-[var(--color-surface,#fff)] hover:border-[var(--color-border-focus,#0a0a0a)] transition-colors relative",children:[(0,d.jsx)("div",{className:"absolute top-1 left-1 w-1.5 h-1.5 border-l border-t border-[var(--color-border-focus,#0a0a0a)] opacity-30"}),(0,d.jsx)("div",{className:"absolute top-1 right-1 w-1.5 h-1.5 border-r border-t border-[var(--color-border-focus,#0a0a0a)] opacity-30"}),(0,d.jsxs)("div",{className:"flex items-start gap-3",children:[(0,d.jsx)("div",{className:"w-8 h-8 bg-[var(--color-background-alt,#f4f4f5)] flex items-center justify-center shrink-0",children:(0,d.jsx)(b,{size:14,className:"text-[var(--color-text-muted,#6b7280)]"})}),(0,d.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)("span",{className:"font-mono text-[10px] font-bold text-[var(--color-text,#0a0a0a)]",children:a.name}),(0,d.jsx)("span",{className:`font-mono text-[7px] px-1 py-0.5 ${"installed"===a.category?"bg-[var(--color-accent,#ccff00)]/20 text-[var(--color-accent,#ccff00)]":"bg-[var(--color-info,#0047ff)]/10 text-[var(--color-info,#0047ff)]"}`,children:"installed"===a.category?"PLUGIN":"BUILT-IN"})]}),(0,d.jsx)("div",{className:"font-mono text-[8px] text-[var(--color-text-muted,#6b7280)] mt-0.5 leading-relaxed",children:a.description}),c&&(0,d.jsxs)("div",{className:"flex items-center gap-1 mt-1",children:[(0,d.jsx)(u.A,{size:8,className:"text-[var(--color-warning,#ff4d00)]"}),(0,d.jsxs)("span",{className:"font-mono text-[7px] text-[var(--color-warning,#ff4d00)]",children:[a.permissions.length," PERMISSION",a.permissions.length>1?"S":""]})]})]}),(0,d.jsx)(x.$n,{variant:c?"secondary":"ghost",size:"sm",onClick:b=>{c&&a.manifest?(z(a.manifest),B(b.currentTarget),F(null)):a.onAdd()},icon:c?(0,d.jsx)(u.A,{size:10}):(0,d.jsx)(s.A,{size:10}),children:c?"APPROVE":"ADD"})]})]},a.id)})}),(0,d.jsx)(x.AM,{isOpen:!!y,onClose:()=>{z(null),B(null)},title:"APP PERMISSIONS",anchorEl:A,anchor:"right",children:y&&(0,d.jsxs)("div",{className:"space-y-3 min-w-[220px]",children:[(0,d.jsxs)("div",{children:[(0,d.jsx)("div",{className:"font-mono text-[10px] font-bold text-[var(--color-text,#0a0a0a)]",children:y.name}),(0,d.jsx)("div",{className:"font-mono text-[8px] text-[var(--color-text-muted,#6b7280)] mt-0.5",children:"This app requests the following permissions:"})]}),(0,d.jsx)("div",{className:"space-y-1",children:(Array.isArray(y.permissions)?y.permissions:[]).map(a=>(0,d.jsxs)("div",{className:"flex items-center gap-1.5 px-2 py-1.5 bg-[var(--color-background-alt,#f4f4f5)]",children:[(0,d.jsx)(u.A,{size:9,className:"text-[var(--color-warning,#ff4d00)] shrink-0"}),(0,d.jsx)("span",{className:"font-mono text-[9px] text-[var(--color-text,#0a0a0a)]",children:a})]},a))}),E&&(0,d.jsx)("div",{className:"font-mono text-[8px] text-[var(--color-warning,#ff4d00)] px-1",children:E}),(0,d.jsxs)("div",{className:"flex gap-2 pt-1",children:[(0,d.jsx)(x.$n,{variant:"primary",size:"sm",onClick:H,loading:C,disabled:C,icon:(0,d.jsx)(r.A,{size:10}),className:"flex-1",children:"APPROVE"}),(0,d.jsx)(x.$n,{variant:"secondary",size:"sm",onClick:()=>{z(null),B(null)},disabled:C,children:"CANCEL"})]})]})})]})})}let ah={KeyRound:n.A,Flame:J,Shield:u.A,Database:v.A};function ai({views:a,activeViewId:b,onSelectView:c,onCreateView:e}){return(0,d.jsxs)("div",{style:{display:"flex",flexDirection:"column",alignItems:"center",gap:"8px",padding:"12px 6px",width:"56px",minWidth:"56px",borderRight:"1px solid var(--border-color, rgba(255,255,255,0.08))",background:"var(--bg-sidebar, rgba(0,0,0,0.15))",height:"100%"},children:[(0,d.jsx)("button",{onClick:e,title:"Create view",style:{width:"40px",height:"40px",borderRadius:"12px",border:"1px dashed rgba(255,255,255,0.2)",background:"transparent",color:"rgba(255,255,255,0.5)",cursor:"pointer",display:"flex",alignItems:"center",justifyContent:"center",transition:"all 0.15s ease",marginBottom:"4px"},onMouseEnter:a=>{a.target.style.borderColor="rgba(255,255,255,0.4)",a.target.style.color="rgba(255,255,255,0.8)"},onMouseLeave:a=>{a.target.style.borderColor="rgba(255,255,255,0.2)",a.target.style.color="rgba(255,255,255,0.5)"},children:(0,d.jsx)(s.A,{size:18})}),(0,d.jsx)("div",{style:{width:"24px",height:"1px",background:"rgba(255,255,255,0.08)"}}),a.map(a=>{let e=ah[a.icon]||n.A,f=a.id===b;return(0,d.jsx)("button",{onClick:()=>c(a.id),title:a.label,style:{width:"40px",height:"40px",borderRadius:"12px",border:"none",background:f?"var(--accent-color, rgba(99,102,241,0.3))":"rgba(255,255,255,0.04)",color:f?"white":"rgba(255,255,255,0.5)",cursor:"pointer",display:"flex",alignItems:"center",justifyContent:"center",transition:"all 0.15s ease"},onMouseEnter:a=>{f||(a.currentTarget.style.background="rgba(255,255,255,0.08)",a.currentTarget.style.color="rgba(255,255,255,0.8)")},onMouseLeave:a=>{f||(a.currentTarget.style.background="rgba(255,255,255,0.04)",a.currentTarget.style.color="rgba(255,255,255,0.5)")},children:(0,d.jsx)(e,{size:20})},a.id)})]})}let aj=[{id:"main",label:"Agent",icon:"KeyRound",description:"Credentials, secrets, and agent management",pinned:!0},{id:"wallet",label:"Wallet",icon:"Flame",description:"Wallet balances, send, swap, and fund",pinned:!0}],ak=[{id:"auth",label:"Auth",icon:"Shield",description:"Token management and approval flows"},{id:"wallet",label:"Wallet",icon:"Flame",description:"Wallet balances, send, swap, and fund"},{id:"audit",label:"Audit",icon:"Database",description:"Audit logs and security monitoring"}],al={KeyRound:n.A,Flame:J,Shield:u.A,Database:v.A};function am({open:a,onClose:b,onSelect:c}){return a?(0,d.jsx)(x.aF,{isOpen:a,title:"Create View",onClose:b,children:(0,d.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:"8px",padding:"8px 0"},children:ak.map(a=>{let e=al[a.icon]||n.A;return(0,d.jsxs)("button",{onClick:()=>{c(a),b()},style:{display:"flex",alignItems:"center",gap:"12px",padding:"12px 16px",borderRadius:"8px",border:"1px solid rgba(255,255,255,0.08)",background:"rgba(255,255,255,0.03)",color:"white",cursor:"pointer",textAlign:"left",transition:"all 0.15s ease",width:"100%"},onMouseEnter:a=>{a.currentTarget.style.background="rgba(255,255,255,0.06)",a.currentTarget.style.borderColor="rgba(255,255,255,0.15)"},onMouseLeave:a=>{a.currentTarget.style.background="rgba(255,255,255,0.03)",a.currentTarget.style.borderColor="rgba(255,255,255,0.08)"},children:[(0,d.jsx)("div",{style:{width:"36px",height:"36px",borderRadius:"10px",background:"rgba(99,102,241,0.15)",display:"flex",alignItems:"center",justifyContent:"center",flexShrink:0},children:(0,d.jsx)(e,{size:18})}),(0,d.jsxs)("div",{children:[(0,d.jsx)("div",{style:{fontWeight:600,fontSize:"14px"},children:a.label}),a.description&&(0,d.jsx)("div",{style:{fontSize:"12px",color:"rgba(255,255,255,0.5)",marginTop:"2px"},children:a.description})]})]},a.id)})})}):null}let an=(0,g.A)("GripVertical",[["circle",{cx:"9",cy:"12",r:"1",key:"1vctgf"}],["circle",{cx:"9",cy:"5",r:"1",key:"hp0tcf"}],["circle",{cx:"9",cy:"19",r:"1",key:"fkjjf6"}],["circle",{cx:"15",cy:"12",r:"1",key:"1tmaij"}],["circle",{cx:"15",cy:"5",r:"1",key:"19l28e"}],["circle",{cx:"15",cy:"19",r:"1",key:"f4zoj3"}]]),ao={blue:{band:"bg-[var(--app-blue-band,#0047ff)]",accent:"border-[var(--app-blue-accent,rgba(0,71,255,0.3))]",bg:"bg-[var(--app-blue-bg,rgba(0,71,255,0.05))]",text:"text-[var(--app-blue-text,#0047ff)]"},orange:{band:"bg-[var(--app-orange-band,#ff4d00)]",accent:"border-[var(--app-orange-accent,rgba(255,77,0,0.3))]",bg:"bg-[var(--app-orange-bg,rgba(255,77,0,0.05))]",text:"text-[var(--app-orange-text,#ff4d00)]"},lime:{band:"bg-[var(--app-lime-band,#84cc16)]",accent:"border-[var(--app-lime-accent,rgba(132,204,22,0.3))]",bg:"bg-[var(--app-lime-bg,rgba(132,204,22,0.05))]",text:"text-[var(--app-lime-text,#65a30d)]"},purple:{band:"bg-[var(--app-purple-band,#7c3aed)]",accent:"border-[var(--app-purple-accent,rgba(124,58,237,0.3))]",bg:"bg-[var(--app-purple-bg,rgba(124,58,237,0.05))]",text:"text-[var(--app-purple-text,#7c3aed)]"},gray:{band:"bg-[var(--app-gray-band,#6b7280)]",accent:"border-[var(--app-gray-accent,rgba(107,114,128,0.3))]",bg:"bg-[var(--app-gray-bg,rgba(107,114,128,0.05))]",text:"text-[var(--app-gray-text,#6b7280)]"},teal:{band:"bg-[var(--app-teal-band,#14b8a6)]",accent:"border-[var(--app-teal-accent,rgba(20,184,166,0.3))]",bg:"bg-[var(--app-teal-bg,rgba(20,184,166,0.05))]",text:"text-[var(--app-teal-text,#14b8a6)]"},rose:{band:"bg-[var(--app-rose-band,#f43f5e)]",accent:"border-[var(--app-rose-accent,rgba(244,63,94,0.3))]",bg:"bg-[var(--app-rose-bg,rgba(244,63,94,0.05))]",text:"text-[var(--app-rose-text,#f43f5e)]"}},ap=({id:a,title:b,subtitle:c,subtitleLink:f,icon:g,color:h,initialPosition:i={x:20,y:20},initialSize:j={width:320,height:"auto"},minWidth:m=200,minHeight:n=100,maxWidth:o=2e3,maxHeight:p=2e3,resizable:q=!0,dismissable:r=!1,locked:s=!1,onLockChange:t,onRefresh:u,onDismiss:v,onPositionChange:x,onSizeChange:y,onBringToFront:z,children:A,className:C="",status:D="normal",zIndex:E=10,focusTrigger:F})=>{let G=h&&h in ao,H=G?ao[h]:null,I=!G&&h?.startsWith("#")?h:null,[J,K]=(0,e.useState)(i),[M,N]=(0,e.useState)({width:"number"==typeof j.width?j.width:320,height:"number"==typeof j.height?j.height:200}),[O,P]=(0,e.useState)(!1),[Q,R]=(0,e.useState)(!1),[S,T]=(0,e.useState)(s),[,U]=(0,e.useState)(!1),V=(0,e.useRef)(null),W=(0,e.useRef)({startX:0,startY:0,startPosX:0,startPosY:0}),X=(0,e.useRef)({direction:null,startX:0,startY:0,startWidth:0,startHeight:0,startPosX:0,startPosY:0}),Y=(0,e.useRef)(E);(0,e.useEffect)(()=>{T(s)},[s]),(0,e.useEffect)(()=>{K(i)},[i.x,i.y]),(0,e.useEffect)(()=>{"number"==typeof j.width&&N(a=>({...a,width:j.width})),"number"==typeof j.height&&N(a=>({...a,height:j.height}))},[j.width,j.height]),(0,e.useEffect)(()=>{let a=Y.current;if(Y.current=E,E>a){U(!0);let a=setTimeout(()=>U(!1),250);return()=>clearTimeout(a)}},[E]),(0,e.useEffect)(()=>{if(void 0!==F&&F>0){U(!0);let a=setTimeout(()=>U(!1),250);return()=>clearTimeout(a)}},[F]),(0,e.useEffect)(()=>{let b=()=>{setTimeout(()=>{let b=document.activeElement;b?.tagName==="IFRAME"&&V.current?.contains(b)&&z?.(a)},0)};return window.addEventListener("blur",b),()=>window.removeEventListener("blur",b)},[a,z]);let Z=(0,e.useCallback)(()=>{if(!V.current)return;let b=V.current.getBoundingClientRect(),c=V.current.offsetParent,d=c?.getBoundingClientRect()||{left:0,top:0},e=b.left-d.left,f=b.top-d.top,g=b.width,h=b.height;K({x:e,y:f}),N({width:g,height:h}),(O||Q)&&x?.(a,{x:e,y:f}),Q&&y?.(a,{width:g,height:h}),P(!1),R(!1)},[a,O,Q,x,y]),$=(0,e.useCallback)((b,c)=>{!S&&q&&(b.preventDefault(),b.stopPropagation(),z?.(a),R(!0),X.current={direction:c,startX:b.clientX,startY:b.clientY,startWidth:M.width,startHeight:M.height,startPosX:J.x,startPosY:J.y})},[S,q,M,J,a,z]);(0,e.useEffect)(()=>{if(!O&&!Q)return;let a=a=>{if(V.current){if(O){let b=a.clientX-W.current.startX,c=a.clientY-W.current.startY,d=Math.max(0,W.current.startPosX+b),e=Math.max(0,W.current.startPosY+c);V.current.style.left=`${d}px`,V.current.style.top=`${e}px`}else if(Q&&X.current.direction){let b=a.clientX-X.current.startX,c=a.clientY-X.current.startY,d=X.current.direction,e=X.current.startWidth,f=X.current.startHeight,g=X.current.startPosX,h=X.current.startPosY;if(d.includes("e")&&(e=Math.min(o,Math.max(m,X.current.startWidth+b))),d.includes("w")){let a=X.current.startWidth-b;a>=m&&a<=o&&(e=a,g=X.current.startPosX+b)}if(d.includes("s")&&(f=Math.min(p,Math.max(n,X.current.startHeight+c))),d.includes("n")){let a=X.current.startHeight-c;a>=n&&a<=p&&(f=a,h=X.current.startPosY+c)}V.current.style.width=`${e}px`,V.current.style.height=`${f}px`,V.current.style.left=`${Math.max(0,g)}px`,V.current.style.top=`${Math.max(0,h)}px`}}},b=()=>{Z()},c=a=>{"Escape"===a.key&&Z()};return document.addEventListener("mousemove",a),document.addEventListener("mouseup",b),document.addEventListener("keydown",c),()=>{document.removeEventListener("mousemove",a),document.removeEventListener("mouseup",b),document.removeEventListener("keydown",c)}},[O,Q,Z,m,n,o,p]);let _="absolute z-20";return(0,d.jsx)("div",{ref:V,className:`absolute ${C}`,onClick:b=>{if(!(b.target.closest("button")||b.target.closest("input")||b.target.closest("a")||b.target.closest("textarea")||b.target.closest("select"))){if(O||Q)return void Z();z?.(a)}},style:{left:J.x,top:J.y,width:M.width,height:M.height,minWidth:m,minHeight:n,zIndex:O||Q?1e3:E,transform:"scale(1)",transition:"none",transformOrigin:"top left",willChange:O||Q?"left, top, width, height":"auto"},children:(0,d.jsxs)("div",{className:`bg-[var(--color-surface,#ffffff)] border ${H?H.accent:!I?({normal:"border-[var(--color-border-muted,#e5e5e5)]",alert:"border-[var(--color-warning,#ff4d00)]",success:"border-[var(--color-accent,#ccff00)]"})[D]:""} relative overflow-hidden h-full flex flex-col`,style:{borderColor:I?`${I}4D`:void 0,boxShadow:O||Q?"6px 6px 0 rgba(0,0,0,0.1)":"4px 4px 0 rgba(0,0,0,0.05)"},children:[(H||I)&&(0,d.jsx)("div",{className:`absolute top-0 left-0 right-0 h-1 ${H?H.band:""}`,style:I?{backgroundColor:I}:void 0}),(0,d.jsx)("div",{className:"absolute top-1 left-1 w-2 h-2 border-l border-t border-[var(--color-border,#d4d4d8)] opacity-50 pointer-events-none"}),(0,d.jsx)("div",{className:"absolute top-1 right-1 w-2 h-2 border-r border-t border-[var(--color-border,#d4d4d8)] opacity-50 pointer-events-none"}),(0,d.jsx)("div",{className:"absolute bottom-1 left-1 w-2 h-2 border-l border-b border-[var(--color-border,#d4d4d8)] opacity-50 pointer-events-none"}),(0,d.jsx)("div",{className:"absolute bottom-1 right-1 w-2 h-2 border-r border-b border-[var(--color-border,#d4d4d8)] opacity-50 pointer-events-none"}),(0,d.jsx)("div",{className:"absolute inset-0 opacity-[0.02] pointer-events-none bg-[radial-gradient(#000_1px,transparent_1px)] bg-[size:3px_3px]"}),q&&!S&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("div",{className:`${_} top-0 left-3 right-3 h-2 cursor-n-resize`,onMouseDown:a=>$(a,"n")}),(0,d.jsx)("div",{className:`${_} bottom-0 left-3 right-3 h-2 cursor-s-resize`,onMouseDown:a=>$(a,"s")}),(0,d.jsx)("div",{className:`${_} left-0 top-3 bottom-3 w-2 cursor-w-resize`,onMouseDown:a=>$(a,"w")}),(0,d.jsx)("div",{className:`${_} right-0 top-3 bottom-3 w-2 cursor-e-resize`,onMouseDown:a=>$(a,"e")}),(0,d.jsx)("div",{className:`${_} top-0 left-0 w-3 h-3 cursor-nw-resize`,onMouseDown:a=>$(a,"nw")}),(0,d.jsx)("div",{className:`${_} top-0 right-0 w-3 h-3 cursor-ne-resize`,onMouseDown:a=>$(a,"ne")}),(0,d.jsx)("div",{className:`${_} bottom-0 left-0 w-3 h-3 cursor-sw-resize`,onMouseDown:a=>$(a,"sw")}),(0,d.jsx)("div",{className:`${_} bottom-0 right-0 w-5 h-5 cursor-se-resize group/resize`,onMouseDown:a=>$(a,"se"),children:(0,d.jsxs)("svg",{className:"absolute bottom-1 right-1 w-2.5 h-2.5 text-[var(--color-border,#d4d4d8)] group-hover/resize:text-[var(--color-text-muted,#6b7280)] transition-colors",viewBox:"0 0 10 10",fill:"currentColor",children:[(0,d.jsx)("circle",{cx:"8.5",cy:"1.5",r:"1"}),(0,d.jsx)("circle",{cx:"8.5",cy:"5",r:"1"}),(0,d.jsx)("circle",{cx:"8.5",cy:"8.5",r:"1"}),(0,d.jsx)("circle",{cx:"5",cy:"5",r:"1"}),(0,d.jsx)("circle",{cx:"5",cy:"8.5",r:"1"}),(0,d.jsx)("circle",{cx:"1.5",cy:"8.5",r:"1"})]})})]}),(0,d.jsxs)("div",{className:`px-3 py-2 border-b border-[var(--color-border-muted,#e5e5e5)] flex items-center justify-between relative z-10 shrink-0 ${H||I?"pt-3":""} ${S?"cursor-default":O?"cursor-grabbing":"cursor-grab"}`,onMouseDown:b=>{!(b.target.closest("button")||b.target.closest("input"))&&(z?.(a),S||(b.preventDefault(),P(!0),W.current={startX:b.clientX,startY:b.clientY,startPosX:J.x,startPosY:J.y}))},children:[(0,d.jsxs)("div",{className:"flex items-center gap-2 min-w-0 flex-1",children:[!S&&(0,d.jsx)(an,{size:10,className:"text-[var(--color-text-faint,#9ca3af)] shrink-0"}),S&&(0,d.jsx)(l.A,{size:10,className:"text-[var(--color-text-faint,#9ca3af)] shrink-0"}),g&&(0,d.jsx)(g,{size:12,className:`shrink-0 ${H?H.text:"text-[var(--color-text-muted,#6b7280)]"}`,style:I?{color:I}:void 0}),(0,d.jsx)("span",{className:`font-mono text-[10px] font-bold tracking-widest uppercase select-none shrink-0 ${H?H.text:"text-[var(--color-text,#0a0a0a)]"}`,style:I?{color:I}:void 0,children:b}),c&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("span",{className:"text-[var(--color-text-faint,#9ca3af)] shrink-0",children:"\xb7"}),(0,d.jsx)("span",{className:"font-mono text-[9px] text-[var(--color-text-muted,#6b7280)] truncate",children:c}),f&&(0,d.jsx)("a",{href:f,target:"_blank",rel:"noopener noreferrer",className:"p-0.5 hover:bg-[var(--color-surface-alt,#fafafa)] rounded transition-colors shrink-0",title:"Open in new tab",onClick:a=>a.stopPropagation(),onMouseDown:a=>a.stopPropagation(),children:(0,d.jsx)(B.A,{size:9,className:"text-[var(--color-text-muted,#6b7280)]"})})]})]}),(0,d.jsxs)("div",{className:"flex items-center gap-1",children:[u&&(0,d.jsx)("button",{onClick:u,className:"p-1 hover:bg-[var(--color-surface-alt,#fafafa)] transition-colors",title:"Refresh app",children:(0,d.jsx)(w.A,{size:10,className:"text-[var(--color-text-muted,#6b7280)]"})}),(0,d.jsx)("button",{onClick:()=>{let b=!S;T(b),t?.(a,b)},className:"p-1 hover:bg-[var(--color-surface-alt,#fafafa)] transition-colors",title:S?"Unlock app":"Lock app",children:S?(0,d.jsx)(l.A,{size:10,className:"text-[var(--color-text,#0a0a0a)]"}):(0,d.jsx)(L.A,{size:10,className:"text-[var(--color-text-muted,#6b7280)]"})}),r&&(0,d.jsx)("button",{onClick:v,className:"p-1 hover:bg-[var(--color-surface-alt,#fafafa)] transition-colors",children:(0,d.jsx)(k.A,{size:10,className:"text-[var(--color-text-muted,#6b7280)]"})})]})]}),(0,d.jsx)("div",{className:"p-3 relative z-10 flex-1 min-h-0 overflow-auto",style:{pointerEvents:O||Q?"none":"auto"},children:A})]})})};c(96470),c(88011),c(1196),c(89971),c(14337),c(22234);var aq=c(64354),ar=c(97053),as=c(71287),at=c(37300),au=c(81100),av=c(44688);let aw=["wallet:create:hot","send:hot","swap","fund","action:create"],ax=["limits.fund","limits.send","limits.swap","swap.max_slippage","swap.min_slippage_admin","swap.min_slippage_agent","permissions.default"],ay={"limits.fund":"ETH","limits.send":"ETH","limits.swap":"ETH","swap.max_slippage":"%","swap.min_slippage_admin":"%","swap.min_slippage_agent":"%"},az={fast:"Fast",standard:"Standard",powerful:"Powerful"},aA={"claude-cli":null,"claude-api":"anthropic","codex-cli":null,"openai-api":"openai"},aB={anthropic:"Anthropic",openai:"OpenAI"};function aC(){let[a,b]=(0,e.useState)(null),[c,f]=(0,e.useState)(!0),[g,h]=(0,e.useState)(null),[i,j]=(0,e.useState)(!1),[l,o]=(0,e.useState)(null),[p,q]=(0,e.useState)("claude-cli"),[s,t]=(0,e.useState)(!1),[u,v]=(0,e.useState)(""),[y,z]=(0,e.useState)(!1),[A,B]=(0,e.useState)(null),[C,D]=(0,e.useState)(!1),E=(0,e.useCallback)(async()=>{f(!0),h(null);try{let a=await S.FH.get(S.jI.Wallet,"/ai/status");b(a),q(a.activeProvider)}catch(a){h(a instanceof Error?a.message:"Failed to load AI status")}finally{f(!1)}},[]),F=a?.providers.find(a=>a.mode===p),G=aA[p],H=G&&!F?.available,I=async()=>{j(!0),h(null),o(null);try{await S.FH.patch(S.jI.Wallet,`/defaults/${encodeURIComponent("ai.provider")}`,{value:p}),o("AI settings saved"),await E()}catch(a){h(a instanceof Error?a.message:"Failed to save AI settings")}finally{j(!1)}},J=async()=>{j(!0),h(null),o(null);try{await S.FH.post(S.jI.Wallet,"/defaults/reset",{key:"ai.provider"}),o("AI settings reset to defaults"),await E()}catch(a){h(a instanceof Error?a.message:"Failed to reset AI settings")}finally{j(!1)}},K=async()=>{if(G&&u.trim()){z(!0),B(null),D(!1);try{let a=await S.FH.post(S.jI.Wallet,"/apikeys/validate",{service:G,key:u.trim()});a.valid?(await S.FH.post(S.jI.Wallet,"/apikeys",{service:G,name:"default",key:u.trim()}),D(!0),v(""),t(!1),await E()):B(a.error||"Invalid API key")}catch(a){B(a instanceof Error?a.message:"Validation failed")}finally{z(!1)}}};return c?(0,d.jsxs)("div",{className:"p-2 space-y-2",style:{border:"1px solid var(--color-border)",background:"var(--color-surface)"},children:[(0,d.jsx)("div",{className:"font-mono text-[10px] tracking-widest",style:{color:"var(--color-text-muted)"},children:"AI ENGINE"}),(0,d.jsx)("div",{className:"py-4 flex items-center justify-center",children:(0,d.jsx)(m.A,{size:14,className:"animate-spin",style:{color:"var(--color-text-muted)"}})})]}):(0,d.jsxs)("div",{className:"p-2 space-y-2",style:{border:"1px solid var(--color-border)",background:"var(--color-surface)"},children:[(0,d.jsxs)("div",{children:[(0,d.jsx)("div",{className:"font-mono text-[10px] tracking-widest",style:{color:"var(--color-text-muted)"},children:"AI ENGINE"}),(0,d.jsx)("div",{className:"font-mono text-[8px]",style:{color:"var(--color-text-muted)"},children:"Select AI provider and default model for hooks and strategies."})]}),g&&(0,d.jsx)("div",{className:"p-1.5 font-mono text-[9px]",style:{border:"1px solid var(--color-warning)",color:"var(--color-warning)"},children:g}),l&&(0,d.jsx)("div",{className:"p-1.5 font-mono text-[9px]",style:{border:"1px solid var(--color-success)",color:"var(--color-success)"},children:l}),(0,d.jsxs)("div",{className:"space-y-1",children:[(0,d.jsx)("div",{className:"font-mono text-[9px] font-bold",style:{color:"var(--color-text)"},children:"Provider"}),a?.providers.map(a=>(0,d.jsxs)("label",{className:"flex items-center gap-2 cursor-pointer py-1 px-1.5",style:{border:p===a.mode?"1px solid var(--color-accent, #ccff00)":"1px solid transparent",background:p===a.mode?"var(--color-background-alt, #f4f4f5)":"transparent"},children:[(0,d.jsx)("input",{type:"radio",name:"ai-provider",value:a.mode,checked:p===a.mode,onChange:()=>{q(a.mode),t(!1),v(""),B(null),D(!1)},className:"accent-[var(--color-accent,#ccff00)]"}),(0,d.jsx)("span",{className:"font-mono text-[9px] flex-1",style:{color:"var(--color-text)"},children:a.label}),a.available?(0,d.jsx)(r.A,{size:10,style:{color:"var(--color-success, #22c55e)"}}):(0,d.jsx)(k.A,{size:10,style:{color:"var(--color-text-muted)"}}),(0,d.jsx)("span",{className:"font-mono text-[8px]",style:{color:"var(--color-text-muted)"},children:a.available?"":a.reason})]},a.mode))]}),H&&G&&(0,d.jsxs)("div",{className:"space-y-1.5",children:[(0,d.jsxs)("div",{className:"p-1.5 font-mono text-[9px] flex items-center gap-1.5",style:{border:"1px solid var(--color-warning)",color:"var(--color-warning)"},children:["No ",aB[G]||G," API key configured.",!s&&(0,d.jsx)("button",{onClick:()=>t(!0),className:"font-bold underline ml-1",style:{color:"var(--color-warning)"},children:"Add API Key"})]}),s&&(0,d.jsxs)("div",{className:"flex items-end gap-1.5",children:[(0,d.jsx)("div",{className:"flex-1",children:(0,d.jsx)(x.ks,{label:`${aB[G]||G} API Key`,compact:!0,value:u,onChange:a=>{v(a.target.value),B(null)},rightElement:(0,d.jsx)(n.A,{size:10,style:{color:"var(--color-text-muted)"}})})}),(0,d.jsx)(x.$n,{size:"sm",onClick:()=>void K(),loading:y,disabled:!u.trim(),children:"VALIDATE"})]}),A&&(0,d.jsx)("div",{className:"font-mono text-[8px]",style:{color:"var(--color-warning)"},children:A}),C&&(0,d.jsx)("div",{className:"font-mono text-[8px]",style:{color:"var(--color-success)"},children:"API key saved successfully"})]}),a?.tiers&&(0,d.jsxs)("div",{className:"space-y-0.5",children:[(0,d.jsx)("div",{className:"font-mono text-[9px]",style:{color:"var(--color-text-muted)"},children:"Model Tiers (auto-selected by permissions):"}),["fast","standard","powerful"].map(b=>(0,d.jsxs)("div",{className:"flex items-center gap-2 pl-1",children:[(0,d.jsxs)("span",{className:"font-mono text-[8px] w-14",style:{color:"var(--color-text-muted)"},children:[az[b],":"]}),(0,d.jsx)("span",{className:"font-mono text-[9px] font-bold",style:{color:"var(--color-text)"},children:a.tiers[b]})]},b))]}),(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)(x.$n,{size:"sm",onClick:()=>void I(),loading:i,icon:(0,d.jsx)(au.A,{size:11}),children:"SAVE"}),(0,d.jsx)(x.$n,{size:"sm",variant:"secondary",onClick:()=>void J(),disabled:i,icon:(0,d.jsx)(w.A,{size:11}),children:"RESET"})]})]})}let aD={telegram:["botToken"]};function aE(){let[a,b]=(0,e.useState)([]),[c,f]=(0,e.useState)(!1),[g,h]=(0,e.useState)(!0),[i,j]=(0,e.useState)(null),[k,l]=(0,e.useState)(null),[n,o]=(0,e.useState)(null),[p,q]=(0,e.useState)(""),[,r]=(0,e.useState)(""),[s,t]=(0,e.useState)(""),u=(0,e.useRef)(null),v=(0,e.useCallback)(async()=>{h(!0),j(null);try{let a=await S.FH.get(S.jI.Wallet,"/adapters");b(a.adapters||[]),f(a.running)}catch(a){j(a instanceof Error?a.message:"Failed to load adapters")}finally{h(!1)}},[]),w=async a=>{o(a.type),j(null);try{let b=await S.FH.post(S.jI.Wallet,"/adapters/telegram/setup-link",{});if(!b.success){j(b.error||"Failed to generate setup link"),o(null);return}q(b.link),r(b.setupToken),t(b.botUsername);let c=new AbortController;u.current=c;for(let d=0;d<2;d++){if(c.signal.aborted)return;try{let d=await S.FH.post(S.jI.Wallet,"/adapters/telegram/detect-chat",{setupToken:b.setupToken});if(c.signal.aborted)return;if(d.chatId){await S.FH.post(S.jI.Wallet,"/adapters",{type:a.type,enabled:a.enabled,config:{...a.config,chatId:d.chatId},chat:{enabled:!0}}),await S.FH.post(S.jI.Wallet,"/adapters/restart");try{await S.FH.post(S.jI.Wallet,"/adapters/test",{type:a.type})}catch{}o(null),q(""),await v();return}}catch{if(c.signal.aborted)return;break}}c.signal.aborted||(j("Auto-detection timed out. Re-configure Telegram in the Setup Wizard to set your chat ID."),o(null),q(""))}catch(a){j(a instanceof Error?a.message:"Failed to start detection"),o(null)}},y=async a=>{let b=!a.chat?.enabled;if(b&&"telegram"===a.type&&!a.config?.chatId)return void await w(a);l(a.type),j(null);try{if(await S.FH.post(S.jI.Wallet,"/adapters",{type:a.type,enabled:a.enabled,config:a.config,chat:{enabled:b}}),await S.FH.post(S.jI.Wallet,"/adapters/restart"),b)try{await S.FH.post(S.jI.Wallet,"/adapters/test",{type:a.type})}catch{}await v()}catch(a){j(a instanceof Error?a.message:"Failed to toggle chat")}finally{l(null)}};if(g)return(0,d.jsxs)("div",{className:"p-2 space-y-2",style:{border:"1px solid var(--color-border)",background:"var(--color-surface)"},children:[(0,d.jsxs)("div",{className:"font-mono text-[10px] tracking-widest flex items-center gap-1",style:{color:"var(--color-text-muted)"},children:[(0,d.jsx)(av.A,{size:10}),"ADAPTER CHAT"]}),(0,d.jsx)("div",{className:"py-3 flex items-center justify-center",children:(0,d.jsx)(m.A,{size:14,className:"animate-spin",style:{color:"var(--color-text-muted)"}})})]});let z=a.filter(a=>a.enabled),A=z.some(a=>a.chat?.enabled===!0);return(0,d.jsxs)("div",{className:"p-2 space-y-2",style:{border:"1px solid var(--color-border)",background:"var(--color-surface)"},children:[(0,d.jsxs)("div",{children:[(0,d.jsxs)("div",{className:"font-mono text-[10px] tracking-widest flex items-center gap-1",style:{color:"var(--color-text-muted)"},children:[(0,d.jsx)(av.A,{size:10}),"ADAPTER CHAT"]}),(0,d.jsx)("div",{className:"font-mono text-[8px]",style:{color:"var(--color-text-muted)"},children:"Allow AI to respond to messages via external adapters."})]}),i&&(0,d.jsx)("div",{className:"p-1.5 font-mono text-[9px]",style:{border:"1px solid var(--color-warning)",color:"var(--color-warning)"},children:i}),n&&p&&(0,d.jsxs)("div",{className:"p-2 space-y-2",style:{border:"1px solid var(--color-accent)",background:"var(--color-background-alt)"},children:[(0,d.jsxs)(x.$n,{variant:"secondary",size:"sm",icon:(0,d.jsx)(B.A,{size:10}),onClick:()=>window.open(p,"_blank"),children:["Open @",s," in Telegram"]}),(0,d.jsx)("div",{className:"font-mono text-[8px]",style:{color:"var(--color-text-faint)"},children:"Click the link above, then press Start in Telegram to detect your chat ID."}),(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)(m.A,{size:12,className:"animate-spin",style:{color:"var(--color-info)"}}),(0,d.jsx)("span",{className:"font-mono text-[9px]",style:{color:"var(--color-text-muted)"},children:"Waiting for you to press Start..."})]}),(0,d.jsx)("button",{onClick:()=>{u.current?.abort(),o(null),q("")},className:"font-mono text-[8px] underline",style:{color:"var(--color-text-muted)"},children:"Cancel"})]}),!c&&A&&(0,d.jsx)("div",{className:"p-1.5 font-mono text-[8px]",style:{border:"1px solid var(--color-warning)",color:"var(--color-warning)"},children:"Router not running. Restart the server or toggle an adapter to start it."}),0===z.length?(0,d.jsx)("div",{className:"py-3 text-center font-mono text-[9px]",style:{color:"var(--color-text-muted)"},children:"No adapters configured. Add one via the API or CLI."}):(0,d.jsx)("div",{className:"space-y-1",children:z.map(a=>{let b=a.chat?.enabled===!0,c=k===a.type,e=(a=>{let b=aD[a.type];return!!b&&b.some(b=>!a.secretKeys.includes(b))})(a);return(0,d.jsxs)("div",{children:[(0,d.jsxs)("div",{className:"flex items-center justify-between py-1.5 px-2",style:{border:"1px solid var(--color-border)",background:"var(--color-background-alt)"},children:[(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)("span",{className:"font-mono text-[10px] font-bold uppercase",style:{color:"var(--color-text)"},children:a.type}),(0,d.jsx)("span",{className:"font-mono text-[8px] px-1 py-0.5 rounded",style:{background:b?"color-mix(in srgb, var(--color-success) 20%, transparent)":"color-mix(in srgb, var(--color-text-muted) 20%, transparent)",color:b?"var(--color-success)":"var(--color-text-muted)"},children:b?"CHAT ON":"CHAT OFF"})]}),(0,d.jsx)("button",{onClick:()=>void y(a),disabled:c||e,className:"relative w-8 h-4 rounded-full transition-colors cursor-pointer disabled:opacity-50 disabled:cursor-not-allowed",style:{background:b?"var(--color-success, #22c55e)":"var(--color-border, #d4d4d8)"},children:(0,d.jsx)("div",{className:"absolute top-0.5 w-3 h-3 rounded-full transition-all",style:{left:b?"17px":"2px",background:"var(--color-surface, #ffffff)"}})})]}),e&&(0,d.jsxs)("div",{className:"px-2 py-1 font-mono text-[8px]",style:{color:"var(--color-warning)"},children:["Missing bot token. Add it in API Keys (service: adapter:",a.type,", name: botToken)."]})]},a.type)})})]})}function aF(){let[a,b]=(0,e.useState)(!0),[c,f]=(0,e.useState)(null),[g,h]=(0,e.useState)(null),[i,j]=(0,e.useState)(null),[k,l]=(0,e.useState)({}),[n,o]=(0,e.useState)({}),[p,q]=(0,e.useState)([]),r=(0,e.useCallback)(async()=>{b(!0),h(null);try{let b=await S.FH.get(S.jI.Wallet,"/defaults"),c=Object.values(b.defaults||{}).flat(),d={};for(let a of c)d[a.key]=a;l(d);let e={};for(let b of ax)if("permissions.default"!==b){var a;e[b]=(a=d[b]?.value,"number"==typeof a?String(a):"string"==typeof a?a:"")}o(e);let f=d["permissions.default"]?.value;q(Array.isArray(f)?f.filter(a=>"string"==typeof a):[])}catch(a){h(a instanceof Error?a.message:"Failed to load defaults")}finally{b(!1)}},[]),s=(0,e.useMemo)(()=>ax.map(a=>k[a]).filter(Boolean),[k]),t=async a=>{let b=Number(n[a]);if(Number.isNaN(b))return void h(`${a} must be a number`);f(a),h(null),j(null);try{await S.FH.patch(S.jI.Wallet,`/defaults/${encodeURIComponent(a)}`,{value:b}),j(`Saved ${a}`),await r()}catch(b){h(b instanceof Error?b.message:`Failed to save ${a}`)}finally{f(null)}},u=async()=>{let a="permissions.default";f(a),h(null),j(null);try{await S.FH.patch(S.jI.Wallet,`/defaults/${encodeURIComponent(a)}`,{value:p}),j("Saved permissions.default"),await r()}catch(a){h(a instanceof Error?a.message:"Failed to save permissions.default")}finally{f(null)}},v=async a=>{f(a),h(null),j(null);try{await S.FH.post(S.jI.Wallet,"/defaults/reset",{key:a}),j(`Reset ${a}`),await r()}catch(b){h(b instanceof Error?b.message:`Failed to reset ${a}`)}finally{f(null)}};return a?(0,d.jsx)("div",{className:"py-8 flex items-center justify-center",children:(0,d.jsx)(m.A,{size:20,className:"animate-spin",style:{color:"var(--color-text-muted)"}})}):(0,d.jsxs)("div",{className:"space-y-3 p-2",children:[(0,d.jsxs)("div",{children:[(0,d.jsx)("div",{className:"font-mono text-[10px] tracking-widest",style:{color:"var(--color-text-muted)"},children:"SYSTEM DEFAULTS"}),(0,d.jsx)("div",{className:"font-mono text-[9px]",style:{color:"var(--color-text-muted)"},children:"Edit baseline limits and permissions for new agent actions."})]}),g&&(0,d.jsx)("div",{className:"p-2 font-mono text-[9px]",style:{border:"1px solid var(--color-warning)",color:"var(--color-warning)",background:"var(--color-surface)"},children:g}),i&&(0,d.jsx)("div",{className:"p-2 font-mono text-[9px]",style:{border:"1px solid var(--color-success)",color:"var(--color-success)",background:"var(--color-surface)"},children:i}),(0,d.jsx)(aC,{}),s.filter(a=>"permissions.default"!==a.key).map(a=>(0,d.jsxs)("div",{className:"p-2 space-y-2",style:{border:"1px solid var(--color-border)",background:"var(--color-surface)"},children:[(0,d.jsxs)("div",{children:[(0,d.jsx)("div",{className:"font-mono text-[10px]",style:{color:"var(--color-text)"},children:a.label}),(0,d.jsx)("div",{className:"font-mono text-[8px]",style:{color:"var(--color-text-muted)"},children:a.description||a.key})]}),(0,d.jsxs)("div",{className:"flex items-end gap-2",children:[(0,d.jsx)(x.ks,{label:a.key,compact:!0,value:n[a.key]??"",onChange:b=>o(c=>({...c,[a.key]:b.target.value})),rightElement:ay[a.key]?(0,d.jsx)("span",{className:"font-mono text-[8px] text-[var(--color-text-muted)]",children:ay[a.key]}):void 0}),(0,d.jsx)(x.$n,{size:"sm",onClick:()=>void t(a.key),loading:c===a.key,icon:(0,d.jsx)(au.A,{size:11}),children:"SAVE"}),(0,d.jsx)(x.$n,{size:"sm",variant:"secondary",onClick:()=>void v(a.key),disabled:c===a.key,icon:(0,d.jsx)(w.A,{size:11}),children:"RESET"})]})]},a.key)),k["permissions.default"]&&(0,d.jsxs)("div",{className:"p-2 space-y-2",style:{border:"1px solid var(--color-border)",background:"var(--color-surface)"},children:[(0,d.jsxs)("div",{children:[(0,d.jsx)("div",{className:"font-mono text-[10px]",style:{color:"var(--color-text)"},children:k["permissions.default"].label}),(0,d.jsx)("div",{className:"font-mono text-[8px]",style:{color:"var(--color-text-muted)"},children:k["permissions.default"].description||"permissions.default"})]}),(0,d.jsx)("div",{className:"grid grid-cols-2 gap-2",children:aw.map(a=>{let b=p.includes(a);return(0,d.jsxs)("label",{className:"flex items-center gap-2 cursor-pointer font-mono text-[9px]",style:{color:"var(--color-text)"},children:[(0,d.jsx)("input",{type:"checkbox",checked:b,onChange:b=>{q(c=>b.target.checked?Array.from(new Set([...c,a])):c.filter(b=>b!==a))}}),a]},a)})}),(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)(x.$n,{size:"sm",onClick:()=>void u(),loading:"permissions.default"===c,icon:(0,d.jsx)(au.A,{size:11}),children:"SAVE"}),(0,d.jsx)(x.$n,{size:"sm",variant:"secondary",onClick:()=>void v("permissions.default"),disabled:"permissions.default"===c,icon:(0,d.jsx)(w.A,{size:11}),children:"RESET"})]})]}),(0,d.jsx)(aE,{})]})}c(2761);let aG={base:{chainId:8453,alchemyPath:"base-mainnet",explorer:"https://basescan.org"},ethereum:{chainId:1,alchemyPath:"eth-mainnet",explorer:"https://etherscan.io"},arbitrum:{chainId:42161,alchemyPath:"arb-mainnet",explorer:"https://arbiscan.io"},optimism:{chainId:10,alchemyPath:"opt-mainnet",explorer:"https://optimistic.etherscan.io"},polygon:{chainId:137,alchemyPath:"polygon-mainnet",explorer:"https://polygonscan.com"},zksync:{chainId:324,alchemyPath:"zksync-mainnet",explorer:"https://explorer.zksync.io"}};function aH(){let{token:a,apiKeys:b,apiKeysLoading:c,refreshApiKeys:g,getApiKey:o,chainOverrides:p,saveChainOverride:q,removeChainOverride:r,getConfiguredChains:s}=(0,Q.A)(),{subscribe:t}=(0,R.h)(),[u,v]=(0,e.useState)(null),[w,y]=(0,e.useState)(!0),[z,A]=(0,e.useState)(""),B=f().useRef(null),[C,D]=(0,e.useState)(!1),[E,F]=(0,e.useState)("main"),[G,H]=(0,e.useState)(!1),I=f().useCallback(a=>{let b=a.trim()||"Something went wrong",c=Date.now(),d=B.current;d&&d.message===b&&c-d.at<3e3||(B.current={message:b,at:c},A(b))},[]),{requests:J,notifications:K,dismissNotification:L,resolveAction:M,actionLoading:N}=(0,aq.S)({autoFetch:!!a}),[O,P]=(0,e.useState)(null),[T,U]=(0,e.useState)(null),[V,X]=(0,e.useState)(!1),[Y,Z]=(0,e.useState)(!1),[$,_]=(0,e.useState)(!1),[aa,ac]=(0,e.useState)(""),[ad,ae]=(0,e.useState)(null),[af,ah]=(0,e.useState)(!1),[ak,al]=(0,e.useState)(""),[an,ao]=(0,e.useState)(!1),[ap,au]=(0,e.useState)(null),[av,aw]=(0,e.useState)(!1),[ax,ay]=(0,e.useState)(""),[az,aA]=(0,e.useState)(""),[aB,aC]=(0,e.useState)(""),[aD,aE]=(0,e.useState)(!1),[aF,aH]=(0,e.useState)({}),[aJ,aM]=(0,e.useState)(null),[aN,aO]=(0,e.useState)(""),[aP]=(0,e.useState)(!1),[aQ,aR]=(0,e.useState)(!1),[aS,aT]=(0,e.useState)(null),[aU,aV]=(0,e.useState)({name:"",chainId:"",rpc:"",explorer:"",nativeCurrency:"ETH"}),[aW,aX]=(0,e.useState)(!1),[aY,aZ]=(0,e.useState)(null),[a$,a_]=(0,e.useState)({service:"",name:"",key:""}),[a0,a1]=(0,e.useState)(!1),[a2,a3]=(0,e.useState)(null),[a4,a5]=(0,e.useState)(!1),[a6,a7]=(0,e.useState)(null),[a8,a9]=(0,e.useState)(!1),[ba,bb]=(0,e.useState)([]),[bc,bd]=(0,e.useState)(!1),[be,bf]=(0,e.useState)(!1),[bg,bh]=(0,e.useState)(null),{workspaces:bi,activeWorkspaceId:bj,apps:bk,loading:bl,createWorkspace:bm,deleteWorkspace:bn,updateWorkspace:bo,switchWorkspace:bp,addApp:bq,removeApp:br,updateApp:bs,bringToFront:bt,tidyApps:bu}=(0,at.h)(),bv=bi.map(a=>({id:a.id,label:a.name,icon:"Home"===a.icon?h:void 0,emoji:a.emoji,color:a.color,closeable:a.isCloseable,isDefault:a.isDefault})),bw=async(a=10)=>{for(let b=0;b<a;b++)try{let a=new AbortController,b=setTimeout(()=>a.abort(),5e3),c=await S.FH.get(S.jI.Wallet,"/setup",void 0,{signal:a.signal});clearTimeout(b);let d=c.hasWallet,e=c.unlocked;if(!d){v({configured:!1,isUnlocked:!1,wallets:[]}),y(!1);return}if(!e){v({configured:!0,isUnlocked:!1,wallets:[]}),y(!1);return}let f=await S.FH.get(S.jI.Wallet,"/wallets",{includeHidden:!0});if(v({configured:!0,isUnlocked:!0,wallets:f.wallets||[]}),f.wallets?.length>0&&!aa){let a=f.wallets.find(a=>"hot"===a.tier);a&&ac(a.address)}y(!1);return}catch{b<a-1&&await new Promise(a=>setTimeout(a,2e3))}I("Failed to connect to wallet server"),y(!1)},bx=async a=>{a.preventDefault(),A(""),ao(!0);try{let a=await S.FH.post(S.jI.Wallet,"/wallet/export-seed",{password:ak});if(!a.success)throw Error(a.error);au(a.mnemonic??null),al("")}catch(a){A(a instanceof Error?a.message:"Export failed")}finally{ao(!1)}},by=async()=>{if(!$)return void _(!0);Z(!0);try{let a=await S.FH.post(S.jI.Wallet,"/nuke");if(!a.success)throw Error(a.error);v(null),U(null),_(!1),window.location.reload()}catch(a){A(a instanceof Error?a.message:"Nuke failed")}finally{Z(!1)}},bz=async a=>{if(a.preventDefault(),az!==aB)return void A("Passwords do not match");if(az.length<8)return void A("Password must be at least 8 characters");if(!ax.trim())return void A("Please enter a seed phrase");aE(!0);try{let a=await S.FH.post(S.jI.Wallet,"/nuke/import",{mnemonic:ax.trim(),password:az});if(!a.success&&a.error)throw Error(a.error);aw(!1),ay(""),aA(""),aC(""),window.location.reload()}catch(a){A(a instanceof Error?a.message:"Import failed")}finally{aE(!1)}},bA=async a=>{try{await r(a)}catch{A("Failed to remove chain")}},bB=async()=>{if(!a$.service||!a$.name||!a$.key)return void A("Service, name, and key are required");a1(!0);try{let a=await S.FH.post(S.jI.Wallet,"/apikeys",{service:a$.service.toLowerCase(),name:a$.name,key:a$.key});a.success?(await g(),a_({service:"",name:"",key:""}),aX(!1)):I(a.error||"Failed to save API key")}catch(a){A(a instanceof Error?a.message:"Failed to save API key")}finally{a1(!1)}},bC=async a=>{a3(a);try{let b=await S.FH.delete(S.jI.Wallet,`/apikeys/${a}`);b.success?await g():I(b.error||"Failed to delete API key")}catch(a){A(a instanceof Error?a.message:"Failed to delete API key")}finally{a3(null)}},bD=()=>{a5(!1),a7(null)},bE=async()=>{a9(!0);try{let a=await S.FH.delete(S.jI.Wallet,"/apikeys/revoke-all");if(!a.success)return void I(a.error||"Failed to revoke all API keys");await g(),bD()}catch(a){A(a instanceof Error?a.message:"Failed to revoke all API keys")}finally{a9(!1)}},bF=async a=>{try{let b=await S.FH.post(S.jI.Wallet,"/apikeys",{service:"alchemy",name:"default",key:a});if(b.success)return await g(),!0;return I(b.error||"Failed to save Alchemy key"),!1}catch(a){return A(a instanceof Error?a.message:"Failed to save Alchemy key"),!1}},bG=async()=>{let a=aU.name.toLowerCase().trim();if(!a||!aU.chainId)return void A("Chain name and chain ID are required");let b=parseInt(aU.chainId,10),c=aG[a],d=aU.explorer||c?.explorer||"",e=aU.rpc.trim();if(!e){let a=o("alchemy");if(!(a&&c?.alchemyPath))return void A("RPC URL is required (or add Alchemy key for known chains)");e=`https://${c.alchemyPath}.g.alchemy.com/v2/${a}`}try{await q(a,{rpc:e,chainId:b,explorer:d}),aV({name:"",chainId:"",rpc:"",explorer:"",nativeCurrency:"ETH"}),aR(!1)}catch{A("Failed to add chain")}},bH=async(a,b)=>{if(!b)return void A("RPC URL is required");try{let c=aF[a];await q(a,{rpc:b,chainId:c?.chainId||0,explorer:c?.explorer||""}),aM(null),aO("")}catch{A("Failed to save RPC override")}},bI=async()=>{if(!a)return void bb([]);bd(!0);try{let a=await S.FH.get(S.jI.Wallet,"/backup");a.success&&bb(a.backups)}catch(a){console.error("Failed to fetch backups:",a),bb([])}finally{bd(!1)}},bJ=async()=>{bf(!0);try{let a=await S.FH.post(S.jI.Wallet,"/backup");a.success?await bI():I(a.error||"Failed to create backup")}catch(a){A(a instanceof Error?a.message:"Failed to create backup")}finally{bf(!1)}},bK=async a=>{bh(a);try{let b=await S.FH.put(S.jI.Wallet,"/backup",{filename:a});b.success?window.location.reload():I(b.error||"Failed to restore backup")}catch(a){A(a instanceof Error?a.message:"Failed to restore backup")}finally{bh(null)}},[bL,bM]=(0,e.useState)(!1),bN=async()=>{bM(!0);try{let b=S.FH.getBaseUrl(S.jI.Wallet),c=await fetch(`${b}/backup/export`,{headers:{Authorization:`Bearer ${a||""}`}});if(!c.ok){let a=await c.json().catch(()=>({error:"Export failed"}));I(a.error||"Export failed");return}let d=await c.blob(),e=(c.headers.get("Content-Disposition")||"").match(/filename="?([^"]+)"?/),f=e?e[1]:"auramaxx-export.db",g=URL.createObjectURL(d),h=document.createElement("a");h.href=g,h.download=f,document.body.appendChild(h),h.click(),document.body.removeChild(h),URL.revokeObjectURL(g)}catch(a){I(a instanceof Error?a.message:"Export failed")}finally{bM(!1)}},bO=(a,b)=>{bs(a,{x:b.x,y:b.y})},bP=(a,b)=>{bs(a,{isLocked:b})},bQ=(a,b)=>{bs(a,{width:b.width,height:b.height})},bR=a=>{bt(a)},bS=a=>{br(a)},bT=(a,b)=>{let c=bk.find(b=>b.appType===a);c?bt(c.id):bq(a,void 0,b)};if(w)return(0,d.jsxs)("div",{className:"min-h-screen flex items-center justify-center bg-[var(--color-background,#f5f5f5)] relative",children:[(0,d.jsx)("div",{className:"fixed inset-0 pointer-events-none z-0 overflow-hidden",children:(0,d.jsx)("div",{className:"absolute inset-0 bg-[linear-gradient(to_right,var(--color-border-muted,#e5e5e5)_1px,transparent_1px),linear-gradient(to_bottom,var(--color-border-muted,#e5e5e5)_1px,transparent_1px)] bg-[size:4rem_4rem] opacity-30"})}),(0,d.jsx)("div",{className:"font-mono text-sm text-[var(--color-text-muted,#6b7280)] animate-pulse relative z-10",children:"INITIALIZING SYSTEM..."})]});if(ad&&!af)return(0,d.jsxs)("div",{className:"min-h-screen flex items-center justify-center p-4 bg-[var(--color-background,#f5f5f5)] relative",children:[(0,d.jsx)("div",{className:"fixed inset-0 pointer-events-none z-0 overflow-hidden",children:(0,d.jsx)("div",{className:"absolute inset-0 bg-[linear-gradient(to_right,var(--color-border-muted,#e5e5e5)_1px,transparent_1px),linear-gradient(to_bottom,var(--color-border-muted,#e5e5e5)_1px,transparent_1px)] bg-[size:4rem_4rem] opacity-30"})}),(0,d.jsxs)("div",{className:"w-full max-w-md bg-[var(--color-surface,#ffffff)] border border-[var(--color-border,#d4d4d8)] relative z-10",children:[(0,d.jsx)("div",{className:"absolute top-2 left-2 w-4 h-4 border-l-2 border-t-2 border-[var(--color-border-focus,#0a0a0a)]"}),(0,d.jsx)("div",{className:"absolute top-2 right-2 w-4 h-4 border-r-2 border-t-2 border-[var(--color-border-focus,#0a0a0a)]"}),(0,d.jsx)("div",{className:"absolute bottom-2 left-2 w-4 h-4 border-l-2 border-b-2 border-[var(--color-border-focus,#0a0a0a)]"}),(0,d.jsx)("div",{className:"absolute bottom-2 right-2 w-4 h-4 border-r-2 border-b-2 border-[var(--color-border-focus,#0a0a0a)]"}),(0,d.jsx)("div",{className:"absolute inset-0 opacity-[0.02] pointer-events-none bg-[radial-gradient(var(--color-text,#000)_1px,transparent_1px)] bg-[size:4px_4px]"}),(0,d.jsxs)("div",{className:"p-8 relative z-10",children:[(0,d.jsxs)("div",{className:"flex items-center gap-3 mb-6",children:[(0,d.jsx)("div",{className:"w-10 h-10 bg-[var(--color-warning,#ff4d00)] flex items-center justify-center",children:(0,d.jsx)(i.A,{size:16,className:"text-white"})}),(0,d.jsxs)("div",{children:[(0,d.jsx)("div",{className:"font-mono text-[10px] text-[var(--color-warning,#ff4d00)] tracking-widest",children:"CRITICAL"}),(0,d.jsx)("div",{className:"font-black text-xl text-[var(--color-text,#0a0a0a)] tracking-tight",children:"BACKUP SEED PHRASE"})]})]}),(0,d.jsx)("div",{className:"mb-4 p-3 bg-[var(--color-warning,#ff4d00)]/10 border border-[var(--color-warning,#ff4d00)]/30",children:(0,d.jsx)("div",{className:"font-mono text-[10px] text-[var(--color-warning,#ff4d00)] leading-relaxed",children:"Write this down and store it safely. This is the ONLY way to recover your wallets. It will NOT be shown again."})}),(0,d.jsxs)("div",{className:"mb-6 p-4 bg-[var(--color-text,#0a0a0a)] border-2 border-[var(--color-border-focus,#0a0a0a)] relative",children:[(0,d.jsx)("button",{onClick:()=>{navigator.clipboard.writeText(ad),P("seed"),setTimeout(()=>P(null),2e3)},className:"absolute top-2 right-2 p-1.5 bg-[var(--color-text,#0a0a0a)]/80 hover:bg-[var(--color-text,#0a0a0a)]/70 transition-colors",children:(0,d.jsx)(j.A,{size:12,className:"seed"===O?"text-[var(--color-accent,#ccff00)]":"text-[var(--color-text-muted,#6b7280)]"})}),(0,d.jsx)("div",{className:"font-mono text-sm text-[var(--color-accent,#ccff00)] leading-relaxed break-words select-all",children:ad})]}),(0,d.jsxs)("div",{className:"space-y-3",children:[(0,d.jsxs)("label",{className:"flex items-start gap-3 cursor-pointer group",children:[(0,d.jsx)("input",{type:"checkbox",checked:af,onChange:a=>ah(a.target.checked),className:"mt-1 w-4 h-4 accent-[var(--color-accent,#ccff00)]"}),(0,d.jsx)("span",{className:"font-mono text-[10px] text-[var(--color-text-muted,#6b7280)] leading-relaxed group-hover:text-[var(--color-text,#0a0a0a)]",children:"I have saved my seed phrase in a secure location."})]}),(0,d.jsx)("button",{onClick:()=>{ae(null),bw()},disabled:!af,className:"w-full h-14 bg-[var(--color-text,#0a0a0a)] text-white relative overflow-hidden disabled:opacity-30 disabled:cursor-not-allowed group",children:(0,d.jsx)("span",{className:"relative z-10 font-mono font-bold text-xs uppercase tracking-[0.15em] group-hover:text-[var(--color-accent,#ccff00)] transition-colors",children:"CONTINUE"})})]})]})]})]});let bU=u?.wallets.filter(a=>"cold"===a.tier)||[],bV=u?.configured&&!u?.isUnlocked,bW=u?.configured??!1;return(0,d.jsxs)("div",{className:"h-screen flex bg-[var(--color-background,#f5f5f5)] overflow-hidden",children:[C&&(0,d.jsx)(ai,{views:aj,activeViewId:E,onSelectView:F,onCreateView:()=>H(!0)}),C&&(0,d.jsx)(am,{open:G,onClose:()=>H(!1),onSelect:a=>F(a.id)}),(0,d.jsxs)("div",{className:"fixed inset-0 pointer-events-none z-0 overflow-hidden",children:[(0,d.jsx)("div",{className:"absolute inset-0 bg-[linear-gradient(to_right,var(--color-border-muted,#e5e5e5)_1px,transparent_1px),linear-gradient(to_bottom,var(--color-border-muted,#e5e5e5)_1px,transparent_1px)] bg-[size:4rem_4rem] opacity-30"}),(0,d.jsx)("div",{className:"absolute inset-0 tyvek-texture opacity-40 mix-blend-multiply"}),(0,d.jsx)("div",{className:"absolute top-[5%] left-[30%] opacity-[0.03] select-none",children:(0,d.jsx)("div",{className:"text-[15vw] font-black leading-none text-[var(--color-text,#0a0a0a)] font-mono tracking-tighter",children:"AURA"})}),(0,d.jsx)("div",{className:"absolute bottom-[5%] right-[5%] opacity-[0.03] select-none",children:(0,d.jsx)("div",{className:"text-[12vw] font-black leading-none text-[var(--color-text,#0a0a0a)] font-mono tracking-tighter text-right",children:"MAXXING"})}),(0,d.jsx)("div",{className:"absolute top-10 left-[290px] w-24 h-24 border-l-4 border-t-4 border-[var(--color-text,#0a0a0a)] opacity-10",children:(0,d.jsx)("div",{className:"absolute top-2 left-2 w-3 h-3 bg-[var(--color-text,#0a0a0a)]"})}),(0,d.jsx)("div",{className:"absolute bottom-10 right-10 w-24 h-24 border-r-4 border-b-4 border-[var(--color-text,#0a0a0a)] opacity-10 flex items-end justify-end",children:(0,d.jsx)("div",{className:"absolute bottom-2 right-2 w-3 h-3 bg-[var(--color-text,#0a0a0a)]"})})]}),(0,d.jsx)(W,{onSend:()=>bT("send",{x:360,y:20}),onReceive:()=>U("receive"),onLogs:()=>{let a=bk.find(a=>"logs"===a.appType);a?bt(a.id):bq("logs",void 0,{x:700,y:20})},onAgentKeys:()=>bT("agentKeys",{x:360,y:20}),onAppStore:()=>X(!0),onWalletClick:a=>{let b=`walletDetail-${a.address}`;if(bk.find(a=>a.id===b))return void bt(b);let c=30*bk.filter(a=>"walletDetail"===a.appType).length;bq("walletDetail",{walletAddress:a.address,walletName:a.name,walletEmoji:a.emoji,walletColor:a.color},{x:360+c,y:20+c},b)},onImportSeed:()=>aw(!0),onSettings:()=>{U("settings"===T?null:"settings"),_(!1)},pendingActionCount:K.filter(a=>"pending"===a.status&&"notify"!==a.type).length,onStateChange:a=>{v(b=>b?{...b,configured:a.configured,isUnlocked:a.unlocked,wallets:a.wallets}:{configured:a.configured,isUnlocked:a.unlocked,wallets:a.wallets})}}),(0,d.jsxs)("div",{className:"flex-1 flex flex-col relative z-10",children:[z&&(0,d.jsxs)("div",{"data-testid":"app-error-toast",className:"absolute top-2 left-1/2 -translate-x-1/2 z-50 flex items-center gap-2 px-3 py-2 border shadow-lg",style:{background:"color-mix(in srgb, var(--color-warning,#ff4d00) 8%, var(--color-surface,#ffffff))",borderColor:"color-mix(in srgb, var(--color-warning,#ff4d00) 40%, transparent)"},children:[(0,d.jsx)("span",{className:"font-mono text-[10px] text-[var(--color-warning,#ff4d00)]",children:z}),(0,d.jsx)("button",{onClick:()=>A(""),className:"text-[var(--color-warning,#ff4d00)] hover:opacity-70",children:(0,d.jsx)(k.A,{size:10})})]}),bV||!bW?(0,d.jsx)("div",{className:"flex-1 flex items-center justify-center",children:(0,d.jsxs)("div",{className:"text-center",children:[(0,d.jsx)(l.A,{size:32,className:"mx-auto mb-3 text-[var(--color-text-faint,#9ca3af)]"}),(0,d.jsx)("div",{className:"font-mono text-sm text-[var(--color-text-muted,#6b7280)]",children:bW?"AGENT LOCKED":"WALLET NOT CONFIGURED"}),(0,d.jsx)("div",{className:"font-mono text-[10px] text-[var(--color-text-faint,#9ca3af)] mt-1",children:bW?"Unlock workspace access in the sidebar. Unlock each agent row separately.":"Set up your wallet using the sidebar"})]})}):(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(ab,{tabs:bv,activeTab:bj,onTabChange:a=>{bp(a)},onTabClose:a=>{bn(a)},onNewTab:()=>{bm("NEW")},onTabUpdate:(a,b)=>{bo(a,{name:b.name,emoji:b.emoji,color:b.color})},onTidy:bu,onAppStore:()=>X(!0),notifications:K,onDismissNotification:L}),(0,d.jsx)("div",{className:"flex-1 relative overflow-y-auto overflow-x-hidden",children:bl?(0,d.jsx)("div",{className:"absolute inset-0 flex items-center justify-center",children:(0,d.jsxs)("div",{className:"text-center",children:[(0,d.jsx)(m.A,{size:24,className:"mx-auto mb-2 text-[var(--color-text-faint,#9ca3af)] animate-spin"}),(0,d.jsx)("div",{className:"font-mono text-[10px] text-[var(--color-text-muted,#6b7280)]",children:"LOADING WORKSPACE..."})]})}):(0,d.jsxs)("div",{className:"relative w-full h-full min-h-[800px]",children:[bk.filter(a=>a.isVisible).map(a=>(0,d.jsx)(aI,{app:a,onPositionChange:bO,onSizeChange:bQ,onLockChange:bP,onBringToFront:bR,onDismiss:bS},a.id)),0===bk.length&&(0,d.jsx)("div",{className:"absolute inset-0 flex items-center justify-center pointer-events-none",children:(0,d.jsxs)("div",{className:"text-center",children:[(0,d.jsx)("div",{className:"font-mono text-sm text-[var(--color-text-muted,#6b7280)]",children:"EMPTY WORKSPACE"}),(0,d.jsx)("div",{className:"font-mono text-[10px] text-[var(--color-text-faint,#9ca3af)] mt-1",children:"Apps can be added via WebSocket or sidebar"})]})})]})}),(0,d.jsx)(ar.Z,{requests:J,resolveAction:M,actionLoading:N})]})]}),(0,d.jsx)(x._s,{isOpen:"settings"===T,onClose:()=>U(null),title:"SETTINGS",subtitle:"System configuration",footerLabel:"",children:(0,d.jsx)(aK,{chains:aF,editingChainRpc:aJ,setEditingChainRpc:aM,customRpc:aN,setCustomRpc:aO,savingConfig:aP,handleSaveCustomRpc:bH,handleRemoveChain:bA,exportedSeed:ap,setExportedSeed:au,exportPassword:ak,setExportPassword:al,exporting:an,handleExportSeed:bx,copied:O,setCopied:P,confirmNuke:$,nuking:Y,handleNuke:by,backups:ba,backupsLoading:bc,creatingBackup:be,restoringBackup:bg,onFetchBackups:bI,onCreateBackup:bJ,onRestoreBackup:bK,exportingDb:bL,onExportDb:bN,showAddChainPopover:aQ,addChainAnchorEl:aS,onOpenAddChain:a=>{aT(a),aR(!0)},onCloseAddChain:()=>{aR(!1),aT(null)},newChain:aU,setNewChain:aV,handleAddChain:bG,chainOverrides:p,hasAlchemyKey:!!o("alchemy"),isUnlocked:u?.isUnlocked??!1,apiKeys:b,apiKeysLoading:c,showAddApiKeyPopover:aW,addApiKeyAnchorEl:aY,onOpenAddApiKey:a=>{aZ(a),aX(!0)},onCloseAddApiKey:()=>{aX(!1),aZ(null)},newApiKey:a$,setNewApiKey:a_,savingApiKey:a0,handleAddApiKey:bB,deletingApiKey:a2,handleDeleteApiKey:bC,showRevokeAllApiKeysPopover:a4,revokeAllApiKeysAnchorEl:a6,revokingAllApiKeys:a8,onOpenRevokeAllApiKeys:a=>{a7(a),a5(!0)},onCloseRevokeAllApiKeys:bD,handleRevokeAllApiKeys:bE,onAddAlchemyKey:bF})}),(0,d.jsx)(x._s,{isOpen:"receive"===T,onClose:()=>U(null),title:"RECEIVE",subtitle:"Fund your wallets",children:(0,d.jsx)(aL,{coldWallets:bU,copyAddress:a=>{navigator.clipboard.writeText(a),P(a),setTimeout(()=>P(null),2e3)},copied:O})}),(0,d.jsx)(ag,{isOpen:V&&!bV&&bW,onClose:()=>X(!1),onAddApp:(a,b)=>{bq(a,b,{x:360,y:20}),X(!1)}}),(0,d.jsx)(x.aF,{isOpen:av,onClose:()=>{aw(!1),ay(""),aA(""),aC("")},title:"Import Seed Phrase",subtitle:"Recovery",icon:(0,d.jsx)(n.A,{size:20,className:"text-[#0047ff]"}),size:"md",children:(0,d.jsxs)("form",{onSubmit:bz,className:"space-y-4",children:[(0,d.jsxs)("div",{children:[(0,d.jsx)("label",{className:"font-mono text-[9px] text-[var(--color-text-muted,#6b7280)] tracking-widest block mb-1",children:"SEED_PHRASE"}),(0,d.jsx)("textarea",{value:ax,onChange:a=>ay(a.target.value),placeholder:"Enter your 12 or 24 word seed phrase...",rows:3,className:"w-full px-3 py-2 border border-[var(--color-border,#d4d4d8)] font-mono text-xs focus:outline-none focus:border-[var(--color-border-focus,#0a0a0a)] bg-[var(--color-surface,#ffffff)] text-[var(--color-text,#0a0a0a)] resize-none"})]}),(0,d.jsxs)("div",{children:[(0,d.jsx)("label",{className:"font-mono text-[9px] text-[var(--color-text-muted,#6b7280)] tracking-widest block mb-1",children:"NEW_PASSWORD"}),(0,d.jsx)("input",{type:"password",value:az,onChange:a=>aA(a.target.value),placeholder:"Min 8 characters",className:"w-full px-3 py-2 border border-[var(--color-border,#d4d4d8)] font-mono text-xs focus:outline-none focus:border-[var(--color-border-focus,#0a0a0a)] bg-[var(--color-surface,#ffffff)] text-[var(--color-text,#0a0a0a)]"})]}),(0,d.jsxs)("div",{children:[(0,d.jsx)("label",{className:"font-mono text-[9px] text-[var(--color-text-muted,#6b7280)] tracking-widest block mb-1",children:"CONFIRM_PASSWORD"}),(0,d.jsx)("input",{type:"password",value:aB,onChange:a=>aC(a.target.value),placeholder:"Confirm password",className:"w-full px-3 py-2 border border-[var(--color-border,#d4d4d8)] font-mono text-xs focus:outline-none focus:border-[var(--color-border-focus,#0a0a0a)] bg-[var(--color-surface,#ffffff)] text-[var(--color-text,#0a0a0a)]"})]}),(0,d.jsx)("div",{className:"p-3 bg-[var(--color-info,#0047ff)]/5 border border-[var(--color-info,#0047ff)]/30",children:(0,d.jsx)("div",{className:"font-mono text-[9px] text-[var(--color-text-muted,#6b7280)] leading-relaxed",children:"This will restore your wallet from the seed phrase. All hot wallets will be re-derived from this seed."})}),(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)("button",{type:"button",onClick:()=>{aw(!1),ay(""),aA(""),aC("")},className:"flex-1 h-10 border border-[var(--color-border,#d4d4d8)] font-mono text-[10px] tracking-widest text-[var(--color-text-muted,#6b7280)] hover:border-[var(--color-border-focus,#0a0a0a)] hover:text-[var(--color-text,#0a0a0a)] transition-colors",children:"CANCEL"}),(0,d.jsxs)("button",{type:"submit",disabled:aD||!ax||!az||!aB,className:"flex-1 h-10 bg-[var(--color-text,#0a0a0a)] text-white font-mono text-[10px] tracking-widest flex items-center justify-center gap-2 disabled:opacity-50 hover:text-[var(--color-accent,#ccff00)] transition-colors",children:[aD?(0,d.jsx)(m.A,{size:12,className:"animate-spin"}):(0,d.jsx)(n.A,{size:12}),aD?"IMPORTING...":"IMPORT"]})]})]})}),(0,d.jsx)(as.Z,{isUnlocked:u?.isUnlocked??!1})]})}function aI({app:a,onPositionChange:b,onSizeChange:c,onLockChange:f,onBringToFront:g,onDismiss:h}){let[i,j]=(0,e.useState)(0),k=a.appType.startsWith("installed:"),l=(0,ae.xR)(a.appType);if(!l)return(0,d.jsx)(ap,{id:a.id,title:`UNKNOWN: ${a.appType}`,icon:o,color:"gray",initialPosition:{x:a.x,y:a.y},initialSize:{width:a.width,height:a.height},locked:a.isLocked,onLockChange:f,dismissable:!0,onDismiss:()=>h(a.id),onPositionChange:b,onSizeChange:c,onBringToFront:g,zIndex:a.zIndex,children:(0,d.jsxs)("div",{className:"py-4 text-center",children:[(0,d.jsx)(o,{size:20,className:"mx-auto mb-2 text-[var(--color-text-faint,#9ca3af)]"}),(0,d.jsx)("div",{className:"font-mono text-[9px] text-[var(--color-text-muted,#6b7280)]",children:"UNKNOWN APP TYPE"}),(0,d.jsx)("div",{className:"font-mono text-[8px] text-[var(--color-text-faint,#9ca3af)] mt-1",children:a.appType})]})});let m=l.component;return(0,d.jsx)(ap,{id:a.id,title:(()=>{if("walletDetail"===a.appType){let b=a.config?.walletEmoji,c=a.config?.walletName;if(b||c)return b?`${b} ${c||"WALLET"}`:c||"WALLET"}return l.title})(),subtitle:(()=>{if("iframe"===a.appType&&a.config?.url)try{return new URL(a.config.url).hostname}catch{}})(),subtitleLink:(()=>{if("iframe"===a.appType&&a.config?.url)return a.config.url})(),icon:l.icon,color:(()=>{if("walletDetail"===a.appType){let b=a.config?.walletColor;if(b)return({"#ff4d00":"orange","#0047ff":"blue","#00c853":"teal","#ffab00":"orange","#9c27b0":"purple","#00bcd4":"teal","#e91e63":"rose","#607d8b":"gray"})[b]||"orange"}return l.color})(),initialPosition:{x:a.x,y:a.y},initialSize:{width:a.width,height:a.height},locked:a.isLocked,onLockChange:f,onRefresh:k?()=>j(a=>a+1):void 0,dismissable:!0,onDismiss:()=>h(a.id),onPositionChange:b,onSizeChange:c,onBringToFront:g,zIndex:a.zIndex,children:(()=>{let b=k?{appPath:a.appType.slice(10),...a.config,_refreshKey:i}:a.config;return(0,d.jsx)(e.Suspense,{fallback:(0,d.jsx)(aJ,{}),children:(0,d.jsx)(m,{config:b})})})()})}function aJ(){return(0,d.jsxs)("div",{className:"py-6 text-center",children:[(0,d.jsx)(m.A,{size:20,className:"mx-auto mb-2 text-[var(--color-text-faint,#9ca3af)] animate-spin"}),(0,d.jsx)("div",{className:"font-mono text-[9px] text-[var(--color-text-muted,#6b7280)]",children:"LOADING..."})]})}function aK({chains:a,editingChainRpc:b,setEditingChainRpc:c,customRpc:e,setCustomRpc:g,savingConfig:h,handleSaveCustomRpc:l,handleRemoveChain:y,exportedSeed:z,setExportedSeed:A,exportPassword:B,setExportPassword:C,exporting:D,handleExportSeed:E,copied:F,setCopied:G,confirmNuke:H,nuking:I,handleNuke:J,backups:K,backupsLoading:L,creatingBackup:M,restoringBackup:N,onFetchBackups:O,onCreateBackup:P,onRestoreBackup:Q,exportingDb:R,onExportDb:T,showAddChainPopover:U,addChainAnchorEl:V,onOpenAddChain:W,onCloseAddChain:X,newChain:Y,setNewChain:Z,handleAddChain:$,chainOverrides:_,hasAlchemyKey:aa,isUnlocked:ab,apiKeys:ac,apiKeysLoading:ad,showAddApiKeyPopover:ae,addApiKeyAnchorEl:af,onOpenAddApiKey:ag,onCloseAddApiKey:ah,newApiKey:ai,setNewApiKey:aj,savingApiKey:ak,handleAddApiKey:al,deletingApiKey:am,handleDeleteApiKey:an,showRevokeAllApiKeysPopover:ao,revokeAllApiKeysAnchorEl:ap,revokingAllApiKeys:aq,onOpenRevokeAllApiKeys:ar,onCloseRevokeAllApiKeys:as,handleRevokeAllApiKeys:at,onAddAlchemyKey:au}){let[av,aw]=f().useState(null),[ax,ay]=f().useState(null),[az,aA]=f().useState(""),[aB,aD]=f().useState(!1),aE=async()=>{az.trim()&&(aD(!0),await au(az.trim())&&aA(""),aD(!1))},aG=["base","ethereum","arbitrum","optimism"],[aH,aI]=f().useState(!1),[aJ,aK]=f().useState("admin"),[aL,aM]=f().useState(!0),[aN,aO]=f().useState(!1),aP=async a=>{aK(a),aO(!0);try{await S.FH.patch(S.jI.Wallet,`/defaults/${encodeURIComponent("permissions.agent_tier")}`,{value:a})}catch{aK("admin"===a?"restricted":"admin")}finally{aO(!1)}},[aQ,aR]=f().useState(!1),[aS,aT]=f().useState(!1),[aU,aV]=f().useState(!1),[aW,aX]=f().useState(!1),[aY,aZ]=f().useState(!1),[a$,a_]=f().useState(!1);return(0,d.jsxs)("div",{className:"space-y-4",children:[(0,d.jsxs)(x.lX,{title:"DEFAULT_AGENT",icon:(0,d.jsx)(p.A,{size:12}),isOpen:aH,onToggle:()=>aI(!aH),contentClassName:"p-4 pt-0 space-y-4",children:[(0,d.jsxs)("div",{className:"p-3 space-y-2 border border-[var(--color-border)] bg-[var(--color-surface)]",children:[(0,d.jsx)("div",{className:"font-mono text-[10px] text-[var(--color-text)]",children:"Permission Tier"}),(0,d.jsx)("div",{className:"font-mono text-[8px] text-[var(--color-text-muted)]",children:"Controls what the agent-chat app can do directly"}),aL?(0,d.jsx)("div",{className:"flex items-center gap-2 py-2",children:(0,d.jsx)(m.A,{size:12,className:"animate-spin text-[var(--color-text-muted)]"})}):(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)(x.$n,{type:"button",onClick:()=>aP("admin"),disabled:aN,variant:"admin"===aJ?"secondary":"ghost",size:"md",className:`flex-1 !h-auto !p-2 !justify-start border ${"admin"===aJ?"border-[var(--color-accent)] text-[var(--color-text)] bg-[var(--color-background-alt)]":"border-[var(--color-border)] text-[var(--color-text-muted)]"}`,children:(0,d.jsxs)("div",{className:"text-left",children:[(0,d.jsx)("div",{className:"font-bold text-[9px] tracking-normal",children:"Full Admin"}),(0,d.jsx)("div",{className:"text-[8px] tracking-normal text-[var(--color-text-muted)]",children:"Agent can do everything directly"})]})}),(0,d.jsx)(x.$n,{type:"button",onClick:()=>aP("restricted"),disabled:aN,variant:"restricted"===aJ?"secondary":"ghost",size:"md",className:`flex-1 !h-auto !p-2 !justify-start border ${"restricted"===aJ?"border-[var(--color-accent)] text-[var(--color-text)] bg-[var(--color-background-alt)]":"border-[var(--color-border)] text-[var(--color-text-muted)]"}`,children:(0,d.jsxs)("div",{className:"text-left",children:[(0,d.jsx)("div",{className:"font-bold text-[9px] tracking-normal",children:"Restricted"}),(0,d.jsx)("div",{className:"text-[8px] tracking-normal text-[var(--color-text-muted)]",children:"Approval required for actions"})]})})]})]}),(0,d.jsx)(aC,{})]}),(0,d.jsx)(x.lX,{title:"SYSTEM_DEFAULTS",icon:(0,d.jsx)(q.A,{size:12}),isOpen:aQ,onToggle:()=>aR(!aQ),children:(0,d.jsx)(aF,{})}),(0,d.jsx)(x.lX,{title:"RPC_CONFIGURATION",icon:(0,d.jsx)(o,{size:12}),isOpen:aS,onToggle:()=>aT(!aS),contentClassName:"p-4 pt-0",children:(0,d.jsxs)("div",{className:"p-3 bg-[var(--color-background-alt)] border border-[var(--color-border)] space-y-4",children:[(0,d.jsxs)("div",{className:"p-3 border border-dashed border-[var(--color-border)] bg-[var(--color-surface)]",children:[(0,d.jsx)("div",{className:"font-mono text-[9px] text-[var(--color-text-muted)] uppercase tracking-widest mb-2",children:"ALCHEMY API KEY"}),aa?(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)(r.A,{size:12,className:"text-[var(--color-success)]"}),(0,d.jsx)("span",{className:"font-mono text-[10px] text-[var(--color-success)]",children:"Configured"}),(0,d.jsxs)("span",{className:"font-mono text-[8px] text-[var(--color-text-muted)]",children:["(auto-configures: ",aG.join(", "),")"]})]}),(0,d.jsx)("div",{className:"font-mono text-[8px] text-[var(--color-text-faint)] leading-relaxed",children:"Remove in API Keys section below. Custom overrides take priority."})]}):(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsxs)("div",{className:"font-mono text-[8px] text-[var(--color-text-muted)] leading-relaxed mb-2",children:["Get a free key at alchemy.com to auto-configure: ",aG.join(", ")]}),(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)("div",{className:"flex-1",children:(0,d.jsx)(x.ks,{label:"",type:"password",value:az,onChange:a=>aA(a.target.value),placeholder:"Paste your Alchemy API key...",compact:!0})}),(0,d.jsx)(x.$n,{size:"sm",onClick:aE,disabled:aB||!az.trim(),loading:aB,icon:aB?void 0:(0,d.jsx)(s.A,{size:10}),children:"ADD"})]}),(0,d.jsx)("div",{className:"font-mono text-[8px] text-[var(--color-text-faint)] leading-relaxed",children:"Currently using public RPCs (may have rate limits)."})]})]}),(0,d.jsxs)("div",{children:[(0,d.jsxs)("div",{className:"flex items-center justify-between mb-2",children:[(0,d.jsx)("div",{className:"font-mono text-[9px] text-[var(--color-text-muted)] uppercase tracking-widest",children:"CHAIN OVERRIDES"}),(0,d.jsxs)("div",{className:"relative",children:[(0,d.jsx)(x.$n,{variant:"ghost",size:"sm",onClick:a=>W(a.currentTarget),icon:(0,d.jsx)(s.A,{size:10}),children:"ADD"}),(0,d.jsx)(x.AM,{isOpen:U,onClose:X,title:"ADD_CHAIN",anchorEl:V,anchor:"right",className:"w-64",children:(0,d.jsxs)("div",{className:"space-y-3",children:[(0,d.jsx)("div",{className:"font-mono text-[8px] text-[var(--color-text-muted)] leading-relaxed",children:"Known chains: arbitrum, optimism, polygon, zksync"}),(0,d.jsx)(x.ks,{label:"NAME",type:"text",value:Y.name,onChange:a=>Z({...Y,name:a.target.value}),placeholder:"arbitrum, polygon, zksync...",compact:!0}),(0,d.jsx)(x.ks,{label:"CHAIN_ID",type:"number",value:Y.chainId,onChange:a=>Z({...Y,chainId:a.target.value}),placeholder:"42161, 10, 137...",compact:!0}),(0,d.jsx)(x.ks,{label:"RPC (optional)",type:"text",value:Y.rpc,onChange:a=>Z({...Y,rpc:a.target.value}),placeholder:"blank = use Alchemy",compact:!0}),(0,d.jsx)(x.$n,{size:"md",onClick:()=>{$(),X()},disabled:h||!Y.name||!Y.chainId,loading:h,icon:h?void 0:(0,d.jsx)(s.A,{size:10}),className:"w-full",children:"ADD CHAIN"})]})})]})]}),(0,d.jsx)("div",{className:"space-y-2",children:Object.entries(a).map(([a,f])=>{let h=_[a]?"override":aa&&aG.includes(a)?"alchemy":"public",i=!["base","ethereum"].includes(a);return(0,d.jsxs)("div",{className:"flex items-center gap-2 p-2 bg-[var(--color-surface)] border border-[var(--color-border)]",children:[(0,d.jsxs)("div",{className:"w-20 font-mono text-[10px] font-bold text-[var(--color-text)] uppercase flex items-center gap-1",children:[a,(0,d.jsx)("span",{className:`font-mono text-[7px] px-1 py-0.5 rounded ${"override"===h?"bg-[var(--color-accent)]/20 text-[var(--color-accent)]":"alchemy"===h?"bg-[var(--color-success)]/20 text-[var(--color-success)]":"bg-[var(--color-text-muted)]/20 text-[var(--color-text-muted)]"}`,children:"override"===h?"CUSTOM":"alchemy"===h?"ALCHEMY":"PUBLIC"})]}),b===a?(0,d.jsx)("div",{className:"flex-1",children:(0,d.jsx)(x.ks,{label:"",type:"text",value:e,onChange:a=>g(a.target.value),placeholder:"https://...",compact:!0,autoFocus:!0,rightElement:(0,d.jsxs)("div",{className:"flex gap-1",children:[(0,d.jsx)(x.$n,{variant:"ghost",size:"sm",onClick:()=>l(a,e),icon:(0,d.jsx)(r.A,{size:12,className:"text-[var(--color-success)]"}),children:""}),(0,d.jsx)(x.$n,{variant:"ghost",size:"sm",onClick:()=>{c(null),g("")},icon:(0,d.jsx)(k.A,{size:12}),children:""})]})})}):(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("div",{className:"flex-1"}),(0,d.jsx)(x.$n,{variant:"secondary",size:"sm",onClick:()=>{c(a),g(f.rpc)},children:"EDIT RPC"}),i&&(0,d.jsx)(x.$n,{variant:"ghost",size:"sm",onClick:()=>y(a),icon:(0,d.jsx)(t.A,{size:10}),className:"hover:text-[var(--color-warning)]",children:""})]})]},a)})})]})]})}),(0,d.jsx)(x.lX,{title:"API_KEYS",icon:(0,d.jsx)(n.A,{size:12}),isOpen:aU,onToggle:()=>aV(!aU),contentClassName:"p-4 pt-0",children:(0,d.jsxs)("div",{className:"p-3 bg-[var(--color-background-alt)] border border-[var(--color-border)] space-y-3",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,d.jsx)("div",{className:"font-mono text-[9px] text-[var(--color-text-muted)]",children:"Store API keys for premium services (Alchemy, Infura, etc.)"}),(0,d.jsxs)("div",{className:"flex items-center gap-1",children:[ac.length>0&&(0,d.jsxs)("div",{className:"relative",children:[(0,d.jsx)(x.$n,{variant:"danger",size:"sm",onClick:a=>ar(a.currentTarget),disabled:aq,icon:aq?(0,d.jsx)(m.A,{size:10,className:"animate-spin"}):(0,d.jsx)(i.A,{size:10}),children:"REVOKE ALL"}),(0,d.jsx)(x.Rw,{isOpen:ao,onClose:as,onConfirm:at,title:"Revoke All API Keys",message:"Revoking all API keys can lock the agent by disabling services that depend on them. This action revokes every active API key immediately.",confirmText:"REVOKE ALL",variant:"danger",loading:aq})]}),(0,d.jsxs)("div",{className:"relative",children:[(0,d.jsx)(x.$n,{variant:"ghost",size:"sm",onClick:a=>ag(a.currentTarget),icon:(0,d.jsx)(s.A,{size:10}),children:"ADD"}),(0,d.jsx)(x.AM,{isOpen:ae,onClose:ah,title:"ADD_API_KEY",anchorEl:af,anchor:"right",className:"w-72",children:(0,d.jsxs)("div",{className:"space-y-3",children:[(0,d.jsx)(x.ks,{label:"SERVICE",type:"text",value:ai.service,onChange:a=>aj({...ai,service:a.target.value}),placeholder:"alchemy, infura, etherscan...",compact:!0}),(0,d.jsx)(x.ks,{label:"NAME",type:"text",value:ai.name,onChange:a=>aj({...ai,name:a.target.value}),placeholder:"My API Key",compact:!0}),(0,d.jsx)(x.ks,{label:"API_KEY",type:"password",value:ai.key,onChange:a=>aj({...ai,key:a.target.value}),placeholder:"Enter your API key...",compact:!0}),(0,d.jsx)(x.$n,{size:"md",onClick:al,disabled:ak||!ai.service||!ai.name||!ai.key,loading:ak,icon:ak?void 0:(0,d.jsx)(s.A,{size:10}),className:"w-full",children:"ADD KEY"})]})})]})]})]}),ad?(0,d.jsx)("div",{className:"py-4 flex items-center justify-center",children:(0,d.jsx)(m.A,{size:16,className:"animate-spin text-[var(--color-text-muted)]"})}):0===ac.length?(0,d.jsxs)("div",{className:"py-4 text-center border border-dashed border-[var(--color-border)]",children:[(0,d.jsx)("div",{className:"font-mono text-[9px] text-[var(--color-text-muted)]",children:"No API keys stored"}),(0,d.jsx)("div",{className:"font-mono text-[8px] text-[var(--color-text-faint)] mt-1",children:"Add keys for Alchemy, Infura, etc."})]}):(0,d.jsx)("div",{className:"space-y-2",children:ac.map(a=>(0,d.jsxs)("div",{className:"flex items-center gap-2 p-2 bg-[var(--color-surface)] border border-[var(--color-border)]",children:[(0,d.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)("span",{className:"font-mono text-[10px] font-bold text-[var(--color-text)] uppercase",children:a.service}),(0,d.jsx)("span",{className:"font-mono text-[9px] text-[var(--color-text-muted)]",children:a.name})]}),(0,d.jsx)("div",{className:"font-mono text-[8px] text-[var(--color-text-faint)] truncate",children:a.keyMasked||a.key})]}),(0,d.jsx)(x.$n,{variant:"ghost",size:"sm",onClick:()=>an(a.id),disabled:am===a.id,icon:am===a.id?(0,d.jsx)(m.A,{size:10,className:"animate-spin"}):(0,d.jsx)(t.A,{size:10}),className:"hover:text-[var(--color-warning)]",children:""})]},a.id))}),(0,d.jsx)("div",{className:"pt-2 border-t border-dashed border-[var(--color-border)]",children:(0,d.jsx)("div",{className:"font-mono text-[8px] text-[var(--color-text-faint)] leading-relaxed",children:"Alchemy keys will automatically configure RPCs for supported chains."})})]})}),(0,d.jsx)(x.lX,{title:"EXPORT_SEED",icon:(0,d.jsx)(u.A,{size:12}),isOpen:aW,onToggle:()=>aX(!aW),contentClassName:"p-4 pt-0",children:z?(0,d.jsxs)("div",{className:"space-y-3",children:[(0,d.jsxs)("div",{className:"p-3 bg-[var(--color-text)] border border-[var(--color-border-focus)] relative",children:[(0,d.jsx)(x.$n,{variant:"ghost",size:"sm",onClick:()=>{navigator.clipboard.writeText(z),G("exported"),setTimeout(()=>G(null),2e3)},className:"absolute top-2 right-2 bg-[var(--color-text-muted)]/20 hover:bg-[var(--color-text-muted)]/40",icon:(0,d.jsx)(j.A,{size:10,className:"exported"===F?"text-[var(--color-accent)]":"text-[var(--color-surface)]"}),children:""}),(0,d.jsx)("div",{className:"font-mono text-xs text-[var(--color-accent)] leading-relaxed break-words select-all pr-8",children:z})]}),(0,d.jsx)(x.$n,{variant:"ghost",size:"sm",onClick:()=>A(null),children:"HIDE"})]}):(0,d.jsx)("form",{onSubmit:E,children:(0,d.jsx)(x.ks,{label:"PASSWORD",type:"password",value:B,onChange:a=>C(a.target.value),placeholder:"Enter password to export...",compact:!0,rightElement:(0,d.jsx)(x.$n,{type:"submit",size:"sm",disabled:D||!B,loading:D,children:"EXPORT"})})})}),(0,d.jsx)(x.lX,{title:"DATABASE_BACKUP",icon:(0,d.jsx)(v.A,{size:12}),isOpen:aY,onToggle:()=>aZ(!aY),contentClassName:"p-4 pt-0",children:(0,d.jsxs)("div",{className:"space-y-3",children:[(0,d.jsx)(x.$n,{variant:"secondary",size:"lg",onClick:P,disabled:M,loading:M,icon:M?void 0:(0,d.jsx)(s.A,{size:12}),className:"w-full",children:M?"CREATING...":"CREATE BACKUP"}),(0,d.jsx)(x.$n,{variant:"secondary",size:"lg",onClick:T,disabled:R,loading:R,icon:R?void 0:(0,d.jsx)(v.A,{size:12}),className:"w-full",children:R?"EXPORTING...":"EXPORT DATABASE"}),L?(0,d.jsx)("div",{className:"py-4 flex items-center justify-center",children:(0,d.jsx)(m.A,{size:16,className:"animate-spin text-[var(--color-text-muted)]"})}):0===K.length?(0,d.jsx)("div",{className:"py-4 text-center",children:(0,d.jsx)("div",{className:"font-mono text-[9px] text-[var(--color-text-muted)]",children:"No backups found"})}):(0,d.jsx)("div",{className:"space-y-1 max-h-48 overflow-y-auto",children:K.map(a=>{var b;return(0,d.jsxs)("div",{className:"relative",children:[(0,d.jsxs)(x.$n,{type:"button",variant:"secondary",size:"md",onClick:b=>{ay(b.currentTarget),aw(a.filename)},className:"w-full !h-auto !px-2 !py-2 !justify-between group",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)(w.A,{size:10,className:"text-[var(--color-text-muted)] group-hover:text-[var(--color-text)]"}),(0,d.jsx)("span",{className:"font-mono text-[10px] text-[var(--color-text)]",children:(a=>{let b=a.slice(0,4),c=a.slice(4,6),d=a.slice(6,8),e=a.slice(9,11),f=a.slice(11,13);return`${b}-${c}-${d} ${e}:${f}`})(a.timestamp)})]}),(0,d.jsx)("span",{className:"font-mono text-[9px] text-[var(--color-text-muted)]",children:(b=a.size)<1024?`${b} B`:b<1048576?`${(b/1024).toFixed(1)} KB`:`${(b/1048576).toFixed(1)} MB`})]}),(0,d.jsx)(x.Rw,{isOpen:av===a.filename,onClose:()=>{aw(null),ay(null)},onConfirm:()=>{Q(a.filename),aw(null),ay(null)},title:"Restore Backup",message:"Restore to this backup? You will lose all data since this backup was created.",confirmText:"RESTORE",variant:"warning",loading:N===a.filename})]},a.filename)})}),(0,d.jsx)("div",{className:"pt-2 border-t border-dashed border-[var(--color-border)]",children:(0,d.jsx)("div",{className:"font-mono text-[8px] text-[var(--color-text-faint)] leading-relaxed",children:"Backups are tied to the current database schema. Restoring after migrations may cause issues."})})]})}),(0,d.jsx)(x.lX,{title:"DANGER_ZONE",icon:(0,d.jsx)(i.A,{size:12}),isOpen:a$,onToggle:()=>a_(!a$),tone:"warning",contentClassName:"p-4 pt-0",children:(0,d.jsxs)("div",{className:"p-3 border-2 border-[var(--color-warning)] bg-[color-mix(in_srgb,var(--color-warning)_5%,transparent)]",children:[(0,d.jsx)("div",{className:"font-mono text-[10px] text-[var(--color-text-muted)] mb-3",children:"Delete ALL data. Irreversible."}),(0,d.jsx)(x.$n,{variant:H?"primary":"danger",size:"lg",onClick:J,disabled:I,loading:I,icon:I?void 0:(0,d.jsx)(t.A,{size:12}),className:`w-full ${H?"!bg-[var(--color-warning)] !border-[var(--color-warning)] hover:!bg-[var(--color-warning)]":""}`,children:I?"NUKING...":H?"CONFIRM":"NUKE"})]})})]})}function aL({coldWallets:a,copyAddress:b,copied:c}){return 0===a.length?(0,d.jsx)("div",{className:"text-center py-8",children:(0,d.jsx)("div",{className:"font-mono text-[10px] text-[var(--color-text-muted,#6b7280)]",children:"No wallet found. Set up your wallet first."})}):(0,d.jsxs)("div",{className:"space-y-5",children:[a.map(e=>(0,d.jsxs)("div",{className:"space-y-3",children:[(0,d.jsxs)("div",{className:"flex items-center justify-center gap-2",children:[(0,d.jsx)(u.A,{size:12,style:{color:"var(--color-info, #0047ff)"}}),(0,d.jsxs)("span",{className:"font-mono text-[9px] font-bold tracking-widest",style:{color:"var(--color-info, #0047ff)"},children:[e.name?.toUpperCase()||"AGENT",e.chain?` (${e.chain.toUpperCase()})`:""]})]}),(0,d.jsx)("div",{className:"flex justify-center",children:(0,d.jsxs)("div",{className:"p-3 relative",style:{backgroundColor:"var(--color-surface, #ffffff)",border:"1px solid var(--color-border, #d4d4d8)"},children:[(0,d.jsx)("div",{className:"absolute top-1 left-1 w-2 h-2 border-l border-t",style:{borderColor:"var(--color-border-focus, #0a0a0a)"}}),(0,d.jsx)("div",{className:"absolute top-1 right-1 w-2 h-2 border-r border-t",style:{borderColor:"var(--color-border-focus, #0a0a0a)"}}),(0,d.jsx)("div",{className:"absolute bottom-1 left-1 w-2 h-2 border-l border-b",style:{borderColor:"var(--color-border-focus, #0a0a0a)"}}),(0,d.jsx)("div",{className:"absolute bottom-1 right-1 w-2 h-2 border-r border-b",style:{borderColor:"var(--color-border-focus, #0a0a0a)"}}),(0,d.jsx)("img",{src:`https://api.qrserver.com/v1/create-qr-code/?size=160x160&data=${e.address}&bgcolor=ffffff&color=0a0a0a&margin=0`,alt:"Wallet QR Code",className:"w-40 h-40"})]})}),(0,d.jsxs)("div",{className:"p-3 relative group cursor-pointer",onClick:()=>b(e.address),style:{backgroundColor:"var(--color-background-alt, #f4f4f5)",border:"1px solid var(--color-border, #d4d4d8)"},children:[(0,d.jsx)("code",{className:"font-mono text-[11px] break-all select-all block text-center leading-relaxed pr-6",style:{color:"var(--color-text, #0a0a0a)"},children:e.address}),(0,d.jsx)("button",{className:"absolute right-2 top-1/2 -translate-y-1/2 p-1 opacity-60 group-hover:opacity-100 transition-opacity",onClick:a=>{a.stopPropagation(),b(e.address)},children:(0,d.jsx)(j.A,{size:14,style:{color:c===e.address?"var(--color-success, #00c853)":"var(--color-info, #0047ff)"}})})]}),c===e.address&&(0,d.jsx)("div",{className:"text-center",children:(0,d.jsx)("span",{className:"font-mono text-[9px]",style:{color:"var(--color-success, #00c853)"},children:"COPIED TO CLIPBOARD"})}),a.length>1&&e!==a[a.length-1]&&(0,d.jsx)("div",{className:"border-t",style:{borderColor:"var(--color-border, #d4d4d8)"}})]},e.address)),(0,d.jsxs)("div",{className:"space-y-2 pt-2",children:[(0,d.jsx)("div",{className:"font-mono text-[8px] text-[var(--color-text-muted,#6b7280)] tracking-widest",children:"INSTRUCTIONS"}),(0,d.jsxs)("div",{className:"space-y-1.5",children:[(0,d.jsxs)("div",{className:"flex items-start gap-2",children:[(0,d.jsx)("div",{className:"w-4 h-4 bg-[var(--color-background-alt,#e8e8e6)] flex items-center justify-center shrink-0 mt-0.5",children:(0,d.jsx)("span",{className:"font-mono text-[8px] text-[var(--color-text-muted,#6b7280)]",children:"1"})}),(0,d.jsx)("span",{className:"font-mono text-[9px] text-[var(--color-text-muted,#6b7280)]",children:"Scan QR or copy address above"})]}),(0,d.jsxs)("div",{className:"flex items-start gap-2",children:[(0,d.jsx)("div",{className:"w-4 h-4 bg-[var(--color-background-alt,#e8e8e6)] flex items-center justify-center shrink-0 mt-0.5",children:(0,d.jsx)("span",{className:"font-mono text-[8px] text-[var(--color-text-muted,#6b7280)]",children:"2"})}),(0,d.jsx)("span",{className:"font-mono text-[9px] text-[var(--color-text-muted,#6b7280)]",children:"Send ETH from exchange or another wallet"})]}),(0,d.jsxs)("div",{className:"flex items-start gap-2",children:[(0,d.jsx)("div",{className:"w-4 h-4 bg-[var(--color-background-alt,#e8e8e6)] flex items-center justify-center shrink-0 mt-0.5",children:(0,d.jsx)("span",{className:"font-mono text-[8px] text-[var(--color-text-muted,#6b7280)]",children:"3"})}),(0,d.jsx)("span",{className:"font-mono text-[9px] text-[var(--color-text-muted,#6b7280)]",children:"Funds will appear after network confirmation"})]})]})]})]})}},41025:a=>{"use strict";a.exports=require("next/dist/server/app-render/dynamic-access-async-storage.external.js")},44688:(a,b,c)=>{"use strict";c.d(b,{A:()=>d});let d=(0,c(23339).A)("MessageSquare",[["path",{d:"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z",key:"1lielz"}]])},55511:a=>{"use strict";a.exports=require("crypto")},55591:a=>{"use strict";a.exports=require("https")},57011:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>d});let d=(0,c(97954).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/Users/alyssa/src/aura/aurawallet/src/app/app-legacy-do-not-use/page.tsx\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/Users/alyssa/src/aura/aurawallet/src/app/app-legacy-do-not-use/page.tsx","default")},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},73136:a=>{"use strict";a.exports=require("node:url")},74075:a=>{"use strict";a.exports=require("zlib")},77598:a=>{"use strict";a.exports=require("node:crypto")},79428:a=>{"use strict";a.exports=require("buffer")},79551:a=>{"use strict";a.exports=require("url")},81630:a=>{"use strict";a.exports=require("http")},86439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},88011:(a,b,c)=>{"use strict";c.r(b),c.d(b,{LogsApp:()=>r,default:()=>s});var d=c(21124),e=c(38301),f=c(22842),g=c(14263),h=c(25345);let i=(0,c(23339).A)("Filter",[["polygon",{points:"22 3 2 3 10 12.46 10 19 14 21 14 12.46 22 3",key:"1yg77f"}]]);var j=c(85351),k=c(58620),l=c(81296),m=c(15303),n=c(77886),o=c(33337),p=c(45478);let q={"action:created":"var(--color-warning, #ff4d00)","action:resolved":"var(--color-success, #00c853)","token:created":"var(--color-info, #0047ff)","token:revoked":"var(--color-warning, #ff4d00)","token:spent":"var(--color-accent, #ffab00)","wallet:created":"var(--color-info, #00bcd4)","wallet:changed":"var(--color-info, #00bcd4)"},r=({maxHeight:a=320})=>{let[b,c]=(0,e.useState)([]),[r,s]=(0,e.useState)(!0),[t,u]=(0,e.useState)(!1),[v,w]=(0,e.useState)(null),[x,y]=(0,e.useState)("all"),[z,A]=(0,e.useState)(!1),[B,C]=(0,e.useState)(50),{subscribe:D,connected:E}=(0,n.h)(),{isUnlocked:F}=(0,o.A)(),G=(0,e.useCallback)(async()=>{try{let a={limit:B};"all"!==x&&(a.type=x);let b=await p.FH.get(p.jI.Events,"/events",a);if(b.success){let a=b.events.map(a=>({id:a.id,type:a.type,source:a.source,data:"string"==typeof a.data?JSON.parse(a.data):a.data,timestamp:new Date(a.timestamp).getTime()}));c(a),w(null)}else w(b.error||"Failed to fetch logs")}catch(a){w(a instanceof Error?a.message:"Failed to fetch logs")}finally{s(!1),u(!1)}},[x,B]);(0,e.useEffect)(()=>{if(!F)return void s(!1);G()},[G,F]),(0,e.useEffect)(()=>D("*",a=>{let b=a.type;if(!b||b.startsWith("workspace:")||b.startsWith("app:")||b.startsWith("theme:")||"error"===b||"connected"===b)return;let d={id:`ws-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,type:a.type,source:a.source,data:a.data,timestamp:a.timestamp,isNew:!0};c(a=>{let b=a.filter(a=>!(a.type===d.type&&1e3>Math.abs(a.timestamp-d.timestamp)));return[d,...b].slice(0,B+50)}),setTimeout(()=>{c(a=>a.map(a=>a.id===d.id?{...a,isNew:!1}:a))},5e3)}),[D,B]);let H=()=>{u(!0),G()},I=[{value:"all",label:"ALL"},{value:"action:created",label:"ACTIONS"},{value:"action:resolved",label:"RESOLVED"},{value:"token:created",label:"TOKENS"},{value:"token:revoked",label:"REVOKED"},{value:"token:spent",label:"SPENT"},{value:"wallet:created",label:"WALLETS"}],J="all"===x?b:b.filter(a=>a.type===x);return F?r?(0,d.jsxs)("div",{className:"py-6 text-center",children:[(0,d.jsx)(g.A,{size:20,className:"mx-auto mb-2 text-[var(--color-text-faint,#9ca3af)] animate-spin"}),(0,d.jsx)("div",{className:"font-mono text-[9px] text-[var(--color-text-muted,#6b7280)]",children:"LOADING LOGS..."})]}):v?(0,d.jsxs)("div",{className:"py-6 text-center",children:[(0,d.jsx)("div",{className:"font-mono text-[9px] text-[var(--color-warning,#ff4d00)] mb-2",children:v}),(0,d.jsxs)("button",{onClick:H,className:"font-mono text-[9px] text-[var(--color-text-muted,#6b7280)] hover:text-[var(--color-text,#0a0a0a)] flex items-center gap-1 mx-auto",children:[(0,d.jsx)(h.A,{size:10}),"RETRY"]})]}):(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between",children:[(0,d.jsxs)("div",{className:"relative",children:[(0,d.jsxs)("button",{onClick:()=>A(!z),className:"flex items-center gap-1 px-2 py-1 border border-[var(--color-border,#d4d4d8)] font-mono text-[8px] text-[var(--color-text-muted,#6b7280)] hover:border-[var(--color-border-focus,#0a0a0a)] hover:text-[var(--color-text,#0a0a0a)] transition-colors",children:[(0,d.jsx)(i,{size:9}),I.find(a=>a.value===x)?.label||"ALL",(0,d.jsx)(j.A,{size:8,className:z?"rotate-180":""})]}),z&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("div",{className:"fixed inset-0 z-40",onClick:()=>A(!1)}),(0,d.jsx)("div",{className:"absolute left-0 top-full mt-1 bg-[var(--color-surface,#ffffff)] border border-[var(--color-border-focus,#0a0a0a)] shadow-lg z-50 min-w-[100px]",children:I.map(a=>(0,d.jsx)("button",{onClick:()=>{y(a.value),A(!1)},className:`w-full text-left px-2 py-1 font-mono text-[8px] hover:bg-[var(--color-accent,#ccff00)] hover:text-[var(--color-text,#0a0a0a)] ${x===a.value?"bg-[var(--color-surface-alt,#fafafa)] font-bold":""}`,children:a.label},a.value))})]})]}),(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsxs)("div",{className:"flex items-center gap-1",children:[E?(0,d.jsx)(k.A,{size:9,className:"text-[var(--color-success,#00c853)]"}):(0,d.jsx)(l.A,{size:9,className:"text-[var(--color-text-muted,#6b7280)]"}),(0,d.jsx)("span",{className:"font-mono text-[7px] text-[var(--color-text-muted,#6b7280)]",children:E?"LIVE":"OFFLINE"})]}),(0,d.jsx)("span",{className:"font-mono text-[8px] text-[var(--color-text-muted,#6b7280)]",children:J.length}),(0,d.jsx)("button",{onClick:H,disabled:t,className:"p-1 hover:bg-[var(--color-surface-alt,#fafafa)] transition-colors",children:(0,d.jsx)(h.A,{size:10,className:`text-[var(--color-text-muted,#6b7280)] ${t?"animate-spin":""}`})})]})]}),0===J.length?(0,d.jsxs)("div",{className:"py-6 text-center",children:[(0,d.jsx)(m.A,{size:20,className:"mx-auto mb-2 text-[var(--color-text-faint,#9ca3af)]"}),(0,d.jsx)("div",{className:"font-mono text-[9px] text-[var(--color-text-muted,#6b7280)]",children:"NO EVENTS YET"})]}):(0,d.jsxs)("div",{className:"space-y-1 overflow-y-auto",style:{maxHeight:a},children:[J.map(a=>{let b=q[a.type]||"var(--color-text-muted, #666)",c=function(a,b){switch(a){case"action:created":return`Action "${b.type||b.actionType}" from ${b.agentId||"agent"}`;case"action:resolved":return`Action ${b.id?.slice(0,8)}... ${b.approved?"approved":"rejected"}`;case"token:created":return`Token for "${b.agentId}" (${b.limit} ETH)`;case"token:revoked":return`Token ${b.tokenHash?.slice(0,8)}... revoked`;case"token:spent":return`Spent ${b.amount} ETH (${b.remaining} left)`;case"wallet:changed":return`${b.tier?.toUpperCase()} wallet ${b.address?.slice(0,10)}... updated`;case"wallet:created":return`${b.tier?.toUpperCase()} wallet ${b.address?.slice(0,10)}...`;default:return b?JSON.stringify(b).slice(0,50):"No data"}}(a.type,a.data);return(0,d.jsxs)("div",{className:`border p-2 transition-all group ${a.isNew?"border-[var(--color-accent,#ccff00)] bg-[var(--color-accent,#ccff00)]/10 animate-pulse":"border-[var(--color-border-muted,#e5e5e5)] hover:border-[var(--color-border,#d4d4d8)]"}`,children:[(0,d.jsxs)("div",{className:"flex items-start justify-between gap-2",children:[(0,d.jsxs)("div",{className:"flex items-center gap-1.5 min-w-0",children:[(0,d.jsx)("div",{className:"w-1.5 h-1.5 shrink-0",style:{backgroundColor:b}}),(0,d.jsx)("span",{className:"font-mono text-[8px] font-bold shrink-0",style:{color:b},children:function(a){return({"action:created":"ACTION","action:resolved":"RESOLVED","token:created":"TOKEN+","token:revoked":"REVOKED","token:spent":"SPENT","wallet:created":"WALLET+","wallet:changed":"WALLET~"})[a]||a.split(":").pop()?.toUpperCase()||a}(a.type)}),(0,d.jsx)("span",{className:"font-mono text-[8px] text-[var(--color-text-muted,#6b7280)] truncate",children:c})]}),(0,d.jsx)("span",{className:"font-mono text-[7px] text-[var(--color-text-muted,#6b7280)] shrink-0",children:function(a){let b=Math.floor((Date.now()-a)/1e3),c=Math.floor(b/60),d=Math.floor(c/60),e=Math.floor(d/24);return b<10?"just now":b<60?`${b}s ago`:c<60?`${c}m ago`:d<24?`${d}h ago`:`${e}d ago`}(a.timestamp)})]}),(0,d.jsx)("div",{className:"hidden group-hover:block mt-1.5 pt-1.5 border-t border-[var(--color-border-muted,#e5e5e5)]",children:(0,d.jsx)("div",{className:"font-mono text-[7px] text-[var(--color-text-muted,#6b7280)] break-all",children:JSON.stringify(a.data,null,0)})})]},a.id)}),J.length>=B&&(0,d.jsx)("button",{onClick:()=>C(a=>a+50),className:"w-full py-2 font-mono text-[8px] text-[var(--color-text-muted,#6b7280)] hover:text-[var(--color-text,#0a0a0a)] hover:bg-[var(--color-surface-alt,#fafafa)] transition-colors",children:"LOAD MORE"})]})]}):(0,d.jsxs)("div",{className:"py-6 text-center",children:[(0,d.jsx)(f.A,{size:20,className:"mx-auto mb-2 text-[var(--color-text-faint,#9ca3af)]"}),(0,d.jsx)("div",{className:"font-mono text-[9px] text-[var(--color-text-muted,#6b7280)]",children:"AGENT LOCKED"})]})},s=r},90417:(a,b,c)=>{Promise.resolve().then(c.bind(c,40977))},91645:a=>{"use strict";a.exports=require("net")},94735:a=>{"use strict";a.exports=require("events")}};var b=require("../../webpack-runtime.js");b.C(a);var c=b.X(0,[1331,2395,2269,1350,6415,7935,5246,1196,6470,9971],()=>b(b.s=3387));module.exports=c})();
@@ -1 +1 @@
1
- {"version":1,"files":["../../../../node_modules/next/dist/client/components/app-router-headers.js","../../../../node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../node_modules/next/dist/compiled/jsonwebtoken/index.js","../../../../node_modules/next/dist/compiled/jsonwebtoken/package.json","../../../../node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../../node_modules/next/dist/lib/client-and-server-references.js","../../../../node_modules/next/dist/lib/constants.js","../../../../node_modules/next/dist/lib/interop-default.js","../../../../node_modules/next/dist/lib/is-error.js","../../../../node_modules/next/dist/lib/semver-noop.js","../../../../node_modules/next/dist/server/app-render/action-async-storage-instance.js","../../../../node_modules/next/dist/server/app-render/action-async-storage.external.js","../../../../node_modules/next/dist/server/app-render/after-task-async-storage-instance.js","../../../../node_modules/next/dist/server/app-render/after-task-async-storage.external.js","../../../../node_modules/next/dist/server/app-render/async-local-storage.js","../../../../node_modules/next/dist/server/app-render/cache-signal.js","../../../../node_modules/next/dist/server/app-render/dynamic-access-async-storage-instance.js","../../../../node_modules/next/dist/server/app-render/dynamic-access-async-storage.external.js","../../../../node_modules/next/dist/server/app-render/module-loading/track-module-loading.external.js","../../../../node_modules/next/dist/server/app-render/module-loading/track-module-loading.instance.js","../../../../node_modules/next/dist/server/app-render/work-async-storage-instance.js","../../../../node_modules/next/dist/server/app-render/work-async-storage.external.js","../../../../node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js","../../../../node_modules/next/dist/server/app-render/work-unit-async-storage.external.js","../../../../node_modules/next/dist/server/lib/cache-handlers/default.external.js","../../../../node_modules/next/dist/server/lib/incremental-cache/memory-cache.external.js","../../../../node_modules/next/dist/server/lib/incremental-cache/shared-cache-controls.external.js","../../../../node_modules/next/dist/server/lib/incremental-cache/tags-manifest.external.js","../../../../node_modules/next/dist/server/lib/lru-cache.js","../../../../node_modules/next/dist/server/lib/router-utils/instrumentation-globals.external.js","../../../../node_modules/next/dist/server/lib/router-utils/instrumentation-node-extensions.js","../../../../node_modules/next/dist/server/lib/trace/constants.js","../../../../node_modules/next/dist/server/lib/trace/tracer.js","../../../../node_modules/next/dist/server/load-manifest.external.js","../../../../node_modules/next/dist/server/response-cache/types.js","../../../../node_modules/next/dist/shared/lib/deep-freeze.js","../../../../node_modules/next/dist/shared/lib/invariant-error.js","../../../../node_modules/next/dist/shared/lib/is-plain-object.js","../../../../node_modules/next/dist/shared/lib/is-thenable.js","../../../../node_modules/next/dist/shared/lib/no-fallback-error.external.js","../../../../node_modules/next/dist/shared/lib/page-path/ensure-leading-slash.js","../../../../node_modules/next/dist/shared/lib/router/utils/app-paths.js","../../../../node_modules/next/dist/shared/lib/router/utils/html-bots.js","../../../../node_modules/next/dist/shared/lib/router/utils/is-bot.js","../../../../node_modules/next/dist/shared/lib/segment.js","../../../../node_modules/next/dist/shared/lib/server-reference-info.js","../../../../node_modules/next/package.json","../../../package.json","../../chunks/1196.js","../../chunks/1331.js","../../chunks/1350.js","../../chunks/2234.js","../../chunks/2269.js","../../chunks/2395.js","../../chunks/2945.js","../../chunks/372.js","../../chunks/4337.js","../../chunks/4600.js","../../chunks/5246.js","../../chunks/5482.js","../../chunks/5553.js","../../chunks/6470.js","../../chunks/7585.js","../../chunks/7935.js","../../chunks/8011.js","../../chunks/8468.js","../../chunks/9971.js","../../webpack-runtime.js","page_client-reference-manifest.js"]}
1
+ {"version":1,"files":["../../../../node_modules/next/dist/client/components/app-router-headers.js","../../../../node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../node_modules/next/dist/compiled/jsonwebtoken/index.js","../../../../node_modules/next/dist/compiled/jsonwebtoken/package.json","../../../../node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../../node_modules/next/dist/lib/client-and-server-references.js","../../../../node_modules/next/dist/lib/constants.js","../../../../node_modules/next/dist/lib/interop-default.js","../../../../node_modules/next/dist/lib/is-error.js","../../../../node_modules/next/dist/lib/semver-noop.js","../../../../node_modules/next/dist/server/app-render/action-async-storage-instance.js","../../../../node_modules/next/dist/server/app-render/action-async-storage.external.js","../../../../node_modules/next/dist/server/app-render/after-task-async-storage-instance.js","../../../../node_modules/next/dist/server/app-render/after-task-async-storage.external.js","../../../../node_modules/next/dist/server/app-render/async-local-storage.js","../../../../node_modules/next/dist/server/app-render/cache-signal.js","../../../../node_modules/next/dist/server/app-render/dynamic-access-async-storage-instance.js","../../../../node_modules/next/dist/server/app-render/dynamic-access-async-storage.external.js","../../../../node_modules/next/dist/server/app-render/module-loading/track-module-loading.external.js","../../../../node_modules/next/dist/server/app-render/module-loading/track-module-loading.instance.js","../../../../node_modules/next/dist/server/app-render/work-async-storage-instance.js","../../../../node_modules/next/dist/server/app-render/work-async-storage.external.js","../../../../node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js","../../../../node_modules/next/dist/server/app-render/work-unit-async-storage.external.js","../../../../node_modules/next/dist/server/lib/cache-handlers/default.external.js","../../../../node_modules/next/dist/server/lib/incremental-cache/memory-cache.external.js","../../../../node_modules/next/dist/server/lib/incremental-cache/shared-cache-controls.external.js","../../../../node_modules/next/dist/server/lib/incremental-cache/tags-manifest.external.js","../../../../node_modules/next/dist/server/lib/lru-cache.js","../../../../node_modules/next/dist/server/lib/router-utils/instrumentation-globals.external.js","../../../../node_modules/next/dist/server/lib/router-utils/instrumentation-node-extensions.js","../../../../node_modules/next/dist/server/lib/trace/constants.js","../../../../node_modules/next/dist/server/lib/trace/tracer.js","../../../../node_modules/next/dist/server/load-manifest.external.js","../../../../node_modules/next/dist/server/response-cache/types.js","../../../../node_modules/next/dist/shared/lib/deep-freeze.js","../../../../node_modules/next/dist/shared/lib/invariant-error.js","../../../../node_modules/next/dist/shared/lib/is-plain-object.js","../../../../node_modules/next/dist/shared/lib/is-thenable.js","../../../../node_modules/next/dist/shared/lib/no-fallback-error.external.js","../../../../node_modules/next/dist/shared/lib/page-path/ensure-leading-slash.js","../../../../node_modules/next/dist/shared/lib/router/utils/app-paths.js","../../../../node_modules/next/dist/shared/lib/router/utils/html-bots.js","../../../../node_modules/next/dist/shared/lib/router/utils/is-bot.js","../../../../node_modules/next/dist/shared/lib/segment.js","../../../../node_modules/next/dist/shared/lib/server-reference-info.js","../../../../node_modules/next/package.json","../../../package.json","../../chunks/1196.js","../../chunks/1331.js","../../chunks/1350.js","../../chunks/2234.js","../../chunks/2269.js","../../chunks/2395.js","../../chunks/2945.js","../../chunks/372.js","../../chunks/4337.js","../../chunks/4600.js","../../chunks/5246.js","../../chunks/5482.js","../../chunks/6415.js","../../chunks/6470.js","../../chunks/7585.js","../../chunks/7935.js","../../chunks/8011.js","../../chunks/8468.js","../../chunks/9971.js","../../webpack-runtime.js","page_client-reference-manifest.js"]}