aimeat 2.0.0 → 2.1.0
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/dist/locales/en.json +35 -1
- package/dist/locales/fi.json +35 -1
- package/dist/public/components/LinkPreview.js +101 -0
- package/dist/public/components/NotificationBell.js +18 -1
- package/dist/public/css/theme.css +57 -7
- package/dist/public/css/views/admin.css +8 -1
- package/dist/public/css/views/app-grant.css +18 -0
- package/dist/public/css/views/inbox.css +46 -0
- package/dist/public/css/views/portfolio.css +46 -0
- package/dist/public/css/views/profile.css +29 -4
- package/dist/public/js/services/apps.js +19 -3
- package/dist/public/js/services/messages-ai-prompts.js +38 -0
- package/dist/public/js/services/messages.js +26 -4
- package/dist/public/js/services/notebook.js +76 -0
- package/dist/public/js/services/unfurl.js +43 -0
- package/dist/public/lib/samples/LICENSE.md +11 -0
- package/dist/public/lib/samples/bass/A1.mp3 +0 -0
- package/dist/public/lib/samples/bass/B2.mp3 +0 -0
- package/dist/public/lib/samples/bass/D2.mp3 +0 -0
- package/dist/public/lib/samples/bass/E1.mp3 +0 -0
- package/dist/public/lib/samples/bass/E3.mp3 +0 -0
- package/dist/public/lib/samples/bass/G2.mp3 +0 -0
- package/dist/public/lib/samples/epiano/C2.mp3 +0 -0
- package/dist/public/lib/samples/epiano/C3.mp3 +0 -0
- package/dist/public/lib/samples/epiano/C4.mp3 +0 -0
- package/dist/public/lib/samples/epiano/C5.mp3 +0 -0
- package/dist/public/lib/samples/epiano/C6.mp3 +0 -0
- package/dist/public/lib/samples/epiano/G2.mp3 +0 -0
- package/dist/public/lib/samples/epiano/G3.mp3 +0 -0
- package/dist/public/lib/samples/epiano/G4.mp3 +0 -0
- package/dist/public/lib/samples/epiano/G5.mp3 +0 -0
- package/dist/public/lib/samples/guitar-steel/A2.mp3 +0 -0
- package/dist/public/lib/samples/guitar-steel/A4.mp3 +0 -0
- package/dist/public/lib/samples/guitar-steel/B3.mp3 +0 -0
- package/dist/public/lib/samples/guitar-steel/D3.mp3 +0 -0
- package/dist/public/lib/samples/guitar-steel/E2.mp3 +0 -0
- package/dist/public/lib/samples/guitar-steel/E4.mp3 +0 -0
- package/dist/public/lib/samples/guitar-steel/E5.mp3 +0 -0
- package/dist/public/lib/samples/guitar-steel/G3.mp3 +0 -0
- package/dist/public/lib/samples/organ/C2.mp3 +0 -0
- package/dist/public/lib/samples/organ/C3.mp3 +0 -0
- package/dist/public/lib/samples/organ/C4.mp3 +0 -0
- package/dist/public/lib/samples/organ/C5.mp3 +0 -0
- package/dist/public/lib/samples/organ/C6.mp3 +0 -0
- package/dist/public/lib/samples/organ/G2.mp3 +0 -0
- package/dist/public/lib/samples/organ/G3.mp3 +0 -0
- package/dist/public/lib/samples/organ/G4.mp3 +0 -0
- package/dist/public/lib/samples/organ/G5.mp3 +0 -0
- package/dist/public/lib/samples/strings/C2.mp3 +0 -0
- package/dist/public/lib/samples/strings/C3.mp3 +0 -0
- package/dist/public/lib/samples/strings/C4.mp3 +0 -0
- package/dist/public/lib/samples/strings/C5.mp3 +0 -0
- package/dist/public/lib/samples/strings/C6.mp3 +0 -0
- package/dist/public/lib/samples/strings/G2.mp3 +0 -0
- package/dist/public/lib/samples/strings/G3.mp3 +0 -0
- package/dist/public/lib/samples/strings/G4.mp3 +0 -0
- package/dist/public/lib/samples/strings/G5.mp3 +0 -0
- package/dist/public/lib/samples/trumpet/A3.mp3 +0 -0
- package/dist/public/lib/samples/trumpet/A4.mp3 +0 -0
- package/dist/public/lib/samples/trumpet/A5.mp3 +0 -0
- package/dist/public/lib/samples/trumpet/C4.mp3 +0 -0
- package/dist/public/lib/samples/trumpet/C5.mp3 +0 -0
- package/dist/public/lib/samples/trumpet/E3.mp3 +0 -0
- package/dist/public/lib/samples/trumpet/E4.mp3 +0 -0
- package/dist/public/lib/samples/trumpet/E5.mp3 +0 -0
- package/dist/public/spa.html +2 -0
- package/dist/public/views/app-grant.js +24 -4
- package/dist/public/views/portfolio.js +61 -6
- package/dist/public/views/profile/apps-tab.js +18 -1
- package/dist/public/views/profile/inbox-tab/ai-actions.js +86 -0
- package/dist/public/views/profile/inbox-tab/components.js +124 -9
- package/dist/public/views/profile/inbox-tab/helpers.js +26 -0
- package/dist/public/views/profile/inbox-tab/panels.js +18 -3
- package/dist/public/views/profile/inbox-tab/use-thread-ux.js +18 -1
- package/dist/public/views/profile/inbox-tab.js +46 -49
- package/dist/public/views/profile/landing-page.cards.js +7 -0
- package/dist/public/views/profile/landing-page.js +12 -1
- package/dist/public/views/profile/skills-tab.js +1 -1
- package/dist/public/views/public-workspace-viewer.js +1 -1
- package/dist/public/views/start.js +2 -1
- package/dist/scripts/build-sdk-libs.d.ts +16 -0
- package/dist/scripts/build-sdk-libs.d.ts.map +1 -0
- package/dist/scripts/build-sdk-libs.js +112 -0
- package/dist/scripts/build-sdk-libs.js.map +1 -0
- package/dist/src/cli/connect/auth.d.ts +15 -0
- package/dist/src/cli/connect/auth.d.ts.map +1 -1
- package/dist/src/cli/connect/auth.js +25 -6
- package/dist/src/cli/connect/auth.js.map +1 -1
- package/dist/src/cli/connect/keychain.d.ts +9 -0
- package/dist/src/cli/connect/keychain.d.ts.map +1 -1
- package/dist/src/cli/connect/keychain.js +21 -8
- package/dist/src/cli/connect/keychain.js.map +1 -1
- package/dist/src/cli/connect/mcp/tools/exchange.d.ts +18 -0
- package/dist/src/cli/connect/mcp/tools/exchange.d.ts.map +1 -0
- package/dist/src/cli/connect/mcp/tools/exchange.js +170 -0
- package/dist/src/cli/connect/mcp/tools/exchange.js.map +1 -0
- package/dist/src/cli/connect/mcp/tools/index.d.ts.map +1 -1
- package/dist/src/cli/connect/mcp/tools/index.js +2 -0
- package/dist/src/cli/connect/mcp/tools/index.js.map +1 -1
- package/dist/src/cli/connect/tool-call-defs-exchange.d.ts +3 -0
- package/dist/src/cli/connect/tool-call-defs-exchange.d.ts.map +1 -0
- package/dist/src/cli/connect/tool-call-defs-exchange.js +146 -0
- package/dist/src/cli/connect/tool-call-defs-exchange.js.map +1 -0
- package/dist/src/cli/connect/tool-call.d.ts.map +1 -1
- package/dist/src/cli/connect/tool-call.js +2 -0
- package/dist/src/cli/connect/tool-call.js.map +1 -1
- package/dist/src/commerce/session-service.d.ts +14 -0
- package/dist/src/commerce/session-service.d.ts.map +1 -1
- package/dist/src/commerce/session-service.js +1 -1
- package/dist/src/commerce/session-service.js.map +1 -1
- package/dist/src/data/app-templates/shells.d.ts +7 -3
- package/dist/src/data/app-templates/shells.d.ts.map +1 -1
- package/dist/src/data/app-templates/shells.js +10 -6
- package/dist/src/data/app-templates/shells.js.map +1 -1
- package/dist/src/data/appdev-pitfalls.d.ts +2 -0
- package/dist/src/data/appdev-pitfalls.d.ts.map +1 -1
- package/dist/src/data/appdev-pitfalls.js +24 -1
- package/dist/src/data/appdev-pitfalls.js.map +1 -1
- package/dist/src/generated/api-types.d.ts +1565 -9
- package/dist/src/generated/api-types.d.ts.map +1 -1
- package/dist/src/mcp/annotations.d.ts.map +1 -1
- package/dist/src/mcp/annotations.js +20 -0
- package/dist/src/mcp/annotations.js.map +1 -1
- package/dist/src/mcp/apps.d.ts.map +1 -1
- package/dist/src/mcp/apps.js +8 -4
- package/dist/src/mcp/apps.js.map +1 -1
- package/dist/src/mcp/catalog/definitions/exchange.d.ts +18 -0
- package/dist/src/mcp/catalog/definitions/exchange.d.ts.map +1 -0
- package/dist/src/mcp/catalog/definitions/exchange.js +182 -0
- package/dist/src/mcp/catalog/definitions/exchange.js.map +1 -0
- package/dist/src/mcp/catalog/definitions.d.ts.map +1 -1
- package/dist/src/mcp/catalog/definitions.js +2 -0
- package/dist/src/mcp/catalog/definitions.js.map +1 -1
- package/dist/src/mcp/catalog/scopes.d.ts.map +1 -1
- package/dist/src/mcp/catalog/scopes.js +22 -0
- package/dist/src/mcp/catalog/scopes.js.map +1 -1
- package/dist/src/mcp/catalog/surfaces.d.ts.map +1 -1
- package/dist/src/mcp/catalog/surfaces.js +14 -0
- package/dist/src/mcp/catalog/surfaces.js.map +1 -1
- package/dist/src/mcp/exchange-run.d.ts +5 -0
- package/dist/src/mcp/exchange-run.d.ts.map +1 -0
- package/dist/src/mcp/exchange-run.js +226 -0
- package/dist/src/mcp/exchange-run.js.map +1 -0
- package/dist/src/mcp/exchange.d.ts +5 -0
- package/dist/src/mcp/exchange.d.ts.map +1 -0
- package/dist/src/mcp/exchange.js +351 -0
- package/dist/src/mcp/exchange.js.map +1 -0
- package/dist/src/mcp/extensions.d.ts.map +1 -1
- package/dist/src/mcp/extensions.js +11 -0
- package/dist/src/mcp/extensions.js.map +1 -1
- package/dist/src/mcp/index.d.ts.map +1 -1
- package/dist/src/mcp/index.js +6 -2
- package/dist/src/mcp/index.js.map +1 -1
- package/dist/src/models/app-tool-schemas.d.ts +55 -1
- package/dist/src/models/app-tool-schemas.d.ts.map +1 -1
- package/dist/src/models/app-tool-schemas.js +20 -1
- package/dist/src/models/app-tool-schemas.js.map +1 -1
- package/dist/src/models/offer-schemas.d.ts +2 -2
- package/dist/src/models/schemas.d.ts +1 -0
- package/dist/src/models/schemas.d.ts.map +1 -1
- package/dist/src/models/schemas.js +3 -0
- package/dist/src/models/schemas.js.map +1 -1
- package/dist/src/routes/agents/device-auth.d.ts +4 -0
- package/dist/src/routes/agents/device-auth.d.ts.map +1 -1
- package/dist/src/routes/agents/device-auth.js +19 -4
- package/dist/src/routes/agents/device-auth.js.map +1 -1
- package/dist/src/routes/app-grants.d.ts +6 -0
- package/dist/src/routes/app-grants.d.ts.map +1 -1
- package/dist/src/routes/app-grants.js +35 -2
- package/dist/src/routes/app-grants.js.map +1 -1
- package/dist/src/routes/apps/fork-manage.d.ts.map +1 -1
- package/dist/src/routes/apps/fork-manage.js +24 -1
- package/dist/src/routes/apps/fork-manage.js.map +1 -1
- package/dist/src/routes/apps/publish.d.ts +2 -0
- package/dist/src/routes/apps/publish.d.ts.map +1 -1
- package/dist/src/routes/apps/publish.js +27 -1
- package/dist/src/routes/apps/publish.js.map +1 -1
- package/dist/src/routes/apps-cost.d.ts +25 -0
- package/dist/src/routes/apps-cost.d.ts.map +1 -0
- package/dist/src/routes/apps-cost.js +107 -0
- package/dist/src/routes/apps-cost.js.map +1 -0
- package/dist/src/routes/exchange-market.d.ts +28 -0
- package/dist/src/routes/exchange-market.d.ts.map +1 -0
- package/dist/src/routes/exchange-market.js +454 -0
- package/dist/src/routes/exchange-market.js.map +1 -0
- package/dist/src/routes/exchange.d.ts +33 -0
- package/dist/src/routes/exchange.d.ts.map +1 -0
- package/dist/src/routes/exchange.js +395 -0
- package/dist/src/routes/exchange.js.map +1 -0
- package/dist/src/routes/extensions/entitlement-gate.d.ts +33 -0
- package/dist/src/routes/extensions/entitlement-gate.d.ts.map +1 -0
- package/dist/src/routes/extensions/entitlement-gate.js +143 -0
- package/dist/src/routes/extensions/entitlement-gate.js.map +1 -0
- package/dist/src/routes/extensions/manifest.d.ts +9 -0
- package/dist/src/routes/extensions/manifest.d.ts.map +1 -1
- package/dist/src/routes/extensions/manifest.js +33 -1
- package/dist/src/routes/extensions/manifest.js.map +1 -1
- package/dist/src/routes/extensions/paywall.d.ts.map +1 -1
- package/dist/src/routes/extensions/paywall.js +9 -0
- package/dist/src/routes/extensions/paywall.js.map +1 -1
- package/dist/src/routes/federation-sync/messaging.d.ts.map +1 -1
- package/dist/src/routes/federation-sync/messaging.js +3 -1
- package/dist/src/routes/federation-sync/messaging.js.map +1 -1
- package/dist/src/routes/ghii/recovery.d.ts +2 -0
- package/dist/src/routes/ghii/recovery.d.ts.map +1 -1
- package/dist/src/routes/ghii/recovery.js +7 -0
- package/dist/src/routes/ghii/recovery.js.map +1 -1
- package/dist/src/routes/ghii/register-login.d.ts +4 -0
- package/dist/src/routes/ghii/register-login.d.ts.map +1 -1
- package/dist/src/routes/ghii/register-login.js +45 -22
- package/dist/src/routes/ghii/register-login.js.map +1 -1
- package/dist/src/routes/ghii/web-verify.d.ts +5 -0
- package/dist/src/routes/ghii/web-verify.d.ts.map +1 -1
- package/dist/src/routes/ghii/web-verify.js +24 -3
- package/dist/src/routes/ghii/web-verify.js.map +1 -1
- package/dist/src/routes/libs/sdk-serve.d.ts +11 -0
- package/dist/src/routes/libs/sdk-serve.d.ts.map +1 -0
- package/dist/src/routes/libs/sdk-serve.js +53 -0
- package/dist/src/routes/libs/sdk-serve.js.map +1 -0
- package/dist/src/routes/libs.d.ts +7 -1
- package/dist/src/routes/libs.d.ts.map +1 -1
- package/dist/src/routes/libs.js +65 -146
- package/dist/src/routes/libs.js.map +1 -1
- package/dist/src/routes/messages.d.ts +3 -0
- package/dist/src/routes/messages.d.ts.map +1 -1
- package/dist/src/routes/messages.js +9 -0
- package/dist/src/routes/messages.js.map +1 -1
- package/dist/src/routes/notifications.d.ts +6 -3
- package/dist/src/routes/notifications.d.ts.map +1 -1
- package/dist/src/routes/notifications.js +32 -3
- package/dist/src/routes/notifications.js.map +1 -1
- package/dist/src/routes/organisms/workspace-access.d.ts.map +1 -1
- package/dist/src/routes/organisms/workspace-access.js +38 -20
- package/dist/src/routes/organisms/workspace-access.js.map +1 -1
- package/dist/src/routes/unfurl.d.ts +27 -0
- package/dist/src/routes/unfurl.d.ts.map +1 -0
- package/dist/src/routes/unfurl.js +180 -0
- package/dist/src/routes/unfurl.js.map +1 -0
- package/dist/src/routes/upload.d.ts +2 -0
- package/dist/src/routes/upload.d.ts.map +1 -1
- package/dist/src/routes/upload.js +7 -0
- package/dist/src/routes/upload.js.map +1 -1
- package/dist/src/routes/webmcp.d.ts +3 -0
- package/dist/src/routes/webmcp.d.ts.map +1 -1
- package/dist/src/routes/webmcp.js +55 -0
- package/dist/src/routes/webmcp.js.map +1 -1
- package/dist/src/server-bootstrap/routes-loader.d.ts +1 -0
- package/dist/src/server-bootstrap/routes-loader.d.ts.map +1 -1
- package/dist/src/server-bootstrap/routes-loader.js +8 -0
- package/dist/src/server-bootstrap/routes-loader.js.map +1 -1
- package/dist/src/services/agent-face.d.ts +10 -2
- package/dist/src/services/agent-face.d.ts.map +1 -1
- package/dist/src/services/agent-face.js +10 -4
- package/dist/src/services/agent-face.js.map +1 -1
- package/dist/src/services/app-tool-interfaces.d.ts +37 -0
- package/dist/src/services/app-tool-interfaces.d.ts.map +1 -0
- package/dist/src/services/app-tool-interfaces.js +101 -0
- package/dist/src/services/app-tool-interfaces.js.map +1 -0
- package/dist/src/services/build-app-prompt.d.ts +3 -0
- package/dist/src/services/build-app-prompt.d.ts.map +1 -1
- package/dist/src/services/build-app-prompt.js +12 -1
- package/dist/src/services/build-app-prompt.js.map +1 -1
- package/dist/src/services/contacts.d.ts +25 -1
- package/dist/src/services/contacts.d.ts.map +1 -1
- package/dist/src/services/contacts.js +30 -0
- package/dist/src/services/contacts.js.map +1 -1
- package/dist/src/services/entitlement-money.d.ts +55 -0
- package/dist/src/services/entitlement-money.d.ts.map +1 -0
- package/dist/src/services/entitlement-money.js +68 -0
- package/dist/src/services/entitlement-money.js.map +1 -0
- package/dist/src/services/exchange-market.d.ts +247 -0
- package/dist/src/services/exchange-market.d.ts.map +1 -0
- package/dist/src/services/exchange-market.js +254 -0
- package/dist/src/services/exchange-market.js.map +1 -0
- package/dist/src/services/exchange-proposals.d.ts +47 -0
- package/dist/src/services/exchange-proposals.d.ts.map +1 -0
- package/dist/src/services/exchange-proposals.js +71 -0
- package/dist/src/services/exchange-proposals.js.map +1 -0
- package/dist/src/services/exchange-work.d.ts +30 -0
- package/dist/src/services/exchange-work.d.ts.map +1 -0
- package/dist/src/services/exchange-work.js +43 -0
- package/dist/src/services/exchange-work.js.map +1 -0
- package/dist/src/services/message-send.d.ts.map +1 -1
- package/dist/src/services/message-send.js +4 -1
- package/dist/src/services/message-send.js.map +1 -1
- package/dist/src/services/metered-entitlements.d.ts +203 -0
- package/dist/src/services/metered-entitlements.d.ts.map +1 -0
- package/dist/src/services/metered-entitlements.js +264 -0
- package/dist/src/services/metered-entitlements.js.map +1 -0
- package/dist/src/services/notify.d.ts +7 -0
- package/dist/src/services/notify.d.ts.map +1 -1
- package/dist/src/services/notify.js +35 -0
- package/dist/src/services/notify.js.map +1 -1
- package/dist/src/services/owner-memory.d.ts +16 -0
- package/dist/src/services/owner-memory.d.ts.map +1 -1
- package/dist/src/services/owner-memory.js +23 -0
- package/dist/src/services/owner-memory.js.map +1 -1
- package/dist/src/services/owner-provisioning.d.ts +5 -0
- package/dist/src/services/owner-provisioning.d.ts.map +1 -1
- package/dist/src/services/owner-provisioning.js +20 -2
- package/dist/src/services/owner-provisioning.js.map +1 -1
- package/dist/src/storage/providers/postgres-kysely/methods/apps.d.ts +1 -0
- package/dist/src/storage/providers/postgres-kysely/methods/apps.d.ts.map +1 -1
- package/dist/src/storage/providers/postgres-kysely/methods/apps.js +2 -0
- package/dist/src/storage/providers/postgres-kysely/methods/apps.js.map +1 -1
- package/dist/src/storage/providers/postgres-kysely/methods/identity.d.ts +1 -0
- package/dist/src/storage/providers/postgres-kysely/methods/identity.d.ts.map +1 -1
- package/dist/src/storage/providers/postgres-kysely/methods/identity.js +4 -0
- package/dist/src/storage/providers/postgres-kysely/methods/identity.js.map +1 -1
- package/dist/src/storage/providers/postgres-kysely/migrations/0011_unique_verified_email.sql +25 -0
- package/dist/src/storage/providers/sqlite/methods/apps.d.ts +1 -0
- package/dist/src/storage/providers/sqlite/methods/apps.d.ts.map +1 -1
- package/dist/src/storage/providers/sqlite/methods/apps.js +2 -0
- package/dist/src/storage/providers/sqlite/methods/apps.js.map +1 -1
- package/dist/src/storage/providers/sqlite/methods/identity-nodes.d.ts +1 -0
- package/dist/src/storage/providers/sqlite/methods/identity-nodes.d.ts.map +1 -1
- package/dist/src/storage/providers/sqlite/methods/identity-nodes.js +4 -0
- package/dist/src/storage/providers/sqlite/methods/identity-nodes.js.map +1 -1
- package/dist/src/storage/providers/sqlite/schema.d.ts.map +1 -1
- package/dist/src/storage/providers/sqlite/schema.js +20 -0
- package/dist/src/storage/providers/sqlite/schema.js.map +1 -1
- package/dist/src/storage/repositories/app.repository.d.ts +0 -0
- package/dist/src/storage/repositories/app.repository.d.ts.map +1 -1
- package/dist/src/storage/repositories/identity.repository.d.ts +6 -0
- package/dist/src/storage/repositories/identity.repository.d.ts.map +1 -1
- package/dist/src/storage/types/apps.d.ts +1 -0
- package/dist/src/storage/types/apps.d.ts.map +1 -1
- package/dist/src/storage/types/organisms-federation.d.ts +21 -0
- package/dist/src/storage/types/organisms-federation.d.ts.map +1 -1
- package/dist/src/utils/app-mobile-lint.d.ts +17 -0
- package/dist/src/utils/app-mobile-lint.d.ts.map +1 -0
- package/dist/src/utils/app-mobile-lint.js +40 -0
- package/dist/src/utils/app-mobile-lint.js.map +1 -0
- package/dist/static/app-catalog/_template.html +12 -77
- package/dist/static/app-catalog/js/apps-io.js +51 -165
- package/dist/static/app-catalog/js/cost.js +100 -0
- package/dist/static/app-catalog/js/db.js +23 -93
- package/dist/static/app-catalog/js/detail.js +158 -24
- package/dist/static/app-catalog/js/favorites.js +71 -0
- package/dist/static/app-catalog/js/i18n-data.js +90 -16
- package/dist/static/app-catalog/js/main.js +23 -103
- package/dist/static/app-catalog/js/migrate.js +88 -0
- package/dist/static/app-catalog/js/monetize.js +1 -1
- package/dist/static/app-catalog/js/promote.js +70 -0
- package/dist/static/app-catalog/js/render.js +26 -139
- package/dist/static/app-catalog/js/server-io.js +126 -223
- package/dist/static/app-catalog/js/settings.js +11 -204
- package/dist/static/app-catalog/styles/app-catalog.css +40 -0
- package/dist/static/app-catalog.html +790 -912
- package/dist/static/sdk-libs/_core/config.js +52 -0
- package/dist/static/sdk-libs/_core/http.js +52 -0
- package/dist/static/sdk-libs/_core/namespace.js +33 -0
- package/dist/static/sdk-libs/_core/sdk-globals.d.ts +50 -0
- package/dist/static/sdk-libs/_core/session.js +66 -0
- package/dist/static/sdk-libs/agentface/index.js +102 -0
- package/dist/static/sdk-libs/agents/index.js +267 -0
- package/dist/static/sdk-libs/ai/index.js +153 -0
- package/dist/static/sdk-libs/audio/core.js +111 -0
- package/dist/static/sdk-libs/audio/index.js +380 -0
- package/dist/static/sdk-libs/audio/instruments.js +369 -0
- package/dist/static/sdk-libs/auth/config.js +46 -0
- package/dist/static/sdk-libs/auth/crypto.js +166 -0
- package/dist/static/sdk-libs/auth/events.js +27 -0
- package/dist/static/sdk-libs/auth/i18n.js +64 -0
- package/dist/static/sdk-libs/auth/index.js +37 -0
- package/dist/static/sdk-libs/auth/modal.js +545 -0
- package/dist/static/sdk-libs/auth/pill.js +167 -0
- package/dist/static/sdk-libs/auth/session.js +792 -0
- package/dist/static/sdk-libs/auth/signup.js +232 -0
- package/dist/static/sdk-libs/auth/theme.js +96 -0
- package/dist/static/sdk-libs/capabilities/index.js +179 -0
- package/dist/static/sdk-libs/commerce/index.js +243 -0
- package/dist/static/sdk-libs/data/index.js +188 -0
- package/dist/static/sdk-libs/dist/aimeat-agentface.js +91 -0
- package/dist/static/sdk-libs/dist/aimeat-agents.js +315 -0
- package/dist/static/sdk-libs/dist/aimeat-ai.js +168 -0
- package/dist/static/sdk-libs/dist/aimeat-audio.js +979 -0
- package/dist/static/sdk-libs/dist/aimeat-auth.js +1831 -0
- package/dist/static/sdk-libs/dist/aimeat-capabilities.js +177 -0
- package/dist/static/sdk-libs/dist/aimeat-commerce.js +265 -0
- package/dist/static/sdk-libs/dist/aimeat-data.js +205 -0
- package/dist/static/sdk-libs/dist/aimeat-editor.js +299 -0
- package/dist/static/sdk-libs/dist/aimeat-header.js +270 -0
- package/dist/static/sdk-libs/dist/aimeat-intake.js +94 -0
- package/dist/static/sdk-libs/dist/aimeat-live.js +265 -0
- package/dist/static/sdk-libs/dist/aimeat-markdown.js +602 -0
- package/dist/static/sdk-libs/dist/aimeat-organism.js +394 -0
- package/dist/static/sdk-libs/dist/aimeat-portfolio-standalone.js +90 -0
- package/dist/static/sdk-libs/dist/aimeat-social.js +157 -0
- package/dist/static/sdk-libs/dist/aimeat-speech.js +300 -0
- package/dist/static/sdk-libs/dist/aimeat-storage.js +210 -0
- package/dist/static/sdk-libs/dist/aimeat-tunnel.js +383 -0
- package/dist/static/sdk-libs/dist/aimeat-wallet.js +118 -0
- package/dist/static/sdk-libs/dist/aimeat-webmcp.js +187 -0
- package/dist/static/sdk-libs/dist/aimeat-work.js +213 -0
- package/dist/static/sdk-libs/dist/aimeat-workflows.js +147 -0
- package/dist/static/sdk-libs/editor/index.js +229 -0
- package/dist/static/sdk-libs/header/index.js +249 -0
- package/dist/static/sdk-libs/intake/index.js +75 -0
- package/dist/static/sdk-libs/live/index.js +156 -0
- package/dist/static/sdk-libs/markdown/index.js +522 -0
- package/dist/static/sdk-libs/organism/index.js +381 -0
- package/dist/static/sdk-libs/portfolio-standalone/index.js +78 -0
- package/dist/static/sdk-libs/social/index.js +140 -0
- package/dist/static/sdk-libs/speech/index.js +321 -0
- package/dist/static/sdk-libs/storage/index.js +189 -0
- package/dist/static/sdk-libs/tunnel/index.js +428 -0
- package/dist/static/sdk-libs/wallet/index.js +115 -0
- package/dist/static/sdk-libs/webmcp/index.js +185 -0
- package/dist/static/sdk-libs/work/index.js +191 -0
- package/dist/static/sdk-libs/workflows/index.js +113 -0
- package/package.json +5 -2
|
@@ -14,6 +14,13 @@
|
|
|
14
14
|
* (./inbox-tab/use-thread-ux.js)
|
|
15
15
|
* @usage Lazy-loaded profile tab; registered in profile.js TABS as id `messages`.
|
|
16
16
|
* @version-history
|
|
17
|
+
* v1.25.0 -- 2026-07-21 -- Thread history is no longer capped at the newest 50: threads open showing
|
|
18
|
+
* their FULL history by default (getConversation(all)); a header "Show last 50 / all" toggle
|
|
19
|
+
* (threadAll) collapses/expands. loadThread's attachment-URL resolution extracted to
|
|
20
|
+
* helpers.resolveThreadAttachmentUrls.
|
|
21
|
+
* v1.24.0 -- 2026-07-19 -- Conversation → Notebook (📓 on the thread head next to ✨): summarize the
|
|
22
|
+
* whole thread — with its images — and park it into the Notebook for filing/enrichment. Three modes:
|
|
23
|
+
* server-side AI summary (owner's OpenRouter key, vision-aware), copy-prompt (own chat), or raw.
|
|
17
24
|
* v1.23.1 -- 2026-07-19 -- Fix "badge shows N new but the open thread never updates": a 'messages'
|
|
18
25
|
* live-update now ALWAYS reloads the open thread (dropped the isComposingInThread guard that skipped
|
|
19
26
|
* the whole reload while an editable was focused, so incoming messages stayed invisible until
|
|
@@ -127,11 +134,12 @@ import { firstLine } from './notebook-helpers.js';
|
|
|
127
134
|
import { apiGet } from '/js/api.js';
|
|
128
135
|
import { getSession } from '/js/services/auth.js';
|
|
129
136
|
import { TrackResponseModal } from './track-response-modal.js';
|
|
130
|
-
import {
|
|
131
|
-
import { peerName, ownerKeyOf, isAgentPeer, buildAnswerSummary } from './inbox-tab/helpers.js';
|
|
132
|
-
import { Composer, PollBuilder, MarkdownViewer, ReplyWithAiPopover } from './inbox-tab/components.js';
|
|
137
|
+
import { peerLabel } from '/js/services/messages-ai-prompts.js';
|
|
138
|
+
import { peerName, ownerKeyOf, isAgentPeer, buildAnswerSummary, resolveThreadAttachmentUrls } from './inbox-tab/helpers.js';
|
|
139
|
+
import { Composer, PollBuilder, MarkdownViewer, ReplyWithAiPopover, ConversationToNotebookPopover } from './inbox-tab/components.js';
|
|
140
|
+
import { buildConversationReplyProps, buildMessageReplyProps, buildConversationNotebookProps } from './inbox-tab/ai-actions.js';
|
|
133
141
|
import { ListPanel, ThreadPanel, TrackedPanel, ResultsPanel } from './inbox-tab/panels.js';
|
|
134
|
-
import { useThreadAutoScroll, useMobileComposerKeyboard } from './inbox-tab/use-thread-ux.js';
|
|
142
|
+
import { useThreadAutoScroll, useMobileComposerKeyboard, useLinkPreviewToggle } from './inbox-tab/use-thread-ux.js';
|
|
135
143
|
import { ContactPicker } from '/components/ContactPicker.js';
|
|
136
144
|
|
|
137
145
|
export default function InboxTab({ showToast }) {
|
|
@@ -140,8 +148,9 @@ export default function InboxTab({ showToast }) {
|
|
|
140
148
|
const [activeConv, setActiveConv] = useState(null); // { conversationId, peerGhii }
|
|
141
149
|
const [thread, setThread] = useState([]);
|
|
142
150
|
const [urlMap, setUrlMap] = useState({});
|
|
143
|
-
const [mdViewer, setMdViewer] = useState(null);
|
|
151
|
+
const { showLinkPreviews, toggleLinkPreviews } = useLinkPreviewToggle(); const [mdViewer, setMdViewer] = useState(null); // link-preview toggle (persisted) + markdown viewer state
|
|
144
152
|
const [aiReply, setAiReply] = useState(null); // { title, build } — Reply with AI popover (TARGET-031)
|
|
153
|
+
const [nbConv, setNbConv] = useState(null); // { title, promptText, runServerSummary, parkConversation } — Conversation → Notebook popover
|
|
145
154
|
const [peerNames, setPeerNames] = useState({}); // id (GHII/GAII or owner@node) → resolved display name
|
|
146
155
|
const peerNamesRef = useRef({}); // dedup bookkeeping: an id present here was already looked up
|
|
147
156
|
const [composeSubject, setComposeSubject] = useState(''); // optional subject → opens a new topic thread
|
|
@@ -324,34 +333,25 @@ export default function InboxTab({ showToast }) {
|
|
|
324
333
|
// markRead=true ONLY when the user opens the conversation. Marking read POSTs a receipt which itself
|
|
325
334
|
// emits a 'messages' change → SSE → live refresh; doing it on every live refresh creates a
|
|
326
335
|
// self-sustaining request loop. So live refreshes reload the thread WITHOUT marking read.
|
|
336
|
+
// Per-conversation "show all vs newest 50" mode. Defaults to ALL (show the full history on open so
|
|
337
|
+
// nothing looks lost); the header toggle collapses to the newest 50. A ref (read at call time) keeps
|
|
338
|
+
// loadThread []-memoized; the state drives the button. Re-defaults to ALL whenever a thread opens.
|
|
339
|
+
const [threadAll, setThreadAll] = useState(true);
|
|
340
|
+
const threadAllRef = useRef(true); threadAllRef.current = threadAll;
|
|
327
341
|
const loadThread = useCallback(async (conv, markRead = false) => {
|
|
328
342
|
if (!conv) return;
|
|
329
|
-
|
|
343
|
+
// threadAllRef: false = newest 50 (fast default); true = the FULL history (header "All messages" toggle).
|
|
344
|
+
const msgs = (await messages.getConversation(conv.conversationId, conv.viaAgent, threadAllRef.current).catch(() => [])).slice().reverse();
|
|
330
345
|
setThread(msgs);
|
|
331
|
-
//
|
|
332
|
-
//
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
const map = {};
|
|
337
|
-
await Promise.all(msgs.flatMap(m => (m.attachments || [])
|
|
338
|
-
.filter(a => !a.inline)
|
|
339
|
-
.map(async a => {
|
|
340
|
-
// Key by messageId::attachmentId — per-message ids (at0, at1…) repeat, so a flat a.id map made every message's `at0` share one image.
|
|
341
|
-
const uk = `${m.id}::${a.id}`;
|
|
342
|
-
if (prev[uk]) { map[uk] = prev[uk]; return; } // cached → browser won't re-fetch
|
|
343
|
-
// Inbound: only the recipient's duplicated local copy is fetchable. Outbound: resolve the original.
|
|
344
|
-
const key = (a.mode === 'duplicate' && a.localKey) ? a.localKey
|
|
345
|
-
: (m.direction === 'outbound' && a.storageKey) ? a.storageKey : null;
|
|
346
|
-
if (!key) return;
|
|
347
|
-
const u = await messages.attachmentUrl(key).catch(() => null);
|
|
348
|
-
if (u) map[uk] = u;
|
|
349
|
-
})));
|
|
350
|
-
urlCacheRef.current = { convId: conv.conversationId, map };
|
|
351
|
-
setUrlMap(map);
|
|
346
|
+
// Reuse already-resolved attachment URLs for the same conversation (a refresh must not re-download
|
|
347
|
+
// every image); a different conversation starts a fresh cache.
|
|
348
|
+
const cache = await resolveThreadAttachmentUrls(msgs, conv.conversationId, urlCacheRef.current, messages.attachmentUrl);
|
|
349
|
+
urlCacheRef.current = cache;
|
|
350
|
+
setUrlMap(cache.map);
|
|
352
351
|
// Agent-owned ("via <agent>") threads are read-only for the owner — don't post a read receipt as them.
|
|
353
352
|
if (markRead && !conv.viaAgent) await messages.markConversationRead(conv.conversationId).catch(() => {});
|
|
354
353
|
}, []);
|
|
354
|
+
const toggleThreadAll = () => setThreadAll(v => { const nv = !v; threadAllRef.current = nv; if (activeConv) loadThread(activeConv); return nv; });
|
|
355
355
|
|
|
356
356
|
// Mount: one composite call seeds all six sections (requests/conversations/important/tracked/agents/groups).
|
|
357
357
|
useEffect(() => { loadOverview(); }, [loadOverview]);
|
|
@@ -458,6 +458,7 @@ export default function InboxTab({ showToast }) {
|
|
|
458
458
|
|
|
459
459
|
const openConversation = async (conv) => {
|
|
460
460
|
setActiveConv(conv); setMode('thread');
|
|
461
|
+
setThreadAll(true); threadAllRef.current = true; // each thread opens showing its FULL history
|
|
461
462
|
setDraftPrefill(''); setReplyingTrId(null); setReplyQuote(null); // don't leak a suggested reply / quote across threads
|
|
462
463
|
await loadThread(conv, true); // mark read only on explicit open (avoids a refresh loop)
|
|
463
464
|
loadLists();
|
|
@@ -488,19 +489,11 @@ export default function InboxTab({ showToast }) {
|
|
|
488
489
|
// "Display name (handle)" for an id, falling back to the bare handle when we have no display name.
|
|
489
490
|
const peerDisplay = (id) => peerLabel(id, peerNames[id]);
|
|
490
491
|
|
|
491
|
-
// Reply with AI (TARGET-031)
|
|
492
|
-
//
|
|
493
|
-
|
|
494
|
-
const
|
|
495
|
-
|
|
496
|
-
const src = { peerGhii: activeConv.peerGhii, subject: activeConv.subject, conversationId: activeConv.conversationId, thread, peerName: peerNames[activeConv.peerGhii] };
|
|
497
|
-
setAiReply({ title: `${t('inbox.ai.replyTo')} ${peerDisplay(activeConv.peerGhii)}`, build: (mode) => buildConversationReplyPrompt(src, mode) });
|
|
498
|
-
};
|
|
499
|
-
const openMessageAi = (msg) => {
|
|
500
|
-
if (!activeConv) return;
|
|
501
|
-
const src = { peerGhii: activeConv.peerGhii, subject: activeConv.subject, conversationId: activeConv.conversationId, message: msg, peerName: peerNames[activeConv.peerGhii] };
|
|
502
|
-
setAiReply({ title: t('inbox.ai.replyToMessage'), build: (mode) => buildMessageReplyPrompt(src, mode) });
|
|
503
|
-
};
|
|
492
|
+
// Thread-head AI actions — Reply with AI (TARGET-031) and Conversation → Notebook (summarize the whole
|
|
493
|
+
// thread + images, park it for filing/enrichment). Config assembly lives in ./inbox-tab/ai-actions.js.
|
|
494
|
+
const openConversationAi = () => { if (activeConv) setAiReply(buildConversationReplyProps({ activeConv, thread, peerName: peerNames[activeConv.peerGhii], peerDisplayName: peerDisplay(activeConv.peerGhii) })); };
|
|
495
|
+
const openMessageAi = (msg) => { if (activeConv) setAiReply(buildMessageReplyProps({ activeConv, msg, peerName: peerNames[activeConv.peerGhii] })); };
|
|
496
|
+
const openConversationNotebook = () => { if (activeConv) setNbConv(buildConversationNotebookProps({ activeConv, thread, urlMap, peerName: peerNames[activeConv.peerGhii], title: `${t('inbox.notebook.toNotebook')} — ${peerDisplay(activeConv.peerGhii)}` })); };
|
|
504
497
|
|
|
505
498
|
// ↩ Reply on a bubble: pin the quote AND focus the composer (bump a nonce the Composer watches). Kept
|
|
506
499
|
// separate from the raw setter so cancelling the quote (✕) doesn't re-pop the keyboard.
|
|
@@ -573,21 +566,21 @@ export default function InboxTab({ showToast }) {
|
|
|
573
566
|
if (tr.state === 'awaiting-approval') await startSuggestedReply(tr);
|
|
574
567
|
};
|
|
575
568
|
|
|
576
|
-
// Open a specific thread
|
|
577
|
-
//
|
|
569
|
+
// Open a specific thread from a notification deep-link (sessionStorage hint set by the bell).
|
|
570
|
+
// 'requests' lands on the inbox list; 'req:<id>' (a "wants to message you" request notif) opens the
|
|
571
|
+
// thread once accepted, else falls back to the list (sender still pending accept/block).
|
|
578
572
|
const consumeDeepLink = useCallback(async () => {
|
|
579
573
|
let target = null;
|
|
580
574
|
try { target = sessionStorage.getItem('aimeat.inbox.open'); } catch { /* noop */ }
|
|
581
575
|
if (!target) return;
|
|
582
576
|
try { sessionStorage.removeItem('aimeat.inbox.open'); } catch { /* noop */ }
|
|
583
577
|
if (target === 'requests') { await loadLists(); return; }
|
|
578
|
+
const fromRequest = target.startsWith('req:'); if (fromRequest) target = target.slice(4);
|
|
584
579
|
const convs = await messages.listConversations().catch(() => []);
|
|
585
580
|
const conv = convs.find(c => c.conversationId === target);
|
|
586
|
-
if (conv) openConversation(conv);
|
|
587
|
-
// openConversation
|
|
588
|
-
//
|
|
589
|
-
// consumeDeepLink's stability (loadLists is a []-useCallback) so the two subscribing effects below
|
|
590
|
-
// don't re-run every render.
|
|
581
|
+
if (conv) openConversation(conv); else if (fromRequest) await loadLists();
|
|
582
|
+
// openConversation uses only stable setters/refs (no stale-closure risk); keeping it out of deps
|
|
583
|
+
// keeps consumeDeepLink stable (loadLists is a []-useCallback) so the two effects below don't re-run.
|
|
591
584
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
592
585
|
}, [loadLists]);
|
|
593
586
|
useEffect(() => { consumeDeepLink(); }, [consumeDeepLink]);
|
|
@@ -776,8 +769,9 @@ export default function InboxTab({ showToast }) {
|
|
|
776
769
|
msgsRef=${msgsRef} peerDisplay=${peerDisplay} showToast=${showToast} toggleImportant=${toggleImportant}
|
|
777
770
|
replyQuote=${replyQuote} setReplyQuote=${setReplyQuote} onQuoteReply=${startQuoteReply} composerFocus=${composerFocus}
|
|
778
771
|
onTrackMsg=${onTrackMsg} onParkMsg=${onParkMsg} openMessageAi=${openMessageAi} submitInteractiveAnswers=${submitInteractiveAnswers}
|
|
779
|
-
setMdViewer=${setMdViewer} openConversationAi=${openConversationAi} insertCommand=${insertCommand} setCmdFill=${setCmdFill}
|
|
780
|
-
cancelTracked=${cancelTracked} openRecord=${openRecord} startSuggestedReply=${startSuggestedReply} doSend=${doSend}
|
|
772
|
+
setMdViewer=${setMdViewer} openConversationAi=${openConversationAi} openConversationNotebook=${openConversationNotebook} insertCommand=${insertCommand} setCmdFill=${setCmdFill}
|
|
773
|
+
cancelTracked=${cancelTracked} openRecord=${openRecord} startSuggestedReply=${startSuggestedReply} doSend=${doSend} showLinkPreviews=${showLinkPreviews} toggleLinkPreviews=${toggleLinkPreviews}
|
|
774
|
+
threadAll=${threadAll} toggleThreadAll=${toggleThreadAll} />` : null}
|
|
781
775
|
|
|
782
776
|
${mode === 'tracked' ? html`<${TrackedPanel} activeTracked=${activeTracked} doneCount=${doneCount}
|
|
783
777
|
openRecord=${openRecord} openTracked=${openTracked} cancelTracked=${cancelTracked} />` : null}
|
|
@@ -795,5 +789,8 @@ export default function InboxTab({ showToast }) {
|
|
|
795
789
|
onClose=${() => setTrackMsg(null)} onDone=${loadLists} showToast=${showToast} />
|
|
796
790
|
${mdViewer && html`<${MarkdownViewer} url=${mdViewer.url} name=${mdViewer.name} onClose=${() => setMdViewer(null)} />`}
|
|
797
791
|
${aiReply && html`<${ReplyWithAiPopover} title=${aiReply.title} build=${aiReply.build} showToast=${showToast} onClose=${() => setAiReply(null)} />`}
|
|
792
|
+
${nbConv && html`<${ConversationToNotebookPopover} title=${nbConv.title} promptText=${nbConv.promptText}
|
|
793
|
+
runServerSummary=${nbConv.runServerSummary} parkConversation=${nbConv.parkConversation}
|
|
794
|
+
showToast=${showToast} onClose=${() => setNbConv(null)} />`}
|
|
798
795
|
</div>`;
|
|
799
796
|
}
|
|
@@ -2,6 +2,9 @@
|
|
|
2
2
|
* @file public/views/profile/landing-page.cards.js
|
|
3
3
|
* @description Profile home dashboard cards, home sub-components, and the sidebar group model. Extracted from landing-page.js to satisfy max-file-lines.
|
|
4
4
|
* @version-history
|
|
5
|
+
* 2026-07-19 — Re-add the orphaned OpenRouter Settings item (route id 'generator') to the Build & Share
|
|
6
|
+
* group — it lost its menu entry when the Generator feature was removed, leaving the AI-provider key
|
|
7
|
+
* config reachable only by deep link.
|
|
5
8
|
* 2026-07-19 — AppDev tab (KB UI): learned-pitfall + template management surface, start-prompt copy, model badge
|
|
6
9
|
* v1.2.0 — 2026-07-16 — Drop the per-item emoji icons from SIDEBAR_GROUPS and the Inbox nav
|
|
7
10
|
* button — the sidebar renders label-only now.
|
|
@@ -591,6 +594,10 @@ export const SIDEBAR_GROUPS = [
|
|
|
591
594
|
{ id: 'skills', labelKey: 'skills.tabLabel' },
|
|
592
595
|
{ id: 'packages', labelKey: 'profile.tabs.packages' },
|
|
593
596
|
{ id: 'portfolio', labelKey: 'portfolio.tabLabel' },
|
|
597
|
+
/* AI-provider (OpenRouter) key + spend budget. Route id is still 'generator' — the Generator tab
|
|
598
|
+
* was repurposed to host only these settings when the Generator feature was removed (2026-07-18).
|
|
599
|
+
* Re-added to the menu 2026-07-19 after it was orphaned (reachable only by ?tab=generator). */
|
|
600
|
+
{ id: 'generator', labelKey: 'profile.generator.openrouter.title' },
|
|
594
601
|
{ id: 'calibrator', labelKey: 'profile.calibrator.tabLabel' },
|
|
595
602
|
/* TODO(owner 2026-06-10): "work" placement is undecided — parked at the bottom of
|
|
596
603
|
* Build & Share until re-evaluated. */
|
|
@@ -15,6 +15,10 @@
|
|
|
15
15
|
* - PresencePill + PresenceDialog — header status pill that opens the availability settings dialog
|
|
16
16
|
* - LandingPage — main orchestrator (default export)
|
|
17
17
|
* @version-history
|
|
18
|
+
* v3.12.1 — 2026-07-20 — Fix: the `aimeat-open-tab` handler force-opens (never toggles). Tapping a
|
|
19
|
+
* message push-notification while the Messages tab was already open toggled it CLOSED (back to
|
|
20
|
+
* Home) instead of switching to the new conversation; now it leaves the already-open tab in place
|
|
21
|
+
* and lets that tab's own listener consume the deep-link.
|
|
18
22
|
* v3.12.0 — 2026-07-16 — Drop the per-item emoji icons from the sidebar (Home, Inbox, and each
|
|
19
23
|
* grouped/pinned item render label-only) — cleaner, less visually noisy menu.
|
|
20
24
|
* v3.11.0 — 2026-07-13 — Split into sibling modules for max-file-lines: modals →
|
|
@@ -281,7 +285,14 @@ export default function LandingPage({ tier, stats, homeUsage, homeAgents, sessio
|
|
|
281
285
|
useEffect(() => {
|
|
282
286
|
const handler = (e) => {
|
|
283
287
|
const tabId = e.detail?.tabId;
|
|
284
|
-
if (tabId)
|
|
288
|
+
if (!tabId) return;
|
|
289
|
+
// Force-OPEN semantics (never toggle): a deep-link/cross-nav must land ON the tab. open()
|
|
290
|
+
// toggles, so calling it when that tab is already active would CLOSE it back to Home — the
|
|
291
|
+
// exact bug when a message notification is tapped while the Messages tab is already open. If
|
|
292
|
+
// it's already open, leave it; the tab's own aimeat-open-tab listener consumes the deep-link
|
|
293
|
+
// (e.g. inbox-tab opens the freshly-arrived conversation).
|
|
294
|
+
if (openViewRef.current?.tabId === tabId) return;
|
|
295
|
+
open(tabId, e.detail?.slot || 'main');
|
|
285
296
|
};
|
|
286
297
|
window.addEventListener('aimeat-open-tab', handler);
|
|
287
298
|
return () => window.removeEventListener('aimeat-open-tab', handler);
|
|
@@ -91,7 +91,7 @@ export default function SkillsTab({ showToast }) {
|
|
|
91
91
|
setEditorMd(full?.fileContents?.['SKILL.md'] ?? SKILL_TEMPLATE);
|
|
92
92
|
setEditorVisibility(skill.visibility === 'public' ? 'public' : skill.visibility === 'members' ? 'members' : 'owner');
|
|
93
93
|
setEditorOpen(true);
|
|
94
|
-
window.scrollTo({ top: 0, behavior: 'smooth' });
|
|
94
|
+
(document.querySelector('.page-content') || window).scrollTo({ top: 0, behavior: 'smooth' });
|
|
95
95
|
} catch (err) {
|
|
96
96
|
showToast(t('skills.loadFailed') + ': ' + err.message, true);
|
|
97
97
|
}
|
|
@@ -146,7 +146,7 @@ export default function PublicWorkspaceViewer() {
|
|
|
146
146
|
const el = document.getElementById(anchorId(d));
|
|
147
147
|
if (el) { el.scrollIntoView({ behavior: 'smooth', block: 'start' }); return; }
|
|
148
148
|
// Isolated single-page view: the picked page renders on the next tick; jump back to the top.
|
|
149
|
-
setTimeout(() => window.scrollTo({ top: 0, behavior: 'smooth' }), 0);
|
|
149
|
+
setTimeout(() => (document.querySelector('.page-content') || window).scrollTo({ top: 0, behavior: 'smooth' }), 0);
|
|
150
150
|
}, []);
|
|
151
151
|
|
|
152
152
|
// On first load of the whole-space view, if a page was deep-linked, scroll to it.
|
|
@@ -159,7 +159,8 @@ export default function StartView() {
|
|
|
159
159
|
const [idx, setIdx] = useState(0);
|
|
160
160
|
const [answers, setAnswers] = useState({});
|
|
161
161
|
|
|
162
|
-
|
|
162
|
+
// App-shell: .page-content owns the scroll (window no longer scrolls). Reset it to the top on step change.
|
|
163
|
+
useEffect(() => { (document.querySelector('.page-content') || window).scrollTo(0, 0); }, [phase, idx]);
|
|
163
164
|
|
|
164
165
|
// Mark the body while this view is mounted so start.css's print rules (which blank everything
|
|
165
166
|
// except .st-print-area) apply only on this page — view CSS is preloaded globally in spa.html,
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/** One served library = a public name (aimeat-<name>.js) + its ESM entry under sdk-libs/. */
|
|
2
|
+
interface SdkLib {
|
|
3
|
+
/** The served basename, minus the `aimeat-` prefix and `.js` suffix (e.g. `speech`). */
|
|
4
|
+
name: string;
|
|
5
|
+
/** The entry source, relative to src/static/sdk-libs/ (e.g. `speech/index.js`). */
|
|
6
|
+
entry: string;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* The migrated libraries. Phase 0 ships the pilot only; later phases append their entries here
|
|
10
|
+
* (and the drift guard makes sure every committed bundle stays in sync with its sources).
|
|
11
|
+
*/
|
|
12
|
+
export declare const SDK_LIBS: SdkLib[];
|
|
13
|
+
/** Build every library to its committed dist bundle (pure disk write). */
|
|
14
|
+
export declare function buildSdkLibs(): Promise<void>;
|
|
15
|
+
export {};
|
|
16
|
+
//# sourceMappingURL=build-sdk-libs.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"build-sdk-libs.d.ts","sourceRoot":"","sources":["../../scripts/build-sdk-libs.ts"],"names":[],"mappings":"AA0BA,6FAA6F;AAC7F,UAAU,MAAM;IACd,wFAAwF;IACxF,IAAI,EAAE,MAAM,CAAC;IACb,mFAAmF;IACnF,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;GAGG;AACH,eAAO,MAAM,QAAQ,EAAE,MAAM,EAwB5B,CAAC;AA0BF,0EAA0E;AAC1E,wBAAsB,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,CAKlD"}
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file build-sdk-libs.ts
|
|
3
|
+
* @description Build step for the served browser SDK libraries. Bundles each componentized,
|
|
4
|
+
* JSDoc-typed ESM source under src/static/sdk-libs/ (one entry per library, sharing _core/)
|
|
5
|
+
* with esbuild into a classic IIFE, and writes it to src/static/sdk-libs/dist/aimeat-<name>.js.
|
|
6
|
+
* These generated bundles are committed (same model as src/static/app-catalog.html) and served
|
|
7
|
+
* verbatim at /v1/libs/aimeat-<name>.js with a tiny per-node config prelude prepended at serve
|
|
8
|
+
* time — replacing the old "JavaScript authored inside a TypeScript template string" approach.
|
|
9
|
+
* @structure
|
|
10
|
+
* - SDK_LIBS → the per-library entry registry (name → source entry)
|
|
11
|
+
* - bundleLib() → esbuild one entry → IIFE text (with generated-file banner)
|
|
12
|
+
* - buildSdkLibs() → write every dist/aimeat-<name>.js
|
|
13
|
+
* - checkSdkLibs() → --check: fail (non-zero) if any committed bundle is stale vs its sources
|
|
14
|
+
* @usage pnpm build:sdk · pnpm check:sdk (also run by `pnpm dev`)
|
|
15
|
+
* @version-history
|
|
16
|
+
* v1.0.0 — 2026-07-19 — Initial: esbuild IIFE bundler + drift check for the SDK-libs migration (Phase 0, pilot: speech).
|
|
17
|
+
*/
|
|
18
|
+
import * as esbuild from 'esbuild';
|
|
19
|
+
import { readFileSync, writeFileSync, mkdirSync } from 'node:fs';
|
|
20
|
+
import { join, dirname } from 'node:path';
|
|
21
|
+
import { fileURLToPath } from 'node:url';
|
|
22
|
+
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
23
|
+
const SRC_DIR = join(__dirname, '..', 'src', 'static', 'sdk-libs');
|
|
24
|
+
const OUT_DIR = join(SRC_DIR, 'dist');
|
|
25
|
+
/**
|
|
26
|
+
* The migrated libraries. Phase 0 ships the pilot only; later phases append their entries here
|
|
27
|
+
* (and the drift guard makes sure every committed bundle stays in sync with its sources).
|
|
28
|
+
*/
|
|
29
|
+
export const SDK_LIBS = [
|
|
30
|
+
{ name: 'speech', entry: 'speech/index.js' },
|
|
31
|
+
{ name: 'data', entry: 'data/index.js' },
|
|
32
|
+
{ name: 'wallet', entry: 'wallet/index.js' },
|
|
33
|
+
{ name: 'ai', entry: 'ai/index.js' },
|
|
34
|
+
{ name: 'capabilities', entry: 'capabilities/index.js' },
|
|
35
|
+
{ name: 'agents', entry: 'agents/index.js' },
|
|
36
|
+
{ name: 'agentface', entry: 'agentface/index.js' },
|
|
37
|
+
{ name: 'intake', entry: 'intake/index.js' },
|
|
38
|
+
{ name: 'organism', entry: 'organism/index.js' },
|
|
39
|
+
{ name: 'workflows', entry: 'workflows/index.js' },
|
|
40
|
+
{ name: 'portfolio-standalone', entry: 'portfolio-standalone/index.js' },
|
|
41
|
+
{ name: 'header', entry: 'header/index.js' },
|
|
42
|
+
{ name: 'editor', entry: 'editor/index.js' },
|
|
43
|
+
{ name: 'live', entry: 'live/index.js' },
|
|
44
|
+
{ name: 'storage', entry: 'storage/index.js' },
|
|
45
|
+
{ name: 'social', entry: 'social/index.js' },
|
|
46
|
+
{ name: 'work', entry: 'work/index.js' },
|
|
47
|
+
{ name: 'commerce', entry: 'commerce/index.js' },
|
|
48
|
+
{ name: 'webmcp', entry: 'webmcp/index.js' },
|
|
49
|
+
{ name: 'markdown', entry: 'markdown/index.js' },
|
|
50
|
+
{ name: 'audio', entry: 'audio/index.js' },
|
|
51
|
+
{ name: 'tunnel', entry: 'tunnel/index.js' },
|
|
52
|
+
{ name: 'auth', entry: 'auth/index.js' },
|
|
53
|
+
];
|
|
54
|
+
function banner(name) {
|
|
55
|
+
return (`// GENERATED FILE — do not edit directly. Source: src/static/sdk-libs/${name}/ (+ _core/).\n` +
|
|
56
|
+
`// Rebuild: pnpm build:sdk · Served at /v1/libs/aimeat-${name}.js (with a per-node config prelude).\n`);
|
|
57
|
+
}
|
|
58
|
+
/** Bundle one library entry to a self-contained classic IIFE (deterministic — no timestamps). */
|
|
59
|
+
async function bundleLib(lib) {
|
|
60
|
+
const result = await esbuild.build({
|
|
61
|
+
entryPoints: [join(SRC_DIR, lib.entry)],
|
|
62
|
+
bundle: true,
|
|
63
|
+
format: 'iife',
|
|
64
|
+
target: 'es2020',
|
|
65
|
+
platform: 'browser',
|
|
66
|
+
charset: 'utf8',
|
|
67
|
+
legalComments: 'none',
|
|
68
|
+
write: false,
|
|
69
|
+
logLevel: 'silent',
|
|
70
|
+
});
|
|
71
|
+
if (!result.outputFiles?.length)
|
|
72
|
+
throw new Error(`esbuild produced no output for ${lib.name}`);
|
|
73
|
+
return banner(lib.name) + result.outputFiles[0].text;
|
|
74
|
+
}
|
|
75
|
+
/** Build every library to its committed dist bundle (pure disk write). */
|
|
76
|
+
export async function buildSdkLibs() {
|
|
77
|
+
mkdirSync(OUT_DIR, { recursive: true });
|
|
78
|
+
for (const lib of SDK_LIBS) {
|
|
79
|
+
writeFileSync(join(OUT_DIR, `aimeat-${lib.name}.js`), await bundleLib(lib), 'utf-8');
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
/** --check: fail (non-zero) if any committed dist bundle is stale vs its sources, without writing. */
|
|
83
|
+
async function checkSdkLibs() {
|
|
84
|
+
let stale = false;
|
|
85
|
+
for (const lib of SDK_LIBS) {
|
|
86
|
+
const fresh = await bundleLib(lib);
|
|
87
|
+
const outFile = join(OUT_DIR, `aimeat-${lib.name}.js`);
|
|
88
|
+
let onDisk = '';
|
|
89
|
+
try {
|
|
90
|
+
onDisk = readFileSync(outFile, 'utf-8');
|
|
91
|
+
}
|
|
92
|
+
catch {
|
|
93
|
+
onDisk = '';
|
|
94
|
+
}
|
|
95
|
+
if (fresh !== onDisk) {
|
|
96
|
+
console.error(`✗ src/static/sdk-libs/dist/aimeat-${lib.name}.js is STALE vs src/static/sdk-libs/${lib.name}/ sources.`);
|
|
97
|
+
stale = true;
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
if (stale) {
|
|
101
|
+
console.error(' Run `pnpm build:sdk` and commit the regenerated bundle(s).');
|
|
102
|
+
process.exit(1);
|
|
103
|
+
}
|
|
104
|
+
console.log(`✓ ${SDK_LIBS.length} SDK lib bundle(s) in sync with their sources`);
|
|
105
|
+
}
|
|
106
|
+
// Run when invoked directly (tsx scripts/build-sdk-libs.ts [--check]).
|
|
107
|
+
if (import.meta.url === `file://${process.argv[1]}` || process.argv[1]?.endsWith('build-sdk-libs.ts')) {
|
|
108
|
+
const check = process.argv.includes('--check');
|
|
109
|
+
(check ? checkSdkLibs() : buildSdkLibs().then(() => console.log(`✓ ${SDK_LIBS.length} SDK lib(s) built → src/static/sdk-libs/dist/`)))
|
|
110
|
+
.catch((err) => { console.error('✗ SDK libs build failed:', err.message); process.exit(1); });
|
|
111
|
+
}
|
|
112
|
+
//# sourceMappingURL=build-sdk-libs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"build-sdk-libs.js","sourceRoot":"","sources":["../../scripts/build-sdk-libs.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,6 +4,21 @@ interface AuthArgs {
|
|
|
4
4
|
agent?: string;
|
|
5
5
|
mode?: string;
|
|
6
6
|
}
|
|
7
|
+
interface DeviceTokenResponse {
|
|
8
|
+
access_token: string;
|
|
9
|
+
gaii: string;
|
|
10
|
+
name: string;
|
|
11
|
+
owner?: string;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* The canonical, '@'-free owner HANDLE for this agent — taken from the device-token response, NEVER the
|
|
15
|
+
* raw `--owner` the user typed (which may be an email, e.g. when connecting by email). The account is
|
|
16
|
+
* resolved server-side (the browser login), and the handle comes back in the response, so keying local
|
|
17
|
+
* artifacts (token filename, per-agent config) by it keeps `{agent}@{owner}.token` unambiguous and lets
|
|
18
|
+
* the serve daemon parse it correctly. Prefer the gaii's owner segment (`agent#owner@node`), fall back to
|
|
19
|
+
* the response `owner`, then to the CLI value with any '@'-suffix stripped.
|
|
20
|
+
*/
|
|
21
|
+
export declare function ownerHandleFrom(tokenData: DeviceTokenResponse, cliOwner: string): string;
|
|
7
22
|
export declare function runAuth(args: AuthArgs): Promise<void>;
|
|
8
23
|
export {};
|
|
9
24
|
//# sourceMappingURL=auth.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../../src/cli/connect/auth.ts"],"names":[],"mappings":"AAmCA,UAAU,QAAQ;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;
|
|
1
|
+
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../../src/cli/connect/auth.ts"],"names":[],"mappings":"AAmCA,UAAU,QAAQ;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAOD,UAAU,mBAAmB;IAC3B,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,SAAS,EAAE,mBAAmB,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAKxF;AA8FD,wBAAsB,OAAO,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CA0N3D"}
|
|
@@ -28,6 +28,22 @@ import { saveConfig, savePerAgentConfig, loadPerAgentConfig } from './config.js'
|
|
|
28
28
|
import { downloadSkillBundle, readSkillBundleGuide } from './skill-bundle.js';
|
|
29
29
|
import { buildAgentOnboardingInstruction } from './onboarding-prompt.js';
|
|
30
30
|
const VALID_MODES = ['autonomous', 'interactive', 'task-runner', 'coordinator', 'workstation'];
|
|
31
|
+
/**
|
|
32
|
+
* The canonical, '@'-free owner HANDLE for this agent — taken from the device-token response, NEVER the
|
|
33
|
+
* raw `--owner` the user typed (which may be an email, e.g. when connecting by email). The account is
|
|
34
|
+
* resolved server-side (the browser login), and the handle comes back in the response, so keying local
|
|
35
|
+
* artifacts (token filename, per-agent config) by it keeps `{agent}@{owner}.token` unambiguous and lets
|
|
36
|
+
* the serve daemon parse it correctly. Prefer the gaii's owner segment (`agent#owner@node`), fall back to
|
|
37
|
+
* the response `owner`, then to the CLI value with any '@'-suffix stripped.
|
|
38
|
+
*/
|
|
39
|
+
export function ownerHandleFrom(tokenData, cliOwner) {
|
|
40
|
+
const fromGaii = /#([^@]+)@/.exec(tokenData.gaii);
|
|
41
|
+
if (fromGaii)
|
|
42
|
+
return fromGaii[1];
|
|
43
|
+
if (typeof tokenData.owner === 'string' && tokenData.owner && !tokenData.owner.includes('@'))
|
|
44
|
+
return tokenData.owner;
|
|
45
|
+
return cliOwner.includes('@') ? cliOwner.split('@')[0] : cliOwner;
|
|
46
|
+
}
|
|
31
47
|
const DEFAULT_NODE_URL = 'https://aimeat.io';
|
|
32
48
|
const DEFAULT_AGENT_NAME = 'assistant';
|
|
33
49
|
function normalizeNodeUrl(value) {
|
|
@@ -288,20 +304,23 @@ export async function runAuth(args) {
|
|
|
288
304
|
}
|
|
289
305
|
const token = tokenData;
|
|
290
306
|
s.stop('Approved!');
|
|
307
|
+
// Key ALL local artifacts by the resolved owner HANDLE, not the raw `--owner` (which may be an email).
|
|
308
|
+
// This keeps `{agent}@{owner}.token` unambiguous so the serve daemon derives the right agent name.
|
|
309
|
+
const ownerHandle = ownerHandleFrom(token, owner);
|
|
291
310
|
// Before storing the new token, check whether this is the first agent (so it
|
|
292
311
|
// gets marked as `primary: true` in its per-agent config -- multi-agent serve
|
|
293
312
|
// resolves to the primary agent when no agent_name is given).
|
|
294
313
|
const tokensBefore = await listAllTokens();
|
|
295
|
-
const sameAlreadyExists = tokensBefore.some(t => t.agent === agentName && t.owner ===
|
|
296
|
-
const isFirstAgent = tokensBefore.filter(t => !(t.agent === agentName && t.owner ===
|
|
297
|
-
await storeToken(agentName,
|
|
298
|
-
success(`Token stored (aimeat:${agentName}@${
|
|
314
|
+
const sameAlreadyExists = tokensBefore.some(t => t.agent === agentName && t.owner === ownerHandle);
|
|
315
|
+
const isFirstAgent = tokensBefore.filter(t => !(t.agent === agentName && t.owner === ownerHandle)).length === 0;
|
|
316
|
+
await storeToken(agentName, ownerHandle, token.access_token);
|
|
317
|
+
success(`Token stored (aimeat:${agentName}@${ownerHandle})`);
|
|
299
318
|
// Per-agent config (~/.aimeat/agents/{agent}/config.yaml). Preserve any
|
|
300
319
|
// existing runner/wake/poll_interval if the agent is being re-connected.
|
|
301
320
|
const existingPerAgent = loadPerAgentConfig(agentName);
|
|
302
321
|
savePerAgentConfig(agentName, {
|
|
303
322
|
agent: agentName,
|
|
304
|
-
owner,
|
|
323
|
+
owner: ownerHandle,
|
|
305
324
|
node_url: nodeUrl,
|
|
306
325
|
primary: existingPerAgent?.primary ?? isFirstAgent,
|
|
307
326
|
mode: mode ?? existingPerAgent?.mode,
|
|
@@ -313,7 +332,7 @@ export async function runAuth(args) {
|
|
|
313
332
|
// (`loadConfig().agent`) keep working. The first-registered agent becomes the
|
|
314
333
|
// global's `agent`; later agents do not overwrite it.
|
|
315
334
|
if (isFirstAgent || sameAlreadyExists) {
|
|
316
|
-
saveConfig({ node_url: nodeUrl, agent: agentName, owner });
|
|
335
|
+
saveConfig({ node_url: nodeUrl, agent: agentName, owner: ownerHandle });
|
|
317
336
|
}
|
|
318
337
|
client.setToken(token.access_token);
|
|
319
338
|
await downloadAndPrintBundleGuide(client, agentName, success, info, warn);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../../src/cli/connect/auth.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../../src/cli/connect/auth.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,6 +6,15 @@ export interface StoredCredential {
|
|
|
6
6
|
owner: string;
|
|
7
7
|
token: string;
|
|
8
8
|
}
|
|
9
|
+
/**
|
|
10
|
+
* Parse a `{agent}@{owner}.token` filename into its agent + owner. Split on the FIRST '@' — agent names
|
|
11
|
+
* are '@'-free (lowercase alphanumeric + hyphens), so it is the authoritative boundary and an owner slug
|
|
12
|
+
* that itself contains '@' (an email) parses correctly. Returns null for a non-`.token` or shapeless name.
|
|
13
|
+
*/
|
|
14
|
+
export declare function parseTokenFilename(name: string): {
|
|
15
|
+
agent: string;
|
|
16
|
+
owner: string;
|
|
17
|
+
} | null;
|
|
9
18
|
/**
|
|
10
19
|
* Scan the tokens directory and return every stored credential. File naming
|
|
11
20
|
* is `{agent}@{owner}.token`; unparseable filenames are skipped silently.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"keychain.d.ts","sourceRoot":"","sources":["../../../../src/cli/connect/keychain.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"keychain.d.ts","sourceRoot":"","sources":["../../../../src/cli/connect/keychain.ts"],"names":[],"mappings":"AA6BA,wBAAsB,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAE3F;AAED,wBAAsB,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAInF;AAED,wBAAsB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAKhF;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAMxF;AAED;;;GAGG;AACH,wBAAsB,aAAa,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAmBjE"}
|