aimeat 2.0.0 → 2.2.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/.env.example +9 -4
- package/dist/locales/en.json +63 -1
- package/dist/locales/fi.json +63 -1
- package/dist/public/components/LinkPreview.js +101 -0
- package/dist/public/components/NotificationBell.js +18 -1
- package/dist/public/cortex-bundled/aimeat-charts.js +158 -10
- package/dist/public/cortex-bundled/aimeat-charts.yaml +1 -1
- package/dist/public/cortex-bundled/aimeat-dag.js +515 -173
- package/dist/public/cortex-bundled/aimeat-dag.yaml +1 -1
- package/dist/public/cortex-bundled/aimeat-i18n.js +6 -1
- package/dist/public/cortex-bundled/aimeat-i18n.yaml +1 -1
- package/dist/public/cortex-bundled/aimeat-surface.js +577 -0
- package/dist/public/cortex-bundled/aimeat-surface.yaml +107 -0
- package/dist/public/cortex-bundled/aimeat-viewport.js +405 -0
- package/dist/public/cortex-bundled/aimeat-viewport.yaml +100 -0
- 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 +47 -1
- package/dist/public/css/views/portfolio.css +46 -0
- package/dist/public/css/views/profile.css +38 -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/VENDORED.md +6 -3
- package/dist/public/lib/aimeat-daisyui-bridge.css +39 -2
- package/dist/public/lib/aimeat-theme.css +538 -0
- package/dist/public/lib/fonts/LICENSE.md +11 -4
- package/dist/public/lib/fonts/fraunces-var-latin-ext.woff2 +0 -0
- package/dist/public/lib/fonts/fraunces-var-latin.woff2 +0 -0
- package/dist/public/lib/fonts/inter-var-latin-ext.woff2 +0 -0
- package/dist/public/lib/fonts/inter-var-latin.woff2 +0 -0
- package/dist/public/lib/fonts/jetbrains-mono-var-latin-ext.woff2 +0 -0
- package/dist/public/lib/fonts/jetbrains-mono-var-latin.woff2 +0 -0
- package/dist/public/lib/fonts/space-grotesk-var-latin-ext.woff2 +0 -0
- package/dist/public/lib/fonts/space-grotesk-var-latin.woff2 +0 -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/theme-check.html +92 -0
- package/dist/public/lib/samples/themes-boot.js +20 -0
- package/dist/public/lib/samples/themes.html +154 -0
- package/dist/public/lib/samples/themes.js +60 -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/access-tab/connected-apps.js +81 -5
- package/dist/public/views/profile/apps-tab.js +18 -1
- package/dist/public/views/profile/extensions-tab.maturity.js +4 -1
- package/dist/public/views/profile/inbox-tab/ai-actions.js +86 -0
- package/dist/public/views/profile/inbox-tab/components.js +141 -10
- 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 +47 -3
- 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/libraries-tab.js +10 -2
- package/dist/public/views/profile/skills-tab.js +1 -1
- package/dist/public/views/profile/wallet-tab.js +64 -0
- 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/scripts/check-openapi.d.ts +2 -0
- package/dist/scripts/check-openapi.d.ts.map +1 -0
- package/dist/scripts/check-openapi.js +139 -0
- package/dist/scripts/check-openapi.js.map +1 -0
- package/dist/scripts/embed-viewport.d.ts +23 -0
- package/dist/scripts/embed-viewport.d.ts.map +1 -0
- package/dist/scripts/embed-viewport.js +116 -0
- package/dist/scripts/embed-viewport.js.map +1 -0
- package/dist/src/auth/sse-domain-scopes.d.ts +50 -0
- package/dist/src/auth/sse-domain-scopes.d.ts.map +1 -0
- package/dist/src/auth/sse-domain-scopes.js +111 -0
- package/dist/src/auth/sse-domain-scopes.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/agent-tasks.d.ts.map +1 -1
- package/dist/src/cli/connect/mcp/tools/agent-tasks.js +4 -1
- package/dist/src/cli/connect/mcp/tools/agent-tasks.js.map +1 -1
- package/dist/src/cli/connect/mcp/tools/core.d.ts.map +1 -1
- package/dist/src/cli/connect/mcp/tools/core.js +14 -3
- package/dist/src/cli/connect/mcp/tools/core.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/mcp/tools/workspaces.d.ts +3 -0
- package/dist/src/cli/connect/mcp/tools/workspaces.d.ts.map +1 -1
- package/dist/src/cli/connect/mcp/tools/workspaces.js +4 -2
- package/dist/src/cli/connect/mcp/tools/workspaces.js.map +1 -1
- package/dist/src/cli/connect/tool-call-defs-core.d.ts.map +1 -1
- package/dist/src/cli/connect/tool-call-defs-core.js +13 -1
- package/dist/src/cli/connect/tool-call-defs-core.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/__tests__/x402-registry.test.d.ts +2 -0
- package/dist/src/commerce/__tests__/x402-registry.test.d.ts.map +1 -0
- package/dist/src/commerce/__tests__/x402-registry.test.js +105 -0
- package/dist/src/commerce/__tests__/x402-registry.test.js.map +1 -0
- package/dist/src/commerce/evm-address.d.ts +21 -0
- package/dist/src/commerce/evm-address.d.ts.map +1 -0
- package/dist/src/commerce/evm-address.js +94 -0
- package/dist/src/commerce/evm-address.js.map +1 -0
- package/dist/src/commerce/money.d.ts +18 -5
- package/dist/src/commerce/money.d.ts.map +1 -1
- package/dist/src/commerce/money.js +27 -6
- package/dist/src/commerce/money.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/commerce/x402-facilitator.d.ts +64 -13
- package/dist/src/commerce/x402-facilitator.d.ts.map +1 -1
- package/dist/src/commerce/x402-facilitator.js +71 -19
- package/dist/src/commerce/x402-facilitator.js.map +1 -1
- package/dist/src/commerce/x402-handler.d.ts +13 -7
- package/dist/src/commerce/x402-handler.d.ts.map +1 -1
- package/dist/src/commerce/x402-handler.js +23 -10
- package/dist/src/commerce/x402-handler.js.map +1 -1
- package/dist/src/commerce/x402.d.ts +11 -6
- package/dist/src/commerce/x402.d.ts.map +1 -1
- package/dist/src/commerce/x402.js +10 -7
- package/dist/src/commerce/x402.js.map +1 -1
- package/dist/src/config-types.d.ts +12 -0
- package/dist/src/config-types.d.ts.map +1 -1
- package/dist/src/config.d.ts.map +1 -1
- package/dist/src/config.js +8 -0
- package/dist/src/config.js.map +1 -1
- package/dist/src/data/app-templates/shells.d.ts +15 -3
- package/dist/src/data/app-templates/shells.d.ts.map +1 -1
- package/dist/src/data/app-templates/shells.js +97 -12
- package/dist/src/data/app-templates/shells.js.map +1 -1
- package/dist/src/data/app-templates.js +2 -2
- package/dist/src/data/app-templates.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/data/library-packs/cortex.d.ts.map +1 -1
- package/dist/src/data/library-packs/cortex.js +108 -5
- package/dist/src/data/library-packs/cortex.js.map +1 -1
- package/dist/src/data/library-packs/sdk.d.ts.map +1 -1
- package/dist/src/data/library-packs/sdk.js +32 -8
- package/dist/src/data/library-packs/sdk.js.map +1 -1
- package/dist/src/data/library-packs/vendored.d.ts.map +1 -1
- package/dist/src/data/library-packs/vendored.js +83 -6
- package/dist/src/data/library-packs/vendored.js.map +1 -1
- package/dist/src/generated/api-types.d.ts +2039 -24
- package/dist/src/generated/api-types.d.ts.map +1 -1
- package/dist/src/mcp/agent-tasks.d.ts +4 -0
- package/dist/src/mcp/agent-tasks.d.ts.map +1 -1
- package/dist/src/mcp/agent-tasks.js +20 -2
- package/dist/src/mcp/agent-tasks.js.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/capabilities.d.ts +7 -1
- package/dist/src/mcp/capabilities.d.ts.map +1 -1
- package/dist/src/mcp/capabilities.js +5 -2
- package/dist/src/mcp/capabilities.js.map +1 -1
- package/dist/src/mcp/catalog/definitions/commerce.d.ts.map +1 -1
- package/dist/src/mcp/catalog/definitions/commerce.js +4 -2
- package/dist/src/mcp/catalog/definitions/commerce.js.map +1 -1
- package/dist/src/mcp/catalog/definitions/discovery-work-boards.d.ts.map +1 -1
- package/dist/src/mcp/catalog/definitions/discovery-work-boards.js +4 -3
- package/dist/src/mcp/catalog/definitions/discovery-work-boards.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/organisms-workspaces-apps.js +1 -1
- package/dist/src/mcp/catalog/definitions/organisms-workspaces-apps.js.map +1 -1
- package/dist/src/mcp/catalog/definitions/schedules-tasks-memory.d.ts.map +1 -1
- package/dist/src/mcp/catalog/definitions/schedules-tasks-memory.js +3 -2
- package/dist/src/mcp/catalog/definitions/schedules-tasks-memory.js.map +1 -1
- 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/output-schemas.d.ts +6 -1
- package/dist/src/mcp/catalog/output-schemas.d.ts.map +1 -1
- package/dist/src/mcp/catalog/output-schemas.js +6 -1
- package/dist/src/mcp/catalog/output-schemas.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/commerce.d.ts.map +1 -1
- package/dist/src/mcp/commerce.js +15 -3
- package/dist/src/mcp/commerce.js.map +1 -1
- package/dist/src/mcp/core-storage.d.ts +23 -0
- package/dist/src/mcp/core-storage.d.ts.map +1 -0
- package/dist/src/mcp/core-storage.js +157 -0
- package/dist/src/mcp/core-storage.js.map +1 -0
- package/dist/src/mcp/core.d.ts +16 -0
- package/dist/src/mcp/core.d.ts.map +1 -1
- package/dist/src/mcp/core.js +75 -119
- package/dist/src/mcp/core.js.map +1 -1
- package/dist/src/mcp/dm-messages.d.ts +4 -0
- package/dist/src/mcp/dm-messages.d.ts.map +1 -1
- package/dist/src/mcp/dm-messages.js +43 -2
- package/dist/src/mcp/dm-messages.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 +352 -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 +17 -2
- package/dist/src/mcp/extensions.js.map +1 -1
- package/dist/src/mcp/index.d.ts +5 -0
- package/dist/src/mcp/index.d.ts.map +1 -1
- package/dist/src/mcp/index.js +26 -3
- package/dist/src/mcp/index.js.map +1 -1
- package/dist/src/mcp/memory-namespace-hints.d.ts +33 -0
- package/dist/src/mcp/memory-namespace-hints.d.ts.map +1 -0
- package/dist/src/mcp/memory-namespace-hints.js +60 -0
- package/dist/src/mcp/memory-namespace-hints.js.map +1 -0
- package/dist/src/mcp/workspaces.d.ts +5 -0
- package/dist/src/mcp/workspaces.d.ts.map +1 -1
- package/dist/src/mcp/workspaces.js +5 -3
- package/dist/src/mcp/workspaces.js.map +1 -1
- package/dist/src/models/agent-task-schemas.d.ts +25 -3
- package/dist/src/models/agent-task-schemas.d.ts.map +1 -1
- package/dist/src/models/agent-task-schemas.js +16 -0
- package/dist/src/models/agent-task-schemas.js.map +1 -1
- package/dist/src/models/app-tool-schemas.d.ts +573 -2
- package/dist/src/models/app-tool-schemas.d.ts.map +1 -1
- package/dist/src/models/app-tool-schemas.js +73 -2
- package/dist/src/models/app-tool-schemas.js.map +1 -1
- package/dist/src/models/odps-schemas.d.ts +305 -0
- package/dist/src/models/odps-schemas.d.ts.map +1 -0
- package/dist/src/models/odps-schemas.js +182 -0
- package/dist/src/models/odps-schemas.js.map +1 -0
- package/dist/src/models/offer-schemas.d.ts +359 -4
- package/dist/src/models/offer-schemas.d.ts.map +1 -1
- package/dist/src/models/offer-schemas.js +37 -0
- package/dist/src/models/offer-schemas.js.map +1 -1
- package/dist/src/models/schemas.d.ts +7 -3
- package/dist/src/models/schemas.d.ts.map +1 -1
- package/dist/src/models/schemas.js +13 -1
- package/dist/src/models/schemas.js.map +1 -1
- package/dist/src/models/webhook-schemas.d.ts +8 -8
- package/dist/src/routes/agent-tasks/create-read.d.ts +4 -0
- package/dist/src/routes/agent-tasks/create-read.d.ts.map +1 -1
- package/dist/src/routes/agent-tasks/create-read.js +20 -1
- package/dist/src/routes/agent-tasks/create-read.js.map +1 -1
- package/dist/src/routes/agent-tasks/lifecycle.d.ts.map +1 -1
- package/dist/src/routes/agent-tasks/lifecycle.js +10 -0
- package/dist/src/routes/agent-tasks/lifecycle.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/agents/offers.d.ts +2 -0
- package/dist/src/routes/agents/offers.d.ts.map +1 -1
- package/dist/src/routes/agents/offers.js +0 -0
- package/dist/src/routes/agents/offers.js.map +1 -1
- package/dist/src/routes/app-grants.d.ts +12 -0
- package/dist/src/routes/app-grants.d.ts.map +1 -1
- package/dist/src/routes/app-grants.js +90 -27
- package/dist/src/routes/app-grants.js.map +1 -1
- package/dist/src/routes/apps/drafts.d.ts +3 -0
- package/dist/src/routes/apps/drafts.d.ts.map +1 -1
- package/dist/src/routes/apps/drafts.js +63 -1
- package/dist/src/routes/apps/drafts.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 +4 -0
- package/dist/src/routes/apps/publish.d.ts.map +1 -1
- package/dist/src/routes/apps/publish.js +44 -3
- 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/commerce.d.ts.map +1 -1
- package/dist/src/routes/commerce.js +122 -2
- package/dist/src/routes/commerce.js.map +1 -1
- package/dist/src/routes/exchange-market.d.ts +32 -0
- package/dist/src/routes/exchange-market.d.ts.map +1 -0
- package/dist/src/routes/exchange-market.js +580 -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 +398 -0
- package/dist/src/routes/exchange.js.map +1 -0
- package/dist/src/routes/extensions/actions.d.ts.map +1 -1
- package/dist/src/routes/extensions/actions.js +18 -0
- package/dist/src/routes/extensions/actions.js.map +1 -1
- package/dist/src/routes/extensions/crud.d.ts.map +1 -1
- package/dist/src/routes/extensions/crud.js +36 -3
- package/dist/src/routes/extensions/crud.js.map +1 -1
- 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 +156 -0
- package/dist/src/routes/extensions/entitlement-gate.js.map +1 -0
- package/dist/src/routes/extensions/manifest.d.ts +15 -0
- package/dist/src/routes/extensions/manifest.d.ts.map +1 -1
- package/dist/src/routes/extensions/manifest.js +101 -2
- package/dist/src/routes/extensions/manifest.js.map +1 -1
- package/dist/src/routes/extensions/pacing.d.ts +31 -0
- package/dist/src/routes/extensions/pacing.d.ts.map +1 -0
- package/dist/src/routes/extensions/pacing.js +73 -0
- package/dist/src/routes/extensions/pacing.js.map +1 -0
- package/dist/src/routes/extensions/paywall.d.ts.map +1 -1
- package/dist/src/routes/extensions/paywall.js +20 -11
- 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/memory/crud.d.ts.map +1 -1
- package/dist/src/routes/memory/crud.js +10 -0
- package/dist/src/routes/memory/crud.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/crud.d.ts +3 -0
- package/dist/src/routes/organisms/crud.d.ts.map +1 -1
- package/dist/src/routes/organisms/crud.js +5 -2
- package/dist/src/routes/organisms/crud.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/organisms/workspace-read.d.ts.map +1 -1
- package/dist/src/routes/organisms/workspace-read.js +7 -2
- package/dist/src/routes/organisms/workspace-read.js.map +1 -1
- package/dist/src/routes/public-stats.d.ts +7 -0
- package/dist/src/routes/public-stats.d.ts.map +1 -1
- package/dist/src/routes/public-stats.js +28 -7
- package/dist/src/routes/public-stats.js.map +1 -1
- package/dist/src/routes/sse.d.ts +7 -0
- package/dist/src/routes/sse.d.ts.map +1 -1
- package/dist/src/routes/sse.js +36 -6
- package/dist/src/routes/sse.js.map +1 -1
- package/dist/src/routes/storage-files.d.ts +11 -0
- package/dist/src/routes/storage-files.d.ts.map +1 -1
- package/dist/src/routes/storage-files.js +58 -51
- package/dist/src/routes/storage-files.js.map +1 -1
- package/dist/src/routes/subdomains.d.ts +4 -0
- package/dist/src/routes/subdomains.d.ts.map +1 -1
- package/dist/src/routes/subdomains.js +42 -5
- package/dist/src/routes/subdomains.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 +13 -0
- package/dist/src/routes/upload.d.ts.map +1 -1
- package/dist/src/routes/upload.js +115 -28
- 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 +59 -0
- package/dist/src/routes/webmcp.js.map +1 -1
- package/dist/src/schemas/knowledge-package.d.ts +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/server-bootstrap/static-files.d.ts +4 -0
- package/dist/src/server-bootstrap/static-files.d.ts.map +1 -1
- package/dist/src/server-bootstrap/static-files.js +11 -0
- package/dist/src/server-bootstrap/static-files.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 +22 -0
- package/dist/src/services/build-app-prompt.d.ts.map +1 -1
- package/dist/src/services/build-app-prompt.js +108 -11
- package/dist/src/services/build-app-prompt.js.map +1 -1
- package/dist/src/services/call-timing.d.ts +51 -0
- package/dist/src/services/call-timing.d.ts.map +1 -0
- package/dist/src/services/call-timing.js +91 -0
- package/dist/src/services/call-timing.js.map +1 -0
- package/dist/src/services/capability-invoke.d.ts +2 -0
- package/dist/src/services/capability-invoke.d.ts.map +1 -1
- package/dist/src/services/capability-invoke.js +10 -0
- package/dist/src/services/capability-invoke.js.map +1 -1
- package/dist/src/services/config-schema.d.ts.map +1 -1
- package/dist/src/services/config-schema.js +6 -0
- package/dist/src/services/config-schema.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/draft-token.d.ts +22 -2
- package/dist/src/services/draft-token.d.ts.map +1 -1
- package/dist/src/services/draft-token.js +52 -3
- package/dist/src/services/draft-token.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 +280 -0
- package/dist/src/services/exchange-market.d.ts.map +1 -0
- package/dist/src/services/exchange-market.js +276 -0
- package/dist/src/services/exchange-market.js.map +1 -0
- package/dist/src/services/exchange-odps.d.ts +58 -0
- package/dist/src/services/exchange-odps.d.ts.map +1 -0
- package/dist/src/services/exchange-odps.js +400 -0
- package/dist/src/services/exchange-odps.js.map +1 -0
- package/dist/src/services/exchange-projection.d.ts +61 -0
- package/dist/src/services/exchange-projection.d.ts.map +1 -0
- package/dist/src/services/exchange-projection.js +504 -0
- package/dist/src/services/exchange-projection.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 +73 -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/extension-files.d.ts +64 -0
- package/dist/src/services/extension-files.d.ts.map +1 -0
- package/dist/src/services/extension-files.js +88 -0
- package/dist/src/services/extension-files.js.map +1 -0
- package/dist/src/services/extension-runtime.d.ts +33 -0
- package/dist/src/services/extension-runtime.d.ts.map +1 -1
- package/dist/src/services/extension-runtime.js +52 -0
- package/dist/src/services/extension-runtime.js.map +1 -1
- package/dist/src/services/file-refs.d.ts +105 -0
- package/dist/src/services/file-refs.d.ts.map +1 -0
- package/dist/src/services/file-refs.js +106 -0
- package/dist/src/services/file-refs.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 +210 -0
- package/dist/src/services/metered-entitlements.d.ts.map +1 -0
- package/dist/src/services/metered-entitlements.js +268 -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 +30 -1
- package/dist/src/services/owner-memory.d.ts.map +1 -1
- package/dist/src/services/owner-memory.js +31 -14
- 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/services/task-files.d.ts +51 -0
- package/dist/src/services/task-files.d.ts.map +1 -0
- package/dist/src/services/task-files.js +58 -0
- package/dist/src/services/task-files.js.map +1 -0
- package/dist/src/services/upload-token.d.ts +29 -0
- package/dist/src/services/upload-token.d.ts.map +1 -1
- package/dist/src/services/upload-token.js +37 -0
- package/dist/src/services/upload-token.js.map +1 -1
- package/dist/src/services/upload-zip.d.ts +2 -0
- package/dist/src/services/upload-zip.d.ts.map +1 -1
- package/dist/src/services/upload-zip.js +5 -1
- package/dist/src/services/upload-zip.js.map +1 -1
- package/dist/src/services/workspace-meta.d.ts +15 -0
- package/dist/src/services/workspace-meta.d.ts.map +1 -1
- package/dist/src/services/workspace-meta.js +17 -0
- package/dist/src/services/workspace-meta.js.map +1 -1
- package/dist/src/services/workspace-provision.d.ts +3 -0
- package/dist/src/services/workspace-provision.d.ts.map +1 -1
- package/dist/src/services/workspace-provision.js +5 -3
- package/dist/src/services/workspace-provision.js.map +1 -1
- package/dist/src/storage/providers/postgres-kysely/methods/app-grants.d.ts +1 -0
- package/dist/src/storage/providers/postgres-kysely/methods/app-grants.d.ts.map +1 -1
- package/dist/src/storage/providers/postgres-kysely/methods/app-grants.js +10 -0
- package/dist/src/storage/providers/postgres-kysely/methods/app-grants.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/methods/memory.d.ts +2 -0
- package/dist/src/storage/providers/postgres-kysely/methods/memory.d.ts.map +1 -1
- package/dist/src/storage/providers/postgres-kysely/methods/memory.js +12 -1
- package/dist/src/storage/providers/postgres-kysely/methods/memory.js.map +1 -1
- package/dist/src/storage/providers/postgres-kysely/methods/organisms.d.ts.map +1 -1
- package/dist/src/storage/providers/postgres-kysely/methods/organisms.js +5 -1
- package/dist/src/storage/providers/postgres-kysely/methods/organisms.js.map +1 -1
- package/dist/src/storage/providers/postgres-kysely/migrations/0011_unique_verified_email.sql +25 -0
- package/dist/src/storage/providers/postgres-kysely/migrations/0012_unique_live_app_grant.sql +29 -0
- package/dist/src/storage/providers/sqlite/methods/apps.d.ts +4 -0
- package/dist/src/storage/providers/sqlite/methods/apps.d.ts.map +1 -1
- package/dist/src/storage/providers/sqlite/methods/apps.js +9 -0
- package/dist/src/storage/providers/sqlite/methods/apps.js.map +1 -1
- package/dist/src/storage/providers/sqlite/methods/governance.d.ts +1 -0
- package/dist/src/storage/providers/sqlite/methods/governance.d.ts.map +1 -1
- package/dist/src/storage/providers/sqlite/methods/governance.js +4 -1
- package/dist/src/storage/providers/sqlite/methods/governance.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/methods/owner.d.ts +5 -0
- package/dist/src/storage/providers/sqlite/methods/owner.d.ts.map +1 -1
- package/dist/src/storage/providers/sqlite/methods/owner.js +8 -0
- package/dist/src/storage/providers/sqlite/methods/owner.js.map +1 -1
- package/dist/src/storage/providers/sqlite/schema.d.ts +3 -0
- package/dist/src/storage/providers/sqlite/schema.d.ts.map +1 -1
- package/dist/src/storage/providers/sqlite/schema.js +40 -0
- package/dist/src/storage/providers/sqlite/schema.js.map +1 -1
- package/dist/src/storage/repositories/app-grant.repository.d.ts +9 -1
- package/dist/src/storage/repositories/app-grant.repository.d.ts.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/repositories/memory.repository.d.ts +14 -0
- package/dist/src/storage/repositories/memory.repository.d.ts.map +1 -1
- package/dist/src/storage/repositories-impl/memory-repository.d.ts +8 -1
- package/dist/src/storage/repositories-impl/memory-repository.d.ts.map +1 -1
- package/dist/src/storage/repositories-impl/memory-repository.js +15 -4
- package/dist/src/storage/repositories-impl/memory-repository.js.map +1 -1
- package/dist/src/storage/types/agents-messaging.d.ts +19 -0
- package/dist/src/storage/types/agents-messaging.d.ts.map +1 -1
- package/dist/src/storage/types/agents-messaging.js.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 +50 -0
- package/dist/src/storage/types/organisms-federation.d.ts.map +1 -1
- package/dist/src/utils/app-badge.d.ts.map +1 -1
- package/dist/src/utils/app-badge.js +7 -3
- package/dist/src/utils/app-badge.js.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 +18 -82
- package/dist/static/app-catalog/js/apps-io.js +51 -165
- package/dist/static/app-catalog/js/cortex.js +3 -1
- 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 +568 -59
- package/dist/static/app-catalog/js/favorites.js +71 -0
- package/dist/static/app-catalog/js/i18n-data.js +369 -19
- package/dist/static/app-catalog/js/main.js +50 -139
- package/dist/static/app-catalog/js/migrate.js +88 -0
- package/dist/static/app-catalog/js/monetize.js +205 -17
- package/dist/static/app-catalog/js/odps.js +489 -0
- package/dist/static/app-catalog/js/promote.js +70 -0
- package/dist/static/app-catalog/js/render.js +29 -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/js/workcopy.js +198 -0
- package/dist/static/app-catalog/styles/app-catalog.css +100 -0
- package/dist/static/app-catalog.html +2220 -1029
- 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 +305 -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/cluster.js +97 -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 +61 -0
- package/dist/static/sdk-libs/auth/locale.js +151 -0
- package/dist/static/sdk-libs/auth/modal.js +554 -0
- package/dist/static/sdk-libs/auth/palette.js +172 -0
- package/dist/static/sdk-libs/auth/pill.js +198 -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 +137 -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 +250 -0
- package/dist/static/sdk-libs/dist/aimeat-agentface.js +91 -0
- package/dist/static/sdk-libs/dist/aimeat-agents.js +348 -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 +2232 -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 +247 -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 +317 -0
- package/dist/static/sdk-libs/dist/aimeat-markdown.js +633 -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 +223 -0
- package/dist/static/sdk-libs/markdown/index.js +570 -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 +10 -3
package/dist/.env.example
CHANGED
|
@@ -315,10 +315,15 @@ AIMEAT_PORT=40050
|
|
|
315
315
|
# AIMEAT_VAT_RATE_PERCENT=25.5 # Default ALV/VAT rate for money-sale bookings (Finland standard 25.5%); overridable per company.
|
|
316
316
|
# AIMEAT_PLATFORM_STRIPE_KEY= # Legacy alias for AIMEAT_STRIPE_SECRET_KEY (only used if the latter is unset).
|
|
317
317
|
|
|
318
|
-
# ── x402 stablecoin settlement (TARGET-042) — NON-CUSTODIAL
|
|
319
|
-
#
|
|
320
|
-
#
|
|
321
|
-
#
|
|
318
|
+
# ── x402 stablecoin settlement (TARGET-042) — NON-CUSTODIAL stablecoin on a fiat price ──
|
|
319
|
+
# The token follows the price: a USD session settles in USDC, a EUR session in EURC. One seller payout
|
|
320
|
+
# address receives both. The currencies the node advertises are DERIVED from the assets the configured
|
|
321
|
+
# network has, so a currency is never offered unless it can really settle.
|
|
322
|
+
# AIMEAT_PACING_TOLL_DEFAULT=0 # Morsels burned per METERED call when the capability declares no toll of its own. Morsels replenish daily with a hard ceiling, so a non-zero value puts an absolute RATE floor under every capability - including money-priced ones, whose only other brake is the buyer's total budget. Applies on every metered path (app tools, exchange runs, agent work, raw extension invokes). 0 = off (existing billing unchanged).
|
|
323
|
+
# AIMEAT_X402_ENABLED=false # Register the x402 PaymentHandler (settles money sessions via the exact scheme + facilitator). OFF by default: advertise the exact scheme only when the node can settle it.
|
|
324
|
+
# AIMEAT_X402_NETWORK=base-sepolia # Network id in the accepts[] exact scheme: base-sepolia (testnet) | base (mainnet). Both carry USDC + EURC. A parameter, not hardcoded — Solana etc. drop in via the network registry (src/commerce/x402-facilitator.ts).
|
|
325
|
+
# AIMEAT_X402_FACILITATOR_URL=https://x402.org/facilitator # Facilitator /verify + /settle base URL (all calls go through safeFetch). The public x402.org one covers Base Sepolia (USDC and EURC alike) but NOT Base mainnet — mainnet needs a facilitator that serves it, e.g. Coinbase CDP.
|
|
326
|
+
# AIMEAT_X402_RPC_URL= # OPTIONAL read-only JSON-RPC (e.g. https://mainnet.base.org). Used ONLY to check that a seller's payout address is an account, not a contract, before it is saved. Empty = check skipped; a payout setting must not depend on a third party being up.
|
|
322
327
|
# AIMEAT_X402_TEST_FACILITATOR=false # TEST ONLY: an off-chain facilitator double so the x402 chain is E2E-provable without a testnet wallet. NEVER in prod (real settlement = the real facilitator).
|
|
323
328
|
|
|
324
329
|
# ── Crawlers / Content Signals / Web Bot Auth ──────────────────
|
package/dist/locales/en.json
CHANGED
|
@@ -10,10 +10,18 @@
|
|
|
10
10
|
"inbox.sending": "Sending…",
|
|
11
11
|
"inbox.reply": "Reply",
|
|
12
12
|
"inbox.quoteReply": "Reply to this message",
|
|
13
|
+
"inbox.copyMessage": "Copy this message to the clipboard",
|
|
14
|
+
"inbox.copied": "Copied",
|
|
13
15
|
"inbox.quoteJump": "Show the original message",
|
|
14
16
|
"inbox.quoteYou": "You",
|
|
15
17
|
"inbox.replyingTo": "Replying to",
|
|
16
18
|
"inbox.quoteCancel": "Cancel the quoted reply",
|
|
19
|
+
"inbox.linkPreview.label": "Previews",
|
|
20
|
+
"inbox.linkPreview.hide": "Hide this preview",
|
|
21
|
+
"inbox.linkPreview.hideAll": "Hide link previews",
|
|
22
|
+
"inbox.linkPreview.showAll": "Show link previews",
|
|
23
|
+
"inbox.thread.showAll": "Show all messages",
|
|
24
|
+
"inbox.thread.showRecent": "Show last 50",
|
|
17
25
|
"inbox.attachmentRemove": "Remove attachment",
|
|
18
26
|
"inbox.contactAgentSuffix": "(your agent)",
|
|
19
27
|
"inbox.messageThis": "Send a message",
|
|
@@ -49,6 +57,23 @@
|
|
|
49
57
|
"inbox.schedError": "Could not schedule.",
|
|
50
58
|
"inbox.parkToNotebook": "Add to notebook for later",
|
|
51
59
|
"inbox.parkedToNotebook": "Added to your notebook.",
|
|
60
|
+
"inbox.notebook.toNotebook": "Summarize to Notebook",
|
|
61
|
+
"inbox.notebook.toNotebookShort": "Notebook",
|
|
62
|
+
"inbox.notebook.modeAi": "AI summary (my key)",
|
|
63
|
+
"inbox.notebook.modeCopy": "Copy prompt",
|
|
64
|
+
"inbox.notebook.modeRaw": "Raw",
|
|
65
|
+
"inbox.notebook.hintAi": "Summarize this whole conversation with your own OpenRouter key, review it, then send it to the Notebook to file into a workspace.",
|
|
66
|
+
"inbox.notebook.hintCopy": "Copy this prompt into your own AI chat, then paste the summary back below and send it to the Notebook.",
|
|
67
|
+
"inbox.notebook.hintRaw": "Send the whole chain (text + images) to the Notebook as-is, and refine it there with classify / distribute.",
|
|
68
|
+
"inbox.notebook.genSummary": "Summarize with AI",
|
|
69
|
+
"inbox.notebook.summarizing": "Summarizing…",
|
|
70
|
+
"inbox.notebook.regen": "Regenerate",
|
|
71
|
+
"inbox.notebook.park": "Send to Notebook",
|
|
72
|
+
"inbox.notebook.parkRaw": "Send to Notebook",
|
|
73
|
+
"inbox.notebook.parked": "Sent to the Notebook.",
|
|
74
|
+
"inbox.notebook.pasteHint": "Paste the AI's summary here:",
|
|
75
|
+
"inbox.notebook.pastePh": "Paste the summary the AI gave you…",
|
|
76
|
+
"inbox.notebook.summaryEmpty": "The model returned nothing — try again.",
|
|
52
77
|
"inbox.viaAgent": "via",
|
|
53
78
|
"inbox.sentByAgent": "Sent by your agent",
|
|
54
79
|
"inbox.viaAgentReadonly": "Sent by your agent {agent} — view only.",
|
|
@@ -148,6 +173,8 @@
|
|
|
148
173
|
"admin.messages.detail": "Detail",
|
|
149
174
|
"admin.messages.none": "No deliveries yet.",
|
|
150
175
|
"inbox.attach": "Attach a file",
|
|
176
|
+
"inbox.expand": "Enlarge the editor",
|
|
177
|
+
"inbox.collapse": "Shrink the editor",
|
|
151
178
|
"inbox.today": "Today",
|
|
152
179
|
"inbox.yesterday": "Yesterday",
|
|
153
180
|
"inbox.youPrefix": "You:",
|
|
@@ -579,7 +606,10 @@
|
|
|
579
606
|
"loginCta": "Log in",
|
|
580
607
|
"errorTitle": "Cannot grant access",
|
|
581
608
|
"missing": "No authorization request.",
|
|
582
|
-
"expired": "This request has expired."
|
|
609
|
+
"expired": "This request has expired.",
|
|
610
|
+
"ownBadge": "Your app",
|
|
611
|
+
"ownIntro": "This is your own app. It still uses a scoped, revocable key — never your login session.",
|
|
612
|
+
"newScope": "new"
|
|
583
613
|
},
|
|
584
614
|
"common": {
|
|
585
615
|
"cancel": "Cancel",
|
|
@@ -607,6 +637,7 @@
|
|
|
607
637
|
"notif": {
|
|
608
638
|
"title": "Notifications",
|
|
609
639
|
"empty": "No notifications yet",
|
|
640
|
+
"clearAll": "Clear all",
|
|
610
641
|
"action": {
|
|
611
642
|
"reply": "Reply",
|
|
612
643
|
"approve": "Approve",
|
|
@@ -2509,6 +2540,16 @@
|
|
|
2509
2540
|
"pspRemove": "Remove",
|
|
2510
2541
|
"pspSaved": "Payment key saved",
|
|
2511
2542
|
"pspRemoved": "Payment key removed",
|
|
2543
|
+
"x402Title": "Stablecoin payouts (x402)",
|
|
2544
|
+
"x402Desc": "A different rail from Stripe: a buyer signs a stablecoin payment and the facilitator settles it on-chain straight to this address. The token follows the price — a dollar price settles in USDC, a euro price in EURC — and the same address receives both. Non-custodial: the node holds no key and no funds. Without an address, a stablecoin sale of yours fails.",
|
|
2545
|
+
"x402Configured": "Payout address set",
|
|
2546
|
+
"x402Missing": "No payout address",
|
|
2547
|
+
"x402Save": "Save address",
|
|
2548
|
+
"x402Remove": "Remove",
|
|
2549
|
+
"x402Saved": "Payout address saved",
|
|
2550
|
+
"x402Removed": "Payout address removed. Card and invoice settlement is unaffected.",
|
|
2551
|
+
"x402Invalid": "An address is 0x followed by 40 hex characters.",
|
|
2552
|
+
"x402Testnet": "test network",
|
|
2512
2553
|
"moneyTitle": "Money purchases & sales",
|
|
2513
2554
|
"moneyDesc": "Real-money (EUR/USD) checkout activity — separate from morsels. Funds move through the seller's own payment provider, never the node.",
|
|
2514
2555
|
"moneyPurchases": "Purchases",
|
|
@@ -2888,6 +2929,8 @@
|
|
|
2888
2929
|
"operatorHiddenHint": "An operator has hidden this app from public view. Only you can still see it. Contact the operator to appeal.",
|
|
2889
2930
|
"agentBadge": "Ships an agent",
|
|
2890
2931
|
"agentBadgeHint": "This app ships its own agent - deploy it onto your fleet below",
|
|
2932
|
+
"promotedBadge": "Promoted",
|
|
2933
|
+
"promotedBadgeHint": "Promoted on your public profile — manage the pitch in the app catalog",
|
|
2891
2934
|
"agentsLabel": "Bundled agents",
|
|
2892
2935
|
"agentDeploy": "Deploy to my fleet",
|
|
2893
2936
|
"agentUndeploy": "Undeploy",
|
|
@@ -3004,6 +3047,12 @@
|
|
|
3004
3047
|
"agConfirmRevoke": "Revoke access for \"{name}\"? It loses access immediately.",
|
|
3005
3048
|
"agRevoked": "App access revoked",
|
|
3006
3049
|
"agRevoke": "Revoke",
|
|
3050
|
+
"agScopesToggle": "Show or hide the granted permissions",
|
|
3051
|
+
"agUnusedNote": "{count} of these have not been used in over {days} days.",
|
|
3052
|
+
"agRevokeUnused": "Revoke {count} unused",
|
|
3053
|
+
"agConfirmRevokeUnused": "Revoke access for {count} apps unused for over {days} days? They lose access immediately.",
|
|
3054
|
+
"agRevokedCount": "{count} app grants revoked",
|
|
3055
|
+
"agRevokedSome": "{done} revoked, {failed} failed",
|
|
3007
3056
|
"patTitle": "Agent Access Tokens",
|
|
3008
3057
|
"patDesc": "Create a revocable token an agent can use (as a Bearer header) to log in and test your apps. One token can be shared across all your agents.",
|
|
3009
3058
|
"patLabelRequired": "Give the token a name",
|
|
@@ -3354,6 +3403,11 @@
|
|
|
3354
3403
|
"frontier": "Frontier-safe — a version-drift trap for weaker models; they must read its doc",
|
|
3355
3404
|
"needs-doc": "AIMEAT-authored wrapper — the AI must fetch its doc to use it (no priors)"
|
|
3356
3405
|
},
|
|
3406
|
+
"tierLabel": {
|
|
3407
|
+
"any": "ANY MODEL",
|
|
3408
|
+
"frontier": "VERSION TRAP",
|
|
3409
|
+
"needs-doc": "READ THE DOC"
|
|
3410
|
+
},
|
|
3357
3411
|
"heroDesc": "Get more done with less. AI Chat can handle bigger apps when you hand it ready-made cortex building blocks — reusable UI libraries, schemas, and prompts. Use the same cortex across multiple apps.",
|
|
3358
3412
|
"visibility": {
|
|
3359
3413
|
"private": "Private",
|
|
@@ -4476,6 +4530,11 @@
|
|
|
4476
4530
|
"errFederatedLogin": "Could not reach home node {remoteNode} for federated login.",
|
|
4477
4531
|
"loggedIn": "logged in",
|
|
4478
4532
|
"logoutBtn": "Logout",
|
|
4533
|
+
"switchLanguage": "Language",
|
|
4534
|
+
"themeLabel": "Theme",
|
|
4535
|
+
"lightMode": "Light mode",
|
|
4536
|
+
"darkMode": "Dark mode",
|
|
4537
|
+
"chooseLook": "Choose look",
|
|
4479
4538
|
"usernameLabel": "Username",
|
|
4480
4539
|
"passwordLabel": "Password",
|
|
4481
4540
|
"displayNameLabel": "Display Name",
|
|
@@ -4502,6 +4561,8 @@
|
|
|
4502
4561
|
"completeAccountTitle": "One last step",
|
|
4503
4562
|
"completeAccountDesc": "Add an email to finish setting up your account. We’ll send a verification code to confirm it.",
|
|
4504
4563
|
"completeAccountDescResend": "Confirm your email to finish signing in. We’ll send a verification code — edit the address if it’s wrong.",
|
|
4564
|
+
"registerEmailTitle": "Add your email",
|
|
4565
|
+
"registerEmailDesc": "Enter your email to create your account. We’ll send a verification code to confirm it.",
|
|
4505
4566
|
"sendVerificationCode": "Send Verification Code",
|
|
4506
4567
|
"enterCodeTitle": "Enter Verification Code",
|
|
4507
4568
|
"enterCodeDesc": "We sent a 6-digit code to your email. Enter it below to finish and sign in.",
|
|
@@ -6447,6 +6508,7 @@
|
|
|
6447
6508
|
"notFound": "Portfolio not found",
|
|
6448
6509
|
"notFoundDesc": "This user hasn't published a portfolio yet.",
|
|
6449
6510
|
"loginToSeeMore": "Log in to see more content",
|
|
6511
|
+
"promoted": "Promoted apps",
|
|
6450
6512
|
"backToPortal": "Home",
|
|
6451
6513
|
"fullscreen": "Fullscreen",
|
|
6452
6514
|
"standalone": "Own address"
|
package/dist/locales/fi.json
CHANGED
|
@@ -10,10 +10,18 @@
|
|
|
10
10
|
"inbox.sending": "Lähetetään…",
|
|
11
11
|
"inbox.reply": "Vastaa",
|
|
12
12
|
"inbox.quoteReply": "Vastaa tähän viestiin",
|
|
13
|
+
"inbox.copyMessage": "Kopioi tämä viesti leikepöydälle",
|
|
14
|
+
"inbox.copied": "Kopioitu",
|
|
13
15
|
"inbox.quoteJump": "Näytä alkuperäinen viesti",
|
|
14
16
|
"inbox.quoteYou": "Sinä",
|
|
15
17
|
"inbox.replyingTo": "Vastataan:",
|
|
16
18
|
"inbox.quoteCancel": "Peru lainattu vastaus",
|
|
19
|
+
"inbox.linkPreview.label": "Esikatselut",
|
|
20
|
+
"inbox.linkPreview.hide": "Piilota tämä esikatselu",
|
|
21
|
+
"inbox.linkPreview.hideAll": "Piilota linkkien esikatselut",
|
|
22
|
+
"inbox.linkPreview.showAll": "Näytä linkkien esikatselut",
|
|
23
|
+
"inbox.thread.showAll": "Näytä kaikki viestit",
|
|
24
|
+
"inbox.thread.showRecent": "Näytä viimeiset 50",
|
|
17
25
|
"inbox.attachmentRemove": "Poista liite",
|
|
18
26
|
"inbox.contactAgentSuffix": "(agenttisi)",
|
|
19
27
|
"inbox.messageThis": "Lähetä viesti",
|
|
@@ -49,6 +57,23 @@
|
|
|
49
57
|
"inbox.schedError": "Ajastus epäonnistui.",
|
|
50
58
|
"inbox.parkToNotebook": "Lisää muistikirjaan myöhempää varten",
|
|
51
59
|
"inbox.parkedToNotebook": "Lisätty muistikirjaasi.",
|
|
60
|
+
"inbox.notebook.toNotebook": "Yhteenveto Notebookiin",
|
|
61
|
+
"inbox.notebook.toNotebookShort": "Notebook",
|
|
62
|
+
"inbox.notebook.modeAi": "AI-yhteenveto (oma avain)",
|
|
63
|
+
"inbox.notebook.modeCopy": "Kopioi prompti",
|
|
64
|
+
"inbox.notebook.modeRaw": "Raakana",
|
|
65
|
+
"inbox.notebook.hintAi": "Tiivistä koko tämä keskustelu omalla OpenRouter-avaimellasi, tarkista se, ja vie se Notebookiin arkistoitavaksi workspaceen.",
|
|
66
|
+
"inbox.notebook.hintCopy": "Kopioi tämä prompti omaan AI-chattiisi, liitä yhteenveto alle ja vie se Notebookiin.",
|
|
67
|
+
"inbox.notebook.hintRaw": "Vie koko ketju (teksti + kuvat) Notebookiin sellaisenaan, ja jalosta se siellä classify / distribute -toiminnoilla.",
|
|
68
|
+
"inbox.notebook.genSummary": "Tee yhteenveto AI:lla",
|
|
69
|
+
"inbox.notebook.summarizing": "Tiivistetään…",
|
|
70
|
+
"inbox.notebook.regen": "Uudelleen",
|
|
71
|
+
"inbox.notebook.park": "Vie Notebookiin",
|
|
72
|
+
"inbox.notebook.parkRaw": "Vie Notebookiin",
|
|
73
|
+
"inbox.notebook.parked": "Viety Notebookiin.",
|
|
74
|
+
"inbox.notebook.pasteHint": "Liitä AI:n yhteenveto tähän:",
|
|
75
|
+
"inbox.notebook.pastePh": "Liitä AI:n antama yhteenveto…",
|
|
76
|
+
"inbox.notebook.summaryEmpty": "Malli ei palauttanut mitään — yritä uudelleen.",
|
|
52
77
|
"inbox.viaAgent": "via",
|
|
53
78
|
"inbox.sentByAgent": "Lähettänyt agenttisi",
|
|
54
79
|
"inbox.viaAgentReadonly": "Lähettänyt agenttisi {agent} — vain katselu.",
|
|
@@ -148,6 +173,8 @@
|
|
|
148
173
|
"admin.messages.detail": "Lisätieto",
|
|
149
174
|
"admin.messages.none": "Ei toimituksia vielä.",
|
|
150
175
|
"inbox.attach": "Liitä tiedosto",
|
|
176
|
+
"inbox.expand": "Suurenna editori",
|
|
177
|
+
"inbox.collapse": "Pienennä editori",
|
|
151
178
|
"inbox.today": "Tänään",
|
|
152
179
|
"inbox.yesterday": "Eilen",
|
|
153
180
|
"inbox.youPrefix": "Sinä:",
|
|
@@ -579,7 +606,10 @@
|
|
|
579
606
|
"loginCta": "Kirjaudu",
|
|
580
607
|
"errorTitle": "Pääsyä ei voida myöntää",
|
|
581
608
|
"missing": "Ei valtuutuspyyntöä.",
|
|
582
|
-
"expired": "Tämä pyyntö on vanhentunut."
|
|
609
|
+
"expired": "Tämä pyyntö on vanhentunut.",
|
|
610
|
+
"ownBadge": "Oma appisi",
|
|
611
|
+
"ownIntro": "Tämä on oma appisi. Sekin käyttää rajattua, peruttavaa avainta — ei koskaan kirjautumisistuntoasi.",
|
|
612
|
+
"newScope": "uusi"
|
|
583
613
|
},
|
|
584
614
|
"common": {
|
|
585
615
|
"cancel": "Peruuta",
|
|
@@ -607,6 +637,7 @@
|
|
|
607
637
|
"notif": {
|
|
608
638
|
"title": "Ilmoitukset",
|
|
609
639
|
"empty": "Ei ilmoituksia vielä",
|
|
640
|
+
"clearAll": "Tyhjennä kaikki",
|
|
610
641
|
"action": {
|
|
611
642
|
"reply": "Vastaa",
|
|
612
643
|
"approve": "Hyväksy",
|
|
@@ -2509,6 +2540,16 @@
|
|
|
2509
2540
|
"pspRemove": "Poista",
|
|
2510
2541
|
"pspSaved": "Maksuavain tallennettu",
|
|
2511
2542
|
"pspRemoved": "Maksuavain poistettu",
|
|
2543
|
+
"x402Title": "Stablecoin-tilitykset (x402)",
|
|
2544
|
+
"x402Desc": "Eri raide kuin Stripe: ostaja allekirjoittaa stablecoin-maksun ja fasilitaattori tilittää sen ketjussa suoraan tähän osoitteeseen. Rahake määräytyy hinnan mukaan: dollarihinta tilittyy USDC:nä ja eurohinta EURC:nä, ja sama osoite ottaa vastaan molemmat. Ei-säilytyksellinen: noodi ei pidä avainta eikä varoja. Ilman osoitetta stablecoin-myyntisi kaatuu.",
|
|
2545
|
+
"x402Configured": "Tilitysosoite asetettu",
|
|
2546
|
+
"x402Missing": "Ei tilitysosoitetta",
|
|
2547
|
+
"x402Save": "Tallenna osoite",
|
|
2548
|
+
"x402Remove": "Poista",
|
|
2549
|
+
"x402Saved": "Tilitysosoite tallennettu",
|
|
2550
|
+
"x402Removed": "Tilitysosoite poistettu. Kortti- ja laskutilitys ei muutu.",
|
|
2551
|
+
"x402Invalid": "Osoite on 0x ja 40 heksamerkkiä.",
|
|
2552
|
+
"x402Testnet": "testiverkko",
|
|
2512
2553
|
"moneyTitle": "Rahaostot ja -myynnit",
|
|
2513
2554
|
"moneyDesc": "Rahamaksut (EUR/USD) — erillään murusista. Varat liikkuvat myyjän oman maksupalvelun kautta, ei koskaan noodin.",
|
|
2514
2555
|
"moneyPurchases": "Ostot",
|
|
@@ -2888,6 +2929,8 @@
|
|
|
2888
2929
|
"operatorHiddenHint": "Operaattori on piilottanut tämän sovelluksen julkisesta näkymästä. Vain sinä näet sen edelleen. Ota yhteyttä operaattoriin valittaaksesi.",
|
|
2889
2930
|
"agentBadge": "Sisältää agentin",
|
|
2890
2931
|
"agentBadgeHint": "Tämä sovellus tuo mukanaan oman agentin - ota se käyttöön omaan laivueeseesi alta",
|
|
2932
|
+
"promotedBadge": "Nostettu",
|
|
2933
|
+
"promotedBadgeHint": "Nostettu julkiseen profiiliisi — hallitse myyntipuhetta sovelluskatalogissa",
|
|
2891
2934
|
"agentsLabel": "Mukana tulevat agentit",
|
|
2892
2935
|
"agentDeploy": "Ota käyttöön laivueeseeni",
|
|
2893
2936
|
"agentUndeploy": "Poista käytöstä",
|
|
@@ -3004,6 +3047,12 @@
|
|
|
3004
3047
|
"agConfirmRevoke": "Peruutetaanko sovelluksen \"{name}\" pääsy? Se menettää pääsyn välittömästi.",
|
|
3005
3048
|
"agRevoked": "Sovelluksen pääsy peruutettu",
|
|
3006
3049
|
"agRevoke": "Peruuta",
|
|
3050
|
+
"agScopesToggle": "Näytä tai piilota myönnetyt oikeudet",
|
|
3051
|
+
"agUnusedNote": "Näistä {count} on ollut käyttämättä yli {days} päivää.",
|
|
3052
|
+
"agRevokeUnused": "Peruuta {count} käyttämätöntä",
|
|
3053
|
+
"agConfirmRevokeUnused": "Peruutetaanko pääsy {count} sovellukselta, joita ei ole käytetty yli {days} päivään? Ne menettävät pääsyn välittömästi.",
|
|
3054
|
+
"agRevokedCount": "{count} sovelluksen pääsy peruutettu",
|
|
3055
|
+
"agRevokedSome": "{done} peruutettu, {failed} epäonnistui",
|
|
3007
3056
|
"patTitle": "Agenttien käyttötokenit",
|
|
3008
3057
|
"patDesc": "Luo peruutettava token, jota agentti voi käyttää (Bearer-headerina) kirjautuakseen ja testatakseen appejasi. Yhtä tokenia voi jakaa kaikille agenteillesi.",
|
|
3009
3058
|
"patLabelRequired": "Anna tokenille nimi",
|
|
@@ -3354,6 +3403,11 @@
|
|
|
3354
3403
|
"frontier": "Vahvoille malleille turvallinen — versioansa heikommille; niiden on luettava dokumentaatio",
|
|
3355
3404
|
"needs-doc": "AIMEAT:n oma wrapper — tekoälyn on haettava dokumentaatio käyttääkseen sitä (ei ennakkotietoa)"
|
|
3356
3405
|
},
|
|
3406
|
+
"tierLabel": {
|
|
3407
|
+
"any": "KAIKILLE MALLEILLE",
|
|
3408
|
+
"frontier": "VERSIOANSA",
|
|
3409
|
+
"needs-doc": "LUE DOKUMENTTI"
|
|
3410
|
+
},
|
|
3357
3411
|
"heroDesc": "Cortexeilla saat enemmän aikaiseksi vähemmällä. AI Chat suoriutuu isommista sovelluksista kun annat sille valmiita cortex-rakennuspalikoita — uudelleenkäytettäviä UI-kirjastoja, skeemoja ja prompteja. Voit käyttää samaa cortexia useassa sovelluksessa.",
|
|
3358
3412
|
"visibility": {
|
|
3359
3413
|
"private": "Yksityinen",
|
|
@@ -4476,6 +4530,11 @@
|
|
|
4476
4530
|
"errFederatedLogin": "Kotisolmuun {remoteNode} ei saatu yhteyttä federoitua kirjautumista varten.",
|
|
4477
4531
|
"loggedIn": "kirjautuneena",
|
|
4478
4532
|
"logoutBtn": "Kirjaudu ulos",
|
|
4533
|
+
"switchLanguage": "Kieli",
|
|
4534
|
+
"themeLabel": "Teema",
|
|
4535
|
+
"lightMode": "Vaalea tila",
|
|
4536
|
+
"darkMode": "Tumma tila",
|
|
4537
|
+
"chooseLook": "Valitse tyyli",
|
|
4479
4538
|
"usernameLabel": "Käyttäjänimi",
|
|
4480
4539
|
"passwordLabel": "Salasana",
|
|
4481
4540
|
"displayNameLabel": "Näyttönimi",
|
|
@@ -4502,6 +4561,8 @@
|
|
|
4502
4561
|
"completeAccountTitle": "Vielä yksi vaihe",
|
|
4503
4562
|
"completeAccountDesc": "Lisää sähköpostiosoite viimeistelläksesi tilisi. Lähetämme vahvistuskoodin sen vahvistamiseksi.",
|
|
4504
4563
|
"completeAccountDescResend": "Vahvista sähköpostiosoitteesi kirjautuaksesi sisään. Lähetämme vahvistuskoodin — muokkaa osoitetta, jos se on väärin.",
|
|
4564
|
+
"registerEmailTitle": "Lisää sähköpostiosoitteesi",
|
|
4565
|
+
"registerEmailDesc": "Anna sähköpostiosoitteesi luodaksesi tilisi. Lähetämme vahvistuskoodin sen vahvistamiseksi.",
|
|
4505
4566
|
"sendVerificationCode": "Lähetä vahvistuskoodi",
|
|
4506
4567
|
"enterCodeTitle": "Syötä vahvistuskoodi",
|
|
4507
4568
|
"enterCodeDesc": "Lähetimme 6-numeroisen koodin sähköpostiisi. Syötä se alle viimeistelläksesi ja kirjautuaksesi sisään.",
|
|
@@ -6447,6 +6508,7 @@
|
|
|
6447
6508
|
"notFound": "Portfoliota ei löytynyt",
|
|
6448
6509
|
"notFoundDesc": "Tämä käyttäjä ei ole julkaissut portfoliota.",
|
|
6449
6510
|
"loginToSeeMore": "Kirjaudu sisään nähdäksesi lisää",
|
|
6511
|
+
"promoted": "Nostetut sovellukset",
|
|
6450
6512
|
"backToPortal": "Koti",
|
|
6451
6513
|
"fullscreen": "Koko näyttö",
|
|
6452
6514
|
"standalone": "Oma osoite"
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file public/components/LinkPreview.js
|
|
3
|
+
* @description Rich link-preview (unfurl) cards for a pasted URL. `LinkPreview` fetches one URL's
|
|
4
|
+
* OpenGraph metadata from the node (`/js/services/unfurl.js`) and renders a card (site · title ·
|
|
5
|
+
* description · thumbnail); the thumbnail is pulled through the node's image proxy into a `blob:`
|
|
6
|
+
* URL so the SPA's remote-image CSP is satisfied. `MessageLinkPreviews` extracts the URLs from a
|
|
7
|
+
* message body and renders a card per link, each with a ✕ that hides it (persisted in localStorage,
|
|
8
|
+
* so a dismissed card stays hidden). `extractUrls` is exported for reuse/testing.
|
|
9
|
+
* @structure extractUrls(text,max) · LinkPreview({url,onDismiss}) · MessageLinkPreviews({msg})
|
|
10
|
+
* @usage html`<${MessageLinkPreviews} msg=${msg} />`
|
|
11
|
+
* @version-history
|
|
12
|
+
* v1.0.0 — 2026-07-21 — Initial link-preview cards (inbox message threads).
|
|
13
|
+
*/
|
|
14
|
+
import { h } from 'preact';
|
|
15
|
+
import { useState, useEffect } from 'preact/hooks';
|
|
16
|
+
import htm from 'htm';
|
|
17
|
+
const html = htm.bind(h);
|
|
18
|
+
import { t } from '/js/i18n.js';
|
|
19
|
+
import { escHtml } from '/js/utils.js';
|
|
20
|
+
import * as unfurl from '/js/services/unfurl.js';
|
|
21
|
+
|
|
22
|
+
/** Pull up to `max` distinct bare http(s) URLs out of a message body, trimming trailing sentence
|
|
23
|
+
* punctuation (mirrors the Markdown autolink trimming so the card links the same target the text does). */
|
|
24
|
+
export function extractUrls(text, max = 3) {
|
|
25
|
+
const urls = [];
|
|
26
|
+
if (typeof text !== 'string') return urls;
|
|
27
|
+
const re = /(?:^|[\s(<[])(https?:\/\/[^\s<>()[\]]+)/gi;
|
|
28
|
+
let m;
|
|
29
|
+
while ((m = re.exec(text)) !== null && urls.length < max) {
|
|
30
|
+
let u = m[1].replace(/[.,;:!?'"]+$/, '');
|
|
31
|
+
if (u && !urls.includes(u)) urls.push(u);
|
|
32
|
+
}
|
|
33
|
+
return urls;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
// Dismissed cards persist across reloads: a Set of `${messageId}::${url}` keys in localStorage (capped).
|
|
37
|
+
const DISMISS_KEY = 'aimeat.inbox.linkcard.dismissed';
|
|
38
|
+
function loadDismissed() {
|
|
39
|
+
try { return new Set(JSON.parse(localStorage.getItem(DISMISS_KEY) || '[]')); } catch { return new Set(); }
|
|
40
|
+
}
|
|
41
|
+
function saveDismissed(set) {
|
|
42
|
+
try { localStorage.setItem(DISMISS_KEY, JSON.stringify([...set].slice(-500))); } catch { /* quota */ }
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
/** One preview card. Renders nothing while loading, or if the link has no usable metadata. */
|
|
46
|
+
export function LinkPreview({ url, onDismiss }) {
|
|
47
|
+
const [meta, setMeta] = useState(undefined); // undefined = loading, null = nothing to show
|
|
48
|
+
const [imgUrl, setImgUrl] = useState(null);
|
|
49
|
+
|
|
50
|
+
useEffect(() => {
|
|
51
|
+
let alive = true;
|
|
52
|
+
let objectUrl = null;
|
|
53
|
+
setMeta(undefined); setImgUrl(null);
|
|
54
|
+
(async () => {
|
|
55
|
+
const m = await unfurl.fetchPreview(url);
|
|
56
|
+
if (!alive) return;
|
|
57
|
+
// A card with no title/description/image isn't worth showing (avoid an empty box on a bare domain).
|
|
58
|
+
if (!m || (!m.title && !m.description && !m.image)) { setMeta(null); return; }
|
|
59
|
+
setMeta(m);
|
|
60
|
+
if (m.image) {
|
|
61
|
+
objectUrl = await unfurl.fetchPreviewImageUrl(m.image);
|
|
62
|
+
if (!alive) { if (objectUrl) URL.revokeObjectURL(objectUrl); return; }
|
|
63
|
+
if (objectUrl) setImgUrl(objectUrl);
|
|
64
|
+
}
|
|
65
|
+
})();
|
|
66
|
+
return () => { alive = false; if (objectUrl) URL.revokeObjectURL(objectUrl); };
|
|
67
|
+
}, [url]);
|
|
68
|
+
|
|
69
|
+
if (meta === undefined || meta === null) return null;
|
|
70
|
+
return html`
|
|
71
|
+
<div class="inbox-linkcard">
|
|
72
|
+
<a class="inbox-linkcard-main" href=${meta.resolvedUrl || url} target="_blank" rel="noopener noreferrer nofollow">
|
|
73
|
+
${imgUrl ? html`<span class="inbox-linkcard-thumb"><img src=${imgUrl} alt="" loading="lazy" /></span>` : null}
|
|
74
|
+
<span class="inbox-linkcard-text">
|
|
75
|
+
${meta.siteName ? html`<span class="inbox-linkcard-site">${escHtml(meta.siteName)}</span>` : null}
|
|
76
|
+
${meta.title ? html`<span class="inbox-linkcard-title">${escHtml(meta.title)}</span>` : null}
|
|
77
|
+
${meta.description ? html`<span class="inbox-linkcard-desc">${escHtml(meta.description)}</span>` : null}
|
|
78
|
+
</span>
|
|
79
|
+
</a>
|
|
80
|
+
<button class="inbox-linkcard-x" title=${t('inbox.linkPreview.hide')}
|
|
81
|
+
onClick=${() => onDismiss?.(url)}>✕</button>
|
|
82
|
+
</div>`;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
/** All preview cards for one message: a card per non-dismissed URL in its body. */
|
|
86
|
+
export function MessageLinkPreviews({ msg }) {
|
|
87
|
+
const urls = extractUrls(msg?.body || '');
|
|
88
|
+
const [dismissed, setDismissed] = useState(loadDismissed);
|
|
89
|
+
if (urls.length === 0) return null;
|
|
90
|
+
const visible = urls.filter(u => !dismissed.has(`${msg.id}::${u}`));
|
|
91
|
+
if (visible.length === 0) return null;
|
|
92
|
+
const dismiss = (u) => {
|
|
93
|
+
const next = new Set(dismissed);
|
|
94
|
+
next.add(`${msg.id}::${u}`);
|
|
95
|
+
setDismissed(next);
|
|
96
|
+
saveDismissed(next);
|
|
97
|
+
};
|
|
98
|
+
return html`<div class="inbox-linkcards">
|
|
99
|
+
${visible.map(u => html`<${LinkPreview} key=${u} url=${u} onDismiss=${dismiss} />`)}
|
|
100
|
+
</div>`;
|
|
101
|
+
}
|
|
@@ -17,6 +17,8 @@
|
|
|
17
17
|
* same deep-link translation as bell clicks (supports both '#hash' and '?tab=' forms).
|
|
18
18
|
* v1.2.0 — 2026-07-18 — Inline notification actions: reply box (POST /v1/messages) + api buttons
|
|
19
19
|
* (approve/deny/accept/decline/reject) that call the action endpoint with the owner's session.
|
|
20
|
+
* v1.3.0 — 2026-07-19 — "Clear all" in the dropdown head (DELETE /v1/notifications) — deletes every
|
|
21
|
+
* notification for the owner (not just mark-read), optimistic empty + reconcile.
|
|
20
22
|
*/
|
|
21
23
|
import { h } from 'preact';
|
|
22
24
|
import { useState, useEffect, useRef, useCallback } from 'preact/hooks';
|
|
@@ -99,11 +101,23 @@ export function NotificationBell({ t, onNavigate }) {
|
|
|
99
101
|
const [results, setResults] = useState({}); // notifId → { ok, msg }
|
|
100
102
|
const ref = useRef(null);
|
|
101
103
|
|
|
104
|
+
const [clearing, setClearing] = useState(false);
|
|
105
|
+
|
|
102
106
|
const load = useCallback(async () => {
|
|
103
107
|
const r = await api('/v1/notifications');
|
|
104
108
|
if (r && r.data) { setItems(r.data.notifications || []); setUnread(r.data.unread || 0); }
|
|
105
109
|
}, []);
|
|
106
110
|
|
|
111
|
+
// "Clear all" — delete every notification for the owner (not just mark read). Optimistic: empty the
|
|
112
|
+
// list + zero the badge immediately, then reconcile from the server response.
|
|
113
|
+
const clearAll = useCallback(async () => {
|
|
114
|
+
setClearing(true);
|
|
115
|
+
setItems([]); setUnread(0); setReplyFor(null); setResults({});
|
|
116
|
+
await api('/v1/notifications', { method: 'DELETE', body: JSON.stringify({}) });
|
|
117
|
+
setClearing(false);
|
|
118
|
+
load();
|
|
119
|
+
}, [load]);
|
|
120
|
+
|
|
107
121
|
useEffect(() => {
|
|
108
122
|
load();
|
|
109
123
|
return onLiveUpdate(['agent-messages', 'agent-tasks', 'notifications', 'workspace-access'], () => load());
|
|
@@ -215,7 +229,10 @@ export function NotificationBell({ t, onNavigate }) {
|
|
|
215
229
|
</button>
|
|
216
230
|
${open ? html`
|
|
217
231
|
<div class="notif-dropdown">
|
|
218
|
-
<div class="notif-dropdown-head"
|
|
232
|
+
<div class="notif-dropdown-head">
|
|
233
|
+
<span>${tr('notif.title', 'Notifications')}</span>
|
|
234
|
+
${items.length > 0 ? html`<button class="notif-clear-all" disabled=${clearing} onClick=${(e) => { e.stopPropagation(); clearAll(); }}>${clearing ? '…' : tr('notif.clearAll', 'Clear all')}</button>` : null}
|
|
235
|
+
</div>
|
|
219
236
|
${items.length === 0
|
|
220
237
|
? html`<div class="notif-empty">${tr('notif.empty', 'No notifications yet')}</div>`
|
|
221
238
|
: items.map(n => renderItem(n))}
|