@multiplayer-app/ai-agent-node 0.1.0-beta.8 → 0.1.0-beta.81
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 +2 -2
- package/dist/cjs/config.cjs +88 -37
- package/dist/cjs/config.cjs.map +1 -1
- package/dist/cjs/config.d.ts +62 -23
- package/dist/cjs/config.d.ts.map +1 -1
- package/dist/cjs/helpers/AIHelper.cjs +134 -68
- package/dist/cjs/helpers/AIHelper.cjs.map +1 -1
- package/dist/cjs/helpers/AIHelper.d.ts +24 -16
- package/dist/cjs/helpers/AIHelper.d.ts.map +1 -1
- package/dist/cjs/helpers/AIHelper.test.cjs +22 -15
- package/dist/cjs/helpers/AIHelper.test.cjs.map +1 -1
- package/dist/cjs/helpers/ConfigHelper.cjs +15 -6
- package/dist/cjs/helpers/ConfigHelper.cjs.map +1 -1
- package/dist/cjs/helpers/ConfigHelper.d.ts.map +1 -1
- package/dist/cjs/helpers/FileHelper.cjs +131 -151
- package/dist/cjs/helpers/FileHelper.cjs.map +1 -1
- package/dist/cjs/helpers/FileHelper.d.ts +19 -25
- package/dist/cjs/helpers/FileHelper.d.ts.map +1 -1
- package/dist/cjs/helpers/index.cjs +0 -1
- package/dist/cjs/helpers/index.cjs.map +1 -1
- package/dist/cjs/helpers/index.d.ts +0 -1
- package/dist/cjs/helpers/index.d.ts.map +1 -1
- package/dist/cjs/index.cjs +125 -28
- package/dist/cjs/index.cjs.map +1 -1
- package/dist/cjs/index.d.ts +47 -11
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/libs/index.cjs +0 -1
- package/dist/cjs/libs/index.cjs.map +1 -1
- package/dist/cjs/libs/index.d.ts +0 -1
- package/dist/cjs/libs/index.d.ts.map +1 -1
- package/dist/cjs/libs/s3/index.cjs +3 -39
- package/dist/cjs/libs/s3/index.cjs.map +1 -1
- package/dist/cjs/libs/s3/index.d.ts +1 -2
- package/dist/cjs/libs/s3/index.d.ts.map +1 -1
- package/dist/cjs/libs/s3/s3.lib.cjs +173 -186
- package/dist/cjs/libs/s3/s3.lib.cjs.map +1 -1
- package/dist/cjs/libs/s3/s3.lib.d.ts +29 -22
- package/dist/cjs/libs/s3/s3.lib.d.ts.map +1 -1
- package/dist/cjs/processors/ActivityProcessor.cjs +53 -0
- package/dist/cjs/processors/ActivityProcessor.cjs.map +1 -0
- package/dist/cjs/processors/ActivityProcessor.d.ts +34 -0
- package/dist/cjs/processors/ActivityProcessor.d.ts.map +1 -0
- package/dist/cjs/processors/ActivityProcessor.test.cjs +139 -0
- package/dist/cjs/processors/ActivityProcessor.test.cjs.map +1 -0
- package/dist/cjs/processors/ActivityProcessor.test.d.ts +2 -0
- package/dist/cjs/processors/ActivityProcessor.test.d.ts.map +1 -0
- package/dist/cjs/processors/AgentProcessor.cjs +47 -0
- package/dist/cjs/processors/AgentProcessor.cjs.map +1 -0
- package/dist/cjs/processors/AgentProcessor.d.ts +25 -0
- package/dist/cjs/processors/AgentProcessor.d.ts.map +1 -0
- package/dist/cjs/processors/AgentProcessor.test.cjs +103 -0
- package/dist/cjs/processors/AgentProcessor.test.cjs.map +1 -0
- package/dist/cjs/processors/AgentProcessor.test.d.ts +2 -0
- package/dist/cjs/processors/AgentProcessor.test.d.ts.map +1 -0
- package/dist/cjs/processors/ChatProcessor.cjs +1029 -148
- package/dist/cjs/processors/ChatProcessor.cjs.map +1 -1
- package/dist/cjs/processors/ChatProcessor.d.ts +108 -12
- package/dist/cjs/processors/ChatProcessor.d.ts.map +1 -1
- package/dist/cjs/processors/ChatProcessor.test.cjs +803 -0
- package/dist/cjs/processors/ChatProcessor.test.cjs.map +1 -0
- package/dist/cjs/processors/ChatProcessor.test.d.ts +2 -0
- package/dist/cjs/processors/ChatProcessor.test.d.ts.map +1 -0
- package/dist/cjs/processors/index.cjs +2 -0
- package/dist/cjs/processors/index.cjs.map +1 -1
- package/dist/cjs/processors/index.d.ts +2 -0
- package/dist/cjs/processors/index.d.ts.map +1 -1
- package/dist/cjs/services/AIService.cjs +114 -68
- package/dist/cjs/services/AIService.cjs.map +1 -1
- package/dist/cjs/services/AIService.d.ts +34 -13
- package/dist/cjs/services/AIService.d.ts.map +1 -1
- package/dist/cjs/services/CredentialProvider.cjs +62 -0
- package/dist/cjs/services/CredentialProvider.cjs.map +1 -0
- package/dist/cjs/services/CredentialProvider.d.ts +20 -0
- package/dist/cjs/services/CredentialProvider.d.ts.map +1 -0
- package/dist/cjs/services/CredentialProvider.test.cjs +71 -0
- package/dist/cjs/services/CredentialProvider.test.cjs.map +1 -0
- package/dist/cjs/services/CredentialProvider.test.d.ts +2 -0
- package/dist/cjs/services/CredentialProvider.test.d.ts.map +1 -0
- package/dist/cjs/services/ExecutionContext.cjs +3 -0
- package/dist/cjs/services/ExecutionContext.cjs.map +1 -0
- package/dist/cjs/services/ExecutionContext.d.ts +4 -0
- package/dist/cjs/services/ExecutionContext.d.ts.map +1 -0
- package/dist/cjs/services/InternalEventsHandler.cjs +3 -3
- package/dist/cjs/services/InternalEventsHandler.cjs.map +1 -1
- package/dist/cjs/services/InternalEventsHandler.d.ts +3 -1
- package/dist/cjs/services/InternalEventsHandler.d.ts.map +1 -1
- package/dist/cjs/services/ModelAccessPolicy.cjs +24 -0
- package/dist/cjs/services/ModelAccessPolicy.cjs.map +1 -0
- package/dist/cjs/services/ModelAccessPolicy.d.ts +7 -0
- package/dist/cjs/services/ModelAccessPolicy.d.ts.map +1 -0
- package/dist/cjs/services/ModelFetcher.cjs +2 -8
- package/dist/cjs/services/ModelFetcher.cjs.map +1 -1
- package/dist/cjs/services/ModelFetcher.d.ts +2 -7
- package/dist/cjs/services/ModelFetcher.d.ts.map +1 -1
- package/dist/cjs/services/ProviderClientFactory.cjs +29 -0
- package/dist/cjs/services/ProviderClientFactory.cjs.map +1 -0
- package/dist/cjs/services/ProviderClientFactory.d.ts +9 -0
- package/dist/cjs/services/ProviderClientFactory.d.ts.map +1 -0
- package/dist/cjs/services/RedisService.cjs +20 -16
- package/dist/cjs/services/RedisService.cjs.map +1 -1
- package/dist/cjs/services/RedisService.d.ts +5 -2
- package/dist/cjs/services/RedisService.d.ts.map +1 -1
- package/dist/cjs/services/SocketService.cjs +8 -8
- package/dist/cjs/services/SocketService.cjs.map +1 -1
- package/dist/cjs/services/SocketService.d.ts +9 -6
- package/dist/cjs/services/SocketService.d.ts.map +1 -1
- package/dist/cjs/services/TenantCredentialResolver.cjs +136 -0
- package/dist/cjs/services/TenantCredentialResolver.cjs.map +1 -0
- package/dist/cjs/services/TenantCredentialResolver.d.ts +32 -0
- package/dist/cjs/services/TenantCredentialResolver.d.ts.map +1 -0
- package/dist/cjs/services/TenantCredentialResolver.test.cjs +113 -0
- package/dist/cjs/services/TenantCredentialResolver.test.cjs.map +1 -0
- package/dist/cjs/services/TenantCredentialResolver.test.d.ts +2 -0
- package/dist/cjs/services/TenantCredentialResolver.test.d.ts.map +1 -0
- package/dist/cjs/services/index.cjs +5 -1
- package/dist/cjs/services/index.cjs.map +1 -1
- package/dist/cjs/services/index.d.ts +5 -1
- package/dist/cjs/services/index.d.ts.map +1 -1
- package/dist/cjs/store/AgentStore.cjs +14 -4
- package/dist/cjs/store/AgentStore.cjs.map +1 -1
- package/dist/cjs/store/AgentStore.d.ts +3 -1
- package/dist/cjs/store/AgentStore.d.ts.map +1 -1
- package/dist/cjs/store/ConfigStore.cjs +14 -3
- package/dist/cjs/store/ConfigStore.cjs.map +1 -1
- package/dist/cjs/store/ConfigStore.d.ts +2 -0
- package/dist/cjs/store/ConfigStore.d.ts.map +1 -1
- package/dist/cjs/tools/generateChartTool.d.ts +2 -2
- package/dist/cjs/tools/proposeFormValuesTool.d.ts +2 -2
- package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
- package/dist/cjs/utils/utils.cjs +31 -0
- package/dist/cjs/utils/utils.cjs.map +1 -0
- package/dist/cjs/utils/utils.d.ts +5 -0
- package/dist/cjs/utils/utils.d.ts.map +1 -0
- package/dist/esm/config.d.ts +62 -23
- package/dist/esm/config.d.ts.map +1 -1
- package/dist/esm/config.js +88 -35
- package/dist/esm/config.js.map +1 -1
- package/dist/esm/helpers/AIHelper.d.ts +24 -16
- package/dist/esm/helpers/AIHelper.d.ts.map +1 -1
- package/dist/esm/helpers/AIHelper.js +141 -73
- package/dist/esm/helpers/AIHelper.js.map +1 -1
- package/dist/esm/helpers/AIHelper.test.js +22 -15
- package/dist/esm/helpers/AIHelper.test.js.map +1 -1
- package/dist/esm/helpers/ConfigHelper.d.ts.map +1 -1
- package/dist/esm/helpers/ConfigHelper.js +15 -6
- package/dist/esm/helpers/ConfigHelper.js.map +1 -1
- package/dist/esm/helpers/FileHelper.d.ts +19 -25
- package/dist/esm/helpers/FileHelper.d.ts.map +1 -1
- package/dist/esm/helpers/FileHelper.js +131 -146
- package/dist/esm/helpers/FileHelper.js.map +1 -1
- package/dist/esm/helpers/index.d.ts +0 -1
- package/dist/esm/helpers/index.d.ts.map +1 -1
- package/dist/esm/helpers/index.js +0 -1
- package/dist/esm/helpers/index.js.map +1 -1
- package/dist/esm/index.d.ts +47 -11
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +98 -11
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/libs/index.d.ts +0 -1
- package/dist/esm/libs/index.d.ts.map +1 -1
- package/dist/esm/libs/index.js +0 -1
- package/dist/esm/libs/index.js.map +1 -1
- package/dist/esm/libs/s3/index.d.ts +1 -2
- package/dist/esm/libs/s3/index.d.ts.map +1 -1
- package/dist/esm/libs/s3/index.js +1 -2
- package/dist/esm/libs/s3/index.js.map +1 -1
- package/dist/esm/libs/s3/s3.lib.d.ts +29 -22
- package/dist/esm/libs/s3/s3.lib.d.ts.map +1 -1
- package/dist/esm/libs/s3/s3.lib.js +177 -172
- package/dist/esm/libs/s3/s3.lib.js.map +1 -1
- package/dist/esm/processors/ActivityProcessor.d.ts +34 -0
- package/dist/esm/processors/ActivityProcessor.d.ts.map +1 -0
- package/dist/esm/processors/ActivityProcessor.js +50 -0
- package/dist/esm/processors/ActivityProcessor.js.map +1 -0
- package/dist/esm/processors/ActivityProcessor.test.d.ts +2 -0
- package/dist/esm/processors/ActivityProcessor.test.d.ts.map +1 -0
- package/dist/esm/processors/ActivityProcessor.test.js +137 -0
- package/dist/esm/processors/ActivityProcessor.test.js.map +1 -0
- package/dist/esm/processors/AgentProcessor.d.ts +25 -0
- package/dist/esm/processors/AgentProcessor.d.ts.map +1 -0
- package/dist/esm/processors/AgentProcessor.js +44 -0
- package/dist/esm/processors/AgentProcessor.js.map +1 -0
- package/dist/esm/processors/AgentProcessor.test.d.ts +2 -0
- package/dist/esm/processors/AgentProcessor.test.d.ts.map +1 -0
- package/dist/esm/processors/AgentProcessor.test.js +101 -0
- package/dist/esm/processors/AgentProcessor.test.js.map +1 -0
- package/dist/esm/processors/ChatProcessor.d.ts +108 -12
- package/dist/esm/processors/ChatProcessor.d.ts.map +1 -1
- package/dist/esm/processors/ChatProcessor.js +1038 -150
- package/dist/esm/processors/ChatProcessor.js.map +1 -1
- package/dist/esm/processors/ChatProcessor.test.d.ts +2 -0
- package/dist/esm/processors/ChatProcessor.test.d.ts.map +1 -0
- package/dist/esm/processors/ChatProcessor.test.js +801 -0
- package/dist/esm/processors/ChatProcessor.test.js.map +1 -0
- package/dist/esm/processors/index.d.ts +2 -0
- package/dist/esm/processors/index.d.ts.map +1 -1
- package/dist/esm/processors/index.js +2 -0
- package/dist/esm/processors/index.js.map +1 -1
- package/dist/esm/services/AIService.d.ts +34 -13
- package/dist/esm/services/AIService.d.ts.map +1 -1
- package/dist/esm/services/AIService.js +118 -68
- package/dist/esm/services/AIService.js.map +1 -1
- package/dist/esm/services/CredentialProvider.d.ts +20 -0
- package/dist/esm/services/CredentialProvider.d.ts.map +1 -0
- package/dist/esm/services/CredentialProvider.js +60 -0
- package/dist/esm/services/CredentialProvider.js.map +1 -0
- package/dist/esm/services/CredentialProvider.test.d.ts +2 -0
- package/dist/esm/services/CredentialProvider.test.d.ts.map +1 -0
- package/dist/esm/services/CredentialProvider.test.js +69 -0
- package/dist/esm/services/CredentialProvider.test.js.map +1 -0
- package/dist/esm/services/ExecutionContext.d.ts +4 -0
- package/dist/esm/services/ExecutionContext.d.ts.map +1 -0
- package/dist/esm/services/ExecutionContext.js +2 -0
- package/dist/esm/services/ExecutionContext.js.map +1 -0
- package/dist/esm/services/InternalEventsHandler.d.ts +3 -1
- package/dist/esm/services/InternalEventsHandler.d.ts.map +1 -1
- package/dist/esm/services/InternalEventsHandler.js +4 -3
- package/dist/esm/services/InternalEventsHandler.js.map +1 -1
- package/dist/esm/services/ModelAccessPolicy.d.ts +7 -0
- package/dist/esm/services/ModelAccessPolicy.d.ts.map +1 -0
- package/dist/esm/services/ModelAccessPolicy.js +20 -0
- package/dist/esm/services/ModelAccessPolicy.js.map +1 -0
- package/dist/esm/services/ModelFetcher.d.ts +2 -7
- package/dist/esm/services/ModelFetcher.d.ts.map +1 -1
- package/dist/esm/services/ModelFetcher.js +2 -8
- package/dist/esm/services/ModelFetcher.js.map +1 -1
- package/dist/esm/services/ProviderClientFactory.d.ts +9 -0
- package/dist/esm/services/ProviderClientFactory.d.ts.map +1 -0
- package/dist/esm/services/ProviderClientFactory.js +25 -0
- package/dist/esm/services/ProviderClientFactory.js.map +1 -0
- package/dist/esm/services/RedisService.d.ts +5 -2
- package/dist/esm/services/RedisService.d.ts.map +1 -1
- package/dist/esm/services/RedisService.js +21 -14
- package/dist/esm/services/RedisService.js.map +1 -1
- package/dist/esm/services/SocketService.d.ts +9 -6
- package/dist/esm/services/SocketService.d.ts.map +1 -1
- package/dist/esm/services/SocketService.js +10 -6
- package/dist/esm/services/SocketService.js.map +1 -1
- package/dist/esm/services/TenantCredentialResolver.d.ts +32 -0
- package/dist/esm/services/TenantCredentialResolver.d.ts.map +1 -0
- package/dist/esm/services/TenantCredentialResolver.js +133 -0
- package/dist/esm/services/TenantCredentialResolver.js.map +1 -0
- package/dist/esm/services/TenantCredentialResolver.test.d.ts +2 -0
- package/dist/esm/services/TenantCredentialResolver.test.d.ts.map +1 -0
- package/dist/esm/services/TenantCredentialResolver.test.js +111 -0
- package/dist/esm/services/TenantCredentialResolver.test.js.map +1 -0
- package/dist/esm/services/index.d.ts +5 -1
- package/dist/esm/services/index.d.ts.map +1 -1
- package/dist/esm/services/index.js +5 -1
- package/dist/esm/services/index.js.map +1 -1
- package/dist/esm/store/AgentStore.d.ts +3 -1
- package/dist/esm/store/AgentStore.d.ts.map +1 -1
- package/dist/esm/store/AgentStore.js +15 -2
- package/dist/esm/store/AgentStore.js.map +1 -1
- package/dist/esm/store/ConfigStore.d.ts +2 -0
- package/dist/esm/store/ConfigStore.d.ts.map +1 -1
- package/dist/esm/store/ConfigStore.js +14 -3
- package/dist/esm/store/ConfigStore.js.map +1 -1
- package/dist/esm/tools/generateChartTool.d.ts +2 -2
- package/dist/esm/tools/proposeFormValuesTool.d.ts +2 -2
- package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
- package/dist/esm/utils/utils.d.ts +5 -0
- package/dist/esm/utils/utils.d.ts.map +1 -0
- package/dist/esm/utils/utils.js +26 -0
- package/dist/esm/utils/utils.js.map +1 -0
- package/package.json +7 -8
- package/dist/cjs/helpers/SetupHelper.cjs +0 -37
- package/dist/cjs/helpers/SetupHelper.cjs.map +0 -1
- package/dist/cjs/helpers/SetupHelper.d.ts +0 -5
- package/dist/cjs/helpers/SetupHelper.d.ts.map +0 -1
- package/dist/cjs/libs/kafka/config.cjs +0 -8
- package/dist/cjs/libs/kafka/config.cjs.map +0 -1
- package/dist/cjs/libs/kafka/config.d.ts +0 -5
- package/dist/cjs/libs/kafka/config.d.ts.map +0 -1
- package/dist/cjs/libs/kafka/consumer.cjs +0 -131
- package/dist/cjs/libs/kafka/consumer.cjs.map +0 -1
- package/dist/cjs/libs/kafka/consumer.d.ts +0 -16
- package/dist/cjs/libs/kafka/consumer.d.ts.map +0 -1
- package/dist/cjs/libs/kafka/index.cjs +0 -19
- package/dist/cjs/libs/kafka/index.cjs.map +0 -1
- package/dist/cjs/libs/kafka/index.d.ts +0 -3
- package/dist/cjs/libs/kafka/index.d.ts.map +0 -1
- package/dist/cjs/libs/kafka/kafka.cjs +0 -27
- package/dist/cjs/libs/kafka/kafka.cjs.map +0 -1
- package/dist/cjs/libs/kafka/kafka.d.ts +0 -3
- package/dist/cjs/libs/kafka/kafka.d.ts.map +0 -1
- package/dist/cjs/libs/kafka/producer.cjs +0 -48
- package/dist/cjs/libs/kafka/producer.cjs.map +0 -1
- package/dist/cjs/libs/kafka/producer.d.ts +0 -11
- package/dist/cjs/libs/kafka/producer.d.ts.map +0 -1
- package/dist/cjs/libs/logger/config.cjs +0 -8
- package/dist/cjs/libs/logger/config.cjs.map +0 -1
- package/dist/cjs/libs/logger/config.d.ts +0 -5
- package/dist/cjs/libs/logger/config.d.ts.map +0 -1
- package/dist/cjs/libs/s3/config.cjs +0 -10
- package/dist/cjs/libs/s3/config.cjs.map +0 -1
- package/dist/cjs/libs/s3/config.d.ts +0 -7
- package/dist/cjs/libs/s3/config.d.ts.map +0 -1
- package/dist/cjs/services/KafkaService.cjs +0 -122
- package/dist/cjs/services/KafkaService.cjs.map +0 -1
- package/dist/cjs/services/KafkaService.d.ts +0 -35
- package/dist/cjs/services/KafkaService.d.ts.map +0 -1
- package/dist/esm/helpers/SetupHelper.d.ts +0 -5
- package/dist/esm/helpers/SetupHelper.d.ts.map +0 -1
- package/dist/esm/helpers/SetupHelper.js +0 -32
- package/dist/esm/helpers/SetupHelper.js.map +0 -1
- package/dist/esm/libs/kafka/config.d.ts +0 -5
- package/dist/esm/libs/kafka/config.d.ts.map +0 -1
- package/dist/esm/libs/kafka/config.js +0 -5
- package/dist/esm/libs/kafka/config.js.map +0 -1
- package/dist/esm/libs/kafka/consumer.d.ts +0 -16
- package/dist/esm/libs/kafka/consumer.d.ts.map +0 -1
- package/dist/esm/libs/kafka/consumer.js +0 -125
- package/dist/esm/libs/kafka/consumer.js.map +0 -1
- package/dist/esm/libs/kafka/index.d.ts +0 -3
- package/dist/esm/libs/kafka/index.d.ts.map +0 -1
- package/dist/esm/libs/kafka/index.js +0 -3
- package/dist/esm/libs/kafka/index.js.map +0 -1
- package/dist/esm/libs/kafka/kafka.d.ts +0 -3
- package/dist/esm/libs/kafka/kafka.d.ts.map +0 -1
- package/dist/esm/libs/kafka/kafka.js +0 -24
- package/dist/esm/libs/kafka/kafka.js.map +0 -1
- package/dist/esm/libs/kafka/producer.d.ts +0 -11
- package/dist/esm/libs/kafka/producer.d.ts.map +0 -1
- package/dist/esm/libs/kafka/producer.js +0 -45
- package/dist/esm/libs/kafka/producer.js.map +0 -1
- package/dist/esm/libs/logger/config.d.ts +0 -5
- package/dist/esm/libs/logger/config.d.ts.map +0 -1
- package/dist/esm/libs/logger/config.js +0 -5
- package/dist/esm/libs/logger/config.js.map +0 -1
- package/dist/esm/libs/s3/config.d.ts +0 -7
- package/dist/esm/libs/s3/config.d.ts.map +0 -1
- package/dist/esm/libs/s3/config.js +0 -7
- package/dist/esm/libs/s3/config.js.map +0 -1
- package/dist/esm/services/KafkaService.d.ts +0 -35
- package/dist/esm/services/KafkaService.d.ts.map +0 -1
- package/dist/esm/services/KafkaService.js +0 -123
- package/dist/esm/services/KafkaService.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ChatProcessor.test.js","sourceRoot":"","sources":["../../../src/processors/ChatProcessor.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/processors/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/processors/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/processors/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/processors/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC"}
|
|
@@ -1,16 +1,35 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import
|
|
1
|
+
import { ModelMessage, type PrepareStepFunction, streamText, Tool, ToolSet, type StopCondition, StepResult } from 'ai';
|
|
2
|
+
import { AdditionalContext, AgentConfig, ModelOption, ToolChoice } from '@multiplayer-app/ai-agent-types';
|
|
3
3
|
import { ModelStore } from '../store/ModelStore';
|
|
4
|
+
import { Config } from '../config';
|
|
5
|
+
import { AIExecutionContext } from './ExecutionContext';
|
|
6
|
+
import { CredentialProvider } from './CredentialProvider';
|
|
7
|
+
import { ProviderClientFactory } from './ProviderClientFactory';
|
|
8
|
+
import { ModelAccessPolicy } from './ModelAccessPolicy';
|
|
9
|
+
import { TenantCredentialResolver } from './TenantCredentialResolver';
|
|
4
10
|
export interface GenerateTextOptions {
|
|
5
11
|
messages: ModelMessage[];
|
|
6
12
|
system?: string;
|
|
7
13
|
temperature?: number;
|
|
8
14
|
maxOutputTokens?: number;
|
|
9
15
|
topP?: number;
|
|
16
|
+
topK?: number;
|
|
17
|
+
presencePenalty?: number;
|
|
18
|
+
frequencyPenalty?: number;
|
|
19
|
+
stopSequences?: string[];
|
|
20
|
+
seed?: number;
|
|
10
21
|
toolChoice?: ToolChoice<ToolSet>;
|
|
11
22
|
tools?: ToolSet;
|
|
12
23
|
model?: string;
|
|
13
24
|
signal?: AbortSignal;
|
|
25
|
+
stopWhen?: StopCondition<ToolSet> | Array<StopCondition<ToolSet>>;
|
|
26
|
+
activeTools?: string[];
|
|
27
|
+
prepareStep?: PrepareStepFunction<ToolSet>;
|
|
28
|
+
onStepFinish?: (stepResult: StepResult<ToolSet>) => Promise<void> | void;
|
|
29
|
+
executionContext?: AIExecutionContext;
|
|
30
|
+
}
|
|
31
|
+
export interface AgentOptions extends Omit<GenerateTextOptions, 'messages'> {
|
|
32
|
+
name: string;
|
|
14
33
|
}
|
|
15
34
|
export interface StreamTextOptions extends GenerateTextOptions {
|
|
16
35
|
onChunk?: (chunk: any) => void;
|
|
@@ -24,25 +43,27 @@ export interface StreamTextOptions extends GenerateTextOptions {
|
|
|
24
43
|
totalUsage: any;
|
|
25
44
|
}) => void;
|
|
26
45
|
onAbort?: (data: any) => void;
|
|
27
|
-
onStepFinish?: (step: any) => void;
|
|
28
46
|
}
|
|
29
47
|
export interface LocalFunctionTool extends Omit<Tool, 'title'> {
|
|
30
48
|
title: string;
|
|
31
49
|
}
|
|
32
50
|
export declare class AIService {
|
|
33
51
|
private modelStore;
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
52
|
+
private config;
|
|
53
|
+
private credentialProvider;
|
|
54
|
+
private providerClientFactory;
|
|
55
|
+
private modelAccessPolicy;
|
|
56
|
+
constructor(modelStore: ModelStore, config: Config["ai"], tenantCredentialResolver?: TenantCredentialResolver, deps?: {
|
|
57
|
+
credentialProvider?: CredentialProvider;
|
|
58
|
+
providerClientFactory?: ProviderClientFactory;
|
|
59
|
+
modelAccessPolicy?: ModelAccessPolicy;
|
|
60
|
+
});
|
|
61
|
+
getLanguageModelId(modelId: string | undefined): ModelOption;
|
|
62
|
+
private getLanguageModel;
|
|
40
63
|
private getWebSearchTool;
|
|
41
64
|
private getTool;
|
|
42
|
-
getAgentOptions(config: AgentConfig<LocalFunctionTool>, modelId?: string, context?: AdditionalContext):
|
|
43
|
-
name: string;
|
|
44
|
-
};
|
|
65
|
+
getAgentOptions(config: AgentConfig<LocalFunctionTool>, modelId?: string, context?: AdditionalContext): AgentOptions;
|
|
45
66
|
generateText(options: GenerateTextOptions): Promise<string>;
|
|
46
|
-
streamText(options: StreamTextOptions): ReturnType<typeof streamText
|
|
67
|
+
streamText(options: StreamTextOptions): Promise<ReturnType<typeof streamText>>;
|
|
47
68
|
}
|
|
48
69
|
//# sourceMappingURL=AIService.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AIService.d.ts","sourceRoot":"","sources":["../../../src/services/AIService.ts"],"names":[],"mappings":"AAIA,OAAO,
|
|
1
|
+
{"version":3,"file":"AIService.d.ts","sourceRoot":"","sources":["../../../src/services/AIService.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,52 +4,36 @@ import { google } from '@ai-sdk/google';
|
|
|
4
4
|
import { z } from 'zod';
|
|
5
5
|
import { generateText, streamText, tool, } from 'ai';
|
|
6
6
|
import { AgentToolType } from '@multiplayer-app/ai-agent-types';
|
|
7
|
-
import { createOpenRouter } from '@openrouter/ai-sdk-provider';
|
|
8
|
-
import { config } from '../config';
|
|
9
7
|
import { logger } from '../libs/logger';
|
|
8
|
+
import { TenantCredentialProvider } from './CredentialProvider';
|
|
9
|
+
import { ProviderClientFactory } from './ProviderClientFactory';
|
|
10
|
+
import { ModelAccessPolicy } from './ModelAccessPolicy';
|
|
11
|
+
import { getAgentToolName } from '../utils/utils';
|
|
10
12
|
export class AIService {
|
|
11
13
|
modelStore;
|
|
12
|
-
|
|
14
|
+
config;
|
|
15
|
+
credentialProvider;
|
|
16
|
+
providerClientFactory;
|
|
17
|
+
modelAccessPolicy;
|
|
18
|
+
constructor(modelStore, config, tenantCredentialResolver, deps) {
|
|
13
19
|
this.modelStore = modelStore;
|
|
20
|
+
this.config = config;
|
|
21
|
+
this.credentialProvider = deps?.credentialProvider ?? new TenantCredentialProvider(tenantCredentialResolver, config);
|
|
22
|
+
this.providerClientFactory = deps?.providerClientFactory ?? new ProviderClientFactory();
|
|
23
|
+
this.modelAccessPolicy = deps?.modelAccessPolicy ?? new ModelAccessPolicy();
|
|
14
24
|
}
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
const model = selectedModel ?
|
|
18
|
-
this.modelStore.getModelById(selectedModel) :
|
|
19
|
-
this.modelStore.getModels()[0]; //get first model if no model is selected
|
|
20
|
-
if (!model) {
|
|
21
|
-
throw new Error(`Model with id "${selectedModel}" is not available. Ensure you have appropriate key in the environment variables.`);
|
|
22
|
-
}
|
|
23
|
-
return this.createLanguageModel(model, websearchEnabled);
|
|
25
|
+
getLanguageModelId(modelId) {
|
|
26
|
+
return this.modelAccessPolicy.resolveModel(this.modelStore, modelId, this.config.defaultModel);
|
|
24
27
|
}
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
const
|
|
30
|
-
|
|
31
|
-
case 'openai':
|
|
32
|
-
return openai(model.id);
|
|
33
|
-
case 'anthropic':
|
|
34
|
-
return anthropic(model.id);
|
|
35
|
-
case 'google':
|
|
36
|
-
return google(model.id);
|
|
37
|
-
case 'openrouter':
|
|
38
|
-
return createOpenRouter({
|
|
39
|
-
apiKey: config.ai.openrouterApiKey,
|
|
40
|
-
})(model.id, { plugins: websearchEnabled ? [{ id: "web", engine: undefined, max_results: 2 }] : [] });
|
|
41
|
-
default:
|
|
42
|
-
throw new Error(`Unsupported provider: ${provider}`);
|
|
43
|
-
}
|
|
28
|
+
async getLanguageModel(modelId, websearchEnabled, executionContext) {
|
|
29
|
+
const model = this.getLanguageModelId(modelId);
|
|
30
|
+
const provider = (model.provider || 'openai');
|
|
31
|
+
const providerCredential = await this.credentialProvider.getProviderCredential(provider, executionContext);
|
|
32
|
+
const apiKey = this.modelAccessPolicy.requireProviderApiKey(provider, providerCredential.apiKey);
|
|
33
|
+
return this.providerClientFactory.createLanguageModel(model, { apiKey, baseUrl: providerCredential.baseUrl }, websearchEnabled);
|
|
44
34
|
}
|
|
45
35
|
getWebSearchTool(modelId) {
|
|
46
|
-
const
|
|
47
|
-
const model = selectedModel ?
|
|
48
|
-
this.modelStore.getModelById(selectedModel) :
|
|
49
|
-
this.modelStore.getModels()[0]; //get first model if no model is selected
|
|
50
|
-
if (!model) {
|
|
51
|
-
throw new Error(`Model with id "${selectedModel}" is not available. Ensure you have appropriate key in the environment variables.`);
|
|
52
|
-
}
|
|
36
|
+
const model = this.getLanguageModelId(modelId);
|
|
53
37
|
switch (model.provider) {
|
|
54
38
|
case 'openai':
|
|
55
39
|
return openai.tools.webSearch();
|
|
@@ -57,17 +41,18 @@ export class AIService {
|
|
|
57
41
|
return anthropic.tools.webSearch_20250305();
|
|
58
42
|
case 'google':
|
|
59
43
|
return google.tools.googleSearch({});
|
|
60
|
-
case 'openrouter':
|
|
44
|
+
case 'openrouter':
|
|
61
45
|
return undefined;
|
|
62
46
|
default:
|
|
63
47
|
return undefined;
|
|
64
48
|
}
|
|
65
49
|
}
|
|
66
50
|
getTool(toolConfig, modelId, context) {
|
|
51
|
+
const toolName = getAgentToolName(toolConfig);
|
|
67
52
|
if (toolConfig.type === AgentToolType.API_TOOL) {
|
|
68
53
|
const data = toolConfig.data;
|
|
69
54
|
return tool({
|
|
70
|
-
title:
|
|
55
|
+
title: toolName,
|
|
71
56
|
description: data.description,
|
|
72
57
|
needsApproval: data.needsApproval,
|
|
73
58
|
inputSchema: z.object({
|
|
@@ -101,7 +86,34 @@ export class AIService {
|
|
|
101
86
|
});
|
|
102
87
|
}
|
|
103
88
|
if (toolConfig.type === AgentToolType.WEB_SEARCH) {
|
|
104
|
-
return
|
|
89
|
+
return undefined;
|
|
90
|
+
}
|
|
91
|
+
if (toolConfig.type === AgentToolType.REQUEST_CLARIFICATION) {
|
|
92
|
+
return tool({
|
|
93
|
+
title: toolName,
|
|
94
|
+
description: `Use this tool when the agent requires additional clarification or a decision from the user.
|
|
95
|
+
The model MUST:
|
|
96
|
+
- Ask a clear, concise question.
|
|
97
|
+
- Provide 2–6 explicit answer options.
|
|
98
|
+
- Avoid open-ended or vague phrasing.
|
|
99
|
+
- Prefer structured multiple-choice over free text.
|
|
100
|
+
- Only ask one question at a time.
|
|
101
|
+
Use this instead of guessing when missing information would impact correctness.`,
|
|
102
|
+
inputSchema: z.object({
|
|
103
|
+
question: z.string().min(5).describe("Clear and concise question for the user."),
|
|
104
|
+
selectionMode: z.enum(["single", "multiple"]).describe("Whether the user can select one option or multiple options."),
|
|
105
|
+
options: z.array(z.object({
|
|
106
|
+
id: z.string().min(1).describe("Stable option identifier."),
|
|
107
|
+
label: z.string().min(1).describe("User-visible option label."),
|
|
108
|
+
description: z.string().optional().describe("Optional additional explanation.")
|
|
109
|
+
}))
|
|
110
|
+
.min(2)
|
|
111
|
+
.max(6)
|
|
112
|
+
.describe("List of selectable options (2–6)."),
|
|
113
|
+
allowFreeText: z.boolean().default(false).describe("Whether the user may provide a custom answer outside the provided options.")
|
|
114
|
+
}),
|
|
115
|
+
needsApproval: true,
|
|
116
|
+
});
|
|
105
117
|
}
|
|
106
118
|
if (toolConfig.type === AgentToolType.LOCAL_FUNCTION) {
|
|
107
119
|
const data = toolConfig.data;
|
|
@@ -109,35 +121,38 @@ export class AIService {
|
|
|
109
121
|
if (data && typeof data.execute === 'function') {
|
|
110
122
|
return tool({
|
|
111
123
|
...data,
|
|
124
|
+
title: toolName,
|
|
112
125
|
execute: async (input, options) => {
|
|
113
126
|
return data.execute(input, context, options);
|
|
114
127
|
}
|
|
115
128
|
});
|
|
116
129
|
}
|
|
117
|
-
return tool(data);
|
|
130
|
+
return tool({ ...data, title: toolName });
|
|
131
|
+
}
|
|
132
|
+
if (toolConfig.type === AgentToolType.SUBAGENT) {
|
|
133
|
+
const data = toolConfig.data;
|
|
134
|
+
const defaultInputSchema = z.object({
|
|
135
|
+
task: z.string().min(1).describe('Task to delegate to the subagent including additional information that can be needed by the subagent'),
|
|
136
|
+
context: z.record(z.string(), z.unknown()).describe('Optional structured context for the subagent')
|
|
137
|
+
});
|
|
138
|
+
return tool({
|
|
139
|
+
title: toolName,
|
|
140
|
+
description: data.description || data.subAgent.description,
|
|
141
|
+
inputSchema: data.inputSchema || defaultInputSchema,
|
|
142
|
+
needsApproval: true, // always should intercept processing
|
|
143
|
+
execute: async (input, options) => {
|
|
144
|
+
//execute is fake and intercepted by tool-approval process
|
|
145
|
+
}
|
|
146
|
+
});
|
|
118
147
|
}
|
|
119
148
|
return undefined;
|
|
120
149
|
}
|
|
121
|
-
// getToolLoopAgent(config: AgentConfig, modelId?: string): Agent<ToolSet, never, never> {
|
|
122
|
-
// const tools: ToolSet = config.tools.reduce((acc, toolConfig) => {
|
|
123
|
-
// const tool = this.getTool(toolConfig, modelId);
|
|
124
|
-
// if (tool && toolConfig.data?.name) {
|
|
125
|
-
// acc[toolConfig.data.name] = tool
|
|
126
|
-
// }
|
|
127
|
-
// return acc;
|
|
128
|
-
// }, {} as ToolSet);
|
|
129
|
-
// return new Agent({
|
|
130
|
-
// model: this.getLanguageModel(modelId || config.defaultModel),
|
|
131
|
-
// system: config.systemPrompt,
|
|
132
|
-
// tools,
|
|
133
|
-
// ...(config.outputSchema ? { output: Output.object({ schema: config.outputSchema})} : {})
|
|
134
|
-
// });
|
|
135
|
-
// }
|
|
136
150
|
getAgentOptions(config, modelId, context) {
|
|
137
151
|
const tools = config.tools.reduce((acc, toolConfig) => {
|
|
138
152
|
const tool = this.getTool(toolConfig, modelId, context);
|
|
139
|
-
|
|
140
|
-
|
|
153
|
+
const toolName = getAgentToolName(toolConfig);
|
|
154
|
+
if (tool) {
|
|
155
|
+
acc[toolName] = { ...tool, title: toolName };
|
|
141
156
|
}
|
|
142
157
|
return acc;
|
|
143
158
|
}, {});
|
|
@@ -147,14 +162,36 @@ export class AIService {
|
|
|
147
162
|
system: config.systemPrompt,
|
|
148
163
|
toolChoice: config.toolChoice,
|
|
149
164
|
name: config.name,
|
|
165
|
+
stopWhen: config.stopWhen,
|
|
166
|
+
prepareStep: config.prepareStep,
|
|
167
|
+
maxOutputTokens: config.maxOutputTokens,
|
|
168
|
+
temperature: config.temperature,
|
|
169
|
+
topP: config.topP,
|
|
170
|
+
topK: config.topK,
|
|
171
|
+
presencePenalty: config.presencePenalty,
|
|
172
|
+
frequencyPenalty: config.frequencyPenalty,
|
|
173
|
+
stopSequences: config.stopSequences,
|
|
174
|
+
seed: config.seed
|
|
150
175
|
};
|
|
151
176
|
}
|
|
152
177
|
async generateText(options) {
|
|
153
|
-
const websearchEnabled = !!options.tools?.[AgentToolType.WEB_SEARCH];
|
|
154
178
|
try {
|
|
179
|
+
const { stopWhen, model, signal, activeTools, tools, executionContext, ...restOptions } = options;
|
|
180
|
+
const websearchEnabled = activeTools?.includes(AgentToolType.WEB_SEARCH) ?? false;
|
|
181
|
+
let availableTools = tools || {};
|
|
182
|
+
if (websearchEnabled) {
|
|
183
|
+
const tool = this.getWebSearchTool(model);
|
|
184
|
+
if (tool) {
|
|
185
|
+
availableTools[tool.title || AgentToolType.WEB_SEARCH] = tool;
|
|
186
|
+
}
|
|
187
|
+
}
|
|
155
188
|
const { text } = await generateText({
|
|
156
|
-
...
|
|
157
|
-
|
|
189
|
+
...restOptions,
|
|
190
|
+
abortSignal: signal,
|
|
191
|
+
activeTools,
|
|
192
|
+
tools: availableTools,
|
|
193
|
+
model: await this.getLanguageModel(model, websearchEnabled, executionContext),
|
|
194
|
+
...(stopWhen !== undefined ? { stopWhen } : {}),
|
|
158
195
|
});
|
|
159
196
|
return text;
|
|
160
197
|
}
|
|
@@ -163,13 +200,23 @@ export class AIService {
|
|
|
163
200
|
throw new Error(`Failed to generate text: ${error instanceof Error ? error.message : 'Unknown error'}`);
|
|
164
201
|
}
|
|
165
202
|
}
|
|
166
|
-
streamText(options) {
|
|
167
|
-
const { onError, onChunk, onFinish, onStepFinish } = options;
|
|
168
|
-
const websearchEnabled =
|
|
203
|
+
async streamText(options) {
|
|
204
|
+
const { onError, onChunk, onFinish, onStepFinish, onAbort, signal, activeTools, tools, model, executionContext, ...restOptions } = options;
|
|
205
|
+
const websearchEnabled = activeTools?.includes(AgentToolType.WEB_SEARCH) ?? false;
|
|
206
|
+
let availableTools = tools || {};
|
|
207
|
+
if (websearchEnabled) {
|
|
208
|
+
const tool = this.getWebSearchTool(model);
|
|
209
|
+
if (tool) {
|
|
210
|
+
availableTools[tool.title || AgentToolType.WEB_SEARCH] = tool;
|
|
211
|
+
}
|
|
212
|
+
}
|
|
169
213
|
try {
|
|
170
214
|
return streamText({
|
|
171
|
-
...
|
|
172
|
-
|
|
215
|
+
...restOptions,
|
|
216
|
+
abortSignal: signal,
|
|
217
|
+
activeTools,
|
|
218
|
+
tools: availableTools,
|
|
219
|
+
model: await this.getLanguageModel(model, websearchEnabled, executionContext),
|
|
173
220
|
onError({ error }) {
|
|
174
221
|
logger.error(error);
|
|
175
222
|
onError?.(error);
|
|
@@ -182,7 +229,10 @@ export class AIService {
|
|
|
182
229
|
},
|
|
183
230
|
onStepFinish(step) {
|
|
184
231
|
onStepFinish?.(step);
|
|
185
|
-
}
|
|
232
|
+
},
|
|
233
|
+
onAbort(event) {
|
|
234
|
+
onAbort?.(event);
|
|
235
|
+
},
|
|
186
236
|
});
|
|
187
237
|
}
|
|
188
238
|
catch (error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AIService.js","sourceRoot":"","sources":["../../../src/services/AIService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,OAAO,
|
|
1
|
+
{"version":3,"file":"AIService.js","sourceRoot":"","sources":["../../../src/services/AIService.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { AIProvider } from '@multiplayer-app/ai-agent-types';
|
|
2
|
+
import type { Config } from '../config';
|
|
3
|
+
import type { TenantCredentialResolver } from './TenantCredentialResolver';
|
|
4
|
+
import type { AIExecutionContext } from './ExecutionContext';
|
|
5
|
+
export type CredentialSource = 'tenant' | 'platform' | 'none';
|
|
6
|
+
export interface ProviderCredentialResult {
|
|
7
|
+
apiKey?: string;
|
|
8
|
+
baseUrl?: string;
|
|
9
|
+
source: CredentialSource;
|
|
10
|
+
}
|
|
11
|
+
export interface CredentialProvider {
|
|
12
|
+
getProviderCredential(provider: AIProvider, context?: AIExecutionContext): Promise<ProviderCredentialResult>;
|
|
13
|
+
}
|
|
14
|
+
export declare class TenantCredentialProvider implements CredentialProvider {
|
|
15
|
+
private readonly resolver;
|
|
16
|
+
private readonly config;
|
|
17
|
+
constructor(resolver: TenantCredentialResolver | undefined, config: Config['ai']);
|
|
18
|
+
getProviderCredential(provider: AIProvider, context?: AIExecutionContext): Promise<ProviderCredentialResult>;
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=CredentialProvider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CredentialProvider.d.ts","sourceRoot":"","sources":["../../../src/services/CredentialProvider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAC3E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAK7D,MAAM,MAAM,gBAAgB,GAAG,QAAQ,GAAG,UAAU,GAAG,MAAM,CAAC;AAE9D,MAAM,WAAW,wBAAwB;IACvC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,gBAAgB,CAAC;CAC1B;AAED,MAAM,WAAW,kBAAkB;IACjC,qBAAqB,CAAC,QAAQ,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAAC;CAC9G;AA4BD,qBAAa,wBAAyB,YAAW,kBAAkB;IAE/D,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,MAAM;gBADN,QAAQ,EAAE,wBAAwB,GAAG,SAAS,EAC9C,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC;IAGjC,qBAAqB,CAAC,QAAQ,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,wBAAwB,CAAC;CA8BnH"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
function providerToField(provider) {
|
|
2
|
+
switch (provider) {
|
|
3
|
+
case 'openai':
|
|
4
|
+
return 'openaiApiKey';
|
|
5
|
+
case 'anthropic':
|
|
6
|
+
return 'anthropicApiKey';
|
|
7
|
+
case 'google':
|
|
8
|
+
return 'googleApiKey';
|
|
9
|
+
case 'openrouter':
|
|
10
|
+
return 'openrouterApiKey';
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
function providerToBaseUrlField(provider) {
|
|
14
|
+
switch (provider) {
|
|
15
|
+
case 'openai':
|
|
16
|
+
return 'openaiBaseUrl';
|
|
17
|
+
case 'anthropic':
|
|
18
|
+
return 'anthropicBaseUrl';
|
|
19
|
+
case 'google':
|
|
20
|
+
return 'googleBaseUrl';
|
|
21
|
+
case 'openrouter':
|
|
22
|
+
return 'openrouterBaseUrl';
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
export class TenantCredentialProvider {
|
|
26
|
+
resolver;
|
|
27
|
+
config;
|
|
28
|
+
constructor(resolver, config) {
|
|
29
|
+
this.resolver = resolver;
|
|
30
|
+
this.config = config;
|
|
31
|
+
}
|
|
32
|
+
async getProviderCredential(provider, context) {
|
|
33
|
+
const field = providerToField(provider);
|
|
34
|
+
const baseUrlField = providerToBaseUrlField(provider);
|
|
35
|
+
const tenants = context?.tenants;
|
|
36
|
+
if (this.resolver && tenants && Object.keys(tenants).length > 0) {
|
|
37
|
+
const resolved = await this.resolver.resolveCredentials(tenants);
|
|
38
|
+
const tenantApiKey = resolved[field];
|
|
39
|
+
const tenantBaseUrl = resolved[baseUrlField];
|
|
40
|
+
if (tenantApiKey) {
|
|
41
|
+
return {
|
|
42
|
+
apiKey: tenantApiKey,
|
|
43
|
+
baseUrl: tenantBaseUrl ?? this.config[baseUrlField],
|
|
44
|
+
source: 'tenant',
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
const platformApiKey = this.config[field];
|
|
49
|
+
const platformBaseUrl = this.config[baseUrlField];
|
|
50
|
+
if (platformApiKey) {
|
|
51
|
+
return {
|
|
52
|
+
apiKey: platformApiKey,
|
|
53
|
+
baseUrl: platformBaseUrl,
|
|
54
|
+
source: 'platform',
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
return { source: 'none' };
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
//# sourceMappingURL=CredentialProvider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CredentialProvider.js","sourceRoot":"","sources":["../../../src/services/CredentialProvider.ts"],"names":[],"mappings":"AAoBA,SAAS,eAAe,CAAC,QAAoB;IAC3C,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,QAAQ;YACX,OAAO,cAAc,CAAC;QACxB,KAAK,WAAW;YACd,OAAO,iBAAiB,CAAC;QAC3B,KAAK,QAAQ;YACX,OAAO,cAAc,CAAC;QACxB,KAAK,YAAY;YACf,OAAO,kBAAkB,CAAC;IAC9B,CAAC;AACH,CAAC;AAED,SAAS,sBAAsB,CAAC,QAAoB;IAClD,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,QAAQ;YACX,OAAO,eAAe,CAAC;QACzB,KAAK,WAAW;YACd,OAAO,kBAAkB,CAAC;QAC5B,KAAK,QAAQ;YACX,OAAO,eAAe,CAAC;QACzB,KAAK,YAAY;YACf,OAAO,mBAAmB,CAAC;IAC/B,CAAC;AACH,CAAC;AAED,MAAM,OAAO,wBAAwB;IAEhB;IACA;IAFnB,YACmB,QAA8C,EAC9C,MAAoB;QADpB,aAAQ,GAAR,QAAQ,CAAsC;QAC9C,WAAM,GAAN,MAAM,CAAc;IACpC,CAAC;IAEJ,KAAK,CAAC,qBAAqB,CAAC,QAAoB,EAAE,OAA4B;QAC5E,MAAM,KAAK,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;QACxC,MAAM,YAAY,GAAG,sBAAsB,CAAC,QAAQ,CAAC,CAAC;QACtD,MAAM,OAAO,GAAG,OAAO,EAAE,OAAO,CAAC;QAEjC,IAAI,IAAI,CAAC,QAAQ,IAAI,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;YACjE,MAAM,YAAY,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;YACrC,MAAM,aAAa,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC;YAC7C,IAAI,YAAY,EAAE,CAAC;gBACjB,OAAO;oBACL,MAAM,EAAE,YAAY;oBACpB,OAAO,EAAE,aAAa,IAAI,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC;oBACnD,MAAM,EAAE,QAAQ;iBACjB,CAAC;YACJ,CAAC;QACH,CAAC;QAED,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC1C,MAAM,eAAe,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAClD,IAAI,cAAc,EAAE,CAAC;YACnB,OAAO;gBACL,MAAM,EAAE,cAAc;gBACtB,OAAO,EAAE,eAAe;gBACxB,MAAM,EAAE,UAAU;aACnB,CAAC;QACJ,CAAC;QAED,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;IAC5B,CAAC;CACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CredentialProvider.test.d.ts","sourceRoot":"","sources":["../../../src/services/CredentialProvider.test.ts"],"names":[],"mappings":""}
|