@loxtep/sdk 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +30 -0
- package/README.md +274 -0
- package/dist/auth/index.d.ts +6 -0
- package/dist/auth/index.d.ts.map +1 -0
- package/dist/auth/index.js +4 -0
- package/dist/auth/index.js.map +1 -0
- package/dist/auth/jwt.d.ts +10 -0
- package/dist/auth/jwt.d.ts.map +1 -0
- package/dist/auth/jwt.js +24 -0
- package/dist/auth/jwt.js.map +1 -0
- package/dist/auth/login.d.ts +49 -0
- package/dist/auth/login.d.ts.map +1 -0
- package/dist/auth/login.js +131 -0
- package/dist/auth/login.js.map +1 -0
- package/dist/auth/token-manager.d.ts +30 -0
- package/dist/auth/token-manager.d.ts.map +1 -0
- package/dist/auth/token-manager.js +61 -0
- package/dist/auth/token-manager.js.map +1 -0
- package/dist/checkpoint/index.d.ts +6 -0
- package/dist/checkpoint/index.d.ts.map +1 -0
- package/dist/checkpoint/index.js +5 -0
- package/dist/checkpoint/index.js.map +1 -0
- package/dist/checkpoint/memory-store.d.ts +6 -0
- package/dist/checkpoint/memory-store.d.ts.map +1 -0
- package/dist/checkpoint/memory-store.js +16 -0
- package/dist/checkpoint/memory-store.js.map +1 -0
- package/dist/checkpoint/types.d.ts +14 -0
- package/dist/checkpoint/types.d.ts.map +1 -0
- package/dist/checkpoint/types.js +5 -0
- package/dist/checkpoint/types.js.map +1 -0
- package/dist/cli/auth-resolve.d.ts +19 -0
- package/dist/cli/auth-resolve.d.ts.map +1 -0
- package/dist/cli/auth-resolve.js +25 -0
- package/dist/cli/auth-resolve.js.map +1 -0
- package/dist/cli/commands/bus-cmd.d.ts +6 -0
- package/dist/cli/commands/bus-cmd.d.ts.map +1 -0
- package/dist/cli/commands/bus-cmd.js +19 -0
- package/dist/cli/commands/bus-cmd.js.map +1 -0
- package/dist/cli/commands/config-cmd.d.ts +105 -0
- package/dist/cli/commands/config-cmd.d.ts.map +1 -0
- package/dist/cli/commands/config-cmd.js +334 -0
- package/dist/cli/commands/config-cmd.js.map +1 -0
- package/dist/cli/commands/connections-cmd.d.ts +19 -0
- package/dist/cli/commands/connections-cmd.d.ts.map +1 -0
- package/dist/cli/commands/connections-cmd.js +39 -0
- package/dist/cli/commands/connections-cmd.js.map +1 -0
- package/dist/cli/commands/data-assets-cmd.d.ts +12 -0
- package/dist/cli/commands/data-assets-cmd.d.ts.map +1 -0
- package/dist/cli/commands/data-assets-cmd.js +75 -0
- package/dist/cli/commands/data-assets-cmd.js.map +1 -0
- package/dist/cli/commands/data-contracts-cmd.d.ts +12 -0
- package/dist/cli/commands/data-contracts-cmd.d.ts.map +1 -0
- package/dist/cli/commands/data-contracts-cmd.js +28 -0
- package/dist/cli/commands/data-contracts-cmd.js.map +1 -0
- package/dist/cli/commands/data-products-cmd.d.ts +15 -0
- package/dist/cli/commands/data-products-cmd.d.ts.map +1 -0
- package/dist/cli/commands/data-products-cmd.js +30 -0
- package/dist/cli/commands/data-products-cmd.js.map +1 -0
- package/dist/cli/commands/domains-cmd.d.ts +12 -0
- package/dist/cli/commands/domains-cmd.d.ts.map +1 -0
- package/dist/cli/commands/domains-cmd.js +28 -0
- package/dist/cli/commands/domains-cmd.js.map +1 -0
- package/dist/cli/commands/flows-cmd.d.ts +19 -0
- package/dist/cli/commands/flows-cmd.d.ts.map +1 -0
- package/dist/cli/commands/flows-cmd.js +37 -0
- package/dist/cli/commands/flows-cmd.js.map +1 -0
- package/dist/cli/commands/login.d.ts +28 -0
- package/dist/cli/commands/login.d.ts.map +1 -0
- package/dist/cli/commands/login.js +110 -0
- package/dist/cli/commands/login.js.map +1 -0
- package/dist/cli/commands/logout.d.ts +5 -0
- package/dist/cli/commands/logout.d.ts.map +1 -0
- package/dist/cli/commands/logout.js +9 -0
- package/dist/cli/commands/logout.js.map +1 -0
- package/dist/cli/commands/metrics-cmd.d.ts +15 -0
- package/dist/cli/commands/metrics-cmd.d.ts.map +1 -0
- package/dist/cli/commands/metrics-cmd.js +21 -0
- package/dist/cli/commands/metrics-cmd.js.map +1 -0
- package/dist/cli/commands/observe-cmd.d.ts +10 -0
- package/dist/cli/commands/observe-cmd.d.ts.map +1 -0
- package/dist/cli/commands/observe-cmd.js +10 -0
- package/dist/cli/commands/observe-cmd.js.map +1 -0
- package/dist/cli/commands/pipelines-cmd.d.ts +17 -0
- package/dist/cli/commands/pipelines-cmd.d.ts.map +1 -0
- package/dist/cli/commands/pipelines-cmd.js +52 -0
- package/dist/cli/commands/pipelines-cmd.js.map +1 -0
- package/dist/cli/commands/promises-cmd.d.ts +11 -0
- package/dist/cli/commands/promises-cmd.d.ts.map +1 -0
- package/dist/cli/commands/promises-cmd.js +53 -0
- package/dist/cli/commands/promises-cmd.js.map +1 -0
- package/dist/cli/commands/queue-cmd.d.ts +13 -0
- package/dist/cli/commands/queue-cmd.d.ts.map +1 -0
- package/dist/cli/commands/queue-cmd.js +21 -0
- package/dist/cli/commands/queue-cmd.js.map +1 -0
- package/dist/cli/commands/standards-cmd.d.ts +12 -0
- package/dist/cli/commands/standards-cmd.d.ts.map +1 -0
- package/dist/cli/commands/standards-cmd.js +28 -0
- package/dist/cli/commands/standards-cmd.js.map +1 -0
- package/dist/cli/commands/whoami.d.ts +24 -0
- package/dist/cli/commands/whoami.d.ts.map +1 -0
- package/dist/cli/commands/whoami.js +46 -0
- package/dist/cli/commands/whoami.js.map +1 -0
- package/dist/cli/commands/workflows-cmd.d.ts +18 -0
- package/dist/cli/commands/workflows-cmd.d.ts.map +1 -0
- package/dist/cli/commands/workflows-cmd.js +32 -0
- package/dist/cli/commands/workflows-cmd.js.map +1 -0
- package/dist/cli/create-cli-client.d.ts +32 -0
- package/dist/cli/create-cli-client.d.ts.map +1 -0
- package/dist/cli/create-cli-client.js +143 -0
- package/dist/cli/create-cli-client.js.map +1 -0
- package/dist/cli/credentials.d.ts +25 -0
- package/dist/cli/credentials.d.ts.map +1 -0
- package/dist/cli/credentials.js +70 -0
- package/dist/cli/credentials.js.map +1 -0
- package/dist/cli/index.d.ts +8 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +424 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/client/catalog-types.d.ts +22 -0
- package/dist/client/catalog-types.d.ts.map +1 -0
- package/dist/client/catalog-types.js +5 -0
- package/dist/client/catalog-types.js.map +1 -0
- package/dist/client/catalog.d.ts +9 -0
- package/dist/client/catalog.d.ts.map +1 -0
- package/dist/client/catalog.js +29 -0
- package/dist/client/catalog.js.map +1 -0
- package/dist/client/connection-types.d.ts +98 -0
- package/dist/client/connection-types.d.ts.map +1 -0
- package/dist/client/connection-types.js +18 -0
- package/dist/client/connection-types.js.map +1 -0
- package/dist/client/connections.d.ts +18 -0
- package/dist/client/connections.d.ts.map +1 -0
- package/dist/client/connections.js +66 -0
- package/dist/client/connections.js.map +1 -0
- package/dist/client/connectors-types.d.ts +61 -0
- package/dist/client/connectors-types.d.ts.map +1 -0
- package/dist/client/connectors-types.js +6 -0
- package/dist/client/connectors-types.js.map +1 -0
- package/dist/client/connectors.d.ts +27 -0
- package/dist/client/connectors.d.ts.map +1 -0
- package/dist/client/connectors.js +71 -0
- package/dist/client/connectors.js.map +1 -0
- package/dist/client/consumptions-types.d.ts +80 -0
- package/dist/client/consumptions-types.d.ts.map +1 -0
- package/dist/client/consumptions-types.js +5 -0
- package/dist/client/consumptions-types.js.map +1 -0
- package/dist/client/consumptions.d.ts +14 -0
- package/dist/client/consumptions.d.ts.map +1 -0
- package/dist/client/consumptions.js +47 -0
- package/dist/client/consumptions.js.map +1 -0
- package/dist/client/data-assets-types.d.ts +150 -0
- package/dist/client/data-assets-types.d.ts.map +1 -0
- package/dist/client/data-assets-types.js +5 -0
- package/dist/client/data-assets-types.js.map +1 -0
- package/dist/client/data-assets.d.ts +31 -0
- package/dist/client/data-assets.d.ts.map +1 -0
- package/dist/client/data-assets.js +182 -0
- package/dist/client/data-assets.js.map +1 -0
- package/dist/client/data-product-resolver.d.ts +92 -0
- package/dist/client/data-product-resolver.d.ts.map +1 -0
- package/dist/client/data-product-resolver.js +165 -0
- package/dist/client/data-product-resolver.js.map +1 -0
- package/dist/client/data-products-types.d.ts +182 -0
- package/dist/client/data-products-types.d.ts.map +1 -0
- package/dist/client/data-products-types.js +5 -0
- package/dist/client/data-products-types.js.map +1 -0
- package/dist/client/data-products.d.ts +63 -0
- package/dist/client/data-products.d.ts.map +1 -0
- package/dist/client/data-products.js +461 -0
- package/dist/client/data-products.js.map +1 -0
- package/dist/client/discovery-types.d.ts +74 -0
- package/dist/client/discovery-types.d.ts.map +1 -0
- package/dist/client/discovery-types.js +6 -0
- package/dist/client/discovery-types.js.map +1 -0
- package/dist/client/discovery.d.ts +14 -0
- package/dist/client/discovery.d.ts.map +1 -0
- package/dist/client/discovery.js +57 -0
- package/dist/client/discovery.js.map +1 -0
- package/dist/client/domains-types.d.ts +46 -0
- package/dist/client/domains-types.d.ts.map +1 -0
- package/dist/client/domains-types.js +6 -0
- package/dist/client/domains-types.js.map +1 -0
- package/dist/client/domains.d.ts +11 -0
- package/dist/client/domains.d.ts.map +1 -0
- package/dist/client/domains.js +39 -0
- package/dist/client/domains.js.map +1 -0
- package/dist/client/flow-queue-resolve.d.ts +9 -0
- package/dist/client/flow-queue-resolve.d.ts.map +1 -0
- package/dist/client/flow-queue-resolve.js +17 -0
- package/dist/client/flow-queue-resolve.js.map +1 -0
- package/dist/client/flow-types.d.ts +112 -0
- package/dist/client/flow-types.d.ts.map +1 -0
- package/dist/client/flow-types.js +6 -0
- package/dist/client/flow-types.js.map +1 -0
- package/dist/client/flows.d.ts +33 -0
- package/dist/client/flows.d.ts.map +1 -0
- package/dist/client/flows.js +293 -0
- package/dist/client/flows.js.map +1 -0
- package/dist/client/index.d.ts +28 -0
- package/dist/client/index.d.ts.map +1 -0
- package/dist/client/index.js +3 -0
- package/dist/client/index.js.map +1 -0
- package/dist/client/instances-types.d.ts +40 -0
- package/dist/client/instances-types.d.ts.map +1 -0
- package/dist/client/instances-types.js +6 -0
- package/dist/client/instances-types.js.map +1 -0
- package/dist/client/instances.d.ts +29 -0
- package/dist/client/instances.d.ts.map +1 -0
- package/dist/client/instances.js +41 -0
- package/dist/client/instances.js.map +1 -0
- package/dist/client/loxtep-client.d.ts +111 -0
- package/dist/client/loxtep-client.d.ts.map +1 -0
- package/dist/client/loxtep-client.js +262 -0
- package/dist/client/loxtep-client.js.map +1 -0
- package/dist/client/observe-types.d.ts +17 -0
- package/dist/client/observe-types.d.ts.map +1 -0
- package/dist/client/observe-types.js +5 -0
- package/dist/client/observe-types.js.map +1 -0
- package/dist/client/observe.d.ts +15 -0
- package/dist/client/observe.d.ts.map +1 -0
- package/dist/client/observe.js +22 -0
- package/dist/client/observe.js.map +1 -0
- package/dist/client/pipelines-types.d.ts +3 -0
- package/dist/client/pipelines-types.d.ts.map +1 -0
- package/dist/client/pipelines-types.js +3 -0
- package/dist/client/pipelines-types.js.map +1 -0
- package/dist/client/pipelines.d.ts +3 -0
- package/dist/client/pipelines.d.ts.map +1 -0
- package/dist/client/pipelines.js +3 -0
- package/dist/client/pipelines.js.map +1 -0
- package/dist/client/procedures-types.d.ts +25 -0
- package/dist/client/procedures-types.d.ts.map +1 -0
- package/dist/client/procedures-types.js +6 -0
- package/dist/client/procedures-types.js.map +1 -0
- package/dist/client/procedures.d.ts +19 -0
- package/dist/client/procedures.d.ts.map +1 -0
- package/dist/client/procedures.js +33 -0
- package/dist/client/procedures.js.map +1 -0
- package/dist/client/process-intelligence-types.d.ts +45 -0
- package/dist/client/process-intelligence-types.d.ts.map +1 -0
- package/dist/client/process-intelligence-types.js +6 -0
- package/dist/client/process-intelligence-types.js.map +1 -0
- package/dist/client/process-intelligence.d.ts +17 -0
- package/dist/client/process-intelligence.d.ts.map +1 -0
- package/dist/client/process-intelligence.js +50 -0
- package/dist/client/process-intelligence.js.map +1 -0
- package/dist/client/projects-types.d.ts +79 -0
- package/dist/client/projects-types.d.ts.map +1 -0
- package/dist/client/projects-types.js +6 -0
- package/dist/client/projects-types.js.map +1 -0
- package/dist/client/projects.d.ts +19 -0
- package/dist/client/projects.d.ts.map +1 -0
- package/dist/client/projects.js +53 -0
- package/dist/client/projects.js.map +1 -0
- package/dist/client/promises-types.d.ts +56 -0
- package/dist/client/promises-types.d.ts.map +1 -0
- package/dist/client/promises-types.js +6 -0
- package/dist/client/promises-types.js.map +1 -0
- package/dist/client/promises.d.ts +11 -0
- package/dist/client/promises.d.ts.map +1 -0
- package/dist/client/promises.js +41 -0
- package/dist/client/promises.js.map +1 -0
- package/dist/client/quality-types.d.ts +62 -0
- package/dist/client/quality-types.d.ts.map +1 -0
- package/dist/client/quality-types.js +5 -0
- package/dist/client/quality-types.js.map +1 -0
- package/dist/client/quality.d.ts +12 -0
- package/dist/client/quality.d.ts.map +1 -0
- package/dist/client/quality.js +57 -0
- package/dist/client/quality.js.map +1 -0
- package/dist/client/queue-types.d.ts +84 -0
- package/dist/client/queue-types.d.ts.map +1 -0
- package/dist/client/queue-types.js +5 -0
- package/dist/client/queue-types.js.map +1 -0
- package/dist/client/queues.d.ts +61 -0
- package/dist/client/queues.d.ts.map +1 -0
- package/dist/client/queues.js +138 -0
- package/dist/client/queues.js.map +1 -0
- package/dist/client/schemas-types.d.ts +27 -0
- package/dist/client/schemas-types.d.ts.map +1 -0
- package/dist/client/schemas-types.js +5 -0
- package/dist/client/schemas-types.js.map +1 -0
- package/dist/client/schemas.d.ts +11 -0
- package/dist/client/schemas.d.ts.map +1 -0
- package/dist/client/schemas.js +22 -0
- package/dist/client/schemas.js.map +1 -0
- package/dist/client/standards-types.d.ts +45 -0
- package/dist/client/standards-types.d.ts.map +1 -0
- package/dist/client/standards-types.js +6 -0
- package/dist/client/standards-types.js.map +1 -0
- package/dist/client/standards.d.ts +11 -0
- package/dist/client/standards.d.ts.map +1 -0
- package/dist/client/standards.js +41 -0
- package/dist/client/standards.js.map +1 -0
- package/dist/client/stubs.d.ts +35 -0
- package/dist/client/stubs.d.ts.map +1 -0
- package/dist/client/stubs.js +30 -0
- package/dist/client/stubs.js.map +1 -0
- package/dist/client/templates-types.d.ts +70 -0
- package/dist/client/templates-types.d.ts.map +1 -0
- package/dist/client/templates-types.js +7 -0
- package/dist/client/templates-types.js.map +1 -0
- package/dist/client/templates.d.ts +12 -0
- package/dist/client/templates.d.ts.map +1 -0
- package/dist/client/templates.js +38 -0
- package/dist/client/templates.js.map +1 -0
- package/dist/client/thesaurus-types.d.ts +28 -0
- package/dist/client/thesaurus-types.d.ts.map +1 -0
- package/dist/client/thesaurus-types.js +5 -0
- package/dist/client/thesaurus-types.js.map +1 -0
- package/dist/client/thesaurus.d.ts +11 -0
- package/dist/client/thesaurus.d.ts.map +1 -0
- package/dist/client/thesaurus.js +35 -0
- package/dist/client/thesaurus.js.map +1 -0
- package/dist/client/types.d.ts +80 -0
- package/dist/client/types.d.ts.map +1 -0
- package/dist/client/types.js +2 -0
- package/dist/client/types.js.map +1 -0
- package/dist/client/versions-types.d.ts +47 -0
- package/dist/client/versions-types.d.ts.map +1 -0
- package/dist/client/versions-types.js +9 -0
- package/dist/client/versions-types.js.map +1 -0
- package/dist/client/versions.d.ts +14 -0
- package/dist/client/versions.d.ts.map +1 -0
- package/dist/client/versions.js +14 -0
- package/dist/client/versions.js.map +1 -0
- package/dist/client/workflows-types.d.ts +56 -0
- package/dist/client/workflows-types.d.ts.map +1 -0
- package/dist/client/workflows-types.js +6 -0
- package/dist/client/workflows-types.js.map +1 -0
- package/dist/client/workflows.d.ts +15 -0
- package/dist/client/workflows.d.ts.map +1 -0
- package/dist/client/workflows.js +50 -0
- package/dist/client/workflows.js.map +1 -0
- package/dist/config/api-path.d.ts +17 -0
- package/dist/config/api-path.d.ts.map +1 -0
- package/dist/config/api-path.js +57 -0
- package/dist/config/api-path.js.map +1 -0
- package/dist/config/index.d.ts +10 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +9 -0
- package/dist/config/index.js.map +1 -0
- package/dist/config/load.d.ts +12 -0
- package/dist/config/load.d.ts.map +1 -0
- package/dist/config/load.js +152 -0
- package/dist/config/load.js.map +1 -0
- package/dist/config/paths.d.ts +5 -0
- package/dist/config/paths.d.ts.map +1 -0
- package/dist/config/paths.js +11 -0
- package/dist/config/paths.js.map +1 -0
- package/dist/config/platform-request-url.d.ts +35 -0
- package/dist/config/platform-request-url.d.ts.map +1 -0
- package/dist/config/platform-request-url.js +100 -0
- package/dist/config/platform-request-url.js.map +1 -0
- package/dist/config/resolve-sdk-urls.d.ts +39 -0
- package/dist/config/resolve-sdk-urls.d.ts.map +1 -0
- package/dist/config/resolve-sdk-urls.js +130 -0
- package/dist/config/resolve-sdk-urls.js.map +1 -0
- package/dist/config/save.d.ts +7 -0
- package/dist/config/save.d.ts.map +1 -0
- package/dist/config/save.js +26 -0
- package/dist/config/save.js.map +1 -0
- package/dist/config/streams-partial.d.ts +9 -0
- package/dist/config/streams-partial.d.ts.map +1 -0
- package/dist/config/streams-partial.js +30 -0
- package/dist/config/streams-partial.js.map +1 -0
- package/dist/config/types.d.ts +37 -0
- package/dist/config/types.d.ts.map +1 -0
- package/dist/config/types.js +11 -0
- package/dist/config/types.js.map +1 -0
- package/dist/errors/auth.d.ts +10 -0
- package/dist/errors/auth.d.ts.map +1 -0
- package/dist/errors/auth.js +26 -0
- package/dist/errors/auth.js.map +1 -0
- package/dist/errors/base.d.ts +15 -0
- package/dist/errors/base.d.ts.map +1 -0
- package/dist/errors/base.js +32 -0
- package/dist/errors/base.js.map +1 -0
- package/dist/errors/index.d.ts +15 -0
- package/dist/errors/index.d.ts.map +1 -0
- package/dist/errors/index.js +14 -0
- package/dist/errors/index.js.map +1 -0
- package/dist/errors/parse-http.d.ts +13 -0
- package/dist/errors/parse-http.d.ts.map +1 -0
- package/dist/errors/parse-http.js +68 -0
- package/dist/errors/parse-http.js.map +1 -0
- package/dist/errors/rate-limit.d.ts +17 -0
- package/dist/errors/rate-limit.d.ts.map +1 -0
- package/dist/errors/rate-limit.js +23 -0
- package/dist/errors/rate-limit.js.map +1 -0
- package/dist/errors/resource.d.ts +18 -0
- package/dist/errors/resource.d.ts.map +1 -0
- package/dist/errors/resource.js +32 -0
- package/dist/errors/resource.js.map +1 -0
- package/dist/errors/streaming.d.ts +19 -0
- package/dist/errors/streaming.d.ts.map +1 -0
- package/dist/errors/streaming.js +32 -0
- package/dist/errors/streaming.js.map +1 -0
- package/dist/errors/types.d.ts +44 -0
- package/dist/errors/types.d.ts.map +1 -0
- package/dist/errors/types.js +2 -0
- package/dist/errors/types.js.map +1 -0
- package/dist/errors/validation.d.ts +23 -0
- package/dist/errors/validation.d.ts.map +1 -0
- package/dist/errors/validation.js +37 -0
- package/dist/errors/validation.js.map +1 -0
- package/dist/http/client.d.ts +51 -0
- package/dist/http/client.d.ts.map +1 -0
- package/dist/http/client.js +164 -0
- package/dist/http/client.js.map +1 -0
- package/dist/http/index.d.ts +5 -0
- package/dist/http/index.d.ts.map +1 -0
- package/dist/http/index.js +3 -0
- package/dist/http/index.js.map +1 -0
- package/dist/http/signer.d.ts +15 -0
- package/dist/http/signer.d.ts.map +1 -0
- package/dist/http/signer.js +55 -0
- package/dist/http/signer.js.map +1 -0
- package/dist/index.d.ts +13 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +13 -0
- package/dist/index.js.map +1 -0
- package/dist/rstreams/configuration.d.ts +11 -0
- package/dist/rstreams/configuration.d.ts.map +1 -0
- package/dist/rstreams/configuration.js +43 -0
- package/dist/rstreams/configuration.js.map +1 -0
- package/dist/rstreams/event-bridge.d.ts +16 -0
- package/dist/rstreams/event-bridge.d.ts.map +1 -0
- package/dist/rstreams/event-bridge.js +45 -0
- package/dist/rstreams/event-bridge.js.map +1 -0
- package/dist/rstreams/leo-runtime.d.ts +9 -0
- package/dist/rstreams/leo-runtime.d.ts.map +1 -0
- package/dist/rstreams/leo-runtime.js +14 -0
- package/dist/rstreams/leo-runtime.js.map +1 -0
- package/dist/streaming/index.d.ts +2 -0
- package/dist/streaming/index.d.ts.map +1 -0
- package/dist/streaming/index.js +2 -0
- package/dist/streaming/index.js.map +1 -0
- package/dist/streaming/transformer.d.ts +15 -0
- package/dist/streaming/transformer.d.ts.map +1 -0
- package/dist/streaming/transformer.js +25 -0
- package/dist/streaming/transformer.js.map +1 -0
- package/dist/types/generated-api.d.ts +146 -0
- package/dist/types/generated-api.d.ts.map +1 -0
- package/dist/types/generated-api.js +7 -0
- package/dist/types/generated-api.js.map +1 -0
- package/dist/types/index.d.ts +5 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +5 -0
- package/dist/types/index.js.map +1 -0
- package/docs/event-replay-cookbook.md +152 -0
- package/docs/getting-started.md +332 -0
- package/docs/quick-reference.md +256 -0
- package/docs/sdk-bus-rbac-threat-model.md +46 -0
- package/docs/sdk-control-vs-data-plane.md +32 -0
- package/docs/sdk-ingestion-export-guide.md +480 -0
- package/docs/sdk-mcp-mapping.md +20 -0
- package/docs/sdk-pairing.md +42 -0
- package/docs/sdk-rest-vs-bus.md +131 -0
- package/package.json +85 -0
|
@@ -0,0 +1,461 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Data products API (backend: data products). get, list, search, get_queue_info, get_reader_checkpoint,
|
|
3
|
+
* get_writer, get_reader, invalidate_cache.
|
|
4
|
+
* Customer-facing surface: data_products.
|
|
5
|
+
*/
|
|
6
|
+
import { readQueueBatch, putPayloadsToQueue } from '../rstreams/event-bridge.js';
|
|
7
|
+
import { NotFoundError } from '../errors/resource.js';
|
|
8
|
+
import { AuthorizationError } from '../errors/auth.js';
|
|
9
|
+
import { StreamingError } from '../errors/streaming.js';
|
|
10
|
+
import { resolveStreamsConfiguration } from '../rstreams/configuration.js';
|
|
11
|
+
import { createRStreamsSdk } from '../rstreams/leo-runtime.js';
|
|
12
|
+
function buildQueryString(params) {
|
|
13
|
+
const search = new URLSearchParams();
|
|
14
|
+
for (const [k, v] of Object.entries(params)) {
|
|
15
|
+
if (v === undefined || v === null)
|
|
16
|
+
continue;
|
|
17
|
+
if (Array.isArray(v)) {
|
|
18
|
+
search.set(k, v.join(','));
|
|
19
|
+
}
|
|
20
|
+
else {
|
|
21
|
+
search.set(k, String(v));
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
const qs = search.toString();
|
|
25
|
+
return qs ? `?${qs}` : '';
|
|
26
|
+
}
|
|
27
|
+
/** Default backoff delays (ms) for retry attempts. */
|
|
28
|
+
const BACKOFF_DELAYS_MS = [0, 1000, 2000];
|
|
29
|
+
/**
|
|
30
|
+
* Determine whether an error is transient and should be retried.
|
|
31
|
+
* Transient: network errors, timeouts, throttling (429), 5xx responses.
|
|
32
|
+
*/
|
|
33
|
+
function isTransientError(err) {
|
|
34
|
+
if (err === null || err === undefined)
|
|
35
|
+
return false;
|
|
36
|
+
const statusCode = typeof err.status_code === 'number'
|
|
37
|
+
? err.status_code
|
|
38
|
+
: typeof err.statusCode === 'number'
|
|
39
|
+
? err.statusCode
|
|
40
|
+
: undefined;
|
|
41
|
+
if (statusCode !== undefined) {
|
|
42
|
+
if (statusCode === 429)
|
|
43
|
+
return true;
|
|
44
|
+
if (statusCode >= 500 && statusCode < 600)
|
|
45
|
+
return true;
|
|
46
|
+
if (statusCode >= 400 && statusCode < 500)
|
|
47
|
+
return false;
|
|
48
|
+
}
|
|
49
|
+
const code = typeof err.code === 'string'
|
|
50
|
+
? err.code
|
|
51
|
+
: undefined;
|
|
52
|
+
if (code) {
|
|
53
|
+
const transientCodes = new Set([
|
|
54
|
+
'ECONNRESET', 'ECONNREFUSED', 'ENOTFOUND', 'ETIMEDOUT', 'EPIPE',
|
|
55
|
+
'EAI_AGAIN', 'RATE_LIMIT_EXCEEDED', 'SERVICE_UNAVAILABLE', 'GATEWAY_TIMEOUT',
|
|
56
|
+
]);
|
|
57
|
+
if (transientCodes.has(code))
|
|
58
|
+
return true;
|
|
59
|
+
const nonTransientCodes = new Set([
|
|
60
|
+
'AUTHENTICATION_ERROR', 'AUTHORIZATION_ERROR', 'VALIDATION_ERROR', 'NOT_FOUND',
|
|
61
|
+
]);
|
|
62
|
+
if (nonTransientCodes.has(code))
|
|
63
|
+
return false;
|
|
64
|
+
}
|
|
65
|
+
const message = typeof err.message === 'string'
|
|
66
|
+
? err.message.toLowerCase()
|
|
67
|
+
: '';
|
|
68
|
+
if (message.includes('timeout') || message.includes('econnreset') ||
|
|
69
|
+
message.includes('econnrefused') || message.includes('network') ||
|
|
70
|
+
message.includes('socket hang up')) {
|
|
71
|
+
return true;
|
|
72
|
+
}
|
|
73
|
+
return true;
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Flush a single batch to the stream bus with retry and exponential backoff.
|
|
77
|
+
*/
|
|
78
|
+
async function flushBatchWithRetry(rsdk, botId, queueName, batch, maxRetries) {
|
|
79
|
+
let lastError;
|
|
80
|
+
for (let attempt = 0; attempt < maxRetries; attempt++) {
|
|
81
|
+
try {
|
|
82
|
+
const delay = BACKOFF_DELAYS_MS[attempt] ?? (attempt * 1000);
|
|
83
|
+
if (delay > 0)
|
|
84
|
+
await new Promise(resolve => setTimeout(resolve, delay));
|
|
85
|
+
await putPayloadsToQueue(rsdk, botId, queueName, batch);
|
|
86
|
+
return;
|
|
87
|
+
}
|
|
88
|
+
catch (err) {
|
|
89
|
+
lastError = err;
|
|
90
|
+
if (!isTransientError(err)) {
|
|
91
|
+
throw new StreamingError(`Failed to write events: ${err instanceof Error ? err.message : String(err)}`, { details: { attempt: attempt + 1, transient: false, bot_id: botId, queue_name: queueName, batch_size: batch.length } });
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
throw new StreamingError(`Failed to write events after ${maxRetries} attempts: ${lastError instanceof Error ? lastError.message : String(lastError)}`, { details: { attempts: maxRetries, transient: true, bot_id: botId, queue_name: queueName, batch_size: batch.length } });
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Create the data_products API surface (get, list, search, query, list_tables, get_queue_info, get_reader_checkpoint, stream, replay, get_writer, get_reader, invalidate_cache).
|
|
99
|
+
*/
|
|
100
|
+
export function createDataProductsApi(http, deps) {
|
|
101
|
+
return {
|
|
102
|
+
async get(id, options) {
|
|
103
|
+
const qs = options
|
|
104
|
+
? buildQueryString({
|
|
105
|
+
include_schema: options.include_schema,
|
|
106
|
+
include_quality: options.include_quality,
|
|
107
|
+
include_lineage: options.include_lineage,
|
|
108
|
+
include_contracts: options.include_contracts,
|
|
109
|
+
})
|
|
110
|
+
: '';
|
|
111
|
+
const res = await http.get(`/dataproducts/${encodeURIComponent(id)}${qs}`);
|
|
112
|
+
return res.data;
|
|
113
|
+
},
|
|
114
|
+
/**
|
|
115
|
+
* Get the glossary/lexicon (definitions) for a data product.
|
|
116
|
+
* Returns glossary_terms (term -> { definition, alt_labels?, broader?, narrower?, related? }) and field_glossary_map.
|
|
117
|
+
*/
|
|
118
|
+
async get_lexicon(id) {
|
|
119
|
+
const asset = await this.get(id);
|
|
120
|
+
const glossary_terms = asset
|
|
121
|
+
.glossary_terms ??
|
|
122
|
+
asset.metadata?.business_glossary ??
|
|
123
|
+
{};
|
|
124
|
+
const field_glossary_map = asset.metadata?.field_glossary_map ??
|
|
125
|
+
undefined;
|
|
126
|
+
return { glossary_terms, field_glossary_map };
|
|
127
|
+
},
|
|
128
|
+
async list(filters) {
|
|
129
|
+
const params = {
|
|
130
|
+
page: filters?.page ?? 1,
|
|
131
|
+
page_size: filters?.page_size ?? 100,
|
|
132
|
+
sort_by: filters?.sort_by ?? 'created_at',
|
|
133
|
+
sort_order: filters?.sort_order ?? 'desc',
|
|
134
|
+
};
|
|
135
|
+
if (filters?.domain_id)
|
|
136
|
+
params.domain_id = filters.domain_id;
|
|
137
|
+
if (filters?.status)
|
|
138
|
+
params.status = filters.status;
|
|
139
|
+
if (filters?.classification)
|
|
140
|
+
params.classification = filters.classification;
|
|
141
|
+
if (filters?.owner_user_id)
|
|
142
|
+
params.owner_user_id = filters.owner_user_id;
|
|
143
|
+
if (filters?.search)
|
|
144
|
+
params.search = filters.search;
|
|
145
|
+
if (filters?.tags?.length)
|
|
146
|
+
params.tags = filters.tags.join(',');
|
|
147
|
+
const qs = buildQueryString(params);
|
|
148
|
+
const res = await http.get(`/dataproducts${qs}`);
|
|
149
|
+
return res.data;
|
|
150
|
+
},
|
|
151
|
+
async search(query, filters) {
|
|
152
|
+
const params = {
|
|
153
|
+
q: query,
|
|
154
|
+
type: filters?.type ?? 'data_product',
|
|
155
|
+
limit: filters?.limit ?? 20,
|
|
156
|
+
offset: filters?.offset ?? 0,
|
|
157
|
+
};
|
|
158
|
+
const qs = buildQueryString(params);
|
|
159
|
+
return http.get(`/search${qs}`);
|
|
160
|
+
},
|
|
161
|
+
async query(id, sql) {
|
|
162
|
+
const res = await http.post('/dataproducts/query', { data_product_id: id, sql });
|
|
163
|
+
const payload = res.data;
|
|
164
|
+
if (!payload) {
|
|
165
|
+
return { items: [], metadata: { data_product_id: id } };
|
|
166
|
+
}
|
|
167
|
+
return payload;
|
|
168
|
+
},
|
|
169
|
+
async list_tables(id) {
|
|
170
|
+
const res = await http.get(`/dataproducts/${encodeURIComponent(id)}/tables`);
|
|
171
|
+
const payload = res.data;
|
|
172
|
+
if (!payload) {
|
|
173
|
+
return { items: [] };
|
|
174
|
+
}
|
|
175
|
+
return payload;
|
|
176
|
+
},
|
|
177
|
+
async get_queue_info(id) {
|
|
178
|
+
if (!deps) {
|
|
179
|
+
throw new Error('data_products.get_queue_info requires queues API; use LoxtepClient which wires it');
|
|
180
|
+
}
|
|
181
|
+
const asset = await this.get(id);
|
|
182
|
+
const queue_name = asset.storage?.rstreams_queue;
|
|
183
|
+
if (!queue_name) {
|
|
184
|
+
return {
|
|
185
|
+
queue_name: '',
|
|
186
|
+
checkpoints: [],
|
|
187
|
+
readers: [],
|
|
188
|
+
writers: [],
|
|
189
|
+
stats: {},
|
|
190
|
+
};
|
|
191
|
+
}
|
|
192
|
+
return deps.get_queue_metadata(queue_name);
|
|
193
|
+
},
|
|
194
|
+
async get_reader_checkpoint(id, bot_id) {
|
|
195
|
+
if (!deps) {
|
|
196
|
+
throw new Error('data_products.get_reader_checkpoint requires queues API; use LoxtepClient which wires it');
|
|
197
|
+
}
|
|
198
|
+
const asset = await this.get(id);
|
|
199
|
+
const queue_name = asset.storage?.rstreams_queue;
|
|
200
|
+
if (!queue_name) {
|
|
201
|
+
throw new Error(`Data product ${id} has no stream queue in storage (not configured)`);
|
|
202
|
+
}
|
|
203
|
+
return deps.get_reader_checkpoint(queue_name, bot_id);
|
|
204
|
+
},
|
|
205
|
+
async create(body) {
|
|
206
|
+
const res = await http.post('/dataproducts', body);
|
|
207
|
+
const data = res.data;
|
|
208
|
+
if (!data)
|
|
209
|
+
throw new Error('Invalid create data product response');
|
|
210
|
+
return data;
|
|
211
|
+
},
|
|
212
|
+
async *stream(id, options) {
|
|
213
|
+
let asset;
|
|
214
|
+
try {
|
|
215
|
+
asset = await this.get(id);
|
|
216
|
+
}
|
|
217
|
+
catch (err) {
|
|
218
|
+
// Wrap 404s in NotFoundError for data product lookup failures
|
|
219
|
+
if (err && typeof err === 'object' && 'status_code' in err && err.status_code === 404) {
|
|
220
|
+
throw new NotFoundError(`Data product '${id}' not found`, 'data_product', id);
|
|
221
|
+
}
|
|
222
|
+
throw err;
|
|
223
|
+
}
|
|
224
|
+
const queue_name = asset.storage?.rstreams_queue;
|
|
225
|
+
if (!queue_name) {
|
|
226
|
+
throw new StreamingError(`Data product ${id} has no stream queue in storage (not configured)`, {
|
|
227
|
+
details: {
|
|
228
|
+
data_product_id: id,
|
|
229
|
+
hint: 'Verify the data product has a configured stream queue in its storage settings.',
|
|
230
|
+
},
|
|
231
|
+
});
|
|
232
|
+
}
|
|
233
|
+
const batch_size = options?.batch_size ?? 100;
|
|
234
|
+
const bot_id = options?.bot_id;
|
|
235
|
+
const rsdk = deps?.rsdk ?? (await deps?.get_rsdk?.());
|
|
236
|
+
if (rsdk && !bot_id) {
|
|
237
|
+
throw new StreamingError('data_products.stream: bot_id is required when the stream bus is configured (LoxtepClient with streams/LEO_*). Use HTTP observe only by leaving bus env unset, or pass options.bot_id.', {
|
|
238
|
+
details: {
|
|
239
|
+
data_product_id: id,
|
|
240
|
+
queue_name,
|
|
241
|
+
hint: 'Pass options.bot_id to stream(), or leave stream bus unconfigured to use HTTP observe.',
|
|
242
|
+
},
|
|
243
|
+
});
|
|
244
|
+
}
|
|
245
|
+
if (rsdk && bot_id) {
|
|
246
|
+
let readCursor = options?.from ?? options?.checkpoint ?? undefined;
|
|
247
|
+
while (true) {
|
|
248
|
+
let batch;
|
|
249
|
+
try {
|
|
250
|
+
batch = await readQueueBatch(rsdk, bot_id, queue_name, batch_size, readCursor ?? null);
|
|
251
|
+
}
|
|
252
|
+
catch (err) {
|
|
253
|
+
// Map stream bus errors to typed SDK errors
|
|
254
|
+
const msg = err instanceof Error ? err.message : String(err);
|
|
255
|
+
if (/not found|does not exist|no such queue/i.test(msg)) {
|
|
256
|
+
throw new NotFoundError(`Queue '${queue_name}' not found. Verify the queue exists in your data product`, 'queue', queue_name, { details: { data_product_id: id, bot_id } });
|
|
257
|
+
}
|
|
258
|
+
if (/unauthorized|forbidden|permission|access denied/i.test(msg)) {
|
|
259
|
+
throw new AuthorizationError(`Bot '${bot_id}' does not have read permission on queue '${queue_name}'`, { data_product_id: id, bot_id, queue_name });
|
|
260
|
+
}
|
|
261
|
+
throw err;
|
|
262
|
+
}
|
|
263
|
+
const events = batch.events;
|
|
264
|
+
const batchNext = batch.next_start;
|
|
265
|
+
for (const event of events) {
|
|
266
|
+
yield event;
|
|
267
|
+
}
|
|
268
|
+
if (events.length === 0)
|
|
269
|
+
break;
|
|
270
|
+
if (!batchNext || events.length < batch_size)
|
|
271
|
+
break;
|
|
272
|
+
readCursor = batchNext;
|
|
273
|
+
}
|
|
274
|
+
return;
|
|
275
|
+
}
|
|
276
|
+
let httpStart = options?.from ?? options?.checkpoint ?? undefined;
|
|
277
|
+
const path = `/observe/trace/${encodeURIComponent(queue_name)}/events`;
|
|
278
|
+
while (true) {
|
|
279
|
+
const qs = buildQueryString({ start: httpStart, limit: batch_size });
|
|
280
|
+
const res = await http.get(`${path}${qs}`);
|
|
281
|
+
const payload = res.data ?? res;
|
|
282
|
+
const events = payload.events ??
|
|
283
|
+
res.events ??
|
|
284
|
+
[];
|
|
285
|
+
for (const event of events) {
|
|
286
|
+
yield event;
|
|
287
|
+
}
|
|
288
|
+
if (events.length < batch_size)
|
|
289
|
+
break;
|
|
290
|
+
const last = events[events.length - 1];
|
|
291
|
+
httpStart =
|
|
292
|
+
last.event_id ?? last.id;
|
|
293
|
+
if (!httpStart)
|
|
294
|
+
break;
|
|
295
|
+
}
|
|
296
|
+
},
|
|
297
|
+
async *replay(id, options) {
|
|
298
|
+
let asset;
|
|
299
|
+
try {
|
|
300
|
+
asset = await this.get(id);
|
|
301
|
+
}
|
|
302
|
+
catch (err) {
|
|
303
|
+
// Wrap 404s in NotFoundError for data product lookup failures
|
|
304
|
+
if (err && typeof err === 'object' && 'status_code' in err && err.status_code === 404) {
|
|
305
|
+
throw new NotFoundError(`Data product '${id}' not found`, 'data_product', id);
|
|
306
|
+
}
|
|
307
|
+
throw err;
|
|
308
|
+
}
|
|
309
|
+
const queue_name = asset.storage?.rstreams_queue;
|
|
310
|
+
if (!queue_name) {
|
|
311
|
+
throw new StreamingError(`Data product ${id} has no stream queue in storage (not configured)`, {
|
|
312
|
+
details: {
|
|
313
|
+
data_product_id: id,
|
|
314
|
+
hint: 'Verify the data product has a configured stream queue in its storage settings.',
|
|
315
|
+
},
|
|
316
|
+
});
|
|
317
|
+
}
|
|
318
|
+
const limit = options?.limit ?? 1000;
|
|
319
|
+
const start = options?.from_beginning
|
|
320
|
+
? '0'
|
|
321
|
+
: (options?.from_eid ?? options?.from_timestamp ?? options?.checkpoint_id ?? undefined);
|
|
322
|
+
const end = options?.to_eid ?? options?.to_timestamp ?? undefined;
|
|
323
|
+
const path = `/observe/trace/${encodeURIComponent(queue_name)}/events`;
|
|
324
|
+
const qs = buildQueryString({
|
|
325
|
+
start: start ?? undefined,
|
|
326
|
+
end: end ?? undefined,
|
|
327
|
+
limit,
|
|
328
|
+
});
|
|
329
|
+
const res = await http.get(`${path}${qs}`);
|
|
330
|
+
const payload = res.data ?? res;
|
|
331
|
+
const events = payload.events ??
|
|
332
|
+
res.events ??
|
|
333
|
+
[];
|
|
334
|
+
for (const event of events) {
|
|
335
|
+
yield event;
|
|
336
|
+
}
|
|
337
|
+
},
|
|
338
|
+
/**
|
|
339
|
+
* Resolve a data product by name or UUID and return a FlowWriter that writes
|
|
340
|
+
* directly to the data product's queue using the deployment-resolved bot_id.
|
|
341
|
+
*
|
|
342
|
+
* The resolution chain: data product → deployment_bindings → stream config → RStreams SDK → FlowWriter.
|
|
343
|
+
*/
|
|
344
|
+
async get_writer(idOrName, options) {
|
|
345
|
+
const resolver = deps?.resolver;
|
|
346
|
+
if (!resolver) {
|
|
347
|
+
throw new StreamingError('data_products.get_writer requires DataProductResolver. Use LoxtepClient which wires it automatically.', { details: { hint: 'Instantiate via new LoxtepClient({ ... }) rather than calling createDataProductsApi directly.' } });
|
|
348
|
+
}
|
|
349
|
+
const { dataProduct, streamConfig } = await resolver.resolve(idOrName);
|
|
350
|
+
const streamResources = resolveStreamsConfiguration(streamConfig);
|
|
351
|
+
if (!streamResources) {
|
|
352
|
+
throw new StreamingError(`Failed to resolve stream bus configuration for data product '${dataProduct.name}'. Stream config is incomplete.`, {
|
|
353
|
+
details: {
|
|
354
|
+
data_product_id: dataProduct.data_product_id,
|
|
355
|
+
instance_id: dataProduct.instance_id,
|
|
356
|
+
hint: 'Verify the instance has a fully provisioned stream bus.',
|
|
357
|
+
},
|
|
358
|
+
});
|
|
359
|
+
}
|
|
360
|
+
const rsdk = createRStreamsSdk(streamResources);
|
|
361
|
+
const botId = options?.bot_id ?? dataProduct.bot_id;
|
|
362
|
+
const queueName = dataProduct.queue_name;
|
|
363
|
+
const batchSize = options?.batch_size ?? 100;
|
|
364
|
+
const maxRetries = options?.max_retries ?? 3;
|
|
365
|
+
const buffer = [];
|
|
366
|
+
let closed = false;
|
|
367
|
+
return {
|
|
368
|
+
write(event) {
|
|
369
|
+
if (closed) {
|
|
370
|
+
throw new StreamingError('Cannot write to a closed FlowWriter. Create a new writer via data_products.get_writer().', { details: { data_product_id: dataProduct.data_product_id, queue_name: queueName } });
|
|
371
|
+
}
|
|
372
|
+
buffer.push(event);
|
|
373
|
+
},
|
|
374
|
+
async close() {
|
|
375
|
+
if (closed)
|
|
376
|
+
return;
|
|
377
|
+
closed = true;
|
|
378
|
+
if (buffer.length === 0) {
|
|
379
|
+
buffer.length = 0;
|
|
380
|
+
return;
|
|
381
|
+
}
|
|
382
|
+
const events = [...buffer];
|
|
383
|
+
buffer.length = 0;
|
|
384
|
+
for (let i = 0; i < events.length; i += batchSize) {
|
|
385
|
+
const batch = events.slice(i, i + batchSize);
|
|
386
|
+
await flushBatchWithRetry(rsdk, botId, queueName, batch, maxRetries);
|
|
387
|
+
}
|
|
388
|
+
},
|
|
389
|
+
};
|
|
390
|
+
},
|
|
391
|
+
/**
|
|
392
|
+
* Resolve a data product by name or UUID and return an AsyncIterable that reads
|
|
393
|
+
* events from the data product's queue.
|
|
394
|
+
*
|
|
395
|
+
* The resolution chain: data product → deployment_bindings → stream config → RStreams SDK → reader.
|
|
396
|
+
*/
|
|
397
|
+
async get_reader(idOrName, options) {
|
|
398
|
+
const resolver = deps?.resolver;
|
|
399
|
+
if (!resolver) {
|
|
400
|
+
throw new StreamingError('data_products.get_reader requires DataProductResolver. Use LoxtepClient which wires it automatically.', { details: { hint: 'Instantiate via new LoxtepClient({ ... }) rather than calling createDataProductsApi directly.' } });
|
|
401
|
+
}
|
|
402
|
+
const { dataProduct, streamConfig } = await resolver.resolve(idOrName);
|
|
403
|
+
const streamResources = resolveStreamsConfiguration(streamConfig);
|
|
404
|
+
if (!streamResources) {
|
|
405
|
+
throw new StreamingError(`Failed to resolve stream bus configuration for data product '${dataProduct.name}'. Stream config is incomplete.`, {
|
|
406
|
+
details: {
|
|
407
|
+
data_product_id: dataProduct.data_product_id,
|
|
408
|
+
instance_id: dataProduct.instance_id,
|
|
409
|
+
hint: 'Verify the instance has a fully provisioned stream bus.',
|
|
410
|
+
},
|
|
411
|
+
});
|
|
412
|
+
}
|
|
413
|
+
const rsdk = createRStreamsSdk(streamResources);
|
|
414
|
+
const botId = options?.bot_id ?? `sdk-reader-${dataProduct.name}`;
|
|
415
|
+
const queueName = dataProduct.queue_name;
|
|
416
|
+
const batchSize = options?.batch_size ?? 100;
|
|
417
|
+
const startFrom = options?.from ?? undefined;
|
|
418
|
+
async function* readEvents() {
|
|
419
|
+
let readCursor = startFrom;
|
|
420
|
+
while (true) {
|
|
421
|
+
let batch;
|
|
422
|
+
try {
|
|
423
|
+
batch = await readQueueBatch(rsdk, botId, queueName, batchSize, readCursor ?? null);
|
|
424
|
+
}
|
|
425
|
+
catch (err) {
|
|
426
|
+
const msg = err instanceof Error ? err.message : String(err);
|
|
427
|
+
if (/not found|does not exist|no such queue/i.test(msg)) {
|
|
428
|
+
throw new NotFoundError(`Queue '${queueName}' not found. Verify the data product has been deployed and the queue exists.`, 'queue', queueName, { details: { data_product_id: dataProduct.data_product_id, bot_id: botId } });
|
|
429
|
+
}
|
|
430
|
+
if (/unauthorized|forbidden|permission|access denied/i.test(msg)) {
|
|
431
|
+
throw new AuthorizationError(`Bot '${botId}' does not have read permission on queue '${queueName}'`, { data_product_id: dataProduct.data_product_id, bot_id: botId, queue_name: queueName });
|
|
432
|
+
}
|
|
433
|
+
throw err;
|
|
434
|
+
}
|
|
435
|
+
const events = batch.events;
|
|
436
|
+
const batchNext = batch.next_start;
|
|
437
|
+
for (const event of events) {
|
|
438
|
+
yield event;
|
|
439
|
+
}
|
|
440
|
+
if (events.length === 0)
|
|
441
|
+
break;
|
|
442
|
+
if (!batchNext || events.length < batchSize)
|
|
443
|
+
break;
|
|
444
|
+
readCursor = batchNext;
|
|
445
|
+
}
|
|
446
|
+
}
|
|
447
|
+
return readEvents();
|
|
448
|
+
},
|
|
449
|
+
/**
|
|
450
|
+
* Invalidate cached data product resolutions. If no argument is provided,
|
|
451
|
+
* clears all cached entries. If a specific name or ID is provided, removes only that entry.
|
|
452
|
+
*/
|
|
453
|
+
invalidate_cache(idOrName) {
|
|
454
|
+
const resolver = deps?.resolver;
|
|
455
|
+
if (!resolver)
|
|
456
|
+
return;
|
|
457
|
+
resolver.invalidate(idOrName);
|
|
458
|
+
},
|
|
459
|
+
};
|
|
460
|
+
}
|
|
461
|
+
//# sourceMappingURL=data-products.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"data-products.js","sourceRoot":"","sources":["../../src/client/data-products.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Discovery API types (MCP tools: search_catalog, get_evidence, get_lineage_impact, get_governance_flags, run_discovery).
|
|
3
|
+
* snake_case per backend conventions.
|
|
4
|
+
*/
|
|
5
|
+
export interface DiscoverySearchOptions {
|
|
6
|
+
query: string;
|
|
7
|
+
type?: 'data_product' | 'workflow' | 'connection' | 'entity';
|
|
8
|
+
domain_id?: string;
|
|
9
|
+
tags?: string[];
|
|
10
|
+
include_evidence?: boolean;
|
|
11
|
+
include_lineage?: boolean;
|
|
12
|
+
limit?: number;
|
|
13
|
+
offset?: number;
|
|
14
|
+
}
|
|
15
|
+
export interface DiscoverySearchResultItem {
|
|
16
|
+
id?: string;
|
|
17
|
+
type?: string;
|
|
18
|
+
name?: string;
|
|
19
|
+
title?: string;
|
|
20
|
+
description?: string;
|
|
21
|
+
quality_score?: number | null;
|
|
22
|
+
last_ingestion?: string | null;
|
|
23
|
+
classification?: string | null;
|
|
24
|
+
pii_fields?: string[] | null;
|
|
25
|
+
last_schema_change?: string | null;
|
|
26
|
+
has_breaking_changes?: boolean | null;
|
|
27
|
+
downstream_count?: number | null;
|
|
28
|
+
[key: string]: unknown;
|
|
29
|
+
}
|
|
30
|
+
export interface DiscoverySearchResponse {
|
|
31
|
+
results?: DiscoverySearchResultItem[];
|
|
32
|
+
totalCount?: number;
|
|
33
|
+
[key: string]: unknown;
|
|
34
|
+
}
|
|
35
|
+
export interface EvidenceItem {
|
|
36
|
+
data_product_id: string;
|
|
37
|
+
quality_score?: number | null;
|
|
38
|
+
quality_status?: string | null;
|
|
39
|
+
last_ingestion?: string | null;
|
|
40
|
+
ingestion_status?: string | null;
|
|
41
|
+
classification?: string | null;
|
|
42
|
+
pii_fields?: string[] | null;
|
|
43
|
+
}
|
|
44
|
+
export interface GetEvidenceResponse {
|
|
45
|
+
evidence: EvidenceItem[];
|
|
46
|
+
}
|
|
47
|
+
export interface GetLineageImpactResponse {
|
|
48
|
+
data_product_id: string;
|
|
49
|
+
downstream_count: number | null;
|
|
50
|
+
message?: string;
|
|
51
|
+
}
|
|
52
|
+
export interface GetGovernanceFlagsResponse {
|
|
53
|
+
data_product_id: string;
|
|
54
|
+
classification: string | null;
|
|
55
|
+
pii_fields: string[] | null;
|
|
56
|
+
}
|
|
57
|
+
export interface RunDiscoveryResponse {
|
|
58
|
+
message: string;
|
|
59
|
+
tools: string[];
|
|
60
|
+
}
|
|
61
|
+
/** MCP tool call response envelope (content[0].text holds JSON stringified result). */
|
|
62
|
+
export interface McpToolCallResponse {
|
|
63
|
+
success: boolean;
|
|
64
|
+
data: {
|
|
65
|
+
content: Array<{
|
|
66
|
+
type: 'text' | 'image' | 'resource';
|
|
67
|
+
text?: string;
|
|
68
|
+
data?: string;
|
|
69
|
+
mimeType?: string;
|
|
70
|
+
uri?: string;
|
|
71
|
+
}>;
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
//# sourceMappingURL=discovery-types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"discovery-types.d.ts","sourceRoot":"","sources":["../../src/client/discovery-types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,cAAc,GAAG,UAAU,GAAG,YAAY,GAAG,QAAQ,CAAC;IAC7D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,yBAAyB;IACxC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,UAAU,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAC7B,kBAAkB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,oBAAoB,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IACtC,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,uBAAuB;IACtC,OAAO,CAAC,EAAE,yBAAyB,EAAE,CAAC;IACtC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,YAAY;IAC3B,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,UAAU,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;CAC9B;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,YAAY,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,wBAAwB;IACvC,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,0BAA0B;IACzC,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,UAAU,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;CAC7B;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,uFAAuF;AACvF,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE;QACJ,OAAO,EAAE,KAAK,CAAC;YACb,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,UAAU,CAAC;YACpC,IAAI,CAAC,EAAE,MAAM,CAAC;YACd,IAAI,CAAC,EAAE,MAAM,CAAC;YACd,QAAQ,CAAC,EAAE,MAAM,CAAC;YAClB,GAAG,CAAC,EAAE,MAAM,CAAC;SACd,CAAC,CAAC;KACJ,CAAC;CACH"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"discovery-types.js","sourceRoot":"","sources":["../../src/client/discovery-types.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Discovery API (MCP tools: search_catalog, get_evidence, get_lineage_impact, get_governance_flags, run_discovery).
|
|
3
|
+
* Calls POST /ai/mcp/tools/call; results are access-filtered when user context is present.
|
|
4
|
+
*/
|
|
5
|
+
import type { LoxtepHttpClient } from '../http/client.js';
|
|
6
|
+
import type { DiscoverySearchOptions, DiscoverySearchResponse, GetEvidenceResponse, GetLineageImpactResponse, GetGovernanceFlagsResponse, RunDiscoveryResponse } from './discovery-types.js';
|
|
7
|
+
export declare function createDiscoveryApi(http: LoxtepHttpClient): {
|
|
8
|
+
search: (options: DiscoverySearchOptions) => Promise<DiscoverySearchResponse>;
|
|
9
|
+
getEvidence: (dataProductIds: string[]) => Promise<GetEvidenceResponse>;
|
|
10
|
+
getLineageImpact: (dataProductId: string) => Promise<GetLineageImpactResponse>;
|
|
11
|
+
getGovernanceFlags: (dataProductId: string) => Promise<GetGovernanceFlagsResponse>;
|
|
12
|
+
runDiscovery: () => Promise<RunDiscoveryResponse>;
|
|
13
|
+
};
|
|
14
|
+
//# sourceMappingURL=discovery.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"discovery.d.ts","sourceRoot":"","sources":["../../src/client/discovery.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,KAAK,EACV,sBAAsB,EACtB,uBAAuB,EACvB,mBAAmB,EACnB,wBAAwB,EACxB,0BAA0B,EAC1B,oBAAoB,EAErB,MAAM,sBAAsB,CAAC;AAyB9B,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,gBAAgB,GAAG;IAC1D,MAAM,EAAE,CAAC,OAAO,EAAE,sBAAsB,KAAK,OAAO,CAAC,uBAAuB,CAAC,CAAC;IAC9E,WAAW,EAAE,CAAC,cAAc,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACxE,gBAAgB,EAAE,CAAC,aAAa,EAAE,MAAM,KAAK,OAAO,CAAC,wBAAwB,CAAC,CAAC;IAC/E,kBAAkB,EAAE,CAAC,aAAa,EAAE,MAAM,KAAK,OAAO,CAAC,0BAA0B,CAAC,CAAC;IACnF,YAAY,EAAE,MAAM,OAAO,CAAC,oBAAoB,CAAC,CAAC;CACnD,CAsCA"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Discovery API (MCP tools: search_catalog, get_evidence, get_lineage_impact, get_governance_flags, run_discovery).
|
|
3
|
+
* Calls POST /ai/mcp/tools/call; results are access-filtered when user context is present.
|
|
4
|
+
*/
|
|
5
|
+
const MCP_TOOLS_PATH = '/ai/mcp/tools/call';
|
|
6
|
+
function parseToolResponse(res) {
|
|
7
|
+
const first = res?.data?.content?.[0];
|
|
8
|
+
if (first?.type === 'text' && typeof first.text === 'string') {
|
|
9
|
+
try {
|
|
10
|
+
return JSON.parse(first.text);
|
|
11
|
+
}
|
|
12
|
+
catch {
|
|
13
|
+
return { raw: first.text };
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
return res;
|
|
17
|
+
}
|
|
18
|
+
async function callTool(http, name, args) {
|
|
19
|
+
const res = await http.post(MCP_TOOLS_PATH, { name, arguments: args });
|
|
20
|
+
return parseToolResponse(res);
|
|
21
|
+
}
|
|
22
|
+
export function createDiscoveryApi(http) {
|
|
23
|
+
return {
|
|
24
|
+
async search(options) {
|
|
25
|
+
const args = {
|
|
26
|
+
query: options.query,
|
|
27
|
+
type: options.type,
|
|
28
|
+
domain_id: options.domain_id,
|
|
29
|
+
tags: options.tags,
|
|
30
|
+
include_evidence: options.include_evidence,
|
|
31
|
+
include_lineage: options.include_lineage,
|
|
32
|
+
limit: options.limit,
|
|
33
|
+
offset: options.offset,
|
|
34
|
+
};
|
|
35
|
+
return callTool(http, 'search_catalog', args);
|
|
36
|
+
},
|
|
37
|
+
async getEvidence(dataProductIds) {
|
|
38
|
+
return callTool(http, 'get_evidence', {
|
|
39
|
+
data_product_ids: dataProductIds,
|
|
40
|
+
});
|
|
41
|
+
},
|
|
42
|
+
async getLineageImpact(dataProductId) {
|
|
43
|
+
return callTool(http, 'get_lineage_impact', {
|
|
44
|
+
data_product_id: dataProductId,
|
|
45
|
+
});
|
|
46
|
+
},
|
|
47
|
+
async getGovernanceFlags(dataProductId) {
|
|
48
|
+
return callTool(http, 'get_governance_flags', {
|
|
49
|
+
data_product_id: dataProductId,
|
|
50
|
+
});
|
|
51
|
+
},
|
|
52
|
+
async runDiscovery() {
|
|
53
|
+
return callTool(http, 'run_discovery', {});
|
|
54
|
+
},
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=discovery.js.map
|