auramaxx 0.0.17 → 0.0.19
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.
- package/.next/BUILD_ID +1 -1
- package/.next/app-build-manifest.json +70 -70
- package/.next/app-path-routes-manifest.json +2 -2
- package/.next/build-manifest.json +5 -5
- package/.next/prerender-manifest.json +30 -30
- package/.next/react-loadable-manifest.json +16 -16
- package/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/server/app/_not-found.html +1 -1
- package/.next/server/app/_not-found.rsc +5 -5
- package/.next/server/app/api/[...doc]/page.js.nft.json +1 -1
- package/.next/server/app/api/[...doc]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/api/agent-requests/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/apps/install/route.js.nft.json +1 -1
- package/.next/server/app/api/apps/install/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/apps/manifests/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/apps/static/[...path]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/docs/plain/route.js.nft.json +1 -1
- package/.next/server/app/api/docs/plain/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/events/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/import-from-openclaw/[channel]/route.js.nft.json +1 -1
- package/.next/server/app/api/import-from-openclaw/[channel]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/import-from-openclaw/route.js.nft.json +1 -1
- package/.next/server/app/api/import-from-openclaw/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/import-from-openclaw/validate/[channel]/route.js.nft.json +1 -1
- package/.next/server/app/api/import-from-openclaw/validate/[channel]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/page.js.nft.json +1 -1
- package/.next/server/app/api/page_client-reference-manifest.js +1 -1
- package/.next/server/app/api/restart/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/update/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/version/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/workspace/[id]/apps/[wid]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/workspace/[id]/apps/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/workspace/[id]/export/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/workspace/[id]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/workspace/config/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/workspace/import/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/workspace/route_client-reference-manifest.js +1 -1
- package/.next/server/app/app-legacy-do-not-use/page.js +3 -3
- package/.next/server/app/app-legacy-do-not-use/page.js.nft.json +1 -1
- package/.next/server/app/app-legacy-do-not-use/page_client-reference-manifest.js +1 -1
- package/.next/server/app/app-legacy-do-not-use.html +1 -1
- package/.next/server/app/app-legacy-do-not-use.rsc +6 -6
- package/.next/server/app/approve/[actionId]/page.js.nft.json +1 -1
- package/.next/server/app/approve/[actionId]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/docs/[...doc]/page.js.nft.json +1 -1
- package/.next/server/app/docs/[...doc]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/docs/page.js.nft.json +1 -1
- package/.next/server/app/docs/page_client-reference-manifest.js +1 -1
- package/.next/server/app/health/page.js.nft.json +1 -1
- package/.next/server/app/health/page_client-reference-manifest.js +1 -1
- package/.next/server/app/health.html +1 -1
- package/.next/server/app/health.rsc +5 -5
- package/.next/server/app/hello/page.js.nft.json +1 -1
- package/.next/server/app/hello/page_client-reference-manifest.js +1 -1
- package/.next/server/app/hello.html +1 -1
- package/.next/server/app/hello.rsc +5 -5
- package/.next/server/app/index.html +1 -1
- package/.next/server/app/index.rsc +6 -6
- package/.next/server/app/page.js +9 -3
- package/.next/server/app/page.js.nft.json +1 -1
- package/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/server/app/privacy/page.js.nft.json +1 -1
- package/.next/server/app/privacy/page_client-reference-manifest.js +1 -1
- package/.next/server/app/privacy.html +1 -1
- package/.next/server/app/privacy.rsc +5 -5
- package/.next/server/app/share/[token]/page.js.nft.json +1 -1
- package/.next/server/app/share/[token]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/terms/page.js.nft.json +1 -1
- package/.next/server/app/terms/page_client-reference-manifest.js +1 -1
- package/.next/server/app/terms.html +1 -1
- package/.next/server/app/terms.rsc +5 -5
- package/.next/server/app/yo/page.js +1 -1
- package/.next/server/app/yo/page.js.nft.json +1 -1
- package/.next/server/app/yo/page_client-reference-manifest.js +1 -1
- package/.next/server/app/yo.html +1 -1
- package/.next/server/app/yo.rsc +6 -6
- package/.next/server/app-paths-manifest.json +2 -2
- package/.next/server/chunks/1196.js +1 -1
- package/.next/server/chunks/{6415.js → 2123.js} +2 -2
- package/.next/server/chunks/2234.js +1 -1
- package/.next/server/chunks/4224.js +1 -0
- package/.next/server/chunks/4600.js +1 -1
- package/.next/server/chunks/5678.js +1 -1
- package/.next/server/chunks/5991.js +7 -0
- package/.next/server/chunks/6470.js +1 -1
- package/.next/server/chunks/7585.js +1 -1
- package/.next/server/chunks/7935.js +19 -11
- package/.next/server/chunks/8468.js +1 -1
- package/.next/server/chunks/{1350.js → 9323.js} +3 -3
- package/.next/server/chunks/9971.js +1 -1
- package/.next/server/functions-config-manifest.json +1 -1
- package/.next/server/middleware-build-manifest.js +1 -1
- package/.next/server/middleware-react-loadable-manifest.js +1 -1
- package/.next/server/pages/404.html +1 -1
- package/.next/server/pages/500.html +1 -1
- package/.next/server/server-reference-manifest.json +1 -1
- package/.next/static/chunks/{1168.aaac1edbb597fe5a.js → 1168.bb1c93965872e980.js} +1 -1
- package/.next/static/chunks/2891-bf010357841c9ce9.js +1 -0
- package/.next/static/chunks/{2927.7e00cc878d9a3f52.js → 2927.3976471e61df966e.js} +1 -1
- package/.next/static/chunks/{3573-1b41d7b8a000d015.js → 3573-667bc4c8f56afcff.js} +1 -1
- package/.next/static/chunks/{3a91511d-ba215c0b5dc21ba9.js → 3a91511d-da2c74cad6c6fc33.js} +2 -2
- package/.next/static/chunks/4114-a375178fd94c4d8a.js +1 -0
- package/.next/static/chunks/{4256.48407d9abad5ea33.js → 4256.aa831e4d8c3f65bc.js} +1 -1
- package/.next/static/chunks/{4919-7e7cdd5efc9f2110.js → 4919-0e698cd95504e355.js} +1 -1
- package/.next/static/chunks/{5336-233ec7ab3807267c.js → 5336-b775f449d7433604.js} +1 -1
- package/.next/static/chunks/{7338-3ce17a93614f1d77.js → 5362-2e8fcdd0bc6273ca.js} +4 -4
- package/.next/static/chunks/67-cb9bbb430499e803.js +1 -0
- package/.next/static/chunks/{8273-8e92d34180669ca9.js → 8273-3b9d882c5dd6a9a8.js} +1 -1
- package/.next/static/chunks/8291-8f6fb6554e692552.js +1 -0
- package/.next/static/chunks/8370-6537b6b27df58b23.js +1 -0
- package/.next/static/chunks/app/app-legacy-do-not-use/page-efa348da049c5873.js +1 -0
- package/.next/static/chunks/app/{error-63cbe72522239cff.js → error-04a18fd49a89ee17.js} +1 -1
- package/.next/static/chunks/app/layout-7093dda0d106f34d.js +1 -0
- package/.next/static/chunks/app/page-0ec7cf48550f71e6.js +1 -0
- package/.next/static/chunks/app/yo/{page-cf5d6540ea31c31c.js → page-48930746b135037e.js} +1 -1
- package/.next/static/chunks/{webpack-79ad58260e9b10b4.js → webpack-15ec0114c9d658c2.js} +1 -1
- package/.next/static/css/35991998d1b5eff0.css +3 -0
- package/.next/trace +28 -28
- package/README.md +2 -2
- package/bin/auramaxx.js +87 -3
- package/package.json +8 -4
- package/prisma/migrations/20260301225214_social_tables/migration.sql +81 -0
- package/prisma/migrations/20260302120000_add_notification_hash/migration.sql +8 -0
- package/prisma/migrations/20260302160000_add_public_key_hex/migration.sql +5 -0
- package/prisma/migrations/20260302170000_add_inbound_author_public_key/migration.sql +5 -0
- package/prisma/schema.prisma +272 -177
- package/shared/credential-field-schema.ts +10 -0
- package/skills/auramaxx/SKILL.md +33 -4
- package/skills/auramaxx/docs/AGENT_SETUP.md +7 -2
- package/src/app/UnlockPageClient.tsx +448 -43
- package/src/app/app-legacy-do-not-use/page.tsx +5 -3
- package/src/app/globals.css +1 -1
- package/src/components/AgentPicker.tsx +278 -0
- package/src/components/CreateAgentModal.tsx +192 -0
- package/src/components/NotificationDrawer.tsx +15 -13
- package/src/components/agent/AgentSidebar.tsx +2 -19
- package/src/components/agent/CredentialAgent.tsx +70 -37
- package/src/components/agent/CredentialForm.tsx +32 -7
- package/src/components/agent/CredentialList.tsx +149 -72
- package/src/components/agents/AgentsView.tsx +1035 -0
- package/src/components/design-system/TextAreaInput.tsx +78 -0
- package/src/components/design-system/index.ts +1 -0
- package/src/components/hub/HubView.tsx +58 -0
- package/src/components/layout/LeftRail.tsx +333 -40
- package/src/components/layout/ViewShell.tsx +125 -0
- package/src/components/layout/index.ts +1 -0
- package/src/components/social/PrimaryHubRegistrationGate.tsx +260 -0
- package/src/components/social/SocialView.tsx +904 -0
- package/src/hooks/useSocialNotifications.ts +123 -0
- package/src/lib/events.ts +10 -1
- package/src/lib/social-client.ts +319 -0
- package/src/lib/view-registry.ts +22 -4
- package/src/server/cli/commands/agent.ts +33 -7
- package/src/server/cli/commands/create.ts +209 -0
- package/src/server/cli/commands/onboard.ts +39 -0
- package/src/server/cli/commands/play.ts +68 -0
- package/src/server/cli/commands/register-agent.ts +181 -0
- package/src/server/cli/commands/social.ts +648 -0
- package/src/server/cli/commands/start.ts +4 -3
- package/src/server/cron/index.ts +5 -9
- package/src/server/cron/jobs/social-inbound.ts +596 -0
- package/src/server/cron/jobs/social-outbound.ts +70 -0
- package/src/server/index.ts +14 -0
- package/src/server/lib/agent-profiles.ts +10 -1
- package/src/server/lib/cold.ts +0 -45
- package/src/server/lib/credential-import.ts +53 -47
- package/src/server/lib/defaults.ts +11 -0
- package/src/server/lib/feature-flags.ts +3 -0
- package/src/server/lib/hub-auth.ts +159 -0
- package/src/server/lib/migrate-agent-profiles.ts +96 -0
- package/src/server/lib/notifications.ts +12 -1
- package/src/server/lib/permissions.ts +10 -0
- package/src/server/lib/project-scope.ts +33 -5
- package/src/server/lib/social/create.ts +176 -0
- package/src/server/lib/social/global-aura-id.ts +115 -0
- package/src/server/lib/social/hub-rpc-client.ts +99 -0
- package/src/server/lib/social/hub-session.ts +6 -0
- package/src/server/lib/social/public-key.ts +32 -0
- package/src/server/lib/social/register.ts +162 -0
- package/src/server/lib/social/sign.ts +95 -0
- package/src/server/lib/social/sync.ts +301 -0
- package/src/server/mcp/server.ts +142 -18
- package/src/server/mcp/tools.ts +552 -0
- package/src/server/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +1 -1
- package/src/server/routes/agent-hub.ts +276 -0
- package/src/server/routes/agent-profiles.ts +145 -19
- package/src/server/routes/credentials.ts +49 -15
- package/src/server/routes/heartbeat.ts +3 -7
- package/src/server/routes/passkey.ts +7 -1
- package/src/server/routes/social.ts +869 -0
- package/src/server/routes/unlock.ts +17 -1
- package/src/server/routes/verified-credentials.ts +312 -0
- package/src/server/test-data/template.db +0 -0
- package/src/server/test-data/worker-1/agent-primary.json +12 -0
- package/src/server/test-data/worker-1/auramaxx.db +0 -0
- package/src/server/test-data/worker-1/backups/auramaxx.db.20260305_011404.bak +0 -0
- package/src/server/test-data/worker-1/backups/credentials.20260305_011404.cred-00ntf5h3.json +24 -0
- package/src/server/test-data/worker-1/backups/credentials.20260305_011404.cred-dh8fa9k3.json +24 -0
- package/src/server/test-data/worker-1/backups/credentials.20260305_011404.cred-prfhlyow.json +25 -0
- package/src/server/test-data/worker-1/backups/credentials.20260305_011404.cred-w26jd6zi.json +22 -0
- package/src/server/test-data/worker-1/config.json +33 -0
- package/src/server/test-data/worker-1/test.db +0 -0
- package/src/server/test-data/worker-10/agent-primary.json +12 -0
- package/src/server/test-data/worker-10/config.json +33 -0
- package/src/server/test-data/worker-10/test.db +0 -0
- package/src/server/test-data/worker-11/agent-primary.json +12 -0
- package/src/server/test-data/worker-11/config.json +33 -0
- package/src/server/test-data/worker-11/test.db +0 -0
- package/src/server/test-data/worker-12/agent-primary.json +12 -0
- package/src/server/test-data/worker-12/config.json +33 -0
- package/src/server/test-data/worker-12/credentials/cred-hboagned.json +25 -0
- package/src/server/test-data/worker-12/credentials/cred-nt14xd9t.json +24 -0
- package/src/server/test-data/worker-12/credentials/cred-qn59xefc.json +24 -0
- package/src/server/test-data/worker-12/test.db +0 -0
- package/src/server/test-data/worker-13/agent-primary.json +12 -0
- package/src/server/test-data/worker-13/approval-context.json +56 -0
- package/src/server/test-data/worker-13/approval-context.key +1 -0
- package/src/server/test-data/worker-13/config.json +33 -0
- package/src/server/test-data/worker-13/credentials-recently-deleted/cred-jn9yqy2m.json +20 -0
- package/src/server/test-data/worker-13/test.db +0 -0
- package/src/server/test-data/worker-14/agent-primary.json +12 -0
- package/src/server/test-data/worker-14/config.json +33 -0
- package/src/server/test-data/worker-14/test.db +0 -0
- package/src/server/test-data/worker-15/agent-primary.json +12 -0
- package/src/server/test-data/worker-15/config.json +33 -0
- package/src/server/test-data/worker-15/test.db +0 -0
- package/src/server/test-data/worker-15/update-check-4b305e76.json +5 -0
- package/src/server/test-data/worker-2/agent-primary.json +12 -0
- package/src/server/test-data/worker-2/config.json +33 -0
- package/src/server/test-data/worker-2/test.db +0 -0
- package/src/server/test-data/worker-3/agent-primary.json +12 -0
- package/src/server/test-data/worker-3/config.json +33 -0
- package/src/server/test-data/worker-3/test.db +0 -0
- package/src/server/test-data/worker-4/agent-primary.json +12 -0
- package/src/server/test-data/worker-4/config.json +33 -0
- package/src/server/test-data/worker-4/credentials/cred-bm6p74u5.json +24 -0
- package/src/server/test-data/worker-4/credentials/cred-r8eqb07i.json +25 -0
- package/src/server/test-data/worker-4/credentials/cred-ziv49y9h.json +24 -0
- package/src/server/test-data/worker-4/test.db +0 -0
- package/src/server/test-data/worker-5/agent-primary.json +12 -0
- package/src/server/test-data/worker-5/config.json +33 -0
- package/src/server/test-data/worker-5/credentials/cred-15gyfeht.json +25 -0
- package/src/server/test-data/worker-5/credentials/cred-lp0ocnfc.json +24 -0
- package/src/server/test-data/worker-5/credentials/cred-zfbwfxw0.json +24 -0
- package/src/server/test-data/worker-5/test.db +0 -0
- package/src/server/test-data/worker-6/agent-primary.json +12 -0
- package/src/server/test-data/worker-6/config.json +33 -0
- package/src/server/test-data/worker-6/credentials/cred-dx8li3ue.json +24 -0
- package/src/server/test-data/worker-6/credentials/cred-myeskqky.json +24 -0
- package/src/server/test-data/worker-6/credentials/cred-tam01qdt.json +25 -0
- package/src/server/test-data/worker-6/credentials/cred-wdh6rslw.json +22 -0
- package/src/server/test-data/worker-6/credentials-archive/cred-4wg53v1y.json +25 -0
- package/src/server/test-data/worker-6/test.db +0 -0
- package/src/server/test-data/worker-7/agent-primary.json +12 -0
- package/src/server/test-data/worker-7/config.json +33 -0
- package/src/server/test-data/worker-7/credentials/cred-ji7ec57d.json +25 -0
- package/src/server/test-data/worker-7/credentials/cred-mmgj0ypo.json +24 -0
- package/src/server/test-data/worker-7/credentials/cred-nb0ic93x.json +24 -0
- package/src/server/test-data/worker-7/test.db +0 -0
- package/src/server/test-data/worker-8/agent-primary.json +12 -0
- package/src/server/test-data/worker-8/config.json +33 -0
- package/src/server/test-data/worker-8/test.db +0 -0
- package/src/server/test-data/worker-9/agent-primary.json +12 -0
- package/src/server/test-data/worker-9/test.db +0 -0
- package/src/server/tests/cli/bin-entrypoint.test.ts +99 -0
- package/src/server/tests/cli/social.test.ts +83 -0
- package/src/server/tests/cron/social-inbound-followers.unit.test.ts +164 -0
- package/src/server/tests/cron/social-inbound-staleness.test.ts +193 -0
- package/src/server/tests/cron/social-outbound.test.ts +252 -0
- package/src/server/tests/endpoints/agent.test.ts +0 -16
- package/src/server/tests/lib/credential-field-schema.test.ts +448 -0
- package/src/server/tests/lib/project-scope.test.ts +49 -0
- package/src/server/tests/lib/social/create.test.ts +207 -0
- package/src/server/tests/lib/social/sign.test.ts +163 -0
- package/src/server/tests/lib/social/sync.test.ts +198 -0
- package/src/server/tests/mcp/server.test.ts +1 -3
- package/src/server/tests/mcp/tools.test.ts +219 -7
- package/src/server/tsconfig.tsbuildinfo +1 -1
- package/tsconfig.json +1 -0
- package/.next/server/chunks/2460.js +0 -7
- package/.next/server/chunks/5246.js +0 -1
- package/.next/static/chunks/3667-1db7bd03948e60df.js +0 -1
- package/.next/static/chunks/5442-b5bb869e832e8967.js +0 -1
- package/.next/static/chunks/6872-a8f1ad5fc35a1c35.js +0 -1
- package/.next/static/chunks/7394-4bdb1feefad1a74a.js +0 -1
- package/.next/static/chunks/7587-8542eae6e5139d27.js +0 -1
- package/.next/static/chunks/app/app-legacy-do-not-use/page-569fed5d1a2bfe79.js +0 -1
- package/.next/static/chunks/app/layout-af8d9969c7aeb758.js +0 -1
- package/.next/static/chunks/app/page-9bd0ec3ba4aa6cea.js +0 -1
- package/.next/static/css/88f92e1578b1e5d9.css +0 -3
- package/shared/agent-profile-schema.ts +0 -81
- package/src/internal/security/frontend-api-authorization-audit.md +0 -206
- package/src/server/lib/agent-profile-records.ts +0 -72
- /package/.next/static/{QPzVnl7GToqgYBq14V_iC → yEruVJH_cuht5hu5_1R00}/_buildManifest.js +0 -0
- /package/.next/static/{QPzVnl7GToqgYBq14V_iC → yEruVJH_cuht5hu5_1R00}/_ssgManifest.js +0 -0
package/README.md
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
# AURAMAXX.SH 🗿🖤
|
|
2
2
|
|
|
3
|
-
**The open-source Apple Keychain for your agent. Securely share passwords,
|
|
3
|
+
**The open-source Apple Keychain for your agent. Securely share passwords, API keys, and credit cards with any AI agents.**
|
|
4
4
|
|
|
5
5
|

|
|
6
6
|
|
|
7
|
-
[
|
|
7
|
+
[X](https://x.com/npxauramaxx) · [Website](https://auramaxx.sh) · [Docs](https://auramaxx.sh/docs) · [Help](https://x.com/nicoletteduclar) · [](./LICENSE)
|
|
8
8
|
|
|
9
9
|
## Features
|
|
10
10
|
|
package/bin/auramaxx.js
CHANGED
|
@@ -34,6 +34,7 @@ const COMMANDS = {
|
|
|
34
34
|
api: 'Call any wallet API endpoint from CLI (auth + JSON wrapper)',
|
|
35
35
|
auth: 'Request/poll agent auth approvals from CLI',
|
|
36
36
|
diary: 'Append daily diary entries via authenticated CLI path',
|
|
37
|
+
'register-agent': 'Create/register a subsequent local agent (non-primary)',
|
|
37
38
|
actions: 'Create/list/resolve human actions and manage action tokens',
|
|
38
39
|
approve: 'Approve a pending human action by ID (admin only)',
|
|
39
40
|
apikey: 'List/validate/set/delete API keys',
|
|
@@ -43,6 +44,7 @@ const COMMANDS = {
|
|
|
43
44
|
experimental: 'Toggle dev feature flags (list, enable, disable)',
|
|
44
45
|
skill: 'Install AuraMaxx skills for Claude/Codex/OpenClaw and run install doctor',
|
|
45
46
|
wallet: 'Wallet API wrappers (status, assets, transactions, swap, send, fund, launch)',
|
|
47
|
+
// social: 'Social API wrappers (register, unregister, post, feed, follow, notifications, status)', // Temporarily disabled at root CLI.
|
|
46
48
|
quickhack: 'Generate random tutorial secret, run set+inject, and print copyable commands',
|
|
47
49
|
agent: 'Retrieve/manage credentials (get, set, share via secret gist, delete, list)',
|
|
48
50
|
service: 'Manage background service (install, uninstall, status)',
|
|
@@ -50,6 +52,8 @@ const COMMANDS = {
|
|
|
50
52
|
token: 'Preview profile-based token policy before issuance',
|
|
51
53
|
env: 'Load env vars from agent via .aura file (run, inject, check, list, init)',
|
|
52
54
|
'shell-hook': 'Auto-load .aura env vars on cd (like direnv)',
|
|
55
|
+
play: 'Play an AuraJS game from npm (auramaxx play <game>)',
|
|
56
|
+
create: 'Scaffold a new AuraJS game project ready for npm publish',
|
|
53
57
|
};
|
|
54
58
|
|
|
55
59
|
const AGENT_ALIASES = {
|
|
@@ -75,6 +79,32 @@ const AGENT_ALIASES = {
|
|
|
75
79
|
use: 'inject',
|
|
76
80
|
};
|
|
77
81
|
|
|
82
|
+
// Temporarily disabled at root CLI.
|
|
83
|
+
// const SOCIAL_ALIASES = {
|
|
84
|
+
// register: 'register',
|
|
85
|
+
// unregister: 'unregister',
|
|
86
|
+
// 'hub-register': 'register',
|
|
87
|
+
// 'register-hub': 'register',
|
|
88
|
+
// 'social-register': 'register',
|
|
89
|
+
// 'hub-unregister': 'unregister',
|
|
90
|
+
// 'unregister-hub': 'unregister',
|
|
91
|
+
// 'social-unregister': 'unregister',
|
|
92
|
+
// post: 'post',
|
|
93
|
+
// feed: 'feed',
|
|
94
|
+
// follow: 'follow',
|
|
95
|
+
// unfollow: 'unfollow',
|
|
96
|
+
// react: 'react',
|
|
97
|
+
// followers: 'followers',
|
|
98
|
+
// following: 'following',
|
|
99
|
+
// notifications: 'notifications',
|
|
100
|
+
// 'social-status': 'status',
|
|
101
|
+
// };
|
|
102
|
+
|
|
103
|
+
const COMMAND_ALIASES = {
|
|
104
|
+
'create-agent': 'register-agent',
|
|
105
|
+
'agent-register': 'register-agent',
|
|
106
|
+
};
|
|
107
|
+
|
|
78
108
|
const SHORTCUT_COMMANDS = [
|
|
79
109
|
{ name: 'get <name>', desc: 'Read primary credential value (--json for full payload)' },
|
|
80
110
|
{ name: 'set <name> <value>', desc: 'Create or update a secret (default type: api key)' },
|
|
@@ -652,6 +682,16 @@ function normalizeVersionString(value) {
|
|
|
652
682
|
return String(value).trim().replace(/^v/i, '');
|
|
653
683
|
}
|
|
654
684
|
|
|
685
|
+
function formatUpdateAvailableLine(current, latest) {
|
|
686
|
+
const normalizedCurrent = normalizeVersionString(current) || 'unknown';
|
|
687
|
+
const normalizedLatest = normalizeVersionString(latest);
|
|
688
|
+
if (!normalizedLatest) return '';
|
|
689
|
+
if (normalizedCurrent === 'unknown') {
|
|
690
|
+
return `⚠️ Update available: aura${normalizedLatest}`;
|
|
691
|
+
}
|
|
692
|
+
return `⚠️ Update available: aura${normalizedCurrent} → aura${normalizedLatest}`;
|
|
693
|
+
}
|
|
694
|
+
|
|
655
695
|
function maybePrintUpdateNotice() {
|
|
656
696
|
if (process.env.AURA_NO_UPDATE_CHECK === '1' || process.env.CI === 'true') return;
|
|
657
697
|
|
|
@@ -683,7 +723,7 @@ function maybePrintUpdateNotice() {
|
|
|
683
723
|
}
|
|
684
724
|
|
|
685
725
|
if (cachedLatest && compareVersions(cachedLatest, effectiveCurrent || '') > 0) {
|
|
686
|
-
console.log(`\n
|
|
726
|
+
console.log(`\n${formatUpdateAvailableLine(effectiveCurrent, cachedLatest)}`);
|
|
687
727
|
console.log(' Run: npm i -g auramaxx --foreground-scripts (fallback: npx --yes auramaxx@latest start)\n');
|
|
688
728
|
}
|
|
689
729
|
return;
|
|
@@ -713,7 +753,7 @@ function maybePrintUpdateNotice() {
|
|
|
713
753
|
} catch {}
|
|
714
754
|
|
|
715
755
|
if (latest && compareVersions(latest, current) > 0) {
|
|
716
|
-
console.log(`\n
|
|
756
|
+
console.log(`\n${formatUpdateAvailableLine(current, latest)}`);
|
|
717
757
|
console.log(' Run: npm i -g auramaxx --foreground-scripts (fallback: npx --yes auramaxx@latest start)\n');
|
|
718
758
|
}
|
|
719
759
|
}
|
|
@@ -801,6 +841,34 @@ function isTransientPathEntry(entry) {
|
|
|
801
841
|
return false;
|
|
802
842
|
}
|
|
803
843
|
|
|
844
|
+
function isGloballyInstalled() {
|
|
845
|
+
try {
|
|
846
|
+
const bin = process.platform === 'win32' ? 'where' : 'which';
|
|
847
|
+
const result = execFileSync(bin, ['auramaxx'], {
|
|
848
|
+
stdio: ['ignore', 'pipe', 'ignore'],
|
|
849
|
+
timeout: 2000,
|
|
850
|
+
}).toString('utf8').trim();
|
|
851
|
+
// Ignore npx/transient paths — only count stable global installs
|
|
852
|
+
return result && !isTransientPathEntry(result);
|
|
853
|
+
} catch {
|
|
854
|
+
return false;
|
|
855
|
+
}
|
|
856
|
+
}
|
|
857
|
+
|
|
858
|
+
// npx onboarding: route to TS command via buildRunner (same as start/init/etc.)
|
|
859
|
+
function runOnboardingFlow() {
|
|
860
|
+
const runner = buildRunner('onboard', []);
|
|
861
|
+
try {
|
|
862
|
+
execFileSync(runner.command, runner.args, {
|
|
863
|
+
cwd: root,
|
|
864
|
+
stdio: 'inherit',
|
|
865
|
+
env: process.env,
|
|
866
|
+
});
|
|
867
|
+
} catch (error) {
|
|
868
|
+
process.exit(error.status || 1);
|
|
869
|
+
}
|
|
870
|
+
}
|
|
871
|
+
|
|
804
872
|
function getStablePathEntries() {
|
|
805
873
|
return getPathEntries().filter((entry) => !isTransientPathEntry(entry));
|
|
806
874
|
}
|
|
@@ -1211,6 +1279,12 @@ function maybeAutoInstallMcp() {
|
|
|
1211
1279
|
|
|
1212
1280
|
async function main() {
|
|
1213
1281
|
if (!cmd) {
|
|
1282
|
+
// npx onboarding: if not globally installed and no command, show install flow
|
|
1283
|
+
if (!isGloballyInstalled()) {
|
|
1284
|
+
runOnboardingFlow();
|
|
1285
|
+
return;
|
|
1286
|
+
}
|
|
1287
|
+
|
|
1214
1288
|
inferredCommand = true;
|
|
1215
1289
|
cmd = resolveDefaultCommand();
|
|
1216
1290
|
if (cmd === 'start') {
|
|
@@ -1222,7 +1296,7 @@ async function main() {
|
|
|
1222
1296
|
}
|
|
1223
1297
|
}
|
|
1224
1298
|
|
|
1225
|
-
const inferredStartFlags = new Set(['--debug', '--headless', '--background', '--daemon', '-d']);
|
|
1299
|
+
const inferredStartFlags = new Set(['--debug', '--terminal', '--headless', '--background', '--daemon', '-d']);
|
|
1226
1300
|
if (cmd && inferredStartFlags.has(cmd)) {
|
|
1227
1301
|
const defaultCommand = resolveDefaultCommand();
|
|
1228
1302
|
if (defaultCommand === 'start') {
|
|
@@ -1251,6 +1325,16 @@ async function main() {
|
|
|
1251
1325
|
cmd = 'agent';
|
|
1252
1326
|
}
|
|
1253
1327
|
|
|
1328
|
+
// Temporarily disabled at root CLI.
|
|
1329
|
+
// if (cmd && SOCIAL_ALIASES[cmd]) {
|
|
1330
|
+
// args.unshift(SOCIAL_ALIASES[cmd]);
|
|
1331
|
+
// cmd = 'social';
|
|
1332
|
+
// }
|
|
1333
|
+
|
|
1334
|
+
if (cmd && COMMAND_ALIASES[cmd]) {
|
|
1335
|
+
cmd = COMMAND_ALIASES[cmd];
|
|
1336
|
+
}
|
|
1337
|
+
|
|
1254
1338
|
if (!COMMANDS[cmd]) {
|
|
1255
1339
|
console.error(`Unknown command: ${cmd}\n`);
|
|
1256
1340
|
console.error(`Run 'aura --help' or 'npx auramaxx --help' to see available commands.`);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "auramaxx",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.19",
|
|
4
4
|
"description": "Securely share passwords, API keys and wallets with your agent.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"onepassword",
|
|
@@ -36,6 +36,8 @@
|
|
|
36
36
|
"shared/",
|
|
37
37
|
"src/",
|
|
38
38
|
"!src/__tests__/",
|
|
39
|
+
"!src/internal/",
|
|
40
|
+
"!src/internal/**",
|
|
39
41
|
"!src/node_modules/",
|
|
40
42
|
"public/",
|
|
41
43
|
"!public/*.dmg",
|
|
@@ -113,6 +115,8 @@
|
|
|
113
115
|
"@anthropic-ai/sdk": "^0.73.0",
|
|
114
116
|
"@eslint/eslintrc": "^3.3.3",
|
|
115
117
|
"@modelcontextprotocol/sdk": "^1.26.0",
|
|
118
|
+
"@noble/curves": "^2.0.1",
|
|
119
|
+
"@noble/hashes": "^2.0.1",
|
|
116
120
|
"@prisma/client": "^5.22.0",
|
|
117
121
|
"@simplewebauthn/server": "^11.0.0",
|
|
118
122
|
"@solana/spl-token": "^0.4.14",
|
|
@@ -166,13 +170,13 @@
|
|
|
166
170
|
"@types/uuid": "^10.0.0",
|
|
167
171
|
"@types/ws": "^8.18.1",
|
|
168
172
|
"@vitejs/plugin-react": "^5.1.3",
|
|
173
|
+
"electron": "^31.7.7",
|
|
174
|
+
"electron-builder": "^24.13.3",
|
|
169
175
|
"eslint": "^9.17.0",
|
|
170
176
|
"eslint-config-next": "15.1.4",
|
|
171
177
|
"jsdom": "^28.0.0",
|
|
172
178
|
"supertest": "^7.2.2",
|
|
173
179
|
"vite": "^6.4.1",
|
|
174
|
-
"vitest": "^4.0.18"
|
|
175
|
-
"electron": "^31.7.7",
|
|
176
|
-
"electron-builder": "^24.13.3"
|
|
180
|
+
"vitest": "^4.0.18"
|
|
177
181
|
}
|
|
178
182
|
}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
-- CreateTable
|
|
2
|
+
CREATE TABLE "AgentProfile" (
|
|
3
|
+
"id" TEXT NOT NULL PRIMARY KEY,
|
|
4
|
+
"agentId" TEXT NOT NULL,
|
|
5
|
+
"auraId" INTEGER,
|
|
6
|
+
"email" TEXT,
|
|
7
|
+
"phone" TEXT,
|
|
8
|
+
"address" TEXT,
|
|
9
|
+
"profileImage" TEXT,
|
|
10
|
+
"attributes" TEXT,
|
|
11
|
+
"inboundSeq" INTEGER,
|
|
12
|
+
"inboundMode" TEXT,
|
|
13
|
+
"createdAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
14
|
+
"updatedAt" DATETIME NOT NULL
|
|
15
|
+
);
|
|
16
|
+
|
|
17
|
+
-- CreateTable
|
|
18
|
+
CREATE TABLE "SocialMessage" (
|
|
19
|
+
"id" TEXT NOT NULL PRIMARY KEY,
|
|
20
|
+
"agentId" TEXT NOT NULL,
|
|
21
|
+
"hash" TEXT NOT NULL,
|
|
22
|
+
"type" TEXT NOT NULL,
|
|
23
|
+
"body" TEXT NOT NULL,
|
|
24
|
+
"timestamp" INTEGER NOT NULL,
|
|
25
|
+
"network" TEXT NOT NULL DEFAULT 'mainnet',
|
|
26
|
+
"signature" TEXT NOT NULL,
|
|
27
|
+
"signer" TEXT NOT NULL,
|
|
28
|
+
"syncStatus" TEXT NOT NULL DEFAULT 'pending',
|
|
29
|
+
"syncCode" TEXT,
|
|
30
|
+
"syncDetail" TEXT,
|
|
31
|
+
"syncedAt" DATETIME,
|
|
32
|
+
"attempts" INTEGER NOT NULL DEFAULT 0,
|
|
33
|
+
"nextRetryAt" DATETIME,
|
|
34
|
+
"createdAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
35
|
+
"updatedAt" DATETIME NOT NULL
|
|
36
|
+
);
|
|
37
|
+
|
|
38
|
+
-- CreateTable
|
|
39
|
+
CREATE TABLE "InboundMessage" (
|
|
40
|
+
"id" TEXT NOT NULL PRIMARY KEY,
|
|
41
|
+
"agentId" TEXT NOT NULL,
|
|
42
|
+
"hash" TEXT NOT NULL,
|
|
43
|
+
"authorAuraId" INTEGER NOT NULL,
|
|
44
|
+
"type" TEXT NOT NULL,
|
|
45
|
+
"body" TEXT NOT NULL,
|
|
46
|
+
"timestamp" INTEGER NOT NULL,
|
|
47
|
+
"createdAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP
|
|
48
|
+
);
|
|
49
|
+
|
|
50
|
+
-- CreateIndex
|
|
51
|
+
CREATE UNIQUE INDEX "AgentProfile_agentId_key" ON "AgentProfile"("agentId");
|
|
52
|
+
|
|
53
|
+
-- CreateIndex
|
|
54
|
+
CREATE UNIQUE INDEX "AgentProfile_auraId_key" ON "AgentProfile"("auraId");
|
|
55
|
+
|
|
56
|
+
-- CreateIndex
|
|
57
|
+
CREATE UNIQUE INDEX "SocialMessage_hash_key" ON "SocialMessage"("hash");
|
|
58
|
+
|
|
59
|
+
-- CreateIndex
|
|
60
|
+
CREATE INDEX "SocialMessage_agentId_createdAt_idx" ON "SocialMessage"("agentId", "createdAt");
|
|
61
|
+
|
|
62
|
+
-- CreateIndex
|
|
63
|
+
CREATE INDEX "SocialMessage_agentId_type_idx" ON "SocialMessage"("agentId", "type");
|
|
64
|
+
|
|
65
|
+
-- CreateIndex
|
|
66
|
+
CREATE INDEX "SocialMessage_syncStatus_nextRetryAt_idx" ON "SocialMessage"("syncStatus", "nextRetryAt");
|
|
67
|
+
|
|
68
|
+
-- CreateIndex
|
|
69
|
+
CREATE INDEX "SocialMessage_type_createdAt_idx" ON "SocialMessage"("type", "createdAt");
|
|
70
|
+
|
|
71
|
+
-- CreateIndex
|
|
72
|
+
CREATE UNIQUE INDEX "InboundMessage_hash_key" ON "InboundMessage"("hash");
|
|
73
|
+
|
|
74
|
+
-- CreateIndex
|
|
75
|
+
CREATE INDEX "InboundMessage_agentId_type_idx" ON "InboundMessage"("agentId", "type");
|
|
76
|
+
|
|
77
|
+
-- CreateIndex
|
|
78
|
+
CREATE INDEX "InboundMessage_agentId_timestamp_idx" ON "InboundMessage"("agentId", "timestamp");
|
|
79
|
+
|
|
80
|
+
-- CreateIndex
|
|
81
|
+
CREATE INDEX "InboundMessage_authorAuraId_idx" ON "InboundMessage"("authorAuraId");
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
-- AlterTable: add hash column to Notification for dedup
|
|
2
|
+
ALTER TABLE "Notification" ADD COLUMN "hash" TEXT;
|
|
3
|
+
|
|
4
|
+
-- CreateIndex
|
|
5
|
+
CREATE UNIQUE INDEX "Notification_hash_key" ON "Notification"("hash");
|
|
6
|
+
|
|
7
|
+
-- CreateIndex
|
|
8
|
+
CREATE INDEX "Notification_category_agentId_idx" ON "Notification"("category", "agentId");
|