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
|
@@ -6,17 +6,39 @@
|
|
|
6
6
|
* resolve time — a malformed manifest fails the checkout loudly (422), never silently.
|
|
7
7
|
* Prices follow the node-wide convention: morsels are plain integers, money is 6-decimal
|
|
8
8
|
* micro-units (offer-schemas precedent).
|
|
9
|
-
* @structure AppToolSchema · AppToolsDocSchema · appToolsKey · AppTool · AppToolsDoc
|
|
9
|
+
* @structure AppToolSchema · AppToolPlanSchema · AppToolsDocSchema · appToolsKey · AppTool · AppToolsDoc
|
|
10
10
|
* @usage
|
|
11
11
|
* const rec = await storage.getMemory(sellerGhii, appToolsKey(appId));
|
|
12
12
|
* const doc = AppToolsDocSchema.parse(rec.value);
|
|
13
13
|
* @version-history
|
|
14
|
+
* v1.4.0 — 2026-07-25 — `tollMorsels`: a tool declares its own pacing burn, so a node default of 0
|
|
15
|
+
* means "paced only where a provider asked for it" instead of "never paced".
|
|
16
|
+
* v1.4.0 — 2026-07-25 — ODPS: per-tool `provenance` + `odps` (the authoring block projected into the
|
|
17
|
+
* tool's ODPS v4.1 document) and APP-LEVEL defaults of both on the manifest root, inherited by every
|
|
18
|
+
* tool. Additive; existing manifests validate unchanged.
|
|
19
|
+
* v1.3.0 — 2026-07-25 — TARGET-050: the manifest becomes the SOURCE OF TRUTH for the EXCHANGE listing —
|
|
20
|
+
* `exchange` (list publicly), `pricesMoney` (EUR *and* USD on one tool) and `usageTerms` (the licence,
|
|
21
|
+
* so listing needs no second authoring step). All additive; existing manifests validate unchanged.
|
|
22
|
+
* v1.2.0 — 2026-07-21 — EXCHANGE cross-app selling (Gap 1): optional `outputSchema` (mandatory to LIST an
|
|
23
|
+
* app-tool offering — the legibility gate) + `plans` (per_call/bundle/subscription volume pricing).
|
|
14
24
|
* v1.1.0 — 2026-07-14 — Task path (phase B): optional `agent` (task assignee); tools without an
|
|
15
25
|
* action_id binding are now purchasable — fulfilled as an agent TASK instead of a capability call
|
|
16
26
|
* v1.0.0 — 2026-07-14 — Initial app-tool manifest schema (TARGET-034 phase A)
|
|
17
27
|
*/
|
|
18
28
|
import { z } from 'zod';
|
|
19
29
|
import { MONEY_CURRENCIES } from '../commerce/money.js';
|
|
30
|
+
import { ProvenanceSchema, OdpsExtrasSchema } from './odps-schemas.js';
|
|
31
|
+
/** A provider pricing plan on a sellable tool — mirrors exchange-market OfferingPlan so a tool can carry
|
|
32
|
+
* per-call / volume-bundle / subscription pricing surfaced on its EXCHANGE offering. */
|
|
33
|
+
export const AppToolPlanSchema = z.discriminatedUnion('model', [
|
|
34
|
+
z.object({ id: z.string().min(1).max(60), model: z.literal('per_call') }),
|
|
35
|
+
z.object({ id: z.string().min(1).max(60), model: z.literal('bundle'), blockSize: z.number().int().positive(), blockPrice: z.number().int().positive() }),
|
|
36
|
+
z.object({
|
|
37
|
+
id: z.string().min(1).max(60), model: z.literal('subscription'),
|
|
38
|
+
periodSeconds: z.number().int().positive(), periodPrice: z.number().int().positive(),
|
|
39
|
+
callsPerWindow: z.number().int().positive(), windowSeconds: z.number().int().positive(),
|
|
40
|
+
}),
|
|
41
|
+
]);
|
|
20
42
|
/** One sellable tool call on an agent-faced app. */
|
|
21
43
|
export const AppToolSchema = z.object({
|
|
22
44
|
/** Tool name — the sku's last segment and the checkout line item's tool reference. */
|
|
@@ -24,6 +46,12 @@ export const AppToolSchema = z.object({
|
|
|
24
46
|
description: z.string().max(500).optional(),
|
|
25
47
|
/** Free-form JSON-schema-ish shape of the tool input (documentation for buyers). */
|
|
26
48
|
inputSchema: z.record(z.string(), z.unknown()).optional(),
|
|
49
|
+
/** Free-form JSON-schema-ish shape of the tool OUTPUT — what a caller gets back. Mandatory (non-empty)
|
|
50
|
+
* to LIST the tool as an EXCHANGE offering (the legibility gate): a consumer must know what returns. */
|
|
51
|
+
outputSchema: z.record(z.string(), z.unknown()).optional(),
|
|
52
|
+
/** EXCHANGE pricing plans (per_call / bundle / subscription) surfaced on the tool's offering. The base
|
|
53
|
+
* per-call price stays in `price`/`priceMoney`; a plan lets a volume consumer prepay or subscribe. */
|
|
54
|
+
plans: z.array(AppToolPlanSchema).max(12).optional(),
|
|
27
55
|
/**
|
|
28
56
|
* Callable fulfillment binding: the backing capability invoked on checkout completion
|
|
29
57
|
* (e.g. "ext:my-extension:summarize"). Without a binding the tool is fulfilled as an agent
|
|
@@ -35,6 +63,13 @@ export const AppToolSchema = z.object({
|
|
|
35
63
|
* fulfillment TASK when the tool has no action_id binding. Ignored for callable tools.
|
|
36
64
|
*/
|
|
37
65
|
agent: z.string().max(100).optional(),
|
|
66
|
+
/**
|
|
67
|
+
* Morsels burned per call to bound the RATE this tool can be consumed at — a brake, never revenue
|
|
68
|
+
* (invariant M1: the burn is not credited to anyone). Independent of `price`/`priceMoney`: a tool sold
|
|
69
|
+
* for money is still paced when this is set, which is the only way a money-priced capability gets a
|
|
70
|
+
* ceiling that a budget alone cannot give it. Absent = the node's default (shipped at 0).
|
|
71
|
+
*/
|
|
72
|
+
tollMorsels: z.number().int().min(0).max(100).optional(),
|
|
38
73
|
/** Morsel price per call. Absent/0 = not for sale cross-owner in morsels. */
|
|
39
74
|
price: z.object({
|
|
40
75
|
morsels: z.number().int().nonnegative(),
|
|
@@ -45,11 +80,47 @@ export const AppToolSchema = z.object({
|
|
|
45
80
|
amount: z.number().int().positive(),
|
|
46
81
|
currency: z.enum(MONEY_CURRENCIES),
|
|
47
82
|
}).nullable().optional(),
|
|
83
|
+
/**
|
|
84
|
+
* Additional money prices, one per currency (TARGET-050) — lets one tool be bought in EUR *and* USD.
|
|
85
|
+
* `priceMoney` stays the primary (every existing reader keeps working unchanged); `pricesMoney` is the
|
|
86
|
+
* full set the EXCHANGE projection lists from. Writers keep `priceMoney` equal to the first entry.
|
|
87
|
+
*/
|
|
88
|
+
pricesMoney: z.array(z.object({
|
|
89
|
+
amount: z.number().int().positive(),
|
|
90
|
+
currency: z.enum(MONEY_CURRENCIES),
|
|
91
|
+
})).max(MONEY_CURRENCIES.length).optional(),
|
|
92
|
+
/**
|
|
93
|
+
* List this tool publicly on EXCHANGE (TARGET-050). The manifest is the SOURCE OF TRUTH for the
|
|
94
|
+
* marketplace listing: flag on + a price → the tool is projected onto the market and its price/labels
|
|
95
|
+
* track this manifest; flag off → the projected listing is delisted. Existing CONTRACTS are never
|
|
96
|
+
* affected — they stay pinned to the interface version and price they were signed at.
|
|
97
|
+
*/
|
|
98
|
+
exchange: z.boolean().optional(),
|
|
99
|
+
/** Usage licence surfaced on the projected offering (mandatory to list — the legibility gate). */
|
|
100
|
+
usageTerms: z.object({
|
|
101
|
+
derivatives: z.boolean().optional(),
|
|
102
|
+
resale: z.boolean().optional(),
|
|
103
|
+
attribution: z.boolean().optional(),
|
|
104
|
+
note: z.string().max(500).optional(),
|
|
105
|
+
}).optional(),
|
|
106
|
+
/** Provenance attestation carried onto the projected offering + its ODPS document. */
|
|
107
|
+
provenance: ProvenanceSchema.optional(),
|
|
108
|
+
/** ODPS v4.1 fields the node cannot derive (value proposition, SLA/quality commitments, data holder…). */
|
|
109
|
+
odps: OdpsExtrasSchema.optional(),
|
|
48
110
|
});
|
|
49
|
-
/**
|
|
111
|
+
/**
|
|
112
|
+
* The `apps.{appId}.tools` record body. `odps`/`provenance` at THIS level are the app's defaults —
|
|
113
|
+
* the company-and-brand half of an ODPS descriptor (data holder, logo, governance profile, jurisdiction,
|
|
114
|
+
* provenance of the app's data) that is the same for every tool the app sells. A tool inherits them and
|
|
115
|
+
* overrides field by field, so a Y-tunnus is typed once per app rather than once per capability.
|
|
116
|
+
*/
|
|
50
117
|
export const AppToolsDocSchema = z.object({
|
|
51
118
|
version: z.number().int().nonnegative().optional(),
|
|
52
119
|
updatedAt: z.string().max(40).optional(),
|
|
120
|
+
/** App-level ODPS defaults inherited by every tool (overridable per tool). */
|
|
121
|
+
odps: OdpsExtrasSchema.optional(),
|
|
122
|
+
/** App-level provenance attestation inherited by every tool (overridable per tool). */
|
|
123
|
+
provenance: ProvenanceSchema.optional(),
|
|
53
124
|
tools: z.array(AppToolSchema).max(40),
|
|
54
125
|
});
|
|
55
126
|
/** The memory key an app's tool manifest lives under (PUBLIC record, app owner's GHII). */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app-tool-schemas.js","sourceRoot":"","sources":["../../../src/models/app-tool-schemas.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"app-tool-schemas.js","sourceRoot":"","sources":["../../../src/models/app-tool-schemas.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,305 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file src/models/odps-schemas.ts
|
|
3
|
+
* @description The ODPS (Open Data Product Specification, Linux Foundation) authoring contract for an
|
|
4
|
+
* EXCHANGE offering. AIMEAT derives most of an ODPS v4.1 document from what the node already knows
|
|
5
|
+
* (title, price, plans, licence, provider, observed usage — see services/exchange-odps.ts); these are the
|
|
6
|
+
* fields ODPS defines that the node CANNOT derive and a provider may therefore declare on the listing:
|
|
7
|
+
* the product framing (value proposition, categories, standards, use cases, sample), the SLA + data-quality
|
|
8
|
+
* COMMITMENTS (objectives, which are promises no observation can substitute for), and the legal data holder.
|
|
9
|
+
* Everything here is optional — an offering without it still projects a valid ODPS v4.1 document.
|
|
10
|
+
* PROVENANCE lives here too: the provider's attestation about where the data came from, on what legal
|
|
11
|
+
* basis, how long it is kept, and (for derived data) the upstream lineage it was built from.
|
|
12
|
+
* @structure ODPS enums (product type · SLA/DQ dimensions + units) · ProvenanceSchema · OdpsExtrasSchema ·
|
|
13
|
+
* inferred types (Provenance · OdpsExtras · OdpsSlaDimension · OdpsQualityDimension · OdpsDataHolder)
|
|
14
|
+
* @usage
|
|
15
|
+
* const parsed = OdpsExtrasSchema.safeParse(req.body.odps);
|
|
16
|
+
* if (!parsed.success) return res.status(400).json(error(nodeId, 'INVALID_ODPS', parsed.error.message));
|
|
17
|
+
* @version-history
|
|
18
|
+
* v1.1.0 — 2026-07-25 — Pinned to ODPS v4.1 (the version the addendum's Q2 named): `language` (v4.1
|
|
19
|
+
* keys details + pricing by ISO 639-1 code), `governanceProfile`, `portfolioPriority`, TOON format.
|
|
20
|
+
* v1.0.0 — 2026-07-25 — Initial ODPS authoring contract + provenance attestation (TARGET-045 §4,
|
|
21
|
+
* addendum Q2/Q3): closes the drift where `odpsVersion` was declared but never written.
|
|
22
|
+
*/
|
|
23
|
+
import { z } from 'zod';
|
|
24
|
+
/** ODPS v4.1 `product.details.type` — what KIND of data product this is. */
|
|
25
|
+
export declare const ODPS_PRODUCT_TYPES: readonly ["raw data", "derived data", "dataset", "reports", "analytic view", "3D visualisation", "algorithm", "decision support", "automated decision-making", "data-enhanced product", "data-driven service", "data-enabled performance", "bi-directional"];
|
|
26
|
+
/** ODPS v4.1 SLA dimensions (`product.SLA.declarative[].dimensions[].dimension`). */
|
|
27
|
+
export declare const ODPS_SLA_DIMENSIONS: readonly ["latency", "uptime", "responseTime", "errorRate", "endOfSupport", "endOfLife", "updateFrequency", "timeToDetect", "timeToNotify", "timeToRepair", "emailResponseTime"];
|
|
28
|
+
/** ODPS v4.1 SLA objective units. */
|
|
29
|
+
export declare const ODPS_SLA_UNITS: readonly ["percent", "milliseconds", "seconds", "minutes", "days", "weeks", "months", "years", "never", "date", "null"];
|
|
30
|
+
/** ODPS v4.1 data-quality dimensions. */
|
|
31
|
+
export declare const ODPS_QUALITY_DIMENSIONS: readonly ["accuracy", "completeness", "conformity", "consistency", "coverage", "timeliness", "validity", "uniqueness"];
|
|
32
|
+
/** ODPS v4.1 output file formats a data product can be delivered in (v4.1 adds TOON). */
|
|
33
|
+
export declare const ODPS_OUTPUT_FORMATS: readonly ["TOON", "JSON", "XML", "CSV", "Excel", "zip", "plain text", "GraphQL", "MCP"];
|
|
34
|
+
/** ODPS v4.1 `details.governanceProfile` — how strictly the product is governed. */
|
|
35
|
+
export declare const ODPS_GOVERNANCE_PROFILES: readonly ["structured", "enforced", "automated", "audit_ready"];
|
|
36
|
+
/** ODPS v4.1 `details.portfolioPriority` — how important the product is in its owner's portfolio. */
|
|
37
|
+
export declare const ODPS_PORTFOLIO_PRIORITIES: readonly ["critical", "high", "medium", "low"];
|
|
38
|
+
/** One hop of upstream lineage for DERIVED data — where a component came from and what was done to it. */
|
|
39
|
+
export declare const ProvenanceLineageHopSchema: z.ZodObject<{
|
|
40
|
+
source: z.ZodString;
|
|
41
|
+
transform: z.ZodOptional<z.ZodString>;
|
|
42
|
+
at: z.ZodOptional<z.ZodString>;
|
|
43
|
+
}, z.core.$strip>;
|
|
44
|
+
/**
|
|
45
|
+
* The provider's provenance attestation. A PROMISE by the provider, not a platform guarantee — but a
|
|
46
|
+
* structured, attributed one (the provider is a GHII/GAII/GEAI) that a buyer can hold them to. Maps onto
|
|
47
|
+
* ODPS `license.governance` + the AIMEAT extension block; absent provenance is legal, it just reads as
|
|
48
|
+
* "unstated" to every buyer looking at the listing.
|
|
49
|
+
*/
|
|
50
|
+
export declare const ProvenanceSchema: z.ZodObject<{
|
|
51
|
+
source: z.ZodOptional<z.ZodString>;
|
|
52
|
+
legalBasis: z.ZodOptional<z.ZodString>;
|
|
53
|
+
consentStatus: z.ZodOptional<z.ZodString>;
|
|
54
|
+
retention: z.ZodOptional<z.ZodString>;
|
|
55
|
+
transformations: z.ZodOptional<z.ZodString>;
|
|
56
|
+
snapshotHash: z.ZodOptional<z.ZodString>;
|
|
57
|
+
lineage: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
58
|
+
source: z.ZodString;
|
|
59
|
+
transform: z.ZodOptional<z.ZodString>;
|
|
60
|
+
at: z.ZodOptional<z.ZodString>;
|
|
61
|
+
}, z.core.$strip>>>;
|
|
62
|
+
odpsVersion: z.ZodOptional<z.ZodString>;
|
|
63
|
+
}, z.core.$strip>;
|
|
64
|
+
/** An SLA COMMITMENT on the offering (what the provider promises, as opposed to what the node observed). */
|
|
65
|
+
export declare const OdpsSlaDimensionSchema: z.ZodObject<{
|
|
66
|
+
dimension: z.ZodEnum<{
|
|
67
|
+
latency: "latency";
|
|
68
|
+
uptime: "uptime";
|
|
69
|
+
responseTime: "responseTime";
|
|
70
|
+
errorRate: "errorRate";
|
|
71
|
+
endOfSupport: "endOfSupport";
|
|
72
|
+
endOfLife: "endOfLife";
|
|
73
|
+
updateFrequency: "updateFrequency";
|
|
74
|
+
timeToDetect: "timeToDetect";
|
|
75
|
+
timeToNotify: "timeToNotify";
|
|
76
|
+
timeToRepair: "timeToRepair";
|
|
77
|
+
emailResponseTime: "emailResponseTime";
|
|
78
|
+
}>;
|
|
79
|
+
objective: z.ZodNumber;
|
|
80
|
+
unit: z.ZodEnum<{
|
|
81
|
+
percent: "percent";
|
|
82
|
+
milliseconds: "milliseconds";
|
|
83
|
+
seconds: "seconds";
|
|
84
|
+
minutes: "minutes";
|
|
85
|
+
days: "days";
|
|
86
|
+
weeks: "weeks";
|
|
87
|
+
months: "months";
|
|
88
|
+
years: "years";
|
|
89
|
+
never: "never";
|
|
90
|
+
date: "date";
|
|
91
|
+
null: "null";
|
|
92
|
+
}>;
|
|
93
|
+
description: z.ZodOptional<z.ZodString>;
|
|
94
|
+
}, z.core.$strip>;
|
|
95
|
+
/** A data-quality COMMITMENT on the offering. */
|
|
96
|
+
export declare const OdpsQualityDimensionSchema: z.ZodObject<{
|
|
97
|
+
dimension: z.ZodEnum<{
|
|
98
|
+
accuracy: "accuracy";
|
|
99
|
+
completeness: "completeness";
|
|
100
|
+
conformity: "conformity";
|
|
101
|
+
consistency: "consistency";
|
|
102
|
+
coverage: "coverage";
|
|
103
|
+
timeliness: "timeliness";
|
|
104
|
+
validity: "validity";
|
|
105
|
+
uniqueness: "uniqueness";
|
|
106
|
+
}>;
|
|
107
|
+
objective: z.ZodNumber;
|
|
108
|
+
unit: z.ZodEnum<{
|
|
109
|
+
number: "number";
|
|
110
|
+
percentage: "percentage";
|
|
111
|
+
}>;
|
|
112
|
+
description: z.ZodOptional<z.ZodString>;
|
|
113
|
+
}, z.core.$strip>;
|
|
114
|
+
/** The legal entity behind the offering. AIMEAT knows the ACCOUNT (a GHII); only the provider knows the company. */
|
|
115
|
+
export declare const OdpsDataHolderSchema: z.ZodObject<{
|
|
116
|
+
legalName: z.ZodString;
|
|
117
|
+
businessID: z.ZodOptional<z.ZodString>;
|
|
118
|
+
taxID: z.ZodOptional<z.ZodString>;
|
|
119
|
+
vatID: z.ZodOptional<z.ZodString>;
|
|
120
|
+
email: z.ZodOptional<z.ZodString>;
|
|
121
|
+
URL: z.ZodOptional<z.ZodString>;
|
|
122
|
+
telephone: z.ZodOptional<z.ZodString>;
|
|
123
|
+
contactName: z.ZodOptional<z.ZodString>;
|
|
124
|
+
addressRegion: z.ZodOptional<z.ZodString>;
|
|
125
|
+
businessDomain: z.ZodOptional<z.ZodString>;
|
|
126
|
+
description: z.ZodOptional<z.ZodString>;
|
|
127
|
+
addressCountry: z.ZodOptional<z.ZodString>;
|
|
128
|
+
addressLocality: z.ZodOptional<z.ZodString>;
|
|
129
|
+
postalCode: z.ZodOptional<z.ZodString>;
|
|
130
|
+
streetAddress: z.ZodOptional<z.ZodString>;
|
|
131
|
+
logoURL: z.ZodOptional<z.ZodString>;
|
|
132
|
+
slogan: z.ZodOptional<z.ZodString>;
|
|
133
|
+
parentOrganization: z.ZodOptional<z.ZodString>;
|
|
134
|
+
}, z.core.$strip>;
|
|
135
|
+
/** Licence terms ODPS carries that AIMEAT's three-flag `usageTerms` does not (jurisdiction, exclusivity, exit). */
|
|
136
|
+
export declare const OdpsLicenseExtrasSchema: z.ZodObject<{
|
|
137
|
+
geographicalArea: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
138
|
+
permanent: z.ZodOptional<z.ZodBoolean>;
|
|
139
|
+
exclusive: z.ZodOptional<z.ZodBoolean>;
|
|
140
|
+
restrictions: z.ZodOptional<z.ZodString>;
|
|
141
|
+
applicableLaws: z.ZodOptional<z.ZodString>;
|
|
142
|
+
warranties: z.ZodOptional<z.ZodString>;
|
|
143
|
+
damages: z.ZodOptional<z.ZodString>;
|
|
144
|
+
confidentiality: z.ZodOptional<z.ZodString>;
|
|
145
|
+
forceMajeure: z.ZodOptional<z.ZodString>;
|
|
146
|
+
terminationNoticePeriodDays: z.ZodOptional<z.ZodNumber>;
|
|
147
|
+
terminationConditions: z.ZodOptional<z.ZodString>;
|
|
148
|
+
continuityConditions: z.ZodOptional<z.ZodString>;
|
|
149
|
+
}, z.core.$strip>;
|
|
150
|
+
/**
|
|
151
|
+
* Everything ODPS defines that the node cannot derive from the offering itself. All optional: a listing
|
|
152
|
+
* without any of it still projects a schema-valid ODPS v4.1 document, just a thinner one.
|
|
153
|
+
*/
|
|
154
|
+
export declare const OdpsExtrasSchema: z.ZodObject<{
|
|
155
|
+
language: z.ZodOptional<z.ZodString>;
|
|
156
|
+
productType: z.ZodOptional<z.ZodEnum<{
|
|
157
|
+
"raw data": "raw data";
|
|
158
|
+
"derived data": "derived data";
|
|
159
|
+
dataset: "dataset";
|
|
160
|
+
reports: "reports";
|
|
161
|
+
"analytic view": "analytic view";
|
|
162
|
+
"3D visualisation": "3D visualisation";
|
|
163
|
+
algorithm: "algorithm";
|
|
164
|
+
"decision support": "decision support";
|
|
165
|
+
"automated decision-making": "automated decision-making";
|
|
166
|
+
"data-enhanced product": "data-enhanced product";
|
|
167
|
+
"data-driven service": "data-driven service";
|
|
168
|
+
"data-enabled performance": "data-enabled performance";
|
|
169
|
+
"bi-directional": "bi-directional";
|
|
170
|
+
}>>;
|
|
171
|
+
governanceProfile: z.ZodOptional<z.ZodEnum<{
|
|
172
|
+
structured: "structured";
|
|
173
|
+
enforced: "enforced";
|
|
174
|
+
automated: "automated";
|
|
175
|
+
audit_ready: "audit_ready";
|
|
176
|
+
}>>;
|
|
177
|
+
portfolioPriority: z.ZodOptional<z.ZodEnum<{
|
|
178
|
+
critical: "critical";
|
|
179
|
+
high: "high";
|
|
180
|
+
medium: "medium";
|
|
181
|
+
low: "low";
|
|
182
|
+
}>>;
|
|
183
|
+
valueProposition: z.ZodOptional<z.ZodString>;
|
|
184
|
+
productSeries: z.ZodOptional<z.ZodString>;
|
|
185
|
+
categories: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
186
|
+
standards: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
187
|
+
useCases: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
188
|
+
title: z.ZodString;
|
|
189
|
+
description: z.ZodOptional<z.ZodString>;
|
|
190
|
+
url: z.ZodOptional<z.ZodString>;
|
|
191
|
+
}, z.core.$strip>>>;
|
|
192
|
+
outputFileFormats: z.ZodOptional<z.ZodArray<z.ZodEnum<{
|
|
193
|
+
TOON: "TOON";
|
|
194
|
+
JSON: "JSON";
|
|
195
|
+
XML: "XML";
|
|
196
|
+
CSV: "CSV";
|
|
197
|
+
Excel: "Excel";
|
|
198
|
+
zip: "zip";
|
|
199
|
+
"plain text": "plain text";
|
|
200
|
+
GraphQL: "GraphQL";
|
|
201
|
+
MCP: "MCP";
|
|
202
|
+
}>>>;
|
|
203
|
+
contentSample: z.ZodOptional<z.ZodString>;
|
|
204
|
+
logoURL: z.ZodOptional<z.ZodString>;
|
|
205
|
+
brandSlogan: z.ZodOptional<z.ZodString>;
|
|
206
|
+
productVersion: z.ZodOptional<z.ZodString>;
|
|
207
|
+
versionNotes: z.ZodOptional<z.ZodString>;
|
|
208
|
+
issues: z.ZodOptional<z.ZodString>;
|
|
209
|
+
documentationURL: z.ZodOptional<z.ZodString>;
|
|
210
|
+
supportEmail: z.ZodOptional<z.ZodString>;
|
|
211
|
+
supportHours: z.ZodOptional<z.ZodString>;
|
|
212
|
+
valueAddedTaxIncluded: z.ZodOptional<z.ZodBoolean>;
|
|
213
|
+
valueAddedTaxPercentage: z.ZodOptional<z.ZodNumber>;
|
|
214
|
+
recommendedDataProducts: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
215
|
+
sla: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
216
|
+
dimension: z.ZodEnum<{
|
|
217
|
+
latency: "latency";
|
|
218
|
+
uptime: "uptime";
|
|
219
|
+
responseTime: "responseTime";
|
|
220
|
+
errorRate: "errorRate";
|
|
221
|
+
endOfSupport: "endOfSupport";
|
|
222
|
+
endOfLife: "endOfLife";
|
|
223
|
+
updateFrequency: "updateFrequency";
|
|
224
|
+
timeToDetect: "timeToDetect";
|
|
225
|
+
timeToNotify: "timeToNotify";
|
|
226
|
+
timeToRepair: "timeToRepair";
|
|
227
|
+
emailResponseTime: "emailResponseTime";
|
|
228
|
+
}>;
|
|
229
|
+
objective: z.ZodNumber;
|
|
230
|
+
unit: z.ZodEnum<{
|
|
231
|
+
percent: "percent";
|
|
232
|
+
milliseconds: "milliseconds";
|
|
233
|
+
seconds: "seconds";
|
|
234
|
+
minutes: "minutes";
|
|
235
|
+
days: "days";
|
|
236
|
+
weeks: "weeks";
|
|
237
|
+
months: "months";
|
|
238
|
+
years: "years";
|
|
239
|
+
never: "never";
|
|
240
|
+
date: "date";
|
|
241
|
+
null: "null";
|
|
242
|
+
}>;
|
|
243
|
+
description: z.ZodOptional<z.ZodString>;
|
|
244
|
+
}, z.core.$strip>>>;
|
|
245
|
+
dataQuality: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
246
|
+
dimension: z.ZodEnum<{
|
|
247
|
+
accuracy: "accuracy";
|
|
248
|
+
completeness: "completeness";
|
|
249
|
+
conformity: "conformity";
|
|
250
|
+
consistency: "consistency";
|
|
251
|
+
coverage: "coverage";
|
|
252
|
+
timeliness: "timeliness";
|
|
253
|
+
validity: "validity";
|
|
254
|
+
uniqueness: "uniqueness";
|
|
255
|
+
}>;
|
|
256
|
+
objective: z.ZodNumber;
|
|
257
|
+
unit: z.ZodEnum<{
|
|
258
|
+
number: "number";
|
|
259
|
+
percentage: "percentage";
|
|
260
|
+
}>;
|
|
261
|
+
description: z.ZodOptional<z.ZodString>;
|
|
262
|
+
}, z.core.$strip>>>;
|
|
263
|
+
dataHolder: z.ZodOptional<z.ZodObject<{
|
|
264
|
+
legalName: z.ZodString;
|
|
265
|
+
businessID: z.ZodOptional<z.ZodString>;
|
|
266
|
+
taxID: z.ZodOptional<z.ZodString>;
|
|
267
|
+
vatID: z.ZodOptional<z.ZodString>;
|
|
268
|
+
email: z.ZodOptional<z.ZodString>;
|
|
269
|
+
URL: z.ZodOptional<z.ZodString>;
|
|
270
|
+
telephone: z.ZodOptional<z.ZodString>;
|
|
271
|
+
contactName: z.ZodOptional<z.ZodString>;
|
|
272
|
+
addressRegion: z.ZodOptional<z.ZodString>;
|
|
273
|
+
businessDomain: z.ZodOptional<z.ZodString>;
|
|
274
|
+
description: z.ZodOptional<z.ZodString>;
|
|
275
|
+
addressCountry: z.ZodOptional<z.ZodString>;
|
|
276
|
+
addressLocality: z.ZodOptional<z.ZodString>;
|
|
277
|
+
postalCode: z.ZodOptional<z.ZodString>;
|
|
278
|
+
streetAddress: z.ZodOptional<z.ZodString>;
|
|
279
|
+
logoURL: z.ZodOptional<z.ZodString>;
|
|
280
|
+
slogan: z.ZodOptional<z.ZodString>;
|
|
281
|
+
parentOrganization: z.ZodOptional<z.ZodString>;
|
|
282
|
+
}, z.core.$strip>>;
|
|
283
|
+
license: z.ZodOptional<z.ZodObject<{
|
|
284
|
+
geographicalArea: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
285
|
+
permanent: z.ZodOptional<z.ZodBoolean>;
|
|
286
|
+
exclusive: z.ZodOptional<z.ZodBoolean>;
|
|
287
|
+
restrictions: z.ZodOptional<z.ZodString>;
|
|
288
|
+
applicableLaws: z.ZodOptional<z.ZodString>;
|
|
289
|
+
warranties: z.ZodOptional<z.ZodString>;
|
|
290
|
+
damages: z.ZodOptional<z.ZodString>;
|
|
291
|
+
confidentiality: z.ZodOptional<z.ZodString>;
|
|
292
|
+
forceMajeure: z.ZodOptional<z.ZodString>;
|
|
293
|
+
terminationNoticePeriodDays: z.ZodOptional<z.ZodNumber>;
|
|
294
|
+
terminationConditions: z.ZodOptional<z.ZodString>;
|
|
295
|
+
continuityConditions: z.ZodOptional<z.ZodString>;
|
|
296
|
+
}, z.core.$strip>>;
|
|
297
|
+
}, z.core.$strip>;
|
|
298
|
+
export type ProvenanceLineageHop = z.infer<typeof ProvenanceLineageHopSchema>;
|
|
299
|
+
export type Provenance = z.infer<typeof ProvenanceSchema>;
|
|
300
|
+
export type OdpsSlaDimension = z.infer<typeof OdpsSlaDimensionSchema>;
|
|
301
|
+
export type OdpsQualityDimension = z.infer<typeof OdpsQualityDimensionSchema>;
|
|
302
|
+
export type OdpsDataHolder = z.infer<typeof OdpsDataHolderSchema>;
|
|
303
|
+
export type OdpsLicenseExtras = z.infer<typeof OdpsLicenseExtrasSchema>;
|
|
304
|
+
export type OdpsExtras = z.infer<typeof OdpsExtrasSchema>;
|
|
305
|
+
//# sourceMappingURL=odps-schemas.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"odps-schemas.d.ts","sourceRoot":"","sources":["../../../src/models/odps-schemas.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,4EAA4E;AAC5E,eAAO,MAAM,kBAAkB,8PAIrB,CAAC;AAEX,qFAAqF;AACrF,eAAO,MAAM,mBAAmB,kLAGtB,CAAC;AAEX,qCAAqC;AACrC,eAAO,MAAM,cAAc,yHAEjB,CAAC;AAEX,yCAAyC;AACzC,eAAO,MAAM,uBAAuB,wHAE1B,CAAC;AAEX,yFAAyF;AACzF,eAAO,MAAM,mBAAmB,yFAA0F,CAAC;AAE3H,oFAAoF;AACpF,eAAO,MAAM,wBAAwB,iEAAkE,CAAC;AAExG,qGAAqG;AACrG,eAAO,MAAM,yBAAyB,gDAAiD,CAAC;AAMxF,0GAA0G;AAC1G,eAAO,MAAM,0BAA0B;;;;iBAIrC,CAAC;AAEH;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;iBAiB3B,CAAC;AAEH,4GAA4G;AAC5G,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAKjC,CAAC;AAEH,iDAAiD;AACjD,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;iBAKrC,CAAC;AAEH,oHAAoH;AACpH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;iBAmB/B,CAAC;AAEH,mHAAmH;AACnH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;iBAalC,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA6C3B,CAAC;AAEH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAC9E,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAC1D,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AACtE,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAC9E,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAClE,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AACxE,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC"}
|
|
@@ -0,0 +1,182 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file src/models/odps-schemas.ts
|
|
3
|
+
* @description The ODPS (Open Data Product Specification, Linux Foundation) authoring contract for an
|
|
4
|
+
* EXCHANGE offering. AIMEAT derives most of an ODPS v4.1 document from what the node already knows
|
|
5
|
+
* (title, price, plans, licence, provider, observed usage — see services/exchange-odps.ts); these are the
|
|
6
|
+
* fields ODPS defines that the node CANNOT derive and a provider may therefore declare on the listing:
|
|
7
|
+
* the product framing (value proposition, categories, standards, use cases, sample), the SLA + data-quality
|
|
8
|
+
* COMMITMENTS (objectives, which are promises no observation can substitute for), and the legal data holder.
|
|
9
|
+
* Everything here is optional — an offering without it still projects a valid ODPS v4.1 document.
|
|
10
|
+
* PROVENANCE lives here too: the provider's attestation about where the data came from, on what legal
|
|
11
|
+
* basis, how long it is kept, and (for derived data) the upstream lineage it was built from.
|
|
12
|
+
* @structure ODPS enums (product type · SLA/DQ dimensions + units) · ProvenanceSchema · OdpsExtrasSchema ·
|
|
13
|
+
* inferred types (Provenance · OdpsExtras · OdpsSlaDimension · OdpsQualityDimension · OdpsDataHolder)
|
|
14
|
+
* @usage
|
|
15
|
+
* const parsed = OdpsExtrasSchema.safeParse(req.body.odps);
|
|
16
|
+
* if (!parsed.success) return res.status(400).json(error(nodeId, 'INVALID_ODPS', parsed.error.message));
|
|
17
|
+
* @version-history
|
|
18
|
+
* v1.1.0 — 2026-07-25 — Pinned to ODPS v4.1 (the version the addendum's Q2 named): `language` (v4.1
|
|
19
|
+
* keys details + pricing by ISO 639-1 code), `governanceProfile`, `portfolioPriority`, TOON format.
|
|
20
|
+
* v1.0.0 — 2026-07-25 — Initial ODPS authoring contract + provenance attestation (TARGET-045 §4,
|
|
21
|
+
* addendum Q2/Q3): closes the drift where `odpsVersion` was declared but never written.
|
|
22
|
+
*/
|
|
23
|
+
import { z } from 'zod';
|
|
24
|
+
/** ODPS v4.1 `product.details.type` — what KIND of data product this is. */
|
|
25
|
+
export const ODPS_PRODUCT_TYPES = [
|
|
26
|
+
'raw data', 'derived data', 'dataset', 'reports', 'analytic view', '3D visualisation', 'algorithm',
|
|
27
|
+
'decision support', 'automated decision-making', 'data-enhanced product', 'data-driven service',
|
|
28
|
+
'data-enabled performance', 'bi-directional',
|
|
29
|
+
];
|
|
30
|
+
/** ODPS v4.1 SLA dimensions (`product.SLA.declarative[].dimensions[].dimension`). */
|
|
31
|
+
export const ODPS_SLA_DIMENSIONS = [
|
|
32
|
+
'latency', 'uptime', 'responseTime', 'errorRate', 'endOfSupport', 'endOfLife', 'updateFrequency',
|
|
33
|
+
'timeToDetect', 'timeToNotify', 'timeToRepair', 'emailResponseTime',
|
|
34
|
+
];
|
|
35
|
+
/** ODPS v4.1 SLA objective units. */
|
|
36
|
+
export const ODPS_SLA_UNITS = [
|
|
37
|
+
'percent', 'milliseconds', 'seconds', 'minutes', 'days', 'weeks', 'months', 'years', 'never', 'date', 'null',
|
|
38
|
+
];
|
|
39
|
+
/** ODPS v4.1 data-quality dimensions. */
|
|
40
|
+
export const ODPS_QUALITY_DIMENSIONS = [
|
|
41
|
+
'accuracy', 'completeness', 'conformity', 'consistency', 'coverage', 'timeliness', 'validity', 'uniqueness',
|
|
42
|
+
];
|
|
43
|
+
/** ODPS v4.1 output file formats a data product can be delivered in (v4.1 adds TOON). */
|
|
44
|
+
export const ODPS_OUTPUT_FORMATS = ['TOON', 'JSON', 'XML', 'CSV', 'Excel', 'zip', 'plain text', 'GraphQL', 'MCP'];
|
|
45
|
+
/** ODPS v4.1 `details.governanceProfile` — how strictly the product is governed. */
|
|
46
|
+
export const ODPS_GOVERNANCE_PROFILES = ['structured', 'enforced', 'automated', 'audit_ready'];
|
|
47
|
+
/** ODPS v4.1 `details.portfolioPriority` — how important the product is in its owner's portfolio. */
|
|
48
|
+
export const ODPS_PORTFOLIO_PRIORITIES = ['critical', 'high', 'medium', 'low'];
|
|
49
|
+
const shortText = z.string().trim().min(1).max(400);
|
|
50
|
+
const longText = z.string().trim().min(1).max(4000);
|
|
51
|
+
const shortList = z.array(z.string().trim().min(1).max(120)).max(30);
|
|
52
|
+
/** One hop of upstream lineage for DERIVED data — where a component came from and what was done to it. */
|
|
53
|
+
export const ProvenanceLineageHopSchema = z.object({
|
|
54
|
+
source: shortText,
|
|
55
|
+
transform: shortText.optional(),
|
|
56
|
+
at: z.string().trim().max(40).optional(),
|
|
57
|
+
});
|
|
58
|
+
/**
|
|
59
|
+
* The provider's provenance attestation. A PROMISE by the provider, not a platform guarantee — but a
|
|
60
|
+
* structured, attributed one (the provider is a GHII/GAII/GEAI) that a buyer can hold them to. Maps onto
|
|
61
|
+
* ODPS `license.governance` + the AIMEAT extension block; absent provenance is legal, it just reads as
|
|
62
|
+
* "unstated" to every buyer looking at the listing.
|
|
63
|
+
*/
|
|
64
|
+
export const ProvenanceSchema = z.object({
|
|
65
|
+
/** Where the data comes from (system, register, API, collection method). */
|
|
66
|
+
source: shortText.optional(),
|
|
67
|
+
/** The lawful basis for holding + reselling it (e.g. "GDPR Art. 6(1)(f) legitimate interest", "public register"). */
|
|
68
|
+
legalBasis: shortText.optional(),
|
|
69
|
+
/** Consent state of the underlying subjects, when the data is personal. */
|
|
70
|
+
consentStatus: shortText.optional(),
|
|
71
|
+
/** How long the provider retains it. */
|
|
72
|
+
retention: shortText.optional(),
|
|
73
|
+
/** What was done to the raw material to make this product (cleaning, joining, enrichment, model inference). */
|
|
74
|
+
transformations: longText.optional(),
|
|
75
|
+
/** SHA-256 content identity of the snapshot this promise is about (hex or `sha256:` prefixed). */
|
|
76
|
+
snapshotHash: z.string().trim().regex(/^(sha256:)?[a-fA-F0-9]{64}$/, 'snapshotHash must be a SHA-256 hex digest').optional(),
|
|
77
|
+
/** Upstream chain for derived data (OpenLineage-style, kept deliberately small + human-readable). */
|
|
78
|
+
lineage: z.array(ProvenanceLineageHopSchema).max(20).optional(),
|
|
79
|
+
/** Which ODPS version this listing's descriptor follows. Defaulted by the node on write. */
|
|
80
|
+
odpsVersion: z.string().trim().max(10).optional(),
|
|
81
|
+
});
|
|
82
|
+
/** An SLA COMMITMENT on the offering (what the provider promises, as opposed to what the node observed). */
|
|
83
|
+
export const OdpsSlaDimensionSchema = z.object({
|
|
84
|
+
dimension: z.enum(ODPS_SLA_DIMENSIONS),
|
|
85
|
+
objective: z.number(),
|
|
86
|
+
unit: z.enum(ODPS_SLA_UNITS),
|
|
87
|
+
description: shortText.optional(),
|
|
88
|
+
});
|
|
89
|
+
/** A data-quality COMMITMENT on the offering. */
|
|
90
|
+
export const OdpsQualityDimensionSchema = z.object({
|
|
91
|
+
dimension: z.enum(ODPS_QUALITY_DIMENSIONS),
|
|
92
|
+
objective: z.number(),
|
|
93
|
+
unit: z.enum(['percentage', 'number']),
|
|
94
|
+
description: shortText.optional(),
|
|
95
|
+
});
|
|
96
|
+
/** The legal entity behind the offering. AIMEAT knows the ACCOUNT (a GHII); only the provider knows the company. */
|
|
97
|
+
export const OdpsDataHolderSchema = z.object({
|
|
98
|
+
legalName: shortText,
|
|
99
|
+
businessID: z.string().trim().max(60).optional(),
|
|
100
|
+
taxID: z.string().trim().max(60).optional(),
|
|
101
|
+
vatID: z.string().trim().max(60).optional(),
|
|
102
|
+
email: z.string().trim().email().max(200).optional(),
|
|
103
|
+
URL: z.string().trim().url().max(400).optional(),
|
|
104
|
+
telephone: z.string().trim().max(60).optional(),
|
|
105
|
+
contactName: shortText.optional(),
|
|
106
|
+
addressRegion: z.string().trim().max(120).optional(),
|
|
107
|
+
businessDomain: shortText.optional(),
|
|
108
|
+
description: longText.optional(),
|
|
109
|
+
addressCountry: z.string().trim().max(60).optional(),
|
|
110
|
+
addressLocality: z.string().trim().max(120).optional(),
|
|
111
|
+
postalCode: z.string().trim().max(20).optional(),
|
|
112
|
+
streetAddress: shortText.optional(),
|
|
113
|
+
logoURL: z.string().trim().url().max(400).optional(),
|
|
114
|
+
slogan: shortText.optional(),
|
|
115
|
+
parentOrganization: shortText.optional(),
|
|
116
|
+
});
|
|
117
|
+
/** Licence terms ODPS carries that AIMEAT's three-flag `usageTerms` does not (jurisdiction, exclusivity, exit). */
|
|
118
|
+
export const OdpsLicenseExtrasSchema = z.object({
|
|
119
|
+
geographicalArea: shortList.optional(),
|
|
120
|
+
permanent: z.boolean().optional(),
|
|
121
|
+
exclusive: z.boolean().optional(),
|
|
122
|
+
restrictions: longText.optional(),
|
|
123
|
+
applicableLaws: shortText.optional(),
|
|
124
|
+
warranties: longText.optional(),
|
|
125
|
+
damages: longText.optional(),
|
|
126
|
+
confidentiality: longText.optional(),
|
|
127
|
+
forceMajeure: longText.optional(),
|
|
128
|
+
terminationNoticePeriodDays: z.number().int().min(0).max(3650).optional(),
|
|
129
|
+
terminationConditions: longText.optional(),
|
|
130
|
+
continuityConditions: longText.optional(),
|
|
131
|
+
});
|
|
132
|
+
/**
|
|
133
|
+
* Everything ODPS defines that the node cannot derive from the offering itself. All optional: a listing
|
|
134
|
+
* without any of it still projects a schema-valid ODPS v4.1 document, just a thinner one.
|
|
135
|
+
*/
|
|
136
|
+
export const OdpsExtrasSchema = z.object({
|
|
137
|
+
/**
|
|
138
|
+
* ISO 639-1 code for the language the listing text is written in. ODPS v4.1 keys `details` and
|
|
139
|
+
* `pricingPlans.declarative` by language; AIMEAT carries one free-text title/description, so this says
|
|
140
|
+
* which key it belongs under. Defaults to `en`. The same string is never duplicated under a second
|
|
141
|
+
* language — a claimed translation that does not exist is worse than none.
|
|
142
|
+
*/
|
|
143
|
+
language: z.string().trim().regex(/^[a-z]{2}$/, 'language must be an ISO 639-1 two-letter code').optional(),
|
|
144
|
+
/** Overrides the node's default product type (derived from the offering kind). */
|
|
145
|
+
productType: z.enum(ODPS_PRODUCT_TYPES).optional(),
|
|
146
|
+
/** v4.1: governance maturity applied to this product. */
|
|
147
|
+
governanceProfile: z.enum(ODPS_GOVERNANCE_PROFILES).optional(),
|
|
148
|
+
/** v4.1: importance of this product in the provider's portfolio. */
|
|
149
|
+
portfolioPriority: z.enum(ODPS_PORTFOLIO_PRIORITIES).optional(),
|
|
150
|
+
/** ODPS caps the value proposition at 512 characters. */
|
|
151
|
+
valueProposition: z.string().trim().min(1).max(512).optional(),
|
|
152
|
+
productSeries: shortText.optional(),
|
|
153
|
+
categories: shortList.optional(),
|
|
154
|
+
standards: shortList.optional(),
|
|
155
|
+
/** Use cases as ODPS models them: a title, an optional description and an optional link. */
|
|
156
|
+
useCases: z.array(z.object({
|
|
157
|
+
title: shortText,
|
|
158
|
+
description: longText.optional(),
|
|
159
|
+
url: z.string().trim().url().max(400).optional(),
|
|
160
|
+
})).max(20).optional(),
|
|
161
|
+
outputFileFormats: z.array(z.enum(ODPS_OUTPUT_FORMATS)).max(8).optional(),
|
|
162
|
+
/** URL of a real output sample, so a buyer sees the goods before contracting (ODPS requires a URI here). */
|
|
163
|
+
contentSample: z.string().trim().url().max(400).optional(),
|
|
164
|
+
logoURL: z.string().trim().url().max(400).optional(),
|
|
165
|
+
brandSlogan: shortText.optional(),
|
|
166
|
+
productVersion: z.string().trim().max(40).optional(),
|
|
167
|
+
versionNotes: longText.optional(),
|
|
168
|
+
issues: longText.optional(),
|
|
169
|
+
documentationURL: z.string().trim().url().max(400).optional(),
|
|
170
|
+
supportEmail: z.string().trim().email().max(200).optional(),
|
|
171
|
+
supportHours: shortText.optional(),
|
|
172
|
+
/** VAT treatment of the listed price — applied to every pricing plan in the projected document. */
|
|
173
|
+
valueAddedTaxIncluded: z.boolean().optional(),
|
|
174
|
+
valueAddedTaxPercentage: z.number().int().min(0).max(100).optional(),
|
|
175
|
+
/** Related products a buyer may also want (ODPS cross-sell hook): offering ids or URLs. */
|
|
176
|
+
recommendedDataProducts: shortList.optional(),
|
|
177
|
+
sla: z.array(OdpsSlaDimensionSchema).max(11).optional(),
|
|
178
|
+
dataQuality: z.array(OdpsQualityDimensionSchema).max(8).optional(),
|
|
179
|
+
dataHolder: OdpsDataHolderSchema.optional(),
|
|
180
|
+
license: OdpsLicenseExtrasSchema.optional(),
|
|
181
|
+
});
|
|
182
|
+
//# sourceMappingURL=odps-schemas.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"odps-schemas.js","sourceRoot":"","sources":["../../../src/models/odps-schemas.ts"],"names":[],"mappings":"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"}
|