@ductape/sdk 0.0.4 → 0.0.6
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/README.md +87 -53
- package/dist/agents/agent-context.d.ts +100 -0
- package/dist/agents/agent-context.js +604 -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 +1253 -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 +1240 -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 +116 -9
- package/dist/api/services/appApi.service.js.map +1 -1
- package/dist/api/services/logsApi.service.d.ts +51 -0
- package/dist/api/services/logsApi.service.js +19 -2
- package/dist/api/services/logsApi.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 +900 -2
- package/dist/api/services/processorApi.service.js +665 -12
- package/dist/api/services/processorApi.service.js.map +1 -1
- package/dist/api/services/productsApi.service.d.ts +130 -1
- package/dist/api/services/productsApi.service.js +198 -11
- 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 +113 -0
- package/dist/api/services/secretsApi.service.js.map +1 -0
- package/dist/api/services/webhooksApi.service.js +13 -6
- package/dist/api/services/webhooksApi.service.js.map +1 -1
- package/dist/api/services/workflowApi.service.d.ts +199 -0
- package/dist/api/services/workflowApi.service.js +201 -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 +92 -1
- package/dist/api/urls.js +118 -18
- 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 +42 -33
- package/dist/apps/services/app.service.js +574 -223
- 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 +22 -2
- package/dist/apps/validators/joi-validators/create.appAction.validator.js.map +1 -1
- package/dist/apps/validators/joi-validators/update.app.validator.js +2 -0
- package/dist/apps/validators/joi-validators/update.app.validator.js.map +1 -1
- package/dist/apps/validators/joi-validators/update.appAction.validator.js +23 -2
- 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 +435 -0
- package/dist/brokers/brokers.service.js +1205 -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 +567 -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/{processor/services/messagebrokers → brokers/utils/providers}/aws-sqs.service.d.ts +3 -2
- 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/{processor/services/messagebrokers → brokers/utils/providers}/google-pubsub.service.d.ts +2 -2
- package/dist/{processor/services/messagebrokers → brokers/utils/providers}/google-pubsub.service.js +16 -7
- 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 +25 -0
- package/dist/brokers/utils/providers/rabbitmq.service.js +138 -0
- package/dist/brokers/utils/providers/rabbitmq.service.js.map +1 -0
- package/dist/{processor/services/messagebrokers → brokers/utils/providers}/redis.service.d.ts +3 -3
- package/dist/{processor/services/messagebrokers → brokers/utils/providers}/redis.service.js +25 -14
- package/dist/brokers/utils/providers/redis.service.js.map +1 -0
- package/dist/cache/cache.manager.d.ts +308 -0
- package/dist/cache/cache.manager.js +900 -0
- package/dist/cache/cache.manager.js.map +1 -0
- package/dist/cache/cache.service.d.ts +191 -0
- package/dist/cache/cache.service.js +594 -0
- package/dist/cache/cache.service.js.map +1 -0
- package/dist/cache/index.d.ts +52 -0
- package/dist/cache/index.js +81 -0
- package/dist/cache/index.js.map +1 -0
- package/dist/cache/types/index.d.ts +110 -0
- package/dist/cache/types/index.js +6 -0
- package/dist/cache/types/index.js.map +1 -0
- package/dist/clients/apps.client.js +1 -1
- package/dist/clients/apps.client.js.map +1 -1
- 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 +1476 -0
- package/dist/database/databases.service.js +3068 -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/dashboard.interface.d.ts +74 -0
- package/dist/database/types/dashboard.interface.js +7 -0
- package/dist/database/types/dashboard.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 +15 -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 +606 -0
- package/dist/graph/graphs.service.js +2434 -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 -2
- package/dist/imports/repos/openApi.repo.js +409 -70
- 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 +3926 -269
- package/dist/index.js +5475 -682
- package/dist/index.js.map +1 -1
- package/dist/init.interface.d.ts +407 -0
- package/dist/{processor/services/messagebrokers/messagebrokers.type.js → init.interface.js} +1 -1
- package/dist/init.interface.js.map +1 -0
- package/dist/inputs/inputs.service.d.ts +1 -1
- package/dist/inputs/inputs.service.js +2 -2
- package/dist/inputs/inputs.service.js.map +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 -1
- package/dist/logs/logs.service.js.map +1 -1
- package/dist/logs/logs.types.d.ts +33 -1
- package/dist/logs/logs.types.js +17 -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 +268 -0
- package/dist/notifications/notifications.service.js +905 -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 +452 -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/repos/sms.repo.d.ts +4 -4
- package/dist/processor/repos/sms.repo.js +23 -10
- package/dist/processor/repos/sms.repo.js.map +1 -1
- package/dist/processor/services/processor.service.d.ts +251 -78
- package/dist/processor/services/processor.service.js +2803 -1495
- 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.d.ts +8 -0
- package/dist/processor/utils/processor.utils.js +152 -12
- 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/processor/utils/storage.util.js +63 -40
- package/dist/processor/utils/storage.util.js.map +1 -1
- package/dist/products/services/products.service.d.ts +386 -76
- package/dist/products/services/products.service.js +3221 -419
- 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.productApp.validator.js +2 -2
- package/dist/products/validators/joi-validators/create.productApp.validator.js.map +1 -1
- 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.productFeature.validator.js +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/{processor/services/messagebrokers/rabbitmq.service.js → products/validators/joi-validators/create.productHealthcheck.validator.js} +23 -32
- package/dist/products/validators/joi-validators/create.productHealthcheck.validator.js.map +1 -0
- package/dist/products/validators/joi-validators/create.productJob.validator.js +2 -2
- package/dist/products/validators/joi-validators/create.productJob.validator.js.map +1 -1
- package/dist/products/validators/joi-validators/create.productMessageBrokerTopic.validator.js +1 -0
- package/dist/products/validators/joi-validators/create.productMessageBrokerTopic.validator.js.map +1 -1
- 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 +150 -51
- 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 +136 -0
- package/dist/products/validators/joi-validators/create.productVector.validator.js.map +1 -0
- package/dist/products/validators/joi-validators/create.userAuth.validator.js +1 -0
- package/dist/products/validators/joi-validators/create.userAuth.validator.js.map +1 -1
- 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/products/validators/joi-validators/update.userAuth.validator.js +1 -0
- package/dist/products/validators/joi-validators/update.userAuth.validator.js.map +1 -1
- package/dist/resilience/fallback.service.d.ts +141 -0
- package/dist/resilience/fallback.service.js +766 -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 +83 -0
- package/dist/resilience/quota.service.js +518 -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 +236 -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 +246 -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 +96 -0
- package/dist/sessions/index.js.map +1 -0
- package/dist/sessions/sessions.helper.d.ts +88 -0
- package/dist/sessions/sessions.helper.js +133 -0
- package/dist/sessions/sessions.helper.js.map +1 -0
- package/dist/sessions/sessions.resolver.d.ts +188 -0
- package/dist/sessions/sessions.resolver.js +603 -0
- package/dist/sessions/sessions.resolver.js.map +1 -0
- package/dist/sessions/sessions.service.d.ts +194 -0
- package/dist/sessions/sessions.service.js +987 -0
- package/dist/sessions/sessions.service.js.map +1 -0
- package/dist/sessions/types/index.d.ts +342 -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 +177 -0
- package/dist/storage/storage.service.js +897 -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/types/appBuilder.types.d.ts +13 -14
- 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 +9 -4
- package/dist/types/index.types.js +0 -1
- package/dist/types/index.types.js.map +1 -1
- package/dist/types/inputs.types.d.ts +1 -0
- package/dist/types/inputs.types.js +4 -3
- 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 +324 -18
- package/dist/types/processor.types.js +9 -1
- package/dist/types/processor.types.js.map +1 -1
- package/dist/types/productsBuilder.types.d.ts +1007 -23
- package/dist/types/productsBuilder.types.js +216 -2
- 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 +661 -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 +476 -0
- package/dist/vector/vector-database.service.js +892 -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 +1095 -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 +353 -0
- package/dist/workflows/workflow-builder.js.map +1 -0
- package/dist/workflows/workflow-executor.d.ts +287 -0
- package/dist/workflows/workflow-executor.js +2399 -0
- package/dist/workflows/workflow-executor.js.map +1 -0
- package/dist/workflows/workflows.service.d.ts +412 -0
- package/dist/workflows/workflows.service.js +2188 -0
- package/dist/workflows/workflows.service.js.map +1 -0
- package/package.json +83 -11
- 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.d.ts +0 -0
- 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/services/fallback.service.d.ts +0 -5
- package/dist/processor/services/fallback.service.js +0 -43
- package/dist/processor/services/fallback.service.js.map +0 -1
- package/dist/processor/services/messagebrokers/aws-sqs.service.js +0 -77
- package/dist/processor/services/messagebrokers/aws-sqs.service.js.map +0 -1
- package/dist/processor/services/messagebrokers/google-pubsub.service.js.map +0 -1
- package/dist/processor/services/messagebrokers/index.d.ts +0 -3
- package/dist/processor/services/messagebrokers/index.js +0 -26
- package/dist/processor/services/messagebrokers/index.js.map +0 -1
- package/dist/processor/services/messagebrokers/kafka.service.d.ts +0 -14
- package/dist/processor/services/messagebrokers/kafka.service.js +0 -45
- package/dist/processor/services/messagebrokers/kafka.service.js.map +0 -1
- package/dist/processor/services/messagebrokers/messagebrokers.type.d.ts +0 -6
- package/dist/processor/services/messagebrokers/messagebrokers.type.js.map +0 -1
- package/dist/processor/services/messagebrokers/rabbitmq.service.d.ts +0 -14
- package/dist/processor/services/messagebrokers/rabbitmq.service.js.map +0 -1
- package/dist/processor/services/messagebrokers/redis.service.js.map +0 -1
- package/dist/processor/services/quota.service.d.ts +0 -15
- package/dist/processor/services/quota.service.js +0 -63
- package/dist/processor/services/quota.service.js.map +0 -1
- package/dist/processor/utils/mongo.util.d.ts +0 -0
- 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/test.appBuilder.d.ts +0 -1
- package/dist/test/test.appBuilder.js +0 -16
- package/dist/test/test.appBuilder.js.map +0 -1
- package/dist/test/test.import.d.ts +0 -1
- package/dist/test/test.import.js +0 -1460
- package/dist/test/test.import.js.map +0 -1
- package/dist/test/test.import.openapi.d.ts +0 -1
- package/dist/test/test.import.openapi.js +0 -76
- package/dist/test/test.import.openapi.js.map +0 -1
- package/dist/test/test.imports.d.ts +0 -1
- package/dist/test/test.imports.js +0 -62
- package/dist/test/test.imports.js.map +0 -1
- package/dist/test/test.logs.d.ts +0 -1
- package/dist/test/test.logs.js +0 -18
- package/dist/test/test.logs.js.map +0 -1
- package/dist/test/test.processor.d.ts +0 -1
- package/dist/test/test.processor.js +0 -123
- package/dist/test/test.processor.js.map +0 -1
- package/dist/test/test.productBuilder.d.ts +0 -1
- package/dist/test/test.productBuilder.js +0 -661
- package/dist/test/test.productBuilder.js.map +0 -1
- package/dist/test.appBuilder.d.ts +0 -1
- package/dist/test.appBuilder.js +0 -14
- package/dist/test.appBuilder.js.map +0 -1
- package/dist/test.import.d.ts +0 -0
- package/dist/test.import.js +0 -24
- package/dist/test.import.js.map +0 -1
- package/dist/test.imports.d.ts +0 -1
- package/dist/test.imports.js +0 -28
- package/dist/test.imports.js.map +0 -1
- package/dist/test.integrationBuilder.d.ts +0 -1
- package/dist/test.integrationBuilder.js +0 -276
- package/dist/test.integrationBuilder.js.map +0 -1
- package/dist/test.processor.d.ts +0 -1
- package/dist/test.processor.js +0 -23
- package/dist/test.processor.js.map +0 -1
- package/dist/test.utils.d.ts +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/{actions/actions.service.d.ts → types/request-tracker.interface.d.ts} +0 -0
|
@@ -0,0 +1,900 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* CacheManager - Shared caching utility for all executor services
|
|
4
|
+
*
|
|
5
|
+
* Provides a three-tier caching strategy:
|
|
6
|
+
* - Internal (in-memory): Fastest layer using Map with LRU eviction
|
|
7
|
+
* - Redis (local/fast): Secondary cache layer for distributed reads
|
|
8
|
+
* - Remote (persistent): Backing store synced on writes/deletes/cache misses
|
|
9
|
+
*
|
|
10
|
+
* Used by: StorageService, DatabaseService, GraphService, VectorService,
|
|
11
|
+
* QuotaService, FallbackService, AgentsService, SessionsService, BrokersService,
|
|
12
|
+
* NotificationsService, etc.
|
|
13
|
+
*/
|
|
14
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
15
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
16
|
+
};
|
|
17
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
exports.CacheManager = exports.cacheLogger = exports.CacheLogger = void 0;
|
|
19
|
+
const crypto_js_1 = __importDefault(require("crypto-js"));
|
|
20
|
+
const processorApi_service_1 = require("../api/services/processorApi.service");
|
|
21
|
+
const processor_utils_1 = require("../processor/utils/processor.utils");
|
|
22
|
+
/**
|
|
23
|
+
* Cache logger for detailed operation tracking
|
|
24
|
+
*/
|
|
25
|
+
class CacheLogger {
|
|
26
|
+
constructor(config = {}) {
|
|
27
|
+
var _a, _b, _c, _d;
|
|
28
|
+
this.levelPriority = {
|
|
29
|
+
debug: 0,
|
|
30
|
+
info: 1,
|
|
31
|
+
warn: 2,
|
|
32
|
+
error: 3,
|
|
33
|
+
};
|
|
34
|
+
this.config = {
|
|
35
|
+
enabled: (_a = config.enabled) !== null && _a !== void 0 ? _a : false,
|
|
36
|
+
level: (_b = config.level) !== null && _b !== void 0 ? _b : 'info',
|
|
37
|
+
timestamps: (_c = config.timestamps) !== null && _c !== void 0 ? _c : true,
|
|
38
|
+
stackTraces: (_d = config.stackTraces) !== null && _d !== void 0 ? _d : false,
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
setConfig(config) {
|
|
42
|
+
this.config = Object.assign(Object.assign({}, this.config), config);
|
|
43
|
+
}
|
|
44
|
+
enable() {
|
|
45
|
+
this.config.enabled = true;
|
|
46
|
+
}
|
|
47
|
+
disable() {
|
|
48
|
+
this.config.enabled = false;
|
|
49
|
+
}
|
|
50
|
+
shouldLog(level) {
|
|
51
|
+
return this.config.enabled && this.levelPriority[level] >= this.levelPriority[this.config.level];
|
|
52
|
+
}
|
|
53
|
+
formatMessage(level, component, message, data) {
|
|
54
|
+
const parts = [];
|
|
55
|
+
if (this.config.timestamps) {
|
|
56
|
+
parts.push(`[${new Date().toISOString()}]`);
|
|
57
|
+
}
|
|
58
|
+
parts.push(`[CACHE:${level.toUpperCase()}]`);
|
|
59
|
+
parts.push(`[${component}]`);
|
|
60
|
+
parts.push(message);
|
|
61
|
+
if (data && Object.keys(data).length > 0) {
|
|
62
|
+
parts.push(JSON.stringify(data, null, 2));
|
|
63
|
+
}
|
|
64
|
+
return parts.join(' ');
|
|
65
|
+
}
|
|
66
|
+
debug(component, message, data) {
|
|
67
|
+
if (this.shouldLog('debug')) {
|
|
68
|
+
console.log(this.formatMessage('debug', component, message, data));
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
info(component, message, data) {
|
|
72
|
+
if (this.shouldLog('info')) {
|
|
73
|
+
console.log(this.formatMessage('info', component, message, data));
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
warn(component, message, data) {
|
|
77
|
+
if (this.shouldLog('warn')) {
|
|
78
|
+
console.warn(this.formatMessage('warn', component, message, data));
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
error(component, message, error, data) {
|
|
82
|
+
if (this.shouldLog('error')) {
|
|
83
|
+
console.error(this.formatMessage('error', component, message, data));
|
|
84
|
+
if (error && this.config.stackTraces) {
|
|
85
|
+
console.error(error.stack);
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
/** Log cache operation with timing */
|
|
90
|
+
operation(op, key, startTime, result, tier, data) {
|
|
91
|
+
const duration = Date.now() - startTime;
|
|
92
|
+
this.info('OPERATION', `${op} [${result}] from ${tier}`, Object.assign({ key: key.substring(0, 50) + (key.length > 50 ? '...' : ''), duration: `${duration}ms` }, data));
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
exports.CacheLogger = CacheLogger;
|
|
96
|
+
/** Global cache logger instance */
|
|
97
|
+
exports.cacheLogger = new CacheLogger();
|
|
98
|
+
/**
|
|
99
|
+
* CacheManager provides shared caching functionality for all executor services
|
|
100
|
+
*
|
|
101
|
+
* @example
|
|
102
|
+
* ```ts
|
|
103
|
+
* const cacheManager = new CacheManager({
|
|
104
|
+
* workspace_id: 'ws-123',
|
|
105
|
+
* public_key: 'pk-123',
|
|
106
|
+
* user_id: 'user-123',
|
|
107
|
+
* token: 'token',
|
|
108
|
+
* env_type: 'prd',
|
|
109
|
+
* redis_client: redisClient,
|
|
110
|
+
* });
|
|
111
|
+
*
|
|
112
|
+
* // Check cache before operation
|
|
113
|
+
* const cached = await cacheManager.fetch<MyData>({
|
|
114
|
+
* cache_tag: 'my-cache',
|
|
115
|
+
* product_tag: 'my-product',
|
|
116
|
+
* component_tag: 'my-storage',
|
|
117
|
+
* component_type: 'storage',
|
|
118
|
+
* input: { fileName: 'test.pdf' },
|
|
119
|
+
* privateKey: 'private-key',
|
|
120
|
+
* expiry: 3600000, // 1 hour
|
|
121
|
+
* });
|
|
122
|
+
*
|
|
123
|
+
* if (cached.hit) {
|
|
124
|
+
* return cached.data;
|
|
125
|
+
* }
|
|
126
|
+
*
|
|
127
|
+
* // Execute operation...
|
|
128
|
+
* const result = await doOperation();
|
|
129
|
+
*
|
|
130
|
+
* // Store in cache (fire-and-forget - no await needed)
|
|
131
|
+
* cacheManager.store({
|
|
132
|
+
* cache_tag: 'my-cache',
|
|
133
|
+
* product_tag: 'my-product',
|
|
134
|
+
* component_tag: 'my-storage',
|
|
135
|
+
* component_type: 'storage',
|
|
136
|
+
* input: { fileName: 'test.pdf' },
|
|
137
|
+
* privateKey: 'private-key',
|
|
138
|
+
* expiry: 3600000,
|
|
139
|
+
* }, result);
|
|
140
|
+
* ```
|
|
141
|
+
*/
|
|
142
|
+
class CacheManager {
|
|
143
|
+
constructor(config) {
|
|
144
|
+
/** Internal in-memory cache (Tier 1 - fastest) */
|
|
145
|
+
this.internalCache = new Map();
|
|
146
|
+
/** Maximum number of entries in internal cache before LRU eviction */
|
|
147
|
+
this.maxInternalCacheSize = 1000;
|
|
148
|
+
this.config = config;
|
|
149
|
+
this.redisClient = config.redis_client || null;
|
|
150
|
+
this.processorApiService = new processorApi_service_1.ProcessorApiService(config.env_type);
|
|
151
|
+
exports.cacheLogger.info('INIT', 'CacheManager initialized', {
|
|
152
|
+
workspace_id: config.workspace_id,
|
|
153
|
+
env_type: config.env_type,
|
|
154
|
+
redis_available: !!config.redis_client,
|
|
155
|
+
max_internal_cache_size: this.maxInternalCacheSize,
|
|
156
|
+
});
|
|
157
|
+
}
|
|
158
|
+
/**
|
|
159
|
+
* Enable cache logging
|
|
160
|
+
*/
|
|
161
|
+
enableLogging(config) {
|
|
162
|
+
exports.cacheLogger.setConfig(Object.assign({ enabled: true }, config));
|
|
163
|
+
exports.cacheLogger.info('INIT', 'Cache logging enabled', config);
|
|
164
|
+
}
|
|
165
|
+
/**
|
|
166
|
+
* Disable cache logging
|
|
167
|
+
*/
|
|
168
|
+
disableLogging() {
|
|
169
|
+
exports.cacheLogger.info('INIT', 'Cache logging disabled');
|
|
170
|
+
exports.cacheLogger.disable();
|
|
171
|
+
}
|
|
172
|
+
/**
|
|
173
|
+
* Set maximum size for internal cache
|
|
174
|
+
*/
|
|
175
|
+
setMaxInternalCacheSize(size) {
|
|
176
|
+
const oldSize = this.maxInternalCacheSize;
|
|
177
|
+
this.maxInternalCacheSize = size;
|
|
178
|
+
exports.cacheLogger.info('CONFIG', `Internal cache max size changed`, {
|
|
179
|
+
old_size: oldSize,
|
|
180
|
+
new_size: size,
|
|
181
|
+
});
|
|
182
|
+
}
|
|
183
|
+
/**
|
|
184
|
+
* Clear internal cache
|
|
185
|
+
*/
|
|
186
|
+
clearInternalCache() {
|
|
187
|
+
const clearedCount = this.internalCache.size;
|
|
188
|
+
this.internalCache.clear();
|
|
189
|
+
exports.cacheLogger.info('CLEAR', `Internal cache cleared`, {
|
|
190
|
+
entries_cleared: clearedCount,
|
|
191
|
+
});
|
|
192
|
+
}
|
|
193
|
+
/**
|
|
194
|
+
* Set entry in internal cache with LRU eviction
|
|
195
|
+
*/
|
|
196
|
+
setInternalCache(key, entry) {
|
|
197
|
+
// Evict oldest entries if at capacity
|
|
198
|
+
if (this.internalCache.size >= this.maxInternalCacheSize) {
|
|
199
|
+
const oldestKey = this.internalCache.keys().next().value;
|
|
200
|
+
if (oldestKey) {
|
|
201
|
+
this.internalCache.delete(oldestKey);
|
|
202
|
+
exports.cacheLogger.debug('LRU_EVICTION', `Evicted oldest entry to make room`, {
|
|
203
|
+
evicted_key: oldestKey.substring(0, 40) + '...',
|
|
204
|
+
cache_size: this.internalCache.size,
|
|
205
|
+
max_size: this.maxInternalCacheSize,
|
|
206
|
+
});
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
this.internalCache.set(key, entry);
|
|
210
|
+
}
|
|
211
|
+
/**
|
|
212
|
+
* Check if internal cache entry is still valid
|
|
213
|
+
*/
|
|
214
|
+
isValidEntry(entry, expiry) {
|
|
215
|
+
if (!expiry)
|
|
216
|
+
return true;
|
|
217
|
+
return Date.now() < entry.lastUpdated + expiry;
|
|
218
|
+
}
|
|
219
|
+
/**
|
|
220
|
+
* Wrap value with type information for storage (auto-detect type)
|
|
221
|
+
*/
|
|
222
|
+
wrapValue(data) {
|
|
223
|
+
if (typeof data === 'string') {
|
|
224
|
+
return { type: 'string', value: data };
|
|
225
|
+
}
|
|
226
|
+
return { type: 'json', value: JSON.stringify(data) };
|
|
227
|
+
}
|
|
228
|
+
/**
|
|
229
|
+
* Unwrap value based on stored type
|
|
230
|
+
*/
|
|
231
|
+
unwrapValue(wrapper) {
|
|
232
|
+
if (wrapper.type === 'string') {
|
|
233
|
+
return wrapper.value;
|
|
234
|
+
}
|
|
235
|
+
return JSON.parse(wrapper.value);
|
|
236
|
+
}
|
|
237
|
+
/**
|
|
238
|
+
* Get user access credentials for API calls
|
|
239
|
+
*/
|
|
240
|
+
getUserAccess() {
|
|
241
|
+
return {
|
|
242
|
+
workspace_id: this.config.workspace_id,
|
|
243
|
+
public_key: this.config.public_key,
|
|
244
|
+
user_id: this.config.user_id,
|
|
245
|
+
token: this.config.token,
|
|
246
|
+
};
|
|
247
|
+
}
|
|
248
|
+
/**
|
|
249
|
+
* Generate cache key from cache tag and input (legacy format)
|
|
250
|
+
*/
|
|
251
|
+
generateKey(cache_tag, input) {
|
|
252
|
+
const inputStr = typeof input === 'string' ? input : JSON.stringify(input);
|
|
253
|
+
return `${cache_tag}-${crypto_js_1.default.SHA512(inputStr).toString()}`;
|
|
254
|
+
}
|
|
255
|
+
/**
|
|
256
|
+
* Generate cache key with new format: cache_tag:component_type:operation:sha256(input)
|
|
257
|
+
* Includes cache_tag for isolation between different cache configurations
|
|
258
|
+
*/
|
|
259
|
+
generateKeyV2(options) {
|
|
260
|
+
const { cache_tag, component_type, operation, input } = options;
|
|
261
|
+
const inputStr = typeof input === 'string' ? input : JSON.stringify(input);
|
|
262
|
+
const hash = crypto_js_1.default.SHA256(inputStr).toString();
|
|
263
|
+
return `${cache_tag}:${component_type}:${operation}:${hash}`;
|
|
264
|
+
}
|
|
265
|
+
/**
|
|
266
|
+
* Generate cache key based on options (uses V2 format if operation provided)
|
|
267
|
+
*/
|
|
268
|
+
generateCacheKey(options) {
|
|
269
|
+
if (options.operation) {
|
|
270
|
+
return this.generateKeyV2({
|
|
271
|
+
cache_tag: options.cache_tag,
|
|
272
|
+
component_type: options.component_type,
|
|
273
|
+
operation: options.operation,
|
|
274
|
+
input: options.input,
|
|
275
|
+
});
|
|
276
|
+
}
|
|
277
|
+
return this.generateKey(options.cache_tag, options.input);
|
|
278
|
+
}
|
|
279
|
+
/**
|
|
280
|
+
* Check if caching is available (Redis client connected)
|
|
281
|
+
*/
|
|
282
|
+
isAvailable() {
|
|
283
|
+
return this.redisClient !== null;
|
|
284
|
+
}
|
|
285
|
+
/**
|
|
286
|
+
* Fetch data from cache (Internal first, then Redis, then remote on miss)
|
|
287
|
+
*
|
|
288
|
+
* @returns Cache result with hit status, data, and source
|
|
289
|
+
*/
|
|
290
|
+
async fetch(options) {
|
|
291
|
+
const { privateKey, expiry, cache_tag, component_type, operation } = options;
|
|
292
|
+
const key = this.generateCacheKey(options);
|
|
293
|
+
const startTime = Date.now();
|
|
294
|
+
exports.cacheLogger.debug('FETCH', `Starting cache fetch`, {
|
|
295
|
+
cache_tag,
|
|
296
|
+
component_type,
|
|
297
|
+
operation,
|
|
298
|
+
key: key.substring(0, 60) + '...',
|
|
299
|
+
expiry: expiry ? `${expiry}ms` : 'none',
|
|
300
|
+
internal_cache_size: this.internalCache.size,
|
|
301
|
+
redis_available: !!this.redisClient,
|
|
302
|
+
});
|
|
303
|
+
try {
|
|
304
|
+
// TIER 1: Check internal (in-memory) cache first
|
|
305
|
+
exports.cacheLogger.debug('TIER1:INTERNAL', `Checking internal cache...`);
|
|
306
|
+
const internalEntry = this.internalCache.get(key);
|
|
307
|
+
if (internalEntry) {
|
|
308
|
+
if (this.isValidEntry(internalEntry, expiry)) {
|
|
309
|
+
const decryptedData = (0, processor_utils_1.decrypt)(internalEntry.data, privateKey);
|
|
310
|
+
const wrapper = JSON.parse(decryptedData);
|
|
311
|
+
exports.cacheLogger.operation('FETCH', key, startTime, 'hit', 'TIER1:INTERNAL', {
|
|
312
|
+
cache_tag,
|
|
313
|
+
component_type,
|
|
314
|
+
age: `${Date.now() - internalEntry.lastUpdated}ms`,
|
|
315
|
+
});
|
|
316
|
+
return {
|
|
317
|
+
hit: true,
|
|
318
|
+
data: this.unwrapValue(wrapper),
|
|
319
|
+
key,
|
|
320
|
+
source: 'internal',
|
|
321
|
+
};
|
|
322
|
+
}
|
|
323
|
+
else {
|
|
324
|
+
// Expired - remove from internal cache
|
|
325
|
+
exports.cacheLogger.debug('TIER1:INTERNAL', `Entry expired, removing`, {
|
|
326
|
+
age: `${Date.now() - internalEntry.lastUpdated}ms`,
|
|
327
|
+
expiry: `${expiry}ms`,
|
|
328
|
+
});
|
|
329
|
+
this.internalCache.delete(key);
|
|
330
|
+
}
|
|
331
|
+
}
|
|
332
|
+
else {
|
|
333
|
+
exports.cacheLogger.debug('TIER1:INTERNAL', `No entry found`);
|
|
334
|
+
}
|
|
335
|
+
// TIER 2: Check Redis cache
|
|
336
|
+
if (this.redisClient) {
|
|
337
|
+
exports.cacheLogger.debug('TIER2:REDIS', `Checking Redis cache...`);
|
|
338
|
+
const redisRecord = await this.redisClient.hgetall(key);
|
|
339
|
+
if (redisRecord && redisRecord.data && redisRecord.lastUpdated) {
|
|
340
|
+
const lastUpdated = Number(redisRecord.lastUpdated);
|
|
341
|
+
exports.cacheLogger.debug('TIER2:REDIS', `Found entry in Redis`, {
|
|
342
|
+
age: `${Date.now() - lastUpdated}ms`,
|
|
343
|
+
data_size: `${redisRecord.data.length} chars`,
|
|
344
|
+
});
|
|
345
|
+
if (expiry) {
|
|
346
|
+
const expiryTime = lastUpdated + expiry;
|
|
347
|
+
if (Date.now() > expiryTime) {
|
|
348
|
+
// Expired - delete from Redis and continue to remote
|
|
349
|
+
exports.cacheLogger.debug('TIER2:REDIS', `Entry expired, deleting`, {
|
|
350
|
+
age: `${Date.now() - lastUpdated}ms`,
|
|
351
|
+
expiry: `${expiry}ms`,
|
|
352
|
+
});
|
|
353
|
+
await this.redisClient.del(key);
|
|
354
|
+
}
|
|
355
|
+
else {
|
|
356
|
+
// Valid cache hit from Redis - populate internal cache
|
|
357
|
+
this.setInternalCache(key, {
|
|
358
|
+
data: redisRecord.data,
|
|
359
|
+
lastUpdated,
|
|
360
|
+
expiry,
|
|
361
|
+
});
|
|
362
|
+
const decryptedData = (0, processor_utils_1.decrypt)(redisRecord.data, privateKey);
|
|
363
|
+
// Try to parse as wrapper, fallback to direct parse for legacy data
|
|
364
|
+
try {
|
|
365
|
+
const wrapper = JSON.parse(decryptedData);
|
|
366
|
+
if (wrapper.type && wrapper.value !== undefined) {
|
|
367
|
+
exports.cacheLogger.operation('FETCH', key, startTime, 'hit', 'TIER2:REDIS', {
|
|
368
|
+
cache_tag,
|
|
369
|
+
component_type,
|
|
370
|
+
promoted_to_internal: true,
|
|
371
|
+
});
|
|
372
|
+
return {
|
|
373
|
+
hit: true,
|
|
374
|
+
data: this.unwrapValue(wrapper),
|
|
375
|
+
key,
|
|
376
|
+
source: 'redis',
|
|
377
|
+
};
|
|
378
|
+
}
|
|
379
|
+
}
|
|
380
|
+
catch (_a) {
|
|
381
|
+
// Legacy format - parse directly
|
|
382
|
+
}
|
|
383
|
+
exports.cacheLogger.operation('FETCH', key, startTime, 'hit', 'TIER2:REDIS', {
|
|
384
|
+
cache_tag,
|
|
385
|
+
component_type,
|
|
386
|
+
legacy_format: true,
|
|
387
|
+
promoted_to_internal: true,
|
|
388
|
+
});
|
|
389
|
+
return {
|
|
390
|
+
hit: true,
|
|
391
|
+
data: JSON.parse(decryptedData),
|
|
392
|
+
key,
|
|
393
|
+
source: 'redis',
|
|
394
|
+
};
|
|
395
|
+
}
|
|
396
|
+
}
|
|
397
|
+
else {
|
|
398
|
+
// No expiry - valid cache hit, populate internal cache
|
|
399
|
+
this.setInternalCache(key, {
|
|
400
|
+
data: redisRecord.data,
|
|
401
|
+
lastUpdated,
|
|
402
|
+
expiry,
|
|
403
|
+
});
|
|
404
|
+
const decryptedData = (0, processor_utils_1.decrypt)(redisRecord.data, privateKey);
|
|
405
|
+
try {
|
|
406
|
+
const wrapper = JSON.parse(decryptedData);
|
|
407
|
+
if (wrapper.type && wrapper.value !== undefined) {
|
|
408
|
+
exports.cacheLogger.operation('FETCH', key, startTime, 'hit', 'TIER2:REDIS', {
|
|
409
|
+
cache_tag,
|
|
410
|
+
component_type,
|
|
411
|
+
no_expiry: true,
|
|
412
|
+
promoted_to_internal: true,
|
|
413
|
+
});
|
|
414
|
+
return {
|
|
415
|
+
hit: true,
|
|
416
|
+
data: this.unwrapValue(wrapper),
|
|
417
|
+
key,
|
|
418
|
+
source: 'redis',
|
|
419
|
+
};
|
|
420
|
+
}
|
|
421
|
+
}
|
|
422
|
+
catch (_b) {
|
|
423
|
+
// Legacy format
|
|
424
|
+
}
|
|
425
|
+
exports.cacheLogger.operation('FETCH', key, startTime, 'hit', 'TIER2:REDIS', {
|
|
426
|
+
cache_tag,
|
|
427
|
+
component_type,
|
|
428
|
+
no_expiry: true,
|
|
429
|
+
legacy_format: true,
|
|
430
|
+
promoted_to_internal: true,
|
|
431
|
+
});
|
|
432
|
+
return {
|
|
433
|
+
hit: true,
|
|
434
|
+
data: JSON.parse(decryptedData),
|
|
435
|
+
key,
|
|
436
|
+
source: 'redis',
|
|
437
|
+
};
|
|
438
|
+
}
|
|
439
|
+
}
|
|
440
|
+
else {
|
|
441
|
+
exports.cacheLogger.debug('TIER2:REDIS', `No entry found in Redis`);
|
|
442
|
+
}
|
|
443
|
+
}
|
|
444
|
+
else {
|
|
445
|
+
exports.cacheLogger.debug('TIER2:REDIS', `Redis not available, skipping`);
|
|
446
|
+
}
|
|
447
|
+
// TIER 3: Check remote cache
|
|
448
|
+
exports.cacheLogger.debug('TIER3:REMOTE', `Checking remote cache...`);
|
|
449
|
+
const remoteRecord = await this.processorApiService.fetchRemoteCacheByKey(key, this.getUserAccess());
|
|
450
|
+
if (remoteRecord) {
|
|
451
|
+
exports.cacheLogger.debug('TIER3:REMOTE', `Found entry in remote cache`, {
|
|
452
|
+
value_size: `${remoteRecord.value.length} chars`,
|
|
453
|
+
});
|
|
454
|
+
const timestamp = Date.now();
|
|
455
|
+
// Populate internal cache
|
|
456
|
+
this.setInternalCache(key, {
|
|
457
|
+
data: remoteRecord.value,
|
|
458
|
+
lastUpdated: timestamp,
|
|
459
|
+
expiry,
|
|
460
|
+
});
|
|
461
|
+
exports.cacheLogger.debug('TIER3:REMOTE', `Promoted to internal cache`);
|
|
462
|
+
// Populate Redis cache for next time
|
|
463
|
+
if (this.redisClient) {
|
|
464
|
+
await this.redisClient.hset(key, 'data', remoteRecord.value);
|
|
465
|
+
await this.redisClient.hset(key, 'lastUpdated', timestamp.toString());
|
|
466
|
+
exports.cacheLogger.debug('TIER3:REMOTE', `Promoted to Redis cache`);
|
|
467
|
+
}
|
|
468
|
+
const decryptedData = (0, processor_utils_1.decrypt)(remoteRecord.value, privateKey);
|
|
469
|
+
try {
|
|
470
|
+
const wrapper = JSON.parse(decryptedData);
|
|
471
|
+
if (wrapper.type && wrapper.value !== undefined) {
|
|
472
|
+
exports.cacheLogger.operation('FETCH', key, startTime, 'hit', 'TIER3:REMOTE', {
|
|
473
|
+
cache_tag,
|
|
474
|
+
component_type,
|
|
475
|
+
promoted_to_internal: true,
|
|
476
|
+
promoted_to_redis: !!this.redisClient,
|
|
477
|
+
});
|
|
478
|
+
return {
|
|
479
|
+
hit: true,
|
|
480
|
+
data: this.unwrapValue(wrapper),
|
|
481
|
+
key,
|
|
482
|
+
source: 'remote',
|
|
483
|
+
};
|
|
484
|
+
}
|
|
485
|
+
}
|
|
486
|
+
catch (_c) {
|
|
487
|
+
// Legacy format
|
|
488
|
+
}
|
|
489
|
+
exports.cacheLogger.operation('FETCH', key, startTime, 'hit', 'TIER3:REMOTE', {
|
|
490
|
+
cache_tag,
|
|
491
|
+
component_type,
|
|
492
|
+
legacy_format: true,
|
|
493
|
+
promoted_to_internal: true,
|
|
494
|
+
promoted_to_redis: !!this.redisClient,
|
|
495
|
+
});
|
|
496
|
+
return {
|
|
497
|
+
hit: true,
|
|
498
|
+
data: JSON.parse(decryptedData),
|
|
499
|
+
key,
|
|
500
|
+
source: 'remote',
|
|
501
|
+
};
|
|
502
|
+
}
|
|
503
|
+
else {
|
|
504
|
+
exports.cacheLogger.debug('TIER3:REMOTE', `No entry found in remote cache`);
|
|
505
|
+
}
|
|
506
|
+
// Cache miss in all tiers
|
|
507
|
+
exports.cacheLogger.operation('FETCH', key, startTime, 'miss', 'ALL_TIERS', {
|
|
508
|
+
cache_tag,
|
|
509
|
+
component_type,
|
|
510
|
+
tiers_checked: ['internal', this.redisClient ? 'redis' : null, 'remote'].filter(Boolean),
|
|
511
|
+
});
|
|
512
|
+
return { hit: false, key, source: 'miss' };
|
|
513
|
+
}
|
|
514
|
+
catch (error) {
|
|
515
|
+
// On error, return miss and let the operation proceed
|
|
516
|
+
exports.cacheLogger.error('FETCH', `Cache fetch error`, error, {
|
|
517
|
+
cache_tag,
|
|
518
|
+
component_type,
|
|
519
|
+
key: key.substring(0, 60) + '...',
|
|
520
|
+
});
|
|
521
|
+
return { hit: false, key, source: 'miss' };
|
|
522
|
+
}
|
|
523
|
+
}
|
|
524
|
+
/**
|
|
525
|
+
* Store data in cache (all three tiers: internal, Redis, and remote)
|
|
526
|
+
*/
|
|
527
|
+
/**
|
|
528
|
+
* Store data in cache - fire-and-forget pattern.
|
|
529
|
+
* Internal cache is written synchronously for immediate availability.
|
|
530
|
+
* Redis and remote cache writes happen asynchronously without blocking.
|
|
531
|
+
*/
|
|
532
|
+
store(options, data) {
|
|
533
|
+
const { cache_tag, product_tag, component_tag, component_type, privateKey, expiry, operation, } = options;
|
|
534
|
+
const key = this.generateCacheKey(options);
|
|
535
|
+
const timestamp = Date.now();
|
|
536
|
+
const startTime = Date.now();
|
|
537
|
+
console.log('[CacheManager] store() called - will write to remote cache', {
|
|
538
|
+
cache_tag,
|
|
539
|
+
product_tag,
|
|
540
|
+
component_tag,
|
|
541
|
+
component_type,
|
|
542
|
+
operation,
|
|
543
|
+
key: key.substring(0, 60) + '...',
|
|
544
|
+
has_privateKey: !!privateKey,
|
|
545
|
+
});
|
|
546
|
+
exports.cacheLogger.info('STORE', `Starting cache store (fire-and-forget)`, {
|
|
547
|
+
cache_tag,
|
|
548
|
+
product_tag,
|
|
549
|
+
component_tag,
|
|
550
|
+
component_type,
|
|
551
|
+
operation,
|
|
552
|
+
key: key.substring(0, 60) + '...',
|
|
553
|
+
expiry: expiry ? `${expiry}ms` : 'none',
|
|
554
|
+
data_type: typeof data,
|
|
555
|
+
});
|
|
556
|
+
// Wrap value with type information and serialize
|
|
557
|
+
const wrapper = this.wrapValue(data);
|
|
558
|
+
const serializedData = JSON.stringify(wrapper);
|
|
559
|
+
const encryptedData = (0, processor_utils_1.encrypt)(serializedData, privateKey);
|
|
560
|
+
exports.cacheLogger.debug('STORE', `Data prepared for storage`, {
|
|
561
|
+
original_size: `${serializedData.length} chars`,
|
|
562
|
+
encrypted_size: `${encryptedData.length} chars`,
|
|
563
|
+
value_type: wrapper.type,
|
|
564
|
+
});
|
|
565
|
+
// Calculate expiry date if provided
|
|
566
|
+
let expiresAt;
|
|
567
|
+
if (expiry) {
|
|
568
|
+
expiresAt = new Date(timestamp + expiry);
|
|
569
|
+
exports.cacheLogger.debug('STORE', `Cache will expire at ${expiresAt.toISOString()}`);
|
|
570
|
+
}
|
|
571
|
+
// TIER 1: Write to internal cache (synchronous - immediate availability)
|
|
572
|
+
exports.cacheLogger.debug('TIER1:INTERNAL', `Writing to internal cache...`);
|
|
573
|
+
this.setInternalCache(key, {
|
|
574
|
+
data: encryptedData,
|
|
575
|
+
lastUpdated: timestamp,
|
|
576
|
+
expiry,
|
|
577
|
+
});
|
|
578
|
+
exports.cacheLogger.debug('TIER1:INTERNAL', `Written to internal cache`, {
|
|
579
|
+
internal_cache_size: this.internalCache.size,
|
|
580
|
+
max_size: this.maxInternalCacheSize,
|
|
581
|
+
});
|
|
582
|
+
// TIER 2 & 3: Write to Redis and remote cache (fire-and-forget)
|
|
583
|
+
this.storeToExternalTiers(key, encryptedData, timestamp, expiresAt, {
|
|
584
|
+
cache_tag,
|
|
585
|
+
product_tag,
|
|
586
|
+
component_tag,
|
|
587
|
+
component_type,
|
|
588
|
+
startTime,
|
|
589
|
+
}).catch((error) => {
|
|
590
|
+
// Log error but don't propagate - cache failure shouldn't break anything
|
|
591
|
+
exports.cacheLogger.error('STORE', `External cache store error`, error, {
|
|
592
|
+
cache_tag,
|
|
593
|
+
component_type,
|
|
594
|
+
key: key.substring(0, 60) + '...',
|
|
595
|
+
});
|
|
596
|
+
});
|
|
597
|
+
}
|
|
598
|
+
/**
|
|
599
|
+
* Internal method to store to Redis and remote cache asynchronously
|
|
600
|
+
*/
|
|
601
|
+
async storeToExternalTiers(key, encryptedData, timestamp, expiresAt, meta) {
|
|
602
|
+
const { cache_tag, product_tag, component_tag, component_type, startTime } = meta;
|
|
603
|
+
// TIER 2: Write to Redis cache (if available)
|
|
604
|
+
if (this.redisClient) {
|
|
605
|
+
exports.cacheLogger.debug('TIER2:REDIS', `Writing to Redis cache...`);
|
|
606
|
+
await this.redisClient.hset(key, 'data', encryptedData);
|
|
607
|
+
await this.redisClient.hset(key, 'lastUpdated', timestamp.toString());
|
|
608
|
+
exports.cacheLogger.debug('TIER2:REDIS', `Written to Redis cache`);
|
|
609
|
+
}
|
|
610
|
+
else {
|
|
611
|
+
exports.cacheLogger.debug('TIER2:REDIS', `Redis not available, skipping`);
|
|
612
|
+
}
|
|
613
|
+
// TIER 3: Write to remote cache (persistent store) - fire-and-forget
|
|
614
|
+
console.log('[CacheManager] TIER3:REMOTE - Writing to remote cache (fire-and-forget)', {
|
|
615
|
+
cache_tag,
|
|
616
|
+
product_tag,
|
|
617
|
+
component_tag,
|
|
618
|
+
component_type,
|
|
619
|
+
key: key.substring(0, 60) + '...',
|
|
620
|
+
has_expiry: !!expiresAt,
|
|
621
|
+
expiry: expiresAt === null || expiresAt === void 0 ? void 0 : expiresAt.toISOString(),
|
|
622
|
+
});
|
|
623
|
+
exports.cacheLogger.info('TIER3:REMOTE', `Writing to remote cache (fire-and-forget)...`, {
|
|
624
|
+
cache_tag,
|
|
625
|
+
product_tag,
|
|
626
|
+
component_tag,
|
|
627
|
+
component_type,
|
|
628
|
+
key: key.substring(0, 60) + '...',
|
|
629
|
+
has_expiry: !!expiresAt,
|
|
630
|
+
expiry: expiresAt === null || expiresAt === void 0 ? void 0 : expiresAt.toISOString(),
|
|
631
|
+
});
|
|
632
|
+
const remotePayload = {
|
|
633
|
+
key,
|
|
634
|
+
value: encryptedData,
|
|
635
|
+
cache_tag,
|
|
636
|
+
product_tag,
|
|
637
|
+
component_tag,
|
|
638
|
+
component_type,
|
|
639
|
+
expiry: expiresAt,
|
|
640
|
+
};
|
|
641
|
+
// Fire-and-forget: don't await to avoid blocking
|
|
642
|
+
this.processorApiService.addToRemoteCache(remotePayload, this.getUserAccess()).then(() => {
|
|
643
|
+
console.log('[CacheManager] TIER3:REMOTE - Successfully written to remote cache', {
|
|
644
|
+
cache_tag,
|
|
645
|
+
product_tag,
|
|
646
|
+
component_tag,
|
|
647
|
+
component_type,
|
|
648
|
+
key: key.substring(0, 60) + '...',
|
|
649
|
+
});
|
|
650
|
+
exports.cacheLogger.info('TIER3:REMOTE', `Successfully written to remote cache`, {
|
|
651
|
+
cache_tag,
|
|
652
|
+
product_tag,
|
|
653
|
+
component_tag,
|
|
654
|
+
component_type,
|
|
655
|
+
key: key.substring(0, 60) + '...',
|
|
656
|
+
});
|
|
657
|
+
}).catch((error) => {
|
|
658
|
+
// Log error but don't propagate - cache failure shouldn't break anything
|
|
659
|
+
console.error('[CacheManager] TIER3:REMOTE - Remote cache write failed (non-blocking)', {
|
|
660
|
+
cache_tag,
|
|
661
|
+
product_tag,
|
|
662
|
+
component_tag,
|
|
663
|
+
component_type,
|
|
664
|
+
key: key.substring(0, 60) + '...',
|
|
665
|
+
error: error instanceof Error ? error.message : String(error),
|
|
666
|
+
stack: error instanceof Error ? error.stack : undefined,
|
|
667
|
+
});
|
|
668
|
+
exports.cacheLogger.error('TIER3:REMOTE', `Remote cache write failed (non-blocking)`, error, {
|
|
669
|
+
cache_tag,
|
|
670
|
+
product_tag,
|
|
671
|
+
component_tag,
|
|
672
|
+
component_type,
|
|
673
|
+
key: key.substring(0, 60) + '...',
|
|
674
|
+
error_message: error instanceof Error ? error.message : String(error),
|
|
675
|
+
error_stack: error instanceof Error ? error.stack : undefined,
|
|
676
|
+
});
|
|
677
|
+
});
|
|
678
|
+
exports.cacheLogger.operation('STORE', key, startTime, 'stored', 'ALL_TIERS', {
|
|
679
|
+
cache_tag,
|
|
680
|
+
component_type,
|
|
681
|
+
tiers_written: ['internal', this.redisClient ? 'redis' : null, 'remote'].filter(Boolean),
|
|
682
|
+
encrypted_size: `${encryptedData.length} chars`,
|
|
683
|
+
expires_at: (expiresAt === null || expiresAt === void 0 ? void 0 : expiresAt.toISOString()) || 'never',
|
|
684
|
+
});
|
|
685
|
+
}
|
|
686
|
+
/**
|
|
687
|
+
* Invalidate/delete data from cache (all three tiers)
|
|
688
|
+
*/
|
|
689
|
+
async invalidate(cache_tag, input) {
|
|
690
|
+
const key = this.generateKey(cache_tag, input);
|
|
691
|
+
const startTime = Date.now();
|
|
692
|
+
exports.cacheLogger.debug('INVALIDATE', `Starting cache invalidation`, {
|
|
693
|
+
cache_tag,
|
|
694
|
+
key: key.substring(0, 60) + '...',
|
|
695
|
+
});
|
|
696
|
+
try {
|
|
697
|
+
// TIER 1: Delete from internal cache
|
|
698
|
+
const wasInInternal = this.internalCache.has(key);
|
|
699
|
+
this.internalCache.delete(key);
|
|
700
|
+
exports.cacheLogger.debug('TIER1:INTERNAL', `Deleted from internal cache`, {
|
|
701
|
+
was_present: wasInInternal,
|
|
702
|
+
});
|
|
703
|
+
// TIER 2: Delete from Redis cache (if available)
|
|
704
|
+
if (this.redisClient) {
|
|
705
|
+
const redisDeleted = await this.redisClient.del(key);
|
|
706
|
+
exports.cacheLogger.debug('TIER2:REDIS', `Deleted from Redis cache`, {
|
|
707
|
+
keys_deleted: redisDeleted,
|
|
708
|
+
});
|
|
709
|
+
}
|
|
710
|
+
else {
|
|
711
|
+
exports.cacheLogger.debug('TIER2:REDIS', `Redis not available, skipping`);
|
|
712
|
+
}
|
|
713
|
+
// TIER 3: Delete from remote cache
|
|
714
|
+
exports.cacheLogger.debug('TIER3:REMOTE', `Deleting from remote cache...`);
|
|
715
|
+
await this.processorApiService.deleteCacheValue({ key }, this.getUserAccess());
|
|
716
|
+
exports.cacheLogger.debug('TIER3:REMOTE', `Deleted from remote cache`);
|
|
717
|
+
exports.cacheLogger.operation('INVALIDATE', key, startTime, 'deleted', 'ALL_TIERS', {
|
|
718
|
+
cache_tag,
|
|
719
|
+
tiers_deleted: ['internal', this.redisClient ? 'redis' : null, 'remote'].filter(Boolean),
|
|
720
|
+
});
|
|
721
|
+
}
|
|
722
|
+
catch (error) {
|
|
723
|
+
// Log error but don't throw
|
|
724
|
+
exports.cacheLogger.error('INVALIDATE', `Cache invalidate error`, error, {
|
|
725
|
+
cache_tag,
|
|
726
|
+
key: key.substring(0, 60) + '...',
|
|
727
|
+
});
|
|
728
|
+
}
|
|
729
|
+
}
|
|
730
|
+
/**
|
|
731
|
+
* Invalidate/delete data from cache using options (supports new key format)
|
|
732
|
+
*/
|
|
733
|
+
async invalidateV2(options) {
|
|
734
|
+
const key = this.generateCacheKey(options);
|
|
735
|
+
const startTime = Date.now();
|
|
736
|
+
const { cache_tag, component_type, operation } = options;
|
|
737
|
+
exports.cacheLogger.debug('INVALIDATE_V2', `Starting cache invalidation (V2)`, {
|
|
738
|
+
cache_tag,
|
|
739
|
+
component_type,
|
|
740
|
+
operation,
|
|
741
|
+
key: key.substring(0, 60) + '...',
|
|
742
|
+
});
|
|
743
|
+
try {
|
|
744
|
+
// TIER 1: Delete from internal cache
|
|
745
|
+
const wasInInternal = this.internalCache.has(key);
|
|
746
|
+
this.internalCache.delete(key);
|
|
747
|
+
exports.cacheLogger.debug('TIER1:INTERNAL', `Deleted from internal cache`, {
|
|
748
|
+
was_present: wasInInternal,
|
|
749
|
+
});
|
|
750
|
+
// TIER 2: Delete from Redis cache (if available)
|
|
751
|
+
if (this.redisClient) {
|
|
752
|
+
const redisDeleted = await this.redisClient.del(key);
|
|
753
|
+
exports.cacheLogger.debug('TIER2:REDIS', `Deleted from Redis cache`, {
|
|
754
|
+
keys_deleted: redisDeleted,
|
|
755
|
+
});
|
|
756
|
+
}
|
|
757
|
+
else {
|
|
758
|
+
exports.cacheLogger.debug('TIER2:REDIS', `Redis not available, skipping`);
|
|
759
|
+
}
|
|
760
|
+
// TIER 3: Delete from remote cache
|
|
761
|
+
exports.cacheLogger.debug('TIER3:REMOTE', `Deleting from remote cache...`);
|
|
762
|
+
await this.processorApiService.deleteCacheValue({ key }, this.getUserAccess());
|
|
763
|
+
exports.cacheLogger.debug('TIER3:REMOTE', `Deleted from remote cache`);
|
|
764
|
+
exports.cacheLogger.operation('INVALIDATE_V2', key, startTime, 'deleted', 'ALL_TIERS', {
|
|
765
|
+
cache_tag,
|
|
766
|
+
component_type,
|
|
767
|
+
tiers_deleted: ['internal', this.redisClient ? 'redis' : null, 'remote'].filter(Boolean),
|
|
768
|
+
});
|
|
769
|
+
}
|
|
770
|
+
catch (error) {
|
|
771
|
+
// Log error but don't throw
|
|
772
|
+
exports.cacheLogger.error('INVALIDATE_V2', `Cache invalidateV2 error`, error, {
|
|
773
|
+
cache_tag,
|
|
774
|
+
component_type,
|
|
775
|
+
key: key.substring(0, 60) + '...',
|
|
776
|
+
});
|
|
777
|
+
}
|
|
778
|
+
}
|
|
779
|
+
/**
|
|
780
|
+
* Helper method to wrap an async operation with caching
|
|
781
|
+
*
|
|
782
|
+
* @example
|
|
783
|
+
* ```ts
|
|
784
|
+
* const result = await cacheManager.withCache(
|
|
785
|
+
* {
|
|
786
|
+
* cache_tag: 'my-cache',
|
|
787
|
+
* product_tag: 'my-product',
|
|
788
|
+
* component_tag: 'my-storage',
|
|
789
|
+
* component_type: 'storage',
|
|
790
|
+
* input: { fileName: 'test.pdf' },
|
|
791
|
+
* privateKey: 'private-key',
|
|
792
|
+
* expiry: 3600000,
|
|
793
|
+
* },
|
|
794
|
+
* async () => {
|
|
795
|
+
* // Execute the actual operation
|
|
796
|
+
* return await downloadFile('test.pdf');
|
|
797
|
+
* }
|
|
798
|
+
* );
|
|
799
|
+
* ```
|
|
800
|
+
*/
|
|
801
|
+
async withCache(options, operation) {
|
|
802
|
+
const { cache_tag, component_type } = options;
|
|
803
|
+
const startTime = Date.now();
|
|
804
|
+
exports.cacheLogger.debug('WITH_CACHE', `Starting withCache operation`, {
|
|
805
|
+
cache_tag,
|
|
806
|
+
component_type,
|
|
807
|
+
});
|
|
808
|
+
// Try to fetch from cache
|
|
809
|
+
const cached = await this.fetch(options);
|
|
810
|
+
if (cached.hit && cached.data !== undefined) {
|
|
811
|
+
exports.cacheLogger.info('WITH_CACHE', `Cache hit - returning cached data`, {
|
|
812
|
+
cache_tag,
|
|
813
|
+
component_type,
|
|
814
|
+
source: cached.source,
|
|
815
|
+
total_duration: `${Date.now() - startTime}ms`,
|
|
816
|
+
});
|
|
817
|
+
return {
|
|
818
|
+
data: cached.data,
|
|
819
|
+
cached: true,
|
|
820
|
+
source: cached.source,
|
|
821
|
+
};
|
|
822
|
+
}
|
|
823
|
+
// Cache miss - execute the operation
|
|
824
|
+
exports.cacheLogger.debug('WITH_CACHE', `Cache miss - executing operation...`, {
|
|
825
|
+
cache_tag,
|
|
826
|
+
component_type,
|
|
827
|
+
});
|
|
828
|
+
const operationStart = Date.now();
|
|
829
|
+
const data = await operation();
|
|
830
|
+
const operationDuration = Date.now() - operationStart;
|
|
831
|
+
exports.cacheLogger.debug('WITH_CACHE', `Operation completed, storing result`, {
|
|
832
|
+
cache_tag,
|
|
833
|
+
component_type,
|
|
834
|
+
operation_duration: `${operationDuration}ms`,
|
|
835
|
+
});
|
|
836
|
+
// Store result in cache
|
|
837
|
+
await this.store(options, data);
|
|
838
|
+
exports.cacheLogger.info('WITH_CACHE', `Cache miss - fresh data retrieved and cached`, {
|
|
839
|
+
cache_tag,
|
|
840
|
+
component_type,
|
|
841
|
+
operation_duration: `${operationDuration}ms`,
|
|
842
|
+
total_duration: `${Date.now() - startTime}ms`,
|
|
843
|
+
});
|
|
844
|
+
return {
|
|
845
|
+
data,
|
|
846
|
+
cached: false,
|
|
847
|
+
source: 'fresh',
|
|
848
|
+
};
|
|
849
|
+
}
|
|
850
|
+
/**
|
|
851
|
+
* Get internal cache stats for debugging/monitoring
|
|
852
|
+
*/
|
|
853
|
+
getInternalCacheStats() {
|
|
854
|
+
const stats = {
|
|
855
|
+
size: this.internalCache.size,
|
|
856
|
+
maxSize: this.maxInternalCacheSize,
|
|
857
|
+
utilizationPercent: Math.round((this.internalCache.size / this.maxInternalCacheSize) * 100),
|
|
858
|
+
redisAvailable: !!this.redisClient,
|
|
859
|
+
};
|
|
860
|
+
exports.cacheLogger.debug('STATS', `Cache stats requested`, stats);
|
|
861
|
+
return stats;
|
|
862
|
+
}
|
|
863
|
+
/**
|
|
864
|
+
* Get detailed cache statistics including entry ages
|
|
865
|
+
*/
|
|
866
|
+
getDetailedStats() {
|
|
867
|
+
const now = Date.now();
|
|
868
|
+
let oldestAge = null;
|
|
869
|
+
let newestAge = null;
|
|
870
|
+
for (const entry of this.internalCache.values()) {
|
|
871
|
+
const age = now - entry.lastUpdated;
|
|
872
|
+
if (oldestAge === null || age > oldestAge)
|
|
873
|
+
oldestAge = age;
|
|
874
|
+
if (newestAge === null || age < newestAge)
|
|
875
|
+
newestAge = age;
|
|
876
|
+
}
|
|
877
|
+
const stats = {
|
|
878
|
+
internal: {
|
|
879
|
+
size: this.internalCache.size,
|
|
880
|
+
maxSize: this.maxInternalCacheSize,
|
|
881
|
+
utilizationPercent: Math.round((this.internalCache.size / this.maxInternalCacheSize) * 100),
|
|
882
|
+
oldestEntryAge: oldestAge,
|
|
883
|
+
newestEntryAge: newestAge,
|
|
884
|
+
},
|
|
885
|
+
redis: { available: !!this.redisClient },
|
|
886
|
+
remote: { available: true }, // Always available
|
|
887
|
+
};
|
|
888
|
+
exports.cacheLogger.info('DETAILED_STATS', `Detailed cache stats`, {
|
|
889
|
+
internal_size: stats.internal.size,
|
|
890
|
+
internal_utilization: `${stats.internal.utilizationPercent}%`,
|
|
891
|
+
oldest_entry: oldestAge ? `${Math.round(oldestAge / 1000)}s ago` : 'none',
|
|
892
|
+
newest_entry: newestAge ? `${Math.round(newestAge / 1000)}s ago` : 'none',
|
|
893
|
+
redis_available: stats.redis.available,
|
|
894
|
+
});
|
|
895
|
+
return stats;
|
|
896
|
+
}
|
|
897
|
+
}
|
|
898
|
+
exports.CacheManager = CacheManager;
|
|
899
|
+
exports.default = CacheManager;
|
|
900
|
+
//# sourceMappingURL=cache.manager.js.map
|