@ductape/sdk 0.0.4-v9 → 0.0.4-v91
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/agents/agent-context.d.ts +98 -0
- package/dist/agents/agent-context.js +588 -0
- package/dist/agents/agent-context.js.map +1 -0
- package/dist/agents/agent-executor.d.ts +180 -0
- package/dist/agents/agent-executor.js +715 -0
- package/dist/agents/agent-executor.js.map +1 -0
- package/dist/agents/agents.service.d.ts +310 -0
- package/dist/agents/agents.service.js +1249 -0
- package/dist/agents/agents.service.js.map +1 -0
- package/dist/agents/index.d.ts +55 -0
- package/dist/agents/index.js +110 -0
- package/dist/agents/index.js.map +1 -0
- package/dist/agents/memory-manager.d.ts +182 -0
- package/dist/agents/memory-manager.js +383 -0
- package/dist/agents/memory-manager.js.map +1 -0
- package/dist/agents/tool-registry.d.ts +141 -0
- package/dist/agents/tool-registry.js +355 -0
- package/dist/agents/tool-registry.js.map +1 -0
- package/dist/agents/types/agents.types.d.ts +1227 -0
- package/dist/agents/types/agents.types.js +12 -0
- package/dist/agents/types/agents.types.js.map +1 -0
- package/dist/agents/types/index.d.ts +6 -0
- package/dist/agents/types/index.js +23 -0
- package/dist/agents/types/index.js.map +1 -0
- package/dist/agents/vector-store-adapter.d.ts +108 -0
- package/dist/agents/vector-store-adapter.js +213 -0
- package/dist/agents/vector-store-adapter.js.map +1 -0
- package/dist/api/services/appApi.service.d.ts +51 -5
- package/dist/api/services/appApi.service.js +101 -3
- package/dist/api/services/appApi.service.js.map +1 -1
- package/dist/api/services/pricingApi.service.d.ts +10 -0
- package/dist/api/services/pricingApi.service.js +34 -0
- package/dist/api/services/pricingApi.service.js.map +1 -0
- package/dist/api/services/processorApi.service.d.ts +322 -0
- package/dist/api/services/processorApi.service.js +252 -0
- package/dist/api/services/processorApi.service.js.map +1 -1
- package/dist/api/services/productsApi.service.d.ts +105 -0
- package/dist/api/services/productsApi.service.js +139 -3
- package/dist/api/services/productsApi.service.js.map +1 -1
- package/dist/api/services/resilienceApi.service.d.ts +106 -0
- package/dist/api/services/resilienceApi.service.js +224 -0
- package/dist/api/services/resilienceApi.service.js.map +1 -0
- package/dist/api/services/secretsApi.service.d.ts +50 -0
- package/dist/api/services/secretsApi.service.js +124 -0
- package/dist/api/services/secretsApi.service.js.map +1 -0
- package/dist/api/services/workflowApi.service.d.ts +199 -0
- package/dist/api/services/workflowApi.service.js +183 -0
- package/dist/api/services/workflowApi.service.js.map +1 -0
- package/dist/api/services/workspaceApi.service.d.ts +8 -0
- package/dist/api/services/workspaceApi.service.js +20 -0
- package/dist/api/services/workspaceApi.service.js.map +1 -1
- package/dist/api/urls.d.ts +62 -0
- package/dist/api/urls.js +87 -17
- package/dist/api/urls.js.map +1 -1
- package/dist/api/utils/auth.utils.d.ts +1 -3
- package/dist/api/utils/auth.utils.js.map +1 -1
- package/dist/api/utils/cache.utils.d.ts +1 -1
- package/dist/api/utils/cache.utils.js +2 -2
- package/dist/api/utils/cache.utils.js.map +1 -1
- package/dist/api/utils/strings.utils.d.ts +2 -0
- package/dist/api/utils/strings.utils.js +14 -0
- package/dist/api/utils/strings.utils.js.map +1 -1
- package/dist/apps/services/app.service.d.ts +41 -33
- package/dist/apps/services/app.service.js +472 -184
- package/dist/apps/services/app.service.js.map +1 -1
- package/dist/apps/utils/auth-context-manager.d.ts +137 -0
- package/dist/apps/utils/auth-context-manager.js +248 -0
- package/dist/apps/utils/auth-context-manager.js.map +1 -0
- package/dist/apps/utils/credential-manager.d.ts +128 -0
- package/dist/apps/utils/credential-manager.js +199 -0
- package/dist/apps/utils/credential-manager.js.map +1 -0
- package/dist/apps/utils/index.d.ts +10 -0
- package/dist/apps/utils/index.js +54 -0
- package/dist/apps/utils/index.js.map +1 -0
- package/dist/apps/utils/input-helpers.d.ts +67 -0
- package/dist/apps/utils/input-helpers.js +185 -0
- package/dist/apps/utils/input-helpers.js.map +1 -0
- package/dist/apps/utils/input-resolver.d.ts +165 -0
- package/dist/apps/utils/input-resolver.js +477 -0
- package/dist/apps/utils/input-resolver.js.map +1 -0
- package/dist/apps/utils/oauth-manager.d.ts +196 -0
- package/dist/apps/utils/oauth-manager.js +429 -0
- package/dist/apps/utils/oauth-manager.js.map +1 -0
- package/dist/apps/validators/joi-validators/create.appAction.validator.d.ts +1 -2
- package/dist/apps/validators/joi-validators/create.appAction.validator.js +21 -2
- package/dist/apps/validators/joi-validators/create.appAction.validator.js.map +1 -1
- package/dist/apps/validators/joi-validators/update.appAction.validator.js +11 -1
- package/dist/apps/validators/joi-validators/update.appAction.validator.js.map +1 -1
- package/dist/apps/validators/joi-validators/update.appActionResponse.validator.d.ts +1 -1
- package/dist/apps/validators/joi-validators/update.appActionResponse.validator.js +34 -1
- package/dist/apps/validators/joi-validators/update.appActionResponse.validator.js.map +1 -1
- package/dist/bin.d.ts +26 -0
- package/dist/bin.js +28 -0
- package/dist/bin.js.map +1 -0
- package/dist/brokers/brokers.service.d.ts +297 -0
- package/dist/brokers/brokers.service.js +797 -0
- package/dist/brokers/brokers.service.js.map +1 -0
- package/dist/brokers/index.d.ts +46 -0
- package/dist/brokers/index.js +83 -0
- package/dist/brokers/index.js.map +1 -0
- package/dist/brokers/types/index.d.ts +316 -0
- package/dist/brokers/types/index.js +8 -0
- package/dist/brokers/types/index.js.map +1 -0
- package/dist/brokers/utils/broker.util.d.ts +33 -0
- package/dist/brokers/utils/broker.util.js +125 -0
- package/dist/brokers/utils/broker.util.js.map +1 -0
- package/dist/brokers/utils/providers/aws-sqs.service.d.ts +16 -0
- package/dist/brokers/utils/providers/aws-sqs.service.js +71 -0
- package/dist/brokers/utils/providers/aws-sqs.service.js.map +1 -0
- package/dist/brokers/utils/providers/google-pubsub.service.d.ts +16 -0
- package/dist/brokers/utils/providers/google-pubsub.service.js +43 -0
- package/dist/brokers/utils/providers/google-pubsub.service.js.map +1 -0
- package/dist/brokers/utils/providers/index.d.ts +6 -0
- package/dist/brokers/utils/providers/index.js +16 -0
- package/dist/brokers/utils/providers/index.js.map +1 -0
- package/dist/brokers/utils/providers/kafka.service.d.ts +23 -0
- package/dist/brokers/utils/providers/kafka.service.js +131 -0
- package/dist/brokers/utils/providers/kafka.service.js.map +1 -0
- package/dist/brokers/utils/providers/nats.service.d.ts +18 -0
- package/dist/brokers/utils/providers/nats.service.js +63 -0
- package/dist/brokers/utils/providers/nats.service.js.map +1 -0
- package/dist/brokers/utils/providers/rabbitmq.service.d.ts +15 -0
- package/dist/brokers/utils/providers/rabbitmq.service.js +151 -0
- package/dist/brokers/utils/providers/rabbitmq.service.js.map +1 -0
- package/dist/brokers/utils/providers/redis.service.d.ts +18 -0
- package/dist/brokers/utils/providers/redis.service.js +93 -0
- package/dist/brokers/utils/providers/redis.service.js.map +1 -0
- package/dist/cache/cache.manager.d.ts +229 -0
- package/dist/cache/cache.manager.js +460 -0
- package/dist/cache/cache.manager.js.map +1 -0
- package/dist/cache/cache.service.d.ts +186 -0
- package/dist/cache/cache.service.js +437 -0
- package/dist/cache/cache.service.js.map +1 -0
- package/dist/cache/index.d.ts +52 -0
- package/dist/cache/index.js +79 -0
- package/dist/cache/index.js.map +1 -0
- package/dist/cache/types/index.d.ts +106 -0
- package/dist/cache/types/index.js +6 -0
- package/dist/cache/types/index.js.map +1 -0
- package/dist/clients/pricing.client.d.ts +3 -0
- package/dist/clients/pricing.client.js +33 -0
- package/dist/clients/pricing.client.js.map +1 -0
- package/dist/database/actions/action-manager.d.ts +170 -0
- package/dist/database/actions/action-manager.js +465 -0
- package/dist/database/actions/action-manager.js.map +1 -0
- package/dist/database/actions/index.d.ts +6 -0
- package/dist/database/actions/index.js +13 -0
- package/dist/database/actions/index.js.map +1 -0
- package/dist/database/adapters/adapter.factory.d.ts +62 -0
- package/dist/database/adapters/adapter.factory.js +97 -0
- package/dist/database/adapters/adapter.factory.js.map +1 -0
- package/dist/database/adapters/base.adapter.d.ts +423 -0
- package/dist/database/adapters/base.adapter.js +260 -0
- package/dist/database/adapters/base.adapter.js.map +1 -0
- package/dist/database/adapters/cassandra.adapter.d.ts +92 -0
- package/dist/database/adapters/cassandra.adapter.js +1091 -0
- package/dist/database/adapters/cassandra.adapter.js.map +1 -0
- package/dist/database/adapters/dynamodb.adapter.d.ts +110 -0
- package/dist/database/adapters/dynamodb.adapter.js +1564 -0
- package/dist/database/adapters/dynamodb.adapter.js.map +1 -0
- package/dist/database/adapters/index.d.ts +11 -0
- package/dist/database/adapters/index.js +27 -0
- package/dist/database/adapters/index.js.map +1 -0
- package/dist/database/adapters/mariadb.adapter.d.ts +100 -0
- package/dist/database/adapters/mariadb.adapter.js +247 -0
- package/dist/database/adapters/mariadb.adapter.js.map +1 -0
- package/dist/database/adapters/mongodb.adapter.d.ts +121 -0
- package/dist/database/adapters/mongodb.adapter.js +1284 -0
- package/dist/database/adapters/mongodb.adapter.js.map +1 -0
- package/dist/database/adapters/mysql.adapter.d.ts +86 -0
- package/dist/database/adapters/mysql.adapter.js +1371 -0
- package/dist/database/adapters/mysql.adapter.js.map +1 -0
- package/dist/database/adapters/postgresql.adapter.d.ts +90 -0
- package/dist/database/adapters/postgresql.adapter.js +1487 -0
- package/dist/database/adapters/postgresql.adapter.js.map +1 -0
- package/dist/database/databases.service.d.ts +1408 -0
- package/dist/database/databases.service.js +2953 -0
- package/dist/database/databases.service.js.map +1 -0
- package/dist/database/index.d.ts +46 -0
- package/dist/database/index.js +109 -0
- package/dist/database/index.js.map +1 -0
- package/dist/database/migrations/index.d.ts +6 -0
- package/dist/database/migrations/index.js +12 -0
- package/dist/database/migrations/index.js.map +1 -0
- package/dist/database/migrations/migration-engine.d.ts +136 -0
- package/dist/database/migrations/migration-engine.js +1421 -0
- package/dist/database/migrations/migration-engine.js.map +1 -0
- package/dist/database/operators/aggregation-builder.d.ts +67 -0
- package/dist/database/operators/aggregation-builder.js +841 -0
- package/dist/database/operators/aggregation-builder.js.map +1 -0
- package/dist/database/operators/index.d.ts +7 -0
- package/dist/database/operators/index.js +15 -0
- package/dist/database/operators/index.js.map +1 -0
- package/dist/database/operators/query-builder.d.ts +69 -0
- package/dist/database/operators/query-builder.js +447 -0
- package/dist/database/operators/query-builder.js.map +1 -0
- package/dist/database/presave/decrypt.d.ts +25 -0
- package/dist/database/presave/decrypt.js +146 -0
- package/dist/database/presave/decrypt.js.map +1 -0
- package/dist/database/presave/index.d.ts +9 -0
- package/dist/database/presave/index.js +18 -0
- package/dist/database/presave/index.js.map +1 -0
- package/dist/database/presave/presave-processor.d.ts +148 -0
- package/dist/database/presave/presave-processor.js +702 -0
- package/dist/database/presave/presave-processor.js.map +1 -0
- package/dist/database/schema/index.d.ts +7 -0
- package/dist/database/schema/index.js +13 -0
- package/dist/database/schema/index.js.map +1 -0
- package/dist/database/schema/schema-manager.d.ts +258 -0
- package/dist/database/schema/schema-manager.js +638 -0
- package/dist/database/schema/schema-manager.js.map +1 -0
- package/dist/database/transactions/index.d.ts +6 -0
- package/dist/database/transactions/index.js +13 -0
- package/dist/database/transactions/index.js.map +1 -0
- package/dist/database/transactions/transaction-manager.d.ts +113 -0
- package/dist/database/transactions/transaction-manager.js +344 -0
- package/dist/database/transactions/transaction-manager.js.map +1 -0
- package/dist/database/triggers/index.d.ts +7 -0
- package/dist/database/triggers/index.js +14 -0
- package/dist/database/triggers/index.js.map +1 -0
- package/dist/database/triggers/trigger-processor.d.ts +239 -0
- package/dist/database/triggers/trigger-processor.js +1034 -0
- package/dist/database/triggers/trigger-processor.js.map +1 -0
- package/dist/database/types/action.interface.d.ts +148 -0
- package/dist/database/types/action.interface.js +6 -0
- package/dist/database/types/action.interface.js.map +1 -0
- package/dist/database/types/aggregation.interface.d.ts +185 -0
- package/dist/database/types/aggregation.interface.js +6 -0
- package/dist/database/types/aggregation.interface.js.map +1 -0
- package/dist/database/types/connection.interface.d.ts +137 -0
- package/dist/database/types/connection.interface.js +6 -0
- package/dist/database/types/connection.interface.js.map +1 -0
- package/dist/database/types/enums.d.ts +195 -0
- package/dist/database/types/enums.js +244 -0
- package/dist/database/types/enums.js.map +1 -0
- package/dist/database/types/index.d.ts +14 -0
- package/dist/database/types/index.js +31 -0
- package/dist/database/types/index.js.map +1 -0
- package/dist/database/types/migration.interface.d.ts +686 -0
- package/dist/database/types/migration.interface.js +9 -0
- package/dist/database/types/migration.interface.js.map +1 -0
- package/dist/database/types/presave.interface.d.ts +292 -0
- package/dist/database/types/presave.interface.js +60 -0
- package/dist/database/types/presave.interface.js.map +1 -0
- package/dist/database/types/query.interface.d.ts +205 -0
- package/dist/database/types/query.interface.js +6 -0
- package/dist/database/types/query.interface.js.map +1 -0
- package/dist/database/types/schema.interface.d.ts +412 -0
- package/dist/database/types/schema.interface.js +6 -0
- package/dist/database/types/schema.interface.js.map +1 -0
- package/dist/database/types/transaction.interface.d.ts +84 -0
- package/dist/database/types/transaction.interface.js +6 -0
- package/dist/database/types/transaction.interface.js.map +1 -0
- package/dist/database/types/trigger.interface.d.ts +612 -0
- package/dist/database/types/trigger.interface.js +121 -0
- package/dist/database/types/trigger.interface.js.map +1 -0
- package/dist/database/types/write.interface.d.ts +216 -0
- package/dist/database/types/write.interface.js +6 -0
- package/dist/database/types/write.interface.js.map +1 -0
- package/dist/database/utils/database-error.d.ts +96 -0
- package/dist/database/utils/database-error.js +221 -0
- package/dist/database/utils/database-error.js.map +1 -0
- package/dist/database/utils/index.d.ts +6 -0
- package/dist/database/utils/index.js +11 -0
- package/dist/database/utils/index.js.map +1 -0
- package/dist/graph/adapters/adapter.factory.d.ts +47 -0
- package/dist/graph/adapters/adapter.factory.js +77 -0
- package/dist/graph/adapters/adapter.factory.js.map +1 -0
- package/dist/graph/adapters/arangodb.adapter.d.ts +86 -0
- package/dist/graph/adapters/arangodb.adapter.js +1588 -0
- package/dist/graph/adapters/arangodb.adapter.js.map +1 -0
- package/dist/graph/adapters/base.adapter.d.ts +264 -0
- package/dist/graph/adapters/base.adapter.js +156 -0
- package/dist/graph/adapters/base.adapter.js.map +1 -0
- package/dist/graph/adapters/index.d.ts +11 -0
- package/dist/graph/adapters/index.js +21 -0
- package/dist/graph/adapters/index.js.map +1 -0
- package/dist/graph/adapters/memgraph.adapter.d.ts +110 -0
- package/dist/graph/adapters/memgraph.adapter.js +1452 -0
- package/dist/graph/adapters/memgraph.adapter.js.map +1 -0
- package/dist/graph/adapters/neo4j.adapter.d.ts +81 -0
- package/dist/graph/adapters/neo4j.adapter.js +1317 -0
- package/dist/graph/adapters/neo4j.adapter.js.map +1 -0
- package/dist/graph/adapters/neptune.adapter.d.ts +82 -0
- package/dist/graph/adapters/neptune.adapter.js +1369 -0
- package/dist/graph/adapters/neptune.adapter.js.map +1 -0
- package/dist/graph/graphs.service.d.ts +568 -0
- package/dist/graph/graphs.service.js +1948 -0
- package/dist/graph/graphs.service.js.map +1 -0
- package/dist/graph/index.d.ts +57 -0
- package/dist/graph/index.js +77 -0
- package/dist/graph/index.js.map +1 -0
- package/dist/graph/transactions/index.d.ts +4 -0
- package/dist/graph/transactions/index.js +9 -0
- package/dist/graph/transactions/index.js.map +1 -0
- package/dist/graph/transactions/transaction-manager.d.ts +61 -0
- package/dist/graph/transactions/transaction-manager.js +126 -0
- package/dist/graph/transactions/transaction-manager.js.map +1 -0
- package/dist/graph/types/connection.interface.d.ts +149 -0
- package/dist/graph/types/connection.interface.js +9 -0
- package/dist/graph/types/connection.interface.js.map +1 -0
- package/dist/graph/types/enums.d.ts +101 -0
- package/dist/graph/types/enums.js +114 -0
- package/dist/graph/types/enums.js.map +1 -0
- package/dist/graph/types/index.d.ts +13 -0
- package/dist/graph/types/index.js +20 -0
- package/dist/graph/types/index.js.map +1 -0
- package/dist/graph/types/node.interface.d.ts +248 -0
- package/dist/graph/types/node.interface.js +9 -0
- package/dist/graph/types/node.interface.js.map +1 -0
- package/dist/graph/types/query.interface.d.ts +175 -0
- package/dist/graph/types/query.interface.js +9 -0
- package/dist/graph/types/query.interface.js.map +1 -0
- package/dist/graph/types/relationship.interface.d.ts +207 -0
- package/dist/graph/types/relationship.interface.js +9 -0
- package/dist/graph/types/relationship.interface.js.map +1 -0
- package/dist/graph/types/schema.interface.d.ts +295 -0
- package/dist/graph/types/schema.interface.js +9 -0
- package/dist/graph/types/schema.interface.js.map +1 -0
- package/dist/graph/types/transaction.interface.d.ts +55 -0
- package/dist/graph/types/transaction.interface.js +9 -0
- package/dist/graph/types/transaction.interface.js.map +1 -0
- package/dist/graph/types/traversal.interface.d.ts +181 -0
- package/dist/graph/types/traversal.interface.js +9 -0
- package/dist/graph/types/traversal.interface.js.map +1 -0
- package/dist/graph/utils/graph-error.d.ts +71 -0
- package/dist/graph/utils/graph-error.js +142 -0
- package/dist/graph/utils/graph-error.js.map +1 -0
- package/dist/graph/utils/index.d.ts +4 -0
- package/dist/graph/utils/index.js +9 -0
- package/dist/graph/utils/index.js.map +1 -0
- package/dist/imports/imports.service.d.ts +3 -3
- package/dist/imports/imports.service.js +8 -7
- package/dist/imports/imports.service.js.map +1 -1
- package/dist/imports/imports.types.d.ts +8 -0
- package/dist/imports/repos/openApi.repo.d.ts +1 -1
- package/dist/imports/repos/openApi.repo.js +414 -47
- package/dist/imports/repos/openApi.repo.js.map +1 -1
- package/dist/imports/repos/postmanV21.repo.d.ts +1 -1
- package/dist/imports/repos/postmanV21.repo.js +126 -83
- package/dist/imports/repos/postmanV21.repo.js.map +1 -1
- package/dist/index.d.ts +3654 -289
- package/dist/index.js +5066 -669
- package/dist/index.js.map +1 -1
- package/dist/init.interface.d.ts +407 -0
- package/dist/init.interface.js +3 -0
- package/dist/init.interface.js.map +1 -0
- package/dist/inputs/inputs.service.d.ts +1 -1
- package/dist/inputs/utils/inputs.utils.create.js +1 -1
- package/dist/inputs/utils/inputs.utils.create.js.map +1 -1
- package/dist/jobs/index.d.ts +38 -0
- package/dist/jobs/index.js +50 -0
- package/dist/jobs/index.js.map +1 -0
- package/dist/jobs/jobs.service.d.ts +154 -0
- package/dist/jobs/jobs.service.js +491 -0
- package/dist/jobs/jobs.service.js.map +1 -0
- package/dist/jobs/jobs.state.d.ts +113 -0
- package/dist/jobs/jobs.state.js +447 -0
- package/dist/jobs/jobs.state.js.map +1 -0
- package/dist/jobs/types.d.ts +449 -0
- package/dist/jobs/types.js +74 -0
- package/dist/jobs/types.js.map +1 -0
- package/dist/logs/logs.service.js +6 -2
- package/dist/logs/logs.service.js.map +1 -1
- package/dist/logs/logs.types.d.ts +19 -1
- package/dist/logs/logs.types.js +6 -0
- package/dist/logs/logs.types.js.map +1 -1
- package/dist/models/index.d.ts +6 -0
- package/dist/models/index.js +11 -0
- package/dist/models/index.js.map +1 -0
- package/dist/models/models.service.d.ts +137 -0
- package/dist/models/models.service.js +195 -0
- package/dist/models/models.service.js.map +1 -0
- package/dist/notifications/index.d.ts +13 -0
- package/dist/notifications/index.js +26 -0
- package/dist/notifications/index.js.map +1 -0
- package/dist/notifications/notifications.service.d.ts +265 -0
- package/dist/notifications/notifications.service.js +862 -0
- package/dist/notifications/notifications.service.js.map +1 -0
- package/dist/notifications/types/index.d.ts +4 -0
- package/dist/notifications/types/index.js +21 -0
- package/dist/notifications/types/index.js.map +1 -0
- package/dist/notifications/types/notifications.types.d.ts +402 -0
- package/dist/notifications/types/notifications.types.js +49 -0
- package/dist/notifications/types/notifications.types.js.map +1 -0
- package/dist/parsers/index.d.ts +3 -0
- package/dist/parsers/index.js +27 -0
- package/dist/parsers/index.js.map +1 -0
- package/dist/parsers/pipelines/postman.pipelines.d.ts +15 -0
- package/dist/parsers/pipelines/postman.pipelines.js +103 -0
- package/dist/parsers/pipelines/postman.pipelines.js.map +1 -0
- package/dist/parsers/types/postman.types.d.ts +200 -0
- package/dist/parsers/types/postman.types.js +3 -0
- package/dist/parsers/types/postman.types.js.map +1 -0
- package/dist/parsers/utils/postman.utils.d.ts +12 -0
- package/dist/parsers/utils/postman.utils.js +116 -0
- package/dist/parsers/utils/postman.utils.js.map +1 -0
- package/dist/parsers/validators/postman-auth.validators.d.ts +10 -0
- package/dist/parsers/validators/postman-auth.validators.js +127 -0
- package/dist/parsers/validators/postman-auth.validators.js.map +1 -0
- package/dist/parsers/validators/postman-request.validators.d.ts +13 -0
- package/dist/parsers/validators/postman-request.validators.js +139 -0
- package/dist/parsers/validators/postman-request.validators.js.map +1 -0
- package/dist/parsers/validators/postman-response.validators.d.ts +13 -0
- package/dist/parsers/validators/postman-response.validators.js +150 -0
- package/dist/parsers/validators/postman-response.validators.js.map +1 -0
- package/dist/parsers/validators/postman-variable.validators.d.ts +14 -0
- package/dist/parsers/validators/postman-variable.validators.js +163 -0
- package/dist/parsers/validators/postman-variable.validators.js.map +1 -0
- package/dist/pricing/pricing.repo.js +1 -0
- package/dist/pricing/pricing.repo.js.map +1 -0
- package/dist/pricing/pricing.service.d.ts +24 -0
- package/dist/pricing/pricing.service.js +51 -0
- package/dist/pricing/pricing.service.js.map +1 -0
- package/dist/pricing/pricing.types.d.ts +76 -0
- package/dist/pricing/pricing.types.js +21 -0
- package/dist/pricing/pricing.types.js.map +1 -0
- package/dist/pricing/utils/string.utils.d.ts +1 -0
- package/dist/pricing/utils/string.utils.js +9 -0
- package/dist/pricing/utils/string.utils.js.map +1 -0
- package/dist/processor/services/processor.service.d.ts +117 -73
- package/dist/processor/services/processor.service.js +1557 -1276
- package/dist/processor/services/processor.service.js.map +1 -1
- package/dist/processor/services/request.service.d.ts +36 -0
- package/dist/processor/services/request.service.js +304 -0
- package/dist/processor/services/request.service.js.map +1 -0
- package/dist/processor/types/request.types.d.ts +14 -0
- package/dist/processor/types/request.types.js +3 -0
- package/dist/processor/types/request.types.js.map +1 -0
- package/dist/processor/utils/processor.utils.js +32 -20
- package/dist/processor/utils/processor.utils.js.map +1 -1
- package/dist/processor/utils/request.utils.d.ts +20 -0
- package/dist/processor/utils/request.utils.js +113 -0
- package/dist/processor/utils/request.utils.js.map +1 -0
- package/dist/products/services/products.service.d.ts +365 -75
- package/dist/products/services/products.service.js +2809 -414
- package/dist/products/services/products.service.js.map +1 -1
- package/dist/products/utils/string.utils.d.ts +1 -1
- package/dist/products/utils/string.utils.js +14 -2
- package/dist/products/utils/string.utils.js.map +1 -1
- package/dist/products/validators/index.d.ts +7 -1
- package/dist/products/validators/index.js +16 -1
- package/dist/products/validators/index.js.map +1 -1
- package/dist/products/validators/joi-validators/create.productAgent.validator.d.ts +3 -0
- package/dist/products/validators/joi-validators/create.productAgent.validator.js +266 -0
- package/dist/products/validators/joi-validators/create.productAgent.validator.js.map +1 -0
- package/dist/products/validators/joi-validators/create.productDatabase.validator.js +5 -0
- package/dist/products/validators/joi-validators/create.productDatabase.validator.js.map +1 -1
- package/dist/products/validators/joi-validators/create.productEnv.validator.js +1 -0
- package/dist/products/validators/joi-validators/create.productEnv.validator.js.map +1 -1
- package/dist/products/validators/joi-validators/create.productGraph.validator.js +89 -0
- package/dist/products/validators/joi-validators/create.productGraph.validator.js.map +1 -0
- package/dist/products/validators/joi-validators/create.productHealthcheck.validator.d.ts +4 -0
- package/dist/products/validators/joi-validators/create.productHealthcheck.validator.js +58 -0
- package/dist/products/validators/joi-validators/create.productHealthcheck.validator.js.map +1 -0
- package/dist/products/validators/joi-validators/create.productMessageBrokers.validator.js +81 -25
- package/dist/products/validators/joi-validators/create.productMessageBrokers.validator.js.map +1 -1
- package/dist/products/validators/joi-validators/create.productModel.validator.d.ts +3 -0
- package/dist/products/validators/joi-validators/create.productModel.validator.js +132 -0
- package/dist/products/validators/joi-validators/create.productModel.validator.js.map +1 -0
- package/dist/products/validators/joi-validators/create.productNotification.validator.js +133 -45
- package/dist/products/validators/joi-validators/create.productNotification.validator.js.map +1 -1
- package/dist/products/validators/joi-validators/create.productStorage.validator.js +77 -18
- package/dist/products/validators/joi-validators/create.productStorage.validator.js.map +1 -1
- package/dist/products/validators/joi-validators/create.productVector.validator.d.ts +3 -0
- package/dist/products/validators/joi-validators/create.productVector.validator.js +135 -0
- package/dist/products/validators/joi-validators/create.productVector.validator.js.map +1 -0
- package/dist/products/validators/joi-validators/update.dataValue.validator.js +1 -0
- package/dist/products/validators/joi-validators/update.dataValue.validator.js.map +1 -1
- package/dist/products/validators/joi-validators/update.productDatabase.validator.js +5 -0
- package/dist/products/validators/joi-validators/update.productDatabase.validator.js.map +1 -1
- package/dist/products/validators/joi-validators/update.productEnv.validator.js +3 -0
- package/dist/products/validators/joi-validators/update.productEnv.validator.js.map +1 -1
- package/dist/products/validators/joi-validators/update.productGraph.validator.js +88 -0
- package/dist/products/validators/joi-validators/update.productGraph.validator.js.map +1 -0
- package/dist/resilience/fallback.service.d.ts +140 -0
- package/dist/resilience/fallback.service.js +764 -0
- package/dist/resilience/fallback.service.js.map +1 -0
- package/dist/resilience/healthcheck.service.d.ts +159 -0
- package/dist/resilience/healthcheck.service.js +943 -0
- package/dist/resilience/healthcheck.service.js.map +1 -0
- package/dist/resilience/index.d.ts +104 -0
- package/dist/resilience/index.js +140 -0
- package/dist/resilience/index.js.map +1 -0
- package/dist/resilience/quota.service.d.ts +82 -0
- package/dist/resilience/quota.service.js +516 -0
- package/dist/resilience/quota.service.js.map +1 -0
- package/dist/resilience/resilience.service.d.ts +98 -0
- package/dist/resilience/resilience.service.js +560 -0
- package/dist/resilience/resilience.service.js.map +1 -0
- package/dist/resilience/types/index.d.ts +513 -0
- package/dist/resilience/types/index.js +29 -0
- package/dist/resilience/types/index.js.map +1 -0
- package/dist/secrets/index.d.ts +10 -0
- package/dist/secrets/index.js +33 -0
- package/dist/secrets/index.js.map +1 -0
- package/dist/secrets/secrets.resolver.d.ts +52 -0
- package/dist/secrets/secrets.resolver.js +233 -0
- package/dist/secrets/secrets.resolver.js.map +1 -0
- package/dist/secrets/secrets.service.d.ts +93 -0
- package/dist/secrets/secrets.service.js +258 -0
- package/dist/secrets/secrets.service.js.map +1 -0
- package/dist/secrets/secrets.types.d.ts +188 -0
- package/dist/secrets/secrets.types.js +87 -0
- package/dist/secrets/secrets.types.js.map +1 -0
- package/dist/sessions/index.d.ts +50 -0
- package/dist/sessions/index.js +93 -0
- package/dist/sessions/index.js.map +1 -0
- package/dist/sessions/sessions.helper.d.ts +68 -0
- package/dist/sessions/sessions.helper.js +116 -0
- package/dist/sessions/sessions.helper.js.map +1 -0
- package/dist/sessions/sessions.resolver.d.ts +157 -0
- package/dist/sessions/sessions.resolver.js +374 -0
- package/dist/sessions/sessions.resolver.js.map +1 -0
- package/dist/sessions/sessions.service.d.ts +178 -0
- package/dist/sessions/sessions.service.js +923 -0
- package/dist/sessions/sessions.service.js.map +1 -0
- package/dist/sessions/types/index.d.ts +298 -0
- package/dist/sessions/types/index.js +6 -0
- package/dist/sessions/types/index.js.map +1 -0
- package/dist/storage/index.d.ts +66 -0
- package/dist/storage/index.js +99 -0
- package/dist/storage/index.js.map +1 -0
- package/dist/storage/storage.service.d.ts +174 -0
- package/dist/storage/storage.service.js +757 -0
- package/dist/storage/storage.service.js.map +1 -0
- package/dist/storage/types/index.d.ts +267 -0
- package/dist/storage/types/index.js +6 -0
- package/dist/storage/types/index.js.map +1 -0
- package/dist/storage/utils/storage.util.d.ts +62 -0
- package/dist/storage/utils/storage.util.js +593 -0
- package/dist/storage/utils/storage.util.js.map +1 -0
- package/dist/test/index.d.ts +3 -0
- package/dist/test/index.js +11 -0
- package/dist/test/index.js.map +1 -0
- package/dist/test/test.appBuilder.d.ts +0 -1
- package/dist/test/test.appBuilder.js +0 -15
- package/dist/test/test.appBuilder.js.map +1 -1
- package/dist/test/test.broker.kafka.js +172 -0
- package/dist/test/test.broker.kafka.js.map +1 -0
- package/dist/test/test.broker.nats.js +193 -0
- package/dist/test/test.broker.nats.js.map +1 -0
- package/dist/test/test.broker.pubsub.js +171 -0
- package/dist/test/test.broker.pubsub.js.map +1 -0
- package/dist/test/test.broker.rabbitmq.js +164 -0
- package/dist/test/test.broker.rabbitmq.js.map +1 -0
- package/dist/test/test.broker.redis.js +168 -0
- package/dist/test/test.broker.redis.js.map +1 -0
- package/dist/test/test.broker.sqs.d.ts +1 -0
- package/dist/test/test.broker.sqs.js +158 -0
- package/dist/test/test.broker.sqs.js.map +1 -0
- package/dist/test/test.caches.d.ts +1 -0
- package/dist/test/test.caches.js +231 -0
- package/dist/test/test.caches.js.map +1 -0
- package/dist/test/test.database.d.ts +1 -0
- package/dist/test/test.database.dynamo.d.ts +1 -0
- package/dist/test/test.database.dynamo.js +265 -0
- package/dist/test/test.database.dynamo.js.map +1 -0
- package/dist/test/test.database.js +140 -0
- package/dist/test/test.database.js.map +1 -0
- package/dist/test/test.database.mongo.d.ts +1 -0
- package/dist/test/test.database.mongo.js +371 -0
- package/dist/test/test.database.mongo.js.map +1 -0
- package/dist/test/test.database.mysql.d.ts +1 -0
- package/dist/test/test.database.mysql.js +415 -0
- package/dist/test/test.database.mysql.js.map +1 -0
- package/dist/test/test.database.postgres.d.ts +1 -0
- package/dist/test/test.database.postgres.js +412 -0
- package/dist/test/test.database.postgres.js.map +1 -0
- package/dist/test/test.email.brevo.d.ts +1 -0
- package/dist/test/test.email.brevo.js +326 -0
- package/dist/test/test.email.brevo.js.map +1 -0
- package/dist/test/test.email.mailgun.d.ts +1 -0
- package/dist/test/test.email.mailgun.js +352 -0
- package/dist/test/test.email.mailgun.js.map +1 -0
- package/dist/test/test.email.postmark.d.ts +1 -0
- package/dist/test/test.email.postmark.js +316 -0
- package/dist/test/test.email.postmark.js.map +1 -0
- package/dist/test/test.email.sendgrid.d.ts +1 -0
- package/dist/test/test.email.sendgrid.js +365 -0
- package/dist/test/test.email.sendgrid.js.map +1 -0
- package/dist/test/test.email.smtp.d.ts +1 -0
- package/dist/test/test.email.smtp.js +323 -0
- package/dist/test/test.email.smtp.js.map +1 -0
- package/dist/test/test.graph.arangodb.d.ts +1 -0
- package/dist/test/test.graph.arangodb.js +358 -0
- package/dist/test/test.graph.arangodb.js.map +1 -0
- package/dist/test/test.graph.memgraph.d.ts +1 -0
- package/dist/test/test.graph.memgraph.js +320 -0
- package/dist/test/test.graph.memgraph.js.map +1 -0
- package/dist/test/test.graph.neo4j.d.ts +1 -0
- package/dist/test/test.graph.neo4j.js +218 -0
- package/dist/test/test.graph.neo4j.js.map +1 -0
- package/dist/test/test.graph.neptune.d.ts +1 -0
- package/dist/test/test.graph.neptune.js +331 -0
- package/dist/test/test.graph.neptune.js.map +1 -0
- package/dist/test/test.health.js +1 -0
- package/dist/test/test.health.js.map +1 -0
- package/dist/test/test.import.d.ts +0 -1
- package/dist/test/test.import.js +0 -1459
- package/dist/test/test.import.js.map +1 -1
- package/dist/test/test.import.openapi.d.ts +0 -1
- package/dist/test/test.import.openapi.js +0 -75
- package/dist/test/test.import.openapi.js.map +1 -1
- package/dist/test/test.imports.js +14 -55
- package/dist/test/test.imports.js.map +1 -1
- package/dist/test/test.logs.d.ts +0 -1
- package/dist/test/test.logs.js +0 -17
- package/dist/test/test.logs.js.map +1 -1
- package/dist/test/test.notifications.d.ts +1 -0
- package/dist/test/test.notifications.js +198 -0
- package/dist/test/test.notifications.js.map +1 -0
- package/dist/test/test.notifiers.js +1 -0
- package/dist/test/test.notifiers.js.map +1 -0
- package/dist/test/test.processor.d.ts +0 -1
- package/dist/test/test.processor.js +0 -122
- package/dist/test/test.processor.js.map +1 -1
- package/dist/test/test.productBuilder.d.ts +0 -1
- package/dist/test/test.productBuilder.js +0 -660
- package/dist/test/test.productBuilder.js.map +1 -1
- package/dist/test/test.products.js +1 -0
- package/dist/test/test.products.js.map +1 -0
- package/dist/test/test.push.expo.d.ts +1 -0
- package/dist/test/test.push.expo.js +442 -0
- package/dist/test/test.push.expo.js.map +1 -0
- package/dist/test/test.push.firebase.d.ts +1 -0
- package/dist/test/test.push.firebase.js +409 -0
- package/dist/test/test.push.firebase.js.map +1 -0
- package/dist/test/test.session.d.ts +1 -0
- package/dist/test/test.session.js +299 -0
- package/dist/test/test.session.js.map +1 -0
- package/dist/test/test.sms.nexmo.d.ts +1 -0
- package/dist/test/test.sms.nexmo.js +278 -0
- package/dist/test/test.sms.nexmo.js.map +1 -0
- package/dist/test/test.sms.twilio.d.ts +1 -0
- package/dist/test/test.sms.twilio.js +275 -0
- package/dist/test/test.sms.twilio.js.map +1 -0
- package/dist/test/test.storage.d.ts +1 -0
- package/dist/test/test.storage.js +202 -0
- package/dist/test/test.storage.js.map +1 -0
- package/dist/test/test.triggers.d.ts +1 -0
- package/dist/test/test.triggers.js +314 -0
- package/dist/test/test.triggers.js.map +1 -0
- package/dist/test/test.vector.pinecone.d.ts +1 -0
- package/dist/test/test.vector.pinecone.js +238 -0
- package/dist/test/test.vector.pinecone.js.map +1 -0
- package/dist/test/test.vector.qdrant.d.ts +1 -0
- package/dist/test/test.vector.qdrant.js +307 -0
- package/dist/test/test.vector.qdrant.js.map +1 -0
- package/dist/test/test.vector.weaviate.d.ts +1 -0
- package/dist/test/test.vector.weaviate.js +325 -0
- package/dist/test/test.vector.weaviate.js.map +1 -0
- package/dist/types/appBuilder.types.d.ts +9 -2
- package/dist/types/enums.d.ts +11 -1
- package/dist/types/enums.js +10 -0
- package/dist/types/enums.js.map +1 -1
- package/dist/types/index.types.d.ts +4 -7
- package/dist/types/index.types.js +0 -1
- package/dist/types/index.types.js.map +1 -1
- package/dist/types/inputs.types.js +1 -1
- package/dist/types/inputs.types.js.map +1 -1
- package/dist/types/pricing.types.d.ts +4 -0
- package/dist/types/pricing.types.js +3 -0
- package/dist/types/pricing.types.js.map +1 -0
- package/dist/types/processor.types.d.ts +214 -33
- package/dist/types/processor.types.js +9 -1
- package/dist/types/processor.types.js.map +1 -1
- package/dist/types/productsBuilder.types.d.ts +978 -23
- package/dist/types/productsBuilder.types.js +210 -3
- package/dist/types/productsBuilder.types.js.map +1 -1
- package/dist/types/request-tracker.interface.js +1 -0
- package/dist/types/request-tracker.interface.js.map +1 -0
- package/dist/types/requests.types.d.ts +2 -0
- package/dist/utils/constants.d.ts +1 -0
- package/dist/utils/constants.js +5 -0
- package/dist/utils/constants.js.map +1 -0
- package/dist/utils/index.d.ts +0 -2
- package/dist/utils/index.js +24 -52
- package/dist/utils/index.js.map +1 -1
- package/dist/vector/actions/action-manager.d.ts +140 -0
- package/dist/vector/actions/action-manager.js +356 -0
- package/dist/vector/actions/action-manager.js.map +1 -0
- package/dist/vector/adapters/base.adapter.d.ts +169 -0
- package/dist/vector/adapters/base.adapter.js +218 -0
- package/dist/vector/adapters/base.adapter.js.map +1 -0
- package/dist/vector/adapters/index.d.ts +10 -0
- package/dist/vector/adapters/index.js +19 -0
- package/dist/vector/adapters/index.js.map +1 -0
- package/dist/vector/adapters/memory.adapter.d.ts +85 -0
- package/dist/vector/adapters/memory.adapter.js +505 -0
- package/dist/vector/adapters/memory.adapter.js.map +1 -0
- package/dist/vector/adapters/pinecone.adapter.d.ts +52 -0
- package/dist/vector/adapters/pinecone.adapter.js +433 -0
- package/dist/vector/adapters/pinecone.adapter.js.map +1 -0
- package/dist/vector/adapters/qdrant.adapter.d.ts +56 -0
- package/dist/vector/adapters/qdrant.adapter.js +442 -0
- package/dist/vector/adapters/qdrant.adapter.js.map +1 -0
- package/dist/vector/adapters/weaviate.adapter.d.ts +68 -0
- package/dist/vector/adapters/weaviate.adapter.js +645 -0
- package/dist/vector/adapters/weaviate.adapter.js.map +1 -0
- package/dist/vector/index.d.ts +36 -0
- package/dist/vector/index.js +70 -0
- package/dist/vector/index.js.map +1 -0
- package/dist/vector/types/action.interface.d.ts +195 -0
- package/dist/vector/types/action.interface.js +100 -0
- package/dist/vector/types/action.interface.js.map +1 -0
- package/dist/vector/types/connection.interface.d.ts +151 -0
- package/dist/vector/types/connection.interface.js +8 -0
- package/dist/vector/types/connection.interface.js.map +1 -0
- package/dist/vector/types/embedding.interface.d.ts +144 -0
- package/dist/vector/types/embedding.interface.js +8 -0
- package/dist/vector/types/embedding.interface.js.map +1 -0
- package/dist/vector/types/enums.d.ts +104 -0
- package/dist/vector/types/enums.js +113 -0
- package/dist/vector/types/enums.js.map +1 -0
- package/dist/vector/types/index.d.ts +11 -0
- package/dist/vector/types/index.js +23 -0
- package/dist/vector/types/index.js.map +1 -0
- package/dist/vector/types/vector.interface.d.ts +315 -0
- package/dist/vector/types/vector.interface.js +8 -0
- package/dist/vector/types/vector.interface.js.map +1 -0
- package/dist/vector/utils/index.d.ts +6 -0
- package/dist/vector/utils/index.js +11 -0
- package/dist/vector/utils/index.js.map +1 -0
- package/dist/vector/utils/vector-error.d.ts +69 -0
- package/dist/vector/utils/vector-error.js +116 -0
- package/dist/vector/utils/vector-error.js.map +1 -0
- package/dist/vector/vector-database.service.d.ts +474 -0
- package/dist/vector/vector-database.service.js +850 -0
- package/dist/vector/vector-database.service.js.map +1 -0
- package/dist/vector/vector.service.d.ts +283 -0
- package/dist/vector/vector.service.js +544 -0
- package/dist/vector/vector.service.js.map +1 -0
- package/dist/warehouse/executor/index.d.ts +5 -0
- package/dist/warehouse/executor/index.js +12 -0
- package/dist/warehouse/executor/index.js.map +1 -0
- package/dist/warehouse/executor/joins/index.d.ts +5 -0
- package/dist/warehouse/executor/joins/index.js +11 -0
- package/dist/warehouse/executor/joins/index.js.map +1 -0
- package/dist/warehouse/executor/joins/join-executor.d.ts +101 -0
- package/dist/warehouse/executor/joins/join-executor.js +493 -0
- package/dist/warehouse/executor/joins/join-executor.js.map +1 -0
- package/dist/warehouse/executor/joins/semantic-join.d.ts +64 -0
- package/dist/warehouse/executor/joins/semantic-join.js +241 -0
- package/dist/warehouse/executor/joins/semantic-join.js.map +1 -0
- package/dist/warehouse/executor/single-source-executor.d.ts +155 -0
- package/dist/warehouse/executor/single-source-executor.js +573 -0
- package/dist/warehouse/executor/single-source-executor.js.map +1 -0
- package/dist/warehouse/index.d.ts +79 -0
- package/dist/warehouse/index.js +111 -0
- package/dist/warehouse/index.js.map +1 -0
- package/dist/warehouse/parser/index.d.ts +4 -0
- package/dist/warehouse/parser/index.js +10 -0
- package/dist/warehouse/parser/index.js.map +1 -0
- package/dist/warehouse/parser/query-parser.d.ts +181 -0
- package/dist/warehouse/parser/query-parser.js +415 -0
- package/dist/warehouse/parser/query-parser.js.map +1 -0
- package/dist/warehouse/registry/data-source-registry.d.ts +207 -0
- package/dist/warehouse/registry/data-source-registry.js +396 -0
- package/dist/warehouse/registry/data-source-registry.js.map +1 -0
- package/dist/warehouse/registry/index.d.ts +4 -0
- package/dist/warehouse/registry/index.js +9 -0
- package/dist/warehouse/registry/index.js.map +1 -0
- package/dist/warehouse/transactions/index.d.ts +4 -0
- package/dist/warehouse/transactions/index.js +9 -0
- package/dist/warehouse/transactions/index.js.map +1 -0
- package/dist/warehouse/transactions/saga-orchestrator.d.ts +92 -0
- package/dist/warehouse/transactions/saga-orchestrator.js +383 -0
- package/dist/warehouse/transactions/saga-orchestrator.js.map +1 -0
- package/dist/warehouse/types/index.d.ts +9 -0
- package/dist/warehouse/types/index.js +33 -0
- package/dist/warehouse/types/index.js.map +1 -0
- package/dist/warehouse/types/join.interface.d.ts +225 -0
- package/dist/warehouse/types/join.interface.js +87 -0
- package/dist/warehouse/types/join.interface.js.map +1 -0
- package/dist/warehouse/types/query.interface.d.ts +232 -0
- package/dist/warehouse/types/query.interface.js +9 -0
- package/dist/warehouse/types/query.interface.js.map +1 -0
- package/dist/warehouse/types/transaction.interface.d.ts +236 -0
- package/dist/warehouse/types/transaction.interface.js +74 -0
- package/dist/warehouse/types/transaction.interface.js.map +1 -0
- package/dist/warehouse/types/where.interface.d.ts +208 -0
- package/dist/warehouse/types/where.interface.js +89 -0
- package/dist/warehouse/types/where.interface.js.map +1 -0
- package/dist/warehouse/warehouse.service.d.ts +200 -0
- package/dist/warehouse/warehouse.service.js +470 -0
- package/dist/warehouse/warehouse.service.js.map +1 -0
- package/dist/workflows/index.d.ts +30 -0
- package/dist/workflows/index.js +64 -0
- package/dist/workflows/index.js.map +1 -0
- package/dist/workflows/types/index.d.ts +6 -0
- package/dist/workflows/types/index.js +23 -0
- package/dist/workflows/types/index.js.map +1 -0
- package/dist/workflows/types/workflows.types.d.ts +1037 -0
- package/dist/workflows/types/workflows.types.js +13 -0
- package/dist/workflows/types/workflows.types.js.map +1 -0
- package/dist/workflows/workflow-builder.d.ts +70 -0
- package/dist/workflows/workflow-builder.js +338 -0
- package/dist/workflows/workflow-builder.js.map +1 -0
- package/dist/workflows/workflow-executor.d.ts +208 -0
- package/dist/workflows/workflow-executor.js +1194 -0
- package/dist/workflows/workflow-executor.js.map +1 -0
- package/dist/workflows/workflows.service.d.ts +410 -0
- package/dist/workflows/workflows.service.js +1724 -0
- package/dist/workflows/workflows.service.js.map +1 -0
- package/package.json +65 -12
- package/dist/actions/actions.repo.js +0 -13
- package/dist/actions/actions.repo.js.map +0 -1
- package/dist/actions/actions.service.js +0 -24
- package/dist/actions/actions.service.js.map +0 -1
- package/dist/actions/utils/actions.util.read.js +0 -427
- package/dist/actions/utils/actions.util.read.js.map +0 -1
- package/dist/api/services/integrationsApi.service.d.ts +0 -18
- package/dist/api/services/integrationsApi.service.js +0 -80
- package/dist/api/services/integrationsApi.service.js.map +0 -1
- package/dist/appBuilder/services/app.service.d.ts +0 -111
- package/dist/appBuilder/services/app.service.js +0 -737
- package/dist/appBuilder/services/app.service.js.map +0 -1
- package/dist/appBuilder/services/appBuilder.service.d.ts +0 -111
- package/dist/appBuilder/services/appBuilder.service.js +0 -662
- package/dist/appBuilder/services/appBuilder.service.js.map +0 -1
- package/dist/appBuilder/utils/objects.utils.d.ts +0 -3
- package/dist/appBuilder/utils/objects.utils.js +0 -9
- package/dist/appBuilder/utils/objects.utils.js.map +0 -1
- package/dist/appBuilder/utils/string.utils.d.ts +0 -2
- package/dist/appBuilder/utils/string.utils.js +0 -57
- package/dist/appBuilder/utils/string.utils.js.map +0 -1
- package/dist/appBuilder/validators/index.d.ts +0 -19
- package/dist/appBuilder/validators/index.js +0 -40
- package/dist/appBuilder/validators/index.js.map +0 -1
- package/dist/appBuilder/validators/joi-validators/create.app.validator.js +0 -10
- package/dist/appBuilder/validators/joi-validators/create.app.validator.js.map +0 -1
- package/dist/appBuilder/validators/joi-validators/create.appAction.validator.d.ts +0 -4
- package/dist/appBuilder/validators/joi-validators/create.appAction.validator.js +0 -20
- package/dist/appBuilder/validators/joi-validators/create.appAction.validator.js.map +0 -1
- package/dist/appBuilder/validators/joi-validators/create.appActionResponse.validator.d.ts +0 -7
- package/dist/appBuilder/validators/joi-validators/create.appActionResponse.validator.js +0 -44
- package/dist/appBuilder/validators/joi-validators/create.appActionResponse.validator.js.map +0 -1
- package/dist/appBuilder/validators/joi-validators/create.appAuth.validator.d.ts +0 -3
- package/dist/appBuilder/validators/joi-validators/create.appAuth.validator.js +0 -31
- package/dist/appBuilder/validators/joi-validators/create.appAuth.validator.js.map +0 -1
- package/dist/appBuilder/validators/joi-validators/create.appBody.validators.d.ts +0 -4
- package/dist/appBuilder/validators/joi-validators/create.appBody.validators.js +0 -11
- package/dist/appBuilder/validators/joi-validators/create.appBody.validators.js.map +0 -1
- package/dist/appBuilder/validators/joi-validators/create.appConstants.validator.d.ts +0 -4
- package/dist/appBuilder/validators/joi-validators/create.appConstants.validator.js +0 -12
- package/dist/appBuilder/validators/joi-validators/create.appConstants.validator.js.map +0 -1
- package/dist/appBuilder/validators/joi-validators/create.appEnv.validator.d.ts +0 -4
- package/dist/appBuilder/validators/joi-validators/create.appEnv.validator.js +0 -17
- package/dist/appBuilder/validators/joi-validators/create.appEnv.validator.js.map +0 -1
- package/dist/appBuilder/validators/joi-validators/create.appEvent.validator.d.ts +0 -5
- package/dist/appBuilder/validators/joi-validators/create.appEvent.validator.js +0 -30
- package/dist/appBuilder/validators/joi-validators/create.appEvent.validator.js.map +0 -1
- package/dist/appBuilder/validators/joi-validators/create.appVariable.validator.d.ts +0 -4
- package/dist/appBuilder/validators/joi-validators/create.appVariable.validator.js +0 -14
- package/dist/appBuilder/validators/joi-validators/create.appVariable.validator.js.map +0 -1
- package/dist/appBuilder/validators/joi-validators/sample.validator.d.ts +0 -5
- package/dist/appBuilder/validators/joi-validators/sample.validator.js +0 -26
- package/dist/appBuilder/validators/joi-validators/sample.validator.js.map +0 -1
- package/dist/appBuilder/validators/joi-validators/update.app.validator.d.ts +0 -4
- package/dist/appBuilder/validators/joi-validators/update.app.validator.js +0 -34
- package/dist/appBuilder/validators/joi-validators/update.app.validator.js.map +0 -1
- package/dist/appBuilder/validators/joi-validators/update.appAction.validator.d.ts +0 -4
- package/dist/appBuilder/validators/joi-validators/update.appAction.validator.js +0 -23
- package/dist/appBuilder/validators/joi-validators/update.appAction.validator.js.map +0 -1
- package/dist/appBuilder/validators/joi-validators/update.appActionResponse.validator.d.ts +0 -3
- package/dist/appBuilder/validators/joi-validators/update.appActionResponse.validator.js +0 -21
- package/dist/appBuilder/validators/joi-validators/update.appActionResponse.validator.js.map +0 -1
- package/dist/appBuilder/validators/joi-validators/update.appAuth.validator.d.ts +0 -4
- package/dist/appBuilder/validators/joi-validators/update.appAuth.validator.js +0 -19
- package/dist/appBuilder/validators/joi-validators/update.appAuth.validator.js.map +0 -1
- package/dist/appBuilder/validators/joi-validators/update.appConstants.validator.d.ts +0 -4
- package/dist/appBuilder/validators/joi-validators/update.appConstants.validator.js +0 -12
- package/dist/appBuilder/validators/joi-validators/update.appConstants.validator.js.map +0 -1
- package/dist/appBuilder/validators/joi-validators/update.appEnv.validator.d.ts +0 -4
- package/dist/appBuilder/validators/joi-validators/update.appEnv.validator.js +0 -17
- package/dist/appBuilder/validators/joi-validators/update.appEnv.validator.js.map +0 -1
- package/dist/appBuilder/validators/joi-validators/update.appEvent.validator.d.ts +0 -4
- package/dist/appBuilder/validators/joi-validators/update.appEvent.validator.js +0 -16
- package/dist/appBuilder/validators/joi-validators/update.appEvent.validator.js.map +0 -1
- package/dist/appBuilder/validators/joi-validators/update.appVariables.validator.d.ts +0 -4
- package/dist/appBuilder/validators/joi-validators/update.appVariables.validator.js +0 -14
- package/dist/appBuilder/validators/joi-validators/update.appVariables.validator.js.map +0 -1
- package/dist/appBuilder/validators/joi-validators/update.validation.entityData.validator.js +0 -27
- package/dist/appBuilder/validators/joi-validators/update.validation.entityData.validator.js.map +0 -1
- package/dist/apps/validators/joi-validators/create.appEvent.validator.d.ts +0 -5
- package/dist/apps/validators/joi-validators/create.appEvent.validator.js +0 -30
- package/dist/apps/validators/joi-validators/create.appEvent.validator.js.map +0 -1
- package/dist/apps/validators/joi-validators/update.appEvent.validator.d.ts +0 -4
- package/dist/apps/validators/joi-validators/update.appEvent.validator.js +0 -16
- package/dist/apps/validators/joi-validators/update.appEvent.validator.js.map +0 -1
- package/dist/clients/integrations.client.d.ts +0 -2
- package/dist/clients/integrations.client.js +0 -26
- package/dist/clients/integrations.client.js.map +0 -1
- package/dist/integrationsBuilder/services/integration.service.d.ts +0 -138
- package/dist/integrationsBuilder/services/integration.service.js +0 -1148
- package/dist/integrationsBuilder/services/integration.service.js.map +0 -1
- package/dist/integrationsBuilder/services/integrationBuilder.service.d.ts +0 -130
- package/dist/integrationsBuilder/services/integrationBuilder.service.js +0 -1017
- package/dist/integrationsBuilder/services/integrationBuilder.service.js.map +0 -1
- package/dist/integrationsBuilder/utils/objects.utils.d.ts +0 -2
- package/dist/integrationsBuilder/utils/objects.utils.js +0 -48
- package/dist/integrationsBuilder/utils/objects.utils.js.map +0 -1
- package/dist/integrationsBuilder/utils/string.utils.d.ts +0 -1
- package/dist/integrationsBuilder/utils/string.utils.js +0 -9
- package/dist/integrationsBuilder/utils/string.utils.js.map +0 -1
- package/dist/integrationsBuilder/validators/index.d.ts +0 -18
- package/dist/integrationsBuilder/validators/index.js +0 -38
- package/dist/integrationsBuilder/validators/index.js.map +0 -1
- package/dist/integrationsBuilder/validators/joi-validators/create.integration.validator.d.ts +0 -3
- package/dist/integrationsBuilder/validators/joi-validators/create.integration.validator.js +0 -10
- package/dist/integrationsBuilder/validators/joi-validators/create.integration.validator.js.map +0 -1
- package/dist/integrationsBuilder/validators/joi-validators/create.integrationApp.validator.d.ts +0 -4
- package/dist/integrationsBuilder/validators/joi-validators/create.integrationApp.validator.js +0 -26
- package/dist/integrationsBuilder/validators/joi-validators/create.integrationApp.validator.js.map +0 -1
- package/dist/integrationsBuilder/validators/joi-validators/create.integrationCache.validator.d.ts +0 -3
- package/dist/integrationsBuilder/validators/joi-validators/create.integrationCache.validator.js +0 -8
- package/dist/integrationsBuilder/validators/joi-validators/create.integrationCache.validator.js.map +0 -1
- package/dist/integrationsBuilder/validators/joi-validators/create.integrationDatabase.validator.d.ts +0 -3
- package/dist/integrationsBuilder/validators/joi-validators/create.integrationDatabase.validator.js +0 -8
- package/dist/integrationsBuilder/validators/joi-validators/create.integrationDatabase.validator.js.map +0 -1
- package/dist/integrationsBuilder/validators/joi-validators/create.integrationEnv.validator.d.ts +0 -3
- package/dist/integrationsBuilder/validators/joi-validators/create.integrationEnv.validator.js +0 -10
- package/dist/integrationsBuilder/validators/joi-validators/create.integrationEnv.validator.js.map +0 -1
- package/dist/integrationsBuilder/validators/joi-validators/create.integrationFeature.validator.d.ts +0 -3
- package/dist/integrationsBuilder/validators/joi-validators/create.integrationFeature.validator.js +0 -60
- package/dist/integrationsBuilder/validators/joi-validators/create.integrationFeature.validator.js.map +0 -1
- package/dist/integrationsBuilder/validators/joi-validators/create.integrationFunction.validator.d.ts +0 -3
- package/dist/integrationsBuilder/validators/joi-validators/create.integrationFunction.validator.js +0 -8
- package/dist/integrationsBuilder/validators/joi-validators/create.integrationFunction.validator.js.map +0 -1
- package/dist/integrationsBuilder/validators/joi-validators/create.integrationJob.validator.d.ts +0 -3
- package/dist/integrationsBuilder/validators/joi-validators/create.integrationJob.validator.js +0 -8
- package/dist/integrationsBuilder/validators/joi-validators/create.integrationJob.validator.js.map +0 -1
- package/dist/integrationsBuilder/validators/joi-validators/create.integrationNotification.validator.d.ts +0 -3
- package/dist/integrationsBuilder/validators/joi-validators/create.integrationNotification.validator.js +0 -8
- package/dist/integrationsBuilder/validators/joi-validators/create.integrationNotification.validator.js.map +0 -1
- package/dist/integrationsBuilder/validators/joi-validators/update.integrationApp.validator.d.ts +0 -3
- package/dist/integrationsBuilder/validators/joi-validators/update.integrationApp.validator.js +0 -9
- package/dist/integrationsBuilder/validators/joi-validators/update.integrationApp.validator.js.map +0 -1
- package/dist/integrationsBuilder/validators/joi-validators/update.integrationCache.validator.d.ts +0 -3
- package/dist/integrationsBuilder/validators/joi-validators/update.integrationCache.validator.js +0 -8
- package/dist/integrationsBuilder/validators/joi-validators/update.integrationCache.validator.js.map +0 -1
- package/dist/integrationsBuilder/validators/joi-validators/update.integrationDatabase.validator.d.ts +0 -3
- package/dist/integrationsBuilder/validators/joi-validators/update.integrationDatabase.validator.js +0 -8
- package/dist/integrationsBuilder/validators/joi-validators/update.integrationDatabase.validator.js.map +0 -1
- package/dist/integrationsBuilder/validators/joi-validators/update.integrationEnv.validator.d.ts +0 -3
- package/dist/integrationsBuilder/validators/joi-validators/update.integrationEnv.validator.js +0 -8
- package/dist/integrationsBuilder/validators/joi-validators/update.integrationEnv.validator.js.map +0 -1
- package/dist/integrationsBuilder/validators/joi-validators/update.integrationFeature.validator.d.ts +0 -3
- package/dist/integrationsBuilder/validators/joi-validators/update.integrationFeature.validator.js +0 -8
- package/dist/integrationsBuilder/validators/joi-validators/update.integrationFeature.validator.js.map +0 -1
- package/dist/integrationsBuilder/validators/joi-validators/update.integrationFunction.validator copy.d.ts +0 -3
- package/dist/integrationsBuilder/validators/joi-validators/update.integrationFunction.validator copy.js +0 -8
- package/dist/integrationsBuilder/validators/joi-validators/update.integrationFunction.validator copy.js.map +0 -1
- package/dist/integrationsBuilder/validators/joi-validators/update.integrationJob.validator.d.ts +0 -3
- package/dist/integrationsBuilder/validators/joi-validators/update.integrationJob.validator.js +0 -8
- package/dist/integrationsBuilder/validators/joi-validators/update.integrationJob.validator.js.map +0 -1
- package/dist/integrationsBuilder/validators/joi-validators/update.integrationNotification.validator.d.ts +0 -3
- package/dist/integrationsBuilder/validators/joi-validators/update.integrationNotification.validator.js +0 -8
- package/dist/integrationsBuilder/validators/joi-validators/update.integrationNotification.validator.js.map +0 -1
- package/dist/postman.d.ts +0 -1
- package/dist/postman.js +0 -21674
- package/dist/postman.js.map +0 -1
- package/dist/processor/utils/mongo.util.js +0 -152
- package/dist/processor/utils/mongo.util.js.map +0 -1
- package/dist/processor/utils/postgres.util.d.ts +0 -14
- package/dist/processor/utils/postgres.util.js +0 -83
- package/dist/processor/utils/postgres.util.js.map +0 -1
- package/dist/products/validators/joi-validators/create.product.validator.d.ts +0 -3
- package/dist/products/validators/joi-validators/create.product.validator.js +0 -10
- package/dist/products/validators/joi-validators/create.product.validator.js.map +0 -1
- package/dist/test.appBuilder.js +0 -14
- package/dist/test.appBuilder.js.map +0 -1
- package/dist/test.import.js +0 -24
- package/dist/test.import.js.map +0 -1
- package/dist/test.imports.js +0 -28
- package/dist/test.imports.js.map +0 -1
- package/dist/test.integrationBuilder.js +0 -276
- package/dist/test.integrationBuilder.js.map +0 -1
- package/dist/test.processor.js +0 -23
- package/dist/test.processor.js.map +0 -1
- package/dist/test.utils.js +0 -25
- package/dist/test.utils.js.map +0 -1
- package/dist/types/integrationsBuilder.types.d.ts +0 -276
- package/dist/types/integrationsBuilder.types.js +0 -51
- package/dist/types/integrationsBuilder.types.js.map +0 -1
- /package/dist/{actions/actions.repo.d.ts → pricing/pricing.repo.d.ts} +0 -0
- /package/dist/{appBuilder/validators/joi-validators/create.app.validator.d.ts → products/validators/joi-validators/create.productGraph.validator.d.ts} +0 -0
- /package/dist/{appBuilder/validators/joi-validators/update.validation.entityData.validator.d.ts → products/validators/joi-validators/update.productGraph.validator.d.ts} +0 -0
- /package/dist/{test.appBuilder.d.ts → test/test.broker.kafka.d.ts} +0 -0
- /package/dist/{test.imports.d.ts → test/test.broker.nats.d.ts} +0 -0
- /package/dist/{test.integrationBuilder.d.ts → test/test.broker.pubsub.d.ts} +0 -0
- /package/dist/{test.processor.d.ts → test/test.broker.rabbitmq.d.ts} +0 -0
- /package/dist/{test.utils.d.ts → test/test.broker.redis.d.ts} +0 -0
- /package/dist/{actions/actions.service.d.ts → test/test.health.d.ts} +0 -0
- /package/dist/{actions/utils/actions.util.read.d.ts → test/test.notifiers.d.ts} +0 -0
- /package/dist/{processor/utils/mongo.util.d.ts → test/test.products.d.ts} +0 -0
- /package/dist/{test.import.d.ts → types/request-tracker.interface.d.ts} +0 -0
|
@@ -0,0 +1,383 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Saga Orchestrator
|
|
4
|
+
*
|
|
5
|
+
* Manages distributed transactions across multiple data sources using
|
|
6
|
+
* the Saga pattern with compensating transactions for rollback.
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.SagaOrchestrator = void 0;
|
|
10
|
+
const types_1 = require("../types");
|
|
11
|
+
// ==================== SAGA ORCHESTRATOR ====================
|
|
12
|
+
/**
|
|
13
|
+
* Saga Orchestrator
|
|
14
|
+
*
|
|
15
|
+
* Coordinates execution of distributed transactions using the Saga pattern.
|
|
16
|
+
* Handles step execution, compensation on failure, and state management.
|
|
17
|
+
*/
|
|
18
|
+
class SagaOrchestrator {
|
|
19
|
+
constructor(executor, options = {}) {
|
|
20
|
+
this.executor = executor;
|
|
21
|
+
this.options = options;
|
|
22
|
+
this.activeSagas = new Map();
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Execute a saga transaction
|
|
26
|
+
*/
|
|
27
|
+
async execute(mainOperation, transaction) {
|
|
28
|
+
// Initialize saga state
|
|
29
|
+
const sagaId = transaction.id || (0, types_1.generateSagaId)();
|
|
30
|
+
const state = this.initializeSagaState(sagaId, mainOperation, transaction);
|
|
31
|
+
this.activeSagas.set(sagaId, state);
|
|
32
|
+
await this.persistState(state);
|
|
33
|
+
try {
|
|
34
|
+
// Execute all steps
|
|
35
|
+
await this.executeSteps(state, transaction);
|
|
36
|
+
// Mark as committed if all steps succeeded
|
|
37
|
+
if (state.status === 'executing') {
|
|
38
|
+
state.status = 'committed';
|
|
39
|
+
state.completedAt = new Date();
|
|
40
|
+
}
|
|
41
|
+
await this.persistState(state);
|
|
42
|
+
return this.buildResult(state);
|
|
43
|
+
}
|
|
44
|
+
catch (error) {
|
|
45
|
+
// Handle failure
|
|
46
|
+
return this.handleSagaFailure(state, transaction, error);
|
|
47
|
+
}
|
|
48
|
+
finally {
|
|
49
|
+
this.activeSagas.delete(sagaId);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Resume a saga from persisted state
|
|
54
|
+
*/
|
|
55
|
+
async resume(sagaId) {
|
|
56
|
+
if (!this.options.loadState) {
|
|
57
|
+
throw new Error('Cannot resume saga: no loadState function provided');
|
|
58
|
+
}
|
|
59
|
+
const state = await this.options.loadState(sagaId);
|
|
60
|
+
if (!state) {
|
|
61
|
+
return undefined;
|
|
62
|
+
}
|
|
63
|
+
this.activeSagas.set(sagaId, state);
|
|
64
|
+
try {
|
|
65
|
+
// Resume based on current status
|
|
66
|
+
switch (state.status) {
|
|
67
|
+
case 'executing':
|
|
68
|
+
// Continue with remaining steps
|
|
69
|
+
// This is a simplified resume - full implementation would track exact position
|
|
70
|
+
break;
|
|
71
|
+
case 'compensating':
|
|
72
|
+
// Continue compensation
|
|
73
|
+
await this.executeCompensations(state);
|
|
74
|
+
break;
|
|
75
|
+
case 'committed':
|
|
76
|
+
case 'rolled_back':
|
|
77
|
+
case 'failed':
|
|
78
|
+
// Already complete
|
|
79
|
+
break;
|
|
80
|
+
default:
|
|
81
|
+
break;
|
|
82
|
+
}
|
|
83
|
+
return this.buildResult(state);
|
|
84
|
+
}
|
|
85
|
+
finally {
|
|
86
|
+
this.activeSagas.delete(sagaId);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Get current saga state
|
|
91
|
+
*/
|
|
92
|
+
getState(sagaId) {
|
|
93
|
+
return this.activeSagas.get(sagaId);
|
|
94
|
+
}
|
|
95
|
+
// ==================== PRIVATE METHODS ====================
|
|
96
|
+
/**
|
|
97
|
+
* Initialize saga state
|
|
98
|
+
*/
|
|
99
|
+
initializeSagaState(sagaId, mainOperation, transaction) {
|
|
100
|
+
// Create steps array with main operation first
|
|
101
|
+
const steps = [
|
|
102
|
+
{
|
|
103
|
+
id: (0, types_1.generateStepId)('main'),
|
|
104
|
+
name: 'Main Operation',
|
|
105
|
+
status: 'pending',
|
|
106
|
+
attempts: 0,
|
|
107
|
+
},
|
|
108
|
+
];
|
|
109
|
+
// Add additional steps
|
|
110
|
+
if (transaction.operations) {
|
|
111
|
+
const sorted = [...transaction.operations].sort((a, b) => (a.order || 0) - (b.order || 0));
|
|
112
|
+
for (const step of sorted) {
|
|
113
|
+
steps.push({
|
|
114
|
+
id: step.id || (0, types_1.generateStepId)(step.name),
|
|
115
|
+
name: step.name,
|
|
116
|
+
status: 'pending',
|
|
117
|
+
attempts: 0,
|
|
118
|
+
});
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
return {
|
|
122
|
+
id: sagaId,
|
|
123
|
+
status: 'pending',
|
|
124
|
+
steps,
|
|
125
|
+
startedAt: new Date(),
|
|
126
|
+
results: new Map(),
|
|
127
|
+
};
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* Execute all saga steps
|
|
131
|
+
*/
|
|
132
|
+
async executeSteps(state, transaction) {
|
|
133
|
+
state.status = 'executing';
|
|
134
|
+
// Build execution order respecting dependencies
|
|
135
|
+
const executionOrder = this.buildExecutionOrder(transaction);
|
|
136
|
+
for (const stepIndex of executionOrder) {
|
|
137
|
+
const stepState = state.steps[stepIndex];
|
|
138
|
+
const step = this.getStepByIndex(stepIndex, transaction);
|
|
139
|
+
if (!step)
|
|
140
|
+
continue;
|
|
141
|
+
stepState.status = 'executing';
|
|
142
|
+
await this.persistState(state);
|
|
143
|
+
try {
|
|
144
|
+
const result = await this.executeStepWithRetry(step.operation, stepState, transaction.retry || this.options.defaultRetry);
|
|
145
|
+
stepState.status = 'completed';
|
|
146
|
+
stepState.result = result;
|
|
147
|
+
state.results.set(stepState.id, result);
|
|
148
|
+
await this.persistState(state);
|
|
149
|
+
}
|
|
150
|
+
catch (error) {
|
|
151
|
+
stepState.status = 'failed';
|
|
152
|
+
stepState.error = error;
|
|
153
|
+
// Check if step is required
|
|
154
|
+
if (step.required !== false) {
|
|
155
|
+
throw error;
|
|
156
|
+
}
|
|
157
|
+
// Non-required step failed - continue
|
|
158
|
+
stepState.status = 'skipped';
|
|
159
|
+
await this.persistState(state);
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
/**
|
|
164
|
+
* Execute a single step with retry logic
|
|
165
|
+
*/
|
|
166
|
+
async executeStepWithRetry(operation, stepState, retryConfig) {
|
|
167
|
+
const maxAttempts = (retryConfig === null || retryConfig === void 0 ? void 0 : retryConfig.maxAttempts) || 1;
|
|
168
|
+
const initialDelay = (retryConfig === null || retryConfig === void 0 ? void 0 : retryConfig.initialDelay) || 1000;
|
|
169
|
+
const maxDelay = (retryConfig === null || retryConfig === void 0 ? void 0 : retryConfig.maxDelay) || 10000;
|
|
170
|
+
const backoffMultiplier = (retryConfig === null || retryConfig === void 0 ? void 0 : retryConfig.backoffMultiplier) || 2;
|
|
171
|
+
let lastError;
|
|
172
|
+
let delay = initialDelay;
|
|
173
|
+
for (let attempt = 1; attempt <= maxAttempts; attempt++) {
|
|
174
|
+
stepState.attempts = attempt;
|
|
175
|
+
try {
|
|
176
|
+
const result = await this.executor(operation);
|
|
177
|
+
return result;
|
|
178
|
+
}
|
|
179
|
+
catch (error) {
|
|
180
|
+
lastError = error;
|
|
181
|
+
// Check if we should retry
|
|
182
|
+
if (attempt < maxAttempts && this.shouldRetry(error, retryConfig)) {
|
|
183
|
+
await this.sleep(delay);
|
|
184
|
+
delay = Math.min(delay * backoffMultiplier, maxDelay);
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
throw lastError;
|
|
189
|
+
}
|
|
190
|
+
/**
|
|
191
|
+
* Check if an error should trigger a retry
|
|
192
|
+
*/
|
|
193
|
+
shouldRetry(error, config) {
|
|
194
|
+
if (!(config === null || config === void 0 ? void 0 : config.retryOn)) {
|
|
195
|
+
// Retry on common transient errors
|
|
196
|
+
const message = error.message.toLowerCase();
|
|
197
|
+
return (message.includes('timeout') ||
|
|
198
|
+
message.includes('connection') ||
|
|
199
|
+
message.includes('temporarily unavailable') ||
|
|
200
|
+
message.includes('retry'));
|
|
201
|
+
}
|
|
202
|
+
const message = error.message.toLowerCase();
|
|
203
|
+
return config.retryOn.some(type => {
|
|
204
|
+
switch (type) {
|
|
205
|
+
case 'timeout':
|
|
206
|
+
return message.includes('timeout');
|
|
207
|
+
case 'connection':
|
|
208
|
+
return message.includes('connection') || message.includes('network');
|
|
209
|
+
case 'conflict':
|
|
210
|
+
return message.includes('conflict') || message.includes('locked');
|
|
211
|
+
case 'transient':
|
|
212
|
+
return message.includes('temporarily') || message.includes('retry');
|
|
213
|
+
default:
|
|
214
|
+
return false;
|
|
215
|
+
}
|
|
216
|
+
});
|
|
217
|
+
}
|
|
218
|
+
/**
|
|
219
|
+
* Handle saga failure - compensate or abort
|
|
220
|
+
*/
|
|
221
|
+
async handleSagaFailure(state, transaction, error) {
|
|
222
|
+
const failedStep = state.steps.find(s => s.status === 'failed');
|
|
223
|
+
if (transaction.onFailure === 'abort') {
|
|
224
|
+
state.status = 'failed';
|
|
225
|
+
state.error = {
|
|
226
|
+
message: error.message,
|
|
227
|
+
failedStep: failedStep === null || failedStep === void 0 ? void 0 : failedStep.id,
|
|
228
|
+
compensationSuccessful: false,
|
|
229
|
+
rolledBackSteps: [],
|
|
230
|
+
failedRollbackSteps: [],
|
|
231
|
+
cause: error,
|
|
232
|
+
};
|
|
233
|
+
state.completedAt = new Date();
|
|
234
|
+
await this.persistState(state);
|
|
235
|
+
return this.buildResult(state);
|
|
236
|
+
}
|
|
237
|
+
if (transaction.onFailure === 'continue') {
|
|
238
|
+
state.status = 'partially_committed';
|
|
239
|
+
state.error = {
|
|
240
|
+
message: error.message,
|
|
241
|
+
failedStep: failedStep === null || failedStep === void 0 ? void 0 : failedStep.id,
|
|
242
|
+
compensationSuccessful: false,
|
|
243
|
+
rolledBackSteps: [],
|
|
244
|
+
failedRollbackSteps: [],
|
|
245
|
+
cause: error,
|
|
246
|
+
};
|
|
247
|
+
state.completedAt = new Date();
|
|
248
|
+
await this.persistState(state);
|
|
249
|
+
return this.buildResult(state);
|
|
250
|
+
}
|
|
251
|
+
// Default: compensate
|
|
252
|
+
state.status = 'compensating';
|
|
253
|
+
await this.persistState(state);
|
|
254
|
+
const compensationResult = await this.executeCompensations(state);
|
|
255
|
+
state.status = compensationResult.success ? 'rolled_back' : 'failed';
|
|
256
|
+
state.error = {
|
|
257
|
+
message: error.message,
|
|
258
|
+
failedStep: failedStep === null || failedStep === void 0 ? void 0 : failedStep.id,
|
|
259
|
+
compensationSuccessful: compensationResult.success,
|
|
260
|
+
rolledBackSteps: compensationResult.rolledBack,
|
|
261
|
+
failedRollbackSteps: compensationResult.failed,
|
|
262
|
+
cause: error,
|
|
263
|
+
};
|
|
264
|
+
state.completedAt = new Date();
|
|
265
|
+
await this.persistState(state);
|
|
266
|
+
return this.buildResult(state);
|
|
267
|
+
}
|
|
268
|
+
/**
|
|
269
|
+
* Execute compensation for completed steps (in reverse order)
|
|
270
|
+
*/
|
|
271
|
+
async executeCompensations(state) {
|
|
272
|
+
const rolledBack = [];
|
|
273
|
+
const failed = [];
|
|
274
|
+
// Get completed steps in reverse order
|
|
275
|
+
const completedSteps = state.steps
|
|
276
|
+
.filter(s => s.status === 'completed')
|
|
277
|
+
.reverse();
|
|
278
|
+
for (const stepState of completedSteps) {
|
|
279
|
+
try {
|
|
280
|
+
// Generate compensation from result if not provided
|
|
281
|
+
const compensation = (0, types_1.generateCompensation)({ operation: 'delete', from: { type: 'database', tag: '', entity: '' } }, // Placeholder
|
|
282
|
+
stepState.result);
|
|
283
|
+
if (compensation) {
|
|
284
|
+
await this.executor(compensation);
|
|
285
|
+
}
|
|
286
|
+
stepState.compensationStatus = 'completed';
|
|
287
|
+
rolledBack.push(stepState.id);
|
|
288
|
+
}
|
|
289
|
+
catch (error) {
|
|
290
|
+
stepState.compensationStatus = 'compensation_failed';
|
|
291
|
+
failed.push(stepState.id);
|
|
292
|
+
}
|
|
293
|
+
await this.persistState(state);
|
|
294
|
+
}
|
|
295
|
+
return {
|
|
296
|
+
success: failed.length === 0,
|
|
297
|
+
rolledBack,
|
|
298
|
+
failed,
|
|
299
|
+
};
|
|
300
|
+
}
|
|
301
|
+
/**
|
|
302
|
+
* Build execution order respecting dependencies
|
|
303
|
+
*/
|
|
304
|
+
buildExecutionOrder(transaction) {
|
|
305
|
+
const order = [0]; // Main operation first
|
|
306
|
+
if (!transaction.operations) {
|
|
307
|
+
return order;
|
|
308
|
+
}
|
|
309
|
+
// Simple topological sort based on dependsOn
|
|
310
|
+
const operations = transaction.operations;
|
|
311
|
+
const visited = new Set([0]);
|
|
312
|
+
const idToIndex = new Map();
|
|
313
|
+
operations.forEach((op, idx) => {
|
|
314
|
+
if (op.id) {
|
|
315
|
+
idToIndex.set(op.id, idx + 1);
|
|
316
|
+
}
|
|
317
|
+
});
|
|
318
|
+
const visit = (index) => {
|
|
319
|
+
if (visited.has(index))
|
|
320
|
+
return;
|
|
321
|
+
const op = operations[index - 1];
|
|
322
|
+
if (op.dependsOn) {
|
|
323
|
+
for (const depId of op.dependsOn) {
|
|
324
|
+
const depIdx = idToIndex.get(depId);
|
|
325
|
+
if (depIdx !== undefined) {
|
|
326
|
+
visit(depIdx);
|
|
327
|
+
}
|
|
328
|
+
}
|
|
329
|
+
}
|
|
330
|
+
visited.add(index);
|
|
331
|
+
order.push(index);
|
|
332
|
+
};
|
|
333
|
+
for (let i = 1; i <= operations.length; i++) {
|
|
334
|
+
visit(i);
|
|
335
|
+
}
|
|
336
|
+
return order;
|
|
337
|
+
}
|
|
338
|
+
/**
|
|
339
|
+
* Get step by index
|
|
340
|
+
*/
|
|
341
|
+
getStepByIndex(index, transaction) {
|
|
342
|
+
var _a;
|
|
343
|
+
if (index === 0) {
|
|
344
|
+
// Main operation - not in transaction.operations
|
|
345
|
+
return undefined; // Handled separately
|
|
346
|
+
}
|
|
347
|
+
return (_a = transaction.operations) === null || _a === void 0 ? void 0 : _a[index - 1];
|
|
348
|
+
}
|
|
349
|
+
/**
|
|
350
|
+
* Build saga result
|
|
351
|
+
*/
|
|
352
|
+
buildResult(state) {
|
|
353
|
+
const stepResults = {};
|
|
354
|
+
state.results.forEach((value, key) => {
|
|
355
|
+
stepResults[key] = value;
|
|
356
|
+
});
|
|
357
|
+
return {
|
|
358
|
+
transactionId: state.id,
|
|
359
|
+
status: state.status,
|
|
360
|
+
stepResults,
|
|
361
|
+
executionTime: state.completedAt
|
|
362
|
+
? state.completedAt.getTime() - state.startedAt.getTime()
|
|
363
|
+
: Date.now() - state.startedAt.getTime(),
|
|
364
|
+
error: state.error,
|
|
365
|
+
};
|
|
366
|
+
}
|
|
367
|
+
/**
|
|
368
|
+
* Persist saga state
|
|
369
|
+
*/
|
|
370
|
+
async persistState(state) {
|
|
371
|
+
if (this.options.persistState) {
|
|
372
|
+
await this.options.persistState(state);
|
|
373
|
+
}
|
|
374
|
+
}
|
|
375
|
+
/**
|
|
376
|
+
* Sleep for a given duration
|
|
377
|
+
*/
|
|
378
|
+
sleep(ms) {
|
|
379
|
+
return new Promise(resolve => setTimeout(resolve, ms));
|
|
380
|
+
}
|
|
381
|
+
}
|
|
382
|
+
exports.SagaOrchestrator = SagaOrchestrator;
|
|
383
|
+
//# sourceMappingURL=saga-orchestrator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"saga-orchestrator.js","sourceRoot":"","sources":["../../../src/warehouse/transactions/saga-orchestrator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Warehouse Types
|
|
3
|
+
*
|
|
4
|
+
* Unified type definitions for the cross-database warehouse interface.
|
|
5
|
+
*/
|
|
6
|
+
export { DataSourceType, IDataSource, WarehouseOperation, IFieldMapping, IAggregation, IOrderBy, IWarehouseQuery, IExecutionHints, IWarehouseResult, IQueryMetadata, ISourceStats, IJoinStats, IExecutionPlan, IExecutionStep, } from './query.interface';
|
|
7
|
+
export { IComparisonCondition, IStringCondition, IArrayCondition, IJsonCondition, IVectorSimilarityCondition, IGraphConnectivityCondition, IFullTextCondition, IFieldCondition, ILogicalOperators, IUnifiedWhereClause, isEmptyWhereClause, hasVectorOperators, hasGraphOperators, extractFieldPaths, } from './where.interface';
|
|
8
|
+
export { StandardJoinType, JoinType, IJoinCondition, ICompoundJoinCondition, ISemanticJoinConfig, IGraphJoinConfig, IJoinClause, IJoinResult, isCompoundCondition, isStandardJoin, parseFieldPath, buildFieldPath, extractJoinAliases, validateJoinClause, } from './join.interface';
|
|
9
|
+
export { ISagaTransaction, SagaIsolation, ISagaStep, IRetryConfig, ISagaState, SagaStatus, ISagaStepState, StepStatus, ISagaError, ISagaResult, ITransactionContext, generateSagaId, generateStepId, isSagaInProgress, isSagaSuccessful, generateCompensation, } from './transaction.interface';
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Warehouse Types
|
|
4
|
+
*
|
|
5
|
+
* Unified type definitions for the cross-database warehouse interface.
|
|
6
|
+
*/
|
|
7
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
+
exports.generateCompensation = exports.isSagaSuccessful = exports.isSagaInProgress = exports.generateStepId = exports.generateSagaId = exports.validateJoinClause = exports.extractJoinAliases = exports.buildFieldPath = exports.parseFieldPath = exports.isStandardJoin = exports.isCompoundCondition = exports.extractFieldPaths = exports.hasGraphOperators = exports.hasVectorOperators = exports.isEmptyWhereClause = void 0;
|
|
9
|
+
// Where clause interfaces
|
|
10
|
+
var where_interface_1 = require("./where.interface");
|
|
11
|
+
// Utilities
|
|
12
|
+
Object.defineProperty(exports, "isEmptyWhereClause", { enumerable: true, get: function () { return where_interface_1.isEmptyWhereClause; } });
|
|
13
|
+
Object.defineProperty(exports, "hasVectorOperators", { enumerable: true, get: function () { return where_interface_1.hasVectorOperators; } });
|
|
14
|
+
Object.defineProperty(exports, "hasGraphOperators", { enumerable: true, get: function () { return where_interface_1.hasGraphOperators; } });
|
|
15
|
+
Object.defineProperty(exports, "extractFieldPaths", { enumerable: true, get: function () { return where_interface_1.extractFieldPaths; } });
|
|
16
|
+
// Join interfaces
|
|
17
|
+
var join_interface_1 = require("./join.interface");
|
|
18
|
+
// Utilities
|
|
19
|
+
Object.defineProperty(exports, "isCompoundCondition", { enumerable: true, get: function () { return join_interface_1.isCompoundCondition; } });
|
|
20
|
+
Object.defineProperty(exports, "isStandardJoin", { enumerable: true, get: function () { return join_interface_1.isStandardJoin; } });
|
|
21
|
+
Object.defineProperty(exports, "parseFieldPath", { enumerable: true, get: function () { return join_interface_1.parseFieldPath; } });
|
|
22
|
+
Object.defineProperty(exports, "buildFieldPath", { enumerable: true, get: function () { return join_interface_1.buildFieldPath; } });
|
|
23
|
+
Object.defineProperty(exports, "extractJoinAliases", { enumerable: true, get: function () { return join_interface_1.extractJoinAliases; } });
|
|
24
|
+
Object.defineProperty(exports, "validateJoinClause", { enumerable: true, get: function () { return join_interface_1.validateJoinClause; } });
|
|
25
|
+
// Transaction interfaces
|
|
26
|
+
var transaction_interface_1 = require("./transaction.interface");
|
|
27
|
+
// Utilities
|
|
28
|
+
Object.defineProperty(exports, "generateSagaId", { enumerable: true, get: function () { return transaction_interface_1.generateSagaId; } });
|
|
29
|
+
Object.defineProperty(exports, "generateStepId", { enumerable: true, get: function () { return transaction_interface_1.generateStepId; } });
|
|
30
|
+
Object.defineProperty(exports, "isSagaInProgress", { enumerable: true, get: function () { return transaction_interface_1.isSagaInProgress; } });
|
|
31
|
+
Object.defineProperty(exports, "isSagaSuccessful", { enumerable: true, get: function () { return transaction_interface_1.isSagaSuccessful; } });
|
|
32
|
+
Object.defineProperty(exports, "generateCompensation", { enumerable: true, get: function () { return transaction_interface_1.generateCompensation; } });
|
|
33
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/warehouse/types/index.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAwBH,0BAA0B;AAC1B,qDAmB2B;AALzB,YAAY;AACZ,qHAAA,kBAAkB,OAAA;AAClB,qHAAA,kBAAkB,OAAA;AAClB,oHAAA,iBAAiB,OAAA;AACjB,oHAAA,iBAAiB,OAAA;AAGnB,kBAAkB;AAClB,mDAmB0B;AAPxB,YAAY;AACZ,qHAAA,mBAAmB,OAAA;AACnB,gHAAA,cAAc,OAAA;AACd,gHAAA,cAAc,OAAA;AACd,gHAAA,cAAc,OAAA;AACd,oHAAA,kBAAkB,OAAA;AAClB,oHAAA,kBAAkB,OAAA;AAGpB,yBAAyB;AACzB,iEAqBiC;AAN/B,YAAY;AACZ,uHAAA,cAAc,OAAA;AACd,uHAAA,cAAc,OAAA;AACd,yHAAA,gBAAgB,OAAA;AAChB,yHAAA,gBAAgB,OAAA;AAChB,6HAAA,oBAAoB,OAAA"}
|
|
@@ -0,0 +1,225 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Join Interface
|
|
3
|
+
*
|
|
4
|
+
* Defines cross-database join operations including standard SQL-style joins,
|
|
5
|
+
* semantic joins (vector similarity), and graph traversal joins.
|
|
6
|
+
*/
|
|
7
|
+
import { IDataSource } from './query.interface';
|
|
8
|
+
import { IUnifiedWhereClause } from './where.interface';
|
|
9
|
+
/**
|
|
10
|
+
* Standard join types
|
|
11
|
+
*/
|
|
12
|
+
export type StandardJoinType = 'inner' | 'left' | 'right' | 'full' | 'cross';
|
|
13
|
+
/**
|
|
14
|
+
* Extended join types including semantic/vector joins
|
|
15
|
+
*/
|
|
16
|
+
export type JoinType = StandardJoinType | 'semantic' | 'graph';
|
|
17
|
+
/**
|
|
18
|
+
* Standard join condition (equality or comparison)
|
|
19
|
+
*/
|
|
20
|
+
export interface IJoinCondition {
|
|
21
|
+
/** Left side field path (e.g., "u.id") */
|
|
22
|
+
left: string;
|
|
23
|
+
/** Right side field path (e.g., "o.userId") */
|
|
24
|
+
right: string;
|
|
25
|
+
/**
|
|
26
|
+
* Comparison operator
|
|
27
|
+
* @default '='
|
|
28
|
+
*/
|
|
29
|
+
operator?: '=' | '!=' | '>' | '<' | '>=' | '<=';
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Multiple join conditions with logical operator
|
|
33
|
+
*/
|
|
34
|
+
export interface ICompoundJoinCondition {
|
|
35
|
+
/** Logical operator */
|
|
36
|
+
logic: 'AND' | 'OR';
|
|
37
|
+
/** Individual conditions */
|
|
38
|
+
conditions: IJoinCondition[];
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Semantic join configuration (vector similarity)
|
|
42
|
+
*/
|
|
43
|
+
export interface ISemanticJoinConfig {
|
|
44
|
+
/**
|
|
45
|
+
* Field containing embedding or text to embed
|
|
46
|
+
* If text, will be embedded on-the-fly
|
|
47
|
+
*/
|
|
48
|
+
embedField: string;
|
|
49
|
+
/**
|
|
50
|
+
* Minimum similarity threshold (0-1 for cosine)
|
|
51
|
+
* @default 0.7
|
|
52
|
+
*/
|
|
53
|
+
similarityThreshold?: number;
|
|
54
|
+
/**
|
|
55
|
+
* Maximum similar items to return per row
|
|
56
|
+
* @default 10
|
|
57
|
+
*/
|
|
58
|
+
topK?: number;
|
|
59
|
+
/**
|
|
60
|
+
* Distance metric
|
|
61
|
+
* @default 'cosine'
|
|
62
|
+
*/
|
|
63
|
+
metric?: 'cosine' | 'euclidean' | 'dot_product';
|
|
64
|
+
/**
|
|
65
|
+
* Embedding model to use if embedField contains text
|
|
66
|
+
* Required if embedField is not already a vector
|
|
67
|
+
*/
|
|
68
|
+
embeddingModel?: string;
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Graph traversal join configuration
|
|
72
|
+
*/
|
|
73
|
+
export interface IGraphJoinConfig {
|
|
74
|
+
/**
|
|
75
|
+
* Relationship type to traverse
|
|
76
|
+
*/
|
|
77
|
+
relationship: string;
|
|
78
|
+
/**
|
|
79
|
+
* Traversal direction
|
|
80
|
+
* @default 'outgoing'
|
|
81
|
+
*/
|
|
82
|
+
direction?: 'outgoing' | 'incoming' | 'both';
|
|
83
|
+
/**
|
|
84
|
+
* Minimum traversal depth
|
|
85
|
+
* @default 1
|
|
86
|
+
*/
|
|
87
|
+
minDepth?: number;
|
|
88
|
+
/**
|
|
89
|
+
* Maximum traversal depth
|
|
90
|
+
* @default 1
|
|
91
|
+
*/
|
|
92
|
+
maxDepth?: number;
|
|
93
|
+
/**
|
|
94
|
+
* Filter for intermediate nodes
|
|
95
|
+
*/
|
|
96
|
+
nodeFilter?: IUnifiedWhereClause;
|
|
97
|
+
/**
|
|
98
|
+
* Filter for relationships
|
|
99
|
+
*/
|
|
100
|
+
relationshipFilter?: IUnifiedWhereClause;
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Join clause for cross-database joins
|
|
104
|
+
*
|
|
105
|
+
* @example
|
|
106
|
+
* // Standard inner join
|
|
107
|
+
* {
|
|
108
|
+
* type: 'inner',
|
|
109
|
+
* source: { type: 'database', tag: 'orders-mongo', entity: 'orders', alias: 'o' },
|
|
110
|
+
* on: { left: 'u.id', right: 'o.userId' }
|
|
111
|
+
* }
|
|
112
|
+
*
|
|
113
|
+
* @example
|
|
114
|
+
* // Semantic join (vector similarity)
|
|
115
|
+
* {
|
|
116
|
+
* type: 'semantic',
|
|
117
|
+
* source: { type: 'vector', tag: 'products-pinecone', entity: 'products', alias: 'similar' },
|
|
118
|
+
* semantic: {
|
|
119
|
+
* embedField: 'p.description',
|
|
120
|
+
* similarityThreshold: 0.8,
|
|
121
|
+
* topK: 5
|
|
122
|
+
* }
|
|
123
|
+
* }
|
|
124
|
+
*
|
|
125
|
+
* @example
|
|
126
|
+
* // Graph traversal join
|
|
127
|
+
* {
|
|
128
|
+
* type: 'graph',
|
|
129
|
+
* source: { type: 'graph', tag: 'social-neo4j', entity: 'Person', alias: 'friend' },
|
|
130
|
+
* graph: {
|
|
131
|
+
* relationship: 'FRIENDS_WITH',
|
|
132
|
+
* direction: 'both',
|
|
133
|
+
* maxDepth: 2
|
|
134
|
+
* },
|
|
135
|
+
* on: { left: 'u.id', right: 'friend.userId' }
|
|
136
|
+
* }
|
|
137
|
+
*/
|
|
138
|
+
export interface IJoinClause {
|
|
139
|
+
/** Join type */
|
|
140
|
+
type: JoinType;
|
|
141
|
+
/** Data source to join */
|
|
142
|
+
source: IDataSource;
|
|
143
|
+
/**
|
|
144
|
+
* Join condition for standard joins
|
|
145
|
+
* Required for 'inner', 'left', 'right', 'full' joins
|
|
146
|
+
*/
|
|
147
|
+
on?: IJoinCondition | ICompoundJoinCondition;
|
|
148
|
+
/**
|
|
149
|
+
* Semantic join configuration
|
|
150
|
+
* Required when type is 'semantic'
|
|
151
|
+
*/
|
|
152
|
+
semantic?: ISemanticJoinConfig;
|
|
153
|
+
/**
|
|
154
|
+
* Graph traversal configuration
|
|
155
|
+
* Required when type is 'graph'
|
|
156
|
+
*/
|
|
157
|
+
graph?: IGraphJoinConfig;
|
|
158
|
+
/**
|
|
159
|
+
* Additional filter to apply to joined data
|
|
160
|
+
*/
|
|
161
|
+
where?: IUnifiedWhereClause;
|
|
162
|
+
/**
|
|
163
|
+
* Fields to select from this join source
|
|
164
|
+
* If not specified, all fields are included
|
|
165
|
+
*/
|
|
166
|
+
select?: string[];
|
|
167
|
+
/**
|
|
168
|
+
* Alias prefix for all fields from this source
|
|
169
|
+
* Helps avoid naming conflicts
|
|
170
|
+
*/
|
|
171
|
+
fieldPrefix?: string;
|
|
172
|
+
}
|
|
173
|
+
/**
|
|
174
|
+
* Result of a join operation
|
|
175
|
+
*/
|
|
176
|
+
export interface IJoinResult<T = Record<string, any>> {
|
|
177
|
+
/** Joined data */
|
|
178
|
+
data: T[];
|
|
179
|
+
/** Join statistics */
|
|
180
|
+
stats: {
|
|
181
|
+
/** Left side row count */
|
|
182
|
+
leftRows: number;
|
|
183
|
+
/** Right side row count */
|
|
184
|
+
rightRows: number;
|
|
185
|
+
/** Matched pairs */
|
|
186
|
+
matchedPairs: number;
|
|
187
|
+
/** Result row count */
|
|
188
|
+
resultRows: number;
|
|
189
|
+
/** Join strategy used */
|
|
190
|
+
strategy: 'hash' | 'nested_loop' | 'sort_merge' | 'semantic' | 'graph';
|
|
191
|
+
/** Execution time in milliseconds */
|
|
192
|
+
executionTime: number;
|
|
193
|
+
};
|
|
194
|
+
}
|
|
195
|
+
/**
|
|
196
|
+
* Check if a join condition is compound
|
|
197
|
+
*/
|
|
198
|
+
export declare function isCompoundCondition(condition: IJoinCondition | ICompoundJoinCondition): condition is ICompoundJoinCondition;
|
|
199
|
+
/**
|
|
200
|
+
* Check if a join is a standard SQL-style join
|
|
201
|
+
*/
|
|
202
|
+
export declare function isStandardJoin(type: JoinType): type is StandardJoinType;
|
|
203
|
+
/**
|
|
204
|
+
* Parse a field path into alias and field name
|
|
205
|
+
*
|
|
206
|
+
* @example
|
|
207
|
+
* parseFieldPath('u.name') // { alias: 'u', field: 'name' }
|
|
208
|
+
* parseFieldPath('name') // { alias: undefined, field: 'name' }
|
|
209
|
+
*/
|
|
210
|
+
export declare function parseFieldPath(path: string): {
|
|
211
|
+
alias?: string;
|
|
212
|
+
field: string;
|
|
213
|
+
};
|
|
214
|
+
/**
|
|
215
|
+
* Build a field path from alias and field name
|
|
216
|
+
*/
|
|
217
|
+
export declare function buildFieldPath(alias: string | undefined, field: string): string;
|
|
218
|
+
/**
|
|
219
|
+
* Extract all source aliases from a list of join clauses
|
|
220
|
+
*/
|
|
221
|
+
export declare function extractJoinAliases(joins: IJoinClause[]): string[];
|
|
222
|
+
/**
|
|
223
|
+
* Validate join clause configuration
|
|
224
|
+
*/
|
|
225
|
+
export declare function validateJoinClause(join: IJoinClause): string[];
|