aimeat 2.1.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 +28 -0
- package/dist/locales/fi.json +28 -0
- 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/views/inbox.css +1 -1
- package/dist/public/css/views/profile.css +9 -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/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/views/profile/access-tab/connected-apps.js +81 -5
- package/dist/public/views/profile/extensions-tab.maturity.js +4 -1
- package/dist/public/views/profile/inbox-tab/components.js +17 -1
- package/dist/public/views/profile/inbox-tab/use-thread-ux.js +29 -2
- package/dist/public/views/profile/libraries-tab.js +10 -2
- package/dist/public/views/profile/wallet-tab.js +64 -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/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/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/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/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 +11 -3
- package/dist/src/data/app-templates/shells.d.ts.map +1 -1
- package/dist/src/data/app-templates/shells.js +87 -6
- 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/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 +478 -19
- 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/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/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/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/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.d.ts.map +1 -1
- package/dist/src/mcp/exchange.js +3 -2
- package/dist/src/mcp/exchange.js.map +1 -1
- package/dist/src/mcp/extensions.d.ts.map +1 -1
- package/dist/src/mcp/extensions.js +6 -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 +23 -4
- 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 +518 -1
- package/dist/src/models/app-tool-schemas.d.ts.map +1 -1
- package/dist/src/models/app-tool-schemas.js +53 -1
- 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 +357 -2
- 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 +6 -3
- package/dist/src/models/schemas.d.ts.map +1 -1
- package/dist/src/models/schemas.js +10 -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/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 +6 -0
- package/dist/src/routes/app-grants.d.ts.map +1 -1
- package/dist/src/routes/app-grants.js +55 -25
- 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/publish.d.ts +2 -0
- package/dist/src/routes/apps/publish.d.ts.map +1 -1
- package/dist/src/routes/apps/publish.js +17 -2
- package/dist/src/routes/apps/publish.js.map +1 -1
- 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 +6 -2
- package/dist/src/routes/exchange-market.d.ts.map +1 -1
- package/dist/src/routes/exchange-market.js +154 -28
- package/dist/src/routes/exchange-market.js.map +1 -1
- package/dist/src/routes/exchange.d.ts.map +1 -1
- package/dist/src/routes/exchange.js +5 -2
- package/dist/src/routes/exchange.js.map +1 -1
- 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.map +1 -1
- package/dist/src/routes/extensions/entitlement-gate.js +13 -0
- package/dist/src/routes/extensions/entitlement-gate.js.map +1 -1
- package/dist/src/routes/extensions/manifest.d.ts +6 -0
- package/dist/src/routes/extensions/manifest.d.ts.map +1 -1
- package/dist/src/routes/extensions/manifest.js +68 -1
- 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 +17 -17
- package/dist/src/routes/extensions/paywall.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/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-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/upload.d.ts +11 -0
- package/dist/src/routes/upload.d.ts.map +1 -1
- package/dist/src/routes/upload.js +108 -28
- package/dist/src/routes/upload.js.map +1 -1
- package/dist/src/routes/webmcp.d.ts.map +1 -1
- package/dist/src/routes/webmcp.js +4 -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/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/build-app-prompt.d.ts +19 -0
- package/dist/src/services/build-app-prompt.d.ts.map +1 -1
- package/dist/src/services/build-app-prompt.js +97 -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/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/exchange-market.d.ts +41 -8
- package/dist/src/services/exchange-market.d.ts.map +1 -1
- package/dist/src/services/exchange-market.js +24 -2
- package/dist/src/services/exchange-market.js.map +1 -1
- 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.map +1 -1
- package/dist/src/services/exchange-proposals.js +2 -0
- package/dist/src/services/exchange-proposals.js.map +1 -1
- 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/metered-entitlements.d.ts +7 -0
- package/dist/src/services/metered-entitlements.d.ts.map +1 -1
- package/dist/src/services/metered-entitlements.js +4 -0
- package/dist/src/services/metered-entitlements.js.map +1 -1
- package/dist/src/services/owner-memory.d.ts +14 -1
- package/dist/src/services/owner-memory.d.ts.map +1 -1
- package/dist/src/services/owner-memory.js +8 -14
- package/dist/src/services/owner-memory.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/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/0012_unique_live_app_grant.sql +29 -0
- package/dist/src/storage/providers/sqlite/methods/apps.d.ts +3 -0
- package/dist/src/storage/providers/sqlite/methods/apps.d.ts.map +1 -1
- package/dist/src/storage/providers/sqlite/methods/apps.js +7 -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/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 +20 -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/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/organisms-federation.d.ts +29 -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/static/app-catalog/_template.html +6 -5
- package/dist/static/app-catalog/js/cortex.js +3 -1
- package/dist/static/app-catalog/js/detail.js +411 -36
- package/dist/static/app-catalog/js/i18n-data.js +279 -3
- package/dist/static/app-catalog/js/main.js +28 -37
- package/dist/static/app-catalog/js/monetize.js +204 -16
- package/dist/static/app-catalog/js/odps.js +489 -0
- package/dist/static/app-catalog/js/render.js +3 -0
- package/dist/static/app-catalog/js/workcopy.js +198 -0
- package/dist/static/app-catalog/styles/app-catalog.css +60 -0
- package/dist/static/app-catalog.html +1450 -137
- package/dist/static/sdk-libs/agents/index.js +45 -7
- package/dist/static/sdk-libs/auth/cluster.js +97 -0
- package/dist/static/sdk-libs/auth/index.js +25 -1
- package/dist/static/sdk-libs/auth/locale.js +151 -0
- package/dist/static/sdk-libs/auth/modal.js +11 -2
- package/dist/static/sdk-libs/auth/palette.js +172 -0
- package/dist/static/sdk-libs/auth/pill.js +37 -6
- package/dist/static/sdk-libs/auth/theme.js +61 -20
- package/dist/static/sdk-libs/data/index.js +70 -8
- package/dist/static/sdk-libs/dist/aimeat-agents.js +41 -8
- package/dist/static/sdk-libs/dist/aimeat-auth.js +422 -21
- package/dist/static/sdk-libs/dist/aimeat-data.js +50 -8
- package/dist/static/sdk-libs/dist/aimeat-live.js +54 -2
- package/dist/static/sdk-libs/dist/aimeat-markdown.js +32 -1
- package/dist/static/sdk-libs/live/index.js +71 -4
- package/dist/static/sdk-libs/markdown/index.js +49 -1
- package/package.json +6 -2
|
@@ -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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"}
|