auramaxx 0.0.12 → 0.0.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (334) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/app-build-manifest.json +244 -227
  3. package/.next/app-path-routes-manifest.json +11 -10
  4. package/.next/build-manifest.json +14 -14
  5. package/.next/prerender-manifest.json +49 -25
  6. package/.next/react-loadable-manifest.json +41 -41
  7. package/.next/routes-manifest.json +6 -0
  8. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  9. package/.next/server/app/_not-found.html +1 -1
  10. package/.next/server/app/_not-found.rsc +12 -12
  11. package/.next/server/app/api/[...doc]/page_client-reference-manifest.js +1 -1
  12. package/.next/server/app/api/agent-requests/route_client-reference-manifest.js +1 -1
  13. package/.next/server/app/api/apps/install/route_client-reference-manifest.js +1 -1
  14. package/.next/server/app/api/apps/manifests/route_client-reference-manifest.js +1 -1
  15. package/.next/server/app/api/apps/static/[...path]/route_client-reference-manifest.js +1 -1
  16. package/.next/server/app/api/docs/plain/route_client-reference-manifest.js +1 -1
  17. package/.next/server/app/api/events/route.js +1 -19
  18. package/.next/server/app/api/events/route_client-reference-manifest.js +1 -1
  19. package/.next/server/app/api/import-from-openclaw/[channel]/route_client-reference-manifest.js +1 -1
  20. package/.next/server/app/api/import-from-openclaw/route_client-reference-manifest.js +1 -1
  21. package/.next/server/app/api/import-from-openclaw/validate/[channel]/route_client-reference-manifest.js +1 -1
  22. package/.next/server/app/api/page_client-reference-manifest.js +1 -1
  23. package/.next/server/app/api/restart/route_client-reference-manifest.js +1 -1
  24. package/.next/server/app/api/update/route.js +63 -1
  25. package/.next/server/app/api/update/route.js.nft.json +1 -1
  26. package/.next/server/app/api/update/route_client-reference-manifest.js +1 -1
  27. package/.next/server/app/api/version/route_client-reference-manifest.js +1 -1
  28. package/.next/server/app/api/workspace/[id]/apps/[wid]/route_client-reference-manifest.js +1 -1
  29. package/.next/server/app/api/workspace/[id]/apps/route_client-reference-manifest.js +1 -1
  30. package/.next/server/app/api/workspace/[id]/export/route_client-reference-manifest.js +1 -1
  31. package/.next/server/app/api/workspace/[id]/route_client-reference-manifest.js +1 -1
  32. package/.next/server/app/api/workspace/config/route_client-reference-manifest.js +1 -1
  33. package/.next/server/app/api/workspace/import/route_client-reference-manifest.js +1 -1
  34. package/.next/server/app/api/workspace/route_client-reference-manifest.js +1 -1
  35. package/.next/server/app/app-legacy-do-not-use/page.js +1 -1
  36. package/.next/server/app/app-legacy-do-not-use/page.js.nft.json +1 -1
  37. package/.next/server/app/app-legacy-do-not-use/page_client-reference-manifest.js +1 -1
  38. package/.next/server/app/app-legacy-do-not-use.html +1 -1
  39. package/.next/server/app/app-legacy-do-not-use.rsc +14 -14
  40. package/.next/server/app/approve/[actionId]/page.js +1 -1
  41. package/.next/server/app/approve/[actionId]/page_client-reference-manifest.js +1 -1
  42. package/.next/server/app/docs/[...doc]/page_client-reference-manifest.js +1 -1
  43. package/.next/server/app/docs/page_client-reference-manifest.js +1 -1
  44. package/.next/server/app/health/page_client-reference-manifest.js +1 -1
  45. package/.next/server/app/health.html +1 -1
  46. package/.next/server/app/health.rsc +13 -13
  47. package/.next/server/app/hello/page_client-reference-manifest.js +1 -1
  48. package/.next/server/app/hello.html +1 -1
  49. package/.next/server/app/hello.rsc +14 -14
  50. package/.next/server/app/index.html +1 -1
  51. package/.next/server/app/index.rsc +18 -21
  52. package/.next/server/app/page.js +3 -3
  53. package/.next/server/app/page.js.nft.json +1 -1
  54. package/.next/server/app/page_client-reference-manifest.js +1 -1
  55. package/.next/server/app/privacy/page_client-reference-manifest.js +1 -1
  56. package/.next/server/app/privacy.html +1 -1
  57. package/.next/server/app/privacy.rsc +13 -13
  58. package/.next/server/app/share/[token]/page_client-reference-manifest.js +1 -1
  59. package/.next/server/app/terms/page_client-reference-manifest.js +1 -1
  60. package/.next/server/app/terms.html +1 -1
  61. package/.next/server/app/terms.rsc +13 -13
  62. package/.next/server/app/yo/page.js +2 -0
  63. package/.next/server/app/yo/page.js.nft.json +1 -0
  64. package/.next/server/app/yo/page_client-reference-manifest.js +1 -0
  65. package/.next/server/app/yo.html +1 -0
  66. package/.next/server/app/yo.meta +7 -0
  67. package/.next/server/app/yo.rsc +23 -0
  68. package/.next/server/app-paths-manifest.json +11 -10
  69. package/.next/server/chunks/2145.js +1 -1
  70. package/.next/server/chunks/2460.js +1 -1
  71. package/.next/server/chunks/5246.js +1 -1
  72. package/.next/server/chunks/5678.js +1 -1
  73. package/.next/server/chunks/5784.js +1 -1
  74. package/.next/server/chunks/6086.js +2 -20
  75. package/.next/server/chunks/{5553.js → 6415.js} +2 -2
  76. package/.next/server/chunks/7935.js +2 -2
  77. package/.next/server/functions-config-manifest.json +1 -1
  78. package/.next/server/instrumentation.js +1 -1
  79. package/.next/server/middleware-build-manifest.js +1 -1
  80. package/.next/server/middleware-react-loadable-manifest.js +1 -1
  81. package/.next/server/pages/404.html +1 -1
  82. package/.next/server/pages/500.html +1 -1
  83. package/.next/server/server-reference-manifest.json +1 -1
  84. package/.next/server/webpack-runtime.js +1 -1
  85. package/.next/static/WshFGr6RxGYP6AbWuT9OG/_buildManifest.js +1 -0
  86. package/.next/static/chunks/1168.aaac1edbb597fe5a.js +1 -0
  87. package/.next/static/chunks/1255-7999eac54f80a49f.js +1 -0
  88. package/.next/static/chunks/142-fa9752f53a551f63.js +1 -0
  89. package/.next/static/chunks/2505.d54ccadc42f4e3d1.js +1 -0
  90. package/.next/static/chunks/2619-04bc32f026a0d946.js +1 -0
  91. package/.next/static/chunks/2927.7e00cc878d9a3f52.js +1 -0
  92. package/.next/static/chunks/3573-1b41d7b8a000d015.js +1 -0
  93. package/.next/static/chunks/3609.ded5a5306e18af9c.js +1 -0
  94. package/.next/static/chunks/3667-1db7bd03948e60df.js +1 -0
  95. package/.next/static/chunks/3826.a73d4a88d8c09030.js +1 -0
  96. package/.next/static/chunks/{3a91511d-648a2ba3dad7df0c.js → 3a91511d-ba215c0b5dc21ba9.js} +1 -1
  97. package/.next/static/chunks/4256.48407d9abad5ea33.js +1 -0
  98. package/.next/static/chunks/4685-7f53bbfc4a9845eb.js +1 -0
  99. package/.next/static/chunks/4901-ba6a32818662e70a.js +1 -0
  100. package/.next/static/chunks/4919-7e7cdd5efc9f2110.js +1 -0
  101. package/.next/static/chunks/4bd1b696-100b9d70ed4e49c1.js +1 -0
  102. package/.next/static/chunks/5336-233ec7ab3807267c.js +1 -0
  103. package/.next/static/chunks/5442-b5bb869e832e8967.js +1 -0
  104. package/.next/static/chunks/6233-97a810aa272af547.js +1 -0
  105. package/.next/static/chunks/626.a5109d16f9eca1f6.js +1 -0
  106. package/.next/static/chunks/6872-faea0f088ab2d450.js +1 -0
  107. package/.next/static/chunks/7338-3ce17a93614f1d77.js +59 -0
  108. package/.next/static/chunks/7394-4bdb1feefad1a74a.js +1 -0
  109. package/.next/static/chunks/7616-1129bcb3eee8d315.js +1 -0
  110. package/.next/static/chunks/786-26deffb41572cbb3.js +1 -0
  111. package/.next/static/chunks/8273-8e92d34180669ca9.js +1 -0
  112. package/.next/static/chunks/8357.5dee1e0c4e5bb091.js +1 -0
  113. package/.next/static/chunks/9062-2bc2d089f9c9c6ba.js +1 -0
  114. package/.next/static/chunks/9380.f198afbf0c6b5369.js +1 -0
  115. package/.next/static/chunks/app/_not-found/page-5a8c6a29f762fa58.js +1 -0
  116. package/.next/static/chunks/app/api/[...doc]/page-f0852f35f0fd1d44.js +1 -0
  117. package/.next/static/chunks/app/api/agent-requests/route-cf84f975aad4c719.js +1 -0
  118. package/.next/static/chunks/app/api/apps/install/route-cf84f975aad4c719.js +1 -0
  119. package/.next/static/chunks/app/api/apps/manifests/route-cf84f975aad4c719.js +1 -0
  120. package/.next/static/chunks/app/api/apps/static/[...path]/route-cf84f975aad4c719.js +1 -0
  121. package/.next/static/chunks/app/api/docs/plain/route-cf84f975aad4c719.js +1 -0
  122. package/.next/static/chunks/app/api/events/route-cf84f975aad4c719.js +1 -0
  123. package/.next/static/chunks/app/api/import-from-openclaw/[channel]/route-cf84f975aad4c719.js +1 -0
  124. package/.next/static/chunks/app/api/import-from-openclaw/route-cf84f975aad4c719.js +1 -0
  125. package/.next/static/chunks/app/api/import-from-openclaw/validate/[channel]/route-cf84f975aad4c719.js +1 -0
  126. package/.next/static/chunks/app/api/page-cc59bebcc0d2c01d.js +1 -0
  127. package/.next/static/chunks/app/api/restart/route-cf84f975aad4c719.js +1 -0
  128. package/.next/static/chunks/app/api/update/route-cf84f975aad4c719.js +1 -0
  129. package/.next/static/chunks/app/api/version/route-cf84f975aad4c719.js +1 -0
  130. package/.next/static/chunks/app/api/workspace/[id]/apps/[wid]/route-cf84f975aad4c719.js +1 -0
  131. package/.next/static/chunks/app/api/workspace/[id]/apps/route-cf84f975aad4c719.js +1 -0
  132. package/.next/static/chunks/app/api/workspace/[id]/export/route-cf84f975aad4c719.js +1 -0
  133. package/.next/static/chunks/app/api/workspace/[id]/route-cf84f975aad4c719.js +1 -0
  134. package/.next/static/chunks/app/api/workspace/config/route-cf84f975aad4c719.js +1 -0
  135. package/.next/static/chunks/app/api/workspace/import/route-cf84f975aad4c719.js +1 -0
  136. package/.next/static/chunks/app/api/workspace/route-cf84f975aad4c719.js +1 -0
  137. package/.next/static/chunks/app/app-legacy-do-not-use/page-e5dc864e92d90ca7.js +1 -0
  138. package/.next/static/chunks/app/approve/[actionId]/page-2acca1f490424f21.js +1 -0
  139. package/.next/static/chunks/app/docs/[...doc]/page-8e2a2d036caab242.js +1 -0
  140. package/.next/static/chunks/app/docs/page-acf872a03ff79893.js +1 -0
  141. package/.next/static/chunks/app/error-66f983b7769dabfa.js +1 -0
  142. package/.next/static/chunks/app/health/page-c9185854ed9c86d0.js +1 -0
  143. package/.next/static/chunks/app/hello/page-74c9f4deaa4b03dd.js +1 -0
  144. package/.next/static/chunks/app/layout-af8d9969c7aeb758.js +1 -0
  145. package/.next/static/chunks/app/page-16dfcd1c7cc88bcc.js +1 -0
  146. package/.next/static/chunks/app/privacy/page-8e2d17079355c2cc.js +1 -0
  147. package/.next/static/chunks/app/share/[token]/page-5dd9b0418eee411f.js +1 -0
  148. package/.next/static/chunks/app/terms/page-8e2d17079355c2cc.js +1 -0
  149. package/.next/static/chunks/app/yo/layout-cf84f975aad4c719.js +1 -0
  150. package/.next/static/chunks/app/yo/page-719dc5f213fdfb30.js +1 -0
  151. package/.next/static/chunks/framework-a32a2a465584c0bc.js +1 -0
  152. package/.next/static/chunks/main-0f0f9142f74e7215.js +1 -0
  153. package/.next/static/chunks/main-app-24f0c92ba10af457.js +1 -0
  154. package/.next/static/chunks/pages/_app-4b3fb5e477a0267f.js +1 -0
  155. package/.next/static/chunks/pages/_error-c970d8b55ace1b48.js +1 -0
  156. package/.next/static/chunks/{webpack-768de8b7d6a7a27a.js → webpack-79ad58260e9b10b4.js} +1 -1
  157. package/.next/static/css/83cd401584ab787f.css +3 -0
  158. package/.next/trace +28 -28
  159. package/.next/types/app/yo/layout.ts +84 -0
  160. package/.next/types/app/yo/page.ts +84 -0
  161. package/.next/types/routes.d.ts +4 -2
  162. package/.next/types/validator.ts +18 -0
  163. package/bin/auramaxx.js +9 -24
  164. package/docs/ARCHITECTURE.md +1 -1
  165. package/docs/AUTH.md +6 -3
  166. package/docs/CLI.md +2 -0
  167. package/docs/MCP.md +2 -0
  168. package/docs/credentials.md +2 -0
  169. package/package.json +1 -1
  170. package/prisma/migrations/20260227214000_update_agent_action_ttl_defaults/migration.sql +19 -0
  171. package/public/0a167e5e-4f52-4715-ae23-bf63d259a6b1.png +0 -0
  172. package/public/141ec92c-6780-4b23-838f-9a7bf1e91bb8.png +0 -0
  173. package/public/3afc4935-92cb-42af-9624-0b1341c12a5e.png +0 -0
  174. package/public/43947df5-dbcf-4e49-ab8b-41b9162c0410.png +0 -0
  175. package/public/5aeae9ce-0d38-49ea-8fd1-167892a04a85.png +0 -0
  176. package/public/660e4ea3-a3a6-4be4-a8ca-2cb74c51dfb5.png +0 -0
  177. package/public/733f02d7-6b58-4ba6-a5c8-d062cd205e1d.png +0 -0
  178. package/public/a32d65cb-95b0-4977-be6b-cf69f515afbe.png +0 -0
  179. package/public/agent1.png +0 -0
  180. package/public/agent10.png +0 -0
  181. package/public/agent2.png +0 -0
  182. package/public/agent3.png +0 -0
  183. package/public/agent4.png +0 -0
  184. package/public/agent5.png +0 -0
  185. package/public/agent6.png +0 -0
  186. package/public/agent7.png +0 -0
  187. package/public/agent8.png +0 -0
  188. package/public/agent9.png +0 -0
  189. package/public/c4938305-b811-4ccc-91db-94d309734827.png +0 -0
  190. package/public/f2ca6825-a4f3-4107-815c-51ee740dfc09.png +0 -0
  191. package/public/llm.txt +2 -0
  192. package/public/llms.txt +39 -0
  193. package/public/ss-dark1.png +0 -0
  194. package/public/ss-dark1.webp +0 -0
  195. package/public/ss-dark2.png +0 -0
  196. package/public/ss-dark2.webp +0 -0
  197. package/public/ss-dark3.png +0 -0
  198. package/public/ss-dark3.webp +0 -0
  199. package/public/ss-light1.png +0 -0
  200. package/public/ss-light1.webp +0 -0
  201. package/public/ss-light2.png +0 -0
  202. package/public/ss-light2.webp +0 -0
  203. package/public/ss-light3.png +0 -0
  204. package/public/ss-light3.webp +0 -0
  205. package/shared/agent-profile-schema.ts +81 -0
  206. package/shared/credential-field-schema.ts +12 -0
  207. package/skills/auramaxx/SKILL.md +71 -691
  208. package/src/app/UnlockPageClient.tsx +1939 -0
  209. package/src/app/api/page.tsx +8 -9
  210. package/src/app/api/update/route.ts +105 -36
  211. package/src/app/approve/[actionId]/page.tsx +4 -1
  212. package/src/app/docs/DocsPageContent.tsx +3 -3
  213. package/src/app/globals.css +94 -0
  214. package/src/app/layout.tsx +1 -0
  215. package/src/app/page.tsx +25 -1935
  216. package/src/app/yo/layout.tsx +29 -0
  217. package/src/app/yo/page.tsx +528 -0
  218. package/src/components/HumanActionBar.tsx +34 -8
  219. package/src/components/agent/AgentSidebar.tsx +3 -1
  220. package/src/components/agent/CredentialAgent.tsx +5 -1
  221. package/src/components/agent/CredentialDetail.tsx +32 -1
  222. package/src/components/agent/CredentialForm.tsx +94 -7
  223. package/src/components/agent/CredentialRow.tsx +8 -1
  224. package/src/components/agent/credentialFormName.ts +22 -1
  225. package/src/components/agent/types.ts +2 -2
  226. package/src/components/design-system/Modal.tsx +14 -1
  227. package/src/hooks/useUpdateChecker.ts +17 -1
  228. package/src/lib/pino.ts +77 -8
  229. package/src/server/cli/commands/actions.ts +1 -1
  230. package/src/server/cli/commands/agent.ts +110 -65
  231. package/src/server/cli/commands/approve.ts +1 -1
  232. package/src/server/cli/commands/auth.ts +81 -20
  233. package/src/server/cli/commands/token.ts +2 -2
  234. package/src/server/cli/lib/escalation.ts +109 -24
  235. package/src/server/cli/lib/process.ts +2 -1
  236. package/src/server/cli/socket.ts +1 -1
  237. package/src/server/index.ts +2 -0
  238. package/src/server/lib/agent-profile-records.ts +72 -0
  239. package/src/server/lib/credential-transport.ts +27 -11
  240. package/src/server/lib/defaults.ts +3 -3
  241. package/src/server/lib/escalation-responder.ts +1 -1
  242. package/src/server/lib/resolve-action.ts +2 -2
  243. package/src/server/mcp/server.ts +6 -1
  244. package/src/server/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +1 -1
  245. package/src/server/routes/actions.ts +2 -2
  246. package/src/server/routes/agent-profiles.ts +82 -0
  247. package/src/server/routes/auth.ts +39 -4
  248. package/src/server/routes/credentials.ts +18 -0
  249. package/src/server/tests/cli/agent-auth.test.ts +20 -39
  250. package/src/server/tests/cli/agent.test.ts +18 -0
  251. package/src/server/tests/cli/auth-action-flag.test.ts +3 -2
  252. package/src/server/tests/cli/bin-entrypoint.test.ts +35 -11
  253. package/src/server/tests/cli/escalation.test.ts +7 -3
  254. package/src/server/tests/cli/process.test.ts +3 -3
  255. package/src/server/tests/cli/socket.test.ts +2 -2
  256. package/src/server/tests/endpoints/actions.test.ts +2 -2
  257. package/src/server/tests/endpoints/agent-profiles.test.ts +117 -0
  258. package/src/server/tests/endpoints/auth.test.ts +34 -0
  259. package/src/server/tests/lib/credential-transport.test.ts +68 -2
  260. package/src/server/tests/lib/defaults.test.ts +2 -2
  261. package/src/server/tests/lib/escalation-responder.test.ts +2 -2
  262. package/src/server/tests/setup.ts +7 -0
  263. package/src/server/tsconfig.tsbuildinfo +1 -1
  264. package/src/server/types.ts +1 -1
  265. package/.next/static/chunks/1168.63dbb444a33b1867.js +0 -1
  266. package/.next/static/chunks/1255-e8718b02724690dd.js +0 -1
  267. package/.next/static/chunks/142-aeaf7ffa9c53516d.js +0 -1
  268. package/.next/static/chunks/2505.22aaa333fd65908f.js +0 -1
  269. package/.next/static/chunks/2619-3c9e02e22d10480a.js +0 -1
  270. package/.next/static/chunks/2927.e7e9e2a1b8d2dc61.js +0 -1
  271. package/.next/static/chunks/3573-27e17f4ff2dd86ed.js +0 -1
  272. package/.next/static/chunks/3609.6f8e0ecd6de9566c.js +0 -1
  273. package/.next/static/chunks/3667-d6770121629db38b.js +0 -1
  274. package/.next/static/chunks/3826.7dfe96467cd74e45.js +0 -1
  275. package/.next/static/chunks/4256.50cb375c979ffd5a.js +0 -1
  276. package/.next/static/chunks/4685-3f8d92f574366fec.js +0 -1
  277. package/.next/static/chunks/4901-54c1ac380b7b43bb.js +0 -1
  278. package/.next/static/chunks/4919-fe6f1553abfc9420.js +0 -1
  279. package/.next/static/chunks/4bd1b696-f785427dddbba9fb.js +0 -1
  280. package/.next/static/chunks/5336-bd251f91235f7c11.js +0 -1
  281. package/.next/static/chunks/5442-be197c885bf12079.js +0 -1
  282. package/.next/static/chunks/5553-c8b86fe3513fce04.js +0 -59
  283. package/.next/static/chunks/6233-44e6fe57a552a816.js +0 -1
  284. package/.next/static/chunks/626.2583673a0386a81b.js +0 -1
  285. package/.next/static/chunks/6872-6442f2f5cce36ce5.js +0 -1
  286. package/.next/static/chunks/7411-3ca797c21b722ccd.js +0 -1
  287. package/.next/static/chunks/7616-b8bd37ce1f735d6f.js +0 -1
  288. package/.next/static/chunks/786-9ed39f96091b2be4.js +0 -1
  289. package/.next/static/chunks/8273-922091226ba84a94.js +0 -1
  290. package/.next/static/chunks/8357.6159472717ff7d11.js +0 -1
  291. package/.next/static/chunks/9062-3eb1607c96486f88.js +0 -1
  292. package/.next/static/chunks/9380.93f361baab2eefdf.js +0 -1
  293. package/.next/static/chunks/app/_not-found/page-c3b87025baf0a9c2.js +0 -1
  294. package/.next/static/chunks/app/api/[...doc]/page-790c4b33ba1fde4a.js +0 -1
  295. package/.next/static/chunks/app/api/agent-requests/route-e83b12cbab2e8707.js +0 -1
  296. package/.next/static/chunks/app/api/apps/install/route-e83b12cbab2e8707.js +0 -1
  297. package/.next/static/chunks/app/api/apps/manifests/route-e83b12cbab2e8707.js +0 -1
  298. package/.next/static/chunks/app/api/apps/static/[...path]/route-e83b12cbab2e8707.js +0 -1
  299. package/.next/static/chunks/app/api/docs/plain/route-e83b12cbab2e8707.js +0 -1
  300. package/.next/static/chunks/app/api/events/route-e83b12cbab2e8707.js +0 -1
  301. package/.next/static/chunks/app/api/import-from-openclaw/[channel]/route-e83b12cbab2e8707.js +0 -1
  302. package/.next/static/chunks/app/api/import-from-openclaw/route-e83b12cbab2e8707.js +0 -1
  303. package/.next/static/chunks/app/api/import-from-openclaw/validate/[channel]/route-e83b12cbab2e8707.js +0 -1
  304. package/.next/static/chunks/app/api/page-b53f9aa17a4c5201.js +0 -1
  305. package/.next/static/chunks/app/api/restart/route-e83b12cbab2e8707.js +0 -1
  306. package/.next/static/chunks/app/api/update/route-e83b12cbab2e8707.js +0 -1
  307. package/.next/static/chunks/app/api/version/route-e83b12cbab2e8707.js +0 -1
  308. package/.next/static/chunks/app/api/workspace/[id]/apps/[wid]/route-e83b12cbab2e8707.js +0 -1
  309. package/.next/static/chunks/app/api/workspace/[id]/apps/route-e83b12cbab2e8707.js +0 -1
  310. package/.next/static/chunks/app/api/workspace/[id]/export/route-e83b12cbab2e8707.js +0 -1
  311. package/.next/static/chunks/app/api/workspace/[id]/route-e83b12cbab2e8707.js +0 -1
  312. package/.next/static/chunks/app/api/workspace/config/route-e83b12cbab2e8707.js +0 -1
  313. package/.next/static/chunks/app/api/workspace/import/route-e83b12cbab2e8707.js +0 -1
  314. package/.next/static/chunks/app/api/workspace/route-e83b12cbab2e8707.js +0 -1
  315. package/.next/static/chunks/app/app-legacy-do-not-use/page-0052191daef60036.js +0 -1
  316. package/.next/static/chunks/app/approve/[actionId]/page-45cd3b8fa062d5e5.js +0 -1
  317. package/.next/static/chunks/app/docs/[...doc]/page-632ac406200b66fe.js +0 -1
  318. package/.next/static/chunks/app/docs/page-b7556394709b43df.js +0 -1
  319. package/.next/static/chunks/app/error-3d6057da512253d8.js +0 -1
  320. package/.next/static/chunks/app/health/page-80c985cd72328b74.js +0 -1
  321. package/.next/static/chunks/app/hello/page-fd71babcd192729b.js +0 -1
  322. package/.next/static/chunks/app/layout-285c6ef3f16bae63.js +0 -1
  323. package/.next/static/chunks/app/page-85017185df14c37b.js +0 -1
  324. package/.next/static/chunks/app/privacy/page-faf36cd0dde6dfa3.js +0 -1
  325. package/.next/static/chunks/app/share/[token]/page-22d51d6c5a47bb75.js +0 -1
  326. package/.next/static/chunks/app/terms/page-faf36cd0dde6dfa3.js +0 -1
  327. package/.next/static/chunks/framework-e60c938074ff7136.js +0 -1
  328. package/.next/static/chunks/main-447abf206d7ebd2f.js +0 -1
  329. package/.next/static/chunks/main-app-f63b86bdbf5b7b88.js +0 -1
  330. package/.next/static/chunks/pages/_app-6c8c2371b16a04b8.js +0 -1
  331. package/.next/static/chunks/pages/_error-94812ad32cad7365.js +0 -1
  332. package/.next/static/css/eb25c6452113486f.css +0 -3
  333. package/.next/static/zCR6u3S4dIjlCtV80nNsp/_buildManifest.js +0 -1
  334. /package/.next/static/{zCR6u3S4dIjlCtV80nNsp → WshFGr6RxGYP6AbWuT9OG}/_ssgManifest.js +0 -0
@@ -0,0 +1,84 @@
1
+ // File: /Users/alyssa/src/aura/aurawallet/src/app/yo/layout.tsx
2
+ import * as entry from '../../../../src/app/yo/layout.js'
3
+ import type { ResolvingMetadata, ResolvingViewport } from 'next/dist/lib/metadata/types/metadata-interface.js'
4
+
5
+ type TEntry = typeof import('../../../../src/app/yo/layout.js')
6
+
7
+ type SegmentParams<T extends Object = any> = T extends Record<string, any>
8
+ ? { [K in keyof T]: T[K] extends string ? string | string[] | undefined : never }
9
+ : T
10
+
11
+ // Check that the entry is a valid entry
12
+ checkFields<Diff<{
13
+ default: Function
14
+ config?: {}
15
+ generateStaticParams?: Function
16
+ revalidate?: RevalidateRange<TEntry> | false
17
+ dynamic?: 'auto' | 'force-dynamic' | 'error' | 'force-static'
18
+ dynamicParams?: boolean
19
+ fetchCache?: 'auto' | 'force-no-store' | 'only-no-store' | 'default-no-store' | 'default-cache' | 'only-cache' | 'force-cache'
20
+ preferredRegion?: 'auto' | 'global' | 'home' | string | string[]
21
+ runtime?: 'nodejs' | 'experimental-edge' | 'edge'
22
+ maxDuration?: number
23
+
24
+ metadata?: any
25
+ generateMetadata?: Function
26
+ viewport?: any
27
+ generateViewport?: Function
28
+ experimental_ppr?: boolean
29
+
30
+ }, TEntry, ''>>()
31
+
32
+
33
+ // Check the prop type of the entry function
34
+ checkFields<Diff<LayoutProps, FirstArg<TEntry['default']>, 'default'>>()
35
+
36
+ // Check the arguments and return type of the generateMetadata function
37
+ if ('generateMetadata' in entry) {
38
+ checkFields<Diff<LayoutProps, FirstArg<MaybeField<TEntry, 'generateMetadata'>>, 'generateMetadata'>>()
39
+ checkFields<Diff<ResolvingMetadata, SecondArg<MaybeField<TEntry, 'generateMetadata'>>, 'generateMetadata'>>()
40
+ }
41
+
42
+ // Check the arguments and return type of the generateViewport function
43
+ if ('generateViewport' in entry) {
44
+ checkFields<Diff<LayoutProps, FirstArg<MaybeField<TEntry, 'generateViewport'>>, 'generateViewport'>>()
45
+ checkFields<Diff<ResolvingViewport, SecondArg<MaybeField<TEntry, 'generateViewport'>>, 'generateViewport'>>()
46
+ }
47
+
48
+ // Check the arguments and return type of the generateStaticParams function
49
+ if ('generateStaticParams' in entry) {
50
+ checkFields<Diff<{ params: SegmentParams }, FirstArg<MaybeField<TEntry, 'generateStaticParams'>>, 'generateStaticParams'>>()
51
+ checkFields<Diff<{ __tag__: 'generateStaticParams', __return_type__: any[] | Promise<any[]> }, { __tag__: 'generateStaticParams', __return_type__: ReturnType<MaybeField<TEntry, 'generateStaticParams'>> }>>()
52
+ }
53
+
54
+ export interface PageProps {
55
+ params?: Promise<SegmentParams>
56
+ searchParams?: Promise<any>
57
+ }
58
+ export interface LayoutProps {
59
+ children?: React.ReactNode
60
+
61
+ params?: Promise<SegmentParams>
62
+ }
63
+
64
+ // =============
65
+ // Utility types
66
+ type RevalidateRange<T> = T extends { revalidate: any } ? NonNegative<T['revalidate']> : never
67
+
68
+ // If T is unknown or any, it will be an empty {} type. Otherwise, it will be the same as Omit<T, keyof Base>.
69
+ type OmitWithTag<T, K extends keyof any, _M> = Omit<T, K>
70
+ type Diff<Base, T extends Base, Message extends string = ''> = 0 extends (1 & T) ? {} : OmitWithTag<T, keyof Base, Message>
71
+
72
+ type FirstArg<T extends Function> = T extends (...args: [infer T, any]) => any ? unknown extends T ? any : T : never
73
+ type SecondArg<T extends Function> = T extends (...args: [any, infer T]) => any ? unknown extends T ? any : T : never
74
+ type MaybeField<T, K extends string> = T extends { [k in K]: infer G } ? G extends Function ? G : never : never
75
+
76
+
77
+
78
+ function checkFields<_ extends { [k in keyof any]: never }>() {}
79
+
80
+ // https://github.com/sindresorhus/type-fest
81
+ type Numeric = number | bigint
82
+ type Zero = 0 | 0n
83
+ type Negative<T extends Numeric> = T extends Zero ? never : `${T}` extends `-${string}` ? T : never
84
+ type NonNegative<T extends Numeric> = T extends Zero ? T : Negative<T> extends never ? T : '__invalid_negative_number__'
@@ -0,0 +1,84 @@
1
+ // File: /Users/alyssa/src/aura/aurawallet/src/app/yo/page.tsx
2
+ import * as entry from '../../../../src/app/yo/page.js'
3
+ import type { ResolvingMetadata, ResolvingViewport } from 'next/dist/lib/metadata/types/metadata-interface.js'
4
+
5
+ type TEntry = typeof import('../../../../src/app/yo/page.js')
6
+
7
+ type SegmentParams<T extends Object = any> = T extends Record<string, any>
8
+ ? { [K in keyof T]: T[K] extends string ? string | string[] | undefined : never }
9
+ : T
10
+
11
+ // Check that the entry is a valid entry
12
+ checkFields<Diff<{
13
+ default: Function
14
+ config?: {}
15
+ generateStaticParams?: Function
16
+ revalidate?: RevalidateRange<TEntry> | false
17
+ dynamic?: 'auto' | 'force-dynamic' | 'error' | 'force-static'
18
+ dynamicParams?: boolean
19
+ fetchCache?: 'auto' | 'force-no-store' | 'only-no-store' | 'default-no-store' | 'default-cache' | 'only-cache' | 'force-cache'
20
+ preferredRegion?: 'auto' | 'global' | 'home' | string | string[]
21
+ runtime?: 'nodejs' | 'experimental-edge' | 'edge'
22
+ maxDuration?: number
23
+
24
+ metadata?: any
25
+ generateMetadata?: Function
26
+ viewport?: any
27
+ generateViewport?: Function
28
+ experimental_ppr?: boolean
29
+
30
+ }, TEntry, ''>>()
31
+
32
+
33
+ // Check the prop type of the entry function
34
+ checkFields<Diff<PageProps, FirstArg<TEntry['default']>, 'default'>>()
35
+
36
+ // Check the arguments and return type of the generateMetadata function
37
+ if ('generateMetadata' in entry) {
38
+ checkFields<Diff<PageProps, FirstArg<MaybeField<TEntry, 'generateMetadata'>>, 'generateMetadata'>>()
39
+ checkFields<Diff<ResolvingMetadata, SecondArg<MaybeField<TEntry, 'generateMetadata'>>, 'generateMetadata'>>()
40
+ }
41
+
42
+ // Check the arguments and return type of the generateViewport function
43
+ if ('generateViewport' in entry) {
44
+ checkFields<Diff<PageProps, FirstArg<MaybeField<TEntry, 'generateViewport'>>, 'generateViewport'>>()
45
+ checkFields<Diff<ResolvingViewport, SecondArg<MaybeField<TEntry, 'generateViewport'>>, 'generateViewport'>>()
46
+ }
47
+
48
+ // Check the arguments and return type of the generateStaticParams function
49
+ if ('generateStaticParams' in entry) {
50
+ checkFields<Diff<{ params: SegmentParams }, FirstArg<MaybeField<TEntry, 'generateStaticParams'>>, 'generateStaticParams'>>()
51
+ checkFields<Diff<{ __tag__: 'generateStaticParams', __return_type__: any[] | Promise<any[]> }, { __tag__: 'generateStaticParams', __return_type__: ReturnType<MaybeField<TEntry, 'generateStaticParams'>> }>>()
52
+ }
53
+
54
+ export interface PageProps {
55
+ params?: Promise<SegmentParams>
56
+ searchParams?: Promise<any>
57
+ }
58
+ export interface LayoutProps {
59
+ children?: React.ReactNode
60
+
61
+ params?: Promise<SegmentParams>
62
+ }
63
+
64
+ // =============
65
+ // Utility types
66
+ type RevalidateRange<T> = T extends { revalidate: any } ? NonNegative<T['revalidate']> : never
67
+
68
+ // If T is unknown or any, it will be an empty {} type. Otherwise, it will be the same as Omit<T, keyof Base>.
69
+ type OmitWithTag<T, K extends keyof any, _M> = Omit<T, K>
70
+ type Diff<Base, T extends Base, Message extends string = ''> = 0 extends (1 & T) ? {} : OmitWithTag<T, keyof Base, Message>
71
+
72
+ type FirstArg<T extends Function> = T extends (...args: [infer T, any]) => any ? unknown extends T ? any : T : never
73
+ type SecondArg<T extends Function> = T extends (...args: [any, infer T]) => any ? unknown extends T ? any : T : never
74
+ type MaybeField<T, K extends string> = T extends { [k in K]: infer G } ? G extends Function ? G : never : never
75
+
76
+
77
+
78
+ function checkFields<_ extends { [k in keyof any]: never }>() {}
79
+
80
+ // https://github.com/sindresorhus/type-fest
81
+ type Numeric = number | bigint
82
+ type Zero = 0 | 0n
83
+ type Negative<T extends Numeric> = T extends Zero ? never : `${T}` extends `-${string}` ? T : never
84
+ type NonNegative<T extends Numeric> = T extends Zero ? T : Negative<T> extends never ? T : '__invalid_negative_number__'
@@ -1,10 +1,10 @@
1
1
  // This file is generated automatically by Next.js
2
2
  // Do not edit this file manually
3
3
 
4
- type AppRoutes = "/" | "/api" | "/api/[...doc]" | "/app-legacy-do-not-use" | "/approve/[actionId]" | "/docs" | "/docs/[...doc]" | "/health" | "/hello" | "/privacy" | "/share/[token]" | "/terms"
4
+ type AppRoutes = "/" | "/api" | "/api/[...doc]" | "/app-legacy-do-not-use" | "/approve/[actionId]" | "/docs" | "/docs/[...doc]" | "/health" | "/hello" | "/privacy" | "/share/[token]" | "/terms" | "/yo"
5
5
  type AppRouteHandlerRoutes = "/api/agent-requests" | "/api/apps/install" | "/api/apps/manifests" | "/api/apps/static/[...path]" | "/api/docs/plain" | "/api/events" | "/api/import-from-openclaw" | "/api/import-from-openclaw/[channel]" | "/api/import-from-openclaw/validate/[channel]" | "/api/restart" | "/api/update" | "/api/version" | "/api/workspace" | "/api/workspace/[id]" | "/api/workspace/[id]/apps" | "/api/workspace/[id]/apps/[wid]" | "/api/workspace/[id]/export" | "/api/workspace/config" | "/api/workspace/import"
6
6
  type PageRoutes = never
7
- type LayoutRoutes = "/"
7
+ type LayoutRoutes = "/" | "/yo"
8
8
  type RedirectRoutes = "/app/[[...path]]"
9
9
  type RewriteRoutes = never
10
10
  type Routes = AppRoutes | PageRoutes | LayoutRoutes | RedirectRoutes | RewriteRoutes | AppRouteHandlerRoutes
@@ -43,6 +43,7 @@ interface ParamMap {
43
43
  "/privacy": {}
44
44
  "/share/[token]": { "token": string; }
45
45
  "/terms": {}
46
+ "/yo": {}
46
47
  }
47
48
 
48
49
 
@@ -50,6 +51,7 @@ export type ParamsOf<Route extends Routes> = ParamMap[Route]
50
51
 
51
52
  interface LayoutSlotMap {
52
53
  "/": never
54
+ "/yo": never
53
55
  }
54
56
 
55
57
 
@@ -155,6 +155,15 @@ type RouteHandlerConfig<Route extends AppRouteHandlerRoutes = AppRouteHandlerRou
155
155
  type __Unused = __Check
156
156
  }
157
157
 
158
+ // Validate ../../src/app/yo/page.tsx
159
+ {
160
+ type __IsExpected<Specific extends AppPageConfig<"/yo">> = Specific
161
+ const handler = {} as typeof import("../../src/app/yo/page.js")
162
+ type __Check = __IsExpected<typeof handler>
163
+ // @ts-ignore
164
+ type __Unused = __Check
165
+ }
166
+
158
167
  // Validate ../../src/app/api/agent-requests/route.ts
159
168
  {
160
169
  type __IsExpected<Specific extends RouteHandlerConfig<"/api/agent-requests">> = Specific
@@ -338,3 +347,12 @@ type RouteHandlerConfig<Route extends AppRouteHandlerRoutes = AppRouteHandlerRou
338
347
  // @ts-ignore
339
348
  type __Unused = __Check
340
349
  }
350
+
351
+ // Validate ../../src/app/yo/layout.tsx
352
+ {
353
+ type __IsExpected<Specific extends LayoutConfig<"/yo">> = Specific
354
+ const handler = {} as typeof import("../../src/app/yo/layout.js")
355
+ type __Check = __IsExpected<typeof handler>
356
+ // @ts-ignore
357
+ type __Unused = __Check
358
+ }
package/bin/auramaxx.js CHANGED
@@ -15,6 +15,7 @@ const readline = require('readline');
15
15
 
16
16
  const root = path.join(__dirname, '..');
17
17
  let cmd = process.argv[2];
18
+ const invokedCommand = process.argv[2];
18
19
  const args = process.argv.slice(3);
19
20
  let inferredCommand = false;
20
21
 
@@ -725,6 +726,12 @@ function shouldRunOnboardingAutoconfig() {
725
726
  return inferredInitOrStart || explicitInitOrStart;
726
727
  }
727
728
 
729
+ function shouldRunBootstrapInstall() {
730
+ const inferredInitOrStart = inferredCommand && (cmd === 'init' || cmd === 'start');
731
+ const explicitStart = !inferredCommand && invokedCommand === 'start';
732
+ return inferredInitOrStart || explicitStart;
733
+ }
734
+
728
735
  function shouldLogBootstrapDetails() {
729
736
  if (process.env.AURA_BOOTSTRAP_VERBOSE === '1') return true;
730
737
  return args.includes('--debug');
@@ -1094,11 +1101,7 @@ function maybeAutoInstallAuraAlias() {
1094
1101
  }
1095
1102
 
1096
1103
  function maybeAutoInstallSkills() {
1097
- if (process.env.AURA_AUTO_SKILL_INSTALL === '0') return;
1098
-
1099
- const inferredInitOrStart = inferredCommand && (cmd === 'init' || cmd === 'start');
1100
- const explicitStart = !inferredCommand && cmd === 'start';
1101
- if (!inferredInitOrStart && !explicitStart) return;
1104
+ if (!shouldRunBootstrapInstall()) return;
1102
1105
 
1103
1106
  // Delegate to skill.ts — single source of truth for install + heartbeat patching
1104
1107
  const verbose = shouldLogBootstrapDetails();
@@ -1151,27 +1154,9 @@ function maybeInitFeatureFlags() {
1151
1154
  }
1152
1155
 
1153
1156
  function maybeAutoInstallMcp() {
1154
- if (process.env.AURA_AUTO_MCP_INSTALL === '0') return;
1157
+ if (!shouldRunBootstrapInstall()) return;
1155
1158
  const verbose = shouldLogBootstrapDetails();
1156
1159
 
1157
- // CLI agents should use direct CLI/socket and not auto-install MCP into CLI clients.
1158
- // Desktop users can still force auto-install with AURA_AUTO_MCP_INSTALL_FORCE=1.
1159
- const forceAutoInstall = process.env.AURA_AUTO_MCP_INSTALL_FORCE === '1';
1160
- const isCliAgent = Boolean(
1161
- process.env.CODEX_CI ||
1162
- process.env.CODEX_SANDBOX ||
1163
- process.env.CLAUDE_CODE ||
1164
- process.env.CLAUDECODE ||
1165
- process.env.AURA_CLI_AGENT
1166
- );
1167
- if (isCliAgent && !forceAutoInstall) return;
1168
-
1169
- // Keep one-command onboarding for bare `npx auramaxx` (init/start),
1170
- // and make explicit `start` behave the same way.
1171
- const inferredInitOrStart = inferredCommand && (cmd === 'init' || cmd === 'start');
1172
- const explicitStart = !inferredCommand && cmd === 'start';
1173
- if (!inferredInitOrStart && !explicitStart) return;
1174
-
1175
1160
  if (verbose) {
1176
1161
  console.log('Auto-configuring MCP integrations (best effort)...');
1177
1162
  }
@@ -129,7 +129,7 @@ Every token issuance path requires human involvement:
129
129
  | `POST /auth` | Human must approve the pending request |
130
130
  | `POST /actions` | Human must resolve the action (`/actions/:id/resolve`) |
131
131
  | `POST /actions/token` | Caller must already have admin token |
132
- | Socket bootstrap | Trust-dependent (configurable, default: `localAutoApprove = false`) |
132
+ | Socket bootstrap | Trust-dependent (configurable, default: `localAutoApprove = true`) |
133
133
 
134
134
  Agents cannot escalate their own permissions — `admin:*` and `action:create` are blocked from self-escalation via `POST /actions`.
135
135
 
package/docs/AUTH.md CHANGED
@@ -295,8 +295,9 @@ Defaults:
295
295
  - API server: `http://localhost:4242`
296
296
  - Socket path: `/tmp/aura-cli-<uid>.sock`
297
297
  - Local socket perms: `0600`
298
- - Default trust profile: `dev`
299
- - `trust.localAutoApprove = false`
298
+ - Default trust profile: `admin`
299
+ - `trust.localAutoApprove = true`
300
+ - `/auth` fallback profile resolution: explicit `--profile`/API value -> `trust.localProfile` -> `dev`
300
301
 
301
302
  Use admin auth for trust tuning:
302
303
 
@@ -421,11 +422,13 @@ CLI and MCP are canonical-only for escalation payloads. If a 403 escalation payl
421
422
  "retryAction": {
422
423
  "transport": "cli",
423
424
  "kind": "command",
424
- "command": "<retry_original_command> --reqId req_123"
425
+ "command": "npx auramaxx get OURSECRET --json --reqId req_123"
425
426
  }
426
427
  }
427
428
  ```
428
429
 
430
+ CLI projections now include the exact replay command when the original command context is available.
431
+
429
432
  ### MCP projection (typed action filled if missing)
430
433
 
431
434
  ```json
package/docs/CLI.md CHANGED
@@ -69,6 +69,8 @@ Default `aura start` behavior:
69
69
  - If service install/bootstrap fails on first run, falls back to direct process start.
70
70
  - If service is already installed but cannot launch/health-check, `start` exits with guidance instead of manually spawning a competing runtime.
71
71
  - Explicit modes (`--debug`, `--dev`, `--headless`, `--background`) continue to use direct process startup.
72
+ - On every `start`, AuraMaxx runs best-effort skill sync (`aura skill --all --yes`) and MCP config sync (`aura mcp --install`) so installed clients stay updated.
73
+ - These startup syncs do not support env-based opt-out toggles.
72
74
  - `start` does not auto-start cron. Run `aura cron` explicitly when needed.
73
75
 
74
76
  Default `aura init` behavior:
package/docs/MCP.md CHANGED
@@ -11,6 +11,8 @@ auramaxx mcp
11
11
  ```
12
12
 
13
13
  `auramaxx` starts the API server on `http://localhost:4242` and dashboard UI on `http://localhost:4747`.
14
+ It also runs best-effort skill sync (`auramaxx skill --all --yes`) and MCP config sync (`auramaxx mcp --install`) on `start` so local agents stay current.
15
+ These startup syncs are always-on (no env opt-out toggles).
14
16
 
15
17
  Auto-configure local IDE MCP files:
16
18
 
@@ -8,6 +8,7 @@ Use this page to understand credential types, canonical fields, and access polic
8
8
  | Type | Description | Key Fields |
9
9
  |------|-------------|------------|
10
10
  | `login` | Website logins | username, password, URL, TOTP |
11
+ | `sso` | SSO login references | website, provider, identifier |
11
12
  | `note` | Secure notes | freeform text |
12
13
  | `card` | Payment cards | card number, expiry, CVV |
13
14
  | `api` | API credentials | API key, secret, endpoint |
@@ -48,6 +49,7 @@ AuraMaxx uses canonical field keys for built-in credential types. Current baseli
48
49
  |------|----------------------|-------|
49
50
  | `login` | `url`, `username`, `password`, `notes`, `totp` | `otp` is accepted as legacy alias for `totp` |
50
51
  | `card` | `cardholder`, `brand`, `billing_zip`, `last4`, `number`, `cvv`, `expiry`, `notes` | `last4` is derived metadata; `number`/`cvv`/`expiry` are sensitive |
52
+ | `sso` | `website`, `provider`, `identifier` | `website` + `provider` are required on create; `identifier` is optional |
51
53
  | `note` | `content` | `value` is accepted as legacy alias and normalized to `content` on read/write paths |
52
54
  | `apikey` | `key`, `value` | `key` is metadata/display, `value` is secret |
53
55
  | `oauth2` | `token_endpoint`, `scopes`, `auth_method`, `expires_at`, `access_token`, `refresh_token`, `client_id`, `client_secret` | `access_token`/`refresh_token`/`client_id`/`client_secret` are sensitive |
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "auramaxx",
3
- "version": "0.0.12",
3
+ "version": "0.0.13",
4
4
  "description": "Securely share passwords, API keys and wallets with your agent.",
5
5
  "keywords": [
6
6
  "onepassword",
@@ -0,0 +1,19 @@
1
+ -- Raise default agent/action token TTLs.
2
+ -- Preserve custom overrides by only migrating old default values.
3
+ UPDATE "SystemDefault"
4
+ SET
5
+ "value" = '604800',
6
+ "description" = 'Default time-to-live for agent tokens (7 days)',
7
+ "updatedAt" = datetime('now')
8
+ WHERE
9
+ "key" = 'ttl.agent'
10
+ AND trim("value") IN ('3600', '"3600"');
11
+
12
+ UPDATE "SystemDefault"
13
+ SET
14
+ "value" = '3600',
15
+ "description" = 'Default time-to-live for action tokens (1 hour)',
16
+ "updatedAt" = datetime('now')
17
+ WHERE
18
+ "key" = 'ttl.action'
19
+ AND trim("value") IN ('60', '"60"', '600', '"600"');
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
package/public/llm.txt ADDED
@@ -0,0 +1,2 @@
1
+ Canonical index: https://auramaxx.sh/llms.txt
2
+
@@ -0,0 +1,39 @@
1
+ # AuraMaxx
2
+ > The Apple Keychain for AI agents.
3
+
4
+ ## Start Here
5
+ - https://auramaxx.sh/
6
+ - https://auramaxx.sh/yo
7
+ - https://auramaxx.sh/docs
8
+ - https://auramaxx.sh/api
9
+
10
+ ## Skills & MCP Setup
11
+ - https://auramaxx.sh/docs/SKILLS.md
12
+ - https://auramaxx.sh/docs/AGENT_SETUP.md
13
+ - https://auramaxx.sh/docs/AGENT_SETUP.md#skills
14
+ - https://auramaxx.sh/docs/AGENT_SETUP.md#mcp
15
+ - https://auramaxx.sh/docs/MCP.md
16
+ - https://auramaxx.sh/docs/CLI.md
17
+ - https://github.com/Aura-Industry/auramaxx/blob/main/skills/auramaxx/SKILL.md
18
+
19
+ ## Legal
20
+ - https://auramaxx.sh/privacy
21
+ - https://auramaxx.sh/terms
22
+
23
+ ## Machine-Readable
24
+ - https://auramaxx.sh/api/apps/manifests
25
+ - https://auramaxx.sh/api/docs/plain
26
+ - https://auramaxx.sh/api/version
27
+ - https://auramaxx.sh/api/events
28
+
29
+ ## Repo Canonical Sources
30
+ - skills/auramaxx/SKILL.md
31
+ - docs/README.md
32
+ - docs/AGENT_SETUP.md
33
+ - docs/SKILLS.md
34
+ - docs/CLI.md
35
+ - docs/MCP.md
36
+ - docs/AUTH.md
37
+ - docs/security.md
38
+ - docs/PROTOCOL.md
39
+ - docs/ARCHITECTURE.md
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
@@ -0,0 +1,81 @@
1
+ export interface AgentProfileInput {
2
+ agentId: string;
3
+ email?: string;
4
+ phone?: string;
5
+ address?: string;
6
+ profileImage?: string;
7
+ attributes?: Record<string, string>;
8
+ }
9
+
10
+ export interface AgentProfileRecord extends AgentProfileInput {
11
+ createdAt: string;
12
+ updatedAt: string;
13
+ }
14
+
15
+ function readOptionalString(input: Record<string, unknown>, key: string, aliases: string[] = []): string | undefined {
16
+ const candidates = [key, ...aliases];
17
+ for (const candidate of candidates) {
18
+ const value = input[candidate];
19
+ if (value === undefined || value === null) continue;
20
+ if (typeof value !== 'string') {
21
+ throw new Error(`agent profile field "${key}" must be a string`);
22
+ }
23
+ const trimmed = value.trim();
24
+ if (!trimmed) return undefined;
25
+ return trimmed;
26
+ }
27
+ return undefined;
28
+ }
29
+
30
+ function readAttributes(input: Record<string, unknown>): Record<string, string> | undefined {
31
+ const raw = input.attributes ?? input.custom_attributes ?? input.customAttributes;
32
+ if (raw === undefined || raw === null) return undefined;
33
+ if (typeof raw !== 'object' || Array.isArray(raw)) {
34
+ throw new Error('agent profile field "attributes" must be an object');
35
+ }
36
+
37
+ const attributes: Record<string, string> = {};
38
+ for (const [rawKey, rawValue] of Object.entries(raw as Record<string, unknown>)) {
39
+ const key = rawKey.trim();
40
+ if (!key) {
41
+ throw new Error('agent profile attribute keys must be non-empty');
42
+ }
43
+ if (typeof rawValue !== 'string') {
44
+ throw new Error(`agent profile attribute "${key}" must be a string`);
45
+ }
46
+ attributes[key] = rawValue;
47
+ }
48
+
49
+ return Object.keys(attributes).length > 0 ? attributes : undefined;
50
+ }
51
+
52
+ export function normalizeAgentProfileInput(
53
+ value: unknown,
54
+ options: { fallbackAgentId?: string } = {},
55
+ ): AgentProfileInput {
56
+ if (!value || typeof value !== 'object' || Array.isArray(value)) {
57
+ throw new Error('agent profile payload must be an object');
58
+ }
59
+ const input = value as Record<string, unknown>;
60
+
61
+ const rawAgentId = input.agentId ?? input.agent_id ?? options.fallbackAgentId;
62
+ if (typeof rawAgentId !== 'string' || rawAgentId.trim().length === 0) {
63
+ throw new Error('agent profile requires non-empty agentId');
64
+ }
65
+ const agentId = rawAgentId.trim();
66
+
67
+ const email = readOptionalString(input, 'email');
68
+ const phone = readOptionalString(input, 'phone');
69
+ const address = readOptionalString(input, 'address');
70
+ const profileImage = readOptionalString(input, 'profileImage', ['profile_image']);
71
+ const attributes = readAttributes(input);
72
+
73
+ return {
74
+ agentId,
75
+ ...(email ? { email } : {}),
76
+ ...(phone ? { phone } : {}),
77
+ ...(address ? { address } : {}),
78
+ ...(profileImage ? { profileImage } : {}),
79
+ ...(attributes ? { attributes } : {}),
80
+ };
81
+ }
@@ -3,6 +3,7 @@ export type CredentialFieldType = 'text' | 'secret' | 'url' | 'email' | 'number'
3
3
  export type CredentialType =
4
4
  | 'login'
5
5
  | 'card'
6
+ | 'sso'
6
7
  | 'note'
7
8
  | 'plain_note'
8
9
  | 'hot_wallet'
@@ -43,6 +44,11 @@ export const CREDENTIAL_FIELD_KEYS = {
43
44
  expiry: 'expiry',
44
45
  notes: 'notes',
45
46
  },
47
+ sso: {
48
+ website: 'website',
49
+ provider: 'provider',
50
+ identifier: 'identifier',
51
+ },
46
52
  note: {
47
53
  content: 'content',
48
54
  },
@@ -107,6 +113,11 @@ export const CREDENTIAL_FIELD_SCHEMA: FieldSchemaMap = {
107
113
  { key: CREDENTIAL_FIELD_KEYS.card.expiry, label: 'Expiry', type: 'text', sensitive: true, requiredOnCreate: true },
108
114
  { key: CREDENTIAL_FIELD_KEYS.card.notes, label: 'Notes', type: 'text', sensitive: true },
109
115
  ],
116
+ sso: [
117
+ { key: CREDENTIAL_FIELD_KEYS.sso.website, label: 'Website', type: 'text', sensitive: false, requiredOnCreate: true },
118
+ { key: CREDENTIAL_FIELD_KEYS.sso.provider, label: 'Provider', type: 'text', sensitive: false, requiredOnCreate: true },
119
+ { key: CREDENTIAL_FIELD_KEYS.sso.identifier, label: 'Identifier', type: 'text', sensitive: false },
120
+ ],
110
121
  note: [
111
122
  { key: CREDENTIAL_FIELD_KEYS.note.content, label: 'Content', type: 'text', sensitive: true, requiredOnCreate: true, aliases: ['value'] },
112
123
  ],
@@ -158,6 +169,7 @@ export const NOTE_CONTENT_KEY = CREDENTIAL_FIELD_KEYS.note.content;
158
169
  export const CREDENTIAL_PRIMARY_FIELD_KEY: Record<CredentialType, string> = {
159
170
  login: CREDENTIAL_FIELD_KEYS.login.password,
160
171
  card: CREDENTIAL_FIELD_KEYS.card.number,
172
+ sso: CREDENTIAL_FIELD_KEYS.sso.website,
161
173
  note: CREDENTIAL_FIELD_KEYS.note.content,
162
174
  plain_note: CREDENTIAL_FIELD_KEYS.plain_note.content,
163
175
  hot_wallet: CREDENTIAL_FIELD_KEYS.hot_wallet.privateKey,