auramaxx 0.0.12 → 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 (334) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/app-build-manifest.json +244 -227
  3. package/.next/app-path-routes-manifest.json +11 -10
  4. package/.next/build-manifest.json +14 -14
  5. package/.next/prerender-manifest.json +49 -25
  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_client-reference-manifest.js +1 -1
  24. package/.next/server/app/api/update/route.js +63 -1
  25. package/.next/server/app/api/update/route.js.nft.json +1 -1
  26. package/.next/server/app/api/update/route_client-reference-manifest.js +1 -1
  27. package/.next/server/app/api/version/route_client-reference-manifest.js +1 -1
  28. package/.next/server/app/api/workspace/[id]/apps/[wid]/route_client-reference-manifest.js +1 -1
  29. package/.next/server/app/api/workspace/[id]/apps/route_client-reference-manifest.js +1 -1
  30. package/.next/server/app/api/workspace/[id]/export/route_client-reference-manifest.js +1 -1
  31. package/.next/server/app/api/workspace/[id]/route_client-reference-manifest.js +1 -1
  32. package/.next/server/app/api/workspace/config/route_client-reference-manifest.js +1 -1
  33. package/.next/server/app/api/workspace/import/route_client-reference-manifest.js +1 -1
  34. package/.next/server/app/api/workspace/route_client-reference-manifest.js +1 -1
  35. package/.next/server/app/app-legacy-do-not-use/page.js +1 -1
  36. package/.next/server/app/app-legacy-do-not-use/page.js.nft.json +1 -1
  37. package/.next/server/app/app-legacy-do-not-use/page_client-reference-manifest.js +1 -1
  38. package/.next/server/app/app-legacy-do-not-use.html +1 -1
  39. package/.next/server/app/app-legacy-do-not-use.rsc +14 -14
  40. package/.next/server/app/approve/[actionId]/page.js +1 -1
  41. package/.next/server/app/approve/[actionId]/page_client-reference-manifest.js +1 -1
  42. package/.next/server/app/docs/[...doc]/page_client-reference-manifest.js +1 -1
  43. package/.next/server/app/docs/page_client-reference-manifest.js +1 -1
  44. package/.next/server/app/health/page_client-reference-manifest.js +1 -1
  45. package/.next/server/app/health.html +1 -1
  46. package/.next/server/app/health.rsc +13 -13
  47. package/.next/server/app/hello/page_client-reference-manifest.js +1 -1
  48. package/.next/server/app/hello.html +1 -1
  49. package/.next/server/app/hello.rsc +14 -14
  50. package/.next/server/app/index.html +1 -1
  51. package/.next/server/app/index.rsc +18 -21
  52. package/.next/server/app/page.js +3 -3
  53. package/.next/server/app/page.js.nft.json +1 -1
  54. package/.next/server/app/page_client-reference-manifest.js +1 -1
  55. package/.next/server/app/privacy/page_client-reference-manifest.js +1 -1
  56. package/.next/server/app/privacy.html +1 -1
  57. package/.next/server/app/privacy.rsc +13 -13
  58. package/.next/server/app/share/[token]/page_client-reference-manifest.js +1 -1
  59. package/.next/server/app/terms/page_client-reference-manifest.js +1 -1
  60. package/.next/server/app/terms.html +1 -1
  61. package/.next/server/app/terms.rsc +13 -13
  62. package/.next/server/app/yo/page.js +2 -0
  63. package/.next/server/app/yo/page.js.nft.json +1 -0
  64. package/.next/server/app/yo/page_client-reference-manifest.js +1 -0
  65. package/.next/server/app/yo.html +1 -0
  66. package/.next/server/app/yo.meta +7 -0
  67. package/.next/server/app/yo.rsc +23 -0
  68. package/.next/server/app-paths-manifest.json +11 -10
  69. package/.next/server/chunks/2145.js +1 -1
  70. package/.next/server/chunks/2460.js +1 -1
  71. package/.next/server/chunks/5246.js +1 -1
  72. package/.next/server/chunks/5678.js +1 -1
  73. package/.next/server/chunks/5784.js +1 -1
  74. package/.next/server/chunks/6086.js +2 -20
  75. package/.next/server/chunks/{5553.js → 6415.js} +2 -2
  76. package/.next/server/chunks/7935.js +2 -2
  77. package/.next/server/functions-config-manifest.json +1 -1
  78. package/.next/server/instrumentation.js +1 -1
  79. package/.next/server/middleware-build-manifest.js +1 -1
  80. package/.next/server/middleware-react-loadable-manifest.js +1 -1
  81. package/.next/server/pages/404.html +1 -1
  82. package/.next/server/pages/500.html +1 -1
  83. package/.next/server/server-reference-manifest.json +1 -1
  84. package/.next/server/webpack-runtime.js +1 -1
  85. package/.next/static/WshFGr6RxGYP6AbWuT9OG/_buildManifest.js +1 -0
  86. package/.next/static/chunks/1168.aaac1edbb597fe5a.js +1 -0
  87. package/.next/static/chunks/1255-7999eac54f80a49f.js +1 -0
  88. package/.next/static/chunks/142-fa9752f53a551f63.js +1 -0
  89. package/.next/static/chunks/2505.d54ccadc42f4e3d1.js +1 -0
  90. package/.next/static/chunks/2619-04bc32f026a0d946.js +1 -0
  91. package/.next/static/chunks/2927.7e00cc878d9a3f52.js +1 -0
  92. package/.next/static/chunks/3573-1b41d7b8a000d015.js +1 -0
  93. package/.next/static/chunks/3609.ded5a5306e18af9c.js +1 -0
  94. package/.next/static/chunks/3667-1db7bd03948e60df.js +1 -0
  95. package/.next/static/chunks/3826.a73d4a88d8c09030.js +1 -0
  96. package/.next/static/chunks/{3a91511d-648a2ba3dad7df0c.js → 3a91511d-ba215c0b5dc21ba9.js} +1 -1
  97. package/.next/static/chunks/4256.48407d9abad5ea33.js +1 -0
  98. package/.next/static/chunks/4685-7f53bbfc4a9845eb.js +1 -0
  99. package/.next/static/chunks/4901-ba6a32818662e70a.js +1 -0
  100. package/.next/static/chunks/4919-7e7cdd5efc9f2110.js +1 -0
  101. package/.next/static/chunks/4bd1b696-100b9d70ed4e49c1.js +1 -0
  102. package/.next/static/chunks/5336-233ec7ab3807267c.js +1 -0
  103. package/.next/static/chunks/5442-b5bb869e832e8967.js +1 -0
  104. package/.next/static/chunks/6233-97a810aa272af547.js +1 -0
  105. package/.next/static/chunks/626.a5109d16f9eca1f6.js +1 -0
  106. package/.next/static/chunks/6872-faea0f088ab2d450.js +1 -0
  107. package/.next/static/chunks/7338-3ce17a93614f1d77.js +59 -0
  108. package/.next/static/chunks/7394-4bdb1feefad1a74a.js +1 -0
  109. package/.next/static/chunks/7616-1129bcb3eee8d315.js +1 -0
  110. package/.next/static/chunks/786-26deffb41572cbb3.js +1 -0
  111. package/.next/static/chunks/8273-8e92d34180669ca9.js +1 -0
  112. package/.next/static/chunks/8357.5dee1e0c4e5bb091.js +1 -0
  113. package/.next/static/chunks/9062-2bc2d089f9c9c6ba.js +1 -0
  114. package/.next/static/chunks/9380.f198afbf0c6b5369.js +1 -0
  115. package/.next/static/chunks/app/_not-found/page-5a8c6a29f762fa58.js +1 -0
  116. package/.next/static/chunks/app/api/[...doc]/page-f0852f35f0fd1d44.js +1 -0
  117. package/.next/static/chunks/app/api/agent-requests/route-cf84f975aad4c719.js +1 -0
  118. package/.next/static/chunks/app/api/apps/install/route-cf84f975aad4c719.js +1 -0
  119. package/.next/static/chunks/app/api/apps/manifests/route-cf84f975aad4c719.js +1 -0
  120. package/.next/static/chunks/app/api/apps/static/[...path]/route-cf84f975aad4c719.js +1 -0
  121. package/.next/static/chunks/app/api/docs/plain/route-cf84f975aad4c719.js +1 -0
  122. package/.next/static/chunks/app/api/events/route-cf84f975aad4c719.js +1 -0
  123. package/.next/static/chunks/app/api/import-from-openclaw/[channel]/route-cf84f975aad4c719.js +1 -0
  124. package/.next/static/chunks/app/api/import-from-openclaw/route-cf84f975aad4c719.js +1 -0
  125. package/.next/static/chunks/app/api/import-from-openclaw/validate/[channel]/route-cf84f975aad4c719.js +1 -0
  126. package/.next/static/chunks/app/api/page-cc59bebcc0d2c01d.js +1 -0
  127. package/.next/static/chunks/app/api/restart/route-cf84f975aad4c719.js +1 -0
  128. package/.next/static/chunks/app/api/update/route-cf84f975aad4c719.js +1 -0
  129. package/.next/static/chunks/app/api/version/route-cf84f975aad4c719.js +1 -0
  130. package/.next/static/chunks/app/api/workspace/[id]/apps/[wid]/route-cf84f975aad4c719.js +1 -0
  131. package/.next/static/chunks/app/api/workspace/[id]/apps/route-cf84f975aad4c719.js +1 -0
  132. package/.next/static/chunks/app/api/workspace/[id]/export/route-cf84f975aad4c719.js +1 -0
  133. package/.next/static/chunks/app/api/workspace/[id]/route-cf84f975aad4c719.js +1 -0
  134. package/.next/static/chunks/app/api/workspace/config/route-cf84f975aad4c719.js +1 -0
  135. package/.next/static/chunks/app/api/workspace/import/route-cf84f975aad4c719.js +1 -0
  136. package/.next/static/chunks/app/api/workspace/route-cf84f975aad4c719.js +1 -0
  137. package/.next/static/chunks/app/app-legacy-do-not-use/page-e5dc864e92d90ca7.js +1 -0
  138. package/.next/static/chunks/app/approve/[actionId]/page-2acca1f490424f21.js +1 -0
  139. package/.next/static/chunks/app/docs/[...doc]/page-8e2a2d036caab242.js +1 -0
  140. package/.next/static/chunks/app/docs/page-acf872a03ff79893.js +1 -0
  141. package/.next/static/chunks/app/error-66f983b7769dabfa.js +1 -0
  142. package/.next/static/chunks/app/health/page-c9185854ed9c86d0.js +1 -0
  143. package/.next/static/chunks/app/hello/page-74c9f4deaa4b03dd.js +1 -0
  144. package/.next/static/chunks/app/layout-af8d9969c7aeb758.js +1 -0
  145. package/.next/static/chunks/app/page-16dfcd1c7cc88bcc.js +1 -0
  146. package/.next/static/chunks/app/privacy/page-8e2d17079355c2cc.js +1 -0
  147. package/.next/static/chunks/app/share/[token]/page-5dd9b0418eee411f.js +1 -0
  148. package/.next/static/chunks/app/terms/page-8e2d17079355c2cc.js +1 -0
  149. package/.next/static/chunks/app/yo/layout-cf84f975aad4c719.js +1 -0
  150. package/.next/static/chunks/app/yo/page-719dc5f213fdfb30.js +1 -0
  151. package/.next/static/chunks/framework-a32a2a465584c0bc.js +1 -0
  152. package/.next/static/chunks/main-0f0f9142f74e7215.js +1 -0
  153. package/.next/static/chunks/main-app-24f0c92ba10af457.js +1 -0
  154. package/.next/static/chunks/pages/_app-4b3fb5e477a0267f.js +1 -0
  155. package/.next/static/chunks/pages/_error-c970d8b55ace1b48.js +1 -0
  156. package/.next/static/chunks/{webpack-768de8b7d6a7a27a.js → webpack-79ad58260e9b10b4.js} +1 -1
  157. package/.next/static/css/83cd401584ab787f.css +3 -0
  158. package/.next/trace +28 -28
  159. package/.next/types/app/yo/layout.ts +84 -0
  160. package/.next/types/app/yo/page.ts +84 -0
  161. package/.next/types/routes.d.ts +4 -2
  162. package/.next/types/validator.ts +18 -0
  163. package/bin/auramaxx.js +9 -24
  164. package/docs/ARCHITECTURE.md +1 -1
  165. package/docs/AUTH.md +6 -3
  166. package/docs/CLI.md +2 -0
  167. package/docs/MCP.md +2 -0
  168. package/docs/credentials.md +2 -0
  169. package/package.json +1 -1
  170. package/prisma/migrations/20260227214000_update_agent_action_ttl_defaults/migration.sql +19 -0
  171. package/public/0a167e5e-4f52-4715-ae23-bf63d259a6b1.png +0 -0
  172. package/public/141ec92c-6780-4b23-838f-9a7bf1e91bb8.png +0 -0
  173. package/public/3afc4935-92cb-42af-9624-0b1341c12a5e.png +0 -0
  174. package/public/43947df5-dbcf-4e49-ab8b-41b9162c0410.png +0 -0
  175. package/public/5aeae9ce-0d38-49ea-8fd1-167892a04a85.png +0 -0
  176. package/public/660e4ea3-a3a6-4be4-a8ca-2cb74c51dfb5.png +0 -0
  177. package/public/733f02d7-6b58-4ba6-a5c8-d062cd205e1d.png +0 -0
  178. package/public/a32d65cb-95b0-4977-be6b-cf69f515afbe.png +0 -0
  179. package/public/agent1.png +0 -0
  180. package/public/agent10.png +0 -0
  181. package/public/agent2.png +0 -0
  182. package/public/agent3.png +0 -0
  183. package/public/agent4.png +0 -0
  184. package/public/agent5.png +0 -0
  185. package/public/agent6.png +0 -0
  186. package/public/agent7.png +0 -0
  187. package/public/agent8.png +0 -0
  188. package/public/agent9.png +0 -0
  189. package/public/c4938305-b811-4ccc-91db-94d309734827.png +0 -0
  190. package/public/f2ca6825-a4f3-4107-815c-51ee740dfc09.png +0 -0
  191. package/public/llm.txt +2 -0
  192. package/public/llms.txt +39 -0
  193. package/public/ss-dark1.png +0 -0
  194. package/public/ss-dark1.webp +0 -0
  195. package/public/ss-dark2.png +0 -0
  196. package/public/ss-dark2.webp +0 -0
  197. package/public/ss-dark3.png +0 -0
  198. package/public/ss-dark3.webp +0 -0
  199. package/public/ss-light1.png +0 -0
  200. package/public/ss-light1.webp +0 -0
  201. package/public/ss-light2.png +0 -0
  202. package/public/ss-light2.webp +0 -0
  203. package/public/ss-light3.png +0 -0
  204. package/public/ss-light3.webp +0 -0
  205. package/shared/agent-profile-schema.ts +81 -0
  206. package/shared/credential-field-schema.ts +12 -0
  207. package/skills/auramaxx/SKILL.md +71 -691
  208. package/src/app/UnlockPageClient.tsx +1939 -0
  209. package/src/app/api/page.tsx +8 -9
  210. package/src/app/api/update/route.ts +105 -36
  211. package/src/app/approve/[actionId]/page.tsx +4 -1
  212. package/src/app/docs/DocsPageContent.tsx +3 -3
  213. package/src/app/globals.css +94 -0
  214. package/src/app/layout.tsx +1 -0
  215. package/src/app/page.tsx +25 -1935
  216. package/src/app/yo/layout.tsx +29 -0
  217. package/src/app/yo/page.tsx +528 -0
  218. package/src/components/HumanActionBar.tsx +34 -8
  219. package/src/components/agent/AgentSidebar.tsx +3 -1
  220. package/src/components/agent/CredentialAgent.tsx +5 -1
  221. package/src/components/agent/CredentialDetail.tsx +32 -1
  222. package/src/components/agent/CredentialForm.tsx +94 -7
  223. package/src/components/agent/CredentialRow.tsx +8 -1
  224. package/src/components/agent/credentialFormName.ts +22 -1
  225. package/src/components/agent/types.ts +2 -2
  226. package/src/components/design-system/Modal.tsx +14 -1
  227. package/src/hooks/useUpdateChecker.ts +17 -1
  228. package/src/lib/pino.ts +77 -8
  229. package/src/server/cli/commands/actions.ts +1 -1
  230. package/src/server/cli/commands/agent.ts +110 -65
  231. package/src/server/cli/commands/approve.ts +1 -1
  232. package/src/server/cli/commands/auth.ts +81 -20
  233. package/src/server/cli/commands/token.ts +2 -2
  234. package/src/server/cli/lib/escalation.ts +109 -24
  235. package/src/server/cli/lib/process.ts +2 -1
  236. package/src/server/cli/socket.ts +1 -1
  237. package/src/server/index.ts +2 -0
  238. package/src/server/lib/agent-profile-records.ts +72 -0
  239. package/src/server/lib/credential-transport.ts +27 -11
  240. package/src/server/lib/defaults.ts +3 -3
  241. package/src/server/lib/escalation-responder.ts +1 -1
  242. package/src/server/lib/resolve-action.ts +2 -2
  243. package/src/server/mcp/server.ts +6 -1
  244. package/src/server/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +1 -1
  245. package/src/server/routes/actions.ts +2 -2
  246. package/src/server/routes/agent-profiles.ts +82 -0
  247. package/src/server/routes/auth.ts +39 -4
  248. package/src/server/routes/credentials.ts +18 -0
  249. package/src/server/tests/cli/agent-auth.test.ts +20 -39
  250. package/src/server/tests/cli/agent.test.ts +18 -0
  251. package/src/server/tests/cli/auth-action-flag.test.ts +3 -2
  252. package/src/server/tests/cli/bin-entrypoint.test.ts +35 -11
  253. package/src/server/tests/cli/escalation.test.ts +7 -3
  254. package/src/server/tests/cli/process.test.ts +3 -3
  255. package/src/server/tests/cli/socket.test.ts +2 -2
  256. package/src/server/tests/endpoints/actions.test.ts +2 -2
  257. package/src/server/tests/endpoints/agent-profiles.test.ts +117 -0
  258. package/src/server/tests/endpoints/auth.test.ts +34 -0
  259. package/src/server/tests/lib/credential-transport.test.ts +68 -2
  260. package/src/server/tests/lib/defaults.test.ts +2 -2
  261. package/src/server/tests/lib/escalation-responder.test.ts +2 -2
  262. package/src/server/tests/setup.ts +7 -0
  263. package/src/server/tsconfig.tsbuildinfo +1 -1
  264. package/src/server/types.ts +1 -1
  265. package/.next/static/chunks/1168.63dbb444a33b1867.js +0 -1
  266. package/.next/static/chunks/1255-e8718b02724690dd.js +0 -1
  267. package/.next/static/chunks/142-aeaf7ffa9c53516d.js +0 -1
  268. package/.next/static/chunks/2505.22aaa333fd65908f.js +0 -1
  269. package/.next/static/chunks/2619-3c9e02e22d10480a.js +0 -1
  270. package/.next/static/chunks/2927.e7e9e2a1b8d2dc61.js +0 -1
  271. package/.next/static/chunks/3573-27e17f4ff2dd86ed.js +0 -1
  272. package/.next/static/chunks/3609.6f8e0ecd6de9566c.js +0 -1
  273. package/.next/static/chunks/3667-d6770121629db38b.js +0 -1
  274. package/.next/static/chunks/3826.7dfe96467cd74e45.js +0 -1
  275. package/.next/static/chunks/4256.50cb375c979ffd5a.js +0 -1
  276. package/.next/static/chunks/4685-3f8d92f574366fec.js +0 -1
  277. package/.next/static/chunks/4901-54c1ac380b7b43bb.js +0 -1
  278. package/.next/static/chunks/4919-fe6f1553abfc9420.js +0 -1
  279. package/.next/static/chunks/4bd1b696-f785427dddbba9fb.js +0 -1
  280. package/.next/static/chunks/5336-bd251f91235f7c11.js +0 -1
  281. package/.next/static/chunks/5442-be197c885bf12079.js +0 -1
  282. package/.next/static/chunks/5553-c8b86fe3513fce04.js +0 -59
  283. package/.next/static/chunks/6233-44e6fe57a552a816.js +0 -1
  284. package/.next/static/chunks/626.2583673a0386a81b.js +0 -1
  285. package/.next/static/chunks/6872-6442f2f5cce36ce5.js +0 -1
  286. package/.next/static/chunks/7411-3ca797c21b722ccd.js +0 -1
  287. package/.next/static/chunks/7616-b8bd37ce1f735d6f.js +0 -1
  288. package/.next/static/chunks/786-9ed39f96091b2be4.js +0 -1
  289. package/.next/static/chunks/8273-922091226ba84a94.js +0 -1
  290. package/.next/static/chunks/8357.6159472717ff7d11.js +0 -1
  291. package/.next/static/chunks/9062-3eb1607c96486f88.js +0 -1
  292. package/.next/static/chunks/9380.93f361baab2eefdf.js +0 -1
  293. package/.next/static/chunks/app/_not-found/page-c3b87025baf0a9c2.js +0 -1
  294. package/.next/static/chunks/app/api/[...doc]/page-790c4b33ba1fde4a.js +0 -1
  295. package/.next/static/chunks/app/api/agent-requests/route-e83b12cbab2e8707.js +0 -1
  296. package/.next/static/chunks/app/api/apps/install/route-e83b12cbab2e8707.js +0 -1
  297. package/.next/static/chunks/app/api/apps/manifests/route-e83b12cbab2e8707.js +0 -1
  298. package/.next/static/chunks/app/api/apps/static/[...path]/route-e83b12cbab2e8707.js +0 -1
  299. package/.next/static/chunks/app/api/docs/plain/route-e83b12cbab2e8707.js +0 -1
  300. package/.next/static/chunks/app/api/events/route-e83b12cbab2e8707.js +0 -1
  301. package/.next/static/chunks/app/api/import-from-openclaw/[channel]/route-e83b12cbab2e8707.js +0 -1
  302. package/.next/static/chunks/app/api/import-from-openclaw/route-e83b12cbab2e8707.js +0 -1
  303. package/.next/static/chunks/app/api/import-from-openclaw/validate/[channel]/route-e83b12cbab2e8707.js +0 -1
  304. package/.next/static/chunks/app/api/page-b53f9aa17a4c5201.js +0 -1
  305. package/.next/static/chunks/app/api/restart/route-e83b12cbab2e8707.js +0 -1
  306. package/.next/static/chunks/app/api/update/route-e83b12cbab2e8707.js +0 -1
  307. package/.next/static/chunks/app/api/version/route-e83b12cbab2e8707.js +0 -1
  308. package/.next/static/chunks/app/api/workspace/[id]/apps/[wid]/route-e83b12cbab2e8707.js +0 -1
  309. package/.next/static/chunks/app/api/workspace/[id]/apps/route-e83b12cbab2e8707.js +0 -1
  310. package/.next/static/chunks/app/api/workspace/[id]/export/route-e83b12cbab2e8707.js +0 -1
  311. package/.next/static/chunks/app/api/workspace/[id]/route-e83b12cbab2e8707.js +0 -1
  312. package/.next/static/chunks/app/api/workspace/config/route-e83b12cbab2e8707.js +0 -1
  313. package/.next/static/chunks/app/api/workspace/import/route-e83b12cbab2e8707.js +0 -1
  314. package/.next/static/chunks/app/api/workspace/route-e83b12cbab2e8707.js +0 -1
  315. package/.next/static/chunks/app/app-legacy-do-not-use/page-0052191daef60036.js +0 -1
  316. package/.next/static/chunks/app/approve/[actionId]/page-45cd3b8fa062d5e5.js +0 -1
  317. package/.next/static/chunks/app/docs/[...doc]/page-632ac406200b66fe.js +0 -1
  318. package/.next/static/chunks/app/docs/page-b7556394709b43df.js +0 -1
  319. package/.next/static/chunks/app/error-3d6057da512253d8.js +0 -1
  320. package/.next/static/chunks/app/health/page-80c985cd72328b74.js +0 -1
  321. package/.next/static/chunks/app/hello/page-fd71babcd192729b.js +0 -1
  322. package/.next/static/chunks/app/layout-285c6ef3f16bae63.js +0 -1
  323. package/.next/static/chunks/app/page-85017185df14c37b.js +0 -1
  324. package/.next/static/chunks/app/privacy/page-faf36cd0dde6dfa3.js +0 -1
  325. package/.next/static/chunks/app/share/[token]/page-22d51d6c5a47bb75.js +0 -1
  326. package/.next/static/chunks/app/terms/page-faf36cd0dde6dfa3.js +0 -1
  327. package/.next/static/chunks/framework-e60c938074ff7136.js +0 -1
  328. package/.next/static/chunks/main-447abf206d7ebd2f.js +0 -1
  329. package/.next/static/chunks/main-app-f63b86bdbf5b7b88.js +0 -1
  330. package/.next/static/chunks/pages/_app-6c8c2371b16a04b8.js +0 -1
  331. package/.next/static/chunks/pages/_error-94812ad32cad7365.js +0 -1
  332. package/.next/static/css/eb25c6452113486f.css +0 -3
  333. package/.next/static/zCR6u3S4dIjlCtV80nNsp/_buildManifest.js +0 -1
  334. /package/.next/static/{zCR6u3S4dIjlCtV80nNsp → WshFGr6RxGYP6AbWuT9OG}/_ssgManifest.js +0 -0
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[4256,6022],{626:(e,t,a)=>{"use strict";a.r(t),a.d(t,{LogsApp:()=>h,default:()=>b});var r=a(5155),s=a(2115),o=a(9708),l=a(5299),n=a(9559),c=a(3581),i=a(4033),d=a(3166),x=a(3738),m=a(6983),u=a(2520),p=a(4901),f=a(960);let v={"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)"},h=e=>{var t;let{maxHeight:a=320}=e,[h,b]=(0,s.useState)([]),[g,j]=(0,s.useState)(!0),[y,N]=(0,s.useState)(!1),[w,k]=(0,s.useState)(null),[A,C]=(0,s.useState)("all"),[S,E]=(0,s.useState)(!1),[I,z]=(0,s.useState)(50),{subscribe:T,connected:L}=(0,u.h)(),{isUnlocked:P}=(0,p.A)(),F=(0,s.useCallback)(async()=>{try{let e={limit:I};"all"!==A&&(e.type=A);let t=await f.FH.get(f.jI.Events,"/events",e);if(t.success){let e=t.events.map(e=>({id:e.id,type:e.type,source:e.source,data:"string"==typeof e.data?JSON.parse(e.data):e.data,timestamp:new Date(e.timestamp).getTime()}));b(e),k(null)}else k(t.error||"Failed to fetch logs")}catch(e){k(e instanceof Error?e.message:"Failed to fetch logs")}finally{j(!1),N(!1)}},[A,I]);(0,s.useEffect)(()=>{if(!P)return void j(!1);F()},[F,P]),(0,s.useEffect)(()=>T("*",e=>{let t=e.type;if(!t||t.startsWith("workspace:")||t.startsWith("app:")||t.startsWith("theme:")||"error"===t||"connected"===t)return;let a={id:"ws-".concat(Date.now(),"-").concat(Math.random().toString(36).slice(2,8)),type:e.type,source:e.source,data:e.data,timestamp:e.timestamp,isNew:!0};b(e=>{let t=e.filter(e=>!(e.type===a.type&&1e3>Math.abs(e.timestamp-a.timestamp)));return[a,...t].slice(0,I+50)}),setTimeout(()=>{b(e=>e.map(e=>e.id===a.id?{...e,isNew:!1}:e))},5e3)}),[T,I]);let R=()=>{N(!0),F()},O=[{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"}],D="all"===A?h:h.filter(e=>e.type===A);return P?g?(0,r.jsxs)("div",{className:"py-6 text-center",children:[(0,r.jsx)(l.A,{size:20,className:"mx-auto mb-2 text-[var(--color-text-faint,#9ca3af)] animate-spin"}),(0,r.jsx)("div",{className:"font-mono text-[9px] text-[var(--color-text-muted,#6b7280)]",children:"LOADING LOGS..."})]}):w?(0,r.jsxs)("div",{className:"py-6 text-center",children:[(0,r.jsx)("div",{className:"font-mono text-[9px] text-[var(--color-warning,#ff4d00)] mb-2",children:w}),(0,r.jsxs)("button",{onClick:R,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,r.jsx)(n.A,{size:10}),"RETRY"]})]}):(0,r.jsxs)("div",{className:"space-y-2",children:[(0,r.jsxs)("div",{className:"flex items-center justify-between",children:[(0,r.jsxs)("div",{className:"relative",children:[(0,r.jsxs)("button",{onClick:()=>E(!S),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,r.jsx)(c.A,{size:9}),(null==(t=O.find(e=>e.value===A))?void 0:t.label)||"ALL",(0,r.jsx)(i.A,{size:8,className:S?"rotate-180":""})]}),S&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("div",{className:"fixed inset-0 z-40",onClick:()=>E(!1)}),(0,r.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:O.map(e=>(0,r.jsx)("button",{onClick:()=>{C(e.value),E(!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)] ".concat(A===e.value?"bg-[var(--color-surface-alt,#fafafa)] font-bold":""),children:e.label},e.value))})]})]}),(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[(0,r.jsxs)("div",{className:"flex items-center gap-1",children:[L?(0,r.jsx)(d.A,{size:9,className:"text-[var(--color-success,#00c853)]"}):(0,r.jsx)(x.A,{size:9,className:"text-[var(--color-text-muted,#6b7280)]"}),(0,r.jsx)("span",{className:"font-mono text-[7px] text-[var(--color-text-muted,#6b7280)]",children:L?"LIVE":"OFFLINE"})]}),(0,r.jsx)("span",{className:"font-mono text-[8px] text-[var(--color-text-muted,#6b7280)]",children:D.length}),(0,r.jsx)("button",{onClick:R,disabled:y,className:"p-1 hover:bg-[var(--color-surface-alt,#fafafa)] transition-colors",children:(0,r.jsx)(n.A,{size:10,className:"text-[var(--color-text-muted,#6b7280)] ".concat(y?"animate-spin":"")})})]})]}),0===D.length?(0,r.jsxs)("div",{className:"py-6 text-center",children:[(0,r.jsx)(m.A,{size:20,className:"mx-auto mb-2 text-[var(--color-text-faint,#9ca3af)]"}),(0,r.jsx)("div",{className:"font-mono text-[9px] text-[var(--color-text-muted,#6b7280)]",children:"NO EVENTS YET"})]}):(0,r.jsxs)("div",{className:"space-y-1 overflow-y-auto",style:{maxHeight:a},children:[D.map(e=>{let t=v[e.type]||"var(--color-text-muted, #666)",a=function(e,t){var a,r,s,o,l,n;switch(e){case"action:created":return'Action "'.concat(t.type||t.actionType,'" from ').concat(t.agentId||"agent");case"action:resolved":return"Action ".concat(null==(a=t.id)?void 0:a.slice(0,8),"... ").concat(t.approved?"approved":"rejected");case"token:created":return'Token for "'.concat(t.agentId,'" (').concat(t.limit," ETH)");case"token:revoked":return"Token ".concat(null==(r=t.tokenHash)?void 0:r.slice(0,8),"... revoked");case"token:spent":return"Spent ".concat(t.amount," ETH (").concat(t.remaining," left)");case"wallet:changed":return"".concat(null==(s=t.tier)?void 0:s.toUpperCase()," wallet ").concat(null==(o=t.address)?void 0:o.slice(0,10),"... updated");case"wallet:created":return"".concat(null==(l=t.tier)?void 0:l.toUpperCase()," wallet ").concat(null==(n=t.address)?void 0:n.slice(0,10),"...");default:return t?JSON.stringify(t).slice(0,50):"No data"}}(e.type,e.data);return(0,r.jsxs)("div",{className:"border p-2 transition-all group ".concat(e.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,r.jsxs)("div",{className:"flex items-start justify-between gap-2",children:[(0,r.jsxs)("div",{className:"flex items-center gap-1.5 min-w-0",children:[(0,r.jsx)("div",{className:"w-1.5 h-1.5 shrink-0",style:{backgroundColor:t}}),(0,r.jsx)("span",{className:"font-mono text-[8px] font-bold shrink-0",style:{color:t},children:function(e){var t;return({"action:created":"ACTION","action:resolved":"RESOLVED","token:created":"TOKEN+","token:revoked":"REVOKED","token:spent":"SPENT","wallet:created":"WALLET+","wallet:changed":"WALLET~"})[e]||(null==(t=e.split(":").pop())?void 0:t.toUpperCase())||e}(e.type)}),(0,r.jsx)("span",{className:"font-mono text-[8px] text-[var(--color-text-muted,#6b7280)] truncate",children:a})]}),(0,r.jsx)("span",{className:"font-mono text-[7px] text-[var(--color-text-muted,#6b7280)] shrink-0",children:function(e){let t=Math.floor((Date.now()-e)/1e3),a=Math.floor(t/60),r=Math.floor(a/60),s=Math.floor(r/24);return t<10?"just now":t<60?"".concat(t,"s ago"):a<60?"".concat(a,"m ago"):r<24?"".concat(r,"h ago"):"".concat(s,"d ago")}(e.timestamp)})]}),(0,r.jsx)("div",{className:"hidden group-hover:block mt-1.5 pt-1.5 border-t border-[var(--color-border-muted,#e5e5e5)]",children:(0,r.jsx)("div",{className:"font-mono text-[7px] text-[var(--color-text-muted,#6b7280)] break-all",children:JSON.stringify(e.data,null,0)})})]},e.id)}),D.length>=I&&(0,r.jsx)("button",{onClick:()=>z(e=>e+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,r.jsxs)("div",{className:"py-6 text-center",children:[(0,r.jsx)(o.A,{size:20,className:"mx-auto mb-2 text-[var(--color-text-faint,#9ca3af)]"}),(0,r.jsx)("div",{className:"font-mono text-[9px] text-[var(--color-text-muted,#6b7280)]",children:"AGENT LOCKED"})]})},b=h},2812:(e,t,a)=>{"use strict";a.r(t),a.d(t,{default:()=>eT});var r=a(5155),s=a(2115),o=a(5993),l=a(2056),n=a(5426),c=a(5229),i=a(9708),d=a(5299),x=a(5867),m=a(9602),u=a(8192),p=a(5870),f=a(5917),v=a(6191),h=a(1360),b=a(7910),g=a(5710),j=a(8314),y=a(3667),N=a(8085),w=a(4916),k=a(318),A=a(5880),C=a(8150),S=a(7494),E=a(9427),I=a(1226),z=a(6550),T=a(9559),L=a(6154),P=a(8198),F=a(4472),R=a(5795),O=a(6651),D=a(7828),W=a(532),_=a(850),H=a(4901),U=a(2520),M=a(960),K=a(3409),$=a(5685);let X=e=>{var t;let{onSend:a,onReceive:o,onLogs:l,onAppStore:m,onWalletClick:u,onImportSeed:p,onSettings:f,onStateChange:h}=e,{ethPrice:g,solPrice:j,formatUsd:X,formatUsdForChain:G}=(0,_.X)(),{getConfiguredChains:Y,token:B,setToken:V}=(0,H.A)(),{subscribe:q}=(0,U.h)(),{theme:Z,setTheme:J}=(0,$.D)(),Q="dark"===Z,ee=(0,s.useCallback)(()=>{J(Q?"default":"dark")},[Q,J]),et=e=>"solana"===e||"solana-devnet"===e,ea=e=>et(e)?"SOL":"polygon"===e?"MATIC":"ETH",er=(0,s.useRef)(h);er.current=h;let[es,eo]=(0,s.useState)(null),[el,en]=(0,s.useState)(!0),[ec,ei]=(0,s.useState)("base"),[ed,ex]=(0,s.useState)(!1),[em,eu]=(0,s.useState)(null),[ep,ef]=(0,s.useState)(""),[ev,eh]=(0,s.useState)(!1),[eb,eg]=(0,s.useState)(!1),[ej,ey]=(0,s.useState)(null),[eN,ew]=(0,s.useState)(""),[ek,eA]=(0,s.useState)(!1),[eC,eS]=(0,s.useState)(""),[eE,eI]=(0,s.useState)(!1),[ez,eT]=(0,s.useState)(!1),[eL,eP]=(0,s.useState)(!1),[eF,eR]=(0,s.useState)(!1),[eO,eD]=(0,s.useState)(!1),[eW,e_]=(0,s.useState)("menu"),[eH,eU]=(0,s.useState)(""),[eM,eK]=(0,s.useState)(""),[e$,eX]=(0,s.useState)(!1),[eG,eY]=(0,s.useState)(()=>"1"===localStorage.getItem("sidebar-collapsed")),eB=(0,s.useCallback)(e=>{eY(e),localStorage.setItem("sidebar-collapsed",e?"1":"0")},[]),[eV,eq]=(0,s.useState)(""),[eZ,eJ]=(0,s.useState)(""),eQ=Y(),e0=e=>"".concat(e.slice(0,6),"...").concat(e.slice(-4)),e1=(null==es?void 0:es.wallets)||[],e2=(null==es?void 0:es.agents)||[];(0,s.useMemo)(()=>e1.filter(e=>"cold"===e.tier&&(et(ec)?et(e.chain):!et(e.chain))),[e1,ec]);let e5=(0,s.useMemo)(()=>e1.filter(e=>"hot"===e.tier&&(et(ec)?et(e.chain):!et(e.chain))),[e1,ec]),e4=(null==es?void 0:es.configured)&&(!(null==es?void 0:es.unlocked)||!B),e8=null!=(t=null==es?void 0:es.configured)&&t,e6=(0,s.useCallback)(async()=>{try{var e;let t=await M.FH.get(M.jI.Wallet,"/wallets",{includeHidden:!0}),a={configured:t.wallets.some(e=>"cold"===e.tier)||t.agents&&t.agents.length>0,unlocked:t.unlocked,wallets:t.wallets,agents:t.agents||[]};eo(a),null==(e=er.current)||e.call(er,{configured:a.configured,unlocked:a.unlocked,wallets:a.wallets})}catch(e){console.error("[WalletSidebar] Failed to fetch state:",e),eo({configured:!1,unlocked:!1,wallets:[],agents:[]})}finally{en(!1),ex(!1)}},[]);(0,s.useEffect)(()=>{e6()},[e6]),(0,s.useEffect)(()=>q("wallet:changed",()=>{e6()}),[q,e6]),(0,s.useEffect)(()=>{let e=setTimeout(()=>eJ(eV),300);return()=>clearTimeout(e)},[eV]);let e7=(0,s.useMemo)(()=>{let e;if(eZ.trim()){let t=eZ.toLowerCase();e=e5.filter(e=>{var a,r;return e.address.toLowerCase().includes(t)||(null==(a=e.name)?void 0:a.toLowerCase().includes(t))||(null==(r=e.label)?void 0:r.toLowerCase().includes(t))})}else e=e5.filter(e=>!e.hidden);return[...e].sort((e,t)=>{let a=e.createdAt?new Date(e.createdAt).getTime():0;return(t.createdAt?new Date(t.createdAt).getTime():0)-a||e.address.localeCompare(t.address)})},[e5,eZ]),e3=(0,s.useMemo)(()=>{let e=0;return e1.filter(e=>!e.hidden&&(et(ec)?et(e.chain):!et(e.chain))).forEach(t=>{t.balance&&(e+=parseFloat(t.balance)||0)}),e.toFixed(4)},[e1,ec]),e9=e=>{navigator.clipboard.writeText(e),eu(e),setTimeout(()=>eu(null),2e3)},te=async e=>{if(e.preventDefault(),ep){eh(!0);try{let e=await (0,M.WE)(ep);e.token&&V(e.token),ef(""),e6()}catch(e){console.error("[WalletSidebar] Unlock failed:",e)}finally{eh(!1)}}},tt=async e=>{if(e.preventDefault(),ej&&eN){eA(!0);try{let e=await (0,M.WE)(eN,ej);e.token&&V(e.token),ey(null),ew(""),e6()}catch(e){console.error("[WalletSidebar] Agent unlock failed:",e)}finally{eA(!1)}}},ta=async e=>{try{await M.FH.post(M.jI.Wallet,"/lock/".concat(e),{}),e6()}catch(e){console.error("[WalletSidebar] Agent lock failed:",e)}},tr=async()=>{eg(!0);try{await M.FH.post(M.jI.Wallet,"/lock",{}),e6()}catch(e){console.error("[WalletSidebar] Lock failed:",e)}finally{eg(!1)}},ts=async e=>{if(e.preventDefault(),!(eC.length<8)){eI(!0);try{let e=await (0,M.ne)(eC);e.token&&V(e.token),eS(""),e6()}catch(e){console.error("[WalletSidebar] Setup failed:",e)}finally{eI(!1)}}},to=async()=>{eP(!0);try{await M.FH.post(M.jI.Wallet,"/nuke",{}),eT(!1),e6()}catch(e){console.error("[WalletSidebar] Nuke failed:",e)}finally{eP(!1)}},tl=async()=>{eR(!0);try{await M.FH.post(M.jI.Wallet,"/wallet/create",{tier:"hot",chain:ec})}catch(e){console.error("[WalletSidebar] Create hot wallet failed:",e)}finally{eR(!1)}},tn=async e=>{if(e.preventDefault(),!(eH.length<8)){eX(!0);try{let{publicKey:e}=await M.FH.get(M.jI.Wallet,"/auth/connect"),t=await (0,K.X)(eH,e);await M.FH.post(M.jI.Wallet,"/setup/agent",{encrypted:t,name:eM||void 0}),eU(""),eK(""),e_("menu"),eD(!1),e6()}catch(e){console.error("[WalletSidebar] Create agent failed:",e)}finally{eX(!1)}}},tc=async(e,t)=>{try{await M.FH.post(M.jI.Wallet,"/wallet/rename",{address:e,hidden:!t})}catch(e){console.error("[WalletSidebar] Toggle hidden failed:",e)}};return el?(0,r.jsx)("div",{className:"".concat(eG?"w-[48px]":"w-[280px]"," h-full bg-[var(--color-surface,#f4f4f2)] border-r border-[var(--color-border,#d4d4d8)] shadow-lg flex items-center justify-center transition-all duration-200"),children:(0,r.jsx)(d.A,{size:24,className:"animate-spin text-[var(--color-text-muted,#6b7280)]"})}):eG?(0,r.jsxs)("div",{className:"w-[48px] h-full bg-[var(--color-surface,#f4f4f2)] border-r border-[var(--color-border,#d4d4d8)] shadow-lg flex flex-col items-center relative transition-all duration-200",children:[(0,r.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,r.jsx)("div",{className:"py-3 relative z-10",children:(0,r.jsx)("img",{src:"/logo.webp",alt:"AuraMaxx",className:"w-10 h-10 object-contain"})}),(0,r.jsx)("div",{className:"flex flex-col items-center gap-1 relative z-10",children:e8&&!e4&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("button",{onClick:a,className:"p-2 hover:bg-[var(--color-surface-alt,#f5f5f5)] transition-colors",title:"Send",children:(0,r.jsx)(N.A,{size:14,className:"text-[var(--color-text-muted,#6b7280)]"})}),(0,r.jsx)("button",{onClick:o,className:"p-2 hover:bg-[var(--color-surface-alt,#f5f5f5)] transition-colors",title:"Receive",children:(0,r.jsx)(w.A,{size:14,className:"text-[var(--color-text-muted,#6b7280)]"})})]})}),(0,r.jsxs)("div",{className:"mt-auto flex flex-col items-center gap-1 relative z-10",children:[(0,r.jsx)("a",{href:"/docs",className:"p-2 hover:bg-[var(--color-surface-alt,#f5f5f5)] transition-colors",title:"Docs",children:(0,r.jsx)(k.A,{size:14,className:"text-[var(--color-text-muted,#6b7280)]"})}),(0,r.jsx)("a",{href:"/docs?doc=internal/not-ready/EXTENSION.md",className:"p-2 hover:bg-[var(--color-surface-alt,#f5f5f5)] transition-colors",title:"Extension",children:(0,r.jsx)(A.A,{size:14,className:"text-[var(--color-text-muted,#6b7280)]"})}),(0,r.jsx)("a",{href:"/api",className:"p-2 hover:bg-[var(--color-surface-alt,#f5f5f5)] transition-colors",title:"API",children:(0,r.jsx)(C.A,{size:14,className:"text-[var(--color-text-muted,#6b7280)]"})}),(0,r.jsx)("button",{onClick:ee,className:"p-2 hover:bg-[var(--color-surface-alt,#f5f5f5)] transition-colors",title:Q?"Switch to default theme":"Switch to dark mode",children:Q?(0,r.jsx)(E.A,{size:14,className:"text-[var(--color-text-muted,#a1a1aa)]"}):(0,r.jsx)(S.A,{size:14,className:"text-[var(--color-text-muted,#6b7280)]"})})]}),(0,r.jsx)("div",{className:"pb-3 relative z-10",children:e8?e4?(0,r.jsx)("div",{className:"w-2 h-2 bg-[var(--color-warning,#ff4d00)]"}):(0,r.jsx)("div",{className:"w-2 h-2 bg-[var(--color-accent,#ccff00)] animate-pulse"}):(0,r.jsx)("div",{className:"w-2 h-2 bg-[var(--color-text-muted,#6b7280)]"})}),(0,r.jsx)("button",{onClick:()=>eB(!1),className:"w-full py-2 border-t border-[var(--color-border,#d4d4d8)] hover:bg-[var(--color-surface-alt,#f5f5f5)] transition-colors relative z-10 flex items-center justify-center",title:"Expand sidebar",children:(0,r.jsx)(I.A,{size:14,className:"text-[var(--color-text-muted,#6b7280)]"})})]}):(0,r.jsxs)("div",{className:"w-[280px] h-full bg-[var(--color-surface,#f4f4f2)] border-r border-[var(--color-border,#d4d4d8)] shadow-lg flex flex-col relative overflow-hidden font-mono",children:[(0,r.jsx)("style",{children:"\n@keyframes wallet-slide-in {\n 0% {\n opacity: 0;\n transform: translateX(-20px) scale(0.95);\n }\n 100% {\n opacity: 1;\n transform: translateX(0) scale(1);\n }\n}\n"}),(0,r.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,r.jsxs)("div",{className:"px-4 py-3 border-b border-[var(--color-border,#d4d4d8)] bg-[var(--color-surface-alt,#fafafa)] relative z-10",children:[(0,r.jsxs)("div",{className:"flex items-center justify-between",children:[(0,r.jsxs)("div",{className:"flex items-center gap-3",children:[(0,r.jsx)("div",{className:"w-10 h-10",children:(0,r.jsx)("img",{src:"/logo.webp",alt:"AuraMaxx",className:"w-full h-full object-contain"})}),(0,r.jsxs)("div",{className:"leading-tight",children:[(0,r.jsxs)("div",{className:"flex items-baseline gap-1.5",children:[(0,r.jsx)("span",{className:"font-black text-[11px] tracking-tight text-[var(--color-text,#0a0a0a)] lowercase",children:"auramaxx"}),(0,r.jsx)("span",{className:"text-[8px] text-[var(--color-text-muted,#6b7280)] uppercase tracking-widest",children:"from"})]}),(0,r.jsx)("a",{href:"https://x.com/hi_im_nico",target:"_blank",rel:"noopener noreferrer",className:"block text-[8px] text-[var(--color-text-muted,#6b7280)] hover:text-[var(--color-text,#0a0a0a)] transition-colors",children:"@hi_im_nico, with love"})]})]}),(0,r.jsx)("button",{onClick:()=>eB(!0),className:"p-1.5 hover:bg-[var(--color-surface,#ffffff)]/50 transition-colors",title:"Collapse sidebar",children:(0,r.jsx)(z.A,{size:12,className:"text-[var(--color-text-muted,#6b7280)]"})})]}),!e4&&Object.keys(eQ).length>0&&(0,r.jsxs)("div",{className:"mt-2 flex items-center gap-1.5",children:[(0,r.jsx)(y.XS,{value:ec,onChange:e=>{ei(e)},chains:Object.keys(eQ),size:"sm"}),(0,r.jsx)("button",{onClick:()=>{ex(!0),e6()},disabled:ed,className:"p-1.5 border border-[var(--color-border,#d4d4d8)] hover:border-[var(--color-text,#0a0a0a)] bg-[var(--color-surface-alt,#f5f5f5)] hover:bg-[var(--color-background-alt,#e8e8e6)] transition-colors disabled:opacity-50",children:(0,r.jsx)(T.A,{size:10,className:"".concat(ed?"animate-spin":""," text-[var(--color-text-muted,#6b7280)]")})})]})]}),(0,r.jsx)("div",{className:"p-4 border-b border-[var(--color-border,#d4d4d8)] relative z-10",children:e8?e4?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)("div",{className:"flex items-center gap-2 mb-2",children:[(0,r.jsx)("div",{className:"w-8 h-8 bg-[var(--color-warning,#ff4d00)]/10 flex items-center justify-center",children:(0,r.jsx)(F.A,{size:14,className:"text-[var(--color-warning,#ff4d00)]"})}),(0,r.jsxs)("div",{children:[(0,r.jsx)("div",{className:"font-mono text-[9px] text-[var(--color-warning,#ff4d00)] tracking-widest font-bold",children:(null==es?void 0:es.unlocked)?"AUTHENTICATE":"AGENT_LOCKED"}),(0,r.jsx)("div",{className:"font-mono text-[8px] text-[var(--color-text-muted,#6b7280)]",children:(null==es?void 0:es.unlocked)?"Enter password to reconnect workspace":"Unlock all workspace agents"})]})]}),(0,r.jsxs)("form",{onSubmit:te,className:"space-y-2",children:[(0,r.jsx)(y.ks,{label:"PASSWORD",type:"password",value:ep,onChange:e=>ef(e.target.value),placeholder:"Enter password",compact:!0}),(0,r.jsx)(y.$n,{type:"submit",disabled:ev||!ep,loading:ev,icon:ev?void 0:(0,r.jsx)(R.A,{size:12}),className:"w-full",size:"lg",children:ev?"UNLOCKING...":"UNLOCK WORKSPACE"})]}),(0,r.jsx)("div",{className:"mt-2 font-mono text-[7px] text-[var(--color-text-faint,#9ca3af)]",children:"UNLOCK WORKSPACE unlocks workspace-linked agents. Use each agent row to unlock this agent only."})]}):(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("div",{className:"font-mono text-[9px] text-[var(--color-text-muted,#6b7280)] tracking-widest mb-1",children:"TOTAL_BALANCE"}),(0,r.jsxs)("div",{className:"font-black text-2xl text-[var(--color-text,#0a0a0a)] tracking-tight",children:[e3," ",ea(ec)]}),G(e3,ec)&&(0,r.jsx)("div",{className:"font-mono text-sm text-[var(--color-text-muted,#6b7280)] mt-0.5",children:G(e3,ec)}),(0,r.jsxs)("div",{className:"font-mono text-[9px] text-[var(--color-text-muted,#6b7280)] mt-2 flex items-center justify-between",children:[(0,r.jsxs)("div",{className:"flex items-center gap-1",children:[(0,r.jsx)("div",{className:"w-1 h-1 bg-[var(--color-accent,#ccff00)]"}),ec.toUpperCase()]}),et(ec)?j&&(0,r.jsxs)("span",{className:"text-[var(--color-info,#0047ff)]",children:["SOL $",j.toLocaleString()]}):g&&(0,r.jsxs)("span",{className:"text-[var(--color-info,#0047ff)]",children:["ETH $",g.toLocaleString()]})]})]}):(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)("div",{className:"flex items-center gap-2 mb-3",children:[(0,r.jsx)("div",{className:"w-8 h-8 bg-[var(--color-accent,#ccff00)]/20 flex items-center justify-center",children:(0,r.jsx)(L.A,{size:14,className:"text-[var(--color-text,#0a0a0a)]"})}),(0,r.jsxs)("div",{children:[(0,r.jsx)("div",{className:"font-mono text-[9px] text-[var(--color-text,#0a0a0a)] tracking-widest font-bold",children:"INITIALIZE_AGENT"}),(0,r.jsx)("div",{className:"font-mono text-[8px] text-[var(--color-text-muted,#6b7280)]",children:"Create your secure wallet"})]})]}),(0,r.jsxs)("div",{className:"mb-3 p-2 bg-[var(--color-surface-alt,#fafafa)] border border-[var(--color-border,#d4d4d8)] space-y-2",children:[(0,r.jsxs)("div",{className:"flex items-start gap-2",children:[(0,r.jsx)(b.A,{size:10,className:"text-[var(--color-info,#0047ff)] mt-0.5 flex-shrink-0"}),(0,r.jsxs)("div",{className:"font-mono text-[8px] text-[var(--color-text-muted,#6b7280)] leading-relaxed",children:[(0,r.jsx)("span",{className:"text-[var(--color-info,#0047ff)] font-bold",children:"COLD_AGENT"})," - Encrypted seed"]})]}),(0,r.jsxs)("div",{className:"flex items-start gap-2",children:[(0,r.jsx)(P.A,{size:10,className:"text-[var(--color-warning,#ff4d00)] mt-0.5 flex-shrink-0"}),(0,r.jsxs)("div",{className:"font-mono text-[8px] text-[var(--color-text-muted,#6b7280)] leading-relaxed",children:[(0,r.jsx)("span",{className:"text-[var(--color-warning,#ff4d00)] font-bold",children:"HOT_WALLETS"})," - Derived keys"]})]})]}),(0,r.jsxs)("form",{onSubmit:ts,className:"space-y-2",children:[(0,r.jsx)(y.ks,{label:"ENCRYPTION_PASSWORD",type:"password",value:eC,onChange:e=>eS(e.target.value),placeholder:"Min 8 characters",minLength:8,compact:!0}),(0,r.jsx)(y.$n,{type:"submit",disabled:eE||eC.length<8,loading:eE,icon:eE?void 0:(0,r.jsx)(L.A,{size:12}),className:"w-full",size:"lg",children:eE?"INITIALIZING...":"INITIALIZE"})]}),(0,r.jsx)("div",{className:"mt-3 pt-3 border-t border-[var(--color-border,#d4d4d8)]",children:(0,r.jsx)(y.$n,{variant:"secondary",size:"md",onClick:p,icon:(0,r.jsx)(x.A,{size:10}),className:"w-full",children:"IMPORT_EXISTING_SEED"})})]})}),e8&&!e4&&(0,r.jsx)("div",{className:"px-3 py-2 border-b border-[var(--color-border,#d4d4d8)] relative z-10",children:(0,r.jsxs)("div",{className:"flex gap-2",children:[(0,r.jsx)(y.$n,{variant:"secondary",size:"md",onClick:a,icon:(0,r.jsx)(N.A,{size:10}),className:"flex-1",children:"SEND"}),(0,r.jsx)(y.$n,{variant:"secondary",size:"md",onClick:o,icon:(0,r.jsx)(w.A,{size:10}),className:"flex-1",children:"RECEIVE"})]})}),(0,r.jsx)("div",{className:"flex-1 overflow-y-auto relative z-10",children:e8?e4?(0,r.jsx)("div",{className:"p-4 flex items-center justify-center h-full",children:(0,r.jsxs)("div",{className:"text-center opacity-30",children:[(0,r.jsx)(i.A,{size:32,className:"mx-auto mb-2 text-[var(--color-text-muted,#6b7280)]"}),(0,r.jsx)("div",{className:"font-mono text-[9px] text-[var(--color-text-muted,#6b7280)]",children:"ASSETS_HIDDEN"})]})}):(0,r.jsxs)("div",{className:"p-4",children:[(0,r.jsx)("div",{className:"font-mono text-[9px] text-[var(--color-text-muted,#6b7280)] tracking-widest mb-3",children:"ASSETS"}),(0,r.jsxs)("div",{className:"mb-3 flex gap-1.5",children:[(0,r.jsxs)("div",{className:"relative flex-1",children:[(0,r.jsx)("div",{className:"absolute left-2 top-1/2 -translate-y-1/2 pointer-events-none",children:(0,r.jsx)(O.A,{size:10,className:"text-[var(--color-text-muted,#6b7280)]"})}),(0,r.jsx)("input",{type:"text",value:eV,onChange:e=>eq(e.target.value),placeholder:"Search wallets...",className:"w-full pl-7 pr-7 py-1.5 border border-[var(--color-border,#d4d4d8)] font-mono text-[9px] text-[var(--color-text,#0a0a0a)] focus:outline-none focus:border-[var(--color-border-focus,#0a0a0a)] bg-[var(--color-surface,#ffffff)] placeholder-[var(--color-text-faint,#9ca3af)]"}),eV&&(0,r.jsx)("button",{onClick:()=>eq(""),className:"absolute right-2 top-1/2 -translate-y-1/2 p-0.5 hover:bg-[var(--color-surface-alt,#f5f5f5)] rounded",children:(0,r.jsx)(c.A,{size:10,className:"text-[var(--color-text-muted,#6b7280)]"})})]}),(0,r.jsxs)("div",{className:"relative",children:[(0,r.jsx)("button",{onClick:()=>eD(!eO),className:"h-full px-2 border border-[var(--color-border,#d4d4d8)] hover:border-[var(--color-text,#0a0a0a)] bg-[var(--color-surface-alt,#f5f5f5)] hover:bg-[var(--color-background-alt,#e8e8e6)] transition-colors",title:"Add wallet",children:(0,r.jsx)(v.A,{size:10,className:"text-[var(--color-text-muted,#6b7280)]"})}),(0,r.jsx)(y.AM,{isOpen:eO,onClose:()=>{eD(!1),e_("menu"),eU(""),eK("")},title:"menu"===eW?"ADD_WALLET":"NEW_AGENT",anchor:"right",children:"menu"===eW?(0,r.jsxs)("div",{className:"space-y-1 min-w-[160px]",children:[(0,r.jsxs)("button",{onClick:()=>e_("new-agent"),className:"w-full flex items-center gap-2 px-2 py-2 hover:bg-[var(--color-surface-alt,#f5f5f5)] transition-colors text-left",children:[(0,r.jsx)(b.A,{size:10,className:"text-[var(--color-info,#0047ff)]"}),(0,r.jsxs)("div",{children:[(0,r.jsx)("div",{className:"font-mono text-[9px] font-bold text-[var(--color-text,#0a0a0a)]",children:"NEW_AGENT"}),(0,r.jsx)("div",{className:"font-mono text-[7px] text-[var(--color-text-muted,#6b7280)]",children:"Generate new seed phrase"})]})]}),(0,r.jsxs)("button",{onClick:()=>{eD(!1),e_("menu"),null==p||p()},className:"w-full flex items-center gap-2 px-2 py-2 hover:bg-[var(--color-surface-alt,#f5f5f5)] transition-colors text-left",children:[(0,r.jsx)(x.A,{size:10,className:"text-[var(--color-info,#0047ff)]"}),(0,r.jsxs)("div",{children:[(0,r.jsx)("div",{className:"font-mono text-[9px] font-bold text-[var(--color-text,#0a0a0a)]",children:"IMPORT_AGENT"}),(0,r.jsx)("div",{className:"font-mono text-[7px] text-[var(--color-text-muted,#6b7280)]",children:"From existing seed phrase"})]})]}),(0,r.jsxs)("button",{onClick:()=>{eD(!1),tl()},disabled:eF,className:"w-full flex items-center gap-2 px-2 py-2 hover:bg-[var(--color-surface-alt,#f5f5f5)] transition-colors text-left disabled:opacity-50",children:[(0,r.jsx)(P.A,{size:10,className:"text-[var(--color-warning,#ff4d00)]"}),(0,r.jsxs)("div",{children:[(0,r.jsx)("div",{className:"font-mono text-[9px] font-bold text-[var(--color-text,#0a0a0a)]",children:"ADD_HOT_WALLET"}),(0,r.jsx)("div",{className:"font-mono text-[7px] text-[var(--color-text-muted,#6b7280)]",children:"New agent-accessible wallet"})]})]})]}):(0,r.jsxs)("form",{onSubmit:tn,className:"space-y-2 min-w-[200px]",children:[(0,r.jsx)("input",{type:"text",value:eM,onChange:e=>eK(e.target.value),placeholder:"Agent name (optional)",className:"w-full px-2 py-1.5 border border-[var(--color-border,#d4d4d8)] font-mono text-[9px] text-[var(--color-text,#0a0a0a)] focus:outline-none focus:border-[var(--color-info,#0047ff)] bg-[var(--color-surface,#ffffff)] placeholder-[var(--color-text-faint,#9ca3af)]"}),(0,r.jsx)("input",{type:"password",value:eH,onChange:e=>eU(e.target.value),placeholder:"Password (min 8 chars)",className:"w-full px-2 py-1.5 border border-[var(--color-border,#d4d4d8)] font-mono text-[9px] text-[var(--color-text,#0a0a0a)] focus:outline-none focus:border-[var(--color-info,#0047ff)] bg-[var(--color-surface,#ffffff)] placeholder-[var(--color-text-faint,#9ca3af)]"}),(0,r.jsxs)("div",{className:"flex gap-1",children:[(0,r.jsx)(y.$n,{type:"submit",size:"sm",disabled:e$||eH.length<8,loading:e$,className:"flex-1",children:"CREATE"}),(0,r.jsx)(y.$n,{variant:"ghost",size:"sm",onClick:()=>{e_("menu"),eU(""),eK("")},children:(0,r.jsx)(c.A,{size:9})})]})]})})]})]}),e2.map(e=>{let t=(e=>{let t=et(ec)?e.solanaAddress:e.address;if(!t)return"0";let a=e1.find(e=>"cold"===e.tier&&e.address===t);return(null==a?void 0:a.balance)||"0"})(e),a=et(ec)?e.solanaAddress:e.address;return a?(0,r.jsxs)("div",{className:"mb-3 border-2 border-[var(--color-info,#0047ff)] bg-gradient-to-r from-[var(--color-info,#0047ff)]/10 to-transparent p-3 relative",children:[(0,r.jsx)("div",{className:"absolute top-0 left-0 w-full h-0.5 bg-[var(--color-info,#0047ff)]"}),e.isUnlocked&&(0,r.jsx)("div",{className:"absolute top-1 right-1 w-1.5 h-1.5 bg-[var(--color-info,#0047ff)] animate-pulse"}),!e.isUnlocked&&(0,r.jsx)("div",{className:"absolute top-1 right-1 w-1.5 h-1.5 bg-[var(--color-warning,#ff4d00)]"}),(0,r.jsxs)("div",{className:"flex items-center gap-2 mb-2",children:[(0,r.jsx)(b.A,{size:12,className:"text-[var(--color-info,#0047ff)]"}),(0,r.jsx)("span",{className:"font-mono text-[9px] text-[var(--color-info,#0047ff)] tracking-widest font-bold truncate flex-1",children:e.name||(e.isPrimary?"PRIMARY_AGENT":"AGENT_".concat(e.id.toUpperCase()))}),e.isUnlocked?(0,r.jsx)("button",{onClick:()=>ta(e.id),className:"p-1 hover:bg-[var(--color-info,#0047ff)]/10 transition-colors",title:"Lock this agent",children:(0,r.jsx)(i.A,{size:9,className:"text-[var(--color-text-muted,#6b7280)]"})}):(0,r.jsx)("button",{onClick:()=>ey(e.id),className:"p-1 hover:bg-[var(--color-info,#0047ff)]/10 transition-colors",title:"Unlock this agent",children:(0,r.jsx)(R.A,{size:9,className:"text-[var(--color-warning,#ff4d00)]"})})]}),ej===e.id&&!e.isUnlocked&&(0,r.jsxs)("form",{onSubmit:tt,className:"mb-2 space-y-1.5",children:[(0,r.jsx)("input",{type:"password",value:eN,onChange:e=>ew(e.target.value),placeholder:"Password for this agent",className:"w-full px-2 py-1 border border-[var(--color-border,#d4d4d8)] font-mono text-[9px] text-[var(--color-text,#0a0a0a)] focus:outline-none focus:border-[var(--color-info,#0047ff)] bg-[var(--color-surface,#ffffff)]"}),(0,r.jsxs)("div",{className:"flex gap-1",children:[(0,r.jsx)(y.$n,{type:"submit",size:"sm",disabled:ek||!eN,loading:ek,className:"flex-1",children:"UNLOCK AGENT"}),(0,r.jsx)(y.$n,{variant:"ghost",size:"sm",onClick:()=>{ey(null),ew("")},children:(0,r.jsx)(c.A,{size:9})})]})]}),(0,r.jsxs)("div",{className:"flex items-center justify-between",children:[(0,r.jsxs)("div",{children:[(0,r.jsx)("div",{className:"font-mono text-[10px] text-[var(--color-text-muted,#6b7280)]",children:e0(a)}),(0,r.jsxs)("div",{className:"font-bold text-sm text-[var(--color-text,#0a0a0a)] mt-0.5",children:[t," ",ea(ec)]}),G(t,ec)&&(0,r.jsx)("div",{className:"font-mono text-[9px] text-[var(--color-text-muted,#6b7280)]",children:G(t,ec)})]}),(0,r.jsxs)("div",{className:"flex gap-1",children:[!e.isUnlocked&&(0,r.jsx)("span",{className:"font-mono text-[7px] text-[var(--color-warning,#ff4d00)] bg-[var(--color-warning,#ff4d00)]/10 px-1 py-0.5 self-center",children:"LOCKED"}),(0,r.jsx)("button",{onClick:()=>e9(a),className:"p-1.5 hover:bg-[var(--color-info,#0047ff)]/10 transition-colors",children:(0,r.jsx)(n.A,{size:10,className:em===a?"text-[var(--color-accent,#ccff00)]":"text-[var(--color-text-muted,#6b7280)]"})}),(0,r.jsx)("a",{href:((e,t)=>et(t)?"https://solscan.io/account/".concat(e):"polygon"===t?"https://polygonscan.com/address/".concat(e):"https://basescan.org/address/".concat(e))(a,ec),target:"_blank",className:"p-1.5 hover:bg-[var(--color-info,#0047ff)]/10 transition-colors",children:(0,r.jsx)(A.A,{size:10,className:"text-[var(--color-text-muted,#6b7280)]"})})]})]})]},e.id):null}),(0,r.jsx)("div",{className:"space-y-1",children:e7.map(e=>{let t=e.color||"#ff4d00";return(0,r.jsxs)("div",{onClick:()=>null==u?void 0:u(e),className:"bg-[var(--color-surface,#ffffff)] p-2.5 relative group hover:border-[var(--color-warning,#ff4d00)] cursor-pointer ".concat(e.hidden?"opacity-60":""),style:{borderWidth:"1px",borderColor:"".concat(t,"4D"),borderTopWidth:e.color?"3px":"1px",borderTopColor:e.color||"".concat(t,"4D"),transition:"transform 0.3s ease-out, opacity 0.3s ease-out, border-color 0.15s ease",animation:e.createdAt&&Date.now()-new Date(e.createdAt).getTime()<2e3?"wallet-slide-in 0.3s ease-out":void 0},children:[(0,r.jsx)("div",{className:"absolute top-1 right-1 w-1.5 h-1.5",style:{backgroundColor:t,opacity:.7}}),(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[e.emoji&&(0,r.jsx)("span",{className:"text-[10px]",children:e.emoji}),(0,r.jsx)("span",{className:"font-mono text-[9px] font-bold truncate flex-1",style:{color:t},children:e.name||e.label||"HOT"}),e.hidden&&(0,r.jsx)("span",{className:"font-mono text-[7px] text-[var(--color-text-muted,#6b7280)] bg-[var(--color-surface-alt,#f5f5f5)] px-1",children:"HIDDEN"}),(0,r.jsx)("button",{onClick:t=>{t.stopPropagation(),tc(e.address,!!e.hidden)},className:"p-1 hover:bg-[var(--color-warning,#ff4d00)]/10 transition-colors opacity-0 group-hover:opacity-100",title:e.hidden?"Show wallet":"Hide wallet",children:e.hidden?(0,r.jsx)(D.A,{size:9,className:"text-[var(--color-text-muted,#6b7280)]"}):(0,r.jsx)(W.A,{size:9,className:"text-[var(--color-text-muted,#6b7280)]"})}),(0,r.jsx)("button",{onClick:t=>{t.stopPropagation(),e9(e.address)},className:"p-1 hover:bg-[var(--color-warning,#ff4d00)]/10 transition-colors opacity-0 group-hover:opacity-100",children:(0,r.jsx)(n.A,{size:9,className:em===e.address?"text-[var(--color-accent,#ccff00)]":"text-[var(--color-text-muted,#6b7280)]"})})]}),(0,r.jsxs)("div",{className:"flex items-center justify-between mt-1",children:[(0,r.jsx)("span",{className:"font-mono text-[9px] text-[var(--color-text-muted,#6b7280)]",children:e0(e.address)}),(0,r.jsxs)("div",{className:"text-right",children:[(0,r.jsxs)("span",{className:"font-mono text-[10px] font-bold text-[var(--color-text,#0a0a0a)]",children:[e.balance||"0"," ",ea(e.chain)]}),G(e.balance,e.chain)&&(0,r.jsx)("div",{className:"font-mono text-[8px] text-[var(--color-text-muted,#6b7280)]",children:G(e.balance,e.chain)})]})]})]},e.address)})})]}):(0,r.jsx)("div",{className:"p-4 flex items-center justify-center h-full",children:(0,r.jsxs)("div",{className:"text-center opacity-50",children:[(0,r.jsx)(L.A,{size:32,className:"mx-auto mb-2 text-[var(--color-text-muted,#6b7280)]"}),(0,r.jsx)("div",{className:"font-mono text-[9px] text-[var(--color-text-muted,#6b7280)]",children:"AWAITING_INIT"})]})})}),(0,r.jsxs)("div",{className:"p-3 border-t border-[var(--color-border,#d4d4d8)] relative z-10",children:[(0,r.jsxs)("div",{className:"flex items-center justify-between",children:[e8&&!e4?(0,r.jsx)(y.$n,{variant:"ghost",size:"sm",onClick:tr,disabled:eb,loading:eb,icon:eb?void 0:(0,r.jsx)(i.A,{size:10}),children:"LOCK ALL"}):(0,r.jsx)("div",{className:"flex items-center gap-1.5",children:e8?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("div",{className:"w-1.5 h-1.5 bg-[var(--color-warning,#ff4d00)]"}),(0,r.jsx)("span",{className:"font-mono text-[8px] text-[var(--color-warning,#ff4d00)]",children:(null==es?void 0:es.unlocked)?"NO_SESSION":"LOCKED"})]}):(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("div",{className:"w-1.5 h-1.5 bg-[var(--color-text-muted,#6b7280)]"}),(0,r.jsx)("span",{className:"font-mono text-[8px] text-[var(--color-text-muted,#6b7280)]",children:"UNINITIALIZED"})]})}),(0,r.jsxs)("div",{className:"flex items-center gap-0.5",children:[(0,r.jsx)("a",{href:"/docs",className:"px-1.5 py-1.5 font-mono text-[8px] tracking-widest text-[var(--color-text-muted,#6b7280)] hover:text-[var(--color-text,#0a0a0a)] transition-colors",children:"DOCS"}),(0,r.jsx)("a",{href:"/docs?doc=internal/not-ready/EXTENSION.md",className:"px-1.5 py-1.5 font-mono text-[8px] tracking-widest text-[var(--color-text-muted,#6b7280)] hover:text-[var(--color-text,#0a0a0a)] transition-colors",children:"EXTENSION"}),(0,r.jsx)("a",{href:"/api",className:"px-1.5 py-1.5 font-mono text-[8px] tracking-widest text-[var(--color-text-muted,#6b7280)] hover:text-[var(--color-text,#0a0a0a)] transition-colors",children:"API"}),(0,r.jsx)("button",{onClick:ee,className:"p-1.5 hover:bg-[var(--color-surface-alt,#f5f5f5)] transition-colors",title:Q?"Switch to default theme":"Switch to dark mode",children:Q?(0,r.jsx)(E.A,{size:12,className:"text-[var(--color-text-muted,#a1a1aa)]"}):(0,r.jsx)(S.A,{size:12,className:"text-[var(--color-text-muted,#6b7280)]"})})]})]}),e8&&!e4&&(0,r.jsxs)("div",{className:"flex items-center gap-1.5 mt-2",children:[(0,r.jsx)("div",{className:"w-1.5 h-1.5 bg-[var(--color-accent,#ccff00)] animate-pulse"}),(0,r.jsx)("span",{className:"font-mono text-[8px] text-[var(--color-text-muted,#6b7280)]",children:e2.length>1?"".concat(e2.filter(e=>e.isUnlocked).length,"/").concat(e2.length," AGENTS"):"OPERATIONAL"})]})]}),(0,r.jsx)("div",{className:"flex items-center gap-3 px-4 py-2 border-t border-[var(--color-border,#d4d4d8)] relative z-10",children:(0,r.jsx)("div",{className:"h-4 flex-1 bg-[repeating-linear-gradient(90deg,var(--color-text,#000),var(--color-text,#000)_1px,transparent_1px,transparent_3px)] opacity-30"})}),(0,r.jsx)("div",{className:"h-2 w-full relative z-10",style:{backgroundImage:"repeating-linear-gradient(45deg, var(--color-text, #000), var(--color-text, #000) 5px, transparent 5px, transparent 10px)",opacity:.1}}),(0,r.jsx)(y.Rw,{isOpen:ez,onClose:()=>eT(!1),onConfirm:to,title:"Nuke Everything",message:"This will permanently delete your cold wallet, all hot wallets, credentials, and configuration. Make sure you have backed up your seed phrase before proceeding.",confirmText:"NUKE",variant:"danger",loading:eL})]})};var G=a(8514),Y=a(1456),B=a(6577),V=a(6399);let q=["#0a0a0a","#0047ff","#ff4d00","#00c853","#9c27b0","#ff9800","#00bcd4","#e91e63"],Z=["\uD83C\uDFE0","\uD83D\uDCBC","\uD83D\uDCCA","\uD83D\uDE80","⚡","\uD83D\uDD25","\uD83D\uDC8E","\uD83C\uDFAF","\uD83D\uDCC8","\uD83D\uDEE0️","\uD83D\uDD12","\uD83D\uDCB0"],J=e=>{let{tabs:t,activeTab:a,onTabChange:l,onTabClose:n,onNewTab:i,onTabUpdate:d,onTidy:x,onAppStore:m,notifications:u=[],onDismissNotification:p}=e,[f,h]=(0,s.useState)(null),[b,g]=(0,s.useState)(null),[j,N]=(0,s.useState)(""),[w,k]=(0,s.useState)(""),[A,C]=(0,s.useState)(""),S=(0,s.useRef)({}),E=e=>{g(e.id),N(e.label),k(e.emoji||""),C(e.color||"")},I=()=>{if(b&&d&&j){let e=t.find(e=>e.id===b);e&&j!==e.label&&d(b,{name:j})}g(null)},z=e=>{k(e),b&&d&&d(b,{emoji:e||void 0})};return(0,r.jsxs)("div",{className:"h-10 bg-[var(--color-background-alt,#e8e8e6)] border-b border-[var(--color-border,#d4d4d8)] flex items-end px-2 pt-1 relative",children:[(0,r.jsx)("div",{className:"absolute bottom-0 left-0 right-0 h-[2px] bg-hazard-stripes pointer-events-none"}),(0,r.jsx)("div",{className:"flex items-end gap-0.5",children:t.map(e=>{let t=a===e.id,s=f===e.id,i=b===e.id,x=e.icon||o.A,m=e.color||(t?"var(--color-text, #0a0a0a)":void 0);return(0,r.jsxs)("div",{ref:t=>{S.current[e.id]=t},className:"\n relative flex items-center gap-2 px-4 py-2 font-mono text-[10px] tracking-wider\n transition-all rounded-t-sm border border-b-0 group\n ".concat(t?"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","\n "),style:m?{borderTopColor:m,borderTopWidth:t?"2px":"1px"}:void 0,onClick:()=>!t&&l(e.id),onMouseEnter:()=>h(e.id),onMouseLeave:()=>h(null),onDoubleClick:a=>{a.stopPropagation(),t&&E(e)},children:[e.emoji?(0,r.jsx)("span",{className:"text-xs",children:e.emoji}):(0,r.jsx)(x,{size:12,style:m?{color:m}:void 0}),(0,r.jsx)("span",{className:"select-none",children:e.label}),t&&s&&d&&!i&&(0,r.jsx)("button",{onClick:t=>{t.stopPropagation(),E(e)},className:"p-0.5 hover:bg-[var(--color-background-alt,#e5e5e5)] rounded transition-colors",title:"Edit workspace",children:(0,r.jsx)(G.A,{size:9,className:"text-[var(--color-text-muted,#6b7280)] hover:text-[var(--color-text,#0a0a0a)]"})}),e.closeable&&(0,r.jsx)("button",{onClick:t=>{t.stopPropagation(),null==n||n(e.id)},className:"p-0.5 hover:bg-[var(--color-background-alt,#e5e5e5)] rounded transition-colors",children:(0,r.jsx)(c.A,{size:10,className:"text-[var(--color-text-muted,#6b7280)] hover:text-[var(--color-text,#0a0a0a)]"})}),t&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("div",{className:"absolute -bottom-[1px] left-0 right-0 h-[1px] bg-[var(--color-surface,#ffffff)]"}),(0,r.jsx)("div",{className:"absolute top-0 left-0 right-0 h-[3px] shard-start bg-[var(--color-accent,#ccff00)]"})]}),(0,r.jsx)(y.AM,{isOpen:i,onClose:I,title:"EDIT WORKSPACE",anchor:"left",anchorEl:S.current[e.id],children:(0,r.jsxs)("div",{className:"space-y-3 min-w-[220px]",children:[(0,r.jsx)(y.ks,{label:"Name",type:"text",value:j,onChange:e=>N(e.target.value.toUpperCase()),autoFocus:!0,compact:!0}),(0,r.jsxs)("div",{children:[(0,r.jsx)("label",{className:"block font-mono text-[8px] text-[var(--color-text-muted,#6b7280)] uppercase tracking-widest mb-1",children:"Emoji"}),(0,r.jsxs)("div",{className:"flex flex-wrap gap-1",children:[(0,r.jsx)("button",{onClick:()=>z(""),className:"w-6 h-6 border text-[10px] font-mono ".concat(w?"border-[var(--color-border,#d4d4d8)] hover:border-[var(--color-text-muted,#6b7280)]":"border-[var(--color-border-focus,#0a0a0a)] bg-[var(--color-surface-alt,#fafafa)]"),children:"✕"}),Z.map(e=>(0,r.jsx)("button",{onClick:()=>z(e),className:"w-6 h-6 border text-sm ".concat(w===e?"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:e},e))]})]}),(0,r.jsxs)("div",{children:[(0,r.jsx)("label",{className:"block font-mono text-[8px] text-[var(--color-text-muted,#6b7280)] uppercase tracking-widest mb-1",children:"Color"}),(0,r.jsx)("div",{className:"flex flex-wrap gap-1",children:q.map(e=>(0,r.jsx)("button",{onClick:()=>(e=>{C(e),b&&d&&d(b,{color:e||void 0})})(e),className:"w-6 h-6 border-2 ".concat(A===e?"border-[var(--color-accent,#ccff00)]":"border-transparent"),style:{backgroundColor:e}},e))})]})]})})]},e.id)})}),i&&(0,r.jsx)("button",{onClick:i,className:"ml-1 p-1.5 mb-1 hover:bg-[var(--color-surface-alt,#d8d8d6)] rounded transition-colors group",title:"New Workspace",children:(0,r.jsx)(v.A,{size:14,className:"text-[var(--color-text-muted,#6b7280)] group-hover:text-[var(--color-text,#0a0a0a)]"})}),(0,r.jsx)("div",{className:"flex-1"}),(0,r.jsxs)("div",{className:"flex items-center gap-0.5 mr-1 mb-1",children:[m&&(0,r.jsx)("button",{onClick:m,className:"p-1.5 hover:bg-[var(--color-surface,#ffffff)] rounded transition-colors group",title:"App Store",children:(0,r.jsx)(Y.A,{size:14,className:"text-[var(--color-text-muted,#6b7280)] group-hover:text-[var(--color-text,#0a0a0a)]"})}),x&&(0,r.jsx)("button",{onClick:x,className:"p-1.5 hover:bg-[var(--color-surface,#ffffff)] rounded transition-colors group",title:"Tidy apps",children:(0,r.jsx)(B.A,{size:14,className:"text-[var(--color-text-muted,#6b7280)] group-hover:text-[var(--color-text,#0a0a0a)]"})}),(0,r.jsx)(V.v,{notifications:u,onDismiss:null!=p?p:()=>{}})]})]})};var Q=a(6140),ee=a(9867),et=a(4185);let ea=[{id:"all",label:"ALL"},{id:"builtin",label:"BUILT-IN"},{id:"installed",label:"INSTALLED"}];function er(e){let{isOpen:t,onClose:a,onAddApp:o}=e,[l,n]=(0,s.useState)([]),[c,i]=(0,s.useState)(!1),[x,m]=(0,s.useState)("all"),[u,p]=(0,s.useState)(""),[h,g]=(0,s.useState)(!1),[j,N]=(0,s.useState)(null),[w,k]=(0,s.useState)(null),[A,C]=(0,s.useState)(null),[S,E]=(0,s.useState)(null),[I,z]=(0,s.useState)(!1),[T,L]=(0,s.useState)(null);(0,s.useEffect)(()=>{t&&(i(!0),M.FH.get(M.jI.Workspace,"/apps/manifests").then(e=>{e.success&&n(e.manifests)}).catch(e=>console.error("Failed to load app manifests:",e)).finally(()=>i(!1)))},[t]),(0,s.useEffect)(()=>{t||(C(null),E(null))},[t]);let P=async()=>{if(u.trim()){g(!0),N(null),k(null);try{var e,t;let a=await M.FH.post(M.jI.Workspace,"/apps/install",{source:u.trim()});if(!a.success)return void N(a.error||"Install failed");k('Installed "'.concat((null==(e=a.app)?void 0:e.name)||(null==(t=a.app)?void 0:t.id),'"')),p(""),M.FH.get(M.jI.Workspace,"/apps/manifests").then(e=>{e.success&&n(e.manifests)}).catch(()=>{})}catch(e){N(e.message)}finally{g(!1)}}},F=async()=>{if(A){z(!0),L(null);try{let e=await M.FH.post(M.jI.Wallet,"/apps/".concat(A.id,"/approve"));if(!e.success)return void L(e.error||"Approval failed");let t=A.id,a=A.name;C(null),E(null),o("installed:".concat(t),{appPath:t,appName:a})}catch(e){L(e.message)}finally{z(!1)}}},R=(0,s.useMemo)(()=>Object.entries(et.yN).map(e=>{let[t,a]=e;return{id:t,name:a.title,icon:a.icon,description:a.description||"Built-in ".concat(a.title.toLowerCase()," app"),category:"builtin",color:a.color,permissions:[],manifest:null,onAdd:()=>o(t)}}),[o]),O=(0,s.useMemo)(()=>l.map(e=>({id:"installed:".concat(e.id),name:e.name,icon:Q.A,description:e.description||"Installed app",category:"installed",color:"gray",permissions:Array.isArray(e.permissions)?e.permissions:[],manifest:e,onAdd:()=>o("installed:".concat(e.id),{appPath:e.id,appName:e.name})})),[l,o]),D=(0,s.useMemo)(()=>"builtin"===x?R:"installed"===x?O:[...R,...O],[x,R,O]);return(0,r.jsx)(y._s,{isOpen:t,onClose:a,title:"APP STORE",subtitle:"Add apps to workspace",children:(0,r.jsxs)("div",{className:"space-y-4",children:[(0,r.jsx)("div",{className:"flex gap-1",children:ea.map(e=>(0,r.jsx)("button",{onClick:()=>m(e.id),className:"px-2.5 py-1 font-mono text-[9px] tracking-widest border transition-colors ".concat(x===e.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:e.label},e.id))}),("all"===x||"installed"===x)&&(0,r.jsxs)("div",{className:"p-2.5 border border-[var(--color-border,#d4d4d8)] bg-[var(--color-surface,#fff)]",children:[(0,r.jsx)("div",{className:"font-mono text-[8px] text-[var(--color-text-muted,#6b7280)] mb-1.5 tracking-wider",children:"INSTALL FROM URL"}),(0,r.jsxs)("div",{className:"flex gap-1.5",children:[(0,r.jsx)("div",{className:"flex-1",children:(0,r.jsx)(y.ks,{value:u,onChange:e=>p(e.target.value),placeholder:"github.com/user/app or URL",compact:!0,onKeyDown:e=>{"Enter"===e.key&&P()},disabled:h})}),(0,r.jsx)(y.$n,{variant:"primary",size:"sm",onClick:P,loading:h,disabled:h||!u.trim(),icon:(0,r.jsx)(ee.A,{size:10}),children:"INSTALL"})]}),j&&(0,r.jsx)("div",{className:"font-mono text-[8px] text-[var(--color-warning,#ff4d00)] mt-1.5",children:j}),w&&(0,r.jsx)("div",{className:"font-mono text-[8px] text-[var(--color-success,#22c55e)] mt-1.5",children:w})]}),c&&(0,r.jsx)("div",{className:"py-8 flex items-center justify-center",children:(0,r.jsx)(d.A,{size:16,className:"animate-spin text-[var(--color-text-muted,#6b7280)]"})}),!c&&0===D.length&&(0,r.jsxs)("div",{className:"py-8 text-center border border-dashed border-[var(--color-border,#d4d4d8)]",children:[(0,r.jsx)(Q.A,{size:20,className:"mx-auto mb-2 text-[var(--color-text-faint,#9ca3af)]"}),(0,r.jsx)("div",{className:"font-mono text-[9px] text-[var(--color-text-muted,#6b7280)]",children:"installed"===x?"No apps installed. Drop app folders into apps/":"No apps available"})]}),!c&&(0,r.jsx)("div",{className:"space-y-2",children:D.map(e=>{let t=e.icon,a=e.permissions.length>0;return(0,r.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,r.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,r.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,r.jsxs)("div",{className:"flex items-start gap-3",children:[(0,r.jsx)("div",{className:"w-8 h-8 bg-[var(--color-background-alt,#f4f4f5)] flex items-center justify-center shrink-0",children:(0,r.jsx)(t,{size:14,className:"text-[var(--color-text-muted,#6b7280)]"})}),(0,r.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[(0,r.jsx)("span",{className:"font-mono text-[10px] font-bold text-[var(--color-text,#0a0a0a)]",children:e.name}),(0,r.jsx)("span",{className:"font-mono text-[7px] px-1 py-0.5 ".concat("installed"===e.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"===e.category?"PLUGIN":"BUILT-IN"})]}),(0,r.jsx)("div",{className:"font-mono text-[8px] text-[var(--color-text-muted,#6b7280)] mt-0.5 leading-relaxed",children:e.description}),a&&(0,r.jsxs)("div",{className:"flex items-center gap-1 mt-1",children:[(0,r.jsx)(b.A,{size:8,className:"text-[var(--color-warning,#ff4d00)]"}),(0,r.jsxs)("span",{className:"font-mono text-[7px] text-[var(--color-warning,#ff4d00)]",children:[e.permissions.length," PERMISSION",e.permissions.length>1?"S":""]})]})]}),(0,r.jsx)(y.$n,{variant:a?"secondary":"ghost",size:"sm",onClick:t=>{a&&e.manifest?(C(e.manifest),E(t.currentTarget),L(null)):e.onAdd()},icon:a?(0,r.jsx)(b.A,{size:10}):(0,r.jsx)(v.A,{size:10}),children:a?"APPROVE":"ADD"})]})]},e.id)})}),(0,r.jsx)(y.AM,{isOpen:!!A,onClose:()=>{C(null),E(null)},title:"APP PERMISSIONS",anchorEl:S,anchor:"right",children:A&&(0,r.jsxs)("div",{className:"space-y-3 min-w-[220px]",children:[(0,r.jsxs)("div",{children:[(0,r.jsx)("div",{className:"font-mono text-[10px] font-bold text-[var(--color-text,#0a0a0a)]",children:A.name}),(0,r.jsx)("div",{className:"font-mono text-[8px] text-[var(--color-text-muted,#6b7280)] mt-0.5",children:"This app requests the following permissions:"})]}),(0,r.jsx)("div",{className:"space-y-1",children:(Array.isArray(A.permissions)?A.permissions:[]).map(e=>(0,r.jsxs)("div",{className:"flex items-center gap-1.5 px-2 py-1.5 bg-[var(--color-background-alt,#f4f4f5)]",children:[(0,r.jsx)(b.A,{size:9,className:"text-[var(--color-warning,#ff4d00)] shrink-0"}),(0,r.jsx)("span",{className:"font-mono text-[9px] text-[var(--color-text,#0a0a0a)]",children:e})]},e))}),T&&(0,r.jsx)("div",{className:"font-mono text-[8px] text-[var(--color-warning,#ff4d00)] px-1",children:T}),(0,r.jsxs)("div",{className:"flex gap-2 pt-1",children:[(0,r.jsx)(y.$n,{variant:"primary",size:"sm",onClick:F,loading:I,disabled:I,icon:(0,r.jsx)(f.A,{size:10}),className:"flex-1",children:"APPROVE"}),(0,r.jsx)(y.$n,{variant:"secondary",size:"sm",onClick:()=>{C(null),E(null)},disabled:I,children:"CANCEL"})]})]})})]})})}let es={KeyRound:x.A,Flame:P.A,Shield:b.A,Database:g.A};function eo(e){let{views:t,activeViewId:a,onSelectView:s,onCreateView:o}=e;return(0,r.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,r.jsx)("button",{onClick:o,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:e=>{e.target.style.borderColor="rgba(255,255,255,0.4)",e.target.style.color="rgba(255,255,255,0.8)"},onMouseLeave:e=>{e.target.style.borderColor="rgba(255,255,255,0.2)",e.target.style.color="rgba(255,255,255,0.5)"},children:(0,r.jsx)(v.A,{size:18})}),(0,r.jsx)("div",{style:{width:"24px",height:"1px",background:"rgba(255,255,255,0.08)"}}),t.map(e=>{let t=es[e.icon]||x.A,o=e.id===a;return(0,r.jsx)("button",{onClick:()=>s(e.id),title:e.label,style:{width:"40px",height:"40px",borderRadius:"12px",border:"none",background:o?"var(--accent-color, rgba(99,102,241,0.3))":"rgba(255,255,255,0.04)",color:o?"white":"rgba(255,255,255,0.5)",cursor:"pointer",display:"flex",alignItems:"center",justifyContent:"center",transition:"all 0.15s ease"},onMouseEnter:e=>{o||(e.currentTarget.style.background="rgba(255,255,255,0.08)",e.currentTarget.style.color="rgba(255,255,255,0.8)")},onMouseLeave:e=>{o||(e.currentTarget.style.background="rgba(255,255,255,0.04)",e.currentTarget.style.color="rgba(255,255,255,0.5)")},children:(0,r.jsx)(t,{size:20})},e.id)})]})}let el=[{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}],en=[{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"}],ec={KeyRound:x.A,Flame:P.A,Shield:b.A,Database:g.A};function ei(e){let{open:t,onClose:a,onSelect:s}=e;return t?(0,r.jsx)(y.aF,{isOpen:t,title:"Create View",onClose:a,children:(0,r.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:"8px",padding:"8px 0"},children:en.map(e=>{let t=ec[e.icon]||x.A;return(0,r.jsxs)("button",{onClick:()=>{s(e),a()},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:e=>{e.currentTarget.style.background="rgba(255,255,255,0.06)",e.currentTarget.style.borderColor="rgba(255,255,255,0.15)"},onMouseLeave:e=>{e.currentTarget.style.background="rgba(255,255,255,0.03)",e.currentTarget.style.borderColor="rgba(255,255,255,0.08)"},children:[(0,r.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,r.jsx)(t,{size:18})}),(0,r.jsxs)("div",{children:[(0,r.jsx)("div",{style:{fontWeight:600,fontSize:"14px"},children:e.label}),e.description&&(0,r.jsx)("div",{style:{fontSize:"12px",color:"rgba(255,255,255,0.5)",marginTop:"2px"},children:e.description})]})]},e.id)})})}):null}var ed=a(9476);let ex={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)]"}},em=e=>{let{id:t,title:a,subtitle:o,subtitleLink:l,icon:n,color:d,initialPosition:x={x:20,y:20},initialSize:m={width:320,height:"auto"},minWidth:u=200,minHeight:p=100,maxWidth:f=2e3,maxHeight:v=2e3,resizable:h=!0,dismissable:b=!1,locked:g=!1,onLockChange:y,onRefresh:N,onDismiss:w,onPositionChange:k,onSizeChange:C,onBringToFront:S,children:E,className:I="",status:z="normal",zIndex:T=10,focusTrigger:L}=e,P=d&&d in ex,F=P?ex[d]:null,O=!P&&(null==d?void 0:d.startsWith("#"))?d:null,[D,W]=(0,s.useState)(x),[_,H]=(0,s.useState)({width:"number"==typeof m.width?m.width:320,height:"number"==typeof m.height?m.height:200}),[U,M]=(0,s.useState)(!1),[K,$]=(0,s.useState)(!1),[X,G]=(0,s.useState)(g),[,Y]=(0,s.useState)(!1),B=(0,s.useRef)(null),V=(0,s.useRef)({startX:0,startY:0,startPosX:0,startPosY:0}),q=(0,s.useRef)({direction:null,startX:0,startY:0,startWidth:0,startHeight:0,startPosX:0,startPosY:0}),Z=(0,s.useRef)(T);(0,s.useEffect)(()=>{G(g)},[g]),(0,s.useEffect)(()=>{W(x)},[x.x,x.y]),(0,s.useEffect)(()=>{"number"==typeof m.width&&H(e=>({...e,width:m.width})),"number"==typeof m.height&&H(e=>({...e,height:m.height}))},[m.width,m.height]),(0,s.useEffect)(()=>{let e=Z.current;if(Z.current=T,T>e){Y(!0);let e=setTimeout(()=>Y(!1),250);return()=>clearTimeout(e)}},[T]),(0,s.useEffect)(()=>{if(void 0!==L&&L>0){Y(!0);let e=setTimeout(()=>Y(!1),250);return()=>clearTimeout(e)}},[L]),(0,s.useEffect)(()=>{let e=()=>{setTimeout(()=>{var e;let a=document.activeElement;(null==a?void 0:a.tagName)==="IFRAME"&&(null==(e=B.current)?void 0:e.contains(a))&&(null==S||S(t))},0)};return window.addEventListener("blur",e),()=>window.removeEventListener("blur",e)},[t,S]);let J=(0,s.useCallback)(()=>{if(!B.current)return;let e=B.current.getBoundingClientRect(),a=B.current.offsetParent,r=(null==a?void 0:a.getBoundingClientRect())||{left:0,top:0},s=e.left-r.left,o=e.top-r.top,l=e.width,n=e.height;W({x:s,y:o}),H({width:l,height:n}),(U||K)&&(null==k||k(t,{x:s,y:o})),K&&(null==C||C(t,{width:l,height:n})),M(!1),$(!1)},[t,U,K,k,C]),Q=(0,s.useCallback)((e,a)=>{!X&&h&&(e.preventDefault(),e.stopPropagation(),null==S||S(t),$(!0),q.current={direction:a,startX:e.clientX,startY:e.clientY,startWidth:_.width,startHeight:_.height,startPosX:D.x,startPosY:D.y})},[X,h,_,D,t,S]);(0,s.useEffect)(()=>{if(!U&&!K)return;let e=e=>{if(B.current){if(U){let t=e.clientX-V.current.startX,a=e.clientY-V.current.startY,r=Math.max(0,V.current.startPosX+t),s=Math.max(0,V.current.startPosY+a);B.current.style.left="".concat(r,"px"),B.current.style.top="".concat(s,"px")}else if(K&&q.current.direction){let t=e.clientX-q.current.startX,a=e.clientY-q.current.startY,r=q.current.direction,s=q.current.startWidth,o=q.current.startHeight,l=q.current.startPosX,n=q.current.startPosY;if(r.includes("e")&&(s=Math.min(f,Math.max(u,q.current.startWidth+t))),r.includes("w")){let e=q.current.startWidth-t;e>=u&&e<=f&&(s=e,l=q.current.startPosX+t)}if(r.includes("s")&&(o=Math.min(v,Math.max(p,q.current.startHeight+a))),r.includes("n")){let e=q.current.startHeight-a;e>=p&&e<=v&&(o=e,n=q.current.startPosY+a)}B.current.style.width="".concat(s,"px"),B.current.style.height="".concat(o,"px"),B.current.style.left="".concat(Math.max(0,l),"px"),B.current.style.top="".concat(Math.max(0,n),"px")}}},t=()=>{J()},a=e=>{"Escape"===e.key&&J()};return document.addEventListener("mousemove",e),document.addEventListener("mouseup",t),document.addEventListener("keydown",a),()=>{document.removeEventListener("mousemove",e),document.removeEventListener("mouseup",t),document.removeEventListener("keydown",a)}},[U,K,J,u,p,f,v]);let ee="absolute z-20";return(0,r.jsx)("div",{ref:B,className:"absolute ".concat(I),onClick:e=>{if(!(e.target.closest("button")||e.target.closest("input")||e.target.closest("a")||e.target.closest("textarea")||e.target.closest("select"))){if(U||K)return void J();null==S||S(t)}},style:{left:D.x,top:D.y,width:_.width,height:_.height,minWidth:u,minHeight:p,zIndex:U||K?1e3:T,transform:"scale(1)",transition:"none",transformOrigin:"top left",willChange:U||K?"left, top, width, height":"auto"},children:(0,r.jsxs)("div",{className:"bg-[var(--color-surface,#ffffff)] border ".concat(F?F.accent:O?"":({normal:"border-[var(--color-border-muted,#e5e5e5)]",alert:"border-[var(--color-warning,#ff4d00)]",success:"border-[var(--color-accent,#ccff00)]"})[z]," relative overflow-hidden h-full flex flex-col"),style:{borderColor:O?"".concat(O,"4D"):void 0,boxShadow:U||K?"6px 6px 0 rgba(0,0,0,0.1)":"4px 4px 0 rgba(0,0,0,0.05)"},children:[(F||O)&&(0,r.jsx)("div",{className:"absolute top-0 left-0 right-0 h-1 ".concat(F?F.band:""),style:O?{backgroundColor:O}:void 0}),(0,r.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,r.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,r.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,r.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,r.jsx)("div",{className:"absolute inset-0 opacity-[0.02] pointer-events-none bg-[radial-gradient(#000_1px,transparent_1px)] bg-[size:3px_3px]"}),h&&!X&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("div",{className:"".concat(ee," top-0 left-3 right-3 h-2 cursor-n-resize"),onMouseDown:e=>Q(e,"n")}),(0,r.jsx)("div",{className:"".concat(ee," bottom-0 left-3 right-3 h-2 cursor-s-resize"),onMouseDown:e=>Q(e,"s")}),(0,r.jsx)("div",{className:"".concat(ee," left-0 top-3 bottom-3 w-2 cursor-w-resize"),onMouseDown:e=>Q(e,"w")}),(0,r.jsx)("div",{className:"".concat(ee," right-0 top-3 bottom-3 w-2 cursor-e-resize"),onMouseDown:e=>Q(e,"e")}),(0,r.jsx)("div",{className:"".concat(ee," top-0 left-0 w-3 h-3 cursor-nw-resize"),onMouseDown:e=>Q(e,"nw")}),(0,r.jsx)("div",{className:"".concat(ee," top-0 right-0 w-3 h-3 cursor-ne-resize"),onMouseDown:e=>Q(e,"ne")}),(0,r.jsx)("div",{className:"".concat(ee," bottom-0 left-0 w-3 h-3 cursor-sw-resize"),onMouseDown:e=>Q(e,"sw")}),(0,r.jsx)("div",{className:"".concat(ee," bottom-0 right-0 w-5 h-5 cursor-se-resize group/resize"),onMouseDown:e=>Q(e,"se"),children:(0,r.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,r.jsx)("circle",{cx:"8.5",cy:"1.5",r:"1"}),(0,r.jsx)("circle",{cx:"8.5",cy:"5",r:"1"}),(0,r.jsx)("circle",{cx:"8.5",cy:"8.5",r:"1"}),(0,r.jsx)("circle",{cx:"5",cy:"5",r:"1"}),(0,r.jsx)("circle",{cx:"5",cy:"8.5",r:"1"}),(0,r.jsx)("circle",{cx:"1.5",cy:"8.5",r:"1"})]})})]}),(0,r.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 ".concat(F||O?"pt-3":""," ").concat(X?"cursor-default":U?"cursor-grabbing":"cursor-grab"),onMouseDown:e=>{!(e.target.closest("button")||e.target.closest("input"))&&(null==S||S(t),X||(e.preventDefault(),M(!0),V.current={startX:e.clientX,startY:e.clientY,startPosX:D.x,startPosY:D.y}))},children:[(0,r.jsxs)("div",{className:"flex items-center gap-2 min-w-0 flex-1",children:[!X&&(0,r.jsx)(ed.A,{size:10,className:"text-[var(--color-text-faint,#9ca3af)] shrink-0"}),X&&(0,r.jsx)(i.A,{size:10,className:"text-[var(--color-text-faint,#9ca3af)] shrink-0"}),n&&(0,r.jsx)(n,{size:12,className:"shrink-0 ".concat(F?F.text:"text-[var(--color-text-muted,#6b7280)]"),style:O?{color:O}:void 0}),(0,r.jsx)("span",{className:"font-mono text-[10px] font-bold tracking-widest uppercase select-none shrink-0 ".concat(F?F.text:"text-[var(--color-text,#0a0a0a)]"),style:O?{color:O}:void 0,children:a}),o&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("span",{className:"text-[var(--color-text-faint,#9ca3af)] shrink-0",children:"\xb7"}),(0,r.jsx)("span",{className:"font-mono text-[9px] text-[var(--color-text-muted,#6b7280)] truncate",children:o}),l&&(0,r.jsx)("a",{href:l,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:e=>e.stopPropagation(),onMouseDown:e=>e.stopPropagation(),children:(0,r.jsx)(A.A,{size:9,className:"text-[var(--color-text-muted,#6b7280)]"})})]})]}),(0,r.jsxs)("div",{className:"flex items-center gap-1",children:[N&&(0,r.jsx)("button",{onClick:N,className:"p-1 hover:bg-[var(--color-surface-alt,#fafafa)] transition-colors",title:"Refresh app",children:(0,r.jsx)(j.A,{size:10,className:"text-[var(--color-text-muted,#6b7280)]"})}),(0,r.jsx)("button",{onClick:()=>{let e=!X;G(e),null==y||y(t,e)},className:"p-1 hover:bg-[var(--color-surface-alt,#fafafa)] transition-colors",title:X?"Unlock app":"Lock app",children:X?(0,r.jsx)(i.A,{size:10,className:"text-[var(--color-text,#0a0a0a)]"}):(0,r.jsx)(R.A,{size:10,className:"text-[var(--color-text-muted,#6b7280)]"})}),b&&(0,r.jsx)("button",{onClick:w,className:"p-1 hover:bg-[var(--color-surface-alt,#fafafa)] transition-colors",children:(0,r.jsx)(c.A,{size:10,className:"text-[var(--color-text-muted,#6b7280)]"})})]})]}),(0,r.jsx)("div",{className:"p-3 relative z-10 flex-1 min-h-0 overflow-auto",style:{pointerEvents:U||K?"none":"auto"},children:E})]})})};a(5336),a(626),a(4814),a(4919),a(3609),a(4256);var eu=a(5144),ep=a(6673),ef=a(3361),ev=a(6082),eh=a(6046),eb=a(7586);let eg=["wallet:create:hot","send:hot","swap","fund","action:create"],ej=["limits.fund","limits.send","limits.swap","swap.max_slippage","swap.min_slippage_admin","swap.min_slippage_agent","permissions.default"],ey={"limits.fund":"ETH","limits.send":"ETH","limits.swap":"ETH","swap.max_slippage":"%","swap.min_slippage_admin":"%","swap.min_slippage_agent":"%"},eN={fast:"Fast",standard:"Standard",powerful:"Powerful"},ew={"claude-cli":null,"claude-api":"anthropic","codex-cli":null,"openai-api":"openai"},ek={anthropic:"Anthropic",openai:"OpenAI"};function eA(){let[e,t]=(0,s.useState)(null),[a,o]=(0,s.useState)(!0),[l,n]=(0,s.useState)(null),[i,m]=(0,s.useState)(!1),[u,p]=(0,s.useState)(null),[v,h]=(0,s.useState)("claude-cli"),[b,g]=(0,s.useState)(!1),[N,w]=(0,s.useState)(""),[k,A]=(0,s.useState)(!1),[C,S]=(0,s.useState)(null),[E,I]=(0,s.useState)(!1),z=(0,s.useCallback)(async()=>{o(!0),n(null);try{let e=await M.FH.get(M.jI.Wallet,"/ai/status");t(e),h(e.activeProvider)}catch(e){n(e instanceof Error?e.message:"Failed to load AI status")}finally{o(!1)}},[]);(0,s.useEffect)(()=>{z()},[z]);let T=null==e?void 0:e.providers.find(e=>e.mode===v),L=ew[v],P=L&&!(null==T?void 0:T.available),F=async()=>{m(!0),n(null),p(null);try{await M.FH.patch(M.jI.Wallet,"/defaults/".concat(encodeURIComponent("ai.provider")),{value:v}),p("AI settings saved"),await z()}catch(e){n(e instanceof Error?e.message:"Failed to save AI settings")}finally{m(!1)}},R=async()=>{m(!0),n(null),p(null);try{await M.FH.post(M.jI.Wallet,"/defaults/reset",{key:"ai.provider"}),p("AI settings reset to defaults"),await z()}catch(e){n(e instanceof Error?e.message:"Failed to reset AI settings")}finally{m(!1)}},O=async()=>{if(L&&N.trim()){A(!0),S(null),I(!1);try{let e=await M.FH.post(M.jI.Wallet,"/apikeys/validate",{service:L,key:N.trim()});e.valid?(await M.FH.post(M.jI.Wallet,"/apikeys",{service:L,name:"default",key:N.trim()}),I(!0),w(""),g(!1),await z()):S(e.error||"Invalid API key")}catch(e){S(e instanceof Error?e.message:"Validation failed")}finally{A(!1)}}};return a?(0,r.jsxs)("div",{className:"p-2 space-y-2",style:{border:"1px solid var(--color-border)",background:"var(--color-surface)"},children:[(0,r.jsx)("div",{className:"font-mono text-[10px] tracking-widest",style:{color:"var(--color-text-muted)"},children:"AI ENGINE"}),(0,r.jsx)("div",{className:"py-4 flex items-center justify-center",children:(0,r.jsx)(d.A,{size:14,className:"animate-spin",style:{color:"var(--color-text-muted)"}})})]}):(0,r.jsxs)("div",{className:"p-2 space-y-2",style:{border:"1px solid var(--color-border)",background:"var(--color-surface)"},children:[(0,r.jsxs)("div",{children:[(0,r.jsx)("div",{className:"font-mono text-[10px] tracking-widest",style:{color:"var(--color-text-muted)"},children:"AI ENGINE"}),(0,r.jsx)("div",{className:"font-mono text-[8px]",style:{color:"var(--color-text-muted)"},children:"Select AI provider and default model for hooks and strategies."})]}),l&&(0,r.jsx)("div",{className:"p-1.5 font-mono text-[9px]",style:{border:"1px solid var(--color-warning)",color:"var(--color-warning)"},children:l}),u&&(0,r.jsx)("div",{className:"p-1.5 font-mono text-[9px]",style:{border:"1px solid var(--color-success)",color:"var(--color-success)"},children:u}),(0,r.jsxs)("div",{className:"space-y-1",children:[(0,r.jsx)("div",{className:"font-mono text-[9px] font-bold",style:{color:"var(--color-text)"},children:"Provider"}),null==e?void 0:e.providers.map(e=>(0,r.jsxs)("label",{className:"flex items-center gap-2 cursor-pointer py-1 px-1.5",style:{border:v===e.mode?"1px solid var(--color-accent, #ccff00)":"1px solid transparent",background:v===e.mode?"var(--color-background-alt, #f4f4f5)":"transparent"},children:[(0,r.jsx)("input",{type:"radio",name:"ai-provider",value:e.mode,checked:v===e.mode,onChange:()=>{h(e.mode),g(!1),w(""),S(null),I(!1)},className:"accent-[var(--color-accent,#ccff00)]"}),(0,r.jsx)("span",{className:"font-mono text-[9px] flex-1",style:{color:"var(--color-text)"},children:e.label}),e.available?(0,r.jsx)(f.A,{size:10,style:{color:"var(--color-success, #22c55e)"}}):(0,r.jsx)(c.A,{size:10,style:{color:"var(--color-text-muted)"}}),(0,r.jsx)("span",{className:"font-mono text-[8px]",style:{color:"var(--color-text-muted)"},children:e.available?"":e.reason})]},e.mode))]}),P&&L&&(0,r.jsxs)("div",{className:"space-y-1.5",children:[(0,r.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 ",ek[L]||L," API key configured.",!b&&(0,r.jsx)("button",{onClick:()=>g(!0),className:"font-bold underline ml-1",style:{color:"var(--color-warning)"},children:"Add API Key"})]}),b&&(0,r.jsxs)("div",{className:"flex items-end gap-1.5",children:[(0,r.jsx)("div",{className:"flex-1",children:(0,r.jsx)(y.ks,{label:"".concat(ek[L]||L," API Key"),compact:!0,value:N,onChange:e=>{w(e.target.value),S(null)},rightElement:(0,r.jsx)(x.A,{size:10,style:{color:"var(--color-text-muted)"}})})}),(0,r.jsx)(y.$n,{size:"sm",onClick:()=>void O(),loading:k,disabled:!N.trim(),children:"VALIDATE"})]}),C&&(0,r.jsx)("div",{className:"font-mono text-[8px]",style:{color:"var(--color-warning)"},children:C}),E&&(0,r.jsx)("div",{className:"font-mono text-[8px]",style:{color:"var(--color-success)"},children:"API key saved successfully"})]}),(null==e?void 0:e.tiers)&&(0,r.jsxs)("div",{className:"space-y-0.5",children:[(0,r.jsx)("div",{className:"font-mono text-[9px]",style:{color:"var(--color-text-muted)"},children:"Model Tiers (auto-selected by permissions):"}),["fast","standard","powerful"].map(t=>(0,r.jsxs)("div",{className:"flex items-center gap-2 pl-1",children:[(0,r.jsxs)("span",{className:"font-mono text-[8px] w-14",style:{color:"var(--color-text-muted)"},children:[eN[t],":"]}),(0,r.jsx)("span",{className:"font-mono text-[9px] font-bold",style:{color:"var(--color-text)"},children:e.tiers[t]})]},t))]}),(0,r.jsxs)("div",{className:"flex gap-2",children:[(0,r.jsx)(y.$n,{size:"sm",onClick:()=>void F(),loading:i,icon:(0,r.jsx)(eh.A,{size:11}),children:"SAVE"}),(0,r.jsx)(y.$n,{size:"sm",variant:"secondary",onClick:()=>void R(),disabled:i,icon:(0,r.jsx)(j.A,{size:11}),children:"RESET"})]})]})}let eC={telegram:["botToken"]};function eS(){let[e,t]=(0,s.useState)([]),[a,o]=(0,s.useState)(!1),[l,n]=(0,s.useState)(!0),[c,i]=(0,s.useState)(null),[x,m]=(0,s.useState)(null),[u,p]=(0,s.useState)(null),[f,v]=(0,s.useState)(""),[,h]=(0,s.useState)(""),[b,g]=(0,s.useState)(""),j=(0,s.useRef)(null);(0,s.useEffect)(()=>()=>{var e;null==(e=j.current)||e.abort()},[]);let N=(0,s.useCallback)(async()=>{n(!0),i(null);try{let e=await M.FH.get(M.jI.Wallet,"/adapters");t(e.adapters||[]),o(e.running)}catch(e){i(e instanceof Error?e.message:"Failed to load adapters")}finally{n(!1)}},[]);(0,s.useEffect)(()=>{N()},[N]);let w=async e=>{p(e.type),i(null);try{let t=await M.FH.post(M.jI.Wallet,"/adapters/telegram/setup-link",{});if(!t.success){i(t.error||"Failed to generate setup link"),p(null);return}v(t.link),h(t.setupToken),g(t.botUsername);let a=new AbortController;j.current=a;for(let r=0;r<2;r++){if(a.signal.aborted)return;try{let r=await M.FH.post(M.jI.Wallet,"/adapters/telegram/detect-chat",{setupToken:t.setupToken});if(a.signal.aborted)return;if(r.chatId){await M.FH.post(M.jI.Wallet,"/adapters",{type:e.type,enabled:e.enabled,config:{...e.config,chatId:r.chatId},chat:{enabled:!0}}),await M.FH.post(M.jI.Wallet,"/adapters/restart");try{await M.FH.post(M.jI.Wallet,"/adapters/test",{type:e.type})}catch(e){}p(null),v(""),await N();return}}catch(e){if(a.signal.aborted)return;break}}a.signal.aborted||(i("Auto-detection timed out. Re-configure Telegram in the Setup Wizard to set your chat ID."),p(null),v(""))}catch(e){i(e instanceof Error?e.message:"Failed to start detection"),p(null)}},k=async e=>{var t,a;let r=!(null==(t=e.chat)?void 0:t.enabled);if(r&&"telegram"===e.type&&!(null==(a=e.config)?void 0:a.chatId))return void await w(e);m(e.type),i(null);try{if(await M.FH.post(M.jI.Wallet,"/adapters",{type:e.type,enabled:e.enabled,config:e.config,chat:{enabled:r}}),await M.FH.post(M.jI.Wallet,"/adapters/restart"),r)try{await M.FH.post(M.jI.Wallet,"/adapters/test",{type:e.type})}catch(e){}await N()}catch(e){i(e instanceof Error?e.message:"Failed to toggle chat")}finally{m(null)}};if(l)return(0,r.jsxs)("div",{className:"p-2 space-y-2",style:{border:"1px solid var(--color-border)",background:"var(--color-surface)"},children:[(0,r.jsxs)("div",{className:"font-mono text-[10px] tracking-widest flex items-center gap-1",style:{color:"var(--color-text-muted)"},children:[(0,r.jsx)(eb.A,{size:10}),"ADAPTER CHAT"]}),(0,r.jsx)("div",{className:"py-3 flex items-center justify-center",children:(0,r.jsx)(d.A,{size:14,className:"animate-spin",style:{color:"var(--color-text-muted)"}})})]});let C=e.filter(e=>e.enabled),S=C.some(e=>{var t;return(null==(t=e.chat)?void 0:t.enabled)===!0});return(0,r.jsxs)("div",{className:"p-2 space-y-2",style:{border:"1px solid var(--color-border)",background:"var(--color-surface)"},children:[(0,r.jsxs)("div",{children:[(0,r.jsxs)("div",{className:"font-mono text-[10px] tracking-widest flex items-center gap-1",style:{color:"var(--color-text-muted)"},children:[(0,r.jsx)(eb.A,{size:10}),"ADAPTER CHAT"]}),(0,r.jsx)("div",{className:"font-mono text-[8px]",style:{color:"var(--color-text-muted)"},children:"Allow AI to respond to messages via external adapters."})]}),c&&(0,r.jsx)("div",{className:"p-1.5 font-mono text-[9px]",style:{border:"1px solid var(--color-warning)",color:"var(--color-warning)"},children:c}),u&&f&&(0,r.jsxs)("div",{className:"p-2 space-y-2",style:{border:"1px solid var(--color-accent)",background:"var(--color-background-alt)"},children:[(0,r.jsxs)(y.$n,{variant:"secondary",size:"sm",icon:(0,r.jsx)(A.A,{size:10}),onClick:()=>window.open(f,"_blank"),children:["Open @",b," in Telegram"]}),(0,r.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,r.jsxs)("div",{className:"flex items-center gap-2",children:[(0,r.jsx)(d.A,{size:12,className:"animate-spin",style:{color:"var(--color-info)"}}),(0,r.jsx)("span",{className:"font-mono text-[9px]",style:{color:"var(--color-text-muted)"},children:"Waiting for you to press Start..."})]}),(0,r.jsx)("button",{onClick:()=>{var e;null==(e=j.current)||e.abort(),p(null),v("")},className:"font-mono text-[8px] underline",style:{color:"var(--color-text-muted)"},children:"Cancel"})]}),!a&&S&&(0,r.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===C.length?(0,r.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,r.jsx)("div",{className:"space-y-1",children:C.map(e=>{var t;let a=(null==(t=e.chat)?void 0:t.enabled)===!0,s=x===e.type,o=(e=>{let t=eC[e.type];return!!t&&t.some(t=>!e.secretKeys.includes(t))})(e);return(0,r.jsxs)("div",{children:[(0,r.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,r.jsxs)("div",{className:"flex items-center gap-2",children:[(0,r.jsx)("span",{className:"font-mono text-[10px] font-bold uppercase",style:{color:"var(--color-text)"},children:e.type}),(0,r.jsx)("span",{className:"font-mono text-[8px] px-1 py-0.5 rounded",style:{background:a?"color-mix(in srgb, var(--color-success) 20%, transparent)":"color-mix(in srgb, var(--color-text-muted) 20%, transparent)",color:a?"var(--color-success)":"var(--color-text-muted)"},children:a?"CHAT ON":"CHAT OFF"})]}),(0,r.jsx)("button",{onClick:()=>void k(e),disabled:s||o,className:"relative w-8 h-4 rounded-full transition-colors cursor-pointer disabled:opacity-50 disabled:cursor-not-allowed",style:{background:a?"var(--color-success, #22c55e)":"var(--color-border, #d4d4d8)"},children:(0,r.jsx)("div",{className:"absolute top-0.5 w-3 h-3 rounded-full transition-all",style:{left:a?"17px":"2px",background:"var(--color-surface, #ffffff)"}})})]}),o&&(0,r.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:",e.type,", name: botToken)."]})]},e.type)})})]})}function eE(){let[e,t]=(0,s.useState)(!0),[a,o]=(0,s.useState)(null),[l,n]=(0,s.useState)(null),[c,i]=(0,s.useState)(null),[x,m]=(0,s.useState)({}),[u,p]=(0,s.useState)({}),[f,v]=(0,s.useState)([]),h=(0,s.useCallback)(async()=>{t(!0),n(null);try{var e,a,r;let t=await M.FH.get(M.jI.Wallet,"/defaults"),s=Object.values(t.defaults||{}).flat(),o={};for(let e of s)o[e.key]=e;m(o);let l={};for(let e of ej)"permissions.default"!==e&&(l[e]=(r=null==(a=o[e])?void 0:a.value,"number"==typeof r?String(r):"string"==typeof r?r:""));p(l);let n=null==(e=o["permissions.default"])?void 0:e.value;v(Array.isArray(n)?n.filter(e=>"string"==typeof e):[])}catch(e){n(e instanceof Error?e.message:"Failed to load defaults")}finally{t(!1)}},[]);(0,s.useEffect)(()=>{h()},[h]);let b=(0,s.useMemo)(()=>ej.map(e=>x[e]).filter(Boolean),[x]),g=async e=>{let t=Number(u[e]);if(Number.isNaN(t))return void n("".concat(e," must be a number"));o(e),n(null),i(null);try{await M.FH.patch(M.jI.Wallet,"/defaults/".concat(encodeURIComponent(e)),{value:t}),i("Saved ".concat(e)),await h()}catch(t){n(t instanceof Error?t.message:"Failed to save ".concat(e))}finally{o(null)}},N=async()=>{let e="permissions.default";o(e),n(null),i(null);try{await M.FH.patch(M.jI.Wallet,"/defaults/".concat(encodeURIComponent(e)),{value:f}),i("Saved permissions.default"),await h()}catch(e){n(e instanceof Error?e.message:"Failed to save permissions.default")}finally{o(null)}},w=async e=>{o(e),n(null),i(null);try{await M.FH.post(M.jI.Wallet,"/defaults/reset",{key:e}),i("Reset ".concat(e)),await h()}catch(t){n(t instanceof Error?t.message:"Failed to reset ".concat(e))}finally{o(null)}};return e?(0,r.jsx)("div",{className:"py-8 flex items-center justify-center",children:(0,r.jsx)(d.A,{size:20,className:"animate-spin",style:{color:"var(--color-text-muted)"}})}):(0,r.jsxs)("div",{className:"space-y-3 p-2",children:[(0,r.jsxs)("div",{children:[(0,r.jsx)("div",{className:"font-mono text-[10px] tracking-widest",style:{color:"var(--color-text-muted)"},children:"SYSTEM DEFAULTS"}),(0,r.jsx)("div",{className:"font-mono text-[9px]",style:{color:"var(--color-text-muted)"},children:"Edit baseline limits and permissions for new agent actions."})]}),l&&(0,r.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:l}),c&&(0,r.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:c}),(0,r.jsx)(eA,{}),b.filter(e=>"permissions.default"!==e.key).map(e=>{var t;return(0,r.jsxs)("div",{className:"p-2 space-y-2",style:{border:"1px solid var(--color-border)",background:"var(--color-surface)"},children:[(0,r.jsxs)("div",{children:[(0,r.jsx)("div",{className:"font-mono text-[10px]",style:{color:"var(--color-text)"},children:e.label}),(0,r.jsx)("div",{className:"font-mono text-[8px]",style:{color:"var(--color-text-muted)"},children:e.description||e.key})]}),(0,r.jsxs)("div",{className:"flex items-end gap-2",children:[(0,r.jsx)(y.ks,{label:e.key,compact:!0,value:null!=(t=u[e.key])?t:"",onChange:t=>p(a=>({...a,[e.key]:t.target.value})),rightElement:ey[e.key]?(0,r.jsx)("span",{className:"font-mono text-[8px] text-[var(--color-text-muted)]",children:ey[e.key]}):void 0}),(0,r.jsx)(y.$n,{size:"sm",onClick:()=>void g(e.key),loading:a===e.key,icon:(0,r.jsx)(eh.A,{size:11}),children:"SAVE"}),(0,r.jsx)(y.$n,{size:"sm",variant:"secondary",onClick:()=>void w(e.key),disabled:a===e.key,icon:(0,r.jsx)(j.A,{size:11}),children:"RESET"})]})]},e.key)}),x["permissions.default"]&&(0,r.jsxs)("div",{className:"p-2 space-y-2",style:{border:"1px solid var(--color-border)",background:"var(--color-surface)"},children:[(0,r.jsxs)("div",{children:[(0,r.jsx)("div",{className:"font-mono text-[10px]",style:{color:"var(--color-text)"},children:x["permissions.default"].label}),(0,r.jsx)("div",{className:"font-mono text-[8px]",style:{color:"var(--color-text-muted)"},children:x["permissions.default"].description||"permissions.default"})]}),(0,r.jsx)("div",{className:"grid grid-cols-2 gap-2",children:eg.map(e=>{let t=f.includes(e);return(0,r.jsxs)("label",{className:"flex items-center gap-2 cursor-pointer font-mono text-[9px]",style:{color:"var(--color-text)"},children:[(0,r.jsx)("input",{type:"checkbox",checked:t,onChange:t=>{v(a=>t.target.checked?Array.from(new Set([...a,e])):a.filter(t=>t!==e))}}),e]},e)})}),(0,r.jsxs)("div",{className:"flex gap-2",children:[(0,r.jsx)(y.$n,{size:"sm",onClick:()=>void N(),loading:"permissions.default"===a,icon:(0,r.jsx)(eh.A,{size:11}),children:"SAVE"}),(0,r.jsx)(y.$n,{size:"sm",variant:"secondary",onClick:()=>void w("permissions.default"),disabled:"permissions.default"===a,icon:(0,r.jsx)(j.A,{size:11}),children:"RESET"})]})]}),(0,r.jsx)(eS,{})]})}var eI=a(3721);let ez={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 eT(){var e,t,a;let{token:m,apiKeys:u,apiKeysLoading:p,refreshApiKeys:f,getApiKey:v,chainOverrides:h,saveChainOverride:b,removeChainOverride:g,getConfiguredChains:j}=(0,H.A)(),{subscribe:N}=(0,U.h)(),[w,k]=(0,s.useState)(null),[A,C]=(0,s.useState)(!0),[S,E]=(0,s.useState)(""),I=s.useRef(null),[z,T]=(0,s.useState)(!1),[L,P]=(0,s.useState)("main"),[F,R]=(0,s.useState)(!1),O=s.useCallback(e=>{let t=e.trim()||"Something went wrong",a=Date.now(),r=I.current;r&&r.message===t&&a-r.at<3e3||(I.current={message:t,at:a},E(t))},[]),{requests:D,notifications:W,dismissNotification:_,resolveAction:K,actionLoading:$}=(0,eu.S)({autoFetch:!!m}),[G,Y]=(0,s.useState)(null),[B,V]=(0,s.useState)(null),[q,Z]=(0,s.useState)(!1),[Q,ee]=(0,s.useState)(!1),[et,ea]=(0,s.useState)(!1),[es,en]=(0,s.useState)(""),[ec,ed]=(0,s.useState)(null),[ex,em]=(0,s.useState)(!1),[eh,eb]=(0,s.useState)(""),[eg,ej]=(0,s.useState)(!1),[ey,eN]=(0,s.useState)(null),[ew,ek]=(0,s.useState)(!1),[eA,eC]=(0,s.useState)(""),[eS,eE]=(0,s.useState)(""),[eT,eP]=(0,s.useState)(""),[eO,eD]=(0,s.useState)(!1),[eW,e_]=(0,s.useState)({}),[eH,eU]=(0,s.useState)(null),[eM,eK]=(0,s.useState)(""),[e$]=(0,s.useState)(!1),[eX,eG]=(0,s.useState)(!1),[eY,eB]=(0,s.useState)(null),[eV,eq]=(0,s.useState)({name:"",chainId:"",rpc:"",explorer:"",nativeCurrency:"ETH"}),[eZ,eJ]=(0,s.useState)(!1),[eQ,e0]=(0,s.useState)(null),[e1,e2]=(0,s.useState)({service:"",name:"",key:""}),[e5,e4]=(0,s.useState)(!1),[e8,e6]=(0,s.useState)(null),[e7,e3]=(0,s.useState)(!1),[e9,te]=(0,s.useState)(null),[tt,ta]=(0,s.useState)(!1),[tr,ts]=(0,s.useState)([]),[to,tl]=(0,s.useState)(!1),[tn,tc]=(0,s.useState)(!1),[ti,td]=(0,s.useState)(null),{workspaces:tx,activeWorkspaceId:tm,apps:tu,loading:tp,createWorkspace:tf,deleteWorkspace:tv,updateWorkspace:th,switchWorkspace:tb,addApp:tg,removeApp:tj,updateApp:ty,bringToFront:tN,tidyApps:tw}=(0,ev.h)(),tk=tx.map(e=>({id:e.id,label:e.name,icon:"Home"===e.icon?o.A:void 0,emoji:e.emoji,color:e.color,closeable:e.isCloseable,isDefault:e.isDefault})),tA=async function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:10;for(let a=0;a<e;a++)try{var t;let e=new AbortController,a=setTimeout(()=>e.abort(),5e3),r=await M.FH.get(M.jI.Wallet,"/setup",void 0,{signal:e.signal});clearTimeout(a);let s=r.hasWallet,o=r.unlocked;if(!s){k({configured:!1,isUnlocked:!1,wallets:[]}),C(!1);return}if(!o){k({configured:!0,isUnlocked:!1,wallets:[]}),C(!1);return}let l=await M.FH.get(M.jI.Wallet,"/wallets",{includeHidden:!0});if(k({configured:!0,isUnlocked:!0,wallets:l.wallets||[]}),(null==(t=l.wallets)?void 0:t.length)>0&&!es){let e=l.wallets.find(e=>"hot"===e.tier);e&&en(e.address)}C(!1);return}catch(t){a<e-1&&await new Promise(e=>setTimeout(e,2e3))}O("Failed to connect to wallet server"),C(!1)};(0,s.useEffect)(()=>{tA()},[]),(0,s.useEffect)(()=>{fetch("/flags").then(e=>e.ok?e.json():{}).then(e=>{e.EXPERIMENTAL_WALLET&&T(!0)}).catch(()=>{})},[]),(0,s.useEffect)(()=>{let e=j(),t={};for(let[a,r]of Object.entries(e))t[a]={...r,nativeCurrency:"ETH"};e_(t)},[j,h,u]),(0,s.useEffect)(()=>{let e=N(eI.Cw.WALLET_CREATED,e=>{let t=e.data;k(e=>{if(!e||e.wallets.some(e=>e.address===t.address))return e;let a={address:t.address,tier:t.tier,chain:t.chain,name:t.name,tokenHash:t.tokenHash,balance:"0 ETH",createdAt:new Date().toISOString()};return{...e,wallets:[...e.wallets,a]}})});return()=>{e()}},[N]),(0,s.useEffect)(()=>{if(!(null==w?void 0:w.configured)||!(null==w?void 0:w.isUnlocked)||tp||tu.length>0)return;let e=w.wallets.find(e=>"cold"===e.tier),t="defaultAppsSeeded:".concat((null==e?void 0:e.address)||"unknown");if(localStorage.getItem(t))return;let a="setupWizardDismissed:".concat((null==e?void 0:e.address)||"unknown");localStorage.getItem(a)||tg("setup",void 0,{x:20,y:20}),tg("installed:agent-chat",{appPath:"agent-chat",appName:"Agent Chat"},{x:460,y:20}),e&&tg("walletDetail",{walletAddress:e.address,walletName:e.name,walletEmoji:e.emoji,walletColor:e.color},{x:820,y:20},"walletDetail-".concat(e.address)),localStorage.setItem(t,"true")},[null==w?void 0:w.configured,null==w?void 0:w.isUnlocked,null==w?void 0:w.wallets,tp,tu.length,tg]);let tC=async e=>{e.preventDefault(),E(""),ej(!0);try{var t;let e=await M.FH.post(M.jI.Wallet,"/wallet/export-seed",{password:eh});if(!e.success)throw Error(e.error);eN(null!=(t=e.mnemonic)?t:null),eb("")}catch(e){E(e instanceof Error?e.message:"Export failed")}finally{ej(!1)}},tS=async()=>{if(!et)return void ea(!0);ee(!0);try{let e=await M.FH.post(M.jI.Wallet,"/nuke");if(!e.success)throw Error(e.error);k(null),V(null),ea(!1),window.location.reload()}catch(e){E(e instanceof Error?e.message:"Nuke failed")}finally{ee(!1)}},tE=async e=>{if(e.preventDefault(),eS!==eT)return void E("Passwords do not match");if(eS.length<8)return void E("Password must be at least 8 characters");if(!eA.trim())return void E("Please enter a seed phrase");eD(!0);try{let e=await M.FH.post(M.jI.Wallet,"/nuke/import",{mnemonic:eA.trim(),password:eS});if(!e.success&&e.error)throw Error(e.error);ek(!1),eC(""),eE(""),eP(""),window.location.reload()}catch(e){E(e instanceof Error?e.message:"Import failed")}finally{eD(!1)}},tI=async e=>{try{await g(e)}catch(e){E("Failed to remove chain")}},tz=async()=>{if(!e1.service||!e1.name||!e1.key)return void E("Service, name, and key are required");e4(!0);try{let e=await M.FH.post(M.jI.Wallet,"/apikeys",{service:e1.service.toLowerCase(),name:e1.name,key:e1.key});e.success?(await f(),e2({service:"",name:"",key:""}),eJ(!1)):O(e.error||"Failed to save API key")}catch(e){E(e instanceof Error?e.message:"Failed to save API key")}finally{e4(!1)}},tT=async e=>{e6(e);try{let t=await M.FH.delete(M.jI.Wallet,"/apikeys/".concat(e));t.success?await f():O(t.error||"Failed to delete API key")}catch(e){E(e instanceof Error?e.message:"Failed to delete API key")}finally{e6(null)}},tL=()=>{e3(!1),te(null)},tP=async()=>{ta(!0);try{let e=await M.FH.delete(M.jI.Wallet,"/apikeys/revoke-all");if(!e.success)return void O(e.error||"Failed to revoke all API keys");await f(),tL()}catch(e){E(e instanceof Error?e.message:"Failed to revoke all API keys")}finally{ta(!1)}},tF=async e=>{try{let t=await M.FH.post(M.jI.Wallet,"/apikeys",{service:"alchemy",name:"default",key:e});if(t.success)return await f(),!0;return O(t.error||"Failed to save Alchemy key"),!1}catch(e){return E(e instanceof Error?e.message:"Failed to save Alchemy key"),!1}},tR=async()=>{let e=eV.name.toLowerCase().trim();if(!e||!eV.chainId)return void E("Chain name and chain ID are required");let t=parseInt(eV.chainId,10),a=ez[e],r=eV.explorer||(null==a?void 0:a.explorer)||"",s=eV.rpc.trim();if(!s){let e=v("alchemy");if(!e||null==a||!a.alchemyPath)return void E("RPC URL is required (or add Alchemy key for known chains)");s="https://".concat(a.alchemyPath,".g.alchemy.com/v2/").concat(e)}try{await b(e,{rpc:s,chainId:t,explorer:r}),eq({name:"",chainId:"",rpc:"",explorer:"",nativeCurrency:"ETH"}),eG(!1)}catch(e){E("Failed to add chain")}},tO=async(e,t)=>{if(!t)return void E("RPC URL is required");try{let a=eW[e];await b(e,{rpc:t,chainId:(null==a?void 0:a.chainId)||0,explorer:(null==a?void 0:a.explorer)||""}),eU(null),eK("")}catch(e){E("Failed to save RPC override")}},tD=async()=>{if(!m)return void ts([]);tl(!0);try{let e=await M.FH.get(M.jI.Wallet,"/backup");e.success&&ts(e.backups)}catch(e){console.error("Failed to fetch backups:",e),ts([])}finally{tl(!1)}},tW=async()=>{tc(!0);try{let e=await M.FH.post(M.jI.Wallet,"/backup");e.success?await tD():O(e.error||"Failed to create backup")}catch(e){E(e instanceof Error?e.message:"Failed to create backup")}finally{tc(!1)}},t_=async e=>{td(e);try{let t=await M.FH.put(M.jI.Wallet,"/backup",{filename:e});t.success?window.location.reload():O(t.error||"Failed to restore backup")}catch(e){E(e instanceof Error?e.message:"Failed to restore backup")}finally{td(null)}},[tH,tU]=(0,s.useState)(!1),tM=async()=>{tU(!0);try{let e=M.FH.getBaseUrl(M.jI.Wallet),t=await fetch("".concat(e,"/backup/export"),{headers:{Authorization:"Bearer ".concat(m||"")}});if(!t.ok){let e=await t.json().catch(()=>({error:"Export failed"}));O(e.error||"Export failed");return}let a=await t.blob(),r=(t.headers.get("Content-Disposition")||"").match(/filename="?([^"]+)"?/),s=r?r[1]:"auramaxx-export.db",o=URL.createObjectURL(a),l=document.createElement("a");l.href=o,l.download=s,document.body.appendChild(l),l.click(),document.body.removeChild(l),URL.revokeObjectURL(o)}catch(e){O(e instanceof Error?e.message:"Export failed")}finally{tU(!1)}},tK=(e,t)=>{ty(e,{x:t.x,y:t.y})},t$=(e,t)=>{ty(e,{isLocked:t})},tX=(e,t)=>{ty(e,{width:t.width,height:t.height})},tG=e=>{tN(e)},tY=e=>{tj(e)},tB=(e,t)=>{let a=tu.find(t=>t.appType===e);a?tN(a.id):tg(e,void 0,t)};if(A)return(0,r.jsxs)("div",{className:"min-h-screen flex items-center justify-center bg-[var(--color-background,#f5f5f5)] relative",children:[(0,r.jsx)("div",{className:"fixed inset-0 pointer-events-none z-0 overflow-hidden",children:(0,r.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,r.jsx)("div",{className:"font-mono text-sm text-[var(--color-text-muted,#6b7280)] animate-pulse relative z-10",children:"INITIALIZING SYSTEM..."})]});if(ec&&!ex)return(0,r.jsxs)("div",{className:"min-h-screen flex items-center justify-center p-4 bg-[var(--color-background,#f5f5f5)] relative",children:[(0,r.jsx)("div",{className:"fixed inset-0 pointer-events-none z-0 overflow-hidden",children:(0,r.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,r.jsxs)("div",{className:"w-full max-w-md bg-[var(--color-surface,#ffffff)] border border-[var(--color-border,#d4d4d8)] relative z-10",children:[(0,r.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,r.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,r.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,r.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,r.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,r.jsxs)("div",{className:"p-8 relative z-10",children:[(0,r.jsxs)("div",{className:"flex items-center gap-3 mb-6",children:[(0,r.jsx)("div",{className:"w-10 h-10 bg-[var(--color-warning,#ff4d00)] flex items-center justify-center",children:(0,r.jsx)(l.A,{size:16,className:"text-white"})}),(0,r.jsxs)("div",{children:[(0,r.jsx)("div",{className:"font-mono text-[10px] text-[var(--color-warning,#ff4d00)] tracking-widest",children:"CRITICAL"}),(0,r.jsx)("div",{className:"font-black text-xl text-[var(--color-text,#0a0a0a)] tracking-tight",children:"BACKUP SEED PHRASE"})]})]}),(0,r.jsx)("div",{className:"mb-4 p-3 bg-[var(--color-warning,#ff4d00)]/10 border border-[var(--color-warning,#ff4d00)]/30",children:(0,r.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,r.jsxs)("div",{className:"mb-6 p-4 bg-[var(--color-text,#0a0a0a)] border-2 border-[var(--color-border-focus,#0a0a0a)] relative",children:[(0,r.jsx)("button",{onClick:()=>{navigator.clipboard.writeText(ec),Y("seed"),setTimeout(()=>Y(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,r.jsx)(n.A,{size:12,className:"seed"===G?"text-[var(--color-accent,#ccff00)]":"text-[var(--color-text-muted,#6b7280)]"})}),(0,r.jsx)("div",{className:"font-mono text-sm text-[var(--color-accent,#ccff00)] leading-relaxed break-words select-all",children:ec})]}),(0,r.jsxs)("div",{className:"space-y-3",children:[(0,r.jsxs)("label",{className:"flex items-start gap-3 cursor-pointer group",children:[(0,r.jsx)("input",{type:"checkbox",checked:ex,onChange:e=>em(e.target.checked),className:"mt-1 w-4 h-4 accent-[var(--color-accent,#ccff00)]"}),(0,r.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,r.jsx)("button",{onClick:()=>{ed(null),tA()},disabled:!ex,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,r.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 tV=(null==w?void 0:w.wallets.filter(e=>"cold"===e.tier))||[],tq=(null==w?void 0:w.configured)&&!(null==w?void 0:w.isUnlocked),tZ=null!=(e=null==w?void 0:w.configured)&&e;return(0,r.jsxs)("div",{className:"h-screen flex bg-[var(--color-background,#f5f5f5)] overflow-hidden",children:[z&&(0,r.jsx)(eo,{views:el,activeViewId:L,onSelectView:P,onCreateView:()=>R(!0)}),z&&(0,r.jsx)(ei,{open:F,onClose:()=>R(!1),onSelect:e=>P(e.id)}),(0,r.jsxs)("div",{className:"fixed inset-0 pointer-events-none z-0 overflow-hidden",children:[(0,r.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,r.jsx)("div",{className:"absolute inset-0 tyvek-texture opacity-40 mix-blend-multiply"}),(0,r.jsx)("div",{className:"absolute top-[5%] left-[30%] opacity-[0.03] select-none",children:(0,r.jsx)("div",{className:"text-[15vw] font-black leading-none text-[var(--color-text,#0a0a0a)] font-mono tracking-tighter",children:"AURA"})}),(0,r.jsx)("div",{className:"absolute bottom-[5%] right-[5%] opacity-[0.03] select-none",children:(0,r.jsx)("div",{className:"text-[12vw] font-black leading-none text-[var(--color-text,#0a0a0a)] font-mono tracking-tighter text-right",children:"MAXXING"})}),(0,r.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,r.jsx)("div",{className:"absolute top-2 left-2 w-3 h-3 bg-[var(--color-text,#0a0a0a)]"})}),(0,r.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,r.jsx)("div",{className:"absolute bottom-2 right-2 w-3 h-3 bg-[var(--color-text,#0a0a0a)]"})})]}),(0,r.jsx)(X,{onSend:()=>tB("send",{x:360,y:20}),onReceive:()=>V("receive"),onLogs:()=>{let e=tu.find(e=>"logs"===e.appType);e?tN(e.id):tg("logs",void 0,{x:700,y:20})},onAgentKeys:()=>tB("agentKeys",{x:360,y:20}),onAppStore:()=>Z(!0),onWalletClick:e=>{let t="walletDetail-".concat(e.address);if(tu.find(e=>e.id===t))return void tN(t);let a=30*tu.filter(e=>"walletDetail"===e.appType).length;tg("walletDetail",{walletAddress:e.address,walletName:e.name,walletEmoji:e.emoji,walletColor:e.color},{x:360+a,y:20+a},t)},onImportSeed:()=>ek(!0),onSettings:()=>{V("settings"===B?null:"settings"),ea(!1)},pendingActionCount:W.filter(e=>"pending"===e.status&&"notify"!==e.type).length,onStateChange:e=>{k(t=>t?{...t,configured:e.configured,isUnlocked:e.unlocked,wallets:e.wallets}:{configured:e.configured,isUnlocked:e.unlocked,wallets:e.wallets})}}),(0,r.jsxs)("div",{className:"flex-1 flex flex-col relative z-10",children:[S&&(0,r.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,r.jsx)("span",{className:"font-mono text-[10px] text-[var(--color-warning,#ff4d00)]",children:S}),(0,r.jsx)("button",{onClick:()=>E(""),className:"text-[var(--color-warning,#ff4d00)] hover:opacity-70",children:(0,r.jsx)(c.A,{size:10})})]}),tq||!tZ?(0,r.jsx)("div",{className:"flex-1 flex items-center justify-center",children:(0,r.jsxs)("div",{className:"text-center",children:[(0,r.jsx)(i.A,{size:32,className:"mx-auto mb-3 text-[var(--color-text-faint,#9ca3af)]"}),(0,r.jsx)("div",{className:"font-mono text-sm text-[var(--color-text-muted,#6b7280)]",children:tZ?"AGENT LOCKED":"WALLET NOT CONFIGURED"}),(0,r.jsx)("div",{className:"font-mono text-[10px] text-[var(--color-text-faint,#9ca3af)] mt-1",children:tZ?"Unlock workspace access in the sidebar. Unlock each agent row separately.":"Set up your wallet using the sidebar"})]})}):(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(J,{tabs:tk,activeTab:tm,onTabChange:e=>{tb(e)},onTabClose:e=>{tv(e)},onNewTab:()=>{tf("NEW")},onTabUpdate:(e,t)=>{th(e,{name:t.name,emoji:t.emoji,color:t.color})},onTidy:tw,onAppStore:()=>Z(!0),notifications:W,onDismissNotification:_}),(0,r.jsx)("div",{className:"flex-1 relative overflow-y-auto overflow-x-hidden",children:tp?(0,r.jsx)("div",{className:"absolute inset-0 flex items-center justify-center",children:(0,r.jsxs)("div",{className:"text-center",children:[(0,r.jsx)(d.A,{size:24,className:"mx-auto mb-2 text-[var(--color-text-faint,#9ca3af)] animate-spin"}),(0,r.jsx)("div",{className:"font-mono text-[10px] text-[var(--color-text-muted,#6b7280)]",children:"LOADING WORKSPACE..."})]})}):(0,r.jsxs)("div",{className:"relative w-full h-full min-h-[800px]",children:[tu.filter(e=>e.isVisible).map(e=>(0,r.jsx)(eL,{app:e,onPositionChange:tK,onSizeChange:tX,onLockChange:t$,onBringToFront:tG,onDismiss:tY},e.id)),0===tu.length&&(0,r.jsx)("div",{className:"absolute inset-0 flex items-center justify-center pointer-events-none",children:(0,r.jsxs)("div",{className:"text-center",children:[(0,r.jsx)("div",{className:"font-mono text-sm text-[var(--color-text-muted,#6b7280)]",children:"EMPTY WORKSPACE"}),(0,r.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,r.jsx)(ep.Z,{requests:D,resolveAction:K,actionLoading:$})]})]}),(0,r.jsx)(y._s,{isOpen:"settings"===B,onClose:()=>V(null),title:"SETTINGS",subtitle:"System configuration",footerLabel:"",children:(0,r.jsx)(eF,{chains:eW,editingChainRpc:eH,setEditingChainRpc:eU,customRpc:eM,setCustomRpc:eK,savingConfig:e$,handleSaveCustomRpc:tO,handleRemoveChain:tI,exportedSeed:ey,setExportedSeed:eN,exportPassword:eh,setExportPassword:eb,exporting:eg,handleExportSeed:tC,copied:G,setCopied:Y,confirmNuke:et,nuking:Q,handleNuke:tS,backups:tr,backupsLoading:to,creatingBackup:tn,restoringBackup:ti,onFetchBackups:tD,onCreateBackup:tW,onRestoreBackup:t_,exportingDb:tH,onExportDb:tM,showAddChainPopover:eX,addChainAnchorEl:eY,onOpenAddChain:e=>{eB(e),eG(!0)},onCloseAddChain:()=>{eG(!1),eB(null)},newChain:eV,setNewChain:eq,handleAddChain:tR,chainOverrides:h,hasAlchemyKey:!!v("alchemy"),isUnlocked:null!=(t=null==w?void 0:w.isUnlocked)&&t,apiKeys:u,apiKeysLoading:p,showAddApiKeyPopover:eZ,addApiKeyAnchorEl:eQ,onOpenAddApiKey:e=>{e0(e),eJ(!0)},onCloseAddApiKey:()=>{eJ(!1),e0(null)},newApiKey:e1,setNewApiKey:e2,savingApiKey:e5,handleAddApiKey:tz,deletingApiKey:e8,handleDeleteApiKey:tT,showRevokeAllApiKeysPopover:e7,revokeAllApiKeysAnchorEl:e9,revokingAllApiKeys:tt,onOpenRevokeAllApiKeys:e=>{te(e),e3(!0)},onCloseRevokeAllApiKeys:tL,handleRevokeAllApiKeys:tP,onAddAlchemyKey:tF})}),(0,r.jsx)(y._s,{isOpen:"receive"===B,onClose:()=>V(null),title:"RECEIVE",subtitle:"Fund your wallets",children:(0,r.jsx)(eR,{coldWallets:tV,copyAddress:e=>{navigator.clipboard.writeText(e),Y(e),setTimeout(()=>Y(null),2e3)},copied:G})}),(0,r.jsx)(er,{isOpen:q&&!tq&&tZ,onClose:()=>Z(!1),onAddApp:(e,t)=>{tg(e,t,{x:360,y:20}),Z(!1)}}),(0,r.jsx)(y.aF,{isOpen:ew,onClose:()=>{ek(!1),eC(""),eE(""),eP("")},title:"Import Seed Phrase",subtitle:"Recovery",icon:(0,r.jsx)(x.A,{size:20,className:"text-[#0047ff]"}),size:"md",children:(0,r.jsxs)("form",{onSubmit:tE,className:"space-y-4",children:[(0,r.jsxs)("div",{children:[(0,r.jsx)("label",{className:"font-mono text-[9px] text-[var(--color-text-muted,#6b7280)] tracking-widest block mb-1",children:"SEED_PHRASE"}),(0,r.jsx)("textarea",{value:eA,onChange:e=>eC(e.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,r.jsxs)("div",{children:[(0,r.jsx)("label",{className:"font-mono text-[9px] text-[var(--color-text-muted,#6b7280)] tracking-widest block mb-1",children:"NEW_PASSWORD"}),(0,r.jsx)("input",{type:"password",value:eS,onChange:e=>eE(e.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,r.jsxs)("div",{children:[(0,r.jsx)("label",{className:"font-mono text-[9px] text-[var(--color-text-muted,#6b7280)] tracking-widest block mb-1",children:"CONFIRM_PASSWORD"}),(0,r.jsx)("input",{type:"password",value:eT,onChange:e=>eP(e.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,r.jsx)("div",{className:"p-3 bg-[var(--color-info,#0047ff)]/5 border border-[var(--color-info,#0047ff)]/30",children:(0,r.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,r.jsxs)("div",{className:"flex gap-2",children:[(0,r.jsx)("button",{type:"button",onClick:()=>{ek(!1),eC(""),eE(""),eP("")},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,r.jsxs)("button",{type:"submit",disabled:eO||!eA||!eS||!eT,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:[eO?(0,r.jsx)(d.A,{size:12,className:"animate-spin"}):(0,r.jsx)(x.A,{size:12}),eO?"IMPORTING...":"IMPORT"]})]})]})}),(0,r.jsx)(ef.Z,{isUnlocked:null!=(a=null==w?void 0:w.isUnlocked)&&a})]})}function eL(e){let{app:t,onPositionChange:a,onSizeChange:o,onLockChange:l,onBringToFront:n,onDismiss:c}=e,[i,d]=(0,s.useState)(0),x=t.appType.startsWith("installed:"),u=(0,et.xR)(t.appType);if(!u)return(0,r.jsx)(em,{id:t.id,title:"UNKNOWN: ".concat(t.appType),icon:m.A,color:"gray",initialPosition:{x:t.x,y:t.y},initialSize:{width:t.width,height:t.height},locked:t.isLocked,onLockChange:l,dismissable:!0,onDismiss:()=>c(t.id),onPositionChange:a,onSizeChange:o,onBringToFront:n,zIndex:t.zIndex,children:(0,r.jsxs)("div",{className:"py-4 text-center",children:[(0,r.jsx)(m.A,{size:20,className:"mx-auto mb-2 text-[var(--color-text-faint,#9ca3af)]"}),(0,r.jsx)("div",{className:"font-mono text-[9px] text-[var(--color-text-muted,#6b7280)]",children:"UNKNOWN APP TYPE"}),(0,r.jsx)("div",{className:"font-mono text-[8px] text-[var(--color-text-faint,#9ca3af)] mt-1",children:t.appType})]})});let p=u.component;return(0,r.jsx)(em,{id:t.id,title:(()=>{if("walletDetail"===t.appType){var e,a;let r=null==(e=t.config)?void 0:e.walletEmoji,s=null==(a=t.config)?void 0:a.walletName;if(r||s)return r?"".concat(r," ").concat(s||"WALLET"):s||"WALLET"}return u.title})(),subtitle:(()=>{var e;if("iframe"===t.appType&&(null==(e=t.config)?void 0:e.url))try{return new URL(t.config.url).hostname}catch(e){}})(),subtitleLink:(()=>{var e;if("iframe"===t.appType&&(null==(e=t.config)?void 0:e.url))return t.config.url})(),icon:u.icon,color:(()=>{if("walletDetail"===t.appType){var e;let a=null==(e=t.config)?void 0:e.walletColor;if(a)return({"#ff4d00":"orange","#0047ff":"blue","#00c853":"teal","#ffab00":"orange","#9c27b0":"purple","#00bcd4":"teal","#e91e63":"rose","#607d8b":"gray"})[a]||"orange"}return u.color})(),initialPosition:{x:t.x,y:t.y},initialSize:{width:t.width,height:t.height},locked:t.isLocked,onLockChange:l,onRefresh:x?()=>d(e=>e+1):void 0,dismissable:!0,onDismiss:()=>c(t.id),onPositionChange:a,onSizeChange:o,onBringToFront:n,zIndex:t.zIndex,children:(()=>{let e=x?{appPath:t.appType.slice(10),...t.config,_refreshKey:i}:t.config;return(0,r.jsx)(s.Suspense,{fallback:(0,r.jsx)(eP,{}),children:(0,r.jsx)(p,{config:e})})})()})}function eP(){return(0,r.jsxs)("div",{className:"py-6 text-center",children:[(0,r.jsx)(d.A,{size:20,className:"mx-auto mb-2 text-[var(--color-text-faint,#9ca3af)] animate-spin"}),(0,r.jsx)("div",{className:"font-mono text-[9px] text-[var(--color-text-muted,#6b7280)]",children:"LOADING..."})]})}function eF(e){let{chains:t,editingChainRpc:a,setEditingChainRpc:o,customRpc:i,setCustomRpc:N,savingConfig:w,handleSaveCustomRpc:k,handleRemoveChain:A,exportedSeed:C,setExportedSeed:S,exportPassword:E,setExportPassword:I,exporting:z,handleExportSeed:T,copied:L,setCopied:P,confirmNuke:F,nuking:R,handleNuke:O,backups:D,backupsLoading:W,creatingBackup:_,restoringBackup:H,onFetchBackups:U,onCreateBackup:K,onRestoreBackup:$,exportingDb:X,onExportDb:G,showAddChainPopover:Y,addChainAnchorEl:B,onOpenAddChain:V,onCloseAddChain:q,newChain:Z,setNewChain:J,handleAddChain:Q,chainOverrides:ee,hasAlchemyKey:et,isUnlocked:ea,apiKeys:er,apiKeysLoading:es,showAddApiKeyPopover:eo,addApiKeyAnchorEl:el,onOpenAddApiKey:en,onCloseAddApiKey:ec,newApiKey:ei,setNewApiKey:ed,savingApiKey:ex,handleAddApiKey:em,deletingApiKey:eu,handleDeleteApiKey:ep,showRevokeAllApiKeysPopover:ef,revokeAllApiKeysAnchorEl:ev,revokingAllApiKeys:eh,onOpenRevokeAllApiKeys:eb,onCloseRevokeAllApiKeys:eg,handleRevokeAllApiKeys:ej,onAddAlchemyKey:ey}=e,[eN,ew]=s.useState(null),[ek,eC]=s.useState(null),[eS,eI]=s.useState(""),[ez,eT]=s.useState(!1);s.useEffect(()=>{ea&&U()},[ea]);let eL=async()=>{eS.trim()&&(eT(!0),await ey(eS.trim())&&eI(""),eT(!1))},eP=["base","ethereum","arbitrum","optimism"],[eF,eR]=s.useState(!1),[eO,eD]=s.useState("admin"),[eW,e_]=s.useState(!0),[eH,eU]=s.useState(!1);s.useEffect(()=>{(async()=>{try{let e=((await M.FH.get(M.jI.Wallet,"/defaults")).permissions||[]).find(e=>"permissions.agent_tier"===e.key);e&&eD(e.value)}catch(e){}finally{e_(!1)}})()},[]);let eM=async e=>{eD(e),eU(!0);try{await M.FH.patch(M.jI.Wallet,"/defaults/".concat(encodeURIComponent("permissions.agent_tier")),{value:e})}catch(t){eD("admin"===e?"restricted":"admin")}finally{eU(!1)}},[eK,e$]=s.useState(!1),[eX,eG]=s.useState(!1),[eY,eB]=s.useState(!1),[eV,eq]=s.useState(!1),[eZ,eJ]=s.useState(!1),[eQ,e0]=s.useState(!1);return(0,r.jsxs)("div",{className:"space-y-4",children:[(0,r.jsxs)(y.lX,{title:"DEFAULT_AGENT",icon:(0,r.jsx)(u.A,{size:12}),isOpen:eF,onToggle:()=>eR(!eF),contentClassName:"p-4 pt-0 space-y-4",children:[(0,r.jsxs)("div",{className:"p-3 space-y-2 border border-[var(--color-border)] bg-[var(--color-surface)]",children:[(0,r.jsx)("div",{className:"font-mono text-[10px] text-[var(--color-text)]",children:"Permission Tier"}),(0,r.jsx)("div",{className:"font-mono text-[8px] text-[var(--color-text-muted)]",children:"Controls what the agent-chat app can do directly"}),eW?(0,r.jsx)("div",{className:"flex items-center gap-2 py-2",children:(0,r.jsx)(d.A,{size:12,className:"animate-spin text-[var(--color-text-muted)]"})}):(0,r.jsxs)("div",{className:"flex gap-2",children:[(0,r.jsx)(y.$n,{type:"button",onClick:()=>eM("admin"),disabled:eH,variant:"admin"===eO?"secondary":"ghost",size:"md",className:"flex-1 !h-auto !p-2 !justify-start border ".concat("admin"===eO?"border-[var(--color-accent)] text-[var(--color-text)] bg-[var(--color-background-alt)]":"border-[var(--color-border)] text-[var(--color-text-muted)]"),children:(0,r.jsxs)("div",{className:"text-left",children:[(0,r.jsx)("div",{className:"font-bold text-[9px] tracking-normal",children:"Full Admin"}),(0,r.jsx)("div",{className:"text-[8px] tracking-normal text-[var(--color-text-muted)]",children:"Agent can do everything directly"})]})}),(0,r.jsx)(y.$n,{type:"button",onClick:()=>eM("restricted"),disabled:eH,variant:"restricted"===eO?"secondary":"ghost",size:"md",className:"flex-1 !h-auto !p-2 !justify-start border ".concat("restricted"===eO?"border-[var(--color-accent)] text-[var(--color-text)] bg-[var(--color-background-alt)]":"border-[var(--color-border)] text-[var(--color-text-muted)]"),children:(0,r.jsxs)("div",{className:"text-left",children:[(0,r.jsx)("div",{className:"font-bold text-[9px] tracking-normal",children:"Restricted"}),(0,r.jsx)("div",{className:"text-[8px] tracking-normal text-[var(--color-text-muted)]",children:"Approval required for actions"})]})})]})]}),(0,r.jsx)(eA,{})]}),(0,r.jsx)(y.lX,{title:"SYSTEM_DEFAULTS",icon:(0,r.jsx)(p.A,{size:12}),isOpen:eK,onToggle:()=>e$(!eK),children:(0,r.jsx)(eE,{})}),(0,r.jsx)(y.lX,{title:"RPC_CONFIGURATION",icon:(0,r.jsx)(m.A,{size:12}),isOpen:eX,onToggle:()=>eG(!eX),contentClassName:"p-4 pt-0",children:(0,r.jsxs)("div",{className:"p-3 bg-[var(--color-background-alt)] border border-[var(--color-border)] space-y-4",children:[(0,r.jsxs)("div",{className:"p-3 border border-dashed border-[var(--color-border)] bg-[var(--color-surface)]",children:[(0,r.jsx)("div",{className:"font-mono text-[9px] text-[var(--color-text-muted)] uppercase tracking-widest mb-2",children:"ALCHEMY API KEY"}),et?(0,r.jsxs)("div",{className:"space-y-2",children:[(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[(0,r.jsx)(f.A,{size:12,className:"text-[var(--color-success)]"}),(0,r.jsx)("span",{className:"font-mono text-[10px] text-[var(--color-success)]",children:"Configured"}),(0,r.jsxs)("span",{className:"font-mono text-[8px] text-[var(--color-text-muted)]",children:["(auto-configures: ",eP.join(", "),")"]})]}),(0,r.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,r.jsxs)("div",{className:"space-y-2",children:[(0,r.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: ",eP.join(", ")]}),(0,r.jsxs)("div",{className:"flex gap-2",children:[(0,r.jsx)("div",{className:"flex-1",children:(0,r.jsx)(y.ks,{label:"",type:"password",value:eS,onChange:e=>eI(e.target.value),placeholder:"Paste your Alchemy API key...",compact:!0})}),(0,r.jsx)(y.$n,{size:"sm",onClick:eL,disabled:ez||!eS.trim(),loading:ez,icon:ez?void 0:(0,r.jsx)(v.A,{size:10}),children:"ADD"})]}),(0,r.jsx)("div",{className:"font-mono text-[8px] text-[var(--color-text-faint)] leading-relaxed",children:"Currently using public RPCs (may have rate limits)."})]})]}),(0,r.jsxs)("div",{children:[(0,r.jsxs)("div",{className:"flex items-center justify-between mb-2",children:[(0,r.jsx)("div",{className:"font-mono text-[9px] text-[var(--color-text-muted)] uppercase tracking-widest",children:"CHAIN OVERRIDES"}),(0,r.jsxs)("div",{className:"relative",children:[(0,r.jsx)(y.$n,{variant:"ghost",size:"sm",onClick:e=>V(e.currentTarget),icon:(0,r.jsx)(v.A,{size:10}),children:"ADD"}),(0,r.jsx)(y.AM,{isOpen:Y,onClose:q,title:"ADD_CHAIN",anchorEl:B,anchor:"right",className:"w-64",children:(0,r.jsxs)("div",{className:"space-y-3",children:[(0,r.jsx)("div",{className:"font-mono text-[8px] text-[var(--color-text-muted)] leading-relaxed",children:"Known chains: arbitrum, optimism, polygon, zksync"}),(0,r.jsx)(y.ks,{label:"NAME",type:"text",value:Z.name,onChange:e=>J({...Z,name:e.target.value}),placeholder:"arbitrum, polygon, zksync...",compact:!0}),(0,r.jsx)(y.ks,{label:"CHAIN_ID",type:"number",value:Z.chainId,onChange:e=>J({...Z,chainId:e.target.value}),placeholder:"42161, 10, 137...",compact:!0}),(0,r.jsx)(y.ks,{label:"RPC (optional)",type:"text",value:Z.rpc,onChange:e=>J({...Z,rpc:e.target.value}),placeholder:"blank = use Alchemy",compact:!0}),(0,r.jsx)(y.$n,{size:"md",onClick:()=>{Q(),q()},disabled:w||!Z.name||!Z.chainId,loading:w,icon:w?void 0:(0,r.jsx)(v.A,{size:10}),className:"w-full",children:"ADD CHAIN"})]})})]})]}),(0,r.jsx)("div",{className:"space-y-2",children:Object.entries(t).map(e=>{let[t,s]=e,l=ee[t]?"override":et&&eP.includes(t)?"alchemy":"public",n=!["base","ethereum"].includes(t);return(0,r.jsxs)("div",{className:"flex items-center gap-2 p-2 bg-[var(--color-surface)] border border-[var(--color-border)]",children:[(0,r.jsxs)("div",{className:"w-20 font-mono text-[10px] font-bold text-[var(--color-text)] uppercase flex items-center gap-1",children:[t,(0,r.jsx)("span",{className:"font-mono text-[7px] px-1 py-0.5 rounded ".concat("override"===l?"bg-[var(--color-accent)]/20 text-[var(--color-accent)]":"alchemy"===l?"bg-[var(--color-success)]/20 text-[var(--color-success)]":"bg-[var(--color-text-muted)]/20 text-[var(--color-text-muted)]"),children:"override"===l?"CUSTOM":"alchemy"===l?"ALCHEMY":"PUBLIC"})]}),a===t?(0,r.jsx)("div",{className:"flex-1",children:(0,r.jsx)(y.ks,{label:"",type:"text",value:i,onChange:e=>N(e.target.value),placeholder:"https://...",compact:!0,autoFocus:!0,rightElement:(0,r.jsxs)("div",{className:"flex gap-1",children:[(0,r.jsx)(y.$n,{variant:"ghost",size:"sm",onClick:()=>k(t,i),icon:(0,r.jsx)(f.A,{size:12,className:"text-[var(--color-success)]"}),children:""}),(0,r.jsx)(y.$n,{variant:"ghost",size:"sm",onClick:()=>{o(null),N("")},icon:(0,r.jsx)(c.A,{size:12}),children:""})]})})}):(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("div",{className:"flex-1"}),(0,r.jsx)(y.$n,{variant:"secondary",size:"sm",onClick:()=>{o(t),N(s.rpc)},children:"EDIT RPC"}),n&&(0,r.jsx)(y.$n,{variant:"ghost",size:"sm",onClick:()=>A(t),icon:(0,r.jsx)(h.A,{size:10}),className:"hover:text-[var(--color-warning)]",children:""})]})]},t)})})]})]})}),(0,r.jsx)(y.lX,{title:"API_KEYS",icon:(0,r.jsx)(x.A,{size:12}),isOpen:eY,onToggle:()=>eB(!eY),contentClassName:"p-4 pt-0",children:(0,r.jsxs)("div",{className:"p-3 bg-[var(--color-background-alt)] border border-[var(--color-border)] space-y-3",children:[(0,r.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,r.jsx)("div",{className:"font-mono text-[9px] text-[var(--color-text-muted)]",children:"Store API keys for premium services (Alchemy, Infura, etc.)"}),(0,r.jsxs)("div",{className:"flex items-center gap-1",children:[er.length>0&&(0,r.jsxs)("div",{className:"relative",children:[(0,r.jsx)(y.$n,{variant:"danger",size:"sm",onClick:e=>eb(e.currentTarget),disabled:eh,icon:eh?(0,r.jsx)(d.A,{size:10,className:"animate-spin"}):(0,r.jsx)(l.A,{size:10}),children:"REVOKE ALL"}),(0,r.jsx)(y.Rw,{isOpen:ef,onClose:eg,onConfirm:ej,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:eh})]}),(0,r.jsxs)("div",{className:"relative",children:[(0,r.jsx)(y.$n,{variant:"ghost",size:"sm",onClick:e=>en(e.currentTarget),icon:(0,r.jsx)(v.A,{size:10}),children:"ADD"}),(0,r.jsx)(y.AM,{isOpen:eo,onClose:ec,title:"ADD_API_KEY",anchorEl:el,anchor:"right",className:"w-72",children:(0,r.jsxs)("div",{className:"space-y-3",children:[(0,r.jsx)(y.ks,{label:"SERVICE",type:"text",value:ei.service,onChange:e=>ed({...ei,service:e.target.value}),placeholder:"alchemy, infura, etherscan...",compact:!0}),(0,r.jsx)(y.ks,{label:"NAME",type:"text",value:ei.name,onChange:e=>ed({...ei,name:e.target.value}),placeholder:"My API Key",compact:!0}),(0,r.jsx)(y.ks,{label:"API_KEY",type:"password",value:ei.key,onChange:e=>ed({...ei,key:e.target.value}),placeholder:"Enter your API key...",compact:!0}),(0,r.jsx)(y.$n,{size:"md",onClick:em,disabled:ex||!ei.service||!ei.name||!ei.key,loading:ex,icon:ex?void 0:(0,r.jsx)(v.A,{size:10}),className:"w-full",children:"ADD KEY"})]})})]})]})]}),es?(0,r.jsx)("div",{className:"py-4 flex items-center justify-center",children:(0,r.jsx)(d.A,{size:16,className:"animate-spin text-[var(--color-text-muted)]"})}):0===er.length?(0,r.jsxs)("div",{className:"py-4 text-center border border-dashed border-[var(--color-border)]",children:[(0,r.jsx)("div",{className:"font-mono text-[9px] text-[var(--color-text-muted)]",children:"No API keys stored"}),(0,r.jsx)("div",{className:"font-mono text-[8px] text-[var(--color-text-faint)] mt-1",children:"Add keys for Alchemy, Infura, etc."})]}):(0,r.jsx)("div",{className:"space-y-2",children:er.map(e=>(0,r.jsxs)("div",{className:"flex items-center gap-2 p-2 bg-[var(--color-surface)] border border-[var(--color-border)]",children:[(0,r.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[(0,r.jsx)("span",{className:"font-mono text-[10px] font-bold text-[var(--color-text)] uppercase",children:e.service}),(0,r.jsx)("span",{className:"font-mono text-[9px] text-[var(--color-text-muted)]",children:e.name})]}),(0,r.jsx)("div",{className:"font-mono text-[8px] text-[var(--color-text-faint)] truncate",children:e.keyMasked||e.key})]}),(0,r.jsx)(y.$n,{variant:"ghost",size:"sm",onClick:()=>ep(e.id),disabled:eu===e.id,icon:eu===e.id?(0,r.jsx)(d.A,{size:10,className:"animate-spin"}):(0,r.jsx)(h.A,{size:10}),className:"hover:text-[var(--color-warning)]",children:""})]},e.id))}),(0,r.jsx)("div",{className:"pt-2 border-t border-dashed border-[var(--color-border)]",children:(0,r.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,r.jsx)(y.lX,{title:"EXPORT_SEED",icon:(0,r.jsx)(b.A,{size:12}),isOpen:eV,onToggle:()=>eq(!eV),contentClassName:"p-4 pt-0",children:C?(0,r.jsxs)("div",{className:"space-y-3",children:[(0,r.jsxs)("div",{className:"p-3 bg-[var(--color-text)] border border-[var(--color-border-focus)] relative",children:[(0,r.jsx)(y.$n,{variant:"ghost",size:"sm",onClick:()=>{navigator.clipboard.writeText(C),P("exported"),setTimeout(()=>P(null),2e3)},className:"absolute top-2 right-2 bg-[var(--color-text-muted)]/20 hover:bg-[var(--color-text-muted)]/40",icon:(0,r.jsx)(n.A,{size:10,className:"exported"===L?"text-[var(--color-accent)]":"text-[var(--color-surface)]"}),children:""}),(0,r.jsx)("div",{className:"font-mono text-xs text-[var(--color-accent)] leading-relaxed break-words select-all pr-8",children:C})]}),(0,r.jsx)(y.$n,{variant:"ghost",size:"sm",onClick:()=>S(null),children:"HIDE"})]}):(0,r.jsx)("form",{onSubmit:T,children:(0,r.jsx)(y.ks,{label:"PASSWORD",type:"password",value:E,onChange:e=>I(e.target.value),placeholder:"Enter password to export...",compact:!0,rightElement:(0,r.jsx)(y.$n,{type:"submit",size:"sm",disabled:z||!E,loading:z,children:"EXPORT"})})})}),(0,r.jsx)(y.lX,{title:"DATABASE_BACKUP",icon:(0,r.jsx)(g.A,{size:12}),isOpen:eZ,onToggle:()=>eJ(!eZ),contentClassName:"p-4 pt-0",children:(0,r.jsxs)("div",{className:"space-y-3",children:[(0,r.jsx)(y.$n,{variant:"secondary",size:"lg",onClick:K,disabled:_,loading:_,icon:_?void 0:(0,r.jsx)(v.A,{size:12}),className:"w-full",children:_?"CREATING...":"CREATE BACKUP"}),(0,r.jsx)(y.$n,{variant:"secondary",size:"lg",onClick:G,disabled:X,loading:X,icon:X?void 0:(0,r.jsx)(g.A,{size:12}),className:"w-full",children:X?"EXPORTING...":"EXPORT DATABASE"}),W?(0,r.jsx)("div",{className:"py-4 flex items-center justify-center",children:(0,r.jsx)(d.A,{size:16,className:"animate-spin text-[var(--color-text-muted)]"})}):0===D.length?(0,r.jsx)("div",{className:"py-4 text-center",children:(0,r.jsx)("div",{className:"font-mono text-[9px] text-[var(--color-text-muted)]",children:"No backups found"})}):(0,r.jsx)("div",{className:"space-y-1 max-h-48 overflow-y-auto",children:D.map(e=>{var t;return(0,r.jsxs)("div",{className:"relative",children:[(0,r.jsxs)(y.$n,{type:"button",variant:"secondary",size:"md",onClick:t=>{eC(t.currentTarget),ew(e.filename)},className:"w-full !h-auto !px-2 !py-2 !justify-between group",children:[(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[(0,r.jsx)(j.A,{size:10,className:"text-[var(--color-text-muted)] group-hover:text-[var(--color-text)]"}),(0,r.jsx)("span",{className:"font-mono text-[10px] text-[var(--color-text)]",children:(e=>{let t=e.slice(0,4),a=e.slice(4,6),r=e.slice(6,8),s=e.slice(9,11),o=e.slice(11,13);return"".concat(t,"-").concat(a,"-").concat(r," ").concat(s,":").concat(o)})(e.timestamp)})]}),(0,r.jsx)("span",{className:"font-mono text-[9px] text-[var(--color-text-muted)]",children:(t=e.size)<1024?"".concat(t," B"):t<1048576?"".concat((t/1024).toFixed(1)," KB"):"".concat((t/1048576).toFixed(1)," MB")})]}),(0,r.jsx)(y.Rw,{isOpen:eN===e.filename,onClose:()=>{ew(null),eC(null)},onConfirm:()=>{$(e.filename),ew(null),eC(null)},title:"Restore Backup",message:"Restore to this backup? You will lose all data since this backup was created.",confirmText:"RESTORE",variant:"warning",loading:H===e.filename})]},e.filename)})}),(0,r.jsx)("div",{className:"pt-2 border-t border-dashed border-[var(--color-border)]",children:(0,r.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,r.jsx)(y.lX,{title:"DANGER_ZONE",icon:(0,r.jsx)(l.A,{size:12}),isOpen:eQ,onToggle:()=>e0(!eQ),tone:"warning",contentClassName:"p-4 pt-0",children:(0,r.jsxs)("div",{className:"p-3 border-2 border-[var(--color-warning)] bg-[color-mix(in_srgb,var(--color-warning)_5%,transparent)]",children:[(0,r.jsx)("div",{className:"font-mono text-[10px] text-[var(--color-text-muted)] mb-3",children:"Delete ALL data. Irreversible."}),(0,r.jsx)(y.$n,{variant:F?"primary":"danger",size:"lg",onClick:O,disabled:R,loading:R,icon:R?void 0:(0,r.jsx)(h.A,{size:12}),className:"w-full ".concat(F?"!bg-[var(--color-warning)] !border-[var(--color-warning)] hover:!bg-[var(--color-warning)]":""),children:R?"NUKING...":F?"CONFIRM":"NUKE"})]})})]})}function eR(e){let{coldWallets:t,copyAddress:a,copied:s}=e;return 0===t.length?(0,r.jsx)("div",{className:"text-center py-8",children:(0,r.jsx)("div",{className:"font-mono text-[10px] text-[var(--color-text-muted,#6b7280)]",children:"No wallet found. Set up your wallet first."})}):(0,r.jsxs)("div",{className:"space-y-5",children:[t.map(e=>{var o;return(0,r.jsxs)("div",{className:"space-y-3",children:[(0,r.jsxs)("div",{className:"flex items-center justify-center gap-2",children:[(0,r.jsx)(b.A,{size:12,style:{color:"var(--color-info, #0047ff)"}}),(0,r.jsxs)("span",{className:"font-mono text-[9px] font-bold tracking-widest",style:{color:"var(--color-info, #0047ff)"},children:[(null==(o=e.name)?void 0:o.toUpperCase())||"AGENT",e.chain?" (".concat(e.chain.toUpperCase(),")"):""]})]}),(0,r.jsx)("div",{className:"flex justify-center",children:(0,r.jsxs)("div",{className:"p-3 relative",style:{backgroundColor:"var(--color-surface, #ffffff)",border:"1px solid var(--color-border, #d4d4d8)"},children:[(0,r.jsx)("div",{className:"absolute top-1 left-1 w-2 h-2 border-l border-t",style:{borderColor:"var(--color-border-focus, #0a0a0a)"}}),(0,r.jsx)("div",{className:"absolute top-1 right-1 w-2 h-2 border-r border-t",style:{borderColor:"var(--color-border-focus, #0a0a0a)"}}),(0,r.jsx)("div",{className:"absolute bottom-1 left-1 w-2 h-2 border-l border-b",style:{borderColor:"var(--color-border-focus, #0a0a0a)"}}),(0,r.jsx)("div",{className:"absolute bottom-1 right-1 w-2 h-2 border-r border-b",style:{borderColor:"var(--color-border-focus, #0a0a0a)"}}),(0,r.jsx)("img",{src:"https://api.qrserver.com/v1/create-qr-code/?size=160x160&data=".concat(e.address,"&bgcolor=ffffff&color=0a0a0a&margin=0"),alt:"Wallet QR Code",className:"w-40 h-40"})]})}),(0,r.jsxs)("div",{className:"p-3 relative group cursor-pointer",onClick:()=>a(e.address),style:{backgroundColor:"var(--color-background-alt, #f4f4f5)",border:"1px solid var(--color-border, #d4d4d8)"},children:[(0,r.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,r.jsx)("button",{className:"absolute right-2 top-1/2 -translate-y-1/2 p-1 opacity-60 group-hover:opacity-100 transition-opacity",onClick:t=>{t.stopPropagation(),a(e.address)},children:(0,r.jsx)(n.A,{size:14,style:{color:s===e.address?"var(--color-success, #00c853)":"var(--color-info, #0047ff)"}})})]}),s===e.address&&(0,r.jsx)("div",{className:"text-center",children:(0,r.jsx)("span",{className:"font-mono text-[9px]",style:{color:"var(--color-success, #00c853)"},children:"COPIED TO CLIPBOARD"})}),t.length>1&&e!==t[t.length-1]&&(0,r.jsx)("div",{className:"border-t",style:{borderColor:"var(--color-border, #d4d4d8)"}})]},e.address)}),(0,r.jsxs)("div",{className:"space-y-2 pt-2",children:[(0,r.jsx)("div",{className:"font-mono text-[8px] text-[var(--color-text-muted,#6b7280)] tracking-widest",children:"INSTRUCTIONS"}),(0,r.jsxs)("div",{className:"space-y-1.5",children:[(0,r.jsxs)("div",{className:"flex items-start gap-2",children:[(0,r.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,r.jsx)("span",{className:"font-mono text-[8px] text-[var(--color-text-muted,#6b7280)]",children:"1"})}),(0,r.jsx)("span",{className:"font-mono text-[9px] text-[var(--color-text-muted,#6b7280)]",children:"Scan QR or copy address above"})]}),(0,r.jsxs)("div",{className:"flex items-start gap-2",children:[(0,r.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,r.jsx)("span",{className:"font-mono text-[8px] text-[var(--color-text-muted,#6b7280)]",children:"2"})}),(0,r.jsx)("span",{className:"font-mono text-[9px] text-[var(--color-text-muted,#6b7280)]",children:"Send ETH from exchange or another wallet"})]}),(0,r.jsxs)("div",{className:"flex items-start gap-2",children:[(0,r.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,r.jsx)("span",{className:"font-mono text-[8px] text-[var(--color-text-muted,#6b7280)]",children:"3"})}),(0,r.jsx)("span",{className:"font-mono text-[9px] text-[var(--color-text-muted,#6b7280)]",children:"Funds will appear after network confirmation"})]})]})]})]})}},3609:(e,t,a)=>{"use strict";a.r(t),a.d(t,{default:()=>o});var r=a(5155);a(2115);var s=a(2056);function o(e){let{config:t}=e,a=null==t?void 0:t.url,o=(null==t?void 0:t.title)||"Embedded Content";if(!a)return(0,r.jsxs)("div",{className:"flex flex-col items-center justify-center h-full min-h-[200px] text-[var(--color-text-muted,#6b7280)]",children:[(0,r.jsx)(s.A,{size:24,className:"mb-2"}),(0,r.jsx)("span",{className:"font-mono text-xs",children:"NO URL CONFIGURED"})]});try{let e=new URL(a);if(!["http:","https:"].includes(e.protocol))return(0,r.jsxs)("div",{className:"flex flex-col items-center justify-center h-full min-h-[200px] text-[var(--color-error,#ff4d00)]",children:[(0,r.jsx)(s.A,{size:24,className:"mb-2"}),(0,r.jsx)("span",{className:"font-mono text-xs",children:"BLOCKED URL SCHEME"}),(0,r.jsx)("span",{className:"font-mono text-[10px] text-[var(--color-text-muted,#6b7280)] mt-1",children:"Only http/https URLs are allowed"})]})}catch(e){return(0,r.jsxs)("div",{className:"flex flex-col items-center justify-center h-full min-h-[200px] text-[var(--color-error,#ff4d00)]",children:[(0,r.jsx)(s.A,{size:24,className:"mb-2"}),(0,r.jsx)("span",{className:"font-mono text-xs",children:"INVALID URL"}),(0,r.jsx)("span",{className:"font-mono text-[10px] text-[var(--color-text-muted,#6b7280)] mt-1 max-w-full truncate px-4",children:a})]})}return(0,r.jsx)("iframe",{src:a,title:o,sandbox:"allow-scripts allow-forms",className:"w-full h-full border-0",style:{minHeight:"200px"},loading:"lazy"})}},4256:(e,t,a)=>{"use strict";a.r(t),a.d(t,{default:()=>u});var r=a(5155),s=a(2115),o=a(2056),l=a(8561),n=a(8678),c=a(9794),i=a(3667),d=a(4901);let x=["base","ethereum","arbitrum","optimism","polygon","solana"],m=["function name() view returns (string)","function symbol() view returns (string)","function decimals() view returns (uint8)","function totalSupply() view returns (uint256)"];function u(e){let{config:t}=e,{getRpcUrl:a}=(0,d.A)(),[u,p]=(0,s.useState)((null==t?void 0:t.defaultChain)||"base"),[f,v]=(0,s.useState)((null==t?void 0:t.defaultAddress)||""),[h,b]=(0,s.useState)(!1),[g,j]=(0,s.useState)(null),[y,N]=(0,s.useState)(null),w=async()=>{let e=f.trim();if(e){b(!0),j(null),N(null);try{var t,r,s,o,i;let d=/^0x[a-fA-F0-9]{40}$/.test(e)||/^[1-9A-HJ-NP-Za-km-z]{32,44}$/.test(e),x=[];if(d){let a=await fetch("https://api.dexscreener.com/latest/dex/pairs/".concat(u,"/").concat(e));if(a.ok){let e=await a.json();(null==(t=e.pairs)?void 0:t.length)&&(x=e.pairs)}if(0===x.length){let t=await fetch("https://api.dexscreener.com/latest/dex/tokens/".concat(e));t.ok&&(x=(await t.json()).pairs||[])}}if(0===x.length){let t=await fetch("https://api.dexscreener.com/latest/dex/search?q=".concat(encodeURIComponent(e)));t.ok&&(x=(await t.json()).pairs||[])}if(x.length>0){let e=function(e,t){let a=e.filter(e=>e.chainId===t);return a.length>0?a.sort((e,t)=>{var a,r;return((null==(a=t.liquidity)?void 0:a.usd)||0)-((null==(r=e.liquidity)?void 0:r.usd)||0)})[0]:[...e].sort((e,t)=>{var a,r;return((null==(a=t.liquidity)?void 0:a.usd)||0)-((null==(r=e.liquidity)?void 0:r.usd)||0)})[0]}(x,u);N({name:(null==(r=e.baseToken)?void 0:r.name)||"Unknown",symbol:(null==(s=e.baseToken)?void 0:s.symbol)||"???",priceUsd:e.priceUsd||"0",fdv:e.fdv||0,volume24h:(null==(o=e.volume)?void 0:o.h24)||0,priceChange24h:(null==(i=e.priceChange)?void 0:i.h24)||0,pairAddress:e.pairAddress,chain:e.chainId||u,source:"dex"});return}if(!/^0x[a-fA-F0-9]{40}$/.test(e)||"solana"===u)throw Error("No data found — try a contract address");let p=a(u),f=new l.FR(p),v=new n.NZ(e,m,f),[h,b,g,j]=await Promise.all([v.name().catch(()=>"Unknown"),v.symbol().catch(()=>"???"),v.decimals().catch(()=>18),v.totalSupply().catch(()=>BigInt(0))]),y=c.Js(j,g);N({name:h,symbol:b,priceUsd:"0",fdv:0,volume24h:0,priceChange24h:0,pairAddress:"",chain:u,totalSupply:y,decimals:g,source:"rpc"})}catch(e){j(e instanceof Error?e.message:"Failed to fetch token data")}finally{b(!1)}}},k=e=>e>=1e9?"$".concat((e/1e9).toFixed(2),"B"):e>=1e6?"$".concat((e/1e6).toFixed(2),"M"):e>=1e3?"$".concat((e/1e3).toFixed(2),"K"):"$".concat(e.toFixed(2)),A=y&&y.priceChange24h>=0?"var(--color-success, #00c853)":"var(--color-warning, #ff4d00)";return(0,r.jsxs)("div",{className:"space-y-3",children:[(0,r.jsx)(i.XS,{label:"CHAIN",value:u,onChange:p,chains:x,size:"sm"}),(0,r.jsx)(i.ks,{label:"TOKEN",value:f,onChange:e=>v(e.target.value),onKeyDown:e=>"Enter"===e.key&&w(),placeholder:"token, pool, or name",compact:!0}),(0,r.jsx)(i.$n,{type:"button",onClick:w,disabled:h||!f.trim(),loading:h,className:"w-full",children:h?"LOADING...":"LOAD"}),g&&(0,r.jsx)("div",{className:"p-2",style:{backgroundColor:"color-mix(in srgb, var(--color-warning, #ff4d00) 10%, transparent)",border:"1px solid color-mix(in srgb, var(--color-warning, #ff4d00) 30%, transparent)"},children:(0,r.jsxs)("div",{className:"flex items-center gap-1",children:[(0,r.jsx)(o.A,{size:10,style:{color:"var(--color-warning, #ff4d00)"}}),(0,r.jsx)("span",{className:"font-mono text-[9px]",style:{color:"var(--color-warning, #ff4d00)"},children:g})]})}),y&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)("div",{className:"p-2",style:{backgroundColor:"var(--color-background-alt, #f4f4f5)",border:"1px solid var(--color-border, #d4d4d8)"},children:[(0,r.jsxs)("div",{className:"flex items-center justify-between mb-1",children:[(0,r.jsx)("span",{className:"font-mono text-[11px] font-bold",style:{color:"var(--color-text, #0a0a0a)"},children:y.name}),(0,r.jsx)("span",{className:"font-mono text-[9px] font-bold",style:{color:"var(--color-text-muted, #6b7280)"},children:y.symbol})]}),"dex"===y.source&&(0,r.jsxs)("div",{className:"flex items-center justify-between",children:[(0,r.jsxs)("span",{className:"font-mono text-[13px] font-bold",style:{color:"var(--color-text, #0a0a0a)"},children:["$",parseFloat(y.priceUsd).toFixed(.01>parseFloat(y.priceUsd)?8:4)]}),(0,r.jsxs)("span",{className:"font-mono text-[10px] font-bold",style:{color:A},children:[y.priceChange24h>=0?"+":"",y.priceChange24h.toFixed(2),"%"]})]}),"rpc"===y.source&&(0,r.jsx)("div",{className:"font-mono text-[8px]",style:{color:"var(--color-text-faint, #9ca3af)"},children:"ON-CHAIN ONLY — NO DEX DATA"})]}),(0,r.jsxs)("div",{className:"space-y-1.5",children:["dex"===y.source&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)("div",{className:"flex items-center justify-between",children:[(0,r.jsx)("span",{className:"font-mono text-[9px]",style:{color:"var(--color-text-muted, #888)"},children:"MKT_CAP"}),(0,r.jsx)("span",{className:"font-mono text-[10px] font-bold",style:{color:"var(--color-text, #0a0a0a)"},children:k(y.fdv)})]}),(0,r.jsxs)("div",{className:"flex items-center justify-between",children:[(0,r.jsx)("span",{className:"font-mono text-[9px]",style:{color:"var(--color-text-muted, #888)"},children:"VOL_24H"}),(0,r.jsx)("span",{className:"font-mono text-[10px] font-bold",style:{color:"var(--color-text, #0a0a0a)"},children:k(y.volume24h)})]})]}),"rpc"===y.source&&y.totalSupply&&(0,r.jsxs)("div",{className:"flex items-center justify-between",children:[(0,r.jsx)("span",{className:"font-mono text-[9px]",style:{color:"var(--color-text-muted, #888)"},children:"SUPPLY"}),(0,r.jsx)("span",{className:"font-mono text-[10px] font-bold",style:{color:"var(--color-text, #0a0a0a)"},children:parseFloat(y.totalSupply)>=1e9?"".concat((parseFloat(y.totalSupply)/1e9).toFixed(2),"B"):parseFloat(y.totalSupply)>=1e6?"".concat((parseFloat(y.totalSupply)/1e6).toFixed(2),"M"):parseFloat(y.totalSupply).toLocaleString()})]}),"rpc"===y.source&&void 0!==y.decimals&&(0,r.jsxs)("div",{className:"flex items-center justify-between",children:[(0,r.jsx)("span",{className:"font-mono text-[9px]",style:{color:"var(--color-text-muted, #888)"},children:"DECIMALS"}),(0,r.jsx)("span",{className:"font-mono text-[10px] font-bold",style:{color:"var(--color-text, #0a0a0a)"},children:y.decimals})]}),(0,r.jsxs)("div",{className:"flex items-center justify-between",children:[(0,r.jsx)("span",{className:"font-mono text-[9px]",style:{color:"var(--color-text-muted, #888)"},children:"CHAIN"}),(0,r.jsx)("span",{className:"font-mono text-[10px] font-bold",style:{color:"var(--color-text, #0a0a0a)"},children:y.chain.toUpperCase()})]})]}),"dex"===y.source&&y.pairAddress&&(0,r.jsx)("div",{style:{border:"1px solid var(--color-border, #d4d4d8)",height:200,overflow:"hidden"},children:(0,r.jsx)("iframe",{src:"https://dexscreener.com/".concat(y.chain,"/").concat(y.pairAddress,"?embed=1&theme=dark&info=0&trades=0"),title:"Price Chart",width:"100%",height:"100%",style:{border:"none"}})})]})]})}},9327:(e,t,a)=>{Promise.resolve().then(a.bind(a,2812))}},e=>{e.O(0,[8956,7616,786,142,5442,5553,7411,3667,4901,6872,3573,8273,5336,4919,8441,1255,7358],()=>e(e.s=9327)),_N_E=e.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[9664],{63:(e,a,t)=>{"use strict";var r=t(7260);t.o(r,"useParams")&&t.d(a,{useParams:function(){return r.useParams}}),t.o(r,"usePathname")&&t.d(a,{usePathname:function(){return r.usePathname}}),t.o(r,"useRouter")&&t.d(a,{useRouter:function(){return r.useRouter}}),t.o(r,"useSearchParams")&&t.d(a,{useSearchParams:function(){return r.useSearchParams}})},7935:(e,a,t)=>{"use strict";t.r(a),t.d(a,{default:()=>x});var r=t(5155),s=t(2115),o=t(2619),l=t.n(o),n=t(63),c=t(4901),i=t(960),d=t(6509);function x(){let{actionId:e}=(0,n.useParams)(),{setToken:a}=(0,c.A)(),[t,o]=(0,s.useState)("loading"),[x,f]=(0,s.useState)(null),[p,m]=(0,s.useState)(""),[v,b]=(0,s.useState)(!1),[u,h]=(0,s.useState)(!1),[g,N]=(0,s.useState)(!1),[j,w]=(0,s.useState)(null),y=(0,s.useCallback)(async()=>{try{let a=await i.FH.get(i.jI.Wallet,"/actions/".concat(encodeURIComponent(e),"/summary"));f(a)}catch(e){f(null)}},[e]);(0,s.useEffect)(()=>{let e=!1;return(async()=>{try{let a=await i.FH.get(i.jI.Wallet,"/setup");if(e)return;if(!a.hasWallet){window.location.href="/";return}if(!a.unlocked)return void o("locked");await y(),e||o("ready")}catch(a){e||o("locked")}})(),()=>{e=!0}},[y]);let k=async e=>{if(e.preventDefault(),p){h(!0),w(null);try{let{publicKeyBase64:e}=await (0,d.UI)(),t=await (0,i.WE)(p,void 0,e);t.token&&a(t.token,{persist:v?"local":"session"}),m(""),await y(),o("ready")}catch(e){w(e.message||"Unlock failed")}finally{h(!1)}}},E=async a=>{N(!0),w(null);try{await i.FH.post(i.jI.Wallet,"/actions/".concat(encodeURIComponent(e),"/resolve"),{approved:a}),await y()}catch(e){w(e.message||"Failed to resolve action")}finally{N(!1)}},I=(null==x?void 0:x.status)==="approved"?"approved":(null==x?void 0:x.status)==="rejected"?"denied":(null==x?void 0:x.status)==="expired"?"expired":"pending",P=(null==x?void 0:x.action)||"Unspecified action",C=(null==x?void 0:x.scope)||[],R=(null==x?void 0:x.impact)||[],S=((null==x?void 0:x.risk)||"unknown").toUpperCase(),O=null==x?void 0:x.profile,A=(null==O?void 0:O.trim().toLowerCase())==="admin",D=C.includes("admin:*"),T=A||D,U=T?["admin"]:C,L=U.length>0||R.length>0,F="approved"===I||"denied"===I||"expired"===I,M="approved"===I?{title:"ACTION APPROVED",body:"This request has been approved. Return to your CLI/agent and retry."}:"denied"===I?{title:"ACTION DENIED",body:"This request was denied. You can close this page."}:"expired"===I?{title:"ACTION EXPIRED",body:"This approval link has expired. Generate a new approval request."}:{title:"REVIEW PERMISSION REQUEST",body:"Confirm what this action can do before choosing Approve or Deny."};return(0,r.jsxs)("div",{className:"min-h-screen bg-[var(--color-background,#f4f4f5)] relative flex items-center justify-center p-4",children:[(0,r.jsxs)("div",{className:"fixed inset-0 pointer-events-none z-0 overflow-hidden",children:[(0,r.jsx)("div",{className:"absolute inset-0 bg-grid-adaptive bg-[size:4rem_4rem] opacity-30"}),(0,r.jsx)("div",{className:"absolute inset-0 tyvek-texture opacity-40 mix-blend-multiply"}),(0,r.jsx)("div",{className:"absolute bottom-[5%] right-[5%] opacity-5 select-none",children:(0,r.jsx)("div",{className:"text-[15vw] font-bold leading-none text-[var(--color-text,#0a0a0a)] font-mono tracking-tighter text-right",children:"AURAMAXX"})}),(0,r.jsx)("div",{className:"absolute top-10 left-10 w-32 h-32 border-l-4 border-t-4 border-[var(--color-text,#0a0a0a)] opacity-10",children:(0,r.jsx)("div",{className:"absolute top-2 left-2 w-4 h-4 bg-[var(--color-text,#0a0a0a)]"})}),(0,r.jsx)("div",{className:"absolute bottom-10 right-10 w-32 h-32 border-r-4 border-b-4 border-[var(--color-text,#0a0a0a)] opacity-10 flex items-end justify-end",children:(0,r.jsx)("div",{className:"absolute bottom-2 right-2 w-4 h-4 bg-[var(--color-text,#0a0a0a)]"})})]}),(0,r.jsx)("div",{className:"fixed top-6 left-6 z-50 flex items-center gap-3",children:(0,r.jsx)("div",{className:"w-10 h-10",children:(0,r.jsx)("img",{src:"/logo.webp",alt:"AuraMaxx",className:"w-full h-full object-contain"})})}),(0,r.jsxs)("div",{className:"fixed top-7 right-6 z-50 flex items-center gap-3 font-mono text-[10px] tracking-widest",children:[(0,r.jsx)(l(),{href:"/",className:"text-[var(--color-text-muted,#6b7280)] hover:text-[var(--color-text,#0a0a0a)] transition-colors",children:"HOME"}),(0,r.jsx)(l(),{href:"/docs",className:"text-[var(--color-text-muted,#6b7280)] hover:text-[var(--color-text,#0a0a0a)] transition-colors",children:"DOCS"}),(0,r.jsx)(l(),{href:"/api",className:"text-[var(--color-text-muted,#6b7280)] hover:text-[var(--color-text,#0a0a0a)] transition-colors",children:"API"})]}),(0,r.jsxs)("div",{className:"relative z-10 w-full max-w-[420px]",children:[(0,r.jsx)("div",{className:"absolute -left-8 top-1/2 -translate-y-1/2 text-vertical label-specimen-sm text-[var(--color-text-faint,#9ca3af)] select-none hidden sm:block",children:"PERMISSION\xa0REVIEW"}),(0,r.jsxs)("div",{className:"bg-[var(--color-surface,#f4f4f2)] clip-specimen border-mech shadow-mech overflow-hidden font-mono corner-marks",children:["loading"===t&&(0,r.jsxs)("div",{className:"p-6 flex items-center justify-center gap-2",children:[(0,r.jsx)("div",{className:"w-3 h-3 border border-[var(--color-text,#0a0a0a)] border-t-transparent animate-spin"}),(0,r.jsx)("span",{className:"text-[10px] text-[var(--color-text-muted,#6b7280)] tracking-widest",children:"LOADING..."})]}),"locked"===t&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)("div",{className:"px-5 py-3 border-b border-[var(--color-border,#d4d4d8)] bg-[var(--color-surface-alt,#fafafa)] flex items-center justify-between",children:[(0,r.jsx)("span",{className:"font-sans font-bold text-sm text-[var(--color-text,#0a0a0a)] uppercase tracking-tight",children:"UNLOCK AGENT"}),(0,r.jsx)("span",{className:"text-[9px] font-bold tracking-widest text-[var(--color-warning,#ff4d00)]",children:"LOCKED"})]}),(0,r.jsxs)("div",{className:"p-6",children:[(0,r.jsx)("div",{className:"text-[10px] text-[var(--color-text-muted,#6b7280)] tracking-wider mb-4",children:"Unlock your agent to review this permission request."}),(0,r.jsxs)("form",{onSubmit:k,className:"space-y-4",children:[(0,r.jsxs)("div",{children:[(0,r.jsx)("label",{className:"block text-[8px] text-[var(--color-text-faint,#9ca3af)] tracking-widest mb-1.5 uppercase",children:"Password"}),(0,r.jsx)("input",{type:"password",value:p,onChange:e=>{m(e.target.value),w(null)},placeholder:"Enter agent password",className:"w-full px-3 py-2.5 border border-[var(--color-border,#d4d4d8)] font-mono text-sm text-[var(--color-text,#0a0a0a)] focus:outline-none focus:border-[var(--color-text,#0a0a0a)] bg-[var(--color-surface,#ffffff)] placeholder-[var(--color-text-faint,#9ca3af)] transition-colors",autoFocus:!0})]}),(0,r.jsxs)("label",{className:"flex items-center justify-between gap-3 text-[8px] tracking-widest uppercase text-[var(--color-text-muted,#6b7280)]",children:[(0,r.jsxs)("span",{className:"inline-flex items-center gap-2",children:[(0,r.jsx)("input",{type:"checkbox",checked:v,onChange:e=>b(e.target.checked),className:"h-3.5 w-3.5 border border-[var(--color-border,#d4d4d8)] accent-[var(--color-text,#0a0a0a)]"}),"Trusted device"]}),(0,r.jsx)("span",{children:v?"PERSISTENT":"TAB ONLY"})]}),j&&(0,r.jsx)("div",{"data-testid":"unlock-error-banner",className:"text-[9px] text-[var(--color-danger,#ef4444)] px-3 py-2 border",style:{borderColor:"color-mix(in srgb, var(--color-danger,#ef4444) 35%, transparent)",background:"color-mix(in srgb, var(--color-danger,#ef4444) 12%, transparent)"},children:j}),(0,r.jsx)("button",{type:"submit",disabled:u||!p,className:"w-full py-2.5 bg-[var(--color-text,#0a0a0a)] text-[var(--color-surface,#ffffff)] font-mono text-xs tracking-widest font-bold hover:opacity-90 transition-opacity disabled:opacity-30 disabled:cursor-not-allowed flex items-center justify-center gap-2",children:u?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("div",{className:"w-3 h-3 border border-[var(--color-surface,#ffffff)] border-t-transparent animate-spin"}),"UNLOCKING..."]}):"UNLOCK"})]})]})]}),"ready"===t&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)("div",{className:"px-5 py-3 border-b border-[var(--color-border,#d4d4d8)] bg-[var(--color-surface-alt,#fafafa)] flex items-center justify-between",children:[(0,r.jsx)("span",{className:"font-sans font-bold text-sm text-[var(--color-text,#0a0a0a)] uppercase tracking-tight",children:M.title}),(0,r.jsx)("span",{className:"text-[9px] font-bold tracking-widest ".concat("approved"===I?"text-[var(--color-info,#0047ff)]":"denied"===I?"text-[var(--color-danger,#ef4444)]":"expired"===I?"text-[var(--color-text-faint,#9ca3af)]":"text-[var(--color-warning,#ff4d00)]"),children:"approved"===I?"APPROVED":"denied"===I?"DENIED":"expired"===I?"EXPIRED":"PENDING"})]}),(0,r.jsxs)("div",{className:"p-6 space-y-4",children:[(0,r.jsx)("p",{className:"text-[10px] text-[var(--color-text-muted,#6b7280)] tracking-wider",children:M.body}),(0,r.jsxs)("div",{className:"space-y-2",children:[(0,r.jsxs)("div",{className:"flex items-baseline justify-between gap-2",children:[(0,r.jsx)("span",{className:"label-specimen-sm text-[var(--color-text-faint,#9ca3af)]",children:"ACTION"}),(0,r.jsx)("span",{className:"text-[11px] text-[var(--color-text,#0a0a0a)] font-bold tracking-wider text-right",children:P})]}),O&&(0,r.jsxs)("div",{className:"flex items-baseline justify-between gap-2",children:[(0,r.jsx)("span",{className:"label-specimen-sm text-[var(--color-text-faint,#9ca3af)]",children:"PROFILE"}),(0,r.jsx)("span",{className:"text-[11px] text-[var(--color-text,#0a0a0a)] tracking-wider text-right",children:O})]}),(0,r.jsxs)("div",{className:"flex items-baseline justify-between gap-2",children:[(0,r.jsx)("span",{className:"label-specimen-sm text-[var(--color-text-faint,#9ca3af)]",children:"RISK"}),(0,r.jsx)("span",{className:"text-[11px] font-bold tracking-wider ".concat("HIGH"===S?"text-[var(--color-danger,#ef4444)]":"MEDIUM"===S?"text-[var(--color-warning,#ff4d00)]":"text-[var(--color-text,#0a0a0a)]"),children:S})]}),(0,r.jsxs)("div",{className:"text-[8px] text-[var(--color-text-faint,#9ca3af)] tracking-widest break-all",children:["ID: ",e]})]}),L&&(0,r.jsxs)("div",{className:"border-t border-[var(--color-border,#d4d4d8)] pt-3 space-y-3",children:[U.length>0&&(0,r.jsxs)("div",{children:[(0,r.jsx)("div",{className:"label-specimen-sm text-[var(--color-text-faint,#9ca3af)] mb-1.5",children:"PERMISSIONS"}),(0,r.jsx)("div",{className:"space-y-1",children:U.map(e=>{let a=T&&"admin"===e.trim().toLowerCase();return(0,r.jsx)("div",{className:"text-[10px] tracking-wider pl-2 border-l-2 ".concat(a?"text-[var(--color-danger,#ef4444)] border-[var(--color-danger,#ef4444)]":"text-[var(--color-text,#0a0a0a)] border-[var(--color-border,#d4d4d8)]"),children:e},e)})})]}),R.length>0&&(0,r.jsxs)("div",{children:[(0,r.jsx)("div",{className:"label-specimen-sm text-[var(--color-text-faint,#9ca3af)] mb-1.5",children:"IMPACT"}),(0,r.jsx)("div",{className:"space-y-1",children:R.map(e=>(0,r.jsx)("div",{className:"text-[10px] text-[var(--color-text,#0a0a0a)] tracking-wider pl-2 border-l-2 border-[var(--color-border,#d4d4d8)]",children:e},e))})]})]}),!L&&!x&&(0,r.jsx)("div",{className:"text-[9px] text-[var(--color-warning,#ff4d00)] bg-[var(--color-warning,#ff4d00)]/10 px-3 py-2 border border-[var(--color-warning,#ff4d00)]/20",children:"Could not load action details. Use extra caution and deny if this request is unexpected."}),j&&(0,r.jsx)("div",{className:"text-[9px] text-[var(--color-danger,#ef4444)] px-3 py-2 border",style:{borderColor:"color-mix(in srgb, var(--color-danger,#ef4444) 35%, transparent)",background:"color-mix(in srgb, var(--color-danger,#ef4444) 12%, transparent)"},children:j}),!F&&(0,r.jsxs)("div",{className:"flex gap-2 pt-2",children:[(0,r.jsx)("button",{type:"button",onClick:()=>E(!0),disabled:g,className:"flex-1 py-2.5 bg-[var(--color-text,#0a0a0a)] text-[var(--color-surface,#ffffff)] font-mono text-[10px] tracking-widest font-bold text-center hover:opacity-90 transition-opacity clip-specimen-sm disabled:opacity-30 disabled:cursor-not-allowed flex items-center justify-center gap-2",children:g?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("div",{className:"w-3 h-3 border border-[var(--color-surface,#ffffff)] border-t-transparent animate-spin"}),"RESOLVING..."]}):"APPROVE"}),(0,r.jsx)("button",{type:"button",onClick:()=>E(!1),disabled:g,className:"flex-1 py-2.5 border border-[var(--color-border,#d4d4d8)] text-[var(--color-text-muted,#6b7280)] font-mono text-[10px] tracking-widest font-bold text-center hover:border-[var(--color-text,#0a0a0a)] hover:text-[var(--color-text,#0a0a0a)] transition-colors disabled:opacity-30 disabled:cursor-not-allowed",children:"DENY"})]}),F&&(0,r.jsx)("div",{className:"pt-2",children:(0,r.jsx)(l(),{href:"/",className:"block w-full py-2.5 border border-[var(--color-border,#d4d4d8)] text-[var(--color-text-muted,#6b7280)] font-mono text-[10px] tracking-widest font-bold text-center hover:border-[var(--color-text,#0a0a0a)] hover:text-[var(--color-text,#0a0a0a)] transition-colors",children:"RETURN TO DASHBOARD"})})]})]})]})]})]})}},8383:(e,a,t)=>{Promise.resolve().then(t.bind(t,7935))}},e=>{e.O(0,[2619,4901,8441,1255,7358],()=>e(e.s=8383)),_N_E=e.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2721],{},_=>{_.O(0,[2619,6233,8441,1255,7358],()=>_(_.s=6233)),_N_E=_.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[9040],{},_=>{_.O(0,[2619,6233,8441,1255,7358],()=>_(_.s=6233)),_N_E=_.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8039],{960:(e,t,r)=>{"use strict";r.d(t,{DK:()=>v,FH:()=>h,OW:()=>b,WE:()=>w,au:()=>p,fP:()=>g,jI:()=>c,ne:()=>m});var a=r(3409);let n="localhost"===window.location.hostname||"127.0.0.1"===window.location.hostname,o=parseInt(window.location.port||"4747",10),l=n?"http://".concat(window.location.hostname,":").concat(o-505):"https://wallet-api.".concat(window.location.hostname.split(".").slice(1).join(".")),s=n?"http://".concat(window.location.hostname,":").concat(o):"".concat(window.location.protocol,"//").concat(window.location.host);var c=function(e){return e.Wallet="wallet",e.Workspace="workspace",e.Events="events",e.AgentDashboard="agentDashboard",e}({});let i={wallet:{baseUrl:l,pathPrefix:""},workspace:{baseUrl:s,pathPrefix:"/api"},events:{baseUrl:s,pathPrefix:"/api"},agentDashboard:{baseUrl:s,pathPrefix:"/api"}},u="auramaxx_admin_token";async function d(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},a=function(){let e=localStorage.getItem(u);return e||sessionStorage.getItem(u)}(),n=i[e],o={"Content-Type":"application/json",...r.headers};a&&(o.Authorization="Bearer ".concat(a));let l="".concat(n.baseUrl).concat(n.pathPrefix).concat(t),s=await fetch(l,{...r,headers:o}),c=await s.json().catch(()=>({error:s.statusText}));if(!s.ok){let e=Error(c.error||"Request failed: ".concat(s.status));throw e.status=s.status,e}return c}function p(){return l}let h={get:(e,t,r,a)=>{let n=t;if(r){let e=new URLSearchParams;for(let[t,a]of Object.entries(r))null!=a&&e.set(t,String(a));let a=e.toString();a&&(n="".concat(t,"?").concat(a))}return d(e,n,{method:"GET",...a})},post:(e,t,r)=>d(e,t,{method:"POST",body:r?JSON.stringify(r):void 0}),put:(e,t,r)=>d(e,t,{method:"PUT",body:r?JSON.stringify(r):void 0}),patch:(e,t,r)=>d(e,t,{method:"PATCH",body:r?JSON.stringify(r):void 0}),delete:(e,t)=>d(e,t,{method:"DELETE"}),getBaseUrl:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"wallet",t=i[e];return"".concat(t.baseUrl).concat(t.pathPrefix)}},f=null;async function x(){return f||(f=(await h.get("wallet","/auth/connect")).publicKey),f}async function w(e,t,r){let n=await x(),o=await (0,a.X)(e,n),l=null!=r?r:await (0,a.o)(),s=t?"/unlock/".concat(t):"/unlock";try{return await h.post("wallet",s,{encrypted:o,pubkey:l})}catch(t){var c,i;if((null==(c=t.message)?void 0:c.includes("decrypt"))||(null==(i=t.message)?void 0:i.includes("refetch"))){f=null;let t=await x(),r=await (0,a.X)(e,t);return await h.post("wallet",s,{encrypted:r,pubkey:l})}throw t}}async function m(e,t){let r=await x(),n=await (0,a.X)(e,r),o=null!=t?t:await (0,a.o)();try{return await h.post("wallet","/setup",{encrypted:n,pubkey:o})}catch(t){var l,s;if((null==(l=t.message)?void 0:l.includes("decrypt"))||(null==(s=t.message)?void 0:s.includes("refetch"))){f=null;let t=await x(),r=await (0,a.X)(e,t);return await h.post("wallet","/setup",{encrypted:r,pubkey:o})}throw t}}async function v(e,t){let r=await x(),n=await (0,a.X)(e,r),o=await (0,a.X)(t,r);try{return await h.post("wallet","/setup/password",{currentEncrypted:n,newEncrypted:o})}catch(r){var l,s;if((null==(l=r.message)?void 0:l.includes("decrypt"))||(null==(s=r.message)?void 0:s.includes("refetch"))){f=null;let r=await x(),n=await (0,a.X)(e,r),o=await (0,a.X)(t,r);return await h.post("wallet","/setup/password",{currentEncrypted:n,newEncrypted:o})}throw r}}async function g(e){return h.post("wallet","/unlock/rekey",{pubkey:e})}async function b(e,t,r){let n=null!=r?r:await (0,a.o)();return h.post("wallet","/unlock/recover",{mnemonic:e,newPassword:t,pubkey:n})}},1847:(e,t,r)=>{"use strict";r.d(t,{A:()=>s});var a=r(2115);let n=function(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];return t.filter((e,t,r)=>!!e&&""!==e.trim()&&r.indexOf(e)===t).join(" ").trim()};var o={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};let l=(0,a.forwardRef)((e,t)=>{let{color:r="currentColor",size:l=24,strokeWidth:s=2,absoluteStrokeWidth:c,className:i="",children:u,iconNode:d,...p}=e;return(0,a.createElement)("svg",{ref:t,...o,width:l,height:l,stroke:r,strokeWidth:c?24*Number(s)/Number(l):s,className:n("lucide",i),...p},[...d.map(e=>{let[t,r]=e;return(0,a.createElement)(t,r)}),...Array.isArray(u)?u:[u]])}),s=(e,t)=>{let r=(0,a.forwardRef)((r,o)=>{let{className:s,...c}=r;return(0,a.createElement)(l,{ref:o,iconNode:t,className:n("lucide-".concat(e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()),s),...c})});return r.displayName="".concat(e),r}},3409:(e,t,r)=>{"use strict";r.d(t,{X:()=>n,o:()=>l});var a=r(6509);async function n(e,t){let r=function(e){let t=atob(e.replace(/-----BEGIN PUBLIC KEY-----/,"").replace(/-----END PUBLIC KEY-----/,"").replace(/\s/g,"")),r=new Uint8Array(t.length);for(let e=0;e<t.length;e++)r[e]=t.charCodeAt(e);return r.buffer}(t),a=await crypto.subtle.importKey("spki",r,{name:"RSA-OAEP",hash:"SHA-256"},!1,["encrypt"]),n=new TextEncoder().encode(e),o=new Uint8Array(await crypto.subtle.encrypt({name:"RSA-OAEP"},a,n)),l="";for(let e=0;e<o.length;e++)l+=String.fromCharCode(o[e]);return btoa(l)}let o=null;async function l(){let e=(0,a.ji)();if(e)return e;o||(o=(async()=>{let e=await crypto.subtle.generateKey({name:"RSA-OAEP",modulusLength:2048,publicExponent:new Uint8Array([1,0,1]),hash:"SHA-256"},!0,["encrypt","decrypt"]),t=new Uint8Array(await crypto.subtle.exportKey("spki",e.publicKey)),r="";for(let e=0;e<t.length;e++)r+=String.fromCharCode(t[e]);return btoa(r)})());try{return await o}catch(e){throw o=null,e}}},5896:(e,t,r)=>{Promise.resolve().then(r.bind(r,8579))},6509:(e,t,r)=>{"use strict";r.d(t,{DC:()=>u,G3:()=>s,UI:()=>l,hG:()=>i,ji:()=>c});let a=null,n=null;function o(e){let t=atob(e),r=new Uint8Array(t.length);for(let e=0;e<t.length;e++)r[e]=t.charCodeAt(e);return r.buffer}async function l(){let e=await crypto.subtle.generateKey({name:"RSA-OAEP",modulusLength:2048,publicExponent:new Uint8Array([1,0,1]),hash:"SHA-256"},!1,["decrypt"]);return a=e.privateKey,{publicKeyBase64:n=function(e){let t=new Uint8Array(e),r="";for(let e=0;e<t.length;e++)r+=String.fromCharCode(t[e]);return btoa(r)}(await crypto.subtle.exportKey("spki",e.publicKey))}}function s(){return a}function c(){return n}function i(){a=null,n=null}async function u(e){if(!a)throw Error("No agent keypair — unlock required");let t=JSON.parse(atob(e));if(1!==t.v||"RSA-OAEP/AES-256-GCM"!==t.alg)throw Error("Unsupported envelope: v=".concat(t.v," alg=").concat(t.alg));let r=o(t.key),n=await crypto.subtle.decrypt({name:"RSA-OAEP"},a,r),l=await crypto.subtle.importKey("raw",n,{name:"AES-GCM"},!1,["decrypt"]),s=o(t.data),c=o(t.tag),i=new Uint8Array(s.byteLength+c.byteLength);i.set(new Uint8Array(s),0),i.set(new Uint8Array(c),s.byteLength);let u=o(t.iv),d=await crypto.subtle.decrypt({name:"AES-GCM",iv:u},l,i.buffer);return new TextDecoder().decode(d)}},8579:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>i});var a=r(5155),n=r(2115),o=r(2619),l=r.n(o),s=r(3667),c=r(8824);function i(e){let{error:t}=e,{runRestart:r,restartingServer:o,restartError:i}=(0,c.e)();return(0,n.useEffect)(()=>{console.error("[AppErrorBoundary]",t)},[t]),(0,a.jsxs)("div",{className:"min-h-screen bg-[var(--color-background,#f4f4f5)] relative flex items-center justify-center p-4",children:[(0,a.jsxs)("div",{className:"fixed inset-0 pointer-events-none z-0 overflow-hidden",children:[(0,a.jsx)("div",{className:"absolute inset-0 bg-grid-adaptive bg-[size:4rem_4rem] opacity-30"}),(0,a.jsx)("div",{className:"absolute inset-0 tyvek-texture opacity-40 mix-blend-multiply"}),(0,a.jsx)("div",{className:"absolute bottom-[5%] right-[5%] opacity-5 select-none",children:(0,a.jsx)("h1",{className:"text-[15vw] font-bold leading-none text-[var(--color-text,#0a0a0a)] font-mono tracking-tighter text-right",children:"AURAMAXX"})}),(0,a.jsx)("div",{className:"absolute top-10 left-10 w-32 h-32 border-l-4 border-t-4 border-[var(--color-text,#0a0a0a)] opacity-10",children:(0,a.jsx)("div",{className:"absolute top-2 left-2 w-4 h-4 bg-[var(--color-text,#0a0a0a)]"})}),(0,a.jsx)("div",{className:"absolute bottom-10 right-10 w-32 h-32 border-r-4 border-b-4 border-[var(--color-text,#0a0a0a)] opacity-10 flex items-end justify-end",children:(0,a.jsx)("div",{className:"absolute bottom-2 right-2 w-4 h-4 bg-[var(--color-text,#0a0a0a)]"})})]}),(0,a.jsx)("div",{className:"fixed top-6 left-6 z-50 flex items-center gap-3",children:(0,a.jsx)("div",{className:"w-10 h-10",children:(0,a.jsx)("img",{src:"/logo.webp",alt:"AuraMaxx",className:"w-full h-full object-contain"})})}),(0,a.jsxs)("div",{className:"fixed top-7 right-6 z-50 flex items-center gap-3 font-mono text-[10px] tracking-widest",children:[(0,a.jsx)(l(),{href:"/docs",className:"text-[var(--color-text-muted,#6b7280)] hover:text-[var(--color-text,#0a0a0a)] transition-colors",children:"DOCS"}),(0,a.jsx)(l(),{href:"/api",className:"text-[var(--color-text-muted,#6b7280)] hover:text-[var(--color-text,#0a0a0a)] transition-colors",children:"API"}),(0,a.jsx)("a",{href:"https://github.com/Aura-Industry/auramaxx",target:"_blank",rel:"noopener noreferrer",className:"text-[var(--color-text-muted,#6b7280)] hover:text-[var(--color-text,#0a0a0a)] transition-colors",children:"GITHUB"}),(0,a.jsx)("a",{href:"https://x.com/hi_im_nico",target:"_blank",rel:"noopener noreferrer",className:"text-[var(--color-text-muted,#6b7280)] hover:text-[var(--color-text,#0a0a0a)] transition-colors",children:"NEED HELP?"})]}),(0,a.jsxs)("div",{className:"relative z-10 w-full max-w-[380px]",children:[(0,a.jsx)("div",{className:"absolute -left-8 top-1/2 -translate-y-1/2 text-vertical label-specimen-sm text-[var(--color-text-faint,#9ca3af)] select-none hidden sm:block",children:"SYSTEM\xa0STATE"}),(0,a.jsxs)("div",{className:"bg-[var(--color-surface,#f4f4f2)] clip-specimen border-mech shadow-mech overflow-hidden font-mono corner-marks",children:[(0,a.jsxs)("div",{className:"px-5 py-3 border-b border-[var(--color-border,#d4d4d8)] bg-[var(--color-surface-alt,#fafafa)] flex items-center justify-between",children:[(0,a.jsx)("span",{className:"font-sans font-bold text-sm text-[var(--color-text,#0a0a0a)] uppercase tracking-tight",children:"Runtime Error"}),(0,a.jsx)("span",{className:"text-[9px] text-[var(--color-danger,#ef4444)] font-bold tracking-widest",children:"BONKED"})]}),(0,a.jsxs)("div",{className:"p-6",children:[(0,a.jsxs)("div",{className:"flex flex-col items-center mb-5",children:[(0,a.jsx)("div",{className:"w-16 h-16 mb-4",children:(0,a.jsx)("img",{src:"/logo.webp",alt:"AuraMaxx",className:"w-full h-full object-contain"})}),(0,a.jsx)("div",{className:"text-[10px] text-[var(--color-text-muted,#6b7280)] tracking-widest text-center uppercase",children:"we got bonked"}),(0,a.jsx)("div",{className:"mt-2 text-[9px] text-[var(--color-text,#0a0a0a)] text-center leading-relaxed",children:"AuraMaxx hit an unexpected runtime error. Restart the local service to recover."}),t.digest&&(0,a.jsxs)("div",{className:"mt-3 text-[8px] text-[var(--color-text-faint,#9ca3af)] tracking-wider",children:["error digest: ",t.digest]})]}),(0,a.jsx)(s.$n,{type:"button",variant:"primary",size:"lg",loading:o,className:"w-full","data-testid":"error-page-restart-button",onClick:()=>{r()},children:"RESTART AURAMAXX"}),i&&(0,a.jsx)("div",{className:"mt-3 text-[9px] px-3 py-2 border",style:{color:"var(--color-danger,#ef4444)",borderColor:"color-mix(in srgb, var(--color-danger,#ef4444) 35%, transparent)",background:"color-mix(in srgb, var(--color-danger,#ef4444) 12%, transparent)"},children:i})]}),(0,a.jsxs)("div",{className:"flex items-center gap-3 px-5 py-2 border-t border-[var(--color-border,#d4d4d8)]",children:[(0,a.jsx)("div",{className:"h-4 flex-1 bg-[repeating-linear-gradient(90deg,var(--color-text,#000),var(--color-text,#000)_1px,transparent_1px,transparent_3px)] opacity-30"}),(0,a.jsx)("span",{className:"text-[8px] text-[var(--color-text-faint,#9ca3af)] tracking-wider",children:"AURAMAXX"})]}),(0,a.jsx)("div",{className:"h-2 w-full",style:{backgroundImage:"repeating-linear-gradient(45deg, var(--color-text, #000), var(--color-text, #000) 5px, transparent 5px, transparent 10px)",opacity:.1}})]})]})]})}},8824:(e,t,r)=>{"use strict";r.d(t,{e:()=>o});var a=r(2115),n=r(960);function o(){let e=(0,a.useMemo)(()=>(0,n.au)(),[]),[t,r]=(0,a.useState)({checking:!1,updateAvailable:!1,current:null,latest:null,updating:!1,updateOutput:null,updateError:null,apiServerDown:!1,restartingServer:!1,restartError:null}),o=(0,a.useCallback)(async()=>{r(e=>({...e,checking:!0}));try{let e=await fetch("/api/version",{cache:"no-store"});if(!e.ok)return;let t=await e.json();t.success&&r(e=>({...e,checking:!1,updateAvailable:t.updateAvailable,current:t.current,latest:t.latest}))}catch(e){r(e=>({...e,checking:!1}))}},[]),l=(0,a.useCallback)(async()=>{r(e=>({...e,updating:!0,updateError:null,updateOutput:null}));try{let e=await fetch("/api/update",{method:"POST"}),t=await e.json();t.success?r(e=>({...e,updating:!1,updateAvailable:!1,updateOutput:t.output||"Update completed successfully."})):r(e=>({...e,updating:!1,updateError:t.error||"Update failed.",updateOutput:t.output||null}))}catch(e){r(t=>({...t,updating:!1,updateError:e.message||"Update request failed."}))}},[]),s=(0,a.useCallback)(async()=>{try{let t=!(await fetch("".concat(e,"/health"),{cache:"no-store"})).ok;r(e=>e.apiServerDown===t&&(t||!e.restartError)?e:{...e,apiServerDown:t,restartError:t?e.restartError:null})}catch(e){r(e=>e.apiServerDown?e:{...e,apiServerDown:!0})}},[e]),c=(0,a.useCallback)(async()=>{r(e=>({...e,restartingServer:!0,restartError:null}));try{let e=await fetch("/api/restart",{method:"POST"}),t=await e.json().catch(()=>({success:!1,error:"Invalid restart response."}));if(!e.ok||!t.success)throw Error(t.error||"Restart failed (".concat(e.status,")"));r(e=>({...e,restartingServer:!1,apiServerDown:!0,restartError:null})),window.setTimeout(()=>{window.location.reload()},2e3)}catch(e){r(t=>({...t,restartingServer:!1,restartError:e.message||"Restart request failed."}))}},[]);return(0,a.useEffect)(()=>{o()},[o]),(0,a.useEffect)(()=>{s();let e=window.setInterval(()=>{s()},8e3);return()=>{window.clearInterval(e)}},[s]),(0,a.useEffect)(()=>{let e=()=>{"visible"===document.visibilityState&&s()};return document.addEventListener("visibilitychange",e),()=>{document.removeEventListener("visibilitychange",e)}},[s]),{...t,runUpdate:l,checkForUpdate:o,runRestart:c,checkApiHealth:s}}}},e=>{e.O(0,[2619,7616,3667,8441,1255,7358],()=>e(e.s=5896)),_N_E=e.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[5653],{960:(e,t,a)=>{"use strict";a.d(t,{DK:()=>y,FH:()=>p,OW:()=>g,WE:()=>x,au:()=>h,fP:()=>b,jI:()=>c,ne:()=>f});var n=a(3409);let r="localhost"===window.location.hostname||"127.0.0.1"===window.location.hostname,l=parseInt(window.location.port||"4747",10),s=r?"http://".concat(window.location.hostname,":").concat(l-505):"https://wallet-api.".concat(window.location.hostname.split(".").slice(1).join(".")),o=r?"http://".concat(window.location.hostname,":").concat(l):"".concat(window.location.protocol,"//").concat(window.location.host);var c=function(e){return e.Wallet="wallet",e.Workspace="workspace",e.Events="events",e.AgentDashboard="agentDashboard",e}({});let i={wallet:{baseUrl:s,pathPrefix:""},workspace:{baseUrl:o,pathPrefix:"/api"},events:{baseUrl:o,pathPrefix:"/api"},agentDashboard:{baseUrl:o,pathPrefix:"/api"}},d="auramaxx_admin_token";async function u(e,t){let a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=function(){let e=localStorage.getItem(d);return e||sessionStorage.getItem(d)}(),r=i[e],l={"Content-Type":"application/json",...a.headers};n&&(l.Authorization="Bearer ".concat(n));let s="".concat(r.baseUrl).concat(r.pathPrefix).concat(t),o=await fetch(s,{...a,headers:l}),c=await o.json().catch(()=>({error:o.statusText}));if(!o.ok){let e=Error(c.error||"Request failed: ".concat(o.status));throw e.status=o.status,e}return c}function h(){return s}let p={get:(e,t,a,n)=>{let r=t;if(a){let e=new URLSearchParams;for(let[t,n]of Object.entries(a))null!=n&&e.set(t,String(n));let n=e.toString();n&&(r="".concat(t,"?").concat(n))}return u(e,r,{method:"GET",...n})},post:(e,t,a)=>u(e,t,{method:"POST",body:a?JSON.stringify(a):void 0}),put:(e,t,a)=>u(e,t,{method:"PUT",body:a?JSON.stringify(a):void 0}),patch:(e,t,a)=>u(e,t,{method:"PATCH",body:a?JSON.stringify(a):void 0}),delete:(e,t)=>u(e,t,{method:"DELETE"}),getBaseUrl:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"wallet",t=i[e];return"".concat(t.baseUrl).concat(t.pathPrefix)}},w=null;async function m(){return w||(w=(await p.get("wallet","/auth/connect")).publicKey),w}async function x(e,t,a){let r=await m(),l=await (0,n.X)(e,r),s=null!=a?a:await (0,n.o)(),o=t?"/unlock/".concat(t):"/unlock";try{return await p.post("wallet",o,{encrypted:l,pubkey:s})}catch(t){var c,i;if((null==(c=t.message)?void 0:c.includes("decrypt"))||(null==(i=t.message)?void 0:i.includes("refetch"))){w=null;let t=await m(),a=await (0,n.X)(e,t);return await p.post("wallet",o,{encrypted:a,pubkey:s})}throw t}}async function f(e,t){let a=await m(),r=await (0,n.X)(e,a),l=null!=t?t:await (0,n.o)();try{return await p.post("wallet","/setup",{encrypted:r,pubkey:l})}catch(t){var s,o;if((null==(s=t.message)?void 0:s.includes("decrypt"))||(null==(o=t.message)?void 0:o.includes("refetch"))){w=null;let t=await m(),a=await (0,n.X)(e,t);return await p.post("wallet","/setup",{encrypted:a,pubkey:l})}throw t}}async function y(e,t){let a=await m(),r=await (0,n.X)(e,a),l=await (0,n.X)(t,a);try{return await p.post("wallet","/setup/password",{currentEncrypted:r,newEncrypted:l})}catch(a){var s,o;if((null==(s=a.message)?void 0:s.includes("decrypt"))||(null==(o=a.message)?void 0:o.includes("refetch"))){w=null;let a=await m(),r=await (0,n.X)(e,a),l=await (0,n.X)(t,a);return await p.post("wallet","/setup/password",{currentEncrypted:r,newEncrypted:l})}throw a}}async function b(e){return p.post("wallet","/unlock/rekey",{pubkey:e})}async function g(e,t,a){let r=null!=a?a:await (0,n.o)();return p.post("wallet","/unlock/recover",{mnemonic:e,newPassword:t,pubkey:r})}},3409:(e,t,a)=>{"use strict";a.d(t,{X:()=>r,o:()=>s});var n=a(6509);async function r(e,t){let a=function(e){let t=atob(e.replace(/-----BEGIN PUBLIC KEY-----/,"").replace(/-----END PUBLIC KEY-----/,"").replace(/\s/g,"")),a=new Uint8Array(t.length);for(let e=0;e<t.length;e++)a[e]=t.charCodeAt(e);return a.buffer}(t),n=await crypto.subtle.importKey("spki",a,{name:"RSA-OAEP",hash:"SHA-256"},!1,["encrypt"]),r=new TextEncoder().encode(e),l=new Uint8Array(await crypto.subtle.encrypt({name:"RSA-OAEP"},n,r)),s="";for(let e=0;e<l.length;e++)s+=String.fromCharCode(l[e]);return btoa(s)}let l=null;async function s(){let e=(0,n.ji)();if(e)return e;l||(l=(async()=>{let e=await crypto.subtle.generateKey({name:"RSA-OAEP",modulusLength:2048,publicExponent:new Uint8Array([1,0,1]),hash:"SHA-256"},!0,["encrypt","decrypt"]),t=new Uint8Array(await crypto.subtle.exportKey("spki",e.publicKey)),a="";for(let e=0;e<t.length;e++)a+=String.fromCharCode(t[e]);return btoa(a)})());try{return await l}catch(e){throw l=null,e}}},4928:(e,t,a)=>{Promise.resolve().then(a.bind(a,8609))},6509:(e,t,a)=>{"use strict";a.d(t,{DC:()=>d,G3:()=>o,UI:()=>s,hG:()=>i,ji:()=>c});let n=null,r=null;function l(e){let t=atob(e),a=new Uint8Array(t.length);for(let e=0;e<t.length;e++)a[e]=t.charCodeAt(e);return a.buffer}async function s(){let e=await crypto.subtle.generateKey({name:"RSA-OAEP",modulusLength:2048,publicExponent:new Uint8Array([1,0,1]),hash:"SHA-256"},!1,["decrypt"]);return n=e.privateKey,{publicKeyBase64:r=function(e){let t=new Uint8Array(e),a="";for(let e=0;e<t.length;e++)a+=String.fromCharCode(t[e]);return btoa(a)}(await crypto.subtle.exportKey("spki",e.publicKey))}}function o(){return n}function c(){return r}function i(){n=null,r=null}async function d(e){if(!n)throw Error("No agent keypair — unlock required");let t=JSON.parse(atob(e));if(1!==t.v||"RSA-OAEP/AES-256-GCM"!==t.alg)throw Error("Unsupported envelope: v=".concat(t.v," alg=").concat(t.alg));let a=l(t.key),r=await crypto.subtle.decrypt({name:"RSA-OAEP"},n,a),s=await crypto.subtle.importKey("raw",r,{name:"AES-GCM"},!1,["decrypt"]),o=l(t.data),c=l(t.tag),i=new Uint8Array(o.byteLength+c.byteLength);i.set(new Uint8Array(o),0),i.set(new Uint8Array(c),o.byteLength);let d=l(t.iv),u=await crypto.subtle.decrypt({name:"AES-GCM",iv:d},s,i.buffer);return new TextDecoder().decode(u)}},8609:(e,t,a)=>{"use strict";a.d(t,{CredentialHealthDashboard:()=>i});var n=a(5155),r=a(2115),l=a(2619),s=a.n(l),o=a(960);let c={safe:"text-emerald-700",weak:"text-amber-700",reused:"text-orange-700",breached:"text-red-700",unknown:"text-slate-600",weak_reused:"text-orange-700",weak_breached:"text-red-700",reused_breached:"text-red-700",weak_reused_breached:"text-red-700"};function i(){let[e,t]=(0,r.useState)(!0),[a,l]=(0,r.useState)(null),[i,d]=(0,r.useState)(null),[u,h]=(0,r.useState)([]),[p,w]=(0,r.useState)(null),[m,x]=(0,r.useState)("idle"),[f,y]=(0,r.useState)(null),b=(0,r.useCallback)(async()=>{l(null);try{let[e,t]=await Promise.all([o.FH.get(o.jI.Wallet,"/credentials/health/summary"),o.FH.get(o.jI.Wallet,"/credentials/health")]);d(e.summary),h(t.credentials||[])}catch(e){l(e.message||"Failed to load credential health")}finally{t(!1)}},[]);(0,r.useEffect)(()=>{b()},[b]),(0,r.useEffect)(()=>{if(!p||"queued"!==m&&"running"!==m)return;let e=setInterval(async()=>{try{let e=await o.FH.get(o.jI.Wallet,"/credentials/health/rescan/".concat(p));x(e.scan.status),y(e.scan.error||null),"complete"===e.scan.status&&await b()}catch(e){x("failed"),y(e.message||"Failed to read scan status")}},1e3);return()=>clearInterval(e)},[p,m,b]);let g=(0,r.useCallback)(async()=>{y(null),x("queued");try{let e=await o.FH.post(o.jI.Wallet,"/credentials/health/rescan");w(e.scanId)}catch(e){x("failed"),y(e.message||"Failed to start rescan")}},[]),v=(0,r.useMemo)(()=>{var e;return null==(e=u.find(e=>{var t;return null==(t=e.health)?void 0:t.engineVersion}))?void 0:e.health.engineVersion},[u]);return e?(0,n.jsx)("div",{className:"p-6 font-mono text-xs",children:"LOADING_HEALTH..."}):a?(0,n.jsxs)("div",{className:"p-6 space-y-4",children:[(0,n.jsx)("div",{className:"font-mono text-xs text-red-700",children:a}),(0,n.jsx)("button",{className:"border px-3 py-2 font-mono text-xs",onClick:()=>void b(),children:"RETRY"})]}):(0,n.jsx)("div",{className:"min-h-screen bg-[var(--color-background,#f4f4f5)] p-6",children:(0,n.jsxs)("div",{className:"max-w-6xl mx-auto space-y-4",children:[(0,n.jsxs)("div",{className:"flex items-center justify-between gap-3",children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("h1",{className:"font-mono text-lg",children:"Credential Health"}),(0,n.jsxs)("p",{className:"font-mono text-xs text-[var(--color-text-muted,#6b7280)]",children:["Last scan: ",function(e){if(!e)return"—";let t=new Date(e);return Number.isNaN(t.getTime())?"—":t.toLocaleString()}(null==i?void 0:i.lastScanAt)," ",v?"\xb7 Engine v".concat(v):""]})]}),(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[(0,n.jsx)(s(),{href:"/",className:"border px-3 py-2 font-mono text-xs",children:"AGENT"}),(0,n.jsx)("button",{className:"border px-3 py-2 font-mono text-xs",onClick:()=>void g(),children:"RESCAN"})]})]}),("idle"!==m||f)&&(0,n.jsxs)("div",{className:"border p-3 font-mono text-xs bg-white",children:["RESCAN_STATUS: ",m.toUpperCase(),f?" \xb7 ".concat(f):""]}),i&&i.unknown>0&&(0,n.jsx)("div",{className:"border border-amber-500/40 bg-amber-50 p-3 font-mono text-xs text-amber-800",children:"Some breach checks are unknown (network/rate-limit/disabled). Retry later or enable HEALTH_BREACH_CHECK."}),(0,n.jsx)("div",{className:"grid grid-cols-2 md:grid-cols-5 gap-2",children:[["WEAK",(null==i?void 0:i.weak)||0],["REUSED",(null==i?void 0:i.reused)||0],["BREACHED",(null==i?void 0:i.breached)||0],["UNKNOWN",(null==i?void 0:i.unknown)||0],["SAFE",(null==i?void 0:i.safe)||0]].map(e=>{let[t,a]=e;return(0,n.jsxs)("div",{className:"border bg-white p-3",children:[(0,n.jsx)("div",{className:"font-mono text-[10px] text-[var(--color-text-muted,#6b7280)]",children:t}),(0,n.jsx)("div",{className:"font-mono text-xl",children:a})]},t)})}),(0,n.jsx)("div",{className:"border bg-white overflow-hidden",children:(0,n.jsxs)("table",{className:"w-full text-left font-mono text-xs",children:[(0,n.jsx)("thead",{className:"bg-[var(--color-background,#f4f4f5)]",children:(0,n.jsxs)("tr",{children:[(0,n.jsx)("th",{className:"p-2",children:"Credential"}),(0,n.jsx)("th",{className:"p-2",children:"Status"}),(0,n.jsx)("th",{className:"p-2",children:"Evidence"})]})}),(0,n.jsx)("tbody",{children:0===u.length?(0,n.jsx)("tr",{children:(0,n.jsx)("td",{className:"p-3",colSpan:3,children:"No scannable credentials found."})}):u.map(e=>{var t;return(0,n.jsxs)("tr",{className:"border-t",children:[(0,n.jsxs)("td",{className:"p-2",children:[(0,n.jsx)("div",{children:e.name}),(0,n.jsxs)("div",{className:"text-[10px] text-[var(--color-text-muted,#6b7280)]",children:[e.type," \xb7 ",e.agentId]})]}),(0,n.jsx)("td",{className:"p-2 uppercase ".concat(c[e.health.status]||"text-slate-700"),children:e.health.status.replaceAll("_"," ")}),(0,n.jsxs)("td",{className:"p-2 text-[10px] text-[var(--color-text-muted,#6b7280)]",children:["reuse=",e.health.evidence.reuseCount,"; breaches=",null!=(t=e.health.evidence.breachCount)?t:"unknown","; weak=",e.health.evidence.weakReasons.length>0?e.health.evidence.weakReasons.join(","):"none"]})]},e.id)})})]})})]})})}}},e=>{e.O(0,[2619,8441,1255,7358],()=>e(e.s=4928)),_N_E=e.O()}]);