auramaxx 0.0.20 → 0.1.1

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 (1099) hide show
  1. package/README.md +92 -53
  2. package/bin/auramaxx.js +114 -92
  3. package/package.json +18 -94
  4. package/src/server/cli/commands/create.ts +20 -24
  5. package/src/server/cli/commands/onboard.ts +18 -2
  6. package/src/server/cli/commands/play.ts +303 -34
  7. package/src/server/cli/lib/theme.ts +58 -0
  8. package/.next/BUILD_ID +0 -1
  9. package/.next/app-build-manifest.json +0 -303
  10. package/.next/app-path-routes-manifest.json +0 -38
  11. package/.next/build-manifest.json +0 -33
  12. package/.next/diagnostics/build-diagnostics.json +0 -6
  13. package/.next/diagnostics/framework.json +0 -1
  14. package/.next/export-marker.json +0 -6
  15. package/.next/images-manifest.json +0 -58
  16. package/.next/next-minimal-server.js.nft.json +0 -1
  17. package/.next/next-server.js.nft.json +0 -1
  18. package/.next/package.json +0 -1
  19. package/.next/prerender-manifest.json +0 -292
  20. package/.next/react-loadable-manifest.json +0 -80
  21. package/.next/required-server-files.json +0 -330
  22. package/.next/routes-manifest.json +0 -209
  23. package/.next/server/app/_not-found/page.js +0 -2
  24. package/.next/server/app/_not-found/page.js.nft.json +0 -1
  25. package/.next/server/app/_not-found/page_client-reference-manifest.js +0 -1
  26. package/.next/server/app/_not-found.html +0 -1
  27. package/.next/server/app/_not-found.meta +0 -8
  28. package/.next/server/app/_not-found.rsc +0 -19
  29. package/.next/server/app/api/[...doc]/page.js +0 -2
  30. package/.next/server/app/api/[...doc]/page.js.nft.json +0 -1
  31. package/.next/server/app/api/[...doc]/page_client-reference-manifest.js +0 -1
  32. package/.next/server/app/api/agent-requests/route.js +0 -1
  33. package/.next/server/app/api/agent-requests/route.js.nft.json +0 -1
  34. package/.next/server/app/api/agent-requests/route_client-reference-manifest.js +0 -1
  35. package/.next/server/app/api/apps/install/route.js +0 -25
  36. package/.next/server/app/api/apps/install/route.js.nft.json +0 -1
  37. package/.next/server/app/api/apps/install/route_client-reference-manifest.js +0 -1
  38. package/.next/server/app/api/apps/manifests/route.js +0 -1
  39. package/.next/server/app/api/apps/manifests/route.js.nft.json +0 -1
  40. package/.next/server/app/api/apps/manifests/route_client-reference-manifest.js +0 -1
  41. package/.next/server/app/api/apps/static/[...path]/route.js +0 -1
  42. package/.next/server/app/api/apps/static/[...path]/route.js.nft.json +0 -1
  43. package/.next/server/app/api/apps/static/[...path]/route_client-reference-manifest.js +0 -1
  44. package/.next/server/app/api/docs/plain/route.js +0 -4
  45. package/.next/server/app/api/docs/plain/route.js.nft.json +0 -1
  46. package/.next/server/app/api/docs/plain/route_client-reference-manifest.js +0 -1
  47. package/.next/server/app/api/events/route.js +0 -1
  48. package/.next/server/app/api/events/route.js.nft.json +0 -1
  49. package/.next/server/app/api/events/route_client-reference-manifest.js +0 -1
  50. package/.next/server/app/api/import-from-openclaw/[channel]/route.js +0 -1
  51. package/.next/server/app/api/import-from-openclaw/[channel]/route.js.nft.json +0 -1
  52. package/.next/server/app/api/import-from-openclaw/[channel]/route_client-reference-manifest.js +0 -1
  53. package/.next/server/app/api/import-from-openclaw/route.js +0 -1
  54. package/.next/server/app/api/import-from-openclaw/route.js.nft.json +0 -1
  55. package/.next/server/app/api/import-from-openclaw/route_client-reference-manifest.js +0 -1
  56. package/.next/server/app/api/import-from-openclaw/validate/[channel]/route.js +0 -1
  57. package/.next/server/app/api/import-from-openclaw/validate/[channel]/route.js.nft.json +0 -1
  58. package/.next/server/app/api/import-from-openclaw/validate/[channel]/route_client-reference-manifest.js +0 -1
  59. package/.next/server/app/api/page.js +0 -2
  60. package/.next/server/app/api/page.js.nft.json +0 -1
  61. package/.next/server/app/api/page_client-reference-manifest.js +0 -1
  62. package/.next/server/app/api/restart/route.js +0 -57
  63. package/.next/server/app/api/restart/route.js.nft.json +0 -1
  64. package/.next/server/app/api/restart/route_client-reference-manifest.js +0 -1
  65. package/.next/server/app/api/update/route.js +0 -94
  66. package/.next/server/app/api/update/route.js.nft.json +0 -1
  67. package/.next/server/app/api/update/route_client-reference-manifest.js +0 -1
  68. package/.next/server/app/api/version/route.js +0 -1
  69. package/.next/server/app/api/version/route.js.nft.json +0 -1
  70. package/.next/server/app/api/version/route_client-reference-manifest.js +0 -1
  71. package/.next/server/app/api/workspace/[id]/apps/[wid]/route.js +0 -1
  72. package/.next/server/app/api/workspace/[id]/apps/[wid]/route.js.nft.json +0 -1
  73. package/.next/server/app/api/workspace/[id]/apps/[wid]/route_client-reference-manifest.js +0 -1
  74. package/.next/server/app/api/workspace/[id]/apps/route.js +0 -1
  75. package/.next/server/app/api/workspace/[id]/apps/route.js.nft.json +0 -1
  76. package/.next/server/app/api/workspace/[id]/apps/route_client-reference-manifest.js +0 -1
  77. package/.next/server/app/api/workspace/[id]/export/route.js +0 -1
  78. package/.next/server/app/api/workspace/[id]/export/route.js.nft.json +0 -1
  79. package/.next/server/app/api/workspace/[id]/export/route_client-reference-manifest.js +0 -1
  80. package/.next/server/app/api/workspace/[id]/route.js +0 -1
  81. package/.next/server/app/api/workspace/[id]/route.js.nft.json +0 -1
  82. package/.next/server/app/api/workspace/[id]/route_client-reference-manifest.js +0 -1
  83. package/.next/server/app/api/workspace/config/route.js +0 -1
  84. package/.next/server/app/api/workspace/config/route.js.nft.json +0 -1
  85. package/.next/server/app/api/workspace/config/route_client-reference-manifest.js +0 -1
  86. package/.next/server/app/api/workspace/import/route.js +0 -1
  87. package/.next/server/app/api/workspace/import/route.js.nft.json +0 -1
  88. package/.next/server/app/api/workspace/import/route_client-reference-manifest.js +0 -1
  89. package/.next/server/app/api/workspace/route.js +0 -1
  90. package/.next/server/app/api/workspace/route.js.nft.json +0 -1
  91. package/.next/server/app/api/workspace/route_client-reference-manifest.js +0 -1
  92. package/.next/server/app/app-legacy-do-not-use/page.js +0 -17
  93. package/.next/server/app/app-legacy-do-not-use/page.js.nft.json +0 -1
  94. package/.next/server/app/app-legacy-do-not-use/page_client-reference-manifest.js +0 -1
  95. package/.next/server/app/app-legacy-do-not-use.html +0 -1
  96. package/.next/server/app/app-legacy-do-not-use.meta +0 -7
  97. package/.next/server/app/app-legacy-do-not-use.rsc +0 -23
  98. package/.next/server/app/apple-icon.png/route.js +0 -1
  99. package/.next/server/app/apple-icon.png/route.js.nft.json +0 -1
  100. package/.next/server/app/apple-icon.png.body +0 -0
  101. package/.next/server/app/apple-icon.png.meta +0 -1
  102. package/.next/server/app/approve/[actionId]/page.js +0 -2
  103. package/.next/server/app/approve/[actionId]/page.js.nft.json +0 -1
  104. package/.next/server/app/approve/[actionId]/page_client-reference-manifest.js +0 -1
  105. package/.next/server/app/docs/[...doc]/page.js +0 -2
  106. package/.next/server/app/docs/[...doc]/page.js.nft.json +0 -1
  107. package/.next/server/app/docs/[...doc]/page_client-reference-manifest.js +0 -1
  108. package/.next/server/app/docs/page.js +0 -2
  109. package/.next/server/app/docs/page.js.nft.json +0 -1
  110. package/.next/server/app/docs/page_client-reference-manifest.js +0 -1
  111. package/.next/server/app/favicon.ico/route.js +0 -1
  112. package/.next/server/app/favicon.ico/route.js.nft.json +0 -1
  113. package/.next/server/app/favicon.ico.body +0 -0
  114. package/.next/server/app/favicon.ico.meta +0 -1
  115. package/.next/server/app/health/page.js +0 -2
  116. package/.next/server/app/health/page.js.nft.json +0 -1
  117. package/.next/server/app/health/page_client-reference-manifest.js +0 -1
  118. package/.next/server/app/health.html +0 -1
  119. package/.next/server/app/health.meta +0 -7
  120. package/.next/server/app/health.rsc +0 -20
  121. package/.next/server/app/hello/page.js +0 -2
  122. package/.next/server/app/hello/page.js.nft.json +0 -1
  123. package/.next/server/app/hello/page_client-reference-manifest.js +0 -1
  124. package/.next/server/app/hello.html +0 -1
  125. package/.next/server/app/hello.meta +0 -7
  126. package/.next/server/app/hello.rsc +0 -23
  127. package/.next/server/app/icon.png/route.js +0 -1
  128. package/.next/server/app/icon.png/route.js.nft.json +0 -1
  129. package/.next/server/app/icon.png.body +0 -0
  130. package/.next/server/app/icon.png.meta +0 -1
  131. package/.next/server/app/index.html +0 -1
  132. package/.next/server/app/index.meta +0 -7
  133. package/.next/server/app/index.rsc +0 -20
  134. package/.next/server/app/page.js +0 -14
  135. package/.next/server/app/page.js.nft.json +0 -1
  136. package/.next/server/app/page_client-reference-manifest.js +0 -1
  137. package/.next/server/app/privacy/page.js +0 -2
  138. package/.next/server/app/privacy/page.js.nft.json +0 -1
  139. package/.next/server/app/privacy/page_client-reference-manifest.js +0 -1
  140. package/.next/server/app/privacy.html +0 -1
  141. package/.next/server/app/privacy.meta +0 -7
  142. package/.next/server/app/privacy.rsc +0 -24
  143. package/.next/server/app/share/[token]/page.js +0 -2
  144. package/.next/server/app/share/[token]/page.js.nft.json +0 -1
  145. package/.next/server/app/share/[token]/page_client-reference-manifest.js +0 -1
  146. package/.next/server/app/terms/page.js +0 -2
  147. package/.next/server/app/terms/page.js.nft.json +0 -1
  148. package/.next/server/app/terms/page_client-reference-manifest.js +0 -1
  149. package/.next/server/app/terms.html +0 -1
  150. package/.next/server/app/terms.meta +0 -7
  151. package/.next/server/app/terms.rsc +0 -24
  152. package/.next/server/app/yo/page.js +0 -2
  153. package/.next/server/app/yo/page.js.nft.json +0 -1
  154. package/.next/server/app/yo/page_client-reference-manifest.js +0 -1
  155. package/.next/server/app/yo.html +0 -1
  156. package/.next/server/app/yo.meta +0 -7
  157. package/.next/server/app/yo.rsc +0 -23
  158. package/.next/server/app-paths-manifest.json +0 -38
  159. package/.next/server/chunks/1194.js +0 -4
  160. package/.next/server/chunks/1196.js +0 -1
  161. package/.next/server/chunks/1331.js +0 -22
  162. package/.next/server/chunks/1503.js +0 -2
  163. package/.next/server/chunks/1644.js +0 -1
  164. package/.next/server/chunks/1692.js +0 -1
  165. package/.next/server/chunks/2123.js +0 -59
  166. package/.next/server/chunks/2145.js +0 -1
  167. package/.next/server/chunks/2234.js +0 -1
  168. package/.next/server/chunks/2269.js +0 -1
  169. package/.next/server/chunks/2395.js +0 -9
  170. package/.next/server/chunks/2945.js +0 -1
  171. package/.next/server/chunks/335.js +0 -1
  172. package/.next/server/chunks/372.js +0 -1
  173. package/.next/server/chunks/4224.js +0 -1
  174. package/.next/server/chunks/4337.js +0 -1
  175. package/.next/server/chunks/4600.js +0 -1
  176. package/.next/server/chunks/4697.js +0 -1
  177. package/.next/server/chunks/5347.js +0 -1
  178. package/.next/server/chunks/5482.js +0 -1
  179. package/.next/server/chunks/5611.js +0 -6
  180. package/.next/server/chunks/5678.js +0 -4
  181. package/.next/server/chunks/5784.js +0 -1
  182. package/.next/server/chunks/5991.js +0 -7
  183. package/.next/server/chunks/6086.js +0 -2
  184. package/.next/server/chunks/6470.js +0 -1
  185. package/.next/server/chunks/6572.js +0 -59
  186. package/.next/server/chunks/7585.js +0 -1
  187. package/.next/server/chunks/7935.js +0 -101
  188. package/.next/server/chunks/8011.js +0 -1
  189. package/.next/server/chunks/8468.js +0 -1
  190. package/.next/server/chunks/9323.js +0 -8
  191. package/.next/server/chunks/9971.js +0 -1
  192. package/.next/server/functions-config-manifest.json +0 -8
  193. package/.next/server/instrumentation.js +0 -1
  194. package/.next/server/instrumentation.js.nft.json +0 -1
  195. package/.next/server/interception-route-rewrite-manifest.js +0 -1
  196. package/.next/server/middleware-build-manifest.js +0 -1
  197. package/.next/server/middleware-manifest.json +0 -6
  198. package/.next/server/middleware-react-loadable-manifest.js +0 -1
  199. package/.next/server/next-font-manifest.js +0 -1
  200. package/.next/server/next-font-manifest.json +0 -1
  201. package/.next/server/pages/404.html +0 -1
  202. package/.next/server/pages/500.html +0 -1
  203. package/.next/server/pages/_app.js +0 -1
  204. package/.next/server/pages/_app.js.nft.json +0 -1
  205. package/.next/server/pages/_document.js +0 -1
  206. package/.next/server/pages/_document.js.nft.json +0 -1
  207. package/.next/server/pages/_error.js +0 -19
  208. package/.next/server/pages/_error.js.nft.json +0 -1
  209. package/.next/server/pages-manifest.json +0 -6
  210. package/.next/server/server-reference-manifest.js +0 -1
  211. package/.next/server/server-reference-manifest.json +0 -1
  212. package/.next/server/webpack-runtime.js +0 -1
  213. package/.next/static/chunks/1168.bb1c93965872e980.js +0 -1
  214. package/.next/static/chunks/1255-7999eac54f80a49f.js +0 -1
  215. package/.next/static/chunks/142-fa9752f53a551f63.js +0 -1
  216. package/.next/static/chunks/2505.d54ccadc42f4e3d1.js +0 -1
  217. package/.next/static/chunks/2619-04bc32f026a0d946.js +0 -1
  218. package/.next/static/chunks/2891-bf010357841c9ce9.js +0 -1
  219. package/.next/static/chunks/2927.3976471e61df966e.js +0 -1
  220. package/.next/static/chunks/3573-667bc4c8f56afcff.js +0 -1
  221. package/.next/static/chunks/3609.ded5a5306e18af9c.js +0 -1
  222. package/.next/static/chunks/3826.a73d4a88d8c09030.js +0 -1
  223. package/.next/static/chunks/3a91511d-da2c74cad6c6fc33.js +0 -7
  224. package/.next/static/chunks/4114-a375178fd94c4d8a.js +0 -1
  225. package/.next/static/chunks/4256.aa831e4d8c3f65bc.js +0 -1
  226. package/.next/static/chunks/4901-ba6a32818662e70a.js +0 -1
  227. package/.next/static/chunks/4919-0e698cd95504e355.js +0 -1
  228. package/.next/static/chunks/4bd1b696-100b9d70ed4e49c1.js +0 -1
  229. package/.next/static/chunks/5336-b775f449d7433604.js +0 -1
  230. package/.next/static/chunks/5362-2e8fcdd0bc6273ca.js +0 -59
  231. package/.next/static/chunks/6233-97a810aa272af547.js +0 -1
  232. package/.next/static/chunks/626.a5109d16f9eca1f6.js +0 -1
  233. package/.next/static/chunks/67-cb9bbb430499e803.js +0 -1
  234. package/.next/static/chunks/7616-1129bcb3eee8d315.js +0 -1
  235. package/.next/static/chunks/786-26deffb41572cbb3.js +0 -1
  236. package/.next/static/chunks/8273-3b9d882c5dd6a9a8.js +0 -1
  237. package/.next/static/chunks/8291-8f6fb6554e692552.js +0 -1
  238. package/.next/static/chunks/8357.5dee1e0c4e5bb091.js +0 -1
  239. package/.next/static/chunks/8370-6537b6b27df58b23.js +0 -1
  240. package/.next/static/chunks/9062-2bc2d089f9c9c6ba.js +0 -1
  241. package/.next/static/chunks/9380.f198afbf0c6b5369.js +0 -1
  242. package/.next/static/chunks/app/_not-found/page-5a8c6a29f762fa58.js +0 -1
  243. package/.next/static/chunks/app/api/[...doc]/page-f0852f35f0fd1d44.js +0 -1
  244. package/.next/static/chunks/app/api/agent-requests/route-cf84f975aad4c719.js +0 -1
  245. package/.next/static/chunks/app/api/apps/install/route-cf84f975aad4c719.js +0 -1
  246. package/.next/static/chunks/app/api/apps/manifests/route-cf84f975aad4c719.js +0 -1
  247. package/.next/static/chunks/app/api/apps/static/[...path]/route-cf84f975aad4c719.js +0 -1
  248. package/.next/static/chunks/app/api/docs/plain/route-cf84f975aad4c719.js +0 -1
  249. package/.next/static/chunks/app/api/events/route-cf84f975aad4c719.js +0 -1
  250. package/.next/static/chunks/app/api/import-from-openclaw/[channel]/route-cf84f975aad4c719.js +0 -1
  251. package/.next/static/chunks/app/api/import-from-openclaw/route-cf84f975aad4c719.js +0 -1
  252. package/.next/static/chunks/app/api/import-from-openclaw/validate/[channel]/route-cf84f975aad4c719.js +0 -1
  253. package/.next/static/chunks/app/api/page-cc59bebcc0d2c01d.js +0 -1
  254. package/.next/static/chunks/app/api/restart/route-cf84f975aad4c719.js +0 -1
  255. package/.next/static/chunks/app/api/update/route-cf84f975aad4c719.js +0 -1
  256. package/.next/static/chunks/app/api/version/route-cf84f975aad4c719.js +0 -1
  257. package/.next/static/chunks/app/api/workspace/[id]/apps/[wid]/route-cf84f975aad4c719.js +0 -1
  258. package/.next/static/chunks/app/api/workspace/[id]/apps/route-cf84f975aad4c719.js +0 -1
  259. package/.next/static/chunks/app/api/workspace/[id]/export/route-cf84f975aad4c719.js +0 -1
  260. package/.next/static/chunks/app/api/workspace/[id]/route-cf84f975aad4c719.js +0 -1
  261. package/.next/static/chunks/app/api/workspace/config/route-cf84f975aad4c719.js +0 -1
  262. package/.next/static/chunks/app/api/workspace/import/route-cf84f975aad4c719.js +0 -1
  263. package/.next/static/chunks/app/api/workspace/route-cf84f975aad4c719.js +0 -1
  264. package/.next/static/chunks/app/app-legacy-do-not-use/page-efa348da049c5873.js +0 -1
  265. package/.next/static/chunks/app/approve/[actionId]/page-c862645e19371cea.js +0 -1
  266. package/.next/static/chunks/app/docs/[...doc]/page-8e2a2d036caab242.js +0 -1
  267. package/.next/static/chunks/app/docs/page-acf872a03ff79893.js +0 -1
  268. package/.next/static/chunks/app/error-04a18fd49a89ee17.js +0 -1
  269. package/.next/static/chunks/app/health/page-c9185854ed9c86d0.js +0 -1
  270. package/.next/static/chunks/app/hello/page-74c9f4deaa4b03dd.js +0 -1
  271. package/.next/static/chunks/app/layout-7093dda0d106f34d.js +0 -1
  272. package/.next/static/chunks/app/page-0ec7cf48550f71e6.js +0 -1
  273. package/.next/static/chunks/app/privacy/page-8e2d17079355c2cc.js +0 -1
  274. package/.next/static/chunks/app/share/[token]/page-5dd9b0418eee411f.js +0 -1
  275. package/.next/static/chunks/app/terms/page-8e2d17079355c2cc.js +0 -1
  276. package/.next/static/chunks/app/yo/layout-cf84f975aad4c719.js +0 -1
  277. package/.next/static/chunks/app/yo/page-48930746b135037e.js +0 -1
  278. package/.next/static/chunks/framework-a32a2a465584c0bc.js +0 -1
  279. package/.next/static/chunks/main-0f0f9142f74e7215.js +0 -1
  280. package/.next/static/chunks/main-app-24f0c92ba10af457.js +0 -1
  281. package/.next/static/chunks/pages/_app-4b3fb5e477a0267f.js +0 -1
  282. package/.next/static/chunks/pages/_error-c970d8b55ace1b48.js +0 -1
  283. package/.next/static/chunks/polyfills-42372ed130431b0a.js +0 -1
  284. package/.next/static/chunks/webpack-15ec0114c9d658c2.js +0 -1
  285. package/.next/static/css/35991998d1b5eff0.css +0 -3
  286. package/.next/static/q3rrQEmg9jZ5Lt-BCTiTK/_buildManifest.js +0 -1
  287. package/.next/static/q3rrQEmg9jZ5Lt-BCTiTK/_ssgManifest.js +0 -1
  288. package/.next/trace +0 -28
  289. package/.next/types/app/api/[...doc]/page.ts +0 -84
  290. package/.next/types/app/api/agent-requests/route.ts +0 -347
  291. package/.next/types/app/api/apps/install/route.ts +0 -347
  292. package/.next/types/app/api/apps/manifests/route.ts +0 -347
  293. package/.next/types/app/api/apps/static/[...path]/route.ts +0 -347
  294. package/.next/types/app/api/docs/plain/route.ts +0 -347
  295. package/.next/types/app/api/events/route.ts +0 -347
  296. package/.next/types/app/api/import-from-openclaw/[channel]/route.ts +0 -347
  297. package/.next/types/app/api/import-from-openclaw/route.ts +0 -347
  298. package/.next/types/app/api/import-from-openclaw/validate/[channel]/route.ts +0 -347
  299. package/.next/types/app/api/restart/route.ts +0 -347
  300. package/.next/types/app/api/update/route.ts +0 -347
  301. package/.next/types/app/api/version/route.ts +0 -347
  302. package/.next/types/app/api/workspace/[id]/apps/[wid]/route.ts +0 -347
  303. package/.next/types/app/api/workspace/[id]/apps/route.ts +0 -347
  304. package/.next/types/app/api/workspace/[id]/export/route.ts +0 -347
  305. package/.next/types/app/api/workspace/[id]/route.ts +0 -347
  306. package/.next/types/app/api/workspace/config/route.ts +0 -347
  307. package/.next/types/app/api/workspace/import/route.ts +0 -347
  308. package/.next/types/app/api/workspace/route.ts +0 -347
  309. package/.next/types/app/app-legacy-do-not-use/page.ts +0 -84
  310. package/.next/types/app/approve/[actionId]/page.ts +0 -84
  311. package/.next/types/app/docs/[...doc]/page.ts +0 -84
  312. package/.next/types/app/docs/page.ts +0 -84
  313. package/.next/types/app/health/page.ts +0 -84
  314. package/.next/types/app/hello/page.ts +0 -84
  315. package/.next/types/app/page.ts +0 -84
  316. package/.next/types/app/privacy/page.ts +0 -84
  317. package/.next/types/app/share/[token]/page.ts +0 -84
  318. package/.next/types/app/terms/page.ts +0 -84
  319. package/.next/types/app/yo/layout.ts +0 -84
  320. package/.next/types/app/yo/page.ts +0 -84
  321. package/.next/types/cache-life.d.ts +0 -141
  322. package/.next/types/package.json +0 -1
  323. package/.next/types/routes.d.ts +0 -105
  324. package/.next/types/validator.ts +0 -358
  325. package/apps/desktop-electron/main.js +0 -428
  326. package/docs/README.md +0 -38
  327. package/docs/ai-agents-workflow/API.md +0 -127
  328. package/docs/ai-agents-workflow/AUTH.md +0 -460
  329. package/docs/ai-agents-workflow/BEST-PRACTICES.md +0 -82
  330. package/docs/ai-agents-workflow/CLI.md +0 -189
  331. package/docs/ai-agents-workflow/MCP.md +0 -223
  332. package/docs/ai-agents-workflow/POLICY.md +0 -194
  333. package/docs/ai-agents-workflow/SKILLS.md +0 -135
  334. package/docs/ai-agents-workflow/credentials.md +0 -122
  335. package/docs/api/authentication.md +0 -80
  336. package/docs/api/secrets/api-keys.md +0 -28
  337. package/docs/api/secrets/credentials.md +0 -88
  338. package/docs/api/secrets/sharing.md +0 -48
  339. package/docs/api/system.md +0 -42
  340. package/docs/api/wallets/apps-strategies.md +0 -66
  341. package/docs/api/wallets/core.md +0 -46
  342. package/docs/api/wallets/data-portfolio.md +0 -42
  343. package/docs/how-to-auramaxx/TROUBLESHOOTING.md +0 -477
  344. package/docs/how-to-auramaxx/WORKING_WITH_SECRETS.md +0 -96
  345. package/docs/how-to-auramaxx/share-secret.md +0 -74
  346. package/docs/legacy/ADAPTERS.md +0 -471
  347. package/docs/legacy/APPS.md +0 -199
  348. package/docs/legacy/DESKTOP_ELECTRON.md +0 -26
  349. package/docs/legacy/DEVELOPING-APPS.md +0 -453
  350. package/docs/legacy/PACKAGING_POLICY.md +0 -19
  351. package/docs/legacy/PERMISSION.md +0 -138
  352. package/docs/legacy/PROTOCOL.md +0 -142
  353. package/docs/legacy/README.md +0 -21
  354. package/docs/legacy/WORKSPACE.md +0 -673
  355. package/docs/legacy/agent-auth.md +0 -13
  356. package/docs/legacy/aura-file.md +0 -48
  357. package/docs/legacy/external/HOW_TO_AURAMAXX/README.md +0 -45
  358. package/docs/legacy/external/README.md +0 -7
  359. package/docs/legacy/external/getting-started.md +0 -10
  360. package/docs/legacy/external/overview.md +0 -19
  361. package/docs/legacy/external/persona-paths.md +0 -7
  362. package/docs/legacy/external/why-aura.md +0 -7
  363. package/docs/legacy/specs/README.md +0 -6
  364. package/docs/legacy/specs/aura-open-protocol.md +0 -61
  365. package/docs/legacy/specs/aura-provider-plugin.md +0 -24
  366. package/docs/legacy/specs/aura-registry-model.md +0 -31
  367. package/docs/legacy/specs/fixtures/invalid-bad-key.aura +0 -1
  368. package/docs/legacy/specs/fixtures/invalid-bad-unicode-escape.aura +0 -1
  369. package/docs/legacy/specs/fixtures/invalid-duplicate-key.aura +0 -2
  370. package/docs/legacy/specs/fixtures/valid-basic.aura +0 -4
  371. package/docs/legacy/specs/fixtures/valid-provider-ref.aura +0 -1
  372. package/docs/legacy/specs/fixtures/valid-quoted-escapes.aura +0 -2
  373. package/docs/legacy/specs/task-256-create-edit-ui.md +0 -65
  374. package/docs/legacy/templates/README.md +0 -3
  375. package/docs/legacy/templates/RELEASE_NOTES_TEMPLATE.md +0 -22
  376. package/docs/legacy/wallet/AI.md +0 -508
  377. package/docs/legacy/wallet/DEVELOPING-STRATEGIES.md +0 -713
  378. package/docs/legacy/wallet/README.md +0 -47
  379. package/docs/legacy/wallet/STRATEGY.md +0 -89
  380. package/docs/quickstart/AGENT_SETUP.md +0 -181
  381. package/docs/why-auramaxx/ARCHITECTURE.md +0 -248
  382. package/docs/why-auramaxx/FEATURES.md +0 -117
  383. package/docs/why-auramaxx/security.md +0 -362
  384. package/next.config.ts +0 -38
  385. package/postcss.config.mjs +0 -8
  386. package/prisma/migrations/20260214170000_baseline/migration.sql +0 -511
  387. package/prisma/migrations/20260216214537_add_passkey_model/migration.sql +0 -18
  388. package/prisma/migrations/20260217150500_add_credential_access_audit/migration.sql +0 -31
  389. package/prisma/migrations/20260222090000_update_admin_ttl_default/migration.sql +0 -10
  390. package/prisma/migrations/20260227214000_update_agent_action_ttl_defaults/migration.sql +0 -19
  391. package/prisma/migrations/20260301225214_social_tables/migration.sql +0 -81
  392. package/prisma/migrations/20260302120000_add_notification_hash/migration.sql +0 -8
  393. package/prisma/migrations/20260302160000_add_public_key_hex/migration.sql +0 -5
  394. package/prisma/migrations/20260302170000_add_inbound_author_public_key/migration.sql +0 -5
  395. package/prisma/migrations/migration_lock.toml +0 -3
  396. package/prisma/schema.prisma +0 -542
  397. package/public/0a167e5e-4f52-4715-ae23-bf63d259a6b1.png +0 -0
  398. package/public/141ec92c-6780-4b23-838f-9a7bf1e91bb8.png +0 -0
  399. package/public/3afc4935-92cb-42af-9624-0b1341c12a5e.png +0 -0
  400. package/public/43947df5-dbcf-4e49-ab8b-41b9162c0410.png +0 -0
  401. package/public/5aeae9ce-0d38-49ea-8fd1-167892a04a85.png +0 -0
  402. package/public/660e4ea3-a3a6-4be4-a8ca-2cb74c51dfb5.png +0 -0
  403. package/public/733f02d7-6b58-4ba6-a5c8-d062cd205e1d.png +0 -0
  404. package/public/README.png +0 -0
  405. package/public/a32d65cb-95b0-4977-be6b-cf69f515afbe.png +0 -0
  406. package/public/agent1.png +0 -0
  407. package/public/agent10.png +0 -0
  408. package/public/agent2.png +0 -0
  409. package/public/agent3.png +0 -0
  410. package/public/agent4.png +0 -0
  411. package/public/agent5.png +0 -0
  412. package/public/agent6.png +0 -0
  413. package/public/agent7.png +0 -0
  414. package/public/agent8.png +0 -0
  415. package/public/agent9.png +0 -0
  416. package/public/c4938305-b811-4ccc-91db-94d309734827.png +0 -0
  417. package/public/f2ca6825-a4f3-4107-815c-51ee740dfc09.png +0 -0
  418. package/public/install.ps1 +0 -10
  419. package/public/install.sh +0 -11
  420. package/public/llm.txt +0 -2
  421. package/public/llms.txt +0 -39
  422. package/public/logo.webp +0 -0
  423. package/public/opengraph.webp +0 -0
  424. package/public/ss-dark1.png +0 -0
  425. package/public/ss-dark1.webp +0 -0
  426. package/public/ss-dark2.png +0 -0
  427. package/public/ss-dark2.webp +0 -0
  428. package/public/ss-dark3.png +0 -0
  429. package/public/ss-dark3.webp +0 -0
  430. package/public/ss-light1.png +0 -0
  431. package/public/ss-light1.webp +0 -0
  432. package/public/ss-light2.png +0 -0
  433. package/public/ss-light2.webp +0 -0
  434. package/public/ss-light3.png +0 -0
  435. package/public/ss-light3.webp +0 -0
  436. package/scripts/add-app.js +0 -245
  437. package/shared/credential-field-schema.ts +0 -270
  438. package/skills/auramaxx/HEARTBEAT.md +0 -97
  439. package/skills/auramaxx/SKILL.md +0 -136
  440. package/skills/auramaxx/docs/AGENT_SETUP.md +0 -160
  441. package/skills/auramaxx/docs/API.md +0 -127
  442. package/skills/auramaxx/docs/AUTH.md +0 -318
  443. package/skills/auramaxx/docs/CLI.md +0 -130
  444. package/skills/auramaxx/docs/MCP.md +0 -192
  445. package/skills/auramaxx/docs/TROUBLESHOOTING.md +0 -357
  446. package/skills/auramaxx/docs/WORKSPACE.md +0 -673
  447. package/skills/auramaxx/docs/security.md +0 -227
  448. package/skills/task-lifecycle/SKILL.md +0 -366
  449. package/src/app/UnlockPageClient.tsx +0 -2344
  450. package/src/app/api/[...doc]/page.tsx +0 -36
  451. package/src/app/api/agent-requests/route.ts +0 -30
  452. package/src/app/api/apps/install/route.ts +0 -132
  453. package/src/app/api/apps/manifests/route.ts +0 -16
  454. package/src/app/api/apps/static/[...path]/route.ts +0 -57
  455. package/src/app/api/docs/plain/route.ts +0 -74
  456. package/src/app/api/events/route.ts +0 -92
  457. package/src/app/api/import-from-openclaw/[channel]/route.ts +0 -62
  458. package/src/app/api/import-from-openclaw/lib.ts +0 -672
  459. package/src/app/api/import-from-openclaw/route.ts +0 -88
  460. package/src/app/api/import-from-openclaw/validate/[channel]/route.ts +0 -88
  461. package/src/app/api/page.tsx +0 -299
  462. package/src/app/api/restart/route.ts +0 -111
  463. package/src/app/api/update/route.ts +0 -268
  464. package/src/app/api/version/route.ts +0 -79
  465. package/src/app/api/workspace/[id]/apps/[wid]/route.ts +0 -119
  466. package/src/app/api/workspace/[id]/apps/route.ts +0 -81
  467. package/src/app/api/workspace/[id]/export/route.ts +0 -67
  468. package/src/app/api/workspace/[id]/route.ts +0 -168
  469. package/src/app/api/workspace/auth.ts +0 -40
  470. package/src/app/api/workspace/config/route.ts +0 -121
  471. package/src/app/api/workspace/import/route.ts +0 -127
  472. package/src/app/api/workspace/route.ts +0 -116
  473. package/src/app/app-legacy-do-not-use/page.tsx +0 -2247
  474. package/src/app/apple-icon.png +0 -0
  475. package/src/app/approve/[actionId]/page.tsx +0 -428
  476. package/src/app/docs/DocsPageContent.tsx +0 -283
  477. package/src/app/docs/[...doc]/page.tsx +0 -41
  478. package/src/app/docs/page.tsx +0 -38
  479. package/src/app/error.tsx +0 -125
  480. package/src/app/favicon.ico +0 -0
  481. package/src/app/globals.css +0 -940
  482. package/src/app/health/page.tsx +0 -5
  483. package/src/app/hello/page.tsx +0 -102
  484. package/src/app/icon.png +0 -0
  485. package/src/app/layout.tsx +0 -40
  486. package/src/app/page.tsx +0 -38
  487. package/src/app/privacy/page.tsx +0 -63
  488. package/src/app/providers.tsx +0 -87
  489. package/src/app/share/[token]/page.tsx +0 -295
  490. package/src/app/terms/page.tsx +0 -80
  491. package/src/app/yo/layout.tsx +0 -38
  492. package/src/app/yo/page.tsx +0 -614
  493. package/src/components/AgentPicker.tsx +0 -278
  494. package/src/components/ChainSelector.tsx +0 -44
  495. package/src/components/CreateAgentModal.tsx +0 -192
  496. package/src/components/HumanActionBar.tsx +0 -865
  497. package/src/components/NotificationDrawer.tsx +0 -455
  498. package/src/components/PasskeyEnrollmentPrompt.tsx +0 -974
  499. package/src/components/UpdateBanner.tsx +0 -171
  500. package/src/components/agent/AgentSidebar.tsx +0 -921
  501. package/src/components/agent/ApiKeysConsole.tsx +0 -1272
  502. package/src/components/agent/AuditConsole.tsx +0 -600
  503. package/src/components/agent/CredentialAgent.tsx +0 -1718
  504. package/src/components/agent/CredentialDetail.tsx +0 -710
  505. package/src/components/agent/CredentialEmpty.tsx +0 -55
  506. package/src/components/agent/CredentialField.tsx +0 -594
  507. package/src/components/agent/CredentialForm.tsx +0 -1867
  508. package/src/components/agent/CredentialList.tsx +0 -299
  509. package/src/components/agent/CredentialRow.tsx +0 -138
  510. package/src/components/agent/CredentialShareModal.tsx +0 -285
  511. package/src/components/agent/CredentialWalletWidget.tsx +0 -103
  512. package/src/components/agent/DocsConsole.tsx +0 -113
  513. package/src/components/agent/ImportCredentialsModal.tsx +0 -578
  514. package/src/components/agent/LargeTypeModal.tsx +0 -88
  515. package/src/components/agent/PasswordGenerator.tsx +0 -232
  516. package/src/components/agent/TOTPDisplay.tsx +0 -108
  517. package/src/components/agent/TotpSetupPanel.tsx +0 -198
  518. package/src/components/agent/credentialDisplayName.ts +0 -42
  519. package/src/components/agent/credentialFormName.ts +0 -150
  520. package/src/components/agent/credentialListSort.ts +0 -56
  521. package/src/components/agent/hooks/useAgentKeyboardShortcuts.ts +0 -69
  522. package/src/components/agent/types.ts +0 -56
  523. package/src/components/agents/AgentsView.tsx +0 -1035
  524. package/src/components/apps/AgentKeysApp.tsx +0 -490
  525. package/src/components/apps/App.tsx +0 -153
  526. package/src/components/apps/AppGrid.tsx +0 -15
  527. package/src/components/apps/DetailedAddressDrawer.tsx +0 -325
  528. package/src/components/apps/DraggableApp.tsx +0 -562
  529. package/src/components/apps/IFrameApp.tsx +0 -73
  530. package/src/components/apps/LogsApp.tsx +0 -360
  531. package/src/components/apps/SendApp.tsx +0 -394
  532. package/src/components/apps/SetupWizardApp.tsx +0 -1004
  533. package/src/components/apps/SystemDefaultsApp.tsx +0 -845
  534. package/src/components/apps/ThirdPartyApp.tsx +0 -428
  535. package/src/components/apps/TokenApp.tsx +0 -319
  536. package/src/components/apps/TransactionsApp.tsx +0 -438
  537. package/src/components/apps/WalletDetailApp.tsx +0 -1505
  538. package/src/components/apps/index.ts +0 -13
  539. package/src/components/design-system/Button.tsx +0 -88
  540. package/src/components/design-system/ChainIndicator.tsx +0 -65
  541. package/src/components/design-system/ChainSelector.tsx +0 -147
  542. package/src/components/design-system/ConfirmationModal.tsx +0 -107
  543. package/src/components/design-system/ConfirmationPopover.tsx +0 -81
  544. package/src/components/design-system/DownloadButton.tsx +0 -149
  545. package/src/components/design-system/Drawer.tsx +0 -133
  546. package/src/components/design-system/FilterDropdown.tsx +0 -183
  547. package/src/components/design-system/ItemPicker.tsx +0 -157
  548. package/src/components/design-system/Modal.tsx +0 -314
  549. package/src/components/design-system/Popover.tsx +0 -142
  550. package/src/components/design-system/TextAreaInput.tsx +0 -78
  551. package/src/components/design-system/TextInput.tsx +0 -85
  552. package/src/components/design-system/Toggle.tsx +0 -65
  553. package/src/components/design-system/TyvekCollapsibleSection.tsx +0 -55
  554. package/src/components/design-system/index.ts +0 -15
  555. package/src/components/docs/ClientSideMarkdown.tsx +0 -51
  556. package/src/components/docs/DocsSearchBar.tsx +0 -118
  557. package/src/components/docs/DocsThemeToggle.tsx +0 -38
  558. package/src/components/docs/PersistentDocGroup.tsx +0 -91
  559. package/src/components/docs/ShareUrlButton.tsx +0 -33
  560. package/src/components/docs/SidebarScrollMemory.tsx +0 -56
  561. package/src/components/health/CredentialHealthDashboard.tsx +0 -214
  562. package/src/components/hub/HubView.tsx +0 -58
  563. package/src/components/icons/ChainIcons.tsx +0 -72
  564. package/src/components/layout/AppStoreDrawer.tsx +0 -369
  565. package/src/components/layout/ContentArea.tsx +0 -21
  566. package/src/components/layout/CreateViewModal.tsx +0 -88
  567. package/src/components/layout/LeftRail.tsx +0 -407
  568. package/src/components/layout/SettingsDrawer.tsx +0 -1200
  569. package/src/components/layout/TabBar.tsx +0 -284
  570. package/src/components/layout/ViewShell.tsx +0 -125
  571. package/src/components/layout/WalletSidebar.tsx +0 -1043
  572. package/src/components/layout/index.ts +0 -7
  573. package/src/components/marketing/AuraMaxxSpecOverlay.tsx +0 -653
  574. package/src/components/marketing/DeviceMorphExperience.tsx +0 -216
  575. package/src/components/social/PrimaryHubRegistrationGate.tsx +0 -260
  576. package/src/components/social/SocialView.tsx +0 -904
  577. package/src/context/AuthContext.tsx +0 -365
  578. package/src/context/PriceContext.tsx +0 -113
  579. package/src/context/ThemeContext.tsx +0 -164
  580. package/src/context/WebSocketContext.tsx +0 -269
  581. package/src/context/WorkspaceContext.tsx +0 -668
  582. package/src/hooks/index.ts +0 -4
  583. package/src/hooks/useAgentActions.ts +0 -552
  584. package/src/hooks/useBalance.ts +0 -103
  585. package/src/hooks/useBalances.ts +0 -129
  586. package/src/hooks/useSocialNotifications.ts +0 -123
  587. package/src/hooks/useTheme.ts +0 -156
  588. package/src/hooks/useUpdateChecker.ts +0 -245
  589. package/src/instrumentation.ts +0 -12
  590. package/src/lib/agent-crypto.ts +0 -129
  591. package/src/lib/api-docs.ts +0 -158
  592. package/src/lib/api.ts +0 -474
  593. package/src/lib/app-loader.ts +0 -148
  594. package/src/lib/app-registry.ts +0 -178
  595. package/src/lib/app-sdk.ts +0 -157
  596. package/src/lib/audit-console-adapter.ts +0 -151
  597. package/src/lib/auth-client.ts +0 -75
  598. package/src/lib/config.ts +0 -74
  599. package/src/lib/credential-field-schema.ts +0 -11
  600. package/src/lib/crypto.ts +0 -112
  601. package/src/lib/db.ts +0 -21
  602. package/src/lib/docs.ts +0 -617
  603. package/src/lib/events.ts +0 -372
  604. package/src/lib/markdown.ts +0 -39
  605. package/src/lib/pino.ts +0 -82
  606. package/src/lib/social-client.ts +0 -319
  607. package/src/lib/theme-handlers.ts +0 -168
  608. package/src/lib/theme.ts +0 -351
  609. package/src/lib/tokenData.ts +0 -378
  610. package/src/lib/totp-import.ts +0 -57
  611. package/src/lib/view-registry.ts +0 -75
  612. package/src/lib/websocket-server.ts +0 -302
  613. package/src/lib/websocket-setup.ts +0 -79
  614. package/src/lib/wordlist.ts +0 -2050
  615. package/src/lib/workspace-handlers.ts +0 -285
  616. package/src/server/abi/SwapHelper.json +0 -438
  617. package/src/server/cli/approval.ts +0 -447
  618. package/src/server/cli/commands/actions.ts +0 -469
  619. package/src/server/cli/commands/agent.ts +0 -1760
  620. package/src/server/cli/commands/api.ts +0 -181
  621. package/src/server/cli/commands/apikey.ts +0 -278
  622. package/src/server/cli/commands/app.ts +0 -204
  623. package/src/server/cli/commands/approve.ts +0 -209
  624. package/src/server/cli/commands/auth.ts +0 -885
  625. package/src/server/cli/commands/cron.ts +0 -24
  626. package/src/server/cli/commands/diary.ts +0 -273
  627. package/src/server/cli/commands/doctor.ts +0 -1267
  628. package/src/server/cli/commands/env.ts +0 -476
  629. package/src/server/cli/commands/experimental.ts +0 -69
  630. package/src/server/cli/commands/init.ts +0 -973
  631. package/src/server/cli/commands/lock.ts +0 -109
  632. package/src/server/cli/commands/mcp.ts +0 -285
  633. package/src/server/cli/commands/nuke.ts +0 -156
  634. package/src/server/cli/commands/quickhack.ts +0 -86
  635. package/src/server/cli/commands/register-agent.ts +0 -181
  636. package/src/server/cli/commands/release-check.ts +0 -231
  637. package/src/server/cli/commands/restart.ts +0 -61
  638. package/src/server/cli/commands/restore.ts +0 -314
  639. package/src/server/cli/commands/service.ts +0 -406
  640. package/src/server/cli/commands/shell-hook.ts +0 -512
  641. package/src/server/cli/commands/skill.ts +0 -280
  642. package/src/server/cli/commands/social.ts +0 -648
  643. package/src/server/cli/commands/start.ts +0 -260
  644. package/src/server/cli/commands/status.ts +0 -59
  645. package/src/server/cli/commands/stop.ts +0 -36
  646. package/src/server/cli/commands/token.ts +0 -180
  647. package/src/server/cli/commands/unlock.ts +0 -50
  648. package/src/server/cli/commands/wallet.ts +0 -210
  649. package/src/server/cli/index.ts +0 -285
  650. package/src/server/cli/lib/approval-actions.ts +0 -21
  651. package/src/server/cli/lib/approval-context.ts +0 -347
  652. package/src/server/cli/lib/approval-poll.ts +0 -142
  653. package/src/server/cli/lib/aura-parser.ts +0 -64
  654. package/src/server/cli/lib/auth-bootstrap.ts +0 -72
  655. package/src/server/cli/lib/credential-create.ts +0 -74
  656. package/src/server/cli/lib/credential-resolve.ts +0 -300
  657. package/src/server/cli/lib/dotenv-migrate.ts +0 -116
  658. package/src/server/cli/lib/dotenv-parser.ts +0 -146
  659. package/src/server/cli/lib/escalation.ts +0 -238
  660. package/src/server/cli/lib/http.ts +0 -105
  661. package/src/server/cli/lib/init-steps.ts +0 -76
  662. package/src/server/cli/lib/local-agent-trust.ts +0 -46
  663. package/src/server/cli/lib/lock-unlock-helper.ts +0 -71
  664. package/src/server/cli/lib/process.ts +0 -536
  665. package/src/server/cli/socket.ts +0 -583
  666. package/src/server/cli/transport-client.ts +0 -47
  667. package/src/server/cron/index.ts +0 -133
  668. package/src/server/cron/job.ts +0 -31
  669. package/src/server/cron/jobs/balance-sync.ts +0 -436
  670. package/src/server/cron/jobs/incoming-scan.ts +0 -506
  671. package/src/server/cron/jobs/native-price.ts +0 -70
  672. package/src/server/cron/jobs/orphan-cleanup.ts +0 -40
  673. package/src/server/cron/jobs/social-inbound.ts +0 -596
  674. package/src/server/cron/jobs/social-outbound.ts +0 -70
  675. package/src/server/cron/jobs/strategy-runner.ts +0 -175
  676. package/src/server/cron/scheduler.ts +0 -125
  677. package/src/server/index.ts +0 -438
  678. package/src/server/lib/adapters/delivery.ts +0 -508
  679. package/src/server/lib/adapters/discord.ts +0 -141
  680. package/src/server/lib/adapters/factory.ts +0 -123
  681. package/src/server/lib/adapters/index.ts +0 -21
  682. package/src/server/lib/adapters/router.ts +0 -297
  683. package/src/server/lib/adapters/telegram.ts +0 -646
  684. package/src/server/lib/adapters/types.ts +0 -89
  685. package/src/server/lib/adapters/webhook.ts +0 -95
  686. package/src/server/lib/adapters/whatsapp-native.ts +0 -276
  687. package/src/server/lib/adapters/whatsapp.ts +0 -904
  688. package/src/server/lib/address.ts +0 -49
  689. package/src/server/lib/agent-auth/contracts.ts +0 -1194
  690. package/src/server/lib/agent-profiles.ts +0 -430
  691. package/src/server/lib/ai.ts +0 -286
  692. package/src/server/lib/api-registry/contracts.ts +0 -86
  693. package/src/server/lib/api-registry/validation.ts +0 -172
  694. package/src/server/lib/apikey-migration.ts +0 -258
  695. package/src/server/lib/app-installer.ts +0 -505
  696. package/src/server/lib/app-tokens.ts +0 -247
  697. package/src/server/lib/approval-flow.ts +0 -139
  698. package/src/server/lib/approval-link.ts +0 -27
  699. package/src/server/lib/auth.ts +0 -324
  700. package/src/server/lib/auto-execute.ts +0 -160
  701. package/src/server/lib/batch.ts +0 -242
  702. package/src/server/lib/cold.ts +0 -1013
  703. package/src/server/lib/config.ts +0 -410
  704. package/src/server/lib/credential-access-audit.ts +0 -85
  705. package/src/server/lib/credential-access-policy.ts +0 -112
  706. package/src/server/lib/credential-agent.ts +0 -77
  707. package/src/server/lib/credential-health.ts +0 -343
  708. package/src/server/lib/credential-import.ts +0 -614
  709. package/src/server/lib/credential-scope.ts +0 -102
  710. package/src/server/lib/credential-shares.ts +0 -190
  711. package/src/server/lib/credential-transport.ts +0 -556
  712. package/src/server/lib/credentials.ts +0 -422
  713. package/src/server/lib/crypto.ts +0 -8
  714. package/src/server/lib/db.ts +0 -58
  715. package/src/server/lib/defaults.ts +0 -397
  716. package/src/server/lib/dex/index.ts +0 -80
  717. package/src/server/lib/dex/relay.ts +0 -235
  718. package/src/server/lib/dex/types.ts +0 -59
  719. package/src/server/lib/dex/uniswap.ts +0 -370
  720. package/src/server/lib/diary.ts +0 -61
  721. package/src/server/lib/dont-ask-again-policy.ts +0 -41
  722. package/src/server/lib/e2e-agent/artifacts.ts +0 -36
  723. package/src/server/lib/e2e-agent/contracts.ts +0 -112
  724. package/src/server/lib/e2e-agent/validation.ts +0 -135
  725. package/src/server/lib/encrypt.ts +0 -114
  726. package/src/server/lib/error.ts +0 -20
  727. package/src/server/lib/escalation-contract.ts +0 -140
  728. package/src/server/lib/escalation-error-codes.ts +0 -26
  729. package/src/server/lib/escalation-responder.ts +0 -729
  730. package/src/server/lib/escalation-route-registry.ts +0 -138
  731. package/src/server/lib/events.ts +0 -220
  732. package/src/server/lib/feature-flags.ts +0 -96
  733. package/src/server/lib/hot.ts +0 -357
  734. package/src/server/lib/hub-auth.ts +0 -159
  735. package/src/server/lib/human-action-summary.ts +0 -80
  736. package/src/server/lib/key-fingerprint.ts +0 -28
  737. package/src/server/lib/logger.ts +0 -340
  738. package/src/server/lib/migrate-agent-profiles.ts +0 -96
  739. package/src/server/lib/network.ts +0 -137
  740. package/src/server/lib/notifications.ts +0 -241
  741. package/src/server/lib/oauth2-refresh.ts +0 -241
  742. package/src/server/lib/oursecret.ts +0 -87
  743. package/src/server/lib/passkey-credential.ts +0 -360
  744. package/src/server/lib/passkey.ts +0 -68
  745. package/src/server/lib/permissions.ts +0 -340
  746. package/src/server/lib/pino.ts +0 -24
  747. package/src/server/lib/policy-preview.ts +0 -138
  748. package/src/server/lib/price.ts +0 -338
  749. package/src/server/lib/prices.ts +0 -34
  750. package/src/server/lib/project-scope.ts +0 -326
  751. package/src/server/lib/redaction.ts +0 -108
  752. package/src/server/lib/resolve-action.ts +0 -398
  753. package/src/server/lib/resolve.ts +0 -36
  754. package/src/server/lib/secret-env.ts +0 -18
  755. package/src/server/lib/secret-gist-share.ts +0 -296
  756. package/src/server/lib/sessions.ts +0 -634
  757. package/src/server/lib/social/create.ts +0 -176
  758. package/src/server/lib/social/global-aura-id.ts +0 -115
  759. package/src/server/lib/social/hub-rpc-client.ts +0 -99
  760. package/src/server/lib/social/hub-session.ts +0 -6
  761. package/src/server/lib/social/public-key.ts +0 -32
  762. package/src/server/lib/social/register.ts +0 -162
  763. package/src/server/lib/social/sign.ts +0 -95
  764. package/src/server/lib/social/sync.ts +0 -301
  765. package/src/server/lib/socket-path.ts +0 -76
  766. package/src/server/lib/solana/connection.ts +0 -26
  767. package/src/server/lib/solana/jupiter.ts +0 -128
  768. package/src/server/lib/solana/transfer.ts +0 -108
  769. package/src/server/lib/solana/wallet.ts +0 -136
  770. package/src/server/lib/strategy/emits.ts +0 -21
  771. package/src/server/lib/strategy/engine.ts +0 -1313
  772. package/src/server/lib/strategy/executor.ts +0 -115
  773. package/src/server/lib/strategy/hook-context.ts +0 -159
  774. package/src/server/lib/strategy/hooks.ts +0 -1023
  775. package/src/server/lib/strategy/index.ts +0 -28
  776. package/src/server/lib/strategy/installer.ts +0 -305
  777. package/src/server/lib/strategy/loader.ts +0 -256
  778. package/src/server/lib/strategy/message.ts +0 -237
  779. package/src/server/lib/strategy/repository.ts +0 -218
  780. package/src/server/lib/strategy/session-logger.ts +0 -693
  781. package/src/server/lib/strategy/sources.ts +0 -288
  782. package/src/server/lib/strategy/state.ts +0 -189
  783. package/src/server/lib/strategy/templates.ts +0 -403
  784. package/src/server/lib/strategy/tick.ts +0 -404
  785. package/src/server/lib/strategy/types.ts +0 -230
  786. package/src/server/lib/swap.ts +0 -3
  787. package/src/server/lib/temp-policy.ts +0 -413
  788. package/src/server/lib/temp.ts +0 -86
  789. package/src/server/lib/token-metadata.ts +0 -86
  790. package/src/server/lib/token-safety.ts +0 -200
  791. package/src/server/lib/token-search.ts +0 -444
  792. package/src/server/lib/totp.ts +0 -194
  793. package/src/server/lib/transactions.ts +0 -123
  794. package/src/server/lib/transport.ts +0 -84
  795. package/src/server/lib/txhistory/decoder.ts +0 -262
  796. package/src/server/lib/txhistory/enricher.ts +0 -652
  797. package/src/server/lib/txhistory/index.ts +0 -391
  798. package/src/server/lib/txhistory/signatures.ts +0 -59
  799. package/src/server/lib/update-check.ts +0 -48
  800. package/src/server/lib/verified-summary.ts +0 -414
  801. package/src/server/lib/version-check-cache.ts +0 -23
  802. package/src/server/lib/view-registry.ts +0 -80
  803. package/src/server/mcp/profile-policy.ts +0 -30
  804. package/src/server/mcp/server.ts +0 -2887
  805. package/src/server/mcp/tools.ts +0 -863
  806. package/src/server/middleware/auth.ts +0 -117
  807. package/src/server/middleware/requestLogger.ts +0 -86
  808. package/src/server/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +0 -1
  809. package/src/server/routes/actions.ts +0 -607
  810. package/src/server/routes/adapters.ts +0 -1256
  811. package/src/server/routes/addressbook.ts +0 -129
  812. package/src/server/routes/agent-hub.ts +0 -276
  813. package/src/server/routes/agent-profiles.ts +0 -208
  814. package/src/server/routes/ai.ts +0 -34
  815. package/src/server/routes/apikeys.ts +0 -344
  816. package/src/server/routes/apps.ts +0 -623
  817. package/src/server/routes/auth.ts +0 -740
  818. package/src/server/routes/backup.ts +0 -404
  819. package/src/server/routes/batch.ts +0 -270
  820. package/src/server/routes/bookmarks.ts +0 -178
  821. package/src/server/routes/credential-agents.ts +0 -159
  822. package/src/server/routes/credential-shares.ts +0 -380
  823. package/src/server/routes/credentials.ts +0 -2545
  824. package/src/server/routes/dashboard.ts +0 -97
  825. package/src/server/routes/defaults.ts +0 -124
  826. package/src/server/routes/flags.ts +0 -11
  827. package/src/server/routes/fund.ts +0 -252
  828. package/src/server/routes/heartbeat.ts +0 -511
  829. package/src/server/routes/import.ts +0 -359
  830. package/src/server/routes/launch.ts +0 -703
  831. package/src/server/routes/lock.ts +0 -54
  832. package/src/server/routes/logs.ts +0 -78
  833. package/src/server/routes/nuke.ts +0 -136
  834. package/src/server/routes/passkey-credentials.ts +0 -99
  835. package/src/server/routes/passkey.ts +0 -372
  836. package/src/server/routes/portfolio.ts +0 -217
  837. package/src/server/routes/price.ts +0 -63
  838. package/src/server/routes/resolve.ts +0 -31
  839. package/src/server/routes/security.ts +0 -45
  840. package/src/server/routes/send-evm.ts +0 -286
  841. package/src/server/routes/send-solana.ts +0 -315
  842. package/src/server/routes/send.ts +0 -178
  843. package/src/server/routes/setup.ts +0 -210
  844. package/src/server/routes/social.ts +0 -869
  845. package/src/server/routes/strategy.ts +0 -901
  846. package/src/server/routes/swap-evm.ts +0 -386
  847. package/src/server/routes/swap-solana.ts +0 -203
  848. package/src/server/routes/swap.ts +0 -372
  849. package/src/server/routes/token.ts +0 -248
  850. package/src/server/routes/unlock.ts +0 -507
  851. package/src/server/routes/verified-credentials.ts +0 -312
  852. package/src/server/routes/views.ts +0 -41
  853. package/src/server/routes/wallet-assets.ts +0 -364
  854. package/src/server/routes/wallet-transactions.ts +0 -517
  855. package/src/server/routes/wallet.ts +0 -711
  856. package/src/server/test-data/agent-primary.json +0 -12
  857. package/src/server/test-data/agent-smbe0i.json +0 -14
  858. package/src/server/test-data/agent-wbl0v6.json +0 -14
  859. package/src/server/test-data/config.json +0 -33
  860. package/src/server/test-data/credentials/cred-1sj0yr5a.json +0 -23
  861. package/src/server/test-data/credentials/cred-469oz33y.json +0 -19
  862. package/src/server/test-data/credentials/cred-6h2h6oh7.json +0 -23
  863. package/src/server/test-data/credentials/cred-invrd1h9.json +0 -22
  864. package/src/server/test-data/credentials-archive/cred-nd7pngdm.json +0 -22
  865. package/src/server/test-data/debug-worker/agent-3vovb2.json +0 -14
  866. package/src/server/test-data/debug-worker/agent-ppchyx.json +0 -14
  867. package/src/server/test-data/debug-worker/agent-primary.json +0 -12
  868. package/src/server/test-data/debug-worker/agent-tm8bce.json +0 -14
  869. package/src/server/test-data/debug-worker/credentials/cred-bawnen1r.json +0 -23
  870. package/src/server/test-data/debug-worker/credentials/cred-wkqqa5sn.json +0 -23
  871. package/src/server/test-data/debug-worker/test.db +0 -0
  872. package/src/server/test-data/template.db +0 -0
  873. package/src/server/test-data/worker-1/test.db +0 -0
  874. package/src/server/test-data/worker-10/test.db +0 -0
  875. package/src/server/test-data/worker-11/test.db +0 -0
  876. package/src/server/test-data/worker-12/test.db +0 -0
  877. package/src/server/test-data/worker-13/test.db +0 -0
  878. package/src/server/test-data/worker-14/test.db +0 -0
  879. package/src/server/test-data/worker-15/test.db +0 -0
  880. package/src/server/test-data/worker-2/test.db +0 -0
  881. package/src/server/test-data/worker-3/test.db +0 -0
  882. package/src/server/test-data/worker-4/test.db +0 -0
  883. package/src/server/test-data/worker-5/test.db +0 -0
  884. package/src/server/test-data/worker-6/test.db +0 -0
  885. package/src/server/test-data/worker-7/test.db +0 -0
  886. package/src/server/test-data/worker-8/test.db +0 -0
  887. package/src/server/test-data/worker-9/test.db +0 -0
  888. package/src/server/tests/ai-integration/harness.ts +0 -235
  889. package/src/server/tests/ai-integration/live-harness.ts +0 -248
  890. package/src/server/tests/ai-integration/live.test.ts +0 -394
  891. package/src/server/tests/ai-integration/prompts.md +0 -396
  892. package/src/server/tests/ai-integration/scenarios.test.ts +0 -593
  893. package/src/server/tests/ai-integration/vitest.config.ts +0 -29
  894. package/src/server/tests/ai-integration/vitest.live.config.ts +0 -30
  895. package/src/server/tests/app-installer.test.ts +0 -406
  896. package/src/server/tests/auth/apikeys-validate.test.ts +0 -326
  897. package/src/server/tests/auth/apikeys.test.ts +0 -352
  898. package/src/server/tests/auth/approval-permissions-regression.test.ts +0 -641
  899. package/src/server/tests/auth/middleware.test.ts +0 -236
  900. package/src/server/tests/auth/permissions.test.ts +0 -387
  901. package/src/server/tests/cli/actions-auth.test.ts +0 -87
  902. package/src/server/tests/cli/agent-auth.test.ts +0 -1682
  903. package/src/server/tests/cli/agent-list-filters.test.ts +0 -150
  904. package/src/server/tests/cli/agent-share-gist.test.ts +0 -203
  905. package/src/server/tests/cli/agent.test.ts +0 -206
  906. package/src/server/tests/cli/auth-action-flag.test.ts +0 -135
  907. package/src/server/tests/cli/bin-entrypoint.test.ts +0 -438
  908. package/src/server/tests/cli/create-command.test.ts +0 -73
  909. package/src/server/tests/cli/credential-resolve.test.ts +0 -86
  910. package/src/server/tests/cli/doctor.test.ts +0 -154
  911. package/src/server/tests/cli/env-check-server-agent.test.ts +0 -114
  912. package/src/server/tests/cli/env.test.ts +0 -107
  913. package/src/server/tests/cli/escalation.test.ts +0 -140
  914. package/src/server/tests/cli/http.test.ts +0 -176
  915. package/src/server/tests/cli/init-flow.test.ts +0 -209
  916. package/src/server/tests/cli/init-runtime.test.ts +0 -144
  917. package/src/server/tests/cli/init-steps.test.ts +0 -184
  918. package/src/server/tests/cli/local-agent-trust.test.ts +0 -92
  919. package/src/server/tests/cli/process.test.ts +0 -453
  920. package/src/server/tests/cli/prompt-select.test.ts +0 -129
  921. package/src/server/tests/cli/quickhack.test.ts +0 -27
  922. package/src/server/tests/cli/restart-run.test.ts +0 -75
  923. package/src/server/tests/cli/service.test.ts +0 -138
  924. package/src/server/tests/cli/social.test.ts +0 -83
  925. package/src/server/tests/cli/socket.test.ts +0 -324
  926. package/src/server/tests/cli/start-run.test.ts +0 -185
  927. package/src/server/tests/cli/start.test.ts +0 -44
  928. package/src/server/tests/cli/taskctl-lock-smoke.test.ts +0 -136
  929. package/src/server/tests/cli/token.test.ts +0 -61
  930. package/src/server/tests/cli/wallet.test.ts +0 -23
  931. package/src/server/tests/credential-import.test.ts +0 -362
  932. package/src/server/tests/cron/incoming-scan.test.ts +0 -778
  933. package/src/server/tests/cron/native-price.test.ts +0 -121
  934. package/src/server/tests/cron/orphan-cleanup.test.ts +0 -94
  935. package/src/server/tests/cron/scheduler.test.ts +0 -161
  936. package/src/server/tests/cron/social-inbound-followers.unit.test.ts +0 -164
  937. package/src/server/tests/cron/social-inbound-staleness.test.ts +0 -193
  938. package/src/server/tests/cron/social-outbound.test.ts +0 -252
  939. package/src/server/tests/cron/strategy-runner.test.ts +0 -158
  940. package/src/server/tests/docs/job-docs-validation.test.ts +0 -16
  941. package/src/server/tests/dotenv-parser.test.ts +0 -121
  942. package/src/server/tests/e2e-agent/artifacts.test.ts +0 -35
  943. package/src/server/tests/e2e-agent/ci/nightly-set.json +0 -7
  944. package/src/server/tests/e2e-agent/ci/pr-smoke-set.json +0 -5
  945. package/src/server/tests/e2e-agent/ci-lanes.test.ts +0 -16
  946. package/src/server/tests/e2e-agent/runner.ts +0 -43
  947. package/src/server/tests/e2e-agent/scenarios/aura-onboarding-sanity.scenario.yaml +0 -16
  948. package/src/server/tests/e2e-agent/scenarios/credential-create-basic.scenario.yaml +0 -12
  949. package/src/server/tests/e2e-agent/scenarios/credential-read-basic.scenario.yaml +0 -16
  950. package/src/server/tests/e2e-agent/scenarios/save-on-submit-accept.scenario.yaml +0 -10
  951. package/src/server/tests/e2e-agent/scenarios/totp-retrieval-seeded.scenario.yaml +0 -12
  952. package/src/server/tests/e2e-agent/validation.test.ts +0 -129
  953. package/src/server/tests/e2e.test.ts +0 -295
  954. package/src/server/tests/endpoints/actions.test.ts +0 -1067
  955. package/src/server/tests/endpoints/address-transactions.test.ts +0 -223
  956. package/src/server/tests/endpoints/addressbook.test.ts +0 -225
  957. package/src/server/tests/endpoints/agent-profiles.test.ts +0 -117
  958. package/src/server/tests/endpoints/agent.test.ts +0 -713
  959. package/src/server/tests/endpoints/approve-action.test.ts +0 -107
  960. package/src/server/tests/endpoints/apps.test.ts +0 -561
  961. package/src/server/tests/endpoints/auth.test.ts +0 -565
  962. package/src/server/tests/endpoints/batch.test.ts +0 -352
  963. package/src/server/tests/endpoints/bookmarks.test.ts +0 -329
  964. package/src/server/tests/endpoints/credential-access-audit.test.ts +0 -194
  965. package/src/server/tests/endpoints/credential-ops.test.ts +0 -93
  966. package/src/server/tests/endpoints/credential-shares.test.ts +0 -249
  967. package/src/server/tests/endpoints/credentials.test.ts +0 -1786
  968. package/src/server/tests/endpoints/defaults.test.ts +0 -162
  969. package/src/server/tests/endpoints/escalation-migration-gate.test.ts +0 -488
  970. package/src/server/tests/endpoints/fund.test.ts +0 -299
  971. package/src/server/tests/endpoints/heartbeat.test.ts +0 -274
  972. package/src/server/tests/endpoints/import.test.ts +0 -192
  973. package/src/server/tests/endpoints/launch.test.ts +0 -734
  974. package/src/server/tests/endpoints/passkey-credentials.test.ts +0 -167
  975. package/src/server/tests/endpoints/passkey.test.ts +0 -219
  976. package/src/server/tests/endpoints/portfolio.test.ts +0 -497
  977. package/src/server/tests/endpoints/price.test.ts +0 -237
  978. package/src/server/tests/endpoints/rate-limit.test.ts +0 -465
  979. package/src/server/tests/endpoints/send.test.ts +0 -499
  980. package/src/server/tests/endpoints/setup.test.ts +0 -194
  981. package/src/server/tests/endpoints/solana-fund.test.ts +0 -218
  982. package/src/server/tests/endpoints/solana-send.test.ts +0 -215
  983. package/src/server/tests/endpoints/solana-swap.test.ts +0 -280
  984. package/src/server/tests/endpoints/solana-wallet.test.ts +0 -223
  985. package/src/server/tests/endpoints/strategy-routes.test.ts +0 -602
  986. package/src/server/tests/endpoints/swap.test.ts +0 -589
  987. package/src/server/tests/endpoints/token-balance.test.ts +0 -227
  988. package/src/server/tests/endpoints/token-clearing.test.ts +0 -230
  989. package/src/server/tests/endpoints/token-safety.test.ts +0 -280
  990. package/src/server/tests/endpoints/token-search.test.ts +0 -186
  991. package/src/server/tests/endpoints/transactions.test.ts +0 -348
  992. package/src/server/tests/endpoints/unlock.test.ts +0 -385
  993. package/src/server/tests/endpoints/wallet-data.test.ts +0 -547
  994. package/src/server/tests/endpoints/wallet.test.ts +0 -755
  995. package/src/server/tests/globalSetup.ts +0 -62
  996. package/src/server/tests/helpers/amounts.ts +0 -14
  997. package/src/server/tests/integration/adapter-resolve.test.ts +0 -160
  998. package/src/server/tests/integration/agent-flow.test.ts +0 -477
  999. package/src/server/tests/lib/adapters-chat.test.ts +0 -259
  1000. package/src/server/tests/lib/adapters-test.test.ts +0 -1196
  1001. package/src/server/tests/lib/adapters.test.ts +0 -962
  1002. package/src/server/tests/lib/address.test.ts +0 -96
  1003. package/src/server/tests/lib/agent-auth/contracts.test.ts +0 -771
  1004. package/src/server/tests/lib/agent-profiles.test.ts +0 -98
  1005. package/src/server/tests/lib/ai.test.ts +0 -452
  1006. package/src/server/tests/lib/api-registry/validation.test.ts +0 -174
  1007. package/src/server/tests/lib/app-tokens-tier.test.ts +0 -106
  1008. package/src/server/tests/lib/approval-link.test.ts +0 -20
  1009. package/src/server/tests/lib/aura-parser.test.ts +0 -96
  1010. package/src/server/tests/lib/auth-action.test.ts +0 -251
  1011. package/src/server/tests/lib/auth.test.ts +0 -237
  1012. package/src/server/tests/lib/auto-execute.test.ts +0 -269
  1013. package/src/server/tests/lib/auto-unlock.test.ts +0 -47
  1014. package/src/server/tests/lib/batch.test.ts +0 -363
  1015. package/src/server/tests/lib/credential-access.test.ts +0 -244
  1016. package/src/server/tests/lib/credential-agent.test.ts +0 -174
  1017. package/src/server/tests/lib/credential-field-schema.test.ts +0 -448
  1018. package/src/server/tests/lib/credential-health.test.ts +0 -110
  1019. package/src/server/tests/lib/credential-paths.test.ts +0 -430
  1020. package/src/server/tests/lib/credential-scope.test.ts +0 -163
  1021. package/src/server/tests/lib/credential-transport.test.ts +0 -319
  1022. package/src/server/tests/lib/credentials.test.ts +0 -249
  1023. package/src/server/tests/lib/defaults.test.ts +0 -76
  1024. package/src/server/tests/lib/diary.test.ts +0 -43
  1025. package/src/server/tests/lib/dont-ask-again-policy.test.ts +0 -22
  1026. package/src/server/tests/lib/encrypt.test.ts +0 -43
  1027. package/src/server/tests/lib/escalation-responder.test.ts +0 -228
  1028. package/src/server/tests/lib/events-decoder.test.ts +0 -286
  1029. package/src/server/tests/lib/events-enricher.test.ts +0 -294
  1030. package/src/server/tests/lib/events-fetcher.test.ts +0 -577
  1031. package/src/server/tests/lib/human-action-summary.test.ts +0 -62
  1032. package/src/server/tests/lib/network.test.ts +0 -280
  1033. package/src/server/tests/lib/oauth2-refresh.test.ts +0 -140
  1034. package/src/server/tests/lib/passkey-credential.test.ts +0 -153
  1035. package/src/server/tests/lib/price.test.ts +0 -286
  1036. package/src/server/tests/lib/prices.test.ts +0 -50
  1037. package/src/server/tests/lib/profile-parity.test.ts +0 -50
  1038. package/src/server/tests/lib/project-scope.test.ts +0 -242
  1039. package/src/server/tests/lib/relay.test.ts +0 -464
  1040. package/src/server/tests/lib/resolve-action.test.ts +0 -294
  1041. package/src/server/tests/lib/secret-gist-share.test.ts +0 -58
  1042. package/src/server/tests/lib/sessions-currency.test.ts +0 -215
  1043. package/src/server/tests/lib/sessions.test.ts +0 -327
  1044. package/src/server/tests/lib/social/create.test.ts +0 -207
  1045. package/src/server/tests/lib/social/sign.test.ts +0 -163
  1046. package/src/server/tests/lib/social/sync.test.ts +0 -198
  1047. package/src/server/tests/lib/solana-wallet.test.ts +0 -143
  1048. package/src/server/tests/lib/strategy/executor.test.ts +0 -363
  1049. package/src/server/tests/lib/strategy/hooks.test.ts +0 -897
  1050. package/src/server/tests/lib/strategy/loader.test.ts +0 -343
  1051. package/src/server/tests/lib/strategy/message.test.ts +0 -416
  1052. package/src/server/tests/lib/strategy/repository.test.ts +0 -84
  1053. package/src/server/tests/lib/strategy/session-logger.test.ts +0 -467
  1054. package/src/server/tests/lib/strategy/sources.test.ts +0 -503
  1055. package/src/server/tests/lib/strategy/state.test.ts +0 -349
  1056. package/src/server/tests/lib/strategy/tick.test.ts +0 -283
  1057. package/src/server/tests/lib/temp-policy.test.ts +0 -184
  1058. package/src/server/tests/lib/token-safety.test.ts +0 -277
  1059. package/src/server/tests/lib/token-search.test.ts +0 -687
  1060. package/src/server/tests/lib/totp.test.ts +0 -193
  1061. package/src/server/tests/lib/uniswap.test.ts +0 -307
  1062. package/src/server/tests/lib/update-check.test.ts +0 -27
  1063. package/src/server/tests/lib/verified-summary.test.ts +0 -454
  1064. package/src/server/tests/lib/websocket-auth.test.ts +0 -247
  1065. package/src/server/tests/mcp/contract.test.ts +0 -318
  1066. package/src/server/tests/mcp/profile-policy.test.ts +0 -178
  1067. package/src/server/tests/mcp/server.test.ts +0 -3159
  1068. package/src/server/tests/mcp/tools.test.ts +0 -518
  1069. package/src/server/tests/resolve.test.ts +0 -81
  1070. package/src/server/tests/runtime-agent-smoke.test.ts +0 -130
  1071. package/src/server/tests/sandbox/cli-cd-suite.test.ts +0 -526
  1072. package/src/server/tests/sandbox/cli.test.ts +0 -402
  1073. package/src/server/tests/send-token.test.ts +0 -191
  1074. package/src/server/tests/setup-integration/adapter-test.test.ts +0 -122
  1075. package/src/server/tests/setup-integration/apikey-validation.test.ts +0 -118
  1076. package/src/server/tests/setup-integration/autonomous-agent.test.ts +0 -243
  1077. package/src/server/tests/setup-integration/edge-cases.test.ts +0 -115
  1078. package/src/server/tests/setup-integration/fresh-setup.test.ts +0 -60
  1079. package/src/server/tests/setup-integration/harness.ts +0 -296
  1080. package/src/server/tests/setup-integration/onboarding-e2e.test.ts +0 -292
  1081. package/src/server/tests/setup-integration/terminal-flow.test.ts +0 -201
  1082. package/src/server/tests/setup-integration/vitest.config.ts +0 -29
  1083. package/src/server/tests/setup-integration/wizard-flow.test.ts +0 -139
  1084. package/src/server/tests/setup.ts +0 -351
  1085. package/src/server/tests/swap-quote.test.ts +0 -279
  1086. package/src/server/tests/test-data/agent-e1ica7.json +0 -14
  1087. package/src/server/tests/test-data/agent-iaswp5.json +0 -14
  1088. package/src/server/tests/test-data/agent-primary.json +0 -12
  1089. package/src/server/tests/test-data/agent-qvn7eo.json +0 -14
  1090. package/src/server/tests/test-data/agent-vqhtrt.json +0 -14
  1091. package/src/server/tests/test-data/config.json +0 -33
  1092. package/src/server/tests/test-data/test.db +0 -0
  1093. package/src/server/tests/workerSetup.ts +0 -39
  1094. package/src/server/tsconfig.json +0 -21
  1095. package/src/server/tsconfig.tsbuildinfo +0 -1
  1096. package/src/server/types.ts +0 -161
  1097. package/start.sh +0 -170
  1098. package/tailwind.config.ts +0 -99
  1099. package/tsconfig.json +0 -52
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[4114],{1393:(e,t,a)=>{a.d(t,{_:()=>n});var r=a(95155);a(12115);var s=a(86651),o=a(58291);function n(e){let{sidebar:t,children:a,searchValue:n,onSearchChange:l,searchPlaceholder:i="Search...",sidebarFooter:c,contentClassName:d}=e,u="calc(200px * var(--ui-scale-factor, 1))";return(0,r.jsxs)("div",{className:"relative isolate h-full w-full overflow-hidden flex flex-col bg-[var(--color-background,#f4f4f5)]",children:[(0,r.jsxs)("div",{className:"absolute 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-[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:"AURAMAXX"})}),(0,r.jsx)("div",{className:"absolute top-10 left-[200px] 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.jsxs)("div",{className:"relative z-10 flex-1 flex overflow-hidden",children:[(0,r.jsxs)("div",{className:"h-full flex flex-col border-r border-[var(--color-border,#d4d4d8)] font-mono relative overflow-hidden shrink-0",style:{width:u,minWidth:u,background:"var(--color-surface, #f4f4f2)",fontSize:"var(--font-size-sm)"},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:"flex items-center justify-between border-b border-[var(--color-border,#d4d4d8)] relative z-10 px-3 py-3",children:(0,r.jsx)("div",{className:"flex items-center gap-2",children:(0,r.jsxs)("div",{className:"leading-tight",children:[(0,r.jsxs)("div",{className:"flex items-baseline gap-1",children:[(0,r.jsx)("span",{className:"text-[10px] font-bold tracking-tight lowercase text-[var(--color-text,#0a0a0a)]",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/nicoletteduclar",target:"_blank",rel:"noopener noreferrer",className:"block text-[8px] text-[var(--color-text-muted,#6b7280)] hover:text-[var(--color-text,#0a0a0a)] transition-colors",children:"@nicoletteduclar, with love"})]})})}),(0,r.jsx)("div",{className:"flex-1 overflow-y-auto overflow-x-hidden relative z-10",children:t}),c&&(0,r.jsx)("div",{className:"relative z-30 border-t border-[var(--color-border,#d4d4d8)] overflow-visible",children:c})]}),(0,r.jsx)("div",{className:"flex-1 overflow-y-auto relative ".concat(d||""),children:a})]}),l&&(0,r.jsx)("div",{className:"absolute bottom-0 left-[200px] right-0 z-30 border-t border-[var(--color-border,#d4d4d8)] bg-[var(--color-surface,#ffffff)]/95 backdrop-blur-sm",children:(0,r.jsx)("div",{className:"w-full px-3 py-2.5",children:(0,r.jsx)(o.ks,{compact:!0,leftElement:(0,r.jsx)(s.A,{size:12}),placeholder:i,value:null!=n?n:"",onChange:e=>l(e.target.value)})})})]})}},6345:(e,t,a)=>{a.d(t,{p:()=>m});var r=a(95155),s=a(12115),o=a(48314),n=a(58291);let l=["abandon","ability","able","about","above","absent","absorb","abstract","absurd","abuse","access","accident","account","accuse","achieve","acid","acoustic","acquire","across","act","action","actor","actress","actual","adapt","add","addict","address","adjust","admit","adult","advance","advice","aerobic","affair","afford","afraid","again","age","agent","agree","ahead","aim","air","airport","aisle","alarm","album","alcohol","alert","alien","all","alley","allow","almost","alone","alpha","already","also","alter","always","amateur","amazing","among","amount","amused","analyst","anchor","ancient","anger","angle","angry","animal","ankle","announce","annual","another","answer","antenna","antique","anxiety","any","apart","apology","appear","apple","approve","april","arch","arctic","area","arena","argue","arm","armed","armor","army","around","arrange","arrest","arrive","arrow","art","artefact","artist","artwork","ask","aspect","assault","asset","assist","assume","asthma","athlete","atom","attack","attend","attitude","attract","auction","audit","august","aunt","author","auto","autumn","average","avocado","avoid","awake","aware","away","awesome","awful","awkward","axis","baby","bachelor","bacon","badge","bag","balance","balcony","ball","bamboo","banana","banner","bar","barely","bargain","barrel","base","basic","basket","battle","beach","bean","beauty","because","become","beef","before","begin","behave","behind","believe","below","belt","bench","benefit","best","betray","better","between","beyond","bicycle","bid","bike","bind","biology","bird","birth","bitter","black","blade","blame","blanket","blast","bleak","bless","blind","blood","blossom","blouse","blue","blur","blush","board","boat","body","boil","bomb","bone","bonus","book","boost","border","boring","borrow","boss","bottom","bounce","box","boy","bracket","brain","brand","brass","brave","bread","breeze","brick","bridge","brief","bright","bring","brisk","broccoli","broken","bronze","broom","brother","brown","brush","bubble","buddy","budget","buffalo","build","bulb","bulk","bullet","bundle","bunker","burden","burger","burst","bus","business","busy","butter","buyer","buzz","cabbage","cabin","cable","cactus","cage","cake","call","calm","camera","camp","can","canal","cancel","candy","cannon","canoe","canvas","canyon","capable","capital","captain","car","carbon","card","cargo","carpet","carry","cart","case","cash","casino","castle","casual","cat","catalog","catch","category","cattle","caught","cause","caution","cave","ceiling","celery","cement","census","century","cereal","certain","chair","chalk","champion","change","chaos","chapter","charge","chase","chat","cheap","check","cheese","chef","cherry","chest","chicken","chief","child","chimney","choice","choose","chronic","chuckle","chunk","churn","cigar","cinnamon","circle","citizen","city","civil","claim","clap","clarify","claw","clay","clean","clerk","clever","click","client","cliff","climb","clinic","clip","clock","clog","close","cloth","cloud","clown","club","clump","cluster","clutch","coach","coast","coconut","code","coffee","coil","coin","collect","color","column","combine","come","comfort","comic","common","company","concert","conduct","confirm","congress","connect","consider","control","convince","cook","cool","copper","copy","coral","core","corn","correct","cost","cotton","couch","country","couple","course","cousin","cover","coyote","crack","cradle","craft","cram","crane","crash","crater","crawl","crazy","cream","credit","creek","crew","cricket","crime","crisp","critic","crop","cross","crouch","crowd","crucial","cruel","cruise","crumble","crunch","crush","cry","crystal","cube","culture","cup","cupboard","curious","current","curtain","curve","cushion","custom","cute","cycle","dad","damage","damp","dance","danger","daring","dash","daughter","dawn","day","deal","debate","debris","decade","december","decide","decline","decorate","decrease","deer","defense","define","defy","degree","delay","deliver","demand","demise","denial","dentist","deny","depart","depend","deposit","depth","deputy","derive","describe","desert","design","desk","despair","destroy","detail","detect","develop","device","devote","diagram","dial","diamond","diary","dice","diesel","diet","differ","digital","dignity","dilemma","dinner","dinosaur","direct","dirt","disagree","discover","disease","dish","dismiss","disorder","display","distance","divert","divide","divorce","dizzy","doctor","document","dog","doll","dolphin","domain","donate","donkey","donor","door","dose","double","dove","draft","dragon","drama","drastic","draw","dream","dress","drift","drill","drink","drip","drive","drop","drum","dry","duck","dumb","dune","during","dust","dutch","duty","dwarf","dynamic","eager","eagle","early","earn","earth","easily","east","easy","echo","ecology","economy","edge","edit","educate","effort","egg","eight","either","elbow","elder","electric","elegant","element","elephant","elevator","elite","else","embark","embody","embrace","emerge","emotion","employ","empower","empty","enable","enact","end","endless","endorse","enemy","energy","enforce","engage","engine","enhance","enjoy","enlist","enough","enrich","enroll","ensure","enter","entire","entry","envelope","episode","equal","equip","era","erase","erode","erosion","error","erupt","escape","essay","essence","estate","eternal","ethics","evidence","evil","evoke","evolve","exact","example","excess","exchange","excite","exclude","excuse","execute","exercise","exhaust","exhibit","exile","exist","exit","exotic","expand","expect","expire","explain","expose","express","extend","extra","eye","eyebrow","fabric","face","faculty","fade","faint","faith","fall","false","fame","family","famous","fan","fancy","fantasy","farm","fashion","fat","fatal","father","fatigue","fault","favorite","feature","february","federal","fee","feed","feel","female","fence","festival","fetch","fever","few","fiber","fiction","field","figure","file","film","filter","final","find","fine","finger","finish","fire","firm","first","fiscal","fish","fit","fitness","fix","flag","flame","flash","flat","flavor","flee","flight","flip","float","flock","floor","flower","fluid","flush","fly","foam","focus","fog","foil","fold","follow","food","foot","force","forest","forget","fork","fortune","forum","forward","fossil","foster","found","fox","fragile","frame","frequent","fresh","friend","fringe","frog","front","frost","frown","frozen","fruit","fuel","fun","funny","furnace","fury","future","gadget","gain","galaxy","gallery","game","gap","garage","garbage","garden","garlic","garment","gas","gasp","gate","gather","gauge","gaze","general","genius","genre","gentle","genuine","gesture","ghost","giant","gift","giggle","ginger","giraffe","girl","give","glad","glance","glare","glass","glide","glimpse","globe","gloom","glory","glove","glow","glue","goat","goddess","gold","good","goose","gorilla","gospel","gossip","govern","gown","grab","grace","grain","grant","grape","grass","gravity","great","green","grid","grief","grit","grocery","group","grow","grunt","guard","guess","guide","guilt","guitar","gun","gym","habit","hair","half","hammer","hamster","hand","happy","harbor","hard","harsh","harvest","hat","have","hawk","hazard","head","health","heart","heavy","hedgehog","height","hello","helmet","help","hen","hero","hidden","high","hill","hint","hip","hire","history","hobby","hockey","hold","hole","holiday","hollow","home","honey","hood","hope","horn","horror","horse","hospital","host","hotel","hour","hover","hub","huge","human","humble","humor","hundred","hungry","hunt","hurdle","hurry","hurt","husband","hybrid","ice","icon","idea","identify","idle","ignore","ill","illegal","illness","image","imitate","immense","immune","impact","impose","improve","impulse","inch","include","income","increase","index","indicate","indoor","industry","infant","inflict","inform","inhale","inherit","initial","inject","injury","inmate","inner","innocent","input","inquiry","insane","insect","inside","inspire","install","intact","interest","into","invest","invite","involve","iron","island","isolate","issue","item","ivory","jacket","jaguar","jar","jazz","jealous","jeans","jelly","jewel","job","join","joke","journey","joy","judge","juice","jump","jungle","junior","junk","just","kangaroo","keen","keep","ketchup","key","kick","kid","kidney","kind","kingdom","kiss","kit","kitchen","kite","kitten","kiwi","knee","knife","knock","know","lab","label","labor","ladder","lady","lake","lamp","language","laptop","large","later","latin","laugh","laundry","lava","law","lawn","lawsuit","layer","lazy","leader","leaf","learn","leave","lecture","left","leg","legal","legend","leisure","lemon","lend","length","lens","leopard","lesson","letter","level","liar","liberty","library","license","life","lift","light","like","limb","limit","link","lion","liquid","list","little","live","lizard","load","loan","lobster","local","lock","logic","lonely","long","loop","lottery","loud","lounge","love","loyal","lucky","luggage","lumber","lunar","lunch","luxury","lyrics","machine","mad","magic","magnet","maid","mail","main","major","make","mammal","man","manage","mandate","mango","mansion","manual","maple","marble","march","margin","marine","market","marriage","mask","mass","master","match","material","math","matrix","matter","maximum","maze","meadow","mean","measure","meat","mechanic","medal","media","melody","melt","member","memory","mention","menu","mercy","merge","merit","merry","mesh","message","metal","method","middle","midnight","milk","million","mimic","mind","minimum","minor","minute","miracle","mirror","misery","miss","mistake","mix","mixed","mixture","mobile","model","modify","mom","moment","monitor","monkey","monster","month","moon","moral","more","morning","mosquito","mother","motion","motor","mountain","mouse","move","movie","much","muffin","mule","multiply","muscle","museum","mushroom","music","must","mutual","myself","mystery","myth","naive","name","napkin","narrow","nasty","nation","nature","near","neck","need","negative","neglect","neither","nephew","nerve","nest","net","network","neutral","never","news","next","nice","night","noble","noise","nominee","noodle","normal","north","nose","notable","note","nothing","notice","novel","now","nuclear","number","nurse","nut","oak","obey","object","oblige","obscure","observe","obtain","obvious","occur","ocean","october","odor","off","offer","office","often","oil","okay","old","olive","olympic","omit","once","one","onion","online","only","open","opera","opinion","oppose","option","orange","orbit","orchard","order","ordinary","organ","orient","original","orphan","ostrich","other","outdoor","outer","output","outside","oval","oven","over","own","owner","oxygen","oyster","ozone","pact","paddle","page","pair","palace","palm","panda","panel","panic","panther","paper","parade","parent","park","parrot","party","pass","patch","path","patient","patrol","pattern","pause","pave","payment","peace","peanut","pear","peasant","pelican","pen","penalty","pencil","people","pepper","perfect","permit","person","pet","phone","photo","phrase","physical","piano","picnic","picture","piece","pig","pigeon","pill","pilot","pink","pioneer","pipe","pistol","pitch","pizza","place","planet","plastic","plate","play","please","pledge","pluck","plug","plunge","poem","poet","point","polar","pole","police","pond","pony","pool","popular","portion","position","possible","post","potato","pottery","poverty","powder","power","practice","praise","predict","prefer","prepare","present","pretty","prevent","price","pride","primary","print","priority","prison","private","prize","problem","process","produce","profit","program","project","promote","proof","property","prosper","protect","proud","provide","public","pudding","pull","pulp","pulse","pumpkin","punch","pupil","puppy","purchase","purity","purpose","purse","push","put","puzzle","pyramid","quality","quantum","quarter","question","quick","quit","quiz","quote","rabbit","raccoon","race","rack","radar","radio","rail","rain","raise","rally","ramp","ranch","random","range","rapid","rare","rate","rather","raven","raw","razor","ready","real","reason","rebel","rebuild","recall","receive","recipe","record","recycle","reduce","reflect","reform","refuse","region","regret","regular","reject","relax","release","relief","rely","remain","remember","remind","remove","render","renew","rent","reopen","repair","repeat","replace","report","require","rescue","resemble","resist","resource","response","result","retire","retreat","return","reunion","reveal","review","reward","rhythm","rib","ribbon","rice","rich","ride","ridge","rifle","right","rigid","ring","riot","ripple","risk","ritual","rival","river","road","roast","robot","robust","rocket","romance","roof","rookie","room","rose","rotate","rough","round","route","royal","rubber","rude","rug","rule","run","runway","rural","sad","saddle","sadness","safe","sail","salad","salmon","salon","salt","salute","same","sample","sand","satisfy","satoshi","sauce","sausage","save","say","scale","scan","scare","scatter","scene","scheme","school","science","scissors","scorpion","scout","scrap","screen","script","scrub","sea","search","season","seat","second","secret","section","security","seed","seek","segment","select","sell","seminar","senior","sense","sentence","series","service","session","settle","setup","seven","shadow","shaft","shallow","share","shed","shell","sheriff","shield","shift","shine","ship","shiver","shock","shoe","shoot","shop","short","shoulder","shove","shrimp","shrug","shuffle","shy","sibling","sick","side","siege","sight","sign","silent","silk","silly","silver","similar","simple","since","sing","siren","sister","situate","six","size","skate","sketch","ski","skill","skin","skirt","skull","slab","slam","sleep","slender","slice","slide","slight","slim","slogan","slot","slow","slush","small","smart","smile","smoke","smooth","snack","snake","snap","sniff","snow","soap","soccer","social","sock","soda","soft","solar","soldier","solid","solution","solve","someone","song","soon","sorry","sort","soul","sound","soup","source","south","space","spare","spatial","spawn","speak","special","speed","spell","spend","sphere","spice","spider","spike","spin","spirit","split","spoil","sponsor","spoon","sport","spot","spray","spread","spring","spy","square","squeeze","squirrel","stable","stadium","staff","stage","stairs","stamp","stand","start","state","stay","steak","steel","stem","step","stereo","stick","still","sting","stock","stomach","stone","stool","story","stove","strategy","street","strike","strong","struggle","student","stuff","stumble","style","subject","submit","subway","success","such","sudden","suffer","sugar","suggest","suit","summer","sun","sunny","sunset","super","supply","supreme","sure","surface","surge","surprise","surround","survey","suspect","sustain","swallow","swamp","swap","swarm","swear","sweet","swift","swim","swing","switch","sword","symbol","symptom","syrup","system","table","tackle","tag","tail","talent","talk","tank","tape","target","task","taste","tattoo","taxi","teach","team","tell","ten","tenant","tennis","tent","term","test","text","thank","that","theme","then","theory","there","they","thing","this","thought","three","thrive","throw","thumb","thunder","ticket","tide","tiger","tilt","timber","time","tiny","tip","tired","tissue","title","toast","tobacco","today","toddler","toe","together","toilet","token","tomato","tomorrow","tone","tongue","tonight","tool","tooth","top","topic","topple","torch","tornado","tortoise","toss","total","tourist","toward","tower","town","toy","track","trade","traffic","tragic","train","transfer","trap","trash","travel","tray","treat","tree","trend","trial","tribe","trick","trigger","trim","trip","trophy","trouble","truck","true","truly","trumpet","trust","truth","try","tube","tuition","tumble","tuna","tunnel","turkey","turn","turtle","twelve","twenty","twice","twin","twist","two","type","typical","ugly","umbrella","unable","unaware","uncle","uncover","under","undo","unfair","unfold","unhappy","uniform","unique","unit","universe","unknown","unlock","until","unusual","unveil","update","upgrade","uphold","upon","upper","upset","urban","urge","usage","use","used","useful","useless","usual","utility","vacant","vacuum","vague","valid","valley","valve","van","vanish","vapor","various","vast","agent","vehicle","velvet","vendor","venture","venue","verb","verify","version","very","vessel","veteran","viable","vibrant","vicious","victory","video","view","village","vintage","violin","virtual","virus","visa","visit","visual","vital","vivid","vocal","voice","void","volcano","volume","vote","voyage","wage","wagon","wait","walk","wall","walnut","want","warfare","warm","warrior","wash","wasp","waste","water","wave","way","wealth","weapon","wear","weasel","weather","web","wedding","weekend","weird","welcome","west","wet","whale","what","wheat","wheel","when","where","whip","whisper","wide","width","wife","wild","will","win","window","wine","wing","wink","winner","winter","wire","wisdom","wise","wish","witness","wolf","woman","wonder","wood","wool","word","work","world","worry","worth","wrap","wreck","wrestle","wrist","write","wrong","yard","year","yellow","you","young","youth","zebra","zero","zone","zoo"],i=[{value:"random",label:"Random"},{value:"memorable",label:"Memorable"},{value:"pin",label:"PIN"}],c={random:20,memorable:4,pin:6},d={random:8,memorable:3,pin:4},u={random:128,memorable:10,pin:12};function p(e){let t=new Uint32Array(1);return crypto.getRandomValues(t),t[0]%e}let m=e=>{let{isOpen:t,onClose:a,onUse:m}=e,[x,f]=(0,s.useState)("random"),[h,v]=(0,s.useState)(c.random),[b,g]=(0,s.useState)({numbers:!0,symbols:!0,uppercase:!0,avoidAmbiguous:!1}),[y,k]=(0,s.useState)(""),[w,j]=(0,s.useState)(!1),N=(0,s.useCallback)(()=>{switch(x){case"random":k(function(e,t){let a="abcdefghijklmnopqrstuvwxyz";t.numbers&&(a+="0123456789"),t.symbols&&(a+="!@#$%^&*()_+-=[]{}|;:,.<>?"),t.uppercase&&(a+="ABCDEFGHIJKLMNOPQRSTUVWXYZ"),t.avoidAmbiguous&&(a=a.replace(/[0OoIl1]/g,"")),0===a.length&&(a="abcdefghijklmnopqrstuvwxyz");let r=[];for(let t=0;t<e;t++)r.push(a[p(a.length)]);return r.join("")}(h,b));break;case"memorable":k(function(e){let t=[];for(let a=0;a<e;a++)t.push(l[p(l.length)]);return t.join("-")}(h));break;case"pin":k(function(e){let t=[];for(let a=0;a<e;a++)t.push(String(p(10)));return t.join("")}(h))}j(!1)},[x,h,b]);(0,s.useEffect)(()=>{t&&N()},[t,N]),(0,s.useEffect)(()=>{v(c[x])},[x]);let S=async()=>{try{await navigator.clipboard.writeText(y),j(!0),setTimeout(()=>j(!1),2e3)}catch(e){}};return(0,r.jsx)(n.aF,{isOpen:t,onClose:a,title:"Password Generator",size:"sm",footer:(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[(0,r.jsx)(n.$n,{variant:"ghost",size:"sm",onClick:N,icon:(0,r.jsx)(o.A,{size:10}),children:"Refresh"}),(0,r.jsx)(n.$n,{variant:"secondary",size:"sm",onClick:a,children:"Cancel"}),(0,r.jsx)(n.$n,{variant:"primary",size:"sm",onClick:()=>m(y),children:"Use"})]}),children:(0,r.jsxs)("div",{className:"space-y-4 min-h-[280px]",children:[(0,r.jsxs)("div",{onClick:S,className:"bg-[var(--color-background-alt,#f4f4f5)] border border-[var(--color-border,#d4d4d8)] p-3 cursor-pointer transition-colors hover:border-[var(--color-border-focus,#0a0a0a)] relative group",children:[(0,r.jsx)("div",{className:"font-mono text-lg font-bold text-[var(--color-text,#0a0a0a)] break-all select-all pr-12",children:y}),(0,r.jsx)("div",{className:"absolute top-1 right-2 font-mono text-[8px] uppercase tracking-widest font-bold transition-opacity ".concat(w?"opacity-100":"opacity-0"," bg-[var(--color-text,#0a0a0a)] text-[var(--color-surface,#ffffff)] px-1.5 py-0.5"),children:"Copied"}),!w&&(0,r.jsx)("div",{className:"absolute top-1 right-2 font-mono text-[8px] uppercase tracking-widest text-[var(--color-text-muted,#6b7280)] opacity-0 group-hover:opacity-100 transition-opacity",children:"Click to copy"})]}),(0,r.jsx)(n.UM,{options:i,value:x,onChange:e=>f(e),label:"Type",compact:!0}),(0,r.jsxs)("div",{children:[(0,r.jsx)("label",{className:"block font-mono text-[9px] font-bold uppercase tracking-widest text-[var(--color-text-muted,#6b7280)] mb-1.5 px-1",children:"Length"}),(0,r.jsxs)("div",{className:"flex items-center gap-3",children:[(0,r.jsx)("input",{type:"range",min:d[x],max:u[x],value:h,onChange:e=>v(parseInt(e.target.value,10)),className:"flex-1 h-1 appearance-none bg-[var(--color-border,#d4d4d8)] outline-none",style:{accentColor:"var(--color-accent, #ccff00)"}}),(0,r.jsx)("div",{className:"w-16",children:(0,r.jsx)(n.ks,{compact:!0,type:"number",min:d[x],max:u[x],value:h,onChange:e=>(e=>{let t=parseInt(e,10);isNaN(t)||v(Math.max(d[x],Math.min(u[x],t)))})(e.target.value)})})]})]}),"random"===x&&(0,r.jsxs)("div",{className:"space-y-2.5",children:[(0,r.jsx)(n.lM,{size:"sm",checked:b.numbers,onChange:e=>g(t=>({...t,numbers:e})),label:"Numbers"}),(0,r.jsx)(n.lM,{size:"sm",checked:b.symbols,onChange:e=>g(t=>({...t,symbols:e})),label:"Symbols"}),(0,r.jsx)(n.lM,{size:"sm",checked:b.uppercase,onChange:e=>g(t=>({...t,uppercase:e})),label:"Uppercase"}),(0,r.jsx)(n.lM,{size:"sm",checked:b.avoidAmbiguous,onChange:e=>g(t=>({...t,avoidAmbiguous:e})),label:"Avoid ambiguous"})]})]})})}},13361:(e,t,a)=>{a.d(t,{Z:()=>j});var r=a(95155),s=a(12115),o=a(6132),n=a(42529),l=a(21786),i=a(5917),c=a(89715),d=a(55867),u=a(58291),p=a(90960),m=a(53020);let x="aura:passkey:dismissed",f="aura:onboarding:done",h=["1password-csv","bitwarden-csv","chrome-csv"],v=["aura to maxx","maxx to aura"],b=[{label:"1Password",format:"1password-csv"},{label:"Bitwarden",format:"bitwarden-csv"},{label:"Chrome",format:"chrome-csv"},{label:"Firefox",format:"firefox-csv"},{label:"iCloud Keychain",format:"icloud-csv"},{label:"LastPass",format:"lastpass-csv"}],g={skip:"Skip",rename:"Rename",overwrite:"Create Anyway"};function y(e){let t=e.replace(/-/g,"+").replace(/_/g,"/");for(;t.length%4;)t+="=";let a=atob(t),r=new Uint8Array(a.length);for(let e=0;e<a.length;e++)r[e]=a.charCodeAt(e);return r.buffer}function k(e){let t=new Uint8Array(e),a="";for(let e=0;e<t.length;e++)a+=String.fromCharCode(t[e]);return btoa(a).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}function w(){let e=localStorage.getItem("auramaxx_admin_token");return e||sessionStorage.getItem("auramaxx_admin_token")}function j(e){let{isUnlocked:t}=e,a=(0,s.useMemo)(()=>(0,p.au)(),[]),j=(0,s.useMemo)(()=>v[Math.floor(Math.random()*v.length)],[]),[N,S]=(0,s.useState)("hidden"),[C,A]=(0,s.useState)("import-source"),[E,T]=(0,s.useState)(!1),[P,I]=(0,s.useState)(!1),[z,O]=(0,s.useState)(h[0]),[_,R]=(0,s.useState)("upload"),[D,M]=(0,s.useState)(null),[L,K]=(0,s.useState)("skip"),[q,F]=(0,s.useState)(null),[U,H]=(0,s.useState)(null),[W,B]=(0,s.useState)(!1),[V,G]=(0,s.useState)(null),[$,J]=(0,s.useState)([]),[Q,Y]=(0,s.useState)("primary"),[X,Z]=(0,s.useState)(!1),[ee,et]=(0,s.useState)(!1),[ea,er]=(0,s.useState)(null),es=(0,s.useRef)(null),eo=(0,s.useMemo)(()=>P?b:b.filter(e=>h.includes(e.format)),[P]),en=(0,s.useMemo)(()=>$.map(e=>({value:e.id,label:e.name||(e.isPrimary?"Primary":"Agent ".concat(e.id.slice(0,6)))})),[$]),el=(0,s.useMemo)(()=>$.find(e=>e.id===Q)||null,[$,Q]),ei=(0,s.useCallback)(()=>{R("upload"),M(null),K("skip"),F(null),H(null),B(!1),G(null),es.current&&(es.current.value="")},[]),ec=(0,s.useCallback)(function(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];localStorage.setItem(f,"true"),e&&localStorage.setItem(x,"true"),S("hidden"),A("import-source"),I(!1),O(h[0]),er(null),et(!1),ei()},[ei]),ed=(0,s.useCallback)(()=>{A("retrieve-note"),Z(!0)},[]),eu=(0,s.useCallback)(()=>{localStorage.setItem(x,"true"),S("hidden"),er(null),et(!1)},[]),ep=(0,s.useCallback)(async()=>{try{var e,t;let a=await p.FH.get(p.jI.Wallet,"/agents/credential");if(!a.success||!Array.isArray(a.agents))return;J(a.agents);let r=(null==(e=a.agents.find(e=>e.isPrimary))?void 0:e.id)||(null==(t=a.agents[0])?void 0:t.id)||"primary";Y(e=>e&&a.agents.some(t=>t.id===e)?e:r)}catch(e){}},[]);(0,s.useEffect)(()=>{if(!t)return void S("hidden");let e=!1;return(async()=>{let t="true"===localStorage.getItem(f),a="true"===localStorage.getItem(x),r=!!window.auraDesktop,s=!!window.PublicKeyCredential&&!r;T(s);let o=!1;if(s)try{let e=await p.FH.get(p.jI.Wallet,"/auth/passkey/status");o=!0===e.registered}catch(e){o=!1}if(!e){if(!t){if(await ep(),e)return;S("onboarding"),A("import-source");return}if(s&&!o&&!a){S("passkey"),A("passkey");return}S("hidden")}})(),()=>{e=!0}},[ep,t]);let em=(0,s.useCallback)(e=>{if(!D)return null;let t=new FormData;return t.append("file",D),t.append("format",z),t.append("agentId",Q||"primary"),e&&t.append("dryRun","true"),t.append("duplicateStrategy",L),t},[L,D,z,Q]),ex=(0,s.useCallback)(async()=>{if(D){B(!0),G(null);try{let e=em(!0);if(!e)return;let t=w(),r=await fetch("".concat(a,"/credentials/import"),{method:"POST",headers:t?{Authorization:"Bearer ".concat(t)}:{},body:e});if(!(r.headers.get("content-type")||"").includes("application/json"))return void G("Server error: ".concat(r.status," ").concat(r.statusText));let s=await r.json();if(!r.ok||!s.success)return void G(s.error||"Request failed: ".concat(r.status));F(s),R("preview")}catch(e){G(e instanceof Error?e.message:"Preview failed")}finally{B(!1)}}},[em,D,a]),ef=(0,s.useCallback)(async()=>{B(!0),G(null);try{let e=em(!1);if(!e)return;let t=w(),r=await fetch("".concat(a,"/credentials/import"),{method:"POST",headers:t?{Authorization:"Bearer ".concat(t)}:{},body:e});if(!(r.headers.get("content-type")||"").includes("application/json"))return void G("Server error: ".concat(r.status," ").concat(r.statusText));let s=await r.json();if(!r.ok)return void G(s.error||"Request failed: ".concat(r.status));H(s),R("result")}catch(e){G(e instanceof Error?e.message:"Import failed")}finally{B(!1)}},[em,a]),eh=(0,s.useCallback)(async()=>{if(!E)return void er("Passkey is not available in this environment.");et(!0),er(null);try{var e,t,a,r;let s=await p.FH.post(p.jI.Wallet,"/auth/passkey/register/options",{}),o={challenge:y(s.challenge),rp:{name:s.rp.name,id:s.rp.id},user:{id:y(s.user.id),name:s.user.name,displayName:s.user.displayName},pubKeyCredParams:s.pubKeyCredParams.map(e=>({type:e.type,alg:e.alg})),timeout:s.timeout,attestation:s.attestation||"none",excludeCredentials:(s.excludeCredentials||[]).map(e=>({type:"public-key",id:y(e.id),transports:e.transports})),authenticatorSelection:{authenticatorAttachment:null==(e=s.authenticatorSelection)?void 0:e.authenticatorAttachment,residentKey:null==(t=s.authenticatorSelection)?void 0:t.residentKey,userVerification:null==(a=s.authenticatorSelection)?void 0:a.userVerification}},n=await navigator.credentials.create({publicKey:o});if(!n)return void et(!1);let l=n.response,i={credential:{id:k(n.rawId),rawId:k(n.rawId),type:n.type,response:{clientDataJSON:k(l.clientDataJSON),attestationObject:k(l.attestationObject),transports:(null==(r=l.getTransports)?void 0:r.call(l))||[]}}},c=await p.FH.post(p.jI.Wallet,"/auth/passkey/register/verify",i);if(!c.success)return void er(c.error||"Passkey registration failed.");"onboarding"===N?(A("passkey-success"),setTimeout(()=>ec(!1),1200)):S("hidden")}catch(e){if(e instanceof Error&&"NotAllowedError"===e.name)return void et(!1);er(e instanceof Error?e.message:"Passkey registration failed.")}finally{et(!1)}},[ec,N,E]);return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(u.aF,{isOpen:"hidden"!==N,onClose:()=>{},dismissible:!1,title:"onboarding"===N?"passkey"===C||"passkey-success"===C?"Passkey Setup":"Onboarding":"Passkey Setup",subtitle:"Security",icon:(0,r.jsx)(d.A,{size:16,className:"text-[var(--color-accent,#ccff00)]"}),size:"md",children:"onboarding"===N?(()=>{if("passkey-success"===C)return(0,r.jsxs)("div",{className:"flex flex-col items-center gap-3 py-4",children:[(0,r.jsx)("div",{className:"w-10 h-10 bg-[var(--color-text,#0a0a0a)] flex items-center justify-center",children:(0,r.jsx)(i.A,{size:20,className:"text-[var(--color-accent,#ccff00)]"})}),(0,r.jsx)("div",{className:"font-mono text-xs tracking-widest text-[var(--color-text,#0a0a0a)] uppercase",children:"Passkey enabled!"}),(0,r.jsx)("div",{className:"font-mono text-[10px] text-[var(--color-text-muted,#6b7280)]",children:"Onboarding complete."})]});if("import-source"===C)return(0,r.jsxs)("div",{className:"space-y-4",children:[(0,r.jsx)("div",{className:"font-mono text-xs text-[var(--color-text,#0a0a0a)] leading-relaxed",children:"Import credentials from another manager before you continue."}),(0,r.jsxs)("div",{className:"space-y-2",children:[(0,r.jsx)("label",{className:"block text-[9px] font-bold tracking-widest uppercase text-[var(--color-text-muted,#6b7280)]",children:"Import Source"}),(0,r.jsx)(u.O6,{ariaLabel:"Onboarding import source",value:z,onChange:e=>O(e),options:eo.map(e=>({value:e.format,label:e.label,icon:(0,r.jsx)(c.A,{size:12})}))})]}),(0,r.jsx)("button",{type:"button",onClick:()=>I(e=>!e),className:"font-mono text-[10px] tracking-widest text-[var(--color-text-muted,#6b7280)] hover:text-[var(--color-text,#0a0a0a)] transition-colors",children:P?"SHOW LESS":"SHOW MORE"}),(0,r.jsxs)("div",{className:"flex justify-between gap-2",children:[(0,r.jsx)(u.$n,{variant:"secondary",size:"sm",onClick:()=>{ei(),ed()},children:"SKIP"}),(0,r.jsx)(u.$n,{size:"sm",onClick:()=>{ei(),A("import-upload")},children:"CONFIRM"})]})]});if("import-upload"===C){var e;if("preview"===_&&q){let e="skip"===L?q.total-q.duplicates:q.total;return(0,r.jsxs)("div",{className:"space-y-4",children:[(0,r.jsxs)("div",{className:"flex gap-4",children:[(0,r.jsxs)("div",{className:"text-center",children:[(0,r.jsx)("div",{className:"text-[18px] font-bold font-mono text-[var(--color-text,#0a0a0a)]",children:q.total}),(0,r.jsx)("div",{className:"text-[8px] font-mono tracking-widest uppercase text-[var(--color-text-muted,#6b7280)]",children:"Total"})]}),q.duplicates>0&&(0,r.jsxs)("div",{className:"text-center",children:[(0,r.jsx)("div",{className:"text-[18px] font-bold font-mono text-amber-600",children:q.duplicates}),(0,r.jsx)("div",{className:"text-[8px] font-mono tracking-widest uppercase text-[var(--color-text-muted,#6b7280)]",children:"Duplicates"})]})]}),(0,r.jsxs)("div",{className:"max-h-[220px] overflow-y-auto border border-[var(--color-border,#d4d4d8)]",children:[0===q.credentials.length?(0,r.jsx)("div",{className:"px-4 py-8 text-center text-[10px] font-mono text-[var(--color-text-muted,#6b7280)]",children:"No credentials found in file."}):q.credentials.map((e,t)=>(0,r.jsxs)("div",{className:"flex items-center gap-2 px-3 py-1.5 border-b border-[var(--color-border,#d4d4d8)] last:border-b-0 ".concat(e.isDuplicate?"bg-amber-50/50":""),children:[(0,r.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,r.jsx)("div",{className:"text-[10px] font-mono text-[var(--color-text,#0a0a0a)] truncate",children:e.name}),e.url&&(0,r.jsx)("div",{className:"text-[8px] font-mono text-[var(--color-text-faint,#9ca3af)] truncate",children:e.url})]}),(0,r.jsx)("span",{className:"text-[8px] font-mono tracking-wider uppercase text-[var(--color-text-faint,#9ca3af)] flex-shrink-0",children:e.type}),e.isDuplicate&&(0,r.jsx)("span",{className:"text-[8px] font-mono tracking-wider uppercase text-amber-600 flex-shrink-0",children:"DUP"})]},"".concat(e.name,"-").concat(t))),q.total>q.credentials.length&&(0,r.jsxs)("div",{className:"px-3 py-1.5 text-[9px] font-mono text-[var(--color-text-faint,#9ca3af)] text-center",children:["+ ",q.total-q.credentials.length," more"]})]}),q.duplicates>0&&(0,r.jsxs)("div",{children:[(0,r.jsx)("label",{className:"block text-[9px] font-bold tracking-widest uppercase text-[var(--color-text-muted,#6b7280)] mb-1.5",children:"Duplicate handling"}),(0,r.jsx)("div",{className:"flex gap-1.5",children:["skip","rename","overwrite"].map(e=>(0,r.jsx)("button",{onClick:()=>K(e),className:"px-3 py-1.5 text-[9px] font-mono tracking-wider uppercase border transition-colors ".concat(L===e?"border-[var(--color-accent,#ccff00)] bg-[var(--color-accent,#ccff00)]/10 text-[var(--color-text,#0a0a0a)]":"border-[var(--color-border,#d4d4d8)] text-[var(--color-text-muted,#6b7280)] hover:bg-[var(--color-background-alt,#f4f4f5)]"),children:g[e]},e))})]}),V&&(0,r.jsxs)("div",{className:"flex items-start gap-2 px-3 py-2 bg-red-50 border border-red-200",children:[(0,r.jsx)(o.A,{size:12,className:"text-red-500 flex-shrink-0 mt-0.5"}),(0,r.jsx)("span",{className:"text-[10px] font-mono text-red-700",children:V})]}),(0,r.jsxs)("div",{className:"flex justify-between gap-2",children:[(0,r.jsx)(u.$n,{variant:"secondary",size:"sm",onClick:()=>{ei(),ed()},children:"SKIP"}),(0,r.jsxs)("div",{className:"flex gap-2",children:[(0,r.jsx)(u.$n,{variant:"secondary",size:"sm",onClick:()=>{R("upload"),G(null),es.current&&(es.current.value="")},children:"BACK"}),(0,r.jsxs)(u.$n,{size:"sm",onClick:()=>{ef()},loading:W,disabled:0===q.credentials.length,children:["IMPORT ",e," CREDENTIAL",1!==e?"S":""]})]})]})]})}if("result"===_&&U){let e=U.errors.length>0;return(0,r.jsxs)("div",{className:"space-y-4",children:[(0,r.jsxs)("div",{className:"flex items-center gap-3",children:[U.success?(0,r.jsx)(n.A,{size:20,className:"text-green-600"}):(0,r.jsx)(o.A,{size:20,className:"text-red-500"}),(0,r.jsx)("div",{children:(0,r.jsx)("div",{className:"text-[11px] font-mono font-bold text-[var(--color-text,#0a0a0a)]",children:U.success?"Import Complete":"Import Failed"})})]}),(0,r.jsxs)("div",{className:"flex gap-6",children:[(0,r.jsxs)("div",{className:"text-center",children:[(0,r.jsx)("div",{className:"text-[18px] font-bold font-mono text-green-600",children:U.imported}),(0,r.jsx)("div",{className:"text-[8px] font-mono tracking-widest uppercase text-[var(--color-text-muted,#6b7280)]",children:"Imported"})]}),U.skipped>0&&(0,r.jsxs)("div",{className:"text-center",children:[(0,r.jsx)("div",{className:"text-[18px] font-bold font-mono text-[var(--color-text-muted,#6b7280)]",children:U.skipped}),(0,r.jsx)("div",{className:"text-[8px] font-mono tracking-widest uppercase text-[var(--color-text-muted,#6b7280)]",children:"Skipped"})]}),e&&(0,r.jsxs)("div",{className:"text-center",children:[(0,r.jsx)("div",{className:"text-[18px] font-bold font-mono text-red-500",children:U.errors.length}),(0,r.jsx)("div",{className:"text-[8px] font-mono tracking-widest uppercase text-[var(--color-text-muted,#6b7280)]",children:"Errors"})]})]}),e&&(0,r.jsx)("div",{className:"max-h-[120px] overflow-y-auto border border-red-200 bg-red-50",children:U.errors.map((e,t)=>(0,r.jsxs)("div",{className:"px-3 py-1 text-[9px] font-mono text-red-700 border-b border-red-100 last:border-b-0",children:["Row ",e.row,": ",e.reason]},"".concat(e.row,"-").concat(t)))}),(0,r.jsx)("div",{className:"flex justify-end",children:(0,r.jsx)(u.$n,{size:"sm",onClick:()=>{ei(),A("retrieve-note")},children:"CONTINUE"})})]})}return(0,r.jsxs)("div",{className:"space-y-5",children:[(0,r.jsxs)("div",{children:[(0,r.jsx)("label",{className:"block text-[9px] font-bold tracking-widest uppercase text-[var(--color-text-muted,#6b7280)] mb-2",children:"Source"}),(0,r.jsx)("div",{className:"text-[10px] font-mono text-[var(--color-text,#0a0a0a)] px-3 py-2 border border-[var(--color-border,#d4d4d8)]",children:(null==(e=b.find(e=>e.format===z))?void 0:e.label)||z})]}),(0,r.jsxs)("div",{children:[(0,r.jsx)("label",{className:"block text-[9px] font-bold tracking-widest uppercase text-[var(--color-text-muted,#6b7280)] mb-2",children:"File"}),(0,r.jsx)("input",{ref:es,type:"file",accept:".csv",onChange:e=>{var t,a;let r=null!=(a=null==(t=e.target.files)?void 0:t[0])?a:null;if(r&&r.size>0xa00000){G("File too large (".concat((r.size/1024/1024).toFixed(1),"MB). Maximum is 10MB.")),M(null),es.current&&(es.current.value="");return}M(r),G(null)},className:"hidden"}),(0,r.jsxs)("button",{onClick:()=>{var e;return null==(e=es.current)?void 0:e.click()},className:"w-full flex items-center justify-center gap-2 px-4 py-4 border-2 border-dashed border-[var(--color-border,#d4d4d8)] hover:border-[var(--color-text-muted,#6b7280)] transition-colors",children:[(0,r.jsx)(l.A,{size:14,className:"text-[var(--color-text-muted,#6b7280)]"}),(0,r.jsx)("span",{className:"text-[10px] font-mono tracking-wider text-[var(--color-text-muted,#6b7280)]",children:D?D.name:"Choose CSV file"})]})]}),(0,r.jsxs)("div",{children:[(0,r.jsx)(u.UM,{label:"Target Agent",ariaLabel:"TARGET AGENT",options:en,value:Q,onChange:Y,compact:!0,searchable:!0,menuPosition:"top",searchPlaceholder:"Search agent...",emptyMessage:"No agent matches",disabled:0===en.length}),el&&!el.isUnlocked&&(0,r.jsx)("div",{className:"mt-2 text-[9px] text-[var(--color-warning,#ff4d00)] border border-[var(--color-warning,#ff4d00)]/30 bg-[var(--color-warning,#ff4d00)]/10 px-3 py-2",children:"Selected agent is locked. Unlock it before preview/import."})]}),V&&(0,r.jsxs)("div",{className:"flex items-start gap-2 px-3 py-2 bg-red-50 border border-red-200",children:[(0,r.jsx)(o.A,{size:12,className:"text-red-500 flex-shrink-0 mt-0.5"}),(0,r.jsx)("span",{className:"text-[10px] font-mono text-red-700",children:V})]}),(0,r.jsxs)("div",{className:"flex justify-between gap-2",children:[(0,r.jsx)(u.$n,{variant:"secondary",size:"sm",onClick:()=>{ei(),ed()},children:"SKIP"}),(0,r.jsxs)("div",{className:"flex gap-2",children:[(0,r.jsx)(u.$n,{variant:"secondary",size:"sm",onClick:()=>{ei(),A("import-source")},children:"BACK"}),(0,r.jsx)(u.$n,{size:"sm",onClick:()=>{ex()},loading:W,disabled:!D,children:"PREVIEW"})]})]})]})}return"retrieve-note"===C?(0,r.jsxs)("div",{className:"space-y-4",children:[(0,r.jsx)("div",{className:"font-mono text-xs text-[var(--color-text,#0a0a0a)] leading-relaxed",children:"Retrieve your note before passkey setup."}),(0,r.jsxs)("div",{className:"space-y-2 border border-[var(--color-border,#d4d4d8)] bg-[var(--color-background-alt,#f4f4f5)] px-3 py-2",children:[(0,r.jsx)("div",{className:"font-mono text-[9px] tracking-widest uppercase text-[var(--color-text-muted,#6b7280)]",children:"Dev Command"}),(0,r.jsx)("div",{className:"font-mono text-[11px] text-[var(--color-text,#0a0a0a)] break-all",children:"$ npx auramaxx get FIRSTAURA"})]}),(0,r.jsxs)("div",{className:"space-y-2 border border-[var(--color-border,#d4d4d8)] bg-[var(--color-surface,#ffffff)] px-3 py-2",children:[(0,r.jsx)("div",{className:"font-mono text-[9px] tracking-widest uppercase text-[var(--color-text-muted,#6b7280)]",children:"Agent Prompt"}),(0,r.jsx)("div",{className:"font-mono text-[11px] text-[var(--color-text,#0a0a0a)]",children:"ayo get my FIRSTAURA using auramaxx"})]}),(0,r.jsx)("div",{className:"flex justify-end",children:(0,r.jsx)(u.$n,{size:"sm",onClick:()=>A("passkey"),children:"CONTINUE"})})]}):(0,r.jsxs)("div",{className:"space-y-4",children:[(0,r.jsx)("div",{className:"font-mono text-xs text-[var(--color-text,#0a0a0a)] leading-relaxed",children:"Enable Face ID / Passkey to unlock your agent without typing a password."}),!E&&(0,r.jsx)("div",{className:"p-2 border border-[var(--color-warning,#ff4d00)]/30 bg-[var(--color-warning,#ff4d00)]/5",children:(0,r.jsx)("div",{className:"font-mono text-[10px] text-[var(--color-warning,#ff4d00)]",children:"Passkey is unavailable in this environment."})}),ea&&(0,r.jsx)("div",{className:"p-2 border border-[var(--color-warning,#ff4d00)]/30 bg-[var(--color-warning,#ff4d00)]/5",children:(0,r.jsx)("div",{className:"font-mono text-[10px] text-[var(--color-warning,#ff4d00)]",children:ea})}),(0,r.jsxs)("div",{className:"flex justify-between gap-2",children:[(0,r.jsx)(u.$n,{variant:"secondary",size:"sm",onClick:()=>ec(!0),children:"NOT NOW"}),(0,r.jsx)(u.$n,{variant:"primary",size:"sm",loading:ee,onClick:()=>{eh()},disabled:!E,icon:(0,r.jsx)(d.A,{size:14}),children:ee?"REGISTERING...":"CREATE PASSKEY"})]})]})})():(0,r.jsxs)("div",{className:"space-y-4",children:[(0,r.jsx)("div",{className:"font-mono text-xs text-[var(--color-text,#0a0a0a)] leading-relaxed",children:"Enable Face ID / Passkey to unlock your agent without typing a password."}),ea&&(0,r.jsx)("div",{className:"p-2 border border-[var(--color-warning,#ff4d00)]/30 bg-[var(--color-warning,#ff4d00)]/5",children:(0,r.jsx)("div",{className:"font-mono text-[10px] text-[var(--color-warning,#ff4d00)]",children:ea})}),(0,r.jsxs)("div",{className:"flex justify-between gap-2",children:[(0,r.jsx)(u.$n,{variant:"secondary",size:"sm",onClick:eu,children:"NOT NOW"}),(0,r.jsx)(u.$n,{variant:"primary",size:"sm",loading:ee,onClick:()=>{eh()},icon:(0,r.jsx)(d.A,{size:14}),children:ee?"REGISTERING...":"CREATE PASSKEY"})]})]})}),(0,r.jsx)(m.i,{isOpen:X,onClose:()=>{Z(!1),A("retrieve-note")},onSaved:()=>{Z(!1),A("retrieve-note"),ep()},agents:$,createStartStep:"form",createStartType:"plain_note",createPrefill:{type:"plain_note",name:"FIRSTAURA",noteContent:j,agentId:"primary"!==Q?Q:void 0}})]})}},16673:(e,t,a)=>{a.d(t,{Z:()=>P});var r=a(95155),s=a(12115),o=a(55867),n=a(7013),l=a(56154),i=a(17910),c=a(52056),d=a(23327),u=a(99708),p=a(65229),m=a(26983),x=a(12108),f=a(24033),h=a(5917),v=a(58291);function b(e){if(!e.metadata)return{};try{return JSON.parse(e.metadata)}catch(e){return{}}}function g(e){var t,a;if(null==(t=e.humanSummary)?void 0:t.oneLiner)return e.humanSummary.oneLiner;let r=b(e);if(r.summary)return r.summary;if(null==(a=r.verifiedSummary)?void 0:a.oneLiner)return r.verifiedSummary.oneLiner;let s=r.agentId||"agent",o=e.type.replace(/_/g," ");return e.amount?"".concat(s," requesting ").concat(e.amount," ETH"):"".concat(s," — ").concat(o)}function y(e){var t,a,r;return(null!=(r=null==(a=b(e).verifiedSummary)||null==(t=a.discrepancies)?void 0:t.length)?r:0)>0}function k(e,t){var a,r,s,o,n,l,i,c,d,u,p;let m=null!=(i=null!=(l=null==(r=e.verifiedSummary)||null==(a=r.permissionLabels)?void 0:a.length)?l:null==(s=e.permissions)?void 0:s.length)?i:0,x=null!=(c=null==(n=e.verifiedSummary)||null==(o=n.discrepancies)?void 0:o.length)?c:0,f=(null!=(d=null==t?void 0:t.can.length)?d:0)+(null!=(u=null==t?void 0:t.scope.length)?u:0)+(null!=(p=null==t?void 0:t.cannot.length)?p:0);return!!(e.summary||m>0||x>0||f>0)}function w(e){switch(e){case"agent_access":return(0,r.jsx)(o.A,{size:10});case"fund":return(0,r.jsx)(n.A,{size:10});case"send":default:return(0,r.jsx)(l.A,{size:10});case"action":return(0,r.jsx)(i.A,{size:10})}}function j(e){switch(e){case"agent_access":return"ACCESS";case"fund":return"FUND";case"send":return"SEND";case"action":return"ACTION";default:return e.toUpperCase().replace(/_/g," ")}}function N(e,t){var a,r;let s="one_shot_read"===(r=t.approvalScope)||"session_token"===r?r:null;return s||("DENY_EXCLUDED_FIELD"===t.escalationReason||"number"==typeof(null==(a=t.credentialAccess)?void 0:a.maxReads)&&1===t.credentialAccess.maxReads?"one_shot_read":"auth"===e.type||"agent_access"===e.type||"action"===e.type?"session_token":null)}function S(e){return"one_shot_read"===e?"temp":""}function C(){return{background:"var(--color-surface, #ffffff)",color:"var(--color-text, #0a0a0a)",border:"1px solid var(--color-border, #d4d4d8)"}}function A(e){let{icon:t,label:a,children:s,muted:o}=e;return(0,r.jsxs)("div",{className:"flex gap-2 py-1.5",style:{opacity:o?.7:1},children:[(0,r.jsx)("div",{className:"shrink-0 mt-0.5",style:{color:"var(--color-text-muted, #6b7280)"},children:t}),(0,r.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,r.jsx)("div",{className:"font-mono text-[8px] font-bold tracking-[0.15em] uppercase mb-1",style:{color:"var(--color-text-faint, #9ca3af)"},children:a}),(0,r.jsx)("div",{className:"font-mono text-[10px]",style:{color:"var(--color-text, #0a0a0a)",fontStyle:o?"italic":void 0},children:s})]})]})}function E(e){var t,a,s,o,n;let{meta:l,readable:x}=e,f=l.verifiedSummary,h=(null!=(n=null==f||null==(t=f.discrepancies)?void 0:t.length)?n:0)>0,v=(null==f||null==(a=f.permissionLabels)?void 0:a.length)?f.permissionLabels:l.permissions||[];return(0,r.jsxs)("div",{className:"px-4 py-3",style:{background:"var(--color-background-alt, #f4f4f5)",borderTop:"1px solid var(--color-border, #e5e5e5)"},children:[h&&(null==f?void 0:f.discrepancies)&&(0,r.jsxs)("div",{className:"flex items-start gap-2 px-3 py-2 mb-3",style:{background:"color-mix(in srgb, var(--color-warning, #f59e0b) 10%, transparent)",border:"1px solid color-mix(in srgb, var(--color-warning, #f59e0b) 30%, transparent)"},children:[(0,r.jsx)(c.A,{size:12,className:"shrink-0 mt-0.5",style:{color:"var(--color-warning, #f59e0b)"}}),(0,r.jsx)("div",{className:"font-mono text-[9px]",style:{color:"var(--color-text, #0a0a0a)"},children:f.discrepancies.map((e,t)=>(0,r.jsxs)("div",{className:"mb-1 last:mb-0",children:[(0,r.jsx)("span",{className:"font-bold uppercase text-[8px] mr-1",style:{color:"critical"===e.severity?"var(--color-danger, #ef4444)":"warning"===e.severity?"var(--color-warning, #f59e0b)":"var(--color-text-muted, #6b7280)"},children:e.severity}),e.field,": agent says “",e.agentClaim,"”, actual: ",e.actual]},t))})]}),l.summary&&(0,r.jsxs)(A,{icon:(0,r.jsx)(d.A,{size:10}),label:"AGENT SAYS",muted:!0,children:["“",l.summary,"”"]}),(l.profile||(null==x?void 0:x.profileLabel))&&(0,r.jsxs)(A,{icon:(0,r.jsx)(i.A,{size:10}),label:"PROFILE",children:[(0,r.jsx)("span",{className:"font-bold",children:(null==(s=l.profile)?void 0:s.displayName)||(null==x?void 0:x.profileLabel)}),(null==(o=l.profile)?void 0:o.rationale)&&(0,r.jsxs)("span",{className:"ml-1",style:{color:"var(--color-text-muted, #6b7280)"},children:["— ",l.profile.rationale]})]}),v.length>0&&(0,r.jsx)(A,{icon:(0,r.jsx)(u.A,{size:10}),label:"PERMISSIONS",children:(0,r.jsx)("div",{className:"flex flex-wrap gap-1",children:v.map((e,t)=>(0,r.jsx)("span",{className:"px-1.5 py-0.5 text-[8px] font-bold",style:{background:"var(--color-border, #e5e5e5)",color:"var(--color-text-muted, #6b7280)"},children:e},t))})}),x&&(0,r.jsxs)(r.Fragment,{children:[x.can.length>0&&(0,r.jsx)(A,{icon:(0,r.jsx)(i.A,{size:10}),label:"CAN",children:x.can.join(", ")}),x.cannot.length>0&&(0,r.jsx)(A,{icon:(0,r.jsx)(p.A,{size:10}),label:"CANNOT",children:x.cannot.join("; ")}),x.scope.length>0&&(0,r.jsx)(A,{icon:(0,r.jsx)(d.A,{size:10}),label:"SCOPE",children:x.scope.join(", ")}),(0,r.jsxs)(A,{icon:(0,r.jsx)(m.A,{size:10}),label:"EXPIRY / RISK",children:[x.expiresIn," \xb7 ",x.riskHint]})]})]})}function T(e){let{request:t,resolveAction:a,actionLoading:o,showBorder:n,bulkLocked:l=!1}=e,[i,c]=(0,s.useState)(!1),[u,A]=(0,s.useState)(!1),T=o==="resolve-".concat(t.id)||o==="approve-".concat(t.id),P=o==="reject-".concat(t.id),I=T||P||l,z=b(t),O=N(t,z),_=y(t),R=_?"var(--color-warning, #f59e0b)":"var(--color-danger, #ef4444)";return(0,r.jsxs)("div",{children:[(0,r.jsxs)("div",{className:"flex items-center gap-3 px-4 py-3",style:{borderBottom:n&&!i?"1px solid var(--color-border, #e5e5e5)":void 0,borderLeft:"3px solid ".concat(R),background:"var(--color-surface, #ffffff)"},children:[(0,r.jsxs)("div",{className:"flex items-center gap-1 px-1.5 py-0.5 shrink-0",style:{background:"var(--color-background-alt, #f4f4f5)",border:"1px solid var(--color-border, #e5e5e5)",color:"var(--color-text-muted, #6b7280)"},children:[w(t.type),(0,r.jsx)("span",{className:"font-mono text-[8px] font-bold tracking-wider uppercase",children:j(t.type)})]}),"one_shot_read"===O&&(0,r.jsx)("span",{className:"px-1.5 py-0.5 font-mono text-[8px] font-bold tracking-[0.12em] shrink-0",style:C(),children:S(O)}),(0,r.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,r.jsxs)("div",{className:"font-mono text-[10px] truncate flex items-center gap-1.5",style:{color:"var(--color-text, #0a0a0a)"},children:[g(t),_&&(0,r.jsx)("span",{className:"shrink-0 px-1 py-0 text-[7px] font-bold tracking-wider uppercase",style:{background:"color-mix(in srgb, var(--color-warning, #f59e0b) 15%, transparent)",color:"var(--color-warning, #f59e0b)",border:"1px solid color-mix(in srgb, var(--color-warning, #f59e0b) 30%, transparent)"},children:"MISMATCH"})]}),(0,r.jsxs)("div",{className:"font-mono text-[8px] mt-0.5 flex items-center gap-1",style:{color:"var(--color-text-faint, #9ca3af)"},children:[(0,r.jsx)(m.A,{size:7}),function(e){let t=Math.floor((Date.now()-new Date(e).getTime())/6e4);if(t<1)return"just now";if(t<60)return"".concat(t,"m ago");let a=Math.floor(t/60);return a<24?"".concat(a,"h ago"):"".concat(Math.floor(a/24),"d ago")}(t.createdAt)]})]}),k(z,t.humanSummary)&&(0,r.jsxs)("button",{onClick:()=>c(!i),className:"flex items-center gap-1 shrink-0 hover:opacity-70",style:{background:"none",border:"none",cursor:"pointer",color:"var(--color-text-muted, #6b7280)",padding:"2px 4px"},children:[(0,r.jsx)(d.A,{size:10}),i?(0,r.jsx)(x.A,{size:10}):(0,r.jsx)(f.A,{size:10})]}),(0,r.jsxs)("div",{className:"flex items-center gap-1.5 shrink-0",children:[(0,r.jsx)(v.$n,{variant:"primary",size:"sm",onClick:()=>a(t.id,!0),disabled:I,loading:T,icon:T?void 0:(0,r.jsx)(h.A,{size:10}),className:"h-7 px-2",children:"APPROVE"}),(0,r.jsx)(v.$n,{variant:"danger",size:"sm",onClick:()=>a(t.id,!1),disabled:I,loading:P,icon:P?void 0:(0,r.jsx)(p.A,{size:10}),className:"h-7 px-2",children:"REJECT"})]})]}),(0,r.jsx)("div",{style:{display:"grid",gridTemplateRows:i?"1fr":"0fr",transition:"grid-template-rows 150ms ease",borderLeft:"3px solid ".concat(R),borderBottom:n&&i?"1px solid var(--color-border, #e5e5e5)":void 0},children:(0,r.jsx)("div",{style:{overflow:"hidden"},children:i&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(E,{meta:z,readable:t.humanSummary}),(0,r.jsxs)("div",{className:"px-4 pb-3 bg-[var(--color-background-alt,#f4f4f5)]",children:[(0,r.jsx)("button",{onClick:()=>A(e=>!e),className:"font-mono text-[9px] underline text-[var(--color-text-muted,#6b7280)]",children:u?"Hide raw details":"Show raw details"}),u&&(0,r.jsx)("pre",{className:"mt-2 p-2 text-[9px] overflow-x-auto border border-[var(--color-border,#d4d4d8)] bg-[var(--color-surface,#ffffff)]",children:t.rawPayload||t.metadata||"{}"})]})]})})})]})}let P=e=>{let{requests:t,resolveAction:a,actionLoading:o}=e,[n,l]=(0,s.useState)(!1),[i,c]=(0,s.useState)(!1),[u,m]=(0,s.useState)(!1),[A,P]=(0,s.useState)(!1),[I,z]=(0,s.useState)(!1),[O,_]=(0,s.useState)(null),R=t.filter(e=>"pending"===e.status&&"notify"!==e.type),D=(0,s.useRef)(null);if((0,s.useEffect)(()=>{if(!n)return;let e=e=>{D.current&&!D.current.contains(e.target)&&l(!1)};return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[n]),(0,s.useEffect)(()=>{R.length<=1&&l(!1)},[R.length]),(0,s.useEffect)(()=>{0===R.length&&_(null)},[R.length]),0===R.length)return null;let M=R[0],L=b(M),K=N(M,L),q=o==="resolve-".concat(M.id)||o==="approve-".concat(M.id),F=o==="reject-".concat(M.id),U=q||F||A||I,H=y(M),W=H?"var(--color-warning, #f59e0b)":"var(--color-danger, #ef4444)",B=async e=>{if(A||I)return;let t=R.map(e=>e.id);if(0===t.length)return;let r=e?"APPROVE ALL":"REJECT ALL";_(null),e?P(!0):z(!0),l(!1);let s=[];for(let r of t)try{let t=await a(r,e),o=function(e){return e&&"object"==typeof e?!1!==e.success?null:"string"==typeof e.message&&e.message.trim().length>0?e.message.trim():"string"==typeof e.error&&e.error.trim().length>0?e.error.trim():"request failed":null}(t);o&&s.push({id:r,message:o})}catch(e){s.push({id:r,message:e instanceof Error?e.message:"request failed"})}if(s.length>0){let e=s.slice(0,3).map(e=>"".concat(e.id," (").concat(e.message,")")).join(", "),t=s.length>3?" +".concat(s.length-3," more"):"";_("".concat(r," completed with ").concat(s.length," failed: ").concat(e).concat(t))}e?P(!1):z(!1)},V=async()=>B(!0),G=async()=>B(!1);return(0,r.jsxs)("div",{className:"relative z-30",ref:D,children:[n&&R.length>1&&(0,r.jsxs)("div",{className:"absolute bottom-full left-0 right-0",style:{maxHeight:"320px",overflowY:"auto",border:"1px solid var(--color-border, #e5e5e5)",borderBottom:"none"},children:[(0,r.jsx)("div",{className:"px-4 py-2 sticky top-0 z-10",style:{background:"var(--color-background-alt, #f4f4f5)",borderBottom:"1px solid var(--color-border, #e5e5e5)"},children:(0,r.jsxs)("span",{className:"font-mono text-[8px] font-bold tracking-[0.2em] uppercase",style:{color:"var(--color-text-faint, #9ca3af)"},children:["QUEUED ACTIONS (",R.length-1,")"]})}),R.slice(1).map((e,t)=>(0,r.jsx)(T,{request:e,resolveAction:a,actionLoading:o,showBorder:t<R.length-2,bulkLocked:A||I},e.id))]}),(0,r.jsxs)("div",{style:{background:"var(--color-surface, #ffffff)",borderTop:"1px solid var(--color-border, #e5e5e5)",borderBottom:"1px solid var(--color-border, #e5e5e5)"},children:[(0,r.jsxs)("div",{className:"flex items-center h-14 px-2 gap-2 sm:px-4 sm:gap-3 max-w-full overflow-hidden",style:{borderLeft:"3px solid ".concat(W)},children:[(0,r.jsx)("div",{className:"flex items-center justify-center shrink-0",style:{minWidth:"24px",height:"22px",padding:"0 6px",background:"var(--color-danger, #ef4444)",color:"#ffffff",fontFamily:"monospace",fontSize:"11px",fontWeight:700,letterSpacing:"0.05em"},children:R.length}),(0,r.jsx)("span",{className:"font-mono text-[10px] font-bold tracking-[0.2em] uppercase shrink-0 hidden sm:inline",style:{color:"var(--color-danger, #ef4444)"},children:"PENDING"}),(0,r.jsx)("div",{className:"w-px h-6 shrink-0 hidden sm:block",style:{background:"var(--color-border, #e5e5e5)"}}),(0,r.jsxs)("div",{className:"hidden sm:flex items-center gap-1 px-1.5 py-0.5 shrink-0",style:{background:"var(--color-background-alt, #f4f4f5)",border:"1px solid var(--color-border, #e5e5e5)",color:"var(--color-text-muted, #6b7280)"},children:[w(M.type),(0,r.jsx)("span",{className:"font-mono text-[8px] font-bold tracking-[0.15em] uppercase",children:j(M.type)})]}),"one_shot_read"===K&&(0,r.jsx)("span",{className:"hidden sm:inline px-1.5 py-0.5 font-mono text-[8px] font-bold tracking-[0.12em] shrink-0",style:C(),children:S(K)}),(0,r.jsxs)("div",{className:"font-mono text-[11px] truncate min-w-0 flex-1 flex items-center gap-1.5",style:{color:"var(--color-text, #0a0a0a)"},children:[g(M),H&&(0,r.jsx)("span",{className:"shrink-0 px-1 py-0 text-[7px] font-bold tracking-wider uppercase",style:{background:"color-mix(in srgb, var(--color-warning, #f59e0b) 15%, transparent)",color:"var(--color-warning, #f59e0b)",border:"1px solid color-mix(in srgb, var(--color-warning, #f59e0b) 30%, transparent)"},children:"MISMATCH"})]}),k(L,M.humanSummary)&&(0,r.jsxs)("button",{onClick:()=>c(!i),className:"flex items-center gap-1 shrink-0 hover:opacity-70",style:{background:"none",border:"none",cursor:"pointer",color:"var(--color-text-muted, #6b7280)",padding:"2px 4px"},children:[(0,r.jsx)(d.A,{size:10}),i?(0,r.jsx)(x.A,{size:10}):(0,r.jsx)(f.A,{size:10})]}),(0,r.jsxs)("div",{className:"flex items-center gap-1.5 shrink-0",children:[R.length>1&&(0,r.jsx)(v.$n,{variant:"secondary",size:"sm",onClick:()=>void V(),disabled:U,loading:A,icon:A?void 0:(0,r.jsx)(h.A,{size:10}),className:"h-7 px-2",children:"APPROVE ALL"}),R.length>1&&(0,r.jsx)(v.$n,{variant:"danger",size:"sm",onClick:()=>void G(),disabled:U,loading:I,icon:I?void 0:(0,r.jsx)(p.A,{size:10}),className:"h-7 px-2",children:"REJECT ALL"}),(0,r.jsx)(v.$n,{variant:"primary",size:"sm",onClick:()=>a(M.id,!0),disabled:U,loading:q,icon:q?void 0:(0,r.jsx)(h.A,{size:10}),className:"h-7 px-2",children:"APPROVE"}),(0,r.jsx)(v.$n,{variant:"danger",size:"sm",onClick:()=>a(M.id,!1),disabled:U,loading:F,icon:F?void 0:(0,r.jsx)(p.A,{size:10}),className:"h-7 px-2",children:"REJECT"})]}),R.length>1&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("div",{className:"w-px h-6 shrink-0",style:{background:"var(--color-border, #e5e5e5)"}}),(0,r.jsxs)("button",{onClick:()=>l(!n),className:"flex items-center gap-1.5 shrink-0 hover:opacity-70",style:{background:"none",border:"none",cursor:"pointer",color:"var(--color-text-muted, #6b7280)",padding:"4px 8px"},children:[(0,r.jsxs)("span",{className:"font-mono text-[8px] font-bold tracking-[0.15em] uppercase",children:["+",R.length-1," MORE"]}),n?(0,r.jsx)(f.A,{size:12}):(0,r.jsx)(x.A,{size:12})]})]})]}),O&&(0,r.jsx)("div",{className:"px-4 py-2 font-mono text-[9px]",style:{color:"var(--color-danger, #ef4444)",background:"color-mix(in srgb, var(--color-danger, #ef4444) 8%, transparent)",borderTop:"1px solid color-mix(in srgb, var(--color-danger, #ef4444) 30%, transparent)"},children:O}),(0,r.jsx)("div",{style:{display:"grid",gridTemplateRows:i?"1fr":"0fr",transition:"grid-template-rows 150ms ease",borderLeft:"3px solid ".concat(W)},children:(0,r.jsx)("div",{style:{overflow:"hidden"},children:i&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(E,{meta:L,readable:M.humanSummary}),(0,r.jsxs)("div",{className:"px-4 pb-3 bg-[var(--color-background-alt,#f4f4f5)]",children:[(0,r.jsx)("button",{onClick:()=>m(e=>!e),className:"font-mono text-[9px] underline text-[var(--color-text-muted,#6b7280)]",children:u?"Hide raw details":"Show raw details"}),u&&(0,r.jsx)("pre",{className:"mt-2 p-2 text-[9px] overflow-x-auto border border-[var(--color-border,#d4d4d8)] bg-[var(--color-surface,#ffffff)]",children:M.rawPayload||M.metadata||"{}"})]})]})})})]})]})}},17369:(e,t,a)=>{a.d(t,{Q:()=>s});var r=a(64558);let s=function(e){var t;let a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},s=new r.xI.Renderer,o=s.link,n=a.decodeEscapedNewlines?e.replace(/\\n/g,"\n"):e;return s.heading=e=>{let{text:t,depth:a}=e,r=t.replace(/<[^>]*>/g,"").toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-|-$/g,"");return"<h".concat(a,' id="').concat(r,'">').concat(t,"</h").concat(a,">")},s.link=function(e){var t,r;let s=null!=(r=null==(t=a.rewriteLinkHref)?void 0:t.call(a,e.href))?r:e.href,n=o.call(this,{...e,href:s});return/^https?:\/\//i.test(s)?n.replace("<a ",'<a target="_blank" rel="noopener noreferrer" '):n},r.xI.parse(n,{async:!1,renderer:s,breaks:null!=(t=a.preserveSingleLineBreaks)&&t})}},26399:(e,t,a)=>{a.d(t,{v:()=>g});var r=a(95155),s=a(12115),o=a(47650),n=a(85998),l=a(26983),i=a(65229),c=a(58291);function d(e){return"string"==typeof e?e.trim():"number"==typeof e?String(e):""}function u(e){let t=Math.floor((Date.now()-new Date(e).getTime())/6e4);if(t<1)return"just now";if(t<60)return"".concat(t,"m ago");let a=Math.floor(t/60);return a<24?"".concat(a,"h ago"):"".concat(Math.floor(a/24),"d ago")}function p(e){if(!e)return{};try{let t=JSON.parse(e);return t&&"object"==typeof t?t:{}}catch(e){return{}}}function m(e){var t,a;let r=p(e.metadata),s="one_shot_read"===(a=r.approvalScope)||"session_token"===a?a:null;return s||("DENY_EXCLUDED_FIELD"===r.escalationReason||"number"==typeof(null==(t=r.credentialAccess)?void 0:t.maxReads)&&1===r.credentialAccess.maxReads?"one_shot_read":"auth"===e.type||"agent_access"===e.type||"action"===e.type?"session_token":null)}function x(e){return"one_shot_read"===e?"temp":""}function f(){return{background:"var(--color-surface, #ffffff)",color:"var(--color-text, #0a0a0a)",border:"1px solid var(--color-border, #d4d4d8)"}}function h(e){var t;let a=p(e.metadata);if(null==(t=a.verifiedSummary)?void 0:t.oneLiner)return a.verifiedSummary.oneLiner;if(a.summary)return a.summary;if(("auth"===e.type||"agent_access"===e.type)&&"number"==typeof a.limit){let e=a.agentId||"agent";return!1===a.requestedLimitExplicit?"".concat(e," requesting access"):"".concat(e," requesting ").concat(a.limit," ETH access")}return e.type}function v(e){return"pending"===e.status?"PENDING":"approved"===e.status?"APPROVED":"rejected"===e.status?"REJECTED":"notify"===e.type?"ALERT":"INFO"}function b(e){return"pending"===e.status?{bg:"color-mix(in srgb, var(--color-warning,#ff4d00) 15%, transparent)",fg:"var(--color-warning,#ff4d00)",border:"color-mix(in srgb, var(--color-warning,#ff4d00) 35%, transparent)"}:"approved"===e.status?{bg:"color-mix(in srgb, var(--color-success,#10b981) 15%, transparent)",fg:"var(--color-success,#10b981)",border:"color-mix(in srgb, var(--color-success,#10b981) 35%, transparent)"}:"rejected"===e.status?{bg:"color-mix(in srgb, var(--color-danger,#ef4444) 15%, transparent)",fg:"var(--color-danger,#ef4444)",border:"color-mix(in srgb, var(--color-danger,#ef4444) 35%, transparent)"}:{bg:"var(--color-background-alt,#f4f4f5)",fg:"var(--color-text-muted,#6b7280)",border:"var(--color-border,#d4d4d8)"}}let g=e=>{let{notifications:t,onDismiss:a,compact:p=!1}=e,[g,k]=(0,s.useState)(!1),[w,j]=(0,s.useState)(!1),[N,S]=(0,s.useState)(new Set),[C,A]=(0,s.useState)(null),E=e=>{let t=d(e.id);return t?"id:".concat(t):"fallback:".concat(e.type,":").concat(e.createdAt,":").concat(h(e))},T=(0,s.useMemo)(()=>t.filter(e=>!N.has(E(e))).sort((e,t)=>new Date(t.createdAt).getTime()-new Date(e.createdAt).getTime()),[t,N]),P=(0,s.useMemo)(()=>T.filter(e=>"pending"===e.status&&"notify"!==e.type).length,[T]);return(0,s.useEffect)(()=>(j(!0),()=>j(!1)),[]),(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)("div",{className:"relative",children:[(0,r.jsx)("button",{type:"button",onClick:()=>k(e=>!e),className:"".concat(p?"p-0":"p-1.5"," text-[var(--color-text-muted,#6b7280)] hover:text-[var(--color-text,#0a0a0a)] hover:bg-[var(--color-surface,#ffffff)]/50 transition-colors rounded"),title:"Notifications","aria-label":"Notifications",children:(0,r.jsx)(n.A,{size:p?10:14})}),P>0&&(0,r.jsx)("span",{className:"absolute -top-0.5 -right-0.5 min-w-[14px] h-[14px] bg-[var(--color-warning,#ff4d00)] text-white font-mono text-[7px] font-bold flex items-center justify-center px-0.5",children:P>9?"9+":P})]}),w&&(0,o.createPortal)((0,r.jsxs)(r.Fragment,{children:[g&&(0,r.jsx)("button",{type:"button","aria-label":"Close notifications",onClick:()=>k(!1),className:"fixed inset-0 z-30 bg-[var(--color-text,#0a0a0a)]/20"}),(0,r.jsx)("div",{className:"fixed inset-y-0 right-0 z-40",children:(0,r.jsx)(c._s,{isOpen:g,onClose:()=>k(!1),title:"NOTIFICATIONS",subtitle:"Approvals",width:"sm",children:0===T.length?(0,r.jsxs)("div",{className:"py-8 text-center tyvek-label corner-marks mx-2",children:[(0,r.jsx)(n.A,{size:24,className:"mx-auto mb-2 text-[var(--color-text-faint,#9ca3af)]"}),(0,r.jsx)("div",{className:"label-specimen text-[var(--color-text-muted,#6b7280)]",children:"NO ALERTS"})]}):(0,r.jsx)("div",{className:"space-y-2",children:T.map(e=>{let t=m(e);return(0,r.jsxs)("div",{className:"w-full text-left flex items-start gap-2 p-3 clip-specimen-sm border-mech bg-[var(--color-surface-alt,#fafafa)] group cursor-pointer corner-marks transition-all hover:shadow-mech-hover",children:[(0,r.jsxs)("button",{type:"button",onClick:()=>A(e),className:"flex-1 min-w-0 text-left",title:"View details",children:[(0,r.jsxs)("div",{className:"mb-1.5 flex items-center gap-1",children:[(0,r.jsx)("span",{className:"inline-flex items-center px-1.5 py-0.5 font-mono text-[7px] font-bold tracking-[0.15em] uppercase",style:{background:b(e).bg,color:b(e).fg,border:"1px solid ".concat(b(e).border)},children:v(e)}),"one_shot_read"===t&&(0,r.jsx)("span",{className:"inline-flex items-center px-1.5 py-0.5 font-mono text-[7px] font-bold tracking-[0.15em]",style:f(),children:x(t)})]}),(0,r.jsx)("div",{className:"font-mono text-[10px] text-[var(--color-text,#0a0a0a)]",children:h(e)}),(0,r.jsxs)("div",{className:"font-mono text-[8px] text-[var(--color-text-faint,#9ca3af)] flex items-center gap-1 mt-1",children:[(0,r.jsx)(l.A,{size:7}),u(e.createdAt)]})]}),(0,r.jsx)("button",{type:"button",onClick:()=>{let t=E(e);S(e=>{let a=new Set(e);return a.add(t),a});let r=d(e.id);r&&a(r)},className:"p-1 hover:bg-[var(--color-background-alt,#e5e5e5)] transition-colors shrink-0",title:"Dismiss",children:(0,r.jsx)(i.A,{size:10,className:"text-[var(--color-text-muted,#6b7280)]"})})]},d(e.id)||"".concat(e.type,":").concat(e.createdAt))})})})})]}),document.body),(0,r.jsx)(y,{notification:C,onClose:()=>A(null)})]})};function y(e){let{notification:t,onClose:a}=e,[o,n]=s.useState(null);s.useEffect(()=>{t&&n(t)},[t]);let i=t||o,d=i?p(i.metadata):{},h=null==i?void 0:i.humanSummary,g=i?b(i):{bg:"",fg:"",border:""},y=i?m(i):null,k=d.agentId||"unknown";return(0,r.jsx)(c.aF,{isOpen:!!t,onClose:a,title:(null==h?void 0:h.actionLabel)||(null==i?void 0:i.type.toUpperCase())||"DETAILS",size:"sm",children:(0,r.jsxs)("div",{className:"space-y-4",children:[i&&(0,r.jsxs)("div",{className:"flex items-center justify-between",children:[(0,r.jsxs)("div",{className:"flex items-center gap-1",children:[(0,r.jsx)("span",{className:"inline-flex items-center px-1.5 py-0.5 font-mono text-[7px] font-bold tracking-[0.15em] uppercase",style:{background:g.bg,color:g.fg,border:"1px solid ".concat(g.border)},children:v(i)}),"one_shot_read"===y&&(0,r.jsx)("span",{className:"inline-flex items-center px-1.5 py-0.5 font-mono text-[7px] font-bold tracking-[0.15em]",style:f(),children:x(y)})]}),(0,r.jsxs)("span",{className:"font-mono text-[8px] text-[var(--color-text-faint,#9ca3af)] flex items-center gap-1",children:[(0,r.jsx)(l.A,{size:7}),u(i.createdAt)]})]}),(null==h?void 0:h.oneLiner)&&(0,r.jsx)("div",{className:"text-[10px] text-[var(--color-text-muted,#6b7280)] tracking-wider",children:h.oneLiner}),(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:"text-[8px] text-[var(--color-text-faint,#9ca3af)] tracking-widest uppercase",children:"Agent"}),(0,r.jsx)("span",{className:"text-[10px] text-[var(--color-text,#0a0a0a)] tracking-wider text-right",children:k})]}),(0,r.jsxs)("div",{className:"flex items-baseline justify-between gap-2",children:[(0,r.jsx)("span",{className:"text-[8px] text-[var(--color-text-faint,#9ca3af)] tracking-widest uppercase",children:"Type"}),(0,r.jsx)("span",{className:"text-[10px] text-[var(--color-text,#0a0a0a)] font-bold tracking-wider text-right",children:null==i?void 0:i.type})]}),"one_shot_read"===y&&(0,r.jsxs)("div",{className:"flex items-baseline justify-between gap-2",children:[(0,r.jsx)("span",{className:"text-[8px] text-[var(--color-text-faint,#9ca3af)] tracking-widest uppercase",children:"Token"}),(0,r.jsx)("span",{className:"text-[10px] text-[var(--color-text,#0a0a0a)] font-bold tracking-wider text-right",children:x(y)})]}),(null==h?void 0:h.profileLabel)&&(0,r.jsxs)("div",{className:"flex items-baseline justify-between gap-2",children:[(0,r.jsx)("span",{className:"text-[8px] text-[var(--color-text-faint,#9ca3af)] tracking-widest uppercase",children:"Profile"}),(0,r.jsx)("span",{className:"text-[10px] text-[var(--color-text,#0a0a0a)] tracking-wider text-right",children:h.profileLabel})]}),(null==h?void 0:h.riskHint)&&(0,r.jsxs)("div",{className:"flex items-baseline justify-between gap-2",children:[(0,r.jsx)("span",{className:"text-[8px] text-[var(--color-text-faint,#9ca3af)] tracking-widest uppercase",children:"Risk"}),(0,r.jsx)("span",{className:"text-[10px] font-bold tracking-wider ".concat(h.riskHint.toLowerCase().includes("high")?"text-[var(--color-danger,#ef4444)]":h.riskHint.toLowerCase().includes("medium")?"text-[var(--color-warning,#ff4d00)]":"text-[var(--color-text,#0a0a0a)]"),children:h.riskHint})]}),(null==h?void 0:h.expiresIn)&&(0,r.jsxs)("div",{className:"flex items-baseline justify-between gap-2",children:[(0,r.jsx)("span",{className:"text-[8px] text-[var(--color-text-faint,#9ca3af)] tracking-widest uppercase",children:"Expires"}),(0,r.jsx)("span",{className:"text-[10px] text-[var(--color-text,#0a0a0a)] tracking-wider text-right",children:h.expiresIn})]}),"number"==typeof d.limit&&(0,r.jsxs)("div",{className:"flex items-baseline justify-between gap-2",children:[(0,r.jsx)("span",{className:"text-[8px] text-[var(--color-text-faint,#9ca3af)] tracking-widest uppercase",children:"Limit"}),(0,r.jsxs)("span",{className:"text-[10px] text-[var(--color-text,#0a0a0a)] font-bold tracking-wider text-right",children:[d.limit," ETH"]})]}),(0,r.jsxs)("div",{className:"text-[7px] text-[var(--color-text-faint,#9ca3af)] tracking-widest break-all",children:["ID: ",null==i?void 0:i.id]})]}),(null==h?void 0:h.can)&&h.can.length>0&&(0,r.jsxs)("div",{className:"border-t border-[var(--color-border,#d4d4d8)] pt-3",children:[(0,r.jsx)("div",{className:"text-[8px] text-[var(--color-text-faint,#9ca3af)] tracking-widest uppercase mb-1.5",children:"Permissions"}),(0,r.jsx)("div",{className:"space-y-1",children:h.can.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))})]}),(null==h?void 0:h.cannot)&&h.cannot.length>0&&(0,r.jsxs)("div",{className:"border-t border-[var(--color-border,#d4d4d8)] pt-3",children:[(0,r.jsx)("div",{className:"text-[8px] text-[var(--color-text-faint,#9ca3af)] tracking-widest uppercase mb-1.5",children:"Restrictions"}),(0,r.jsx)("div",{className:"space-y-1",children:h.cannot.map(e=>(0,r.jsx)("div",{className:"text-[10px] text-[var(--color-danger,#ef4444)] tracking-wider pl-2 border-l-2 border-[var(--color-danger,#ef4444)]/30",children:e},e))})]}),(null==h?void 0:h.scope)&&h.scope.length>0&&(0,r.jsxs)("div",{className:"border-t border-[var(--color-border,#d4d4d8)] pt-3",children:[(0,r.jsx)("div",{className:"text-[8px] text-[var(--color-text-faint,#9ca3af)] tracking-widest uppercase mb-1.5",children:"Scope"}),(0,r.jsx)("div",{className:"space-y-1",children:h.scope.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))})]})]})})}},37489:(e,t,a)=>{a.d(t,{I:()=>y});var r=a(95155),s=a(12115),o=a(55867),n=a(8198),l=a(17910),i=a(76907),c=a(85710),d=a(5937),u=a(39068),p=a(91169),m=a(39347),x=a(6191),f=a(9540),h=a(71360),v=a(58291);let b={KeyRound:o.A,Flame:n.A,Shield:l.A,ShieldCheck:i.A,Database:c.A,MessageCircle:d.A,Globe:u.A,Users:p.A};function g(e){return e.trim().replace(/\/+$/,"")}function y(e){let{views:t,activeViewId:a,onSelectView:n,hubs:l,activeHubUrl:i,onSelectHub:c,favoriteHubUrls:d,nonRemovableHubUrls:u,onToggleHubFavorite:p,onRemoveHub:y,onAddHub:k}=e,w=function(){let[e,t]=(0,s.useState)(!1);return(0,s.useEffect)(()=>{let e=()=>{let e=window.innerWidth;t(e>=768&&e<1280)};return e(),window.addEventListener("resize",e),()=>window.removeEventListener("resize",e)},[]),e}(),j=("social"===a||"hub"===a)&&l&&l.length>0,[N,S]=(0,s.useState)(null),[C,A]=(0,s.useState)(null),E=(0,s.useMemo)(()=>new Set((null!=d?d:[]).map(e=>g(e)).filter(Boolean)),[d]),T=(0,s.useMemo)(()=>new Set((null!=u?u:[]).map(e=>g(e)).filter(Boolean)),[u]),P=(0,s.useMemo)(()=>{if(!l||0===l.length)return[];let e=[],t=[];for(let a of l)E.has(g(a.hubUrl))?e.push(a):t.push(a);return[...e,...t]},[l,E]),I=(0,s.useMemo)(()=>{var e;return null!=(e=P.find(e=>e.hubUrl===C))?e:null},[P,C]),z=(0,s.useCallback)(()=>{S(null),A(null)},[]);return(0,s.useEffect)(()=>{C&&(P.some(e=>e.hubUrl===C)||z())},[C,P,z]),(0,r.jsxs)("div",{className:"relative overflow-hidden",style:{display:"flex",flexDirection:"column",alignItems:"center",gap:"8px",padding:"12px 6px",width:"56px",minWidth:"56px",borderRight:"1px solid var(--color-border, #d4d4d8)",background:"var(--color-surface, #f4f4f2)",height:"100%",zIndex:10},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)("img",{src:"/logo.webp",alt:"Aura",style:{width:"28px",height:"28px",objectFit:"contain",marginBottom:"4px",position:"relative"}}),(0,r.jsx)("div",{style:{width:"24px",height:"1px",background:"var(--color-border, #d4d4d8)",position:"relative"}}),t.map(e=>{let t=b[e.icon]||o.A,s=e.id===a;return(0,r.jsx)("button",{onClick:()=>n(e.id),title:e.label,style:{width:"40px",height:"40px",borderRadius:"12px",border:"none",background:s?"var(--color-accent, #6366f1)":"transparent",color:s?"var(--color-accent-foreground, #0a0a0a)":"var(--color-text-muted, #6b7280)",cursor:"pointer",display:"flex",alignItems:"center",justifyContent:"center",transition:"all 0.15s ease",position:"relative"},onMouseEnter:e=>{s||(e.currentTarget.style.background="var(--color-border, #d4d4d8)",e.currentTarget.style.color="var(--color-text, #0a0a0a)")},onMouseLeave:e=>{s||(e.currentTarget.style.background="transparent",e.currentTarget.style.color="var(--color-text-muted, #6b7280)")},children:(0,r.jsx)(t,{size:20})},e.id)}),j&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("div",{style:{width:"24px",height:"1px",background:"var(--color-border, #d4d4d8)",position:"relative"}}),P.map(e=>{let t=e.hubUrl===i,a=g(e.hubUrl),s=E.has(a);return(0,r.jsxs)("button",{onClick:()=>{z(),null==c||c(e.hubUrl)},onContextMenu:t=>{t.preventDefault(),S(t.currentTarget),A(e.hubUrl)},title:e.label||e.hubUrl,style:{width:"36px",height:"36px",borderRadius:"50%",border:t?"2px solid var(--color-accent, #6366f1)":s?"1px solid var(--color-accent, #6366f1)":"1px solid var(--color-border, #d4d4d8)",background:t?"var(--color-accent, #6366f1)":"var(--color-surface, #f4f4f2)",color:t?"var(--color-accent-foreground, #ffffff)":"var(--color-text, #0a0a0a)",cursor:"pointer",display:"flex",alignItems:"center",justifyContent:"center",fontSize:"13px",fontWeight:700,fontFamily:"var(--font-mono, monospace)",transition:"all 0.15s ease",position:"relative",flexShrink:0},onMouseEnter:e=>{t||(e.currentTarget.style.borderColor="var(--color-accent, #6366f1)")},onMouseLeave:e=>{t||(e.currentTarget.style.borderColor="var(--color-border, #d4d4d8)")},children:[function(e){if(e.label)return e.label[0].toUpperCase();try{return new URL(e.hubUrl).hostname[0].toUpperCase()}catch(e){return"?"}}(e),s&&!t&&(0,r.jsx)("span",{style:{position:"absolute",top:"-3px",right:"-3px",width:"12px",height:"12px",borderRadius:"50%",background:"var(--color-surface, #f4f4f2)",border:"1px solid var(--color-accent, #6366f1)",display:"flex",alignItems:"center",justifyContent:"center"},children:(0,r.jsx)(m.A,{size:8,fill:"var(--color-accent, #6366f1)",color:"var(--color-accent, #6366f1)"})})]},e.hubUrl)})]}),k&&(0,r.jsx)("button",{onClick:k,title:"Add Server",style:{width:"36px",height:"36px",borderRadius:"50%",border:"1px dashed var(--color-border, #d4d4d8)",background:"transparent",color:"var(--color-text-muted, #6b7280)",cursor:"pointer",display:"flex",alignItems:"center",justifyContent:"center",transition:"all 0.15s ease",position:"relative",flexShrink:0},onMouseEnter:e=>{e.currentTarget.style.borderColor="var(--color-accent, #6366f1)",e.currentTarget.style.color="var(--color-accent, #6366f1)"},onMouseLeave:e=>{e.currentTarget.style.borderColor="var(--color-border, #d4d4d8)",e.currentTarget.style.color="var(--color-text-muted, #6b7280)"},children:(0,r.jsx)(x.A,{size:16})}),(0,r.jsx)("div",{style:{flex:1}}),w&&(0,r.jsx)("button",{onClick:()=>window.dispatchEvent(new CustomEvent("leftrail:menu-toggle")),title:"Open sidebar","aria-label":"Open sidebar",style:{width:"40px",height:"40px",borderRadius:"12px",border:"none",background:"transparent",color:"var(--color-text-muted, #6b7280)",cursor:"pointer",display:"flex",alignItems:"center",justifyContent:"center",transition:"all 0.15s ease",position:"relative"},onMouseEnter:e=>{e.currentTarget.style.background="var(--color-border, #d4d4d8)",e.currentTarget.style.color="var(--color-text, #0a0a0a)"},onMouseLeave:e=>{e.currentTarget.style.background="transparent",e.currentTarget.style.color="var(--color-text-muted, #6b7280)"},children:(0,r.jsx)(f.A,{size:20})}),(0,r.jsx)(v.AM,{isOpen:!!(I&&N),onClose:z,title:"HUB ACTIONS",anchor:"left",anchorEl:N,children:I&&(0,r.jsxs)("div",{className:"min-w-[160px] space-y-1",children:[(0,r.jsxs)("button",{type:"button",className:"w-full flex items-center gap-2 px-2 py-1.5 border border-transparent hover:border-[var(--color-border,#d4d4d8)] text-left text-[11px] font-mono tracking-wide",onClick:()=>{p&&p(I),z()},children:[(0,r.jsx)(m.A,{size:13,className:"text-[var(--color-text,#0a0a0a)]",fill:E.has(g(I.hubUrl))?"currentColor":"none"}),E.has(g(I.hubUrl))?"Unfavorite":"Favorite"]}),(0,r.jsxs)("button",{type:"button",className:"w-full flex items-center gap-2 px-2 py-1.5 border text-left text-[11px] font-mono tracking-wide text-[var(--color-danger,#dc2626)] ".concat(T.has(g(I.hubUrl))?"border-transparent opacity-50 cursor-not-allowed":"border-transparent hover:border-[var(--color-border,#d4d4d8)]"),disabled:T.has(g(I.hubUrl)),onClick:()=>{y&&y(I),z()},children:[(0,r.jsx)(h.A,{size:13}),"Delete"]}),T.has(g(I.hubUrl))&&(0,r.jsx)("p",{className:"px-2 pt-1 text-[10px] font-mono text-[var(--color-text-muted,#6b7280)]",children:"Default hub cannot be removed."})]})})]})}},43721:(e,t,a)=>{a.d(t,{Cw:()=>o,md:()=>s,uX:()=>r});let r={WORKSPACE_CREATED:"workspace:created",WORKSPACE_DELETED:"workspace:deleted",WORKSPACE_UPDATED:"workspace:updated",APP_ADDED:"app:added",APP_REMOVED:"app:removed",APP_UPDATED:"app:updated",STATE_REQUEST:"workspace:state:request",STATE_RESPONSE:"workspace:state:response",WORKSPACE_SAVE:"workspace:save",WORKSPACE_LOAD:"workspace:load",WORKSPACE_EXPORT:"workspace:export",WORKSPACE_IMPORT:"workspace:import"};function s(e,t){let a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"ui";return{type:e,timestamp:Date.now(),source:a,data:t}}let o={TOKEN_CREATED:"token:created",TOKEN_REVOKED:"token:revoked",TOKEN_SPENT:"token:spent",WALLET_CREATED:"wallet:created",WALLET_CHANGED:"wallet:changed",ASSET_CHANGED:"asset:changed",BALANCE_UPDATED:"balance:updated",TX_CREATED:"tx:created",ACTION_CREATED:"action:created",ACTION_RESOLVED:"action:resolved",CREDENTIAL_CHANGED:"credential:changed",CREDENTIAL_ACCESSED:"credential:accessed",SECRET_ACCESSED:"secret:accessed",NOTIFICATION_CREATED:"notification:created"}},47993:(e,t,a)=>{a.d(t,{u:()=>r,Rn:()=>s,l3:()=>o,Dw:()=>u,VB:()=>l,zo:()=>i});let r={login:{url:"url",username:"username",password:"password",notes:"notes",totp:"totp"},card:{cardholder:"cardholder",brand:"brand",billingZip:"billing_zip",last4:"last4",number:"number",cvv:"cvv",expiry:"expiry",notes:"notes"},sso:{website:"website",provider:"provider",identifier:"identifier"},note:{content:"content"},plain_note:{content:"content"},hot_wallet:{address:"address",privateKey:"private_key",chain:"chain"},apikey:{key:"key",value:"value"},oauth2:{accessToken:"access_token",refreshToken:"refresh_token",clientId:"client_id",clientSecret:"client_secret",tokenEndpoint:"token_endpoint",scopes:"scopes",authMethod:"auth_method",expiresAt:"expires_at"},ssh:{privateKey:"private_key",passphrase:"passphrase",publicKey:"public_key",fingerprint:"fingerprint",keyType:"key_type",hosts:"hosts"},gpg:{privateKey:"private_key",publicKey:"public_key",fingerprint:"fingerprint",keyId:"key_id",uidEmail:"uid_email",expiresAt:"expires_at"},custom:{value:"value"}},s={login:[{key:r.login.url,label:"URL",type:"text",sensitive:!1},{key:r.login.username,label:"Username",type:"text",sensitive:!1,requiredOnCreate:!0},{key:r.login.password,label:"Password",type:"secret",sensitive:!0,requiredOnCreate:!0},{key:r.login.notes,label:"Notes",type:"text",sensitive:!0},{key:r.login.totp,label:"TOTP",type:"secret",sensitive:!0,aliases:["otp"]}],card:[{key:r.card.cardholder,label:"Cardholder",type:"text",sensitive:!1,requiredOnCreate:!0},{key:r.card.brand,label:"Brand",type:"text",sensitive:!1},{key:r.card.billingZip,label:"Billing ZIP",type:"text",sensitive:!1},{key:r.card.last4,label:"Last 4",type:"text",sensitive:!1},{key:r.card.number,label:"Number",type:"text",sensitive:!0,requiredOnCreate:!0},{key:r.card.cvv,label:"CVV",type:"secret",sensitive:!0,requiredOnCreate:!0},{key:r.card.expiry,label:"Expiry",type:"text",sensitive:!0,requiredOnCreate:!0},{key:r.card.notes,label:"Notes",type:"text",sensitive:!0}],sso:[{key:r.sso.website,label:"Website",type:"text",sensitive:!1,requiredOnCreate:!0},{key:r.sso.provider,label:"Provider",type:"text",sensitive:!1,requiredOnCreate:!0},{key:r.sso.identifier,label:"Identifier",type:"text",sensitive:!1}],note:[{key:r.note.content,label:"Content",type:"text",sensitive:!0,requiredOnCreate:!0,aliases:["value"]}],plain_note:[{key:r.plain_note.content,label:"Content",type:"text",sensitive:!1,requiredOnCreate:!0,aliases:["value"]}],hot_wallet:[{key:r.hot_wallet.address,label:"Address",type:"text",sensitive:!1,requiredOnCreate:!0},{key:r.hot_wallet.chain,label:"Chain",type:"text",sensitive:!1,requiredOnCreate:!0},{key:r.hot_wallet.privateKey,label:"Private Key",type:"secret",sensitive:!0,requiredOnCreate:!0}],api:[],apikey:[{key:r.apikey.key,label:"Key",type:"text",sensitive:!1,requiredOnCreate:!0},{key:r.apikey.value,label:"Value",type:"secret",sensitive:!0,requiredOnCreate:!0}],custom:[],passkey:[],oauth2:[{key:r.oauth2.tokenEndpoint,label:"Token Endpoint",type:"url",sensitive:!1,requiredOnCreate:!0},{key:r.oauth2.scopes,label:"Scopes",type:"text",sensitive:!1},{key:r.oauth2.authMethod,label:"Auth Method",type:"text",sensitive:!1},{key:r.oauth2.expiresAt,label:"Expires At",type:"number",sensitive:!1,requiredOnCreate:!0},{key:r.oauth2.accessToken,label:"Access Token",type:"secret",sensitive:!0,requiredOnCreate:!0},{key:r.oauth2.refreshToken,label:"Refresh Token",type:"secret",sensitive:!0,requiredOnCreate:!0},{key:r.oauth2.clientId,label:"Client ID",type:"secret",sensitive:!0,requiredOnCreate:!0},{key:r.oauth2.clientSecret,label:"Client Secret",type:"secret",sensitive:!0,requiredOnCreate:!0}],ssh:[{key:r.ssh.fingerprint,label:"Fingerprint",type:"text",sensitive:!1},{key:r.ssh.keyType,label:"Key Type",type:"text",sensitive:!1},{key:r.ssh.hosts,label:"Hosts",type:"text",sensitive:!1},{key:r.ssh.privateKey,label:"Private Key",type:"secret",sensitive:!0,requiredOnCreate:!0},{key:r.ssh.passphrase,label:"Passphrase",type:"secret",sensitive:!0},{key:r.ssh.publicKey,label:"Public Key",type:"text",sensitive:!1}],gpg:[{key:r.gpg.fingerprint,label:"Fingerprint",type:"text",sensitive:!1},{key:r.gpg.keyId,label:"Key ID",type:"text",sensitive:!1},{key:r.gpg.uidEmail,label:"UID Email",type:"email",sensitive:!1},{key:r.gpg.expiresAt,label:"Expires At",type:"text",sensitive:!1},{key:r.gpg.privateKey,label:"Private Key",type:"secret",sensitive:!0,requiredOnCreate:!0},{key:r.gpg.publicKey,label:"Public Key",type:"text",sensitive:!1}]},o=r.note.content,n={login:r.login.password,card:r.card.number,sso:r.sso.website,note:r.note.content,plain_note:r.plain_note.content,hot_wallet:r.hot_wallet.privateKey,api:r.apikey.value,apikey:r.apikey.value,custom:r.custom.value,passkey:r.ssh.privateKey,oauth2:r.oauth2.accessToken,ssh:r.ssh.privateKey,gpg:r.gpg.privateKey};function l(e){return d(e)&&n[e]||"value"}function i(e){if(!d(e))return;let t=l(e);return s[e].find(e=>e.key===t)}let c=Object.fromEntries(Object.entries(s).map(e=>{let[t,a]=e,r=new Map;for(let e of a)for(let t of(r.set(e.key.toLowerCase(),e.key),e.aliases||[]))r.set(t.toLowerCase(),e.key);return[t,r]}));function d(e){return Object.prototype.hasOwnProperty.call(s,e)}function u(e,t){let a=t.trim();return a&&d(e)&&c[e].get(a.toLowerCase())||a}},53020:(e,t,a)=>{a.d(t,{i:()=>W});var r=a(95155),s=a(12115),o=a(75882),n=a(89715),l=a(5370),i=a(89559),c=a(78519),d=a(34661),u=a(73155),p=a(66721),m=a(35626),x=a(35299),f=a(57828),h=a(21786),v=a(58291),b=a(90960),g=a(66509),y=a(17369),k=a(47993),w=a(6345);let j=new Set(["SHA1","SHA256","SHA512"]);function N(e){let t=e.replace(/\s+/g,"").toUpperCase();if(t.length<8||!/^[A-Z2-7]+$/.test(t))throw Error("Invalid TOTP secret");return t}function S(e){let t=e.trim().toLowerCase();return t.startsWith("otpauth://totp/")?"otpauth":t.startsWith("otpauth-migration://")?"otpauth-migration":"unknown"}let C=e=>{let{isEdit:t,hasExistingTotp:a,onIntentChange:o,onSecretChange:n}=e,[l,i]=(0,s.useState)("manual"),[c,d]=(0,s.useState)(""),[u,p]=(0,s.useState)(""),[m,x]=(0,s.useState)(null),[f,h]=(0,s.useState)(null),[b,g]=(0,s.useState)(!1),y=(0,s.useRef)(0),k=(0,s.useMemo)(()=>"otpauth-migration"===S(u),[u]),w=e=>{if(!e.trim()){x(null),h(null),n("",!1);return}let t=S(e);if("otpauth-migration"===t){x(null),h(null),n("",!1);return}if("otpauth"!==t){x(null),h("Unsupported QR/setup payload. Use an otpauth://totp link."),n("",!1);return}try{(e=>{x(e),h(null),o("replace"),n(e.secret,!0)})(function(e){let t=new URL(e.trim());if("otpauth:"!==t.protocol)throw Error("Not an otpauth URI");if("totp"!==t.hostname)throw Error("Only TOTP is supported");let a=t.searchParams.get("secret");if(!a)throw Error("Missing secret parameter");let r=t.searchParams.has("digits")?Number.parseInt(t.searchParams.get("digits")||"",10):6,s=t.searchParams.has("period")?Number.parseInt(t.searchParams.get("period")||"",10):30,o=(t.searchParams.get("algorithm")||"SHA1").toUpperCase();if(!j.has(o))throw Error("Unsupported TOTP algorithm: ".concat(o));if(!Number.isInteger(r)||r<6||r>8)throw Error("Invalid TOTP digits: ".concat(r));if(!Number.isInteger(s)||s<15||s>60)throw Error("Invalid TOTP period: ".concat(s));let n=decodeURIComponent(t.pathname.replace(/^\//,""))||void 0,[l,i]=(n||"").includes(":")?(n||"").split(":",2):[void 0,n];return{secret:N(a),issuer:t.searchParams.get("issuer")||l||void 0,account:i||void 0,algorithm:o,digits:r,period:s,label:n}}(e))}catch(e){x(null),h(e instanceof Error?e.message:"Invalid TOTP setup link"),n("",!1)}},C=async e=>{if(!e)return;if(e.size>5242880)return void h("QR image must be 5MB or smaller");let t=++y.current;g(!0),h(null);try{if(!("BarcodeDetector"in window))throw Error("QR decoding not supported in this browser. Paste setup link manually.");let r=new window.BarcodeDetector({formats:["qr_code"]}),s=await createImageBitmap(e);try{var a;if(s.width>4096||s.height>4096)throw Error("QR image dimensions exceed 4096x4096 limit");let e=await r.detect(s);if(y.current!==t)return;let o=(null==(a=e[0])?void 0:a.rawValue)||"";p(o),w(o)}finally{s.close()}}catch(e){if(y.current!==t)return;x(null),h(e instanceof Error?e.message:"Failed to decode QR image")}finally{y.current===t&&g(!1)}};return(0,r.jsxs)("div",{className:"space-y-3 border border-[var(--color-border,#d4d4d8)] p-3 bg-[var(--color-background-alt,#f4f4f5)]","data-testid":"totp-setup-panel",children:[t&&a&&(0,r.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,r.jsx)("button",{type:"button",className:"font-mono text-[9px] px-2 py-1 border",onClick:()=>{o("keep"),h(null),n("",!1)},children:"Keep Existing"}),(0,r.jsx)("button",{type:"button",className:"font-mono text-[9px] px-2 py-1 border",onClick:()=>o("replace"),children:"Replace TOTP"}),(0,r.jsx)("button",{type:"button",className:"font-mono text-[9px] px-2 py-1 border",onClick:()=>{o("remove"),x(null),h(null),n("",!0)},children:"Remove TOTP"})]}),(0,r.jsxs)("div",{className:"flex gap-2",children:[(0,r.jsx)("button",{type:"button",className:"font-mono text-[9px] uppercase px-2 py-1 border",onClick:()=>i("manual"),children:"Manual"}),(0,r.jsx)("button",{type:"button",className:"font-mono text-[9px] uppercase px-2 py-1 border",onClick:()=>i("uri"),children:"Paste Link"}),(0,r.jsx)("button",{type:"button",className:"font-mono text-[9px] uppercase px-2 py-1 border",onClick:()=>i("qr"),children:"Import QR"})]}),"manual"===l&&(0,r.jsx)(v.ks,{label:"TOTP Secret (2FA)",value:c,onChange:e=>(e=>{if(d(e),!e.trim()){x(null),n("",!1);return}try{let t=N(e);h(null),x({secret:t,algorithm:"SHA1",digits:6,period:30}),o("replace"),n(t,!0)}catch(e){x(null),h("Invalid TOTP secret"),n("",!1)}})(e.target.value),placeholder:"Base32 secret (e.g. JBSWY3DPEHPK3PXP)",type:"password"}),"uri"===l&&(0,r.jsxs)("div",{children:[(0,r.jsx)("label",{className:"block font-mono text-[9px] font-bold uppercase tracking-widest text-[var(--color-text-muted,#6b7280)]",children:"Setup Link"}),(0,r.jsx)("textarea",{className:"w-full h-24 bg-[var(--color-background-alt,#f4f4f5)] border border-[var(--color-border,#d4d4d8)] font-mono text-sm p-3 resize-none",value:u,onChange:e=>{p(e.target.value),w(e.target.value)},placeholder:"otpauth://totp/...","data-testid":"totp-uri-input"})]}),"qr"===l&&(0,r.jsxs)("div",{className:"space-y-2",children:[(0,r.jsx)("input",{type:"file",accept:"image/png,image/jpeg,image/webp",onChange:e=>{var t;C((null==(t=e.target.files)?void 0:t[0])||null)},"data-testid":"totp-qr-file"}),b&&(0,r.jsx)("p",{className:"font-mono text-[10px]","data-testid":"totp-qr-decoding",children:"Decoding QR…"})]}),k&&(0,r.jsx)("div",{className:"font-mono text-[10px] border p-2","data-testid":"totp-migration-fallback",children:"Google Authenticator migration QR detected. v1 supports standard otpauth:// links only. Use manual setup or account-level QR when available."}),m&&(0,r.jsxs)("div",{className:"font-mono text-[10px] border p-2","data-testid":"totp-preview",children:[(0,r.jsxs)("div",{children:["Issuer: ",m.issuer||"—"]}),(0,r.jsxs)("div",{children:["Account: ",m.account||"—"]}),(0,r.jsxs)("div",{children:["Digits: ",m.digits]}),(0,r.jsxs)("div",{children:["Period: ",m.period,"s"]}),(0,r.jsxs)("div",{children:["Algorithm: ",m.algorithm]})]}),f&&(0,r.jsx)("div",{className:"font-mono text-[10px] text-[var(--color-danger,#ef4444)]","data-testid":"totp-error",children:f})]})},A=e=>(e.split(/\r?\n/).map(e=>e.trim()).find(Boolean)||"").slice(0,48);function E(e){let{type:t,apiKeyName:a,username:r,url:s,noteContent:o,customFieldKey:n,hotWalletChain:l,cardholder:i,cardNumber:c,cardLast4:d,ssoWebsite:u,ssoProvider:p,oauth2TokenEndpoint:m,sshHostsInput:x,gpgKeyId:f,gpgUidEmail:h}=e;return"apikey"===t&&!!a.trim()||"plain_note"===t&&!!o.trim()||"login"===t&&(!!r.trim()||!!s.trim())||"note"===t&&!!o.trim()||"hot_wallet"===t&&(!!l.trim()||!0)||"custom"===t&&!!n.trim()||"card"===t&&(!!(null==i?void 0:i.trim())||!!(null==c?void 0:c.trim())||!!(null==d?void 0:d.trim()))||"sso"===t&&(!!(null==u?void 0:u.trim())||!!(null==p?void 0:p.trim()))||"oauth2"===t&&!!(null==m?void 0:m.trim())||"ssh"===t&&!!(null==x?void 0:x.trim())||"gpg"===t&&(!!(null==f?void 0:f.trim())||!!(null==h?void 0:h.trim()))}let T=k.u.login,P=k.u.card,I=k.u.sso,z=k.u.hot_wallet,O=k.u.apikey,_=k.u.oauth2,R=k.u.ssh,D=k.u.gpg,M={hot_wallet:{label:"Hot Wallet",description:"Generate wallet address + encrypted private key",icon:o.A},plain_note:{label:"Plain Note",description:"Readable note content stored without encryption",icon:n.A},apikey:{label:"API Key",description:"Simple key/value secret",icon:l.A},login:{label:"Login",description:"Websites and app accounts",icon:l.A},sso:{label:"SSO Login",description:"Website + identity provider references",icon:i.A},note:{label:"Secure Note",description:"Private notes and secrets",icon:n.A},card:{label:"Credit Card",description:"Payment cards and details",icon:c.A},oauth2:{label:"OAuth2",description:"Auto-refreshing OAuth2 tokens",icon:i.A},ssh:{label:"SSH Key",description:"Private/public keypair for SSH",icon:l.A},gpg:{label:"GPG Key",description:"Armored key material and metadata",icon:n.A},custom:{label:"Key / Value",description:"Define a custom key/value secret field",icon:n.A}},L=["apikey","login","plain_note"],K=["custom","card","hot_wallet","sso","note","oauth2","ssh","gpg"],q=[{value:"visa",label:"Visa"},{value:"mastercard",label:"Mastercard"},{value:"amex",label:"Amex"},{value:"discover",label:"Discover"},{value:"other",label:"Other"}],F=[{value:"apple",label:"Apple",icon:(0,r.jsx)(d.A,{size:14})},{value:"facebook",label:"Facebook",icon:(0,r.jsx)(u.A,{size:14})},{value:"google",label:"Google",icon:(0,r.jsx)(p.A,{size:14})}],U=e=>e.trim().toLowerCase(),H=(e,t)=>{let a=e?Date.parse(e):NaN;if(Number.isFinite(a))return a;let r=t?Date.parse(t):NaN;return Number.isFinite(r)?r:0},W=e=>{var t;let{isOpen:a,onClose:o,onSaved:n,editCredentialId:l,agents:i,createStartStep:c="form",createStartType:d,createPrefill:u}=e,[p,j]=(0,s.useState)("apikey"),[N,S]=(0,s.useState)("form"),[W,B]=(0,s.useState)(""),[V,G]=(0,s.useState)(""),[$,J]=(0,s.useState)(!1),[Q,Y]=(0,s.useState)([]),[X,Z]=(0,s.useState)(""),[ee,et]=(0,s.useState)(""),[ea,er]=(0,s.useState)(""),[es,eo]=(0,s.useState)(""),[en,el]=(0,s.useState)(""),[ei,ec]=(0,s.useState)(""),[ed,eu]=(0,s.useState)("keep"),[ep,em]=(0,s.useState)(!1),[ex,ef]=(0,s.useState)(""),[eh,ev]=(0,s.useState)("visa"),[eb,eg]=(0,s.useState)(""),[ey,ek]=(0,s.useState)(""),[ew,ej]=(0,s.useState)(""),[eN,eS]=(0,s.useState)(""),[eC,eA]=(0,s.useState)(""),[eE,eT]=(0,s.useState)(""),[eP,eI]=(0,s.useState)(""),[ez,eO]=(0,s.useState)(""),[e_,eR]=(0,s.useState)(""),[eD,eM]=(0,s.useState)(""),[eL,eK]=(0,s.useState)("base"),[eq,eF]=(0,s.useState)(""),[eU,eH]=(0,s.useState)(""),[eW,eB]=(0,s.useState)(""),[eV,eG]=(0,s.useState)("value"),[e$,eJ]=(0,s.useState)(""),[eQ,eY]=(0,s.useState)(""),[eX,eZ]=(0,s.useState)(""),[e0,e1]=(0,s.useState)(""),[e2,e4]=(0,s.useState)(""),[e5,e8]=(0,s.useState)(""),[e6,e3]=(0,s.useState)(""),[e9,e7]=(0,s.useState)("client_secret_post"),[te,tt]=(0,s.useState)(""),[ta,tr]=(0,s.useState)(""),[ts,to]=(0,s.useState)(""),[tn,tl]=(0,s.useState)(""),[ti,tc]=(0,s.useState)(""),[td,tu]=(0,s.useState)(""),[tp,tm]=(0,s.useState)(""),[tx,tf]=(0,s.useState)(""),[th,tv]=(0,s.useState)(""),[tb,tg]=(0,s.useState)(""),[ty,tk]=(0,s.useState)(""),[tw,tj]=(0,s.useState)(null),[tN,tS]=(0,s.useState)(!1),[tC,tA]=(0,s.useState)(null),[tE,tT]=(0,s.useState)(!1),[tP,tI]=(0,s.useState)(!1),[tz,tO]=(0,s.useState)(!1),[t_,tR]=(0,s.useState)(!1),[tD,tM]=(0,s.useState)([]),[tL,tK]=(0,s.useState)([]),[tq,tF]=(0,s.useState)(null),[tU,tH]=(0,s.useState)(null),[tW,tB]=(0,s.useState)({}),tV=(0,s.useRef)({}),[tG,t$]=(0,s.useState)({}),tJ=(0,s.useRef)(null),tQ=(0,s.useRef)(null),[tY,tX]=(0,s.useState)("write"),tZ=!!l,t0=(0,s.useCallback)((e,t,a)=>{switch((0,k.Dw)(a,e)){case T.password:eo(t);break;case T.notes:"login"===a&&el(t),"card"===a&&eT(t);break;case P.number:ek(t),eg(t.replace(/\D/g,"").slice(-4));break;case P.expiry:ej(t);break;case P.cvv:eS(t);break;case k.l3:eM(t);break;case O.value:eB(t);break;case _.accessToken:e4(t);break;case _.refreshToken:e8(t);break;case _.clientId:eZ(t);break;case _.clientSecret:e1(t);break;case R.privateKey:"ssh"===a&&to(t),"gpg"===a&&tf(t);break;case R.passphrase:tl(t);break;default:"custom"===a&&eJ(t)}},[]);(0,s.useEffect)(()=>{tV.current=tW},[tW]);let t1=(0,s.useCallback)(e=>{let t=(0,k.Dw)(p,e);tB(e=>({...e,[t]:!0})),tV.current={...tV.current,[t]:!0}},[p]),t2=(0,s.useMemo)(()=>i.filter(e=>!function(e){return e.parentAgentId||e.linkedTo}(e)),[i]);(0,s.useEffect)(()=>{if(V)return;let e=t2.length>0?t2:i;if(e.length>0){let t=e.find(e=>e.isPrimary);G((null==t?void 0:t.id)||e[0].id)}},[i,t2,V]);let t4=(0,s.useCallback)(async()=>{if(l)try{let e=(await b.FH.get(b.jI.Wallet,"/credentials/".concat(l))).credential,t=e.type;B(e.name),j(t),G(e.agentId),J(e.meta.favorite||!1),Y(e.meta.tags||[]);let a=e.meta.walletLink;tj((null==a?void 0:a.walletAddress)&&("hot"===a.tier||"cold"===a.tier)?a:null),"login"===e.type?(et(e.meta[T.url]||""),er(e.meta[T.username]||""),em(!!e.meta.has_totp)):"card"===e.type?(ef(e.meta[P.cardholder]||""),ev(e.meta[P.brand]||"visa"),eg(e.meta[P.last4]||""),eA(e.meta[P.billingZip]||"")):"sso"===e.type?(eI(e.meta[I.website]||""),eO(e.meta[I.provider]||""),eR(e.meta[I.identifier]||"")):"apikey"===e.type?(eH(e.meta[O.key]||""),eB(e.meta[O.value]||"")):"plain_note"===e.type?eM(e.meta[k.l3]||e.meta[O.value]||""):"oauth2"===e.type?(eY(e.meta[_.tokenEndpoint]||""),e3(e.meta[_.scopes]||""),e7(e.meta[_.authMethod]||"client_secret_post"),tt("number"==typeof e.meta[_.expiresAt]?String(e.meta[_.expiresAt]):"string"==typeof e.meta[_.expiresAt]?e.meta[_.expiresAt]:"")):"hot_wallet"===e.type?(eF(e.meta[z.address]||(null==a?void 0:a.walletAddress)||""),eK(function(e){let t=(e||"").trim().toLowerCase();return"solana"===t||"solana-devnet"===t?"solana":"base"}(e.meta[z.chain]||(null==a?void 0:a.chain)))):"ssh"===e.type?(tr(e.meta[R.publicKey]||""),tc(Array.isArray(e.meta[R.hosts])?e.meta[R.hosts].join("\n"):""),tu(e.meta[R.keyType]||"")):"gpg"===e.type&&(tm(e.meta[D.publicKey]||""),tv(e.meta[D.keyId]||""),tg(e.meta[D.uidEmail]||""),tk(e.meta[D.expiresAt]||""));let r=k.Rn[t];if("custom"===t||"hot_wallet"!==t&&(r||[]).some(e=>e.sensitive))try{let e=await b.FH.post(b.jI.Wallet,"/credentials/".concat(l,"/read")),a=await (0,g.DC)(e.encrypted),r=JSON.parse(a),s={};(r.fields||[]).forEach(e=>{s[(0,k.Dw)(t,e.key)]=e.value}),tH(s),Object.entries(s).forEach(e=>{let[a,r]=e;tV.current[a]||t0(a,r,t)})}catch(e){}}catch(e){tA(e instanceof Error?e.message:"Failed to load credential")}},[l,t0]),t5=(0,s.useCallback)(async()=>{if(!tZ||!l)return{};if(tU)return tU;let e=await b.FH.post(b.jI.Wallet,"/credentials/".concat(l,"/read")),t=JSON.parse(await (0,g.DC)(e.encrypted)),a={};return(t.fields||[]).forEach(e=>{a[(0,k.Dw)(p,e.key)]=e.value}),tH(a),a},[tZ,l,tU,p]),t8=(0,s.useCallback)(async e=>{if(tZ){tF(e),tA(null);try{let t=await t5(),a=(0,k.Dw)(p,e);if(tV.current[a])return;t0(e,t[a]||t[e]||"",p)}catch(e){tA(e instanceof Error?e.message:"Decryption failed -- try re-unlocking")}finally{tF(null)}}},[t5,tZ,t0]),t6=(0,s.useCallback)(e=>{switch((0,k.Dw)(p,e)){case T.password:return es;case O.value:return eW;case k.u.custom.value:return e$;default:return"custom"===p?e$:""}},[eW,e$,es,p]),t3=(0,s.useCallback)(e=>!!tG[(0,k.Dw)(p,e)],[p,tG]),t9=(0,s.useCallback)(async e=>{let t=(0,k.Dw)(p,e);if(tG[t])return void t$(e=>({...e,[t]:!1}));tZ&&!t6(e).trim()&&await t8(e),t$(e=>({...e,[t]:!0}))},[t6,t8,tZ,p,tG]);(0,s.useEffect)(()=>{a&&(tZ?S("form"):(S(c),d&&j(d),(null==u?void 0:u.type)&&j(u.type),(null==u?void 0:u.agentId)&&G(u.agentId),(null==u?void 0:u.tags)&&u.tags.length>0&&Y(u.tags),(null==u?void 0:u.name)&&B(u.name),(null==u?void 0:u.noteContent)&&eM(u.noteContent)),tO(!1),tI(!1),t$({}),eu(tZ?"keep":"replace"))},[a,tZ,c,d,u]),(0,s.useEffect)(()=>{!a||tZ||"oauth2"!==p||te||tt(String(Math.floor(Date.now()/1e3)+3600))},[a,tZ,p,te]),(0,s.useEffect)(()=>{a&&(async()=>{try{let e=(await b.FH.get(b.jI.Wallet,"/credentials")).credentials||[],t=e.filter(e=>"login"===e.type),a=new Map;t.forEach(e=>{let t=String(e.meta.username||"").trim();if(!t)return;let r=U(t),s=H(e.updatedAt,e.createdAt),o=a.get(r);if(!o)return void a.set(r,{raw:t,frequency:1,recent:s});o.frequency+=1,s>o.recent&&(o.recent=s,o.raw=t)});let r=Array.from(a.entries()).sort((e,t)=>t[1].recent!==e[1].recent?t[1].recent-e[1].recent:t[1].frequency!==e[1].frequency?t[1].frequency-e[1].frequency:e[0].localeCompare(t[0])).map(e=>{let[,t]=e;return t.raw}).slice(0,20),s=new Map;e.forEach(e=>{let t=H(e.updatedAt,e.createdAt);new Set((Array.isArray(e.meta.tags)?e.meta.tags:[]).map(e=>String(e).trim()).filter(Boolean)).forEach(e=>{let a=U(e),r=s.get(a);if(!r)return void s.set(a,{frequency:1,recent:t});r.frequency+=1,t>r.recent&&(r.recent=t)})});let o=Array.from(s.entries()).sort((e,t)=>t[1].recent!==e[1].recent?t[1].recent-e[1].recent:t[1].frequency!==e[1].frequency?t[1].frequency-e[1].frequency:e[0].localeCompare(t[0])).map(e=>{let[t]=e;return t}).slice(0,30);tM(r),tK(o)}catch(e){tM([]),tK([])}})()},[a]),(0,s.useEffect)(()=>{a&&l&&(tH(null),tB({}),tV.current={},t4())},[a,l,t4]),(0,s.useEffect)(()=>{a||(B(""),G(""),J(!1),Y([]),Z(""),et(""),er(""),eo(""),el(""),ec(""),eu("keep"),em(!1),ef(""),ev("visa"),eg(""),ek(""),ej(""),eS(""),eA(""),eT(""),eI(""),eO(""),eR(""),eM(""),eK("base"),eF(""),eH(""),eB(""),eG("value"),eJ(""),eY(""),eZ(""),e1(""),e4(""),e8(""),e3(""),e7("client_secret_post"),tt(""),tr(""),to(""),tl(""),tc(""),tu(""),tm(""),tf(""),tv(""),tg(""),tk(""),tj(null),tA(null),tS(!1),tI(!1),tF(null),tH(null),tB({}),tV.current={},t$({}),tO(!1),tR(!1),tX("write"))},[a]),(0,s.useEffect)(()=>{"login"!==p&&tI(!1)},[p]);let t7=t2.map(e=>({value:e.id,label:e.name||(e.isPrimary?"Primary":e.id.slice(0,8))})),ae=(0,s.useCallback)(()=>{var e;null==(e=tQ.current)||e.click()},[]),at=(0,s.useCallback)(e=>"function"==typeof e.text?e.text():new Promise((t,a)=>{let r=new FileReader;r.onerror=()=>a(Error("Failed to read note file")),r.onload=()=>t("string"==typeof r.result?r.result:""),r.readAsText(e)}),[]),aa=(0,s.useCallback)(async e=>{if(!e)return;tA(null);let t=e.name.toLowerCase();if(!(t.endsWith(".md")||t.endsWith(".markdown")||t.endsWith(".txt")))return void tA("Please choose a Markdown or text file (.md, .markdown, .txt).");try{let t=await at(e);if(!t.trim())return void tA("The selected note file is empty.");eM(t),tZ&&"note"===p&&t1(k.l3)}catch(e){tA(e instanceof Error?e.message:"Failed to import note file")}},[tZ,t1,at,p]),ar=(0,s.useCallback)(e=>{var t,a;aa(null!=(a=null==(t=e.target.files)?void 0:t[0])?a:null),e.currentTarget.value=""},[aa]),as=tL.filter(e=>!Q.includes(e)).filter(e=>!X.trim()||e.toLowerCase().includes(X.trim().toLowerCase())).slice(0,6),ao=(0,s.useMemo)(()=>eD.trim()?(0,y.Q)(eD.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;"),{preserveSingleLineBreaks:!0,decodeEscapedNewlines:!0}):"",[eD]),an=(0,s.useCallback)(()=>{let e=E({type:p,apiKeyName:eU,username:ea,url:ee,noteContent:eD,customFieldKey:eV,hotWalletChain:eL,cardholder:ex,cardNumber:ey,cardLast4:eb,ssoWebsite:eP,ssoProvider:ez,oauth2TokenEndpoint:eQ,sshHostsInput:ti,gpgKeyId:th,gpgUidEmail:tb});if(!W.trim()&&!e||"login"===p&&!tZ&&!es.trim()||"login"===p&&tZ&&"replace"===ed&&!ei.trim()||"plain_note"===p&&!eD.trim()||"apikey"===p&&(!eU.trim()||!eW.trim())||"custom"===p&&(!eV.trim()||!e$.trim())||"sso"===p&&(!eP.trim()||!ez.trim())||"ssh"===p&&!ts.trim()&&!tZ||"gpg"===p&&!tx.trim()&&!tZ)return!1;if("oauth2"===p){if(!eQ.trim())return!1;let e=Number.parseInt(te,10);if(!Number.isFinite(e)||e<=0||!tZ&&(!e2.trim()||!e5.trim()||!eX.trim()||!e0.trim()))return!1}return!0},[eU,eW,ey,eb,ex,eV,e$,th,tx,tb,eL,tZ,W,eD,e2,eX,e0,te,e5,eQ,es,ez,eP,ti,ts,ed,ei,p,ee,ea]),al=async()=>{let e=E({type:p,apiKeyName:eU,username:ea,url:ee,noteContent:eD,customFieldKey:eV,hotWalletChain:eL,cardholder:ex,cardNumber:ey,cardLast4:eb,ssoWebsite:eP,ssoProvider:ez,oauth2TokenEndpoint:eQ,sshHostsInput:ti,gpgKeyId:th,gpgUidEmail:tb});if("login"===p&&!tZ&&!es.trim())return void tA("Password is required for login");if("login"===p&&tZ&&"replace"===ed&&!ei.trim())return void tA("TOTP replace requires a valid secret or setup link");if("plain_note"===p&&!eD.trim())return void tA("Content is required for plain note");if("apikey"===p&&(!eU.trim()||!eW.trim()))return void tA("Key and value are required for API key");if("custom"===p&&(!eV.trim()||!e$.trim()))return void tA("Primary key and value are required for custom type");if("sso"===p&&!eP.trim())return void tA("Website is required for SSO login");if("sso"===p&&!ez.trim())return void tA("Provider is required for SSO login");if("ssh"===p&&!ts.trim()&&!tZ)return void tA("SSH private key is required");if("gpg"===p&&!tx.trim()&&!tZ)return void tA("GPG private key is required");if("oauth2"===p){if(!eQ.trim())return void tA("OAuth2 requires a token endpoint. Add a valid token endpoint URL.");let e=Number.parseInt(te,10);if(!Number.isFinite(e)||e<=0)return void tA("OAuth2 expiry is invalid. Enter a positive unix timestamp in seconds.");if(!tZ){if(!e2.trim())return void tA("OAuth2 requires an access token.");if(!e5.trim())return void tA("OAuth2 requires a refresh token.");if(!eX.trim())return void tA("OAuth2 requires a client ID.");if(!e0.trim())return void tA("OAuth2 requires a client secret.")}}if(!W.trim()&&!e)return void tA("Name is required");tS(!0),tA(null);try{let e,a=(()=>{let e=ey.replace(/\D/g,""),t=e.length>=4?e.slice(-4):eb.trim(),a=function(e){let{type:t,name:a,apiKeyName:r,username:s,url:o,noteContent:n,customFieldKey:l,hotWalletChain:i,cardNumber:c,cardBrand:d,cardLast4:u,ssoWebsite:p,ssoProvider:m,oauth2TokenEndpoint:x,sshHostsInput:f,gpgKeyId:h,gpgUidEmail:v}=e,b=(e=>{let t=e.trim().toLowerCase();return t&&"other"!==t&&t.replace(/[^a-z0-9]+/g,"_").replace(/^_+|_+$/g,"")||"card"})(d||""),g=((e,t)=>{let a=e.replace(/\D/g,"");return a.length>=4?a.slice(-4):t.replace(/\D/g,"").slice(-4)})(c||"",u||""),y=g?"".concat(b,"_").concat(g):b,k=(f||"").split(/\n|,/).map(e=>e.trim()).filter(Boolean),w=(e=>{let t=e.trim().toLowerCase();return t?t.charAt(0).toUpperCase()+t.slice(1):""})(m||""),j=(p||"").trim(),N=w&&j?"".concat(w," (").concat(j,")"):j||(w?"".concat(w," SSO"):"SSO Login"),S={plain_note:A(n),apikey:r.trim(),login:s.trim()||o.trim()||"Login",note:A(n),hot_wallet:i.trim()?"Hot Wallet (".concat(i.trim().toUpperCase(),")"):"Hot Wallet",custom:l.trim(),card:y,sso:N,oauth2:(x||"").trim()||"OAuth2",ssh:k[0]||"SSH Key",gpg:(h||"").trim()||(v||"").trim()||"GPG Key"};return"card"===t?S.card||"card":"apikey"===t?S.apikey||a.trim():"note"===t||"plain_note"===t?S[t]||a.trim():a.trim()||S[t]||""}({type:p,name:W,apiKeyName:eU,username:ea,url:ee,noteContent:eD,customFieldKey:eV,hotWalletChain:eL,cardholder:ex,cardNumber:ey,cardBrand:eh,cardLast4:t,ssoWebsite:eP,ssoProvider:ez,oauth2TokenEndpoint:eQ,sshHostsInput:ti,gpgKeyId:th,gpgUidEmail:tb}),r=eV.trim()||(0,k.VB)(p),s=[],o={tags:Q,favorite:$};switch(p){case"login":ee&&s.push({key:T.url,value:ee,type:"text",sensitive:!1}),s.push({key:T.username,value:ea,type:"text",sensitive:!1}),s.push({key:T.password,value:es,type:"secret",sensitive:!0}),(en.trim()||tZ&&tW[T.notes])&&s.push({key:T.notes,value:en,type:"text",sensitive:!0}),tZ?("replace"===ed&&ei.trim()&&s.push({key:T.totp,value:ei.trim().replace(/\s+/g,"").toUpperCase(),type:"secret",sensitive:!0}),"remove"===ed&&s.push({key:T.totp,value:"",type:"secret",sensitive:!0})):ei.trim()&&s.push({key:T.totp,value:ei.trim().replace(/\s+/g,"").toUpperCase(),type:"secret",sensitive:!0}),o={...o,[T.url]:ee,[T.username]:ea};break;case"card":s.push({key:P.cardholder,value:ex,type:"text",sensitive:!1}),s.push({key:P.number,value:ey,type:"text",sensitive:!0}),s.push({key:P.cvv,value:eN,type:"secret",sensitive:!0}),s.push({key:P.expiry,value:ew,type:"text",sensitive:!0}),(eE.trim()||tZ&&tW[P.notes])&&s.push({key:P.notes,value:eE,type:"text",sensitive:!0}),o={...o,[P.brand]:eh,[P.cardholder]:ex,[P.last4]:t,[P.billingZip]:eC};break;case"sso":s.push({key:I.website,value:eP.trim(),type:"text",sensitive:!1}),s.push({key:I.provider,value:ez.trim().toLowerCase(),type:"text",sensitive:!1}),s.push({key:I.identifier,value:e_.trim(),type:"text",sensitive:!1}),o={...o,[I.website]:eP.trim(),[I.provider]:ez.trim().toLowerCase(),[I.identifier]:e_.trim()};break;case"note":s.push({key:k.l3,value:eD,type:"text",sensitive:!0});break;case"hot_wallet":tZ&&eq.trim()&&s.push({key:z.address,value:eq.trim(),type:"text",sensitive:!1}),o={...o,[z.chain]:eL,...eq.trim()?{[z.address]:eq.trim()}:{}};break;case"plain_note":s.push({key:k.l3,value:eD,type:"text",sensitive:!1}),o={...o,[k.l3]:eD};break;case"apikey":s.push({key:O.key,value:eU,type:"text",sensitive:!1}),s.push({key:O.value,value:eW,type:"secret",sensitive:!0}),o={...o,[O.key]:eU};break;case"custom":s.push({key:r,value:e$,type:"secret",sensitive:!0}),o={...o,primaryKey:r};break;case"oauth2":{let e=Number.parseInt(te,10);s.push({key:_.accessToken,value:e2,type:"secret",sensitive:!0}),s.push({key:_.refreshToken,value:e5,type:"secret",sensitive:!0}),s.push({key:_.clientId,value:eX,type:"secret",sensitive:!0}),s.push({key:_.clientSecret,value:e0,type:"secret",sensitive:!0}),o={...o,[_.tokenEndpoint]:eQ,[_.scopes]:e6,[_.authMethod]:e9,[_.expiresAt]:Number.isFinite(e)?e:null};break}case"ssh":{let e=ti.split(/\n|,/).map(e=>e.trim()).filter(Boolean);s.push({key:R.privateKey,value:ts,type:"secret",sensitive:!0}),tn.trim()&&s.push({key:R.passphrase,value:tn,type:"secret",sensitive:!0}),ta.trim()&&s.push({key:R.publicKey,value:ta,type:"text",sensitive:!1}),o={...o,[R.publicKey]:ta,[R.hosts]:e,[R.keyType]:td||void 0};break}case"gpg":s.push({key:D.privateKey,value:tx,type:"secret",sensitive:!0}),tp.trim()&&s.push({key:D.publicKey,value:tp,type:"text",sensitive:!1}),o={...o,[D.publicKey]:tp,[D.keyId]:th,[D.uidEmail]:tb,[D.expiresAt]:ty||void 0}}return tw&&(o={...o,walletLink:tw}),{agentId:V,type:p,name:a,fields:s,meta:o}})();if(tZ){let t=a.fields.filter(e=>!e.sensitive||!!tW[e.key]);await b.FH.put(b.jI.Wallet,"/credentials/".concat(l),{...a,fields:t}),e=l}else{var t;let r=await b.FH.post(b.jI.Wallet,"/credentials",a);e=null==r||null==(t=r.credential)?void 0:t.id}await n(e),o()}catch(e){tA(e instanceof Error?e.message:"Failed to save credential")}finally{tS(!1)}};(0,s.useEffect)(()=>{if(!a||tZ||"form"!==N)return;let e=e=>{"Enter"===e.key&&(e.metaKey||e.ctrlKey)&&!e.altKey&&!e.shiftKey&&!tN&&an()&&(e.preventDefault(),e.stopPropagation(),al())};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[an,N,al,tZ,a,tN]);let ai="w-full h-24 bg-[var(--color-background-alt,#f4f4f5)] border border-[var(--color-border,#d4d4d8)] font-mono text-sm p-3 resize-none focus:border-[var(--color-border-focus,#0a0a0a)] outline-none text-[var(--color-text,#0a0a0a)] placeholder-[var(--color-text-muted,#6b7280)]",ac=(null==(t=M[p])?void 0:t.label)||"Credential",ad=(0,k.VB)(p),au=(0,k.zo)(p),ap=(null==au?void 0:au.label)||"Primary Value",am="form"===N?"Create ".concat(ac):"Create";return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(v.aF,{isOpen:a,onClose:o,title:tZ?"Edit Credential":am,size:"lg",headerActionPosition:"left",headerAction:tZ||"form"!==N?void 0:(0,r.jsx)("button",{type:"button","data-testid":"back-to-type-picker",onClick:()=>S("type"),className:"inline-flex items-center justify-center w-6 h-6 text-[var(--color-text-muted,#6b7280)] hover:text-[var(--color-text,#0a0a0a)] transition-colors","aria-label":"Back to type picker",children:(0,r.jsx)(m.A,{size:12})}),footer:(0,r.jsxs)("div",{className:"flex justify-end gap-2",children:[(0,r.jsx)(v.$n,{variant:"secondary",size:"sm",onClick:o,children:"Cancel"}),tZ||"type"!==N?(0,r.jsx)(v.$n,{variant:"primary",size:"sm",onClick:al,loading:tN,children:"Save"}):null]}),children:tZ||"type"!==N?(0,r.jsxs)("div",{"data-testid":"credential-form-layout",className:"space-y-4 gap-4",children:[(0,r.jsx)("input",{ref:tQ,type:"file",accept:".md,.markdown,.txt,text/markdown,text/plain",onChange:ar,className:"hidden","data-testid":"note-markdown-file-input"}),(0,r.jsx)("div",{className:"space-y-2",children:(0,r.jsx)("div",{className:"flex items-center justify-between px-1",children:(0,r.jsxs)("span",{className:"font-mono text-[9px] font-bold uppercase tracking-widest text-[var(--color-text-muted,#6b7280)]",children:["Type: ",ac]})})}),"login"===p&&(0,r.jsxs)("div",{className:"space-y-3",children:[(0,r.jsx)(v.ks,{label:"Username",value:ea,onChange:e=>er(e.target.value),onFocus:()=>tR(!0),onBlur:()=>setTimeout(()=>tR(!1),50),placeholder:"user@example.com",list:"login-username-suggestions"}),t_&&tD.length>0&&(0,r.jsx)("datalist",{id:"login-username-suggestions",children:tD.map(e=>(0,r.jsx)("option",{value:e},e))}),(0,r.jsx)(v.ks,{label:"Website",value:ee,onChange:e=>et(e.target.value),placeholder:"https://example.com"}),(0,r.jsxs)("div",{className:"relative",children:[(0,r.jsx)(v.ks,{label:"Password",type:t3(T.password)?"text":"password",value:es,onChange:e=>{eo(e.target.value),tZ&&t1(T.password)},onFocus:()=>tI(!0),onClick:()=>tI(!0),onBlur:e=>{var t;let a=e.relatedTarget;a&&(null==(t=tJ.current)?void 0:t.contains(a))||tI(!1)},placeholder:tZ?"••••••••":"",rightElement:(0,r.jsx)("button",{type:"button",onClick:()=>{t9(T.password)},"aria-label":t3(T.password)?"Hide Password":"Reveal Password",className:"text-[var(--color-text-muted,#6b7280)] hover:text-[var(--color-text,#0a0a0a)] transition-colors",children:tq===T.password?(0,r.jsx)(x.A,{size:11,className:"animate-spin"}):(0,r.jsx)(f.A,{size:12})})}),tP&&(0,r.jsx)("div",{ref:tJ,className:"absolute right-0 top-full mt-1 z-20 min-w-[13rem] border border-[var(--color-border,#d4d4d8)] bg-[var(--color-surface,#ffffff)] shadow-[2px_2px_0_rgba(10,10,10,0.08)]",children:(0,r.jsx)("button",{type:"button",onMouseDown:e=>e.preventDefault(),onClick:()=>{tT(!0),tI(!1)},className:"w-full text-left px-3 py-2 font-mono text-[9px] uppercase tracking-widest text-[var(--color-text,#0a0a0a)] hover:bg-[var(--color-background-alt,#f4f4f5)]",children:"Generate New Password"})})]}),tz&&(0,r.jsxs)("div",{className:"space-y-3 border border-[var(--color-border,#d4d4d8)] p-3 bg-[var(--color-background-alt,#f4f4f5)]",children:[(0,r.jsxs)("div",{children:[(0,r.jsxs)("div",{className:"flex items-center justify-between mb-1.5 px-1",children:[(0,r.jsx)("label",{className:"block font-mono text-[9px] font-bold uppercase tracking-widest text-[var(--color-text-muted,#6b7280)]",children:"Notes"}),tZ&&(0,r.jsxs)("button",{type:"button",onClick:()=>{t8(T.notes)},"aria-label":"Reveal Notes",className:"font-mono text-[8px] uppercase tracking-widest text-[var(--color-text-muted,#6b7280)] hover:text-[var(--color-text,#0a0a0a)] transition-colors inline-flex items-center gap-1",children:[tq===T.notes?(0,r.jsx)(x.A,{size:9,className:"animate-spin"}):(0,r.jsx)(f.A,{size:9}),"Reveal"]})]}),(0,r.jsx)("textarea",{className:ai,value:en,onChange:e=>{el(e.target.value),tZ&&t1(T.notes)},placeholder:tZ?"••••••••":""})]}),(0,r.jsx)(C,{isEdit:tZ,hasExistingTotp:ep,onIntentChange:e=>{eu(e),tZ&&"remove"===e&&t1(T.totp)},onSecretChange:(e,t)=>{ec(e),tZ&&(t?(t1(T.totp),e.trim()&&eu("replace")):"remove"!==ed&&eu(ep?"keep":"replace"))}})]})]}),"card"===p&&(0,r.jsxs)("div",{className:"space-y-3",children:[(0,r.jsx)(v.ks,{label:"Cardholder",value:ex,onChange:e=>ef(e.target.value),placeholder:"John Doe"}),(0,r.jsx)(v.ks,{label:"Card Number",value:ey,onChange:e=>{let t=e.target.value;ek(t),eg(t.replace(/\D/g,"").slice(-4)),tZ&&t1(P.number)},placeholder:tZ?"••••••••":""}),(0,r.jsxs)("div",{className:"flex gap-3",children:[(0,r.jsx)("div",{className:"flex-1",children:(0,r.jsx)(v.ks,{label:"Expiry",value:ew,onChange:e=>{ej(e.target.value),tZ&&t1(P.expiry)},placeholder:"MM/YY"})}),(0,r.jsx)("div",{className:"flex-1",children:(0,r.jsx)(v.ks,{label:"CVV",type:"password",value:eN,onChange:e=>{eS(e.target.value),tZ&&t1(P.cvv)},placeholder:tZ?"••••":""})})]}),tz&&(0,r.jsxs)("div",{className:"space-y-3 border border-[var(--color-border,#d4d4d8)] p-3 bg-[var(--color-background-alt,#f4f4f5)]",children:[(0,r.jsx)(v.UM,{options:q,value:eh,onChange:ev,label:"Brand"}),(0,r.jsx)(v.ks,{label:"Billing ZIP",value:eC,onChange:e=>eA(e.target.value),placeholder:"12345"})]})]}),"sso"===p&&(0,r.jsxs)("div",{className:"space-y-3",children:[(0,r.jsx)(v.ks,{label:"Website",value:eP,onChange:e=>eI(e.target.value),placeholder:"https://example.com"}),(0,r.jsxs)("div",{className:"space-y-1",children:[(0,r.jsx)("label",{className:"block font-mono text-[9px] font-bold uppercase tracking-widest text-[var(--color-text-muted,#6b7280)]",children:"Provider"}),(0,r.jsx)("div",{"data-testid":"sso-provider-select",children:(0,r.jsx)(v.O6,{ariaLabel:"SSO Provider",options:F.map(e=>({value:e.value,label:e.label,description:"Sign in with ".concat(e.label),icon:e.icon})),value:ez,onChange:e=>eO(String(e))})})]}),tz&&(0,r.jsx)("div",{className:"space-y-3 border border-[var(--color-border,#d4d4d8)] p-3 bg-[var(--color-background-alt,#f4f4f5)]",children:(0,r.jsx)(v.ks,{label:"Identifier (email/phone/username)",value:e_,onChange:e=>eR(e.target.value),placeholder:"alice@example.com"})})]}),"note"===p&&(0,r.jsxs)("div",{children:[(0,r.jsxs)("div",{className:"flex items-center justify-between mb-1.5 px-1",children:[(0,r.jsx)("label",{className:"block font-mono text-[9px] font-bold uppercase tracking-widest text-[var(--color-text-muted,#6b7280)]",children:"Content"}),tZ&&(0,r.jsxs)("button",{type:"button",onClick:()=>{t8(k.l3)},"aria-label":"Reveal Content",className:"font-mono text-[8px] uppercase tracking-widest text-[var(--color-text-muted,#6b7280)] hover:text-[var(--color-text,#0a0a0a)] transition-colors inline-flex items-center gap-1",children:[tq===k.l3?(0,r.jsx)(x.A,{size:9,className:"animate-spin"}):(0,r.jsx)(f.A,{size:9}),"Reveal"]})]}),(0,r.jsx)("div",{className:"mb-2 px-1",children:(0,r.jsxs)("div",{className:"flex items-center justify-between gap-2","data-testid":"note-editor-toolbar",children:[(0,r.jsxs)("div",{className:"inline-flex border border-[var(--color-border,#d4d4d8)]",children:[(0,r.jsx)("button",{type:"button","data-testid":"note-mode-write",onClick:()=>tX("write"),className:"px-2 py-1 font-mono text-[8px] uppercase tracking-widest transition-colors ".concat("write"===tY?"bg-[var(--color-text,#0a0a0a)] text-[var(--color-surface,#ffffff)]":"text-[var(--color-text-muted,#6b7280)] hover:text-[var(--color-text,#0a0a0a)] hover:bg-[var(--color-background-alt,#f4f4f5)]"),children:"Write"}),(0,r.jsx)("button",{type:"button","data-testid":"note-mode-preview",onClick:()=>tX("preview"),className:"px-2 py-1 font-mono text-[8px] uppercase tracking-widest transition-colors ".concat("preview"===tY?"bg-[var(--color-text,#0a0a0a)] text-[var(--color-surface,#ffffff)]":"text-[var(--color-text-muted,#6b7280)] hover:text-[var(--color-text,#0a0a0a)] hover:bg-[var(--color-background-alt,#f4f4f5)]"),children:"Preview"})]}),(0,r.jsxs)("button",{type:"button",onClick:ae,className:"font-mono text-[8px] uppercase tracking-widest text-[var(--color-text-muted,#6b7280)] hover:text-[var(--color-text,#0a0a0a)] transition-colors inline-flex items-center gap-1","data-testid":"note-import-markdown-button",children:[(0,r.jsx)(h.A,{size:9}),"Import .md/.txt"]})]})}),"preview"===tY?(0,r.jsx)("div",{"data-testid":"note-markdown-preview",className:"w-full h-48 overflow-y-auto bg-[var(--color-background-alt,#f4f4f5)] border border-[var(--color-border,#d4d4d8)] p-3",children:ao?(0,r.jsx)("div",{className:"prose-mono max-w-none [&>*:first-child]:mt-0 [&>*:last-child]:mb-0",dangerouslySetInnerHTML:{__html:ao}}):(0,r.jsx)("span",{className:"font-mono text-[10px] text-[var(--color-text-muted,#6b7280)]",children:"Nothing to preview yet."})}):(0,r.jsx)("textarea",{className:ai.replace("h-24","h-48"),value:eD,onChange:e=>{eM(e.target.value),tZ&&t1(k.l3)},placeholder:tZ?"••••••••":""})]}),"plain_note"===p&&(0,r.jsxs)("div",{className:"space-y-3",children:[(0,r.jsx)("p",{className:"font-mono text-[10px] text-[var(--color-text-muted,#6b7280)]",children:"Plain Note stores readable content in metadata (not encrypted)."}),(0,r.jsxs)("div",{children:[(0,r.jsx)("div",{className:"flex items-center justify-between mb-1.5 px-1",children:(0,r.jsx)("label",{className:"block font-mono text-[9px] font-bold uppercase tracking-widest text-[var(--color-text-muted,#6b7280)]",children:"Content"})}),(0,r.jsx)("div",{className:"mb-2",children:(0,r.jsxs)("div",{className:"flex items-center justify-between gap-2","data-testid":"plain-note-editor-toolbar",children:[(0,r.jsxs)("div",{className:"inline-flex border border-[var(--color-border,#d4d4d8)]",children:[(0,r.jsx)("button",{type:"button","data-testid":"plain-note-mode-write",onClick:()=>tX("write"),className:"px-2 py-1 font-mono text-[8px] uppercase tracking-widest transition-colors ".concat("write"===tY?"bg-[var(--color-text,#0a0a0a)] text-[var(--color-surface,#ffffff)]":"text-[var(--color-text-muted,#6b7280)] hover:text-[var(--color-text,#0a0a0a)] hover:bg-[var(--color-background-alt,#f4f4f5)]"),children:"Write"}),(0,r.jsx)("button",{type:"button","data-testid":"plain-note-mode-preview",onClick:()=>tX("preview"),className:"px-2 py-1 font-mono text-[8px] uppercase tracking-widest transition-colors ".concat("preview"===tY?"bg-[var(--color-text,#0a0a0a)] text-[var(--color-surface,#ffffff)]":"text-[var(--color-text-muted,#6b7280)] hover:text-[var(--color-text,#0a0a0a)] hover:bg-[var(--color-background-alt,#f4f4f5)]"),children:"Preview"})]}),(0,r.jsxs)("button",{type:"button",onClick:ae,className:"font-mono text-[8px] uppercase tracking-widest text-[var(--color-text-muted,#6b7280)] hover:text-[var(--color-text,#0a0a0a)] transition-colors inline-flex items-center gap-1","data-testid":"plain-note-import-markdown-button",children:[(0,r.jsx)(h.A,{size:9}),"Import .md/.txt"]})]})}),"preview"===tY?(0,r.jsx)("div",{"data-testid":"plain-note-markdown-preview",className:"w-full h-48 overflow-y-auto bg-[var(--color-background-alt,#f4f4f5)] border border-[var(--color-border,#d4d4d8)] p-3",children:ao?(0,r.jsx)("div",{className:"prose-mono max-w-none [&>*:first-child]:mt-0 [&>*:last-child]:mb-0",dangerouslySetInnerHTML:{__html:ao}}):(0,r.jsx)("span",{className:"font-mono text-[10px] text-[var(--color-text-muted,#6b7280)]",children:"Nothing to preview yet."})}):(0,r.jsx)("textarea",{className:ai.replace("h-24","h-48"),value:eD,onChange:e=>eM(e.target.value),placeholder:""})]})]}),"hot_wallet"===p&&(0,r.jsxs)("div",{className:"space-y-3",children:[(0,r.jsx)("p",{className:"font-mono text-[10px] text-[var(--color-text-muted,#6b7280)]",children:"Generates a hot wallet via backend wallet creation logic and stores the private key as encrypted primary secret."}),(0,r.jsxs)("div",{className:"space-y-1",children:[(0,r.jsx)("label",{className:"block font-mono text-[9px] font-bold uppercase tracking-widest text-[var(--color-text-muted,#6b7280)]",children:"Chain"}),(0,r.jsx)("div",{"data-testid":"hot-wallet-chain-select",children:(0,r.jsx)(v.O6,{ariaLabel:"Chain",options:[{value:"base",label:"Base / EVM",description:"EVM-compatible chains"},{value:"solana",label:"Solana",description:"Solana network wallets"}],value:eL,onChange:e=>eK(e)})})]}),tZ&&(0,r.jsx)(v.ks,{label:"Address",value:eq,onChange:e=>eF(e.target.value),placeholder:"Generated wallet address"})]}),"apikey"===p&&(0,r.jsxs)("div",{className:"space-y-3",children:[(0,r.jsx)("p",{className:"font-mono text-[10px] text-[var(--color-text-muted,#6b7280)]",children:"Minimal flow: key name + key value. If Name is blank, key name becomes the credential title."}),(0,r.jsx)(v.ks,{label:"Key",value:eU,onChange:e=>eH(e.target.value),placeholder:"Service key name"}),(0,r.jsx)(v.ks,{label:"Value",type:t3(O.value)?"text":"password",value:eW,onChange:e=>{eB(e.target.value),tZ&&t1(O.value)},placeholder:tZ?"••••••••":"",rightElement:(0,r.jsx)("button",{type:"button",onClick:()=>{t9(O.value)},"aria-label":t3(O.value)?"Hide Value":"Reveal Value",className:"text-[var(--color-text-muted,#6b7280)] hover:text-[var(--color-text,#0a0a0a)] transition-colors",children:tq===O.value?(0,r.jsx)(x.A,{size:11,className:"animate-spin"}):(0,r.jsx)(f.A,{size:12})})})]}),"custom"===p&&(0,r.jsxs)("div",{className:"space-y-3",children:[(0,r.jsxs)("p",{className:"font-mono text-[10px] text-[var(--color-text-muted,#6b7280)]",children:["Canonical primary key: ",ad]}),(0,r.jsx)(v.ks,{label:"Primary Key",value:eV,onChange:e=>eG(e.target.value),placeholder:"value"}),(0,r.jsx)(v.ks,{label:ap,type:t3(k.u.custom.value)?"text":"password",value:e$,onChange:e=>eJ(e.target.value),placeholder:tZ?"••••••••":"",rightElement:(0,r.jsx)("button",{type:"button",onClick:()=>{t9(k.u.custom.value)},"aria-label":t3(k.u.custom.value)?"Hide Value":"Reveal Value",className:"text-[var(--color-text-muted,#6b7280)] hover:text-[var(--color-text,#0a0a0a)] transition-colors",children:tq===k.u.custom.value?(0,r.jsx)(x.A,{size:11,className:"animate-spin"}):(0,r.jsx)(f.A,{size:12})})})]}),"oauth2"===p&&(0,r.jsxs)("div",{className:"space-y-3",children:[(0,r.jsx)(v.ks,{label:"Token Endpoint",value:eQ,onChange:e=>eY(e.target.value),placeholder:"https://accounts.google.com/o/oauth2/token"}),(0,r.jsx)(v.ks,{label:"Access Token",type:"password",value:e2,onChange:e=>{e4(e.target.value),tZ&&t1(_.accessToken)},placeholder:tZ?"••••••••":"Optional — will be fetched on first use"}),(0,r.jsx)(v.ks,{label:"Expires At (unix seconds)",type:"text",value:te,onChange:e=>tt(e.target.value),placeholder:String(Math.floor(Date.now()/1e3)+3600)}),tz&&(0,r.jsxs)("div",{className:"space-y-3 border border-[var(--color-border,#d4d4d8)] p-3 bg-[var(--color-background-alt,#f4f4f5)]",children:[(0,r.jsx)(v.ks,{label:"Client ID",value:eX,onChange:e=>{eZ(e.target.value),tZ&&t1(_.clientId)},placeholder:"your-client-id"}),(0,r.jsx)(v.ks,{label:"Client Secret",type:"password",value:e0,onChange:e=>{e1(e.target.value),tZ&&t1(_.clientSecret)},placeholder:tZ?"••••••••":""}),(0,r.jsx)(v.ks,{label:"Refresh Token",type:"password",value:e5,onChange:e=>{e8(e.target.value),tZ&&t1(_.refreshToken)},placeholder:tZ?"••••••••":""}),(0,r.jsx)(v.ks,{label:"Scopes",value:e6,onChange:e=>e3(e.target.value),placeholder:"read write (space-separated)"}),(0,r.jsx)(v.UM,{options:[{value:"client_secret_post",label:"Client Secret (POST body)"},{value:"client_secret_basic",label:"Client Secret (Basic Auth)"}],value:e9,onChange:e7,label:"Auth Method"})]})]}),"ssh"===p&&(0,r.jsxs)("div",{className:"space-y-3",children:[(0,r.jsx)(v.ks,{label:"Public Key (optional)",value:ta,onChange:e=>tr(e.target.value),placeholder:"ssh-ed25519 AAAA..."}),(0,r.jsxs)("div",{children:[(0,r.jsx)("label",{className:"block font-mono text-[9px] font-bold uppercase tracking-widest text-[var(--color-text-muted,#6b7280)]",children:"Private Key"}),(0,r.jsx)("textarea",{className:ai.replace("h-24","h-40"),value:ts,onChange:e=>{to(e.target.value),tZ&&t1(R.privateKey)},placeholder:tZ?"••••••••":"-----BEGIN OPENSSH PRIVATE KEY-----"})]}),(0,r.jsx)(v.ks,{label:"Passphrase (optional)",type:"password",value:tn,onChange:e=>{tl(e.target.value),tZ&&t1(R.passphrase)}}),(0,r.jsxs)("div",{children:[(0,r.jsx)("label",{className:"block font-mono text-[9px] font-bold uppercase tracking-widest text-[var(--color-text-muted,#6b7280)]",children:"Associated Hosts (comma or newline)"}),(0,r.jsx)("textarea",{className:ai,value:ti,onChange:e=>tc(e.target.value),placeholder:"github.com prod.example.com"})]})]}),"gpg"===p&&(0,r.jsxs)("div",{className:"space-y-3",children:[(0,r.jsxs)("div",{children:[(0,r.jsx)("label",{className:"block font-mono text-[9px] font-bold uppercase tracking-widest text-[var(--color-text-muted,#6b7280)]",children:"Private Key (armored)"}),(0,r.jsx)("textarea",{className:ai.replace("h-24","h-40"),value:tx,onChange:e=>{tf(e.target.value),tZ&&t1(D.privateKey)},placeholder:tZ?"••••••••":"-----BEGIN PGP PRIVATE KEY BLOCK-----"})]}),(0,r.jsxs)("div",{children:[(0,r.jsx)("label",{className:"block font-mono text-[9px] font-bold uppercase tracking-widest text-[var(--color-text-muted,#6b7280)]",children:"Public Key (optional)"}),(0,r.jsx)("textarea",{className:ai,value:tp,onChange:e=>tm(e.target.value),placeholder:"-----BEGIN PGP PUBLIC KEY BLOCK-----"})]}),(0,r.jsx)(v.ks,{label:"Key ID (optional)",value:th,onChange:e=>tv(e.target.value)}),(0,r.jsx)(v.ks,{label:"UID Email (optional)",value:tb,onChange:e=>tg(e.target.value)}),(0,r.jsx)(v.ks,{label:"Expires At (optional)",value:ty,onChange:e=>tk(e.target.value),placeholder:"2027-01-01"})]}),(0,r.jsx)("button",{type:"button",onClick:()=>tO(e=>!e),className:"font-mono text-[9px] uppercase tracking-widest text-[var(--color-text-muted,#6b7280)] hover:text-[var(--color-text,#0a0a0a)] text-left",children:tz?"Hide Advanced":"Show Advanced"}),tz&&(0,r.jsxs)("div",{className:"space-y-4 border border-[var(--color-border,#d4d4d8)] p-3 bg-[var(--color-background-alt,#f4f4f5)]",children:[!tZ&&t7.length>0&&(0,r.jsx)(v.UM,{options:t7,value:V,onChange:G,label:"Agent"}),(0,r.jsxs)("div",{children:[(0,r.jsx)(v.ks,{label:"Tags",value:X,onChange:e=>Z(e.target.value),onKeyDown:e=>{if("Enter"===e.key){e.preventDefault();let t=X.trim();t&&!Q.includes(t)&&Y([...Q,t]),Z("")}},placeholder:"Add tag and press Enter"}),as.length>0&&(0,r.jsx)("div",{className:"flex flex-wrap gap-1 mt-1",children:as.map(e=>(0,r.jsxs)("button",{type:"button",onClick:()=>{Q.includes(e)||Y([...Q,e]),Z("")},className:"font-mono text-[9px] px-2 py-0.5 border border-[var(--color-border,#d4d4d8)] hover:border-[var(--color-border-focus,#0a0a0a)]",children:["+ ",e]},e))}),Q.length>0&&(0,r.jsx)("div",{className:"flex flex-wrap gap-1 mt-2",children:Q.map(e=>(0,r.jsxs)("span",{className:"inline-flex items-center gap-1 bg-[var(--color-accent,#ccff00)]/10 text-[var(--color-text,#0a0a0a)] text-[9px] font-mono px-2 py-0.5",children:[e,(0,r.jsx)("button",{type:"button",onClick:()=>{Y(Q.filter(t=>t!==e))},className:"text-[var(--color-text-muted,#6b7280)] hover:text-[var(--color-text,#0a0a0a)] ml-0.5",children:"x"})]},e))})]}),(0,r.jsx)(v.lM,{size:"sm",checked:$,onChange:J,label:"Favorite"})]}),tC&&(0,r.jsx)("div",{className:"font-mono text-[10px] text-[var(--color-danger,#ef4444)] bg-[var(--color-danger,#ef4444)]/5 border border-[var(--color-danger,#ef4444)]/20 px-3 py-2",children:tC})]}):(0,r.jsxs)("div",{className:"space-y-4",children:[(0,r.jsxs)("div",{"data-testid":"featured-types-section",className:"space-y-2",children:[(0,r.jsx)("p",{className:"font-mono text-[9px] font-bold uppercase tracking-widest text-[var(--color-text-muted,#6b7280)]",children:"Common"}),(0,r.jsx)(v.O6,{ariaLabel:"Common types",options:L.map(e=>{let t=M[e].icon;return{value:e,label:M[e].label,description:M[e].description,icon:(0,r.jsx)(t,{size:16}),quickActionLabel:"Quick create ".concat(M[e].label),onQuickAction:()=>{j(e),tA(null),S("form")}}}),value:p,onChange:e=>{j(e),tA(null),S("form")}})]}),(0,r.jsxs)("div",{"data-testid":"other-types-section",className:"space-y-2",children:[(0,r.jsx)("p",{className:"font-mono text-[9px] font-bold uppercase tracking-widest text-[var(--color-text-muted,#6b7280)]",children:"Other Types"}),(0,r.jsx)(v.O6,{ariaLabel:"Other types",options:K.map(e=>{let t=M[e].icon;return{value:e,label:M[e].label,description:M[e].description,icon:(0,r.jsx)(t,{size:16}),quickActionLabel:"Quick create ".concat(M[e].label),onQuickAction:()=>{j(e),tA(null),S("form")}}}),value:p,onChange:e=>{j(e),tA(null),S("form")}})]})]})}),(0,r.jsx)(w.p,{isOpen:tE,onClose:()=>tT(!1),onUse:e=>{eo(e),tZ&&t1(T.password),tT(!1)}})]})}},62520:(e,t,a)=>{a.d(t,{f:()=>n,h:()=>l});var r=a(95155),s=a(12115);let o=(0,s.createContext)(null);function n(e){let{children:t,url:a=["localhost","127.0.0.1","::1"].includes(window.location.hostname)?"ws://127.0.0.1:".concat(parseInt(window.location.port||"4747",10)+1):"wss://wallet-ws.".concat(window.location.hostname.split(".").slice(1).join(".")),token:n}=e,[l,i]=(0,s.useState)(!1),[c,d]=(0,s.useState)(!1),[u,p]=(0,s.useState)(null),m=(0,s.useRef)(null),x=(0,s.useRef)(new Map),f=(0,s.useRef)(1e3),h=(0,s.useRef)(null),v=(0,s.useRef)(!0),b=(0,s.useRef)(!1),g=(0,s.useRef)(!1),y=(0,s.useRef)(a),k=(0,s.useRef)(n),w=(0,s.useRef)(0);(0,s.useEffect)(()=>{y.current=a},[a]);let j=(0,s.useCallback)(e=>{var t;(null==(t=m.current)?void 0:t.readyState)===WebSocket.OPEN&&m.current.send(JSON.stringify(e))},[]),N=(0,s.useCallback)((e,t)=>(x.current.has(e)||x.current.set(e,new Set),x.current.get(e).add(t),()=>{let a=x.current.get(e);a&&(a.delete(t),0===a.size&&x.current.delete(e))}),[]),S=(0,s.useCallback)(e=>{let t=x.current.get(e.type);t&&t.forEach(t=>t(e));let a=x.current.get("*");a&&a.forEach(t=>t(e))},[]),C=(0,s.useCallback)(()=>{if(!v.current)return;if(h.current&&(clearTimeout(h.current),h.current=null),m.current){let e=m.current.readyState;(e===WebSocket.OPEN||e===WebSocket.CONNECTING)&&(m.current.close(),m.current=null)}w.current+=1;let e=w.current,t=y.current,a=k.current;try{let r=new WebSocket(t);m.current=r,r.onopen=()=>{v.current&&w.current===e&&(a&&r.send(JSON.stringify({type:"auth",token:a})),b.current&&g.current&&d(!0),b.current=!0,g.current=!1,i(!0),f.current=1e3)},r.onmessage=e=>{if(v.current)try{let t=JSON.parse(e.data);if("connected"===t.type)return;p(t),S(t)}catch(e){console.error("[WS] Failed to parse message:",e)}},r.onclose=()=>{if(w.current!==e||!v.current)return;g.current=!0,i(!1),m.current=null;let t=f.current;f.current=Math.min(1.5*t,3e4),h.current=setTimeout(C,t)},r.onerror=()=>{}}catch(t){console.error("[WS] Failed to connect:",t);let e=f.current;f.current=Math.min(1.5*e,3e4),h.current=setTimeout(C,e)}},[S]);(0,s.useEffect)(()=>{let e=k.current;k.current=n,e!==n&&setTimeout(()=>{v.current&&C()},100)},[n,C]),(0,s.useEffect)(()=>(v.current=!0,k.current=n,C(),()=>{v.current=!1,h.current&&clearTimeout(h.current),m.current&&(m.current.close(),m.current=null)}),[]);let A=(0,s.useCallback)(()=>{d(!1)},[]);return(0,r.jsx)(o.Provider,{value:{connected:l,reconnected:c,dismissReconnected:A,subscribe:N,send:j,lastEvent:u},children:t})}function l(){let e=(0,s.useContext)(o);if(!e)throw Error("useWebSocket must be used within a WebSocketProvider");return e}},65144:(e,t,a)=>{a.d(t,{S:()=>u});var r=a(12115),s=a(62520),o=a(43721),n=a(90960);let l="auramaxx:dismissed-notification-ids";function i(e,t){let a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:80;return[t,...e.filter(e=>e.id!==t.id)].slice(0,a)}function c(e){return[...e].sort((e,t)=>{let a=new Date(e.createdAt).getTime();return new Date(t.createdAt).getTime()-a})}function d(e){return"string"==typeof e?e:"number"==typeof e?String(e):""}function u(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{autoFetch:t=!0}=e,[a,u]=(0,r.useState)([]),[p,m]=(0,r.useState)([]),[x,f]=(0,r.useState)([]),[h,v]=(0,r.useState)(()=>(function(){try{let e=window.localStorage.getItem(l);if(!e)return new Set;let t=JSON.parse(e);if(!Array.isArray(t))return new Set;return new Set(t.filter(e=>"string"==typeof e&&e.length>0))}catch(e){return new Set}})()),[b,g]=(0,r.useState)([]),[y,k]=(0,r.useState)([]),[w,j]=(0,r.useState)(!0),[N,S]=(0,r.useState)(null),[C,A]=(0,r.useState)(null),[E,T]=(0,r.useState)({pendingActions:0,activeTokens:0}),[P,I]=(0,r.useState)(null),{subscribe:z,connected:O}=(0,s.h)(),_=(0,r.useRef)(!0),R=(0,r.useRef)([]),D=(0,r.useCallback)(()=>{I(null)},[]),M=(0,r.useCallback)(e=>{let t=d(e);t&&(v(e=>{let a=new Set(e);return a.add(t),a}),f(e=>e.filter(e=>d(e.id)!==t)))},[]);(0,r.useEffect)(()=>{R.current=a},[a]),(0,r.useEffect)(()=>{try{if(0===h.size)return void window.localStorage.removeItem(l);window.localStorage.setItem(l,JSON.stringify(Array.from(h)))}catch(e){}},[h]);let L=(0,r.useCallback)(async()=>{try{let s=await n.FH.get(n.jI.Wallet,"/dashboard");if(!_.current)return;if(s.success){var e,t,a,r;u(e=>(function(e,t){let a=Date.now(),r=new Map;return e.filter(e=>"pending"===e.status).forEach(e=>r.set(e.id,e)),t.filter(e=>"pending"===e.status).filter(e=>!r.has(e.id)).filter(e=>a-new Date(e.createdAt).getTime()<=15e3).forEach(e=>r.set(e.id,e)),c(Array.from(r.values()))})(s.requests||[],e)),m(e=>(function(e,t){let a=Date.now(),r=new Map;return e.filter(e=>"pending"!==e.status).forEach(e=>r.set(e.id,e)),t.filter(e=>"pending"!==e.status).filter(e=>!r.has(e.id)).filter(e=>a-new Date(e.createdAt).getTime()<=15e3).forEach(e=>r.set(e.id,e)),c(Array.from(r.values())).slice(0,80)})(s.history||[],e)),g((null==(e=s.tokens)?void 0:e.active)||[]),k((null==(t=s.tokens)?void 0:t.inactive)||[]),T({pendingActions:(null==(a=s.counts)?void 0:a.pendingActions)||0,activeTokens:(null==(r=s.counts)?void 0:r.activeTokens)||0}),S(null)}else S(s.error||"Failed to fetch dashboard")}catch(e){_.current&&S(e instanceof Error?e.message:"Failed to fetch dashboard")}finally{_.current&&j(!1)}},[]),K=(0,r.useCallback)(async()=>{j(!0),await L()},[L]),q=(0,r.useCallback)(async(e,t)=>{A("resolve-".concat(e));try{let a=await n.FH.post(n.jI.Wallet,"/actions/".concat(e,"/resolve"),{approved:t});if(!a.success)return S(a.error||"Action resolution failed"),{success:!1,message:a.error};{let e={success:!0,token:a.token,agentId:a.agentId,limit:a.limit,permissions:a.permissions,expiresIn:a.expiresIn,txHash:a.txHash,message:a.message};return a.token&&I(e),await K(),e}}catch(t){let e=t instanceof Error?t.message:"Action resolution failed";return S(e),{success:!1,message:e}}finally{A(null)}},[K]),F=(0,r.useCallback)(async e=>{A("revoke-".concat(e));try{let t=await n.FH.post(n.jI.Wallet,"/actions/tokens/revoke",{tokenHash:e});if(t.success)return await K(),!0;return S(t.error||"Revoke failed"),!1}catch(e){return S(e instanceof Error?e.message:"Revoke failed"),!1}finally{A(null)}},[K]);(0,r.useEffect)(()=>(_.current=!0,t&&K(),()=>{_.current=!1}),[t,K]),(0,r.useEffect)(()=>{t&&O&&L()},[t,O,L]),(0,r.useEffect)(()=>{if(!t)return;let e=setInterval(()=>{L()},O?2e3:3e3);return()=>clearInterval(e)},[t,O,L]),(0,r.useEffect)(()=>{let e=z(o.Cw.TOKEN_CREATED,e=>{let t=e.data;g(e=>e.some(e=>e.tokenHash===t.tokenHash)?e:[{tokenHash:t.tokenHash,agentId:t.agentId,limit:t.limit,spent:0,remaining:t.limit,permissions:t.permissions,expiresAt:t.expiresAt,isExpired:!1,isRevoked:!1,isActive:!0},...e]),T(e=>({...e,activeTokens:e.activeTokens+1}))}),t=z(o.Cw.TOKEN_REVOKED,e=>{let t=e.data;g(e=>{let a=e.find(e=>e.tokenHash===t.tokenHash);return a&&k(e=>[{...a,isRevoked:!0,isActive:!1},...e]),e.filter(e=>e.tokenHash!==t.tokenHash)}),T(e=>({...e,activeTokens:Math.max(0,e.activeTokens-1)}))}),a=z(o.Cw.TOKEN_SPENT,e=>{let t=e.data;g(e=>e.map(e=>e.tokenHash===t.tokenHash?{...e,spent:t.newSpent,remaining:t.remaining}:e))}),r=z(o.Cw.ACTION_CREATED,e=>{let t=e.data,a=new Date(e.timestamp||Date.now()).toISOString();if("notify"===t.type)return void f(e=>e.some(e=>e.id===t.id)?e:i(e,{id:t.id,type:t.type,fromTier:"system",toAddress:null,amount:null,chain:"base",status:"acknowledged",createdAt:a,metadata:JSON.stringify({...t.metadata,source:t.source,summary:t.summary})}));u(e=>e.some(e=>e.id===t.id)?e:i(e,{id:t.id,type:t.type,fromTier:"system",toAddress:null,amount:null,chain:"base",status:"pending",createdAt:a,metadata:JSON.stringify({...t.metadata,source:t.source,summary:t.summary,expiresAt:t.expiresAt})})),m(e=>e.filter(e=>e.id!==t.id)),T(e=>({...e,pendingActions:e.pendingActions+1}))}),s=z(o.Cw.ACTION_RESOLVED,e=>{let t=e.data,a=R.current.find(e=>e.id===t.id);if(!a)return void L();let r=new Date(e.timestamp||Date.now()).toISOString(),s=function(e){if(!e)return{};try{let t=JSON.parse(e);return t&&"object"==typeof t?t:{}}catch(e){return{}}}(a.metadata),o={...a,status:t.approved?"approved":"rejected",createdAt:r,metadata:JSON.stringify({...s,approved:t.approved,resolvedBy:t.resolvedBy,resolvedAt:r})};u(e=>e.filter(e=>e.id!==t.id)),m(e=>i(e,o)),T(e=>({...e,pendingActions:Math.max(0,e.pendingActions-1)}))});return()=>{e(),t(),a(),r(),s()}},[L,z]);let U=(0,r.useMemo)(()=>{let e=new Map,t=t=>{let a=d(t.id);if(!a||h.has(a))return;let r=e.get(a);if(!r)return void e.set(a,t);"pending"!==r.status&&"pending"===t.status&&e.set(a,t)};return a.forEach(t),p.forEach(t),x.forEach(t),c(Array.from(e.values()))},[p,x,h,a]);return{requests:a,notifications:U,dismissNotification:M,activeTokens:b,inactiveTokens:y,loading:w,error:N,counts:E,refresh:K,resolveAction:q,revokeToken:F,actionLoading:C,lastApprovalResult:P,clearApprovalResult:D,connected:O}}},65685:(e,t,a)=>{a.d(t,{D:()=>p,ThemeProvider:()=>u});var r=a(12115);let s="aura-theme",o="agent-theme-preferences",n={colorMode:"light",uiScale:"normal"},l=(0,r.createContext)(null);function i(e){return"dark"===e?{colorMode:"dark",uiScale:"normal"}:"big"===e?{colorMode:"light",uiScale:"big"}:{colorMode:"light",uiScale:"normal"}}function c(e,t){return"big"===t?"big":"dark"===e?"dark":"default"}function d(e,t){if("undefined"==typeof document)return;let a=document.documentElement;"dark"===e?a.setAttribute("data-theme","dark"):a.removeAttribute("data-theme"),a.setAttribute("data-ui-scale",t);let r="big"===t?1.25:1;a.style.setProperty("--ui-scale-factor",String(r)),a.style.setProperty("--font-size-xs","".concat(Math.round(10*r),"px")),a.style.setProperty("--font-size-sm","".concat(Math.round(12*r),"px")),a.style.setProperty("--font-size-md","".concat(Math.round(14*r),"px")),a.style.setProperty("--font-size-lg","".concat(Math.round(18*r),"px")),a.style.setProperty("--space-1","".concat(Math.round(4*r),"px")),a.style.setProperty("--space-2","".concat(Math.round(8*r),"px")),a.style.setProperty("--space-3","".concat(Math.round(12*r),"px")),a.style.setProperty("--space-4","".concat(Math.round(16*r),"px")),a.style.setProperty("--space-6","".concat(Math.round(24*r),"px")),a.style.setProperty("--radius-sm","".concat(Math.round(6*r),"px")),a.style.setProperty("--radius-md","".concat(Math.round(10*r),"px")),a.style.setProperty("--radius-lg","".concat(Math.round(14*r),"px")),a.style.setProperty("--shadow-sm","big"===t?"0 2px 4px rgba(0,0,0,0.15)":"0 1px 2px rgba(0,0,0,0.12)"),a.style.setProperty("--shadow-md","big"===t?"0 8px 20px rgba(0,0,0,0.24)":"0 6px 16px rgba(0,0,0,0.18)"),a.style.setProperty("--control-height-sm","".concat(Math.round(32*r),"px")),a.style.setProperty("--control-height-md","".concat(Math.round(36*r),"px")),a.style.setProperty("--control-height-lg","".concat(Math.round(40*r),"px")),a.style.setProperty("--space-xs","var(--space-1)"),a.style.setProperty("--space-sm","var(--space-2)"),a.style.setProperty("--space-md","var(--space-3)"),a.style.setProperty("--space-lg","var(--space-4)")}function u(e){let{children:t}=e,[a,u]=(0,r.useState)(n.colorMode),[p,m]=(0,r.useState)(n.uiScale),[x,f]=(0,r.useState)(!1);(0,r.useEffect)(()=>{let e=function(){try{let e=window.localStorage.getItem(o);if(e){let t=JSON.parse(e),a="dark"===t.colorMode?"dark":"light",r="big"===t.uiScale?"big":"normal";return{colorMode:a,uiScale:r}}}catch(e){}let e=window.localStorage.getItem(s);return i("dark"===e||"big"===e?e:"default")}();u(e.colorMode),m(e.uiScale),f(!0),d(e.colorMode,e.uiScale)},[]),(0,r.useEffect)(()=>{if(!x)return;d(a,p),window.localStorage.setItem(o,JSON.stringify({colorMode:a,uiScale:p}));let e=c(a,p);"default"===e?window.localStorage.removeItem(s):window.localStorage.setItem(s,e)},[x,a,p]);let h=(0,r.useCallback)(e=>u(e),[]),v=(0,r.useCallback)(e=>m(e),[]),b=(0,r.useCallback)(e=>{let t=i(e);u(t.colorMode),m(t.uiScale)},[]),g=(0,r.useMemo)(()=>c(a,p),[a,p]),y=(0,r.useMemo)(()=>({colorMode:a,uiScale:p,setColorMode:h,setUiScale:v,theme:g,setTheme:b}),[a,p,h,v,g,b]);return(0,r.createElement)(l.Provider,{value:y},t)}function p(){let e=(0,r.useContext)(l);if(!e)throw Error("useTheme must be used within a ThemeProvider");return e}},71539:(e,t,a)=>{a.d(t,{Rl:()=>r,U0:()=>s,cu:()=>l,kd:()=>o,nG:()=>n});let r=[{id:"main",label:"Agent",icon:"KeyRound",description:"Credentials, secrets, and agent management",pinned:!0},{id:"agents",label:"Verify",icon:"ShieldCheck",description:"Verified credentials and identity attestations",pinned:!0}],s={id:"social",label:"Social",icon:"MessageCircle",description:"Social feed, posts, reactions, and follows",pinned:!0},o={id:"hub",label:"Hub",icon:"Globe",description:"Browse hub frontends",pinned:!0},n=[{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"}];function l(){return"main"}}}]);
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[4256],{84256:(e,t,o)=>{o.r(t),o.d(t,{default:()=>m});var a=o(95155),s=o(12115),l=o(52056),n=o(78561),r=o(8678),c=o(99794),i=o(58291),d=o(54901);let x=["base","ethereum","arbitrum","optimism","polygon","solana"],p=["function name() view returns (string)","function symbol() view returns (string)","function decimals() view returns (uint8)","function totalSupply() view returns (uint256)"];function m(e){let{config:t}=e,{getRpcUrl:o}=(0,d.A)(),[m,u]=(0,s.useState)((null==t?void 0:t.defaultChain)||"base"),[f,h]=(0,s.useState)((null==t?void 0:t.defaultAddress)||""),[v,y]=(0,s.useState)(!1),[b,j]=(0,s.useState)(null),[N,g]=(0,s.useState)(null),w=async()=>{let e=f.trim();if(e){y(!0),j(null),g(null);try{var t,a,s,l,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 o=await fetch("https://api.dexscreener.com/latest/dex/pairs/".concat(m,"/").concat(e));if(o.ok){let e=await o.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 o=e.filter(e=>e.chainId===t);return o.length>0?o.sort((e,t)=>{var o,a;return((null==(o=t.liquidity)?void 0:o.usd)||0)-((null==(a=e.liquidity)?void 0:a.usd)||0)})[0]:[...e].sort((e,t)=>{var o,a;return((null==(o=t.liquidity)?void 0:o.usd)||0)-((null==(a=e.liquidity)?void 0:a.usd)||0)})[0]}(x,m);g({name:(null==(a=e.baseToken)?void 0:a.name)||"Unknown",symbol:(null==(s=e.baseToken)?void 0:s.symbol)||"???",priceUsd:e.priceUsd||"0",fdv:e.fdv||0,volume24h:(null==(l=e.volume)?void 0:l.h24)||0,priceChange24h:(null==(i=e.priceChange)?void 0:i.h24)||0,pairAddress:e.pairAddress,chain:e.chainId||m,source:"dex"});return}if(!/^0x[a-fA-F0-9]{40}$/.test(e)||"solana"===m)throw Error("No data found — try a contract address");let u=o(m),f=new n.FR(u),h=new r.NZ(e,p,f),[v,y,b,j]=await Promise.all([h.name().catch(()=>"Unknown"),h.symbol().catch(()=>"???"),h.decimals().catch(()=>18),h.totalSupply().catch(()=>BigInt(0))]),N=c.Js(j,b);g({name:v,symbol:y,priceUsd:"0",fdv:0,volume24h:0,priceChange24h:0,pairAddress:"",chain:m,totalSupply:N,decimals:b,source:"rpc"})}catch(e){j(e instanceof Error?e.message:"Failed to fetch token data")}finally{y(!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)),C=N&&N.priceChange24h>=0?"var(--color-success, #00c853)":"var(--color-warning, #ff4d00)";return(0,a.jsxs)("div",{className:"space-y-3",children:[(0,a.jsx)(i.XS,{label:"CHAIN",value:m,onChange:u,chains:x,size:"sm"}),(0,a.jsx)(i.ks,{label:"TOKEN",value:f,onChange:e=>h(e.target.value),onKeyDown:e=>"Enter"===e.key&&w(),placeholder:"token, pool, or name",compact:!0}),(0,a.jsx)(i.$n,{type:"button",onClick:w,disabled:v||!f.trim(),loading:v,className:"w-full",children:v?"LOADING...":"LOAD"}),b&&(0,a.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,a.jsxs)("div",{className:"flex items-center gap-1",children:[(0,a.jsx)(l.A,{size:10,style:{color:"var(--color-warning, #ff4d00)"}}),(0,a.jsx)("span",{className:"font-mono text-[9px]",style:{color:"var(--color-warning, #ff4d00)"},children:b})]})}),N&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)("div",{className:"p-2",style:{backgroundColor:"var(--color-background-alt, #f4f4f5)",border:"1px solid var(--color-border, #d4d4d8)"},children:[(0,a.jsxs)("div",{className:"flex items-center justify-between mb-1",children:[(0,a.jsx)("span",{className:"font-mono text-[11px] font-bold",style:{color:"var(--color-text, #0a0a0a)"},children:N.name}),(0,a.jsx)("span",{className:"font-mono text-[9px] font-bold",style:{color:"var(--color-text-muted, #6b7280)"},children:N.symbol})]}),"dex"===N.source&&(0,a.jsxs)("div",{className:"flex items-center justify-between",children:[(0,a.jsxs)("span",{className:"font-mono text-[13px] font-bold",style:{color:"var(--color-text, #0a0a0a)"},children:["$",parseFloat(N.priceUsd).toFixed(.01>parseFloat(N.priceUsd)?8:4)]}),(0,a.jsxs)("span",{className:"font-mono text-[10px] font-bold",style:{color:C},children:[N.priceChange24h>=0?"+":"",N.priceChange24h.toFixed(2),"%"]})]}),"rpc"===N.source&&(0,a.jsx)("div",{className:"font-mono text-[8px]",style:{color:"var(--color-text-faint, #9ca3af)"},children:"ON-CHAIN ONLY — NO DEX DATA"})]}),(0,a.jsxs)("div",{className:"space-y-1.5",children:["dex"===N.source&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)("div",{className:"flex items-center justify-between",children:[(0,a.jsx)("span",{className:"font-mono text-[9px]",style:{color:"var(--color-text-muted, #888)"},children:"MKT_CAP"}),(0,a.jsx)("span",{className:"font-mono text-[10px] font-bold",style:{color:"var(--color-text, #0a0a0a)"},children:k(N.fdv)})]}),(0,a.jsxs)("div",{className:"flex items-center justify-between",children:[(0,a.jsx)("span",{className:"font-mono text-[9px]",style:{color:"var(--color-text-muted, #888)"},children:"VOL_24H"}),(0,a.jsx)("span",{className:"font-mono text-[10px] font-bold",style:{color:"var(--color-text, #0a0a0a)"},children:k(N.volume24h)})]})]}),"rpc"===N.source&&N.totalSupply&&(0,a.jsxs)("div",{className:"flex items-center justify-between",children:[(0,a.jsx)("span",{className:"font-mono text-[9px]",style:{color:"var(--color-text-muted, #888)"},children:"SUPPLY"}),(0,a.jsx)("span",{className:"font-mono text-[10px] font-bold",style:{color:"var(--color-text, #0a0a0a)"},children:parseFloat(N.totalSupply)>=1e9?"".concat((parseFloat(N.totalSupply)/1e9).toFixed(2),"B"):parseFloat(N.totalSupply)>=1e6?"".concat((parseFloat(N.totalSupply)/1e6).toFixed(2),"M"):parseFloat(N.totalSupply).toLocaleString()})]}),"rpc"===N.source&&void 0!==N.decimals&&(0,a.jsxs)("div",{className:"flex items-center justify-between",children:[(0,a.jsx)("span",{className:"font-mono text-[9px]",style:{color:"var(--color-text-muted, #888)"},children:"DECIMALS"}),(0,a.jsx)("span",{className:"font-mono text-[10px] font-bold",style:{color:"var(--color-text, #0a0a0a)"},children:N.decimals})]}),(0,a.jsxs)("div",{className:"flex items-center justify-between",children:[(0,a.jsx)("span",{className:"font-mono text-[9px]",style:{color:"var(--color-text-muted, #888)"},children:"CHAIN"}),(0,a.jsx)("span",{className:"font-mono text-[10px] font-bold",style:{color:"var(--color-text, #0a0a0a)"},children:N.chain.toUpperCase()})]})]}),"dex"===N.source&&N.pairAddress&&(0,a.jsx)("div",{style:{border:"1px solid var(--color-border, #d4d4d8)",height:200,overflow:"hidden"},children:(0,a.jsx)("iframe",{src:"https://dexscreener.com/".concat(N.chain,"/").concat(N.pairAddress,"?embed=1&theme=dark&info=0&trades=0"),title:"Price Chart",width:"100%",height:"100%",style:{border:"none"}})})]})]})}}}]);
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[4901],{3409:(e,t,a)=>{a.d(t,{X:()=>n,o:()=>l});var r=a(66509);async function n(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),r=await crypto.subtle.importKey("spki",a,{name:"RSA-OAEP",hash:"SHA-256"},!1,["encrypt"]),n=new TextEncoder().encode(e),o=new Uint8Array(await crypto.subtle.encrypt({name:"RSA-OAEP"},r,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,r.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)),a="";for(let e=0;e<t.length;e++)a+=String.fromCharCode(t[e]);return btoa(a)})());try{return await o}catch(e){throw o=null,e}}},54901:(e,t,a)=>{a.d(t,{A:()=>w,O:()=>d});var r=a(95155),n=a(12115),o=a(90960),l=a(66509);let c={base:{path:"base-mainnet",chainId:8453,explorer:"https://basescan.org"},ethereum:{path:"eth-mainnet",chainId:1,explorer:"https://etherscan.io"},arbitrum:{path:"arb-mainnet",chainId:42161,explorer:"https://arbiscan.io"},optimism:{path:"opt-mainnet",chainId:10,explorer:"https://optimistic.etherscan.io"},solana:{path:"solana-mainnet",chainId:0,explorer:"https://solscan.io"},"solana-devnet":{path:"solana-devnet",chainId:0,explorer:"https://solscan.io/?cluster=devnet"}},s={base:{rpc:"https://mainnet.base.org",chainId:8453,explorer:"https://basescan.org"},ethereum:{rpc:"https://eth.llamarpc.com",chainId:1,explorer:"https://etherscan.io"},solana:{rpc:"https://api.mainnet-beta.solana.com",chainId:0,explorer:"https://solscan.io"},"solana-devnet":{rpc:"https://api.devnet.solana.com",chainId:0,explorer:"https://solscan.io/?cluster=devnet"}},i=(0,n.createContext)(null),u="auramaxx_admin_token",p=()=>{let e=localStorage.getItem(u);if(e)return{token:e,persist:"local"};let t=sessionStorage.getItem(u);return t?{token:t,persist:"session"}:{token:null,persist:null}},h=()=>{sessionStorage.removeItem(u),localStorage.removeItem(u)};function d(e){let{children:t}=e,[a,d]=(0,n.useState)(null),[w,f]=(0,n.useState)([]),[y,m]=(0,n.useState)(!1),[g,b]=(0,n.useState)({}),[v,k]=(0,n.useState)(!1);(0,n.useEffect)(()=>{let{token:e}=p();e&&d(e)},[]);let A=(0,n.useCallback)(async()=>{if(!a)return void f([]);m(!0);try{let e=await o.FH.get(o.jI.Wallet,"/apikeys");e.success&&e.apiKeys&&f(e.apiKeys)}catch(t){let e=t.status;(401===e||403===e)&&(d(null),h(),f([])),console.error("[AuthContext] Failed to fetch API keys:",t)}finally{m(!1)}},[a]);(0,n.useEffect)(()=>{a?A():f([])},[a,A]);let C=(0,n.useCallback)(async()=>{if(!a){b({}),k(!1);return}k(!0);try{let e=await o.FH.get(o.jI.Workspace,"/workspace/config");e.success&&e.config&&b(e.config.chainOverrides||{})}catch(t){let e=t.status;401===e||403===e||404===e?b({}):console.error("[AuthContext] Failed to fetch chain overrides:",t)}finally{k(!1)}},[a]);(0,n.useEffect)(()=>{if(a)return void C();b({}),k(!1)},[a,C]);let S=(0,n.useCallback)(async(e,t)=>{let a={...g,[e]:t};try{let e=await o.FH.post(o.jI.Workspace,"/workspace/config",{chainOverrides:a});e.success&&e.config&&b(e.config.chainOverrides||{})}catch(e){throw console.error("[AuthContext] Failed to save chain override:",e),e}},[g]),x=(0,n.useCallback)(async e=>{let t={...g};delete t[e];try{let e=await o.FH.post(o.jI.Workspace,"/workspace/config",{chainOverrides:t});e.success&&e.config&&b(e.config.chainOverrides||{})}catch(e){throw console.error("[AuthContext] Failed to remove chain override:",e),e}},[g]),E=(0,n.useCallback)((e,t)=>{var a,r;if(d(e),!e)return void h();let n=p().persist;((e,t)=>{if("local"===t){localStorage.setItem(u,e),sessionStorage.removeItem(u);return}sessionStorage.setItem(u,e),localStorage.removeItem(u)})(e,null!=(r=null!=(a=null==t?void 0:t.persist)?a:n)?r:"session")},[]),I=(0,n.useCallback)(()=>{(0,l.hG)(),E(null)},[E]),U=(0,n.useCallback)((e,t)=>{let a=w.find(a=>a.service.toLowerCase()===e.toLowerCase()&&(!t||a.name.toLowerCase()===t.toLowerCase()));return(null==a?void 0:a.key)||null},[w]),P=(0,n.useCallback)(function(){var e,t;let a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"base";if(null==(e=g[a])?void 0:e.rpc)return g[a].rpc;let r=U("alchemy"),n=c[a];return r&&n?"https://".concat(n.path,".g.alchemy.com/v2/").concat(r):(null==(t=s[a])?void 0:t.rpc)||s.base.rpc},[g,U]),O=(0,n.useCallback)(function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"base";if(g[e])return g[e];let t=U("alchemy"),a=c[e];return t&&a?{rpc:"https://".concat(a.path,".g.alchemy.com/v2/").concat(t),chainId:a.chainId,explorer:a.explorer}:s[e]||s.base},[g,U]),K=(0,n.useCallback)(()=>{let e={},t=U("alchemy"),a=(e,a)=>{var r;if(null==(r=g[e])?void 0:r.rpc)return g[e].rpc;let n=c[e];return t&&n?"https://".concat(n.path,".g.alchemy.com/v2/").concat(t):a.rpc};for(let[t,r]of Object.entries(s))e[t]={...r,rpc:a(t,r)};for(let[t,a]of Object.entries(g))s[t]||(e[t]=a);return e},[g,U]);return(0,r.jsx)(i.Provider,{value:{token:a,isUnlocked:!!a,setToken:E,clearToken:I,apiKeys:w,apiKeysLoading:y,refreshApiKeys:A,getApiKey:U,getRpcUrl:P,getChainConfig:O,chainOverrides:g,chainOverridesLoading:v,refreshChainOverrides:C,saveChainOverride:S,removeChainOverride:x,getConfiguredChains:K},children:t})}function w(){let e=(0,n.useContext)(i);if(!e)throw Error("useAuth must be used within an AuthProvider");return e}},66509:(e,t,a)=>{a.d(t,{DC:()=>u,G3:()=>c,UI:()=>l,hG:()=>i,ji:()=>s});let r=null,n=null;function o(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 l(){let e=await crypto.subtle.generateKey({name:"RSA-OAEP",modulusLength:2048,publicExponent:new Uint8Array([1,0,1]),hash:"SHA-256"},!1,["decrypt"]);return r=e.privateKey,{publicKeyBase64:n=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 c(){return r}function s(){return n}function i(){r=null,n=null}async function u(e){if(!r)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=o(t.key),n=await crypto.subtle.decrypt({name:"RSA-OAEP"},r,a),l=await crypto.subtle.importKey("raw",n,{name:"AES-GCM"},!1,["decrypt"]),c=o(t.data),s=o(t.tag),i=new Uint8Array(c.byteLength+s.byteLength);i.set(new Uint8Array(c),0),i.set(new Uint8Array(s),c.byteLength);let u=o(t.iv),p=await crypto.subtle.decrypt({name:"AES-GCM",iv:u},l,i.buffer);return new TextDecoder().decode(p)}},90960:(e,t,a)=>{a.d(t,{DK:()=>g,FH:()=>d,OW:()=>v,WE:()=>y,au:()=>h,fP:()=>b,jI:()=>s,ne:()=>m});var r=a(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(".")),c=n?"http://".concat(window.location.hostname,":").concat(o):"".concat(window.location.protocol,"//").concat(window.location.host);var s=function(e){return e.Wallet="wallet",e.Workspace="workspace",e.Events="events",e.AgentDashboard="agentDashboard",e}({});let i={wallet:{baseUrl:l,pathPrefix:""},workspace:{baseUrl:c,pathPrefix:"/api"},events:{baseUrl:c,pathPrefix:"/api"},agentDashboard:{baseUrl:c,pathPrefix:"/api"}},u="auramaxx_admin_token";async function p(e,t){let a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=function(){let e=localStorage.getItem(u);return e||sessionStorage.getItem(u)}(),n=i[e],o={"Content-Type":"application/json",...a.headers};r&&(o.Authorization="Bearer ".concat(r));let l="".concat(n.baseUrl).concat(n.pathPrefix).concat(t),c=await fetch(l,{...a,headers:o}),s=await c.json().catch(()=>({error:c.statusText}));if(!c.ok){let e=Error(s.error||"Request failed: ".concat(c.status));throw e.status=c.status,e}return s}function h(){return l}let d={get:(e,t,a,r)=>{let n=t;if(a){let e=new URLSearchParams;for(let[t,r]of Object.entries(a))null!=r&&e.set(t,String(r));let r=e.toString();r&&(n="".concat(t,"?").concat(r))}return p(e,n,{method:"GET",...r})},post:(e,t,a)=>p(e,t,{method:"POST",body:a?JSON.stringify(a):void 0}),put:(e,t,a)=>p(e,t,{method:"PUT",body:a?JSON.stringify(a):void 0}),patch:(e,t,a)=>p(e,t,{method:"PATCH",body:a?JSON.stringify(a):void 0}),delete:(e,t)=>p(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 f(){return w||(w=(await d.get("wallet","/auth/connect")).publicKey),w}async function y(e,t,a){let n=await f(),o=await (0,r.X)(e,n),l=null!=a?a:await (0,r.o)(),c=t?"/unlock/".concat(t):"/unlock";try{return await d.post("wallet",c,{encrypted:o,pubkey:l})}catch(t){var s,i;if((null==(s=t.message)?void 0:s.includes("decrypt"))||(null==(i=t.message)?void 0:i.includes("refetch"))){w=null;let t=await f(),a=await (0,r.X)(e,t);return await d.post("wallet",c,{encrypted:a,pubkey:l})}throw t}}async function m(e,t){let a=await f(),n=await (0,r.X)(e,a),o=null!=t?t:await (0,r.o)();try{return await d.post("wallet","/setup",{encrypted:n,pubkey:o})}catch(t){var l,c;if((null==(l=t.message)?void 0:l.includes("decrypt"))||(null==(c=t.message)?void 0:c.includes("refetch"))){w=null;let t=await f(),a=await (0,r.X)(e,t);return await d.post("wallet","/setup",{encrypted:a,pubkey:o})}throw t}}async function g(e,t){let a=await f(),n=await (0,r.X)(e,a),o=await (0,r.X)(t,a);try{return await d.post("wallet","/setup/password",{currentEncrypted:n,newEncrypted:o})}catch(a){var l,c;if((null==(l=a.message)?void 0:l.includes("decrypt"))||(null==(c=a.message)?void 0:c.includes("refetch"))){w=null;let a=await f(),n=await (0,r.X)(e,a),o=await (0,r.X)(t,a);return await d.post("wallet","/setup/password",{currentEncrypted:n,newEncrypted:o})}throw a}}async function b(e){return d.post("wallet","/unlock/rekey",{pubkey:e})}async function v(e,t,a){let n=null!=a?a:await (0,r.o)();return d.post("wallet","/unlock/recover",{mnemonic:e,newPassword:t,pubkey:n})}}}]);
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[4919],{64919:(e,t,l)=>{l.r(t),l.d(t,{default:()=>b});var s=l(95155),a=l(12115),o=l(99708),r=l(35299),n=l(18085),c=l(75882),i=l(89559),d=l(52056),m=l(5917),x=l(99794),u=l(90960),f=l(58291),v=l(93444),p=l(54901);function b(e){let{config:t}=e,{isUnlocked:l}=(0,p.A)(),[b,h]=(0,a.useState)([]),[N,j]=(0,a.useState)(!0),[y,g]=(0,a.useState)((null==t?void 0:t.defaultFrom)||""),[k,w]=(0,a.useState)((null==t?void 0:t.defaultTo)||""),[A,S]=(0,a.useState)(""),[E,C]=(0,a.useState)(!1),[F,H]=(0,a.useState)(null),[M,T]=(0,a.useState)(null),[I,O]=(0,a.useState)([]),[z,L]=(0,a.useState)({evm:.001,sol:5e-6}),_=(0,a.useMemo)(()=>{let e=b.find(e=>e.address===y);return null==e?void 0:e.chain},[b,y]),D="solana"===_||"solana-devnet"===_,W=D?"SOL":"ETH",G=D?z.sol:z.evm,{balance:q,loading:B,refetch:R}=(0,v.A)(y||void 0,_),U=(0,a.useMemo)(()=>b.find(e=>e.address===y),[b,y]),X=(0,a.useMemo)(()=>{var e;return(null==U?void 0:U.tokenHash)&&null!=(e=I.find(e=>e.tokenHash===U.tokenHash))?e:null},[U,I]),K=(0,a.useMemo)(()=>{if(!q)return 0;let e=parseFloat(q);return isNaN(e)?0:e},[q]);(0,a.useEffect)(()=>{if(!l)return void j(!1);!async function(){try{let e=await u.FH.get(u.jI.Wallet,"/wallets",{includeHidden:!0});if(e.wallets){let t=e.wallets.filter(e=>"hot"===e.tier);h(t),!y&&t.length>0&&g(t[0].address)}}catch(e){console.error("Failed to fetch wallets:",e)}finally{j(!1)}}()},[y,l]),(0,a.useEffect)(()=>{l&&e();async function e(){try{var e;let t=await u.FH.get(u.jI.Wallet,"/dashboard");t.success&&(null==(e=t.tokens)?void 0:e.active)&&O(t.tokens.active.map(e=>({tokenHash:e.tokenHash,limit:e.limit,spent:e.spent,remaining:e.remaining})))}catch(e){}}},[l]),(0,a.useEffect)(()=>{l&&e();async function e(){try{let e=await u.FH.get(u.jI.Wallet,"/defaults"),t=Object.values(e.defaults||{}).flat(),l=new Map(t.map(e=>[e.key,e.value])),s=Number(l.get("gas.evm_buffer")),a=Number(l.get("gas.sol_buffer"));L({evm:Number.isFinite(s)?s:.001,sol:Number.isFinite(a)?a:5e-6})}catch(e){}}},[l]);let $=async e=>{e.preventDefault(),C(!0),H(null),T(null);try{var t;let e;e=D?BigInt(Math.round(1e9*parseFloat(A))).toString():(0,x.g5)(A).toString();let l=await u.FH.post(u.jI.Wallet,"/send",{from:y,to:k,amount:e,chain:_});if(!l.success)throw Error(l.error);H(null!=(t=l.hash)?t:null),w(""),S("")}catch(e){T(e instanceof Error?e.message:"Send failed")}finally{C(!1)}};return l?N?(0,s.jsxs)("div",{className:"py-6 text-center",children:[(0,s.jsx)(r.A,{size:20,className:"mx-auto mb-2 animate-spin",style:{color:"var(--color-text-muted, #6b7280)"}}),(0,s.jsx)("div",{className:"font-mono text-[9px]",style:{color:"var(--color-text-muted, #6b7280)"},children:"LOADING..."})]}):0===b.length?(0,s.jsxs)("div",{className:"py-6 text-center",children:[(0,s.jsx)(n.A,{size:20,className:"mx-auto mb-2",style:{color:"var(--color-text-muted, #6b7280)"}}),(0,s.jsx)("div",{className:"font-mono text-[9px]",style:{color:"var(--color-text-muted, #6b7280)"},children:"NO HOT WALLETS"}),(0,s.jsx)("div",{className:"font-mono text-[8px] mt-1",style:{color:"var(--color-text-faint, #9ca3af)"},children:"Create a hot wallet first"})]}):(0,s.jsxs)("form",{onSubmit:$,className:"space-y-3",children:[(0,s.jsx)(f.UM,{label:"FROM",value:y,onChange:g,options:b.map(e=>({value:e.address,label:e.name||e.label||"HOT"})),compact:!0}),U&&(0,s.jsxs)("div",{className:"p-2 rounded-sm",style:{backgroundColor:"var(--color-background-alt, #f4f4f5)",border:"1px solid var(--color-border, #d4d4d8)"},children:[(0,s.jsxs)("div",{className:"flex items-center justify-between",children:[(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)(c.A,{size:12,style:{color:"var(--color-text-muted, #6b7280)"}}),(0,s.jsx)("span",{className:"font-mono text-[9px]",style:{color:"var(--color-text-muted, #6b7280)"},children:"BALANCE"})]}),(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[B?(0,s.jsx)(r.A,{size:12,className:"animate-spin",style:{color:"var(--color-text-muted, #6b7280)"}}):(0,s.jsxs)("span",{className:"font-mono text-[11px] font-bold",style:{color:"var(--color-text, #0a0a0a)"},children:[K.toFixed(D?9:8)," ",W]}),(0,s.jsx)("button",{type:"button",onClick:R,disabled:B,className:"p-0.5 transition-colors disabled:opacity-50",children:(0,s.jsx)(i.A,{size:10,className:B?"animate-spin":"",style:{color:"var(--color-text-muted, #6b7280)"}})})]})]}),!B&&K<.001&&(0,s.jsxs)("div",{className:"flex items-center gap-1 mt-1.5",children:[(0,s.jsx)(d.A,{size:10,style:{color:"var(--color-warning, #ff4d00)"}}),(0,s.jsx)("span",{className:"font-mono text-[8px]",style:{color:"var(--color-warning, #ff4d00)"},children:"Insufficient balance for gas"})]}),X&&X.limit>0&&(0,s.jsxs)("div",{className:"mt-2 pt-2",style:{borderTop:"1px solid var(--color-border, #d4d4d8)"},children:[(0,s.jsx)("div",{className:"h-1.5 rounded-full overflow-hidden",style:{background:"var(--color-background-alt, #f4f4f5)"},children:(0,s.jsx)("div",{className:"h-full rounded-full transition-all",style:{width:"".concat(Math.min(X.spent/X.limit*100,100),"%"),background:X.spent/X.limit>.8?"var(--color-warning, #ff4d00)":"var(--color-info, #0047ff)"}})}),(0,s.jsxs)("div",{className:"flex justify-between mt-1",children:[(0,s.jsx)("span",{className:"font-mono text-[8px]",style:{color:"var(--color-text-muted, #6b7280)"},children:"REMAINING"}),(0,s.jsxs)("span",{className:"font-mono text-[8px] font-medium",style:{color:"var(--color-info, #0047ff)"},children:[X.remaining.toFixed(4)," / ",X.limit," ",W]})]})]})]}),(0,s.jsx)(f.ks,{label:"TO",value:k,onChange:e=>w(e.target.value),placeholder:"0x...",required:!0,compact:!0}),(0,s.jsxs)("div",{children:[(0,s.jsxs)("div",{className:"flex items-center justify-between mb-1",children:[(0,s.jsxs)("label",{className:"font-mono text-[9px] font-bold uppercase tracking-widest",style:{color:"var(--color-text-muted, #6b7280)"},children:["AMOUNT (",W,")"]}),(0,s.jsx)("button",{type:"button",onClick:()=>{S(Math.max(0,K-G).toFixed(6))},className:"font-mono text-[8px] font-bold px-1.5 py-0.5 transition-colors",style:{backgroundColor:"var(--color-background-alt, #f4f4f5)",color:"var(--color-info, #0047ff)",border:"1px solid var(--color-border, #d4d4d8)"},children:"MAX"})]}),(0,s.jsx)(f.ks,{type:"number",step:"0.0001",value:A,onChange:e=>S(e.target.value),placeholder:"0.01",required:!0,compact:!0})]}),M&&(0,s.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,s.jsx)("div",{className:"font-mono text-[9px]",style:{color:"var(--color-warning, #ff4d00)"},children:M})}),F&&(0,s.jsxs)("div",{className:"p-2",style:{backgroundColor:"color-mix(in srgb, var(--color-accent, #ccff00) 20%, transparent)",border:"1px solid var(--color-accent, #ccff00)"},children:[(0,s.jsxs)("div",{className:"flex items-center gap-1 mb-1",children:[(0,s.jsx)(m.A,{size:10,style:{color:"var(--color-text, #0a0a0a)"}}),(0,s.jsx)("span",{className:"font-mono text-[9px] font-bold",style:{color:"var(--color-text, #0a0a0a)"},children:"SENT"})]}),(0,s.jsxs)("div",{className:"font-mono text-[8px]",style:{color:"var(--color-text-muted, #6b7280)"},children:["TX: ",F.slice(0,20),"..."]})]}),(0,s.jsx)(f.$n,{type:"submit",disabled:E||!y,loading:E,icon:E?void 0:(0,s.jsx)(n.A,{size:10}),className:"w-full",children:E?"SENDING...":"SEND"})]}):(0,s.jsxs)("div",{className:"py-6 text-center",children:[(0,s.jsx)(o.A,{size:20,className:"mx-auto mb-2",style:{color:"var(--color-text-muted, #6b7280)"}}),(0,s.jsx)("div",{className:"font-mono text-[9px]",style:{color:"var(--color-text-muted, #6b7280)"},children:"AGENT LOCKED"})]})}}}]);