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
|
@@ -25,14 +25,14 @@ export const I18N = {
|
|
|
25
25
|
'action.settings': 'Settings',
|
|
26
26
|
'action.help': 'Help',
|
|
27
27
|
'help.title': '❓ How this catalog works',
|
|
28
|
-
'help.modesTitle': '
|
|
29
|
-
'help.modes': '
|
|
28
|
+
'help.modesTitle': 'Creating an app',
|
|
29
|
+
'help.modes': 'Add app lets you paste HTML or upload an HTML/ZIP file (or Generate with AI). It publishes straight to your account as UNLISTED — on the server but not yet public — so you can review it before listing. Nothing is stored only in your browser.',
|
|
30
30
|
'help.whereTitle': 'Where your apps live',
|
|
31
|
-
'help.where': '
|
|
31
|
+
'help.where': 'Every app lives on the server under your account — the catalog is server-only, so nothing is kept in this browser. Your apps follow you to any browser or device automatically.',
|
|
32
32
|
'help.sectionsTitle': 'The two views',
|
|
33
|
-
'help.sections': 'Two tabs. Library = your apps, each as one card whose badge shows its publication state — Listed (
|
|
33
|
+
'help.sections': 'Two tabs. Library = your apps, each as one card whose badge shows its publication state — Listed (public in the catalogue) or Unlisted (on the server but hidden from the catalogue, still usable by you and anyone with the link). A purple Staging pill marks an app that also has an unpublished draft waiting. Community = apps other people have published.',
|
|
34
34
|
'help.backupTitle': '"Backup" means two different things',
|
|
35
|
-
'help.backup': 'The 💾 menu (top bar) exports/imports your SERVER apps + extensions as a .zip
|
|
35
|
+
'help.backup': 'The 💾 menu (top bar) exports/imports your SERVER apps + extensions as a .zip — a full server-side backup you can restore selectively.',
|
|
36
36
|
'help.standaloneTitle': 'Which node this talks to',
|
|
37
37
|
'help.standalone': 'This catalog is served by its node and always talks to that node (same-origin) — the Server URL in Settings is fixed to it. To use your own, open /app-catalog.html on your node: localhost, aimeat-desktop, and federated nodes each serve their OWN catalog.',
|
|
38
38
|
'action.theme': 'Toggle light / dark',
|
|
@@ -67,8 +67,11 @@ export const I18N = {
|
|
|
67
67
|
'sec.parkedBlurb': 'Only you can see and use these — they stay usable but are hidden from the public catalogue. Press Publish to move one back to Published Apps.',
|
|
68
68
|
'sec.recent': '🕒 Recently Opened',
|
|
69
69
|
'sec.local': '📚 Your apps',
|
|
70
|
-
'sec.localNote': 'One card per app. The badge shows its publication state — Listed (
|
|
71
|
-
'sec.localHint': '💡
|
|
70
|
+
'sec.localNote': 'One card per app. The badge shows its publication state — Listed (public in the catalogue) or Unlisted (on the server but hidden from the public catalogue). A purple Staging pill marks an app that also has an unpublished draft.',
|
|
71
|
+
'sec.localHint': '💡 Add app publishes to your account as unlisted — list it when it\'s ready to be public.',
|
|
72
|
+
'fav.title': '⭐ Favourites',
|
|
73
|
+
'fav.add': 'Add to favourites',
|
|
74
|
+
'fav.remove': 'Remove from favourites',
|
|
72
75
|
'stats.apps': 'apps',
|
|
73
76
|
'stats.stored': 'stored',
|
|
74
77
|
'addModal.title': 'Add App',
|
|
@@ -134,6 +137,8 @@ export const I18N = {
|
|
|
134
137
|
'publish.accessCodeHint': '4-64 chars. If set, only people with the code can download.',
|
|
135
138
|
'publish.submit': 'Publish',
|
|
136
139
|
'publish.loginRequired': 'Sign in to publish to AIMEAT. Anonymous publishing is disabled — use the Sign in button in the top bar.',
|
|
140
|
+
'publish.savedUnlisted': 'Saved — your app is on the server as unlisted. Open it and press List when you want it public.',
|
|
141
|
+
'migrate.found': 'You have {n} app(s) saved only in this browser from the old local catalog. The catalog is now server-only, so they no longer appear here. Download them as a JSON backup now? You can re-publish any you still want.',
|
|
137
142
|
'auth.signIn': '❤️ Sign In',
|
|
138
143
|
'auth.loggedIn': 'logged in',
|
|
139
144
|
'auth.logout': 'Logout',
|
|
@@ -155,6 +160,9 @@ export const I18N = {
|
|
|
155
160
|
'pb.promptPreview': 'Prompt preview',
|
|
156
161
|
'pb.addBtn': '➕ Add your app — paste it or upload the file',
|
|
157
162
|
'pb.improving': 'Improving',
|
|
163
|
+
'pb.tier.any': 'ANY MODEL',
|
|
164
|
+
'pb.tier.frontier': 'VERSION TRAP',
|
|
165
|
+
'pb.tier.needs-doc': 'READ THE DOC',
|
|
158
166
|
'pb.copied': 'Copied!',
|
|
159
167
|
'pb.new': 'New App',
|
|
160
168
|
'pb.improve': 'Improve This App',
|
|
@@ -262,6 +270,24 @@ export const I18N = {
|
|
|
262
270
|
'detail.iconLabel': 'Icon (emoji)',
|
|
263
271
|
'detail.tagsLabel': 'Tags (comma separated)',
|
|
264
272
|
'detail.descLabel': 'Description',
|
|
273
|
+
'detail.descEn': 'Description (English)',
|
|
274
|
+
'detail.descFi': 'Description (Finnish)',
|
|
275
|
+
'detail.translateEnFi': 'Translate EN → FI',
|
|
276
|
+
'detail.translateFiEn': 'Translate FI → EN',
|
|
277
|
+
'detail.translating': 'Translating…',
|
|
278
|
+
'detail.trDone': 'Translated',
|
|
279
|
+
'detail.trEmpty': 'The AI returned nothing — try again.',
|
|
280
|
+
'detail.trNeedSource': 'Write the source-language description first.',
|
|
281
|
+
'promote.title': 'Promote',
|
|
282
|
+
'promote.hint': 'Showcase this app on your public profile with a short pitch. Fill English and/or Finnish; visitors see the one matching their language.',
|
|
283
|
+
'promote.en': 'Promotion text (English)',
|
|
284
|
+
'promote.fi': 'Promotion text (Finnish)',
|
|
285
|
+
'promote.save': 'Save promotion',
|
|
286
|
+
'promote.remove': 'Stop promoting',
|
|
287
|
+
'promote.on': 'Promoted',
|
|
288
|
+
'promote.saving': 'Saving…',
|
|
289
|
+
'promote.saved': 'Promoted on your profile.',
|
|
290
|
+
'promote.removed': 'No longer promoted.',
|
|
265
291
|
'detail.renameHint': 'The app link stays the same — only the displayed name and description change.',
|
|
266
292
|
'detail.nameRequired': 'Name cannot be empty.',
|
|
267
293
|
'detail.descRequired': 'Description cannot be empty.',
|
|
@@ -320,6 +346,90 @@ export const I18N = {
|
|
|
320
346
|
'monetize.priceMorsels': 'Price (morsels)',
|
|
321
347
|
'monetize.priceMoney': 'Money price',
|
|
322
348
|
'monetize.currency': 'Currency',
|
|
349
|
+
'monetize.money2': 'Second money price',
|
|
350
|
+
'monetize.currency2': 'Currency',
|
|
351
|
+
'monetize.money2Hint': 'Optional: sell the same call in a second currency. Buyers pick one when they open a contract.',
|
|
352
|
+
'odps.title': 'EXCHANGE & ODPS',
|
|
353
|
+
'odps.hint': 'Whether this app sells anything on the marketplace, and the product description every listing carries. A listed tool is published as an Open Data Product Specification v4.1 document that outside catalogues and buying agents can read.',
|
|
354
|
+
'odps.statusOn': 'On the marketplace: {live} of {total} tools',
|
|
355
|
+
'odps.statusOff': 'Not on the marketplace ({total} tools declared)',
|
|
356
|
+
'odps.statusBlocked': '{n} tool(s) are flagged for EXCHANGE but cannot be listed yet — see the reason on the tool.',
|
|
357
|
+
'odps.noTools': 'This app declares no sellable tools yet. Add one under Monetize to sell a capability on the marketplace.',
|
|
358
|
+
'odps.editDefaults': 'ODPS defaults for this app',
|
|
359
|
+
'odps.close': 'Close',
|
|
360
|
+
'odps.defaultsHint': 'Filled once per app and inherited by every tool it sells. A tool can override any of it.',
|
|
361
|
+
'odps.legalName': 'Legal entity (data holder)',
|
|
362
|
+
'odps.businessId': 'Business ID',
|
|
363
|
+
'odps.holderEmail': 'Contact email',
|
|
364
|
+
'odps.holderUrl': 'Website',
|
|
365
|
+
'odps.country': 'Country',
|
|
366
|
+
'odps.logoUrl': 'Logo URL',
|
|
367
|
+
'odps.brandSlogan': 'Brand slogan',
|
|
368
|
+
'odps.governance': 'Governance profile',
|
|
369
|
+
'odps.priority': 'Portfolio priority',
|
|
370
|
+
'odps.language': 'Language',
|
|
371
|
+
'odps.geoArea': 'Licence area',
|
|
372
|
+
'odps.applicableLaws': 'Applicable law',
|
|
373
|
+
'odps.attestation': 'Provenance (your attestation)',
|
|
374
|
+
'odps.attestationHint': 'Where the material comes from and on what basis you may sell it. These are promises with legal weight, so AI never fills them — you state them.',
|
|
375
|
+
'odps.source': 'Source',
|
|
376
|
+
'odps.legalBasis': 'Legal basis',
|
|
377
|
+
'odps.consentStatus': 'Consent status',
|
|
378
|
+
'odps.retention': 'Retention',
|
|
379
|
+
'odps.saveDefaults': 'Save defaults',
|
|
380
|
+
'odps.defaultsSaved': 'ODPS defaults saved',
|
|
381
|
+
'odps.toolTitle': 'ODPS description',
|
|
382
|
+
'odps.toolHint': 'What a buyer sees before contracting. The node fills price, access, licence rights and measured use by itself.',
|
|
383
|
+
'odps.viewYaml': 'View odps.yaml',
|
|
384
|
+
'odps.productType': 'Product type',
|
|
385
|
+
'odps.valueProposition': 'Value proposition',
|
|
386
|
+
'odps.valuePlaceholder': 'One sentence: what does the buyer get?',
|
|
387
|
+
'odps.categories': 'Categories (comma separated)',
|
|
388
|
+
'odps.standards': 'Standards (comma separated)',
|
|
389
|
+
'odps.useCases': 'Use cases (one per line: title | description | url)',
|
|
390
|
+
'odps.useCasesPlaceholder': 'KYB onboarding | Verify a counterparty before opening an account',
|
|
391
|
+
'odps.contentSample': 'Sample output URL',
|
|
392
|
+
'odps.sla': 'Service commitments (one per line: dimension value unit — description)',
|
|
393
|
+
'odps.slaPlaceholder': 'uptime 99.5 percent — Monthly availability',
|
|
394
|
+
'odps.quality': 'Quality commitments (one per line: dimension value unit — description)',
|
|
395
|
+
'odps.qualityPlaceholder': 'accuracy 99 percentage — Names match the register',
|
|
396
|
+
'odps.toolAttestation': 'Provenance for this capability',
|
|
397
|
+
'odps.toolAttestationHint': 'Only what differs from the app defaults. Left empty, the app-level attestation applies.',
|
|
398
|
+
'odps.inherited': 'inherited from the app',
|
|
399
|
+
'odps.transformations': 'What was done to the raw material',
|
|
400
|
+
'odps.transformationsPlaceholder': 'Normalised names, joined municipality codes, dropped discontinued companies.',
|
|
401
|
+
'odps.suggest': 'Draft with AI',
|
|
402
|
+
'odps.suggesting': 'Drafting…',
|
|
403
|
+
'odps.suggestDone': 'Draft ready — review it before saving',
|
|
404
|
+
'odps.suggestFailed': 'Draft failed',
|
|
405
|
+
'odps.suggestUnparseable': 'The model did not return usable JSON',
|
|
406
|
+
'odps.needLogin': 'Sign in to use your own AI key',
|
|
407
|
+
'odps.aiUnavailable': 'AI is not available here',
|
|
408
|
+
'odps.genSample': "Generate from a real call",
|
|
409
|
+
'odps.genSampleHint': "Runs this capability once as you (free on your own capability), stores the answer as a public file, and puts its URL above. A buyer can then open the sample instead of taking your word for it.",
|
|
410
|
+
'odps.genSampleInput': "{ \"query\": \"Nokia\" } — the input to call with",
|
|
411
|
+
'odps.genSampleRunning': "Calling the capability…",
|
|
412
|
+
'odps.genSampleDone': "Sample stored and linked",
|
|
413
|
+
'odps.genSampleFailed': "The call did not produce a sample",
|
|
414
|
+
'odps.genSampleBadJson': "That input is not valid JSON.",
|
|
415
|
+
'odps.genSampleNoBinding': "This tool has no capability binding to call.",
|
|
416
|
+
'odps.measured': "Measured: {n} calls, median {p50} ms, p95 {p95} ms.",
|
|
417
|
+
'odps.measuredNote': "measured p95 with headroom",
|
|
418
|
+
'odps.useMeasured': "Use measured + 30%",
|
|
419
|
+
'odps.noMeasurement': "No delivery time measured yet. Serve some calls first, then commit to a number you can keep.",
|
|
420
|
+
'odps.inheritedIs': "inherited:",
|
|
421
|
+
'odps.inheritedNone': "no app-level attestation set yet",
|
|
422
|
+
'odps.openAppDefaults': "Edit app-level defaults",
|
|
423
|
+
'odps.blockedSchema': 'Cannot be listed: the tool needs a non-empty input AND output schema.',
|
|
424
|
+
'odps.blockedBinding': 'Cannot be listed: the tool needs a capability binding (action_id).',
|
|
425
|
+
'odps.blockedPrice': 'Cannot be listed: the tool needs a price.',
|
|
426
|
+
'monetize.exchange': 'List in EXCHANGE',
|
|
427
|
+
'monetize.toll': 'Pacing burn per call (morsels)',
|
|
428
|
+
'monetize.tollHint': 'Not a price: morsels burned per call to cap how fast this tool can be consumed. Nobody is credited them, and your own calls are free. Leave empty to use the node default; set 0 to switch pacing off for this tool.',
|
|
429
|
+
'monetize.tollInvalid': 'Pacing burn must be a whole number between 0 and 100.',
|
|
430
|
+
'monetize.exchangeHint': 'On: this tool is offered publicly on the marketplace and its listing follows the price you set here. Off: it is removed from the marketplace. Contracts already agreed are unaffected.',
|
|
431
|
+
'monetize.exchangeOn': 'in EXCHANGE',
|
|
432
|
+
'monetize.exchangeNeedsSchema': 'To list in EXCHANGE the tool needs an input and output schema plus a capability binding. Publish those first (MCP: aimeat_app_tools_publish).',
|
|
323
433
|
'monetize.actionId': 'Capability binding (action id)',
|
|
324
434
|
'monetize.actionIdHint': 'Optional. A capability id (e.g. ext:my-extension:summarize) invoked instantly on purchase. Leave empty to fulfill as an agent task instead.',
|
|
325
435
|
'monetize.agent': 'Fulfilling agent',
|
|
@@ -336,6 +446,20 @@ export const I18N = {
|
|
|
336
446
|
'monetize.saved': 'Tool manifest saved.',
|
|
337
447
|
'monetize.saveFailed': 'Saving the tool manifest failed',
|
|
338
448
|
'monetize.needLogin': 'Sign in to edit the tool manifest.',
|
|
449
|
+
'cost.title': '📊 Cost & contracts — what this app sources',
|
|
450
|
+
'cost.hint': 'This app’s EXCHANGE contracts: durable metered entitlements it calls, with live spend against each budget and the platform rake. The per-call price comes from the provider; you set only the budget cap.',
|
|
451
|
+
'cost.empty': 'No EXCHANGE contracts yet — this app sources nothing priced.',
|
|
452
|
+
'cost.summary': '{n} contract(s) · {spent} morsels spent · {calls} call(s)',
|
|
453
|
+
'cost.capabilityCol': 'Capability',
|
|
454
|
+
'cost.providerCol': 'Provider',
|
|
455
|
+
'cost.priceCol': 'Price / call',
|
|
456
|
+
'cost.rakeCol': 'Rake',
|
|
457
|
+
'cost.budgetCol': 'Budget (spent / cap)',
|
|
458
|
+
'cost.stateCol': 'State',
|
|
459
|
+
'cost.uncapped': 'uncapped',
|
|
460
|
+
'cost.remaining': '{n} left',
|
|
461
|
+
'cost.needLogin': 'Sign in to view this app’s cost & contracts.',
|
|
462
|
+
'cost.loadFailed': 'Could not load cost & contracts',
|
|
339
463
|
'detail.editAccess': 'Access code',
|
|
340
464
|
'detail.accessCodeHint': 'Set or remove an optional code required to open this app.',
|
|
341
465
|
'detail.accessCodeLabel': 'Access code',
|
|
@@ -347,7 +471,7 @@ export const I18N = {
|
|
|
347
471
|
'detail.accessCodeCleared': 'Access code removed — this app is public again.',
|
|
348
472
|
'detail.needServerVersions': 'Set the AIMEAT server URL in Settings to see published versions.',
|
|
349
473
|
'detail.editAi': '✨ Edit with AI',
|
|
350
|
-
'detail.editAiHint': 'Describe a change. The AI rewrites the app
|
|
474
|
+
'detail.editAiHint': 'Describe a change. The AI rewrites the app with your own OpenRouter key and proposes it — nothing changes until you save it to your working copy.',
|
|
351
475
|
'detail.editAiPh': 'e.g. add a dark mode toggle in the top-right corner',
|
|
352
476
|
'detail.run': '✨ Generate change',
|
|
353
477
|
'detail.running': 'Generating…',
|
|
@@ -356,7 +480,7 @@ export const I18N = {
|
|
|
356
480
|
'detail.publishTested': '🚀 Publish tested version',
|
|
357
481
|
'detail.keep': '✔ Keep draft',
|
|
358
482
|
'detail.discard': '✕ Discard',
|
|
359
|
-
'detail.draftReady': '
|
|
483
|
+
'detail.draftReady': 'AI proposal ready — nothing is saved yet.',
|
|
360
484
|
'detail.draftUploading': 'Preparing your test version…',
|
|
361
485
|
'detail.draftOpened': 'Draft opened in a new tab — it runs just like the published app. Your live app is unchanged.',
|
|
362
486
|
'detail.draftNeedsPublished': 'Publish this app first, then you can test edits before they go live.',
|
|
@@ -364,6 +488,57 @@ export const I18N = {
|
|
|
364
488
|
'detail.draftPublishConfirm': 'Publish the tested draft as the new live version?',
|
|
365
489
|
'detail.draftPublished': '✔ Published as v{v}. It is now the live app.',
|
|
366
490
|
'detail.kept': 'Draft kept as your local copy.',
|
|
491
|
+
// ── Working copy → published (TARGET-048). One vocabulary for the whole edit loop: the
|
|
492
|
+
// word "draft" is deliberately gone — it used to mean three different things here. ──
|
|
493
|
+
'wc.lifecycle': 'Where your work is',
|
|
494
|
+
'wc.title': 'Working copy',
|
|
495
|
+
'wc.published': 'Published',
|
|
496
|
+
'wc.privateNote': 'only you can see it',
|
|
497
|
+
'wc.visibleToOthers': 'everyone can see it',
|
|
498
|
+
'wc.notVisibleYet': 'nobody can see it yet',
|
|
499
|
+
'wc.notPublishedYet': 'not published',
|
|
500
|
+
'wc.sameAsPublished': 'same as published',
|
|
501
|
+
'wc.nothingYet': 'nothing saved yet',
|
|
502
|
+
'wc.savedAt': 'saved {t}',
|
|
503
|
+
'wc.savedEarlier': 'saved earlier',
|
|
504
|
+
'wc.pending': 'AI proposal waiting',
|
|
505
|
+
'wc.explainPending': 'The AI wrote a change but nothing is saved yet. Save it to your working copy — you can always get back to where you are now.',
|
|
506
|
+
'wc.explainSaved': 'You have a saved working copy that nobody else can see. Publish it as v{v} when it is ready.',
|
|
507
|
+
'wc.explainSavedUnpublished': 'You have a saved working copy. Publish it when it is ready.',
|
|
508
|
+
'wc.explainClean': 'Your working copy matches the published app. Edit it below — every save keeps the previous state, so nothing gets lost.',
|
|
509
|
+
'wc.explainUnpublished': 'This app is not published yet. Publish it to give it a version other people can open.',
|
|
510
|
+
'wc.save': '💾 Save to working copy',
|
|
511
|
+
'wc.saving': 'Saving…',
|
|
512
|
+
'wc.saved': 'Saved to your working copy — it survives a reload and stays private until you publish.',
|
|
513
|
+
'wc.savedShort': 'Saved!',
|
|
514
|
+
'wc.saveFailed': 'Could not save',
|
|
515
|
+
'wc.keptLocalOnly': 'Kept in this tab only — publish the app first to get a working copy that lasts.',
|
|
516
|
+
'wc.try': '▶ Try it safely',
|
|
517
|
+
'wc.tryLocal': '▶ Quick preview',
|
|
518
|
+
'wc.publishAs': '🚀 Publish as v{v}',
|
|
519
|
+
'wc.publishNew': '🚀 Publish as a new version',
|
|
520
|
+
'wc.discardProposal': '✕ Discard proposal',
|
|
521
|
+
'wc.discardWork': '✕ Discard working copy',
|
|
522
|
+
'wc.confirmDiscardWork': 'Throw away your saved working copy and go back to the published app?',
|
|
523
|
+
'wc.discardedWork': 'Working copy discarded — you are back on the published app.',
|
|
524
|
+
'wc.verbsHint': 'Save keeps it for you only. Try opens it on its real address without changing the live app. Publish is what other people see.',
|
|
525
|
+
'wc.history': 'Working-copy history',
|
|
526
|
+
'wc.historyHint': 'Every save leaves a checkpoint here, so you can always go back. These are private to you — the published versions below are the ones other people see.',
|
|
527
|
+
'wc.none': 'No checkpoints yet — your first save creates one.',
|
|
528
|
+
'wc.before': 'before: {note}',
|
|
529
|
+
'wc.beforeUnnamed': 'before an edit',
|
|
530
|
+
'wc.preview': 'Preview',
|
|
531
|
+
'wc.restore': 'Restore',
|
|
532
|
+
'wc.delete': 'Delete',
|
|
533
|
+
'wc.previewTitle': 'checkpoint preview',
|
|
534
|
+
'wc.confirmRestore': 'Restore this checkpoint into your working copy? The current working copy is checkpointed first, so you can undo this.',
|
|
535
|
+
'wc.confirmDelete': 'Delete this checkpoint permanently?',
|
|
536
|
+
'wc.restored': 'Restored into your working copy. The published app is unchanged.',
|
|
537
|
+
'wc.gone': 'That checkpoint is no longer stored.',
|
|
538
|
+
'wc.loginNeeded': 'Sign in to save a working copy.',
|
|
539
|
+
'wc.noteManual': 'manual source edit',
|
|
540
|
+
'wc.noteRestore': 'restored an earlier checkpoint',
|
|
541
|
+
'versions.publishedHint': 'Published versions — these are what other people see.',
|
|
367
542
|
'detail.discarded': 'Draft discarded.',
|
|
368
543
|
'detail.aiUnavailable': 'AI editing needs an OpenRouter key. Add one in AIMEAT settings, then reload.',
|
|
369
544
|
'detail.aiLoginNeeded': 'Sign in to your AIMEAT node to use AI editing.',
|
|
@@ -432,7 +607,7 @@ export const I18N = {
|
|
|
432
607
|
'tag.favorites': '⭐ Favorites',
|
|
433
608
|
'empty.noApps': 'No apps yet',
|
|
434
609
|
'empty.noAppsDesc': 'Add your first app using the + button above',
|
|
435
|
-
'empty.formats': 'Supports: HTML files
|
|
610
|
+
'empty.formats': 'Supports: HTML files and ZIP packages',
|
|
436
611
|
'empty.noMatch': 'No matches',
|
|
437
612
|
'empty.noMatchDesc': 'No apps match the current filter. Try a different search term or tag.'
|
|
438
613
|
},
|
|
@@ -455,14 +630,14 @@ export const I18N = {
|
|
|
455
630
|
'action.settings': 'Asetukset',
|
|
456
631
|
'action.help': 'Ohje',
|
|
457
632
|
'help.title': '❓ Miten tämä katalogi toimii',
|
|
458
|
-
'help.modesTitle': '
|
|
459
|
-
'help.modes': '
|
|
633
|
+
'help.modesTitle': 'Sovelluksen luominen',
|
|
634
|
+
'help.modes': 'Lisää sovellus antaa liittää HTML:ää tai ladata HTML/ZIP-tiedoston (tai luoda sen tekoälyllä). Se julkaistaan suoraan tilillesi EI LISTALLA — palvelimelle mutta ei vielä julkiseksi — joten voit tarkistaa sen ennen listaamista. Mitään ei tallenneta vain selaimeesi.',
|
|
460
635
|
'help.whereTitle': 'Missä appisi asuvat',
|
|
461
|
-
'help.where': '
|
|
636
|
+
'help.where': 'Jokainen sovellus sijaitsee palvelimella tililläsi — katalogi on vain palvelinpohjainen, joten mitään ei säilytetä tässä selaimessa. Sovelluksesi seuraavat sinua mihin tahansa selaimeen tai laitteeseen automaattisesti.',
|
|
462
637
|
'help.sectionsTitle': 'Kaksi näkymää',
|
|
463
|
-
'help.sections': 'Kaksi välilehteä. Kirjasto = sinun appisi, jokainen yhtenä korttina jonka merkki kertoo julkaisutilan — Listalla (
|
|
638
|
+
'help.sections': 'Kaksi välilehteä. Kirjasto = sinun appisi, jokainen yhtenä korttina jonka merkki kertoo julkaisutilan — Listalla (näkyy julkisessa katalogissa) tai Ei listalla (palvelimella mutta piilossa katalogista, sinä ja kuka tahansa linkillä voitte yhä käyttää). Violetti Staging-merkki kertoo että apilla on myös julkaisematon luonnos odottamassa. Yhteisö = muiden julkaisemat appit.',
|
|
464
639
|
'help.backupTitle': '"Varmuuskopio" tarkoittaa kahta eri asiaa',
|
|
465
|
-
'help.backup': '💾-valikko (yläpalkki) vie/tuo PALVELIN-appisi + laajennukset .zip-tiedostona
|
|
640
|
+
'help.backup': '💾-valikko (yläpalkki) vie/tuo PALVELIN-appisi + laajennukset .zip-tiedostona — täysi palvelinpuolen varmuuskopio, jonka voit palauttaa valikoiden.',
|
|
466
641
|
'help.standaloneTitle': 'Mille nodelle tämä puhuu',
|
|
467
642
|
'help.standalone': 'Tämän katalogin tarjoilee sen node, ja se puhuu aina sille nodelle (same-origin) — Asetusten Palvelin-URL on kiinnitetty siihen. Käyttääksesi omaa: avaa /app-catalog.html omalla nodellasi. localhost, aimeat-desktop ja federoidut nodet tarjoilevat kukin OMAN kataloginsa.',
|
|
468
643
|
'action.theme': 'Vaihda vaalea / tumma',
|
|
@@ -497,8 +672,11 @@ export const I18N = {
|
|
|
497
672
|
'sec.parkedBlurb': 'Vain sinä näet ja voit käyttää näitä — ne pysyvät käytettävissä mutta eivät näy julkisessa katalogissa. Paina Julkaise siirtääksesi takaisin julkaistuihin.',
|
|
498
673
|
'sec.recent': '🕒 Viimeksi avatut',
|
|
499
674
|
'sec.local': '📚 Sinun sovelluksesi',
|
|
500
|
-
'sec.localNote': 'Yksi kortti per sovellus. Merkki kertoo julkaisutilan — Listalla (
|
|
501
|
-
'sec.localHint': '💡
|
|
675
|
+
'sec.localNote': 'Yksi kortti per sovellus. Merkki kertoo julkaisutilan — Listalla (näkyy julkisessa katalogissa) tai Ei listalla (palvelimella mutta piilossa julkisesta katalogista). Violetti Staging-merkki kertoo että apilla on myös julkaisematon luonnos.',
|
|
676
|
+
'sec.localHint': '💡 Lisää sovellus julkaisee tilillesi ei-listalla — listaa se kun se on valmis julkiseksi.',
|
|
677
|
+
'fav.title': '⭐ Suosikit',
|
|
678
|
+
'fav.add': 'Lisää suosikkeihin',
|
|
679
|
+
'fav.remove': 'Poista suosikeista',
|
|
502
680
|
'stats.apps': 'sovellusta',
|
|
503
681
|
'stats.stored': 'tallennettu',
|
|
504
682
|
'addModal.title': 'Lisää sovellus',
|
|
@@ -564,6 +742,8 @@ export const I18N = {
|
|
|
564
742
|
'publish.accessCodeHint': '4–64 merkkiä. Jos asetettu, vain koodin tietävät voivat ladata.',
|
|
565
743
|
'publish.submit': 'Julkaise',
|
|
566
744
|
'publish.loginRequired': 'Kirjaudu sisään julkaistaksesi AIMEATiin. Anonyymi julkaisu on poistettu käytöstä — käytä yläpalkin Kirjaudu-painiketta.',
|
|
745
|
+
'publish.savedUnlisted': 'Tallennettu — sovelluksesi on palvelimella ei-listalla. Avaa se ja paina Listaa kun haluat sen julkiseksi.',
|
|
746
|
+
'migrate.found': 'Sinulla on {n} sovellus(ta) tallennettuna vain tähän selaimeen vanhasta paikallisesta katalogista. Katalogi on nyt vain palvelinpohjainen, joten ne eivät enää näy täällä. Ladataanko ne nyt JSON-varmuuskopiona? Voit julkaista uudelleen ne jotka haluat säilyttää.',
|
|
567
747
|
'auth.signIn': '❤️ Kirjaudu',
|
|
568
748
|
'auth.loggedIn': 'kirjautunut',
|
|
569
749
|
'auth.logout': 'Kirjaudu ulos',
|
|
@@ -585,6 +765,9 @@ export const I18N = {
|
|
|
585
765
|
'pb.promptPreview': 'Promptin esikatselu',
|
|
586
766
|
'pb.addBtn': '➕ Lisää sovelluksesi — liitä se tai lataa tiedosto',
|
|
587
767
|
'pb.improving': 'Parannetaan',
|
|
768
|
+
'pb.tier.any': 'KAIKILLE MALLEILLE',
|
|
769
|
+
'pb.tier.frontier': 'VERSIOANSA',
|
|
770
|
+
'pb.tier.needs-doc': 'LUE DOKUMENTTI',
|
|
588
771
|
'pb.copied': 'Kopioitu!',
|
|
589
772
|
'pb.new': 'Uusi sovellus',
|
|
590
773
|
'pb.improve': 'Paranna tätä sovellusta',
|
|
@@ -692,6 +875,24 @@ export const I18N = {
|
|
|
692
875
|
'detail.iconLabel': 'Kuvake (emoji)',
|
|
693
876
|
'detail.tagsLabel': 'Tunnisteet (pilkulla eroteltuna)',
|
|
694
877
|
'detail.descLabel': 'Kuvaus',
|
|
878
|
+
'detail.descEn': 'Kuvaus (englanti)',
|
|
879
|
+
'detail.descFi': 'Kuvaus (suomi)',
|
|
880
|
+
'detail.translateEnFi': 'Käännä EN → FI',
|
|
881
|
+
'detail.translateFiEn': 'Käännä FI → EN',
|
|
882
|
+
'detail.translating': 'Käännetään…',
|
|
883
|
+
'detail.trDone': 'Käännetty',
|
|
884
|
+
'detail.trEmpty': 'Tekoäly ei palauttanut mitään — yritä uudelleen.',
|
|
885
|
+
'detail.trNeedSource': 'Kirjoita ensin lähdekielinen kuvaus.',
|
|
886
|
+
'promote.title': 'Nosto',
|
|
887
|
+
'promote.hint': 'Nosta tämä sovellus julkiseen profiiliisi lyhyellä myyntipuheella. Täytä englanti ja/tai suomi; vierailijat näkevät kieltään vastaavan.',
|
|
888
|
+
'promote.en': 'Nostoteksti (englanti)',
|
|
889
|
+
'promote.fi': 'Nostoteksti (suomi)',
|
|
890
|
+
'promote.save': 'Tallenna nosto',
|
|
891
|
+
'promote.remove': 'Lopeta nostaminen',
|
|
892
|
+
'promote.on': 'Nostettu',
|
|
893
|
+
'promote.saving': 'Tallennetaan…',
|
|
894
|
+
'promote.saved': 'Nostettu profiiliisi.',
|
|
895
|
+
'promote.removed': 'Ei enää nostettu.',
|
|
695
896
|
'detail.renameHint': 'Sovelluksen linkki pysyy samana — vain näytettävä nimi ja kuvaus muuttuvat.',
|
|
696
897
|
'detail.nameRequired': 'Nimi ei voi olla tyhjä.',
|
|
697
898
|
'detail.descRequired': 'Kuvaus ei voi olla tyhjä.',
|
|
@@ -748,6 +949,90 @@ export const I18N = {
|
|
|
748
949
|
'monetize.priceMorsels': 'Hinta (morselit)',
|
|
749
950
|
'monetize.priceMoney': 'Rahahinta',
|
|
750
951
|
'monetize.currency': 'Valuutta',
|
|
952
|
+
'monetize.money2': 'Toinen rahahinta',
|
|
953
|
+
'monetize.currency2': 'Valuutta',
|
|
954
|
+
'monetize.money2Hint': 'Valinnainen: myy sama kutsu toisessa valuutassa. Ostaja valitsee valuutan sopimusta avatessaan.',
|
|
955
|
+
'odps.title': 'EXCHANGE ja ODPS',
|
|
956
|
+
'odps.hint': 'Myykö tämä appi jotain markkinalla, ja mikä tuotekuvaus jokaisen listauksen mukana kulkee. Listattu työkalu julkaistaan Open Data Product Specification v4.1 -dokumenttina, jota ulkoiset katalogit ja ostavat agentit osaavat lukea.',
|
|
957
|
+
'odps.statusOn': 'Markkinalla: {live} / {total} työkalua',
|
|
958
|
+
'odps.statusOff': 'Ei markkinalla ({total} työkalua määritelty)',
|
|
959
|
+
'odps.statusBlocked': '{n} työkalua on merkitty EXCHANGEen mutta ei vielä listaudu — syy näkyy työkalun kohdalla.',
|
|
960
|
+
'odps.noTools': 'Tällä apilla ei ole vielä myytäviä työkaluja. Lisää työkalu Monetize-osiossa, niin voit myydä kyvykkyyden markkinalla.',
|
|
961
|
+
'odps.editDefaults': 'Appin ODPS-oletukset',
|
|
962
|
+
'odps.close': 'Sulje',
|
|
963
|
+
'odps.defaultsHint': 'Täytetään kerran appille ja periytyy jokaiselle sen myymälle työkalulle. Työkalu voi ylikirjoittaa minkä tahansa niistä.',
|
|
964
|
+
'odps.legalName': 'Juridinen yhtiö (datan haltija)',
|
|
965
|
+
'odps.businessId': 'Y-tunnus',
|
|
966
|
+
'odps.holderEmail': 'Yhteyssähköposti',
|
|
967
|
+
'odps.holderUrl': 'Verkkosivu',
|
|
968
|
+
'odps.country': 'Maa',
|
|
969
|
+
'odps.logoUrl': 'Logon URL',
|
|
970
|
+
'odps.brandSlogan': 'Brändislogan',
|
|
971
|
+
'odps.governance': 'Hallintaprofiili',
|
|
972
|
+
'odps.priority': 'Portfolioprioriteetti',
|
|
973
|
+
'odps.language': 'Kieli',
|
|
974
|
+
'odps.geoArea': 'Lisenssialue',
|
|
975
|
+
'odps.applicableLaws': 'Sovellettava laki',
|
|
976
|
+
'odps.attestation': 'Provenienssi (sinun vakuutuksesi)',
|
|
977
|
+
'odps.attestationHint': 'Mistä aineisto tulee ja millä perusteella saat myydä sitä. Nämä ovat lupauksia joilla on oikeudellinen paino, joten tekoäly ei täytä niitä koskaan — sinä ilmoitat ne.',
|
|
978
|
+
'odps.source': 'Lähde',
|
|
979
|
+
'odps.legalBasis': 'Oikeusperuste',
|
|
980
|
+
'odps.consentStatus': 'Suostumuksen tila',
|
|
981
|
+
'odps.retention': 'Säilytysaika',
|
|
982
|
+
'odps.saveDefaults': 'Tallenna oletukset',
|
|
983
|
+
'odps.defaultsSaved': 'ODPS-oletukset tallennettu',
|
|
984
|
+
'odps.toolTitle': 'ODPS-kuvaus',
|
|
985
|
+
'odps.toolHint': 'Se mitä ostaja näkee ennen sopimusta. Hinnan, pääsyn, lisenssioikeudet ja mitatun käytön node täyttää itse.',
|
|
986
|
+
'odps.viewYaml': 'Näytä odps.yaml',
|
|
987
|
+
'odps.productType': 'Tuotetyyppi',
|
|
988
|
+
'odps.valueProposition': 'Arvolupaus',
|
|
989
|
+
'odps.valuePlaceholder': 'Yksi lause: mitä ostaja saa?',
|
|
990
|
+
'odps.categories': 'Kategoriat (pilkulla eroteltuna)',
|
|
991
|
+
'odps.standards': 'Standardit (pilkulla eroteltuna)',
|
|
992
|
+
'odps.useCases': 'Käyttötapaukset (yksi riviä kohti: otsikko | kuvaus | url)',
|
|
993
|
+
'odps.useCasesPlaceholder': 'KYB-onboarding | Varmenna vastapuoli ennen tilin avaamista',
|
|
994
|
+
'odps.contentSample': 'Näytetulosteen URL',
|
|
995
|
+
'odps.sla': 'Palvelulupaukset (yksi riviä kohti: ulottuvuus arvo yksikkö — kuvaus)',
|
|
996
|
+
'odps.slaPlaceholder': 'uptime 99.5 percent — Kuukausittainen saatavuus',
|
|
997
|
+
'odps.quality': 'Laatulupaukset (yksi riviä kohti: ulottuvuus arvo yksikkö — kuvaus)',
|
|
998
|
+
'odps.qualityPlaceholder': 'accuracy 99 percentage — Nimet täsmäävät rekisteriin',
|
|
999
|
+
'odps.toolAttestation': 'Tämän kyvykkyyden provenienssi',
|
|
1000
|
+
'odps.toolAttestationHint': 'Vain se mikä poikkeaa appin oletuksista. Tyhjänä appitason vakuutus pätee.',
|
|
1001
|
+
'odps.inherited': 'peritään apilta',
|
|
1002
|
+
'odps.transformations': 'Mitä raaka-aineelle tehtiin',
|
|
1003
|
+
'odps.transformationsPlaceholder': 'Nimet normalisoitu, kuntakoodit liitetty, lakanneet yritykset poistettu.',
|
|
1004
|
+
'odps.suggest': 'Luonnostele tekoälyllä',
|
|
1005
|
+
'odps.suggesting': 'Luonnostellaan…',
|
|
1006
|
+
'odps.suggestDone': 'Luonnos valmis — tarkista ennen tallennusta',
|
|
1007
|
+
'odps.suggestFailed': 'Luonnostelu epäonnistui',
|
|
1008
|
+
'odps.suggestUnparseable': 'Malli ei palauttanut käyttökelpoista JSONia',
|
|
1009
|
+
'odps.needLogin': 'Kirjaudu sisään käyttääksesi omaa AI-avaintasi',
|
|
1010
|
+
'odps.aiUnavailable': 'Tekoäly ei ole käytettävissä täällä',
|
|
1011
|
+
'odps.genSample': "Luo oikeasta kutsusta",
|
|
1012
|
+
'odps.genSampleHint': "Ajaa tämän kyvykkyyden kerran sinuna (oma kyvykkyys on maksuton), tallentaa vastauksen julkiseksi tiedostoksi ja asettaa sen osoitteen yllä olevaan kenttään. Ostaja voi silloin avata näytteen sen sijaan että uskoisi sanaasi.",
|
|
1013
|
+
'odps.genSampleInput': "{ \"query\": \"Nokia\" } — syöte jolla kutsutaan",
|
|
1014
|
+
'odps.genSampleRunning': "Kutsutaan kyvykkyyttä…",
|
|
1015
|
+
'odps.genSampleDone': "Näyte tallennettu ja linkitetty",
|
|
1016
|
+
'odps.genSampleFailed': "Kutsu ei tuottanut näytettä",
|
|
1017
|
+
'odps.genSampleBadJson': "Syöte ei ole kelvollista JSONia.",
|
|
1018
|
+
'odps.genSampleNoBinding': "Tällä työkalulla ei ole kyvykkyyssidontaa jota kutsua.",
|
|
1019
|
+
'odps.measured': "Mitattu: {n} kutsua, mediaani {p50} ms, p95 {p95} ms.",
|
|
1020
|
+
'odps.measuredNote': "mitattu p95 pelivaralla",
|
|
1021
|
+
'odps.useMeasured': "Käytä mitattua + 30 %",
|
|
1022
|
+
'odps.noMeasurement': "Toimitusaikaa ei ole vielä mitattu. Palvele ensin kutsuja, sitoudu vasta sitten lukuun jonka pystyt pitämään.",
|
|
1023
|
+
'odps.inheritedIs': "peritään:",
|
|
1024
|
+
'odps.inheritedNone': "appitason vakuutusta ei ole vielä asetettu",
|
|
1025
|
+
'odps.openAppDefaults': "Muokkaa appitason oletuksia",
|
|
1026
|
+
'odps.blockedSchema': 'Ei listaudu: työkalu tarvitsee ei-tyhjän syöte- JA tulosskeeman.',
|
|
1027
|
+
'odps.blockedBinding': 'Ei listaudu: työkalu tarvitsee kyvykkyyssidonnan (action_id).',
|
|
1028
|
+
'odps.blockedPrice': 'Ei listaudu: työkalu tarvitsee hinnan.',
|
|
1029
|
+
'monetize.exchange': 'Listaa EXCHANGEssa',
|
|
1030
|
+
'monetize.toll': 'Tahdistuspoltto per kutsu (morselia)',
|
|
1031
|
+
'monetize.tollHint': 'Ei hinta: morselit jotka palavat jokaisella kutsulla ja rajaavat kuinka nopeasti työkalua voi kuluttaa. Niitä ei hyvitetä kenellekään, ja omat kutsusi ovat ilmaisia. Jätä tyhjäksi niin noden oletus pätee; 0 poistaa tahdistuksen tästä työkalusta.',
|
|
1032
|
+
'monetize.tollInvalid': 'Tahdistuspoltto on kokonaisluku väliltä 0-100.',
|
|
1033
|
+
'monetize.exchangeHint': 'Päällä: työkalu on julkisesti markkinalla ja listaus seuraa tässä asetettua hintaa. Pois: se poistuu markkinalta. Jo sovitut sopimukset eivät muutu.',
|
|
1034
|
+
'monetize.exchangeOn': 'EXCHANGEssa',
|
|
1035
|
+
'monetize.exchangeNeedsSchema': 'EXCHANGE-listaus vaatii työkalulta syöte- ja tulosskeeman sekä kyvykkyyssidonnan. Julkaise ne ensin (MCP: aimeat_app_tools_publish).',
|
|
751
1036
|
'monetize.actionId': 'Kyvykkyyssidonta (action id)',
|
|
752
1037
|
'monetize.actionIdHint': 'Valinnainen. Kyvykkyyden id (esim. ext:oma-laajennus:summarize), joka ajetaan heti oston yhteydessä. Jätä tyhjäksi, jos haluat toimittaa agenttitehtävänä.',
|
|
753
1038
|
'monetize.agent': 'Toimittava agentti',
|
|
@@ -764,6 +1049,20 @@ export const I18N = {
|
|
|
764
1049
|
'monetize.saved': 'Työkalumanifesti tallennettu.',
|
|
765
1050
|
'monetize.saveFailed': 'Työkalumanifestin tallennus epäonnistui',
|
|
766
1051
|
'monetize.needLogin': 'Kirjaudu sisään muokataksesi työkalumanifestia.',
|
|
1052
|
+
'cost.title': '📊 Kulut & sopimukset — mitä tämä appi hankkii',
|
|
1053
|
+
'cost.hint': 'Tämän appin EXCHANGE-sopimukset: pysyvät mitatut käyttöoikeudet joita se kutsuu, live-kulutus kutakin budjettia vasten ja alustan siivu. Kutsukohtainen hinta tulee tarjoajalta; sinä asetat vain budjettikaton.',
|
|
1054
|
+
'cost.empty': 'Ei vielä EXCHANGE-sopimuksia — tämä appi ei hanki mitään hinnoiteltua.',
|
|
1055
|
+
'cost.summary': '{n} sopimus(ta) · {spent} morselia käytetty · {calls} kutsu(a)',
|
|
1056
|
+
'cost.capabilityCol': 'Kyvykkyys',
|
|
1057
|
+
'cost.providerCol': 'Tarjoaja',
|
|
1058
|
+
'cost.priceCol': 'Hinta / kutsu',
|
|
1059
|
+
'cost.rakeCol': 'Siivu',
|
|
1060
|
+
'cost.budgetCol': 'Budjetti (käytetty / katto)',
|
|
1061
|
+
'cost.stateCol': 'Tila',
|
|
1062
|
+
'cost.uncapped': 'ei kattoa',
|
|
1063
|
+
'cost.remaining': '{n} jäljellä',
|
|
1064
|
+
'cost.needLogin': 'Kirjaudu sisään nähdäksesi tämän appin kulut & sopimukset.',
|
|
1065
|
+
'cost.loadFailed': 'Kulujen & sopimusten lataus epäonnistui',
|
|
767
1066
|
'detail.skillDetach': 'Irrota',
|
|
768
1067
|
'detail.skillAttachError': 'Taidon liittäminen epäonnistui',
|
|
769
1068
|
'detail.editAccess': 'Pääsykoodi',
|
|
@@ -786,7 +1085,7 @@ export const I18N = {
|
|
|
786
1085
|
'detail.publishTested': '🚀 Julkaise testattu versio',
|
|
787
1086
|
'detail.keep': '✔ Säilytä luonnos',
|
|
788
1087
|
'detail.discard': '✕ Hylkää',
|
|
789
|
-
'detail.draftReady': '
|
|
1088
|
+
'detail.draftReady': 'AI-ehdotus valmis — mitään ei ole vielä tallennettu.',
|
|
790
1089
|
'detail.draftUploading': 'Valmistellaan testiversiota…',
|
|
791
1090
|
'detail.draftOpened': 'Luonnos avattu uuteen välilehteen — toimii kuten julkaistu appi. Live-appi pysyy ennallaan.',
|
|
792
1091
|
'detail.draftNeedsPublished': 'Julkaise appi ensin, niin voit testata muutoksia ennen kuin ne menevät liveksi.',
|
|
@@ -794,6 +1093,57 @@ export const I18N = {
|
|
|
794
1093
|
'detail.draftPublishConfirm': 'Julkaistaanko testattu luonnos uutena live-versiona?',
|
|
795
1094
|
'detail.draftPublished': '✔ Julkaistu versiona v{v}. Se on nyt live-appi.',
|
|
796
1095
|
'detail.kept': 'Luonnos säilytetty paikallisena kopiona.',
|
|
1096
|
+
// ── Työkopio → julkaistu (TARGET-048). Yksi sanasto koko muokkaussilmukalle: sana
|
|
1097
|
+
// "luonnos" on tarkoituksella poissa — se tarkoitti täällä kolmea eri asiaa. ──
|
|
1098
|
+
'wc.lifecycle': 'Missä työsi on',
|
|
1099
|
+
'wc.title': 'Työkopio',
|
|
1100
|
+
'wc.published': 'Julkaistu',
|
|
1101
|
+
'wc.privateNote': 'vain sinä näet',
|
|
1102
|
+
'wc.visibleToOthers': 'kaikki näkevät',
|
|
1103
|
+
'wc.notVisibleYet': 'kukaan ei näe vielä',
|
|
1104
|
+
'wc.notPublishedYet': 'ei julkaistu',
|
|
1105
|
+
'wc.sameAsPublished': 'sama kuin julkaistu',
|
|
1106
|
+
'wc.nothingYet': 'ei vielä tallennettu',
|
|
1107
|
+
'wc.savedAt': 'tallennettu {t}',
|
|
1108
|
+
'wc.savedEarlier': 'tallennettu aiemmin',
|
|
1109
|
+
'wc.pending': 'AI-ehdotus odottaa',
|
|
1110
|
+
'wc.explainPending': 'Tekoäly kirjoitti muutoksen, mutta mitään ei ole vielä tallennettu. Tallenna se työkopioon — pääset aina takaisin nykyiseen tilaan.',
|
|
1111
|
+
'wc.explainSaved': 'Sinulla on tallennettu työkopio, jota kukaan muu ei näe. Julkaise se versiona v{v}, kun se on valmis.',
|
|
1112
|
+
'wc.explainSavedUnpublished': 'Sinulla on tallennettu työkopio. Julkaise se, kun se on valmis.',
|
|
1113
|
+
'wc.explainClean': 'Työkopiosi on sama kuin julkaistu appi. Muokkaa alla — jokainen tallennus säilyttää edellisen tilan, joten mikään ei katoa.',
|
|
1114
|
+
'wc.explainUnpublished': 'Tätä appia ei ole vielä julkaistu. Julkaise se, niin sillä on versio jonka muut voivat avata.',
|
|
1115
|
+
'wc.save': '💾 Tallenna työkopioon',
|
|
1116
|
+
'wc.saving': 'Tallennetaan…',
|
|
1117
|
+
'wc.saved': 'Tallennettu työkopioon — säilyy sivun päivityksen yli ja pysyy yksityisenä kunnes julkaiset.',
|
|
1118
|
+
'wc.savedShort': 'Tallennettu!',
|
|
1119
|
+
'wc.saveFailed': 'Tallennus ei onnistunut',
|
|
1120
|
+
'wc.keptLocalOnly': 'Säilytetty vain tässä välilehdessä — julkaise appi ensin, niin saat pysyvän työkopion.',
|
|
1121
|
+
'wc.try': '▶ Kokeile turvallisesti',
|
|
1122
|
+
'wc.tryLocal': '▶ Pikaesikatselu',
|
|
1123
|
+
'wc.publishAs': '🚀 Julkaise versiona v{v}',
|
|
1124
|
+
'wc.publishNew': '🚀 Julkaise uutena versiona',
|
|
1125
|
+
'wc.discardProposal': '✕ Hylkää ehdotus',
|
|
1126
|
+
'wc.discardWork': '✕ Hylkää työkopio',
|
|
1127
|
+
'wc.confirmDiscardWork': 'Heitetäänkö tallennettu työkopio pois ja palataan julkaistuun appiin?',
|
|
1128
|
+
'wc.discardedWork': 'Työkopio hylätty — olet takaisin julkaistussa apissa.',
|
|
1129
|
+
'wc.verbsHint': 'Tallenna säilyttää muutoksen vain sinulle. Kokeile avaa sen oikeassa osoitteessa muuttamatta live-appia. Julkaise on se minkä muut näkevät.',
|
|
1130
|
+
'wc.history': 'Työkopion historia',
|
|
1131
|
+
'wc.historyHint': 'Jokainen tallennus jättää tänne tarkistuspisteen, joten voit aina palata taaksepäin. Nämä ovat vain sinun — julkaistut versiot alempana ovat ne jotka muut näkevät.',
|
|
1132
|
+
'wc.none': 'Ei vielä tarkistuspisteitä — ensimmäinen tallennus luo sellaisen.',
|
|
1133
|
+
'wc.before': 'ennen muutosta: {note}',
|
|
1134
|
+
'wc.beforeUnnamed': 'ennen muokkausta',
|
|
1135
|
+
'wc.preview': 'Esikatsele',
|
|
1136
|
+
'wc.restore': 'Palauta',
|
|
1137
|
+
'wc.delete': 'Poista',
|
|
1138
|
+
'wc.previewTitle': 'tarkistuspisteen esikatselu',
|
|
1139
|
+
'wc.confirmRestore': 'Palautetaanko tämä tarkistuspiste työkopioon? Nykyisestä työkopiosta tehdään ensin tarkistuspiste, joten voit kumota tämän.',
|
|
1140
|
+
'wc.confirmDelete': 'Poistetaanko tämä tarkistuspiste pysyvästi?',
|
|
1141
|
+
'wc.restored': 'Palautettu työkopioon. Julkaistu appi on ennallaan.',
|
|
1142
|
+
'wc.gone': 'Tätä tarkistuspistettä ei ole enää tallessa.',
|
|
1143
|
+
'wc.loginNeeded': 'Kirjaudu sisään tallentaaksesi työkopion.',
|
|
1144
|
+
'wc.noteManual': 'käsin muokattu lähdekoodi',
|
|
1145
|
+
'wc.noteRestore': 'palautettu aiempi tarkistuspiste',
|
|
1146
|
+
'versions.publishedHint': 'Julkaistut versiot — nämä muut näkevät.',
|
|
797
1147
|
'detail.discarded': 'Luonnos hylätty.',
|
|
798
1148
|
'detail.aiUnavailable': 'Tekoälymuokkaus vaatii OpenRouter-avaimen. Lisää se AIMEAT-asetuksiin ja lataa sivu uudelleen.',
|
|
799
1149
|
'detail.aiLoginNeeded': 'Kirjaudu AIMEAT-nodeen käyttääksesi tekoälymuokkausta.',
|
|
@@ -862,7 +1212,7 @@ export const I18N = {
|
|
|
862
1212
|
'tag.favorites': '⭐ Suosikit',
|
|
863
1213
|
'empty.noApps': 'Ei vielä sovelluksia',
|
|
864
1214
|
'empty.noAppsDesc': 'Lisää ensimmäinen sovellus yllä olevalla +-painikkeella',
|
|
865
|
-
'empty.formats': 'Tukee: HTML-tiedostot
|
|
1215
|
+
'empty.formats': 'Tukee: HTML-tiedostot ja ZIP-paketit',
|
|
866
1216
|
'empty.noMatch': 'Ei osumia',
|
|
867
1217
|
'empty.noMatchDesc': 'Mikään sovellus ei vastaa nykyistä suodatinta. Kokeile eri hakusanaa tai tunnistetta.'
|
|
868
1218
|
}
|