@smythos/sre 1.6.8 → 1.6.9

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.
Files changed (239) hide show
  1. package/CHANGELOG +111 -111
  2. package/LICENSE +18 -18
  3. package/README.md +135 -135
  4. package/dist/bundle-analysis-lazy.html +4949 -0
  5. package/dist/bundle-analysis.html +4949 -0
  6. package/dist/index.js +2 -2
  7. package/dist/index.js.map +1 -1
  8. package/dist/types/Components/Triggers/Gmail.trigger.d.ts +58 -0
  9. package/dist/types/Components/Triggers/GmailTrigger.class.d.ts +44 -0
  10. package/dist/types/Components/Triggers/Trigger.class.d.ts +21 -0
  11. package/dist/types/Components/Triggers/WhatsApp.trigger.d.ts +22 -0
  12. package/dist/types/helpers/AIPerformanceAnalyzer.helper.d.ts +45 -0
  13. package/dist/types/helpers/AIPerformanceCollector.helper.d.ts +111 -0
  14. package/dist/types/subsystems/IO/Storage.service/connectors/AzureBlobStorage.class.d.ts +211 -0
  15. package/dist/types/subsystems/IO/VectorDB.service/connectors/WeaviateVectorDB.class.d.ts +187 -0
  16. package/dist/types/subsystems/PerformanceManager/Performance.service/PerformanceConnector.d.ts +102 -0
  17. package/dist/types/subsystems/PerformanceManager/Performance.service/connectors/LocalPerformanceConnector.class.d.ts +100 -0
  18. package/dist/types/subsystems/PerformanceManager/Performance.service/index.d.ts +22 -0
  19. package/dist/types/subsystems/Security/Credentials/Credentials.class.d.ts +2 -0
  20. package/dist/types/subsystems/Security/Credentials/ManagedOAuth2Credentials.class.d.ts +18 -0
  21. package/dist/types/subsystems/Security/Credentials/OAuth2Credentials.class.d.ts +14 -0
  22. package/dist/types/types/Performance.types.d.ts +468 -0
  23. package/dist/types/utils/package-manager.utils.d.ts +26 -0
  24. package/package.json +1 -1
  25. package/src/Components/APICall/APICall.class.ts +161 -161
  26. package/src/Components/APICall/AccessTokenManager.ts +166 -166
  27. package/src/Components/APICall/ArrayBufferResponse.helper.ts +58 -58
  28. package/src/Components/APICall/OAuth.helper.ts +447 -447
  29. package/src/Components/APICall/mimeTypeCategories.ts +46 -46
  30. package/src/Components/APICall/parseData.ts +167 -167
  31. package/src/Components/APICall/parseHeaders.ts +41 -41
  32. package/src/Components/APICall/parseProxy.ts +68 -68
  33. package/src/Components/APICall/parseUrl.ts +91 -91
  34. package/src/Components/APIEndpoint.class.ts +234 -234
  35. package/src/Components/APIOutput.class.ts +58 -58
  36. package/src/Components/AgentPlugin.class.ts +102 -102
  37. package/src/Components/Async.class.ts +155 -155
  38. package/src/Components/Await.class.ts +90 -90
  39. package/src/Components/Classifier.class.ts +158 -158
  40. package/src/Components/Component.class.ts +147 -147
  41. package/src/Components/ComponentHost.class.ts +38 -38
  42. package/src/Components/DataSourceCleaner.class.ts +92 -92
  43. package/src/Components/DataSourceIndexer.class.ts +181 -181
  44. package/src/Components/DataSourceLookup.class.ts +161 -161
  45. package/src/Components/ECMASandbox.class.ts +72 -72
  46. package/src/Components/FEncDec.class.ts +29 -29
  47. package/src/Components/FHash.class.ts +33 -33
  48. package/src/Components/FSign.class.ts +80 -80
  49. package/src/Components/FSleep.class.ts +25 -25
  50. package/src/Components/FTimestamp.class.ts +66 -66
  51. package/src/Components/FileStore.class.ts +78 -78
  52. package/src/Components/ForEach.class.ts +97 -97
  53. package/src/Components/GPTPlugin.class.ts +70 -70
  54. package/src/Components/GenAILLM.class.ts +586 -586
  55. package/src/Components/HuggingFace.class.ts +313 -313
  56. package/src/Components/Image/imageSettings.config.ts +70 -70
  57. package/src/Components/ImageGenerator.class.ts +483 -483
  58. package/src/Components/JSONFilter.class.ts +54 -54
  59. package/src/Components/LLMAssistant.class.ts +213 -213
  60. package/src/Components/LogicAND.class.ts +28 -28
  61. package/src/Components/LogicAtLeast.class.ts +85 -85
  62. package/src/Components/LogicAtMost.class.ts +86 -86
  63. package/src/Components/LogicOR.class.ts +29 -29
  64. package/src/Components/LogicXOR.class.ts +34 -34
  65. package/src/Components/MCPClient.class.ts +137 -137
  66. package/src/Components/MemoryDeleteKeyVal.class.ts +70 -70
  67. package/src/Components/MemoryReadKeyVal.class.ts +67 -67
  68. package/src/Components/MemoryWriteKeyVal.class.ts +62 -62
  69. package/src/Components/MemoryWriteObject.class.ts +97 -97
  70. package/src/Components/MultimodalLLM.class.ts +128 -128
  71. package/src/Components/OpenAPI.class.ts +72 -72
  72. package/src/Components/PromptGenerator.class.ts +122 -122
  73. package/src/Components/ScrapflyWebScrape.class.ts +183 -183
  74. package/src/Components/ServerlessCode.class.ts +123 -123
  75. package/src/Components/TavilyWebSearch.class.ts +103 -103
  76. package/src/Components/VisionLLM.class.ts +104 -104
  77. package/src/Components/ZapierAction.class.ts +127 -127
  78. package/src/Components/index.ts +97 -97
  79. package/src/Core/AgentProcess.helper.ts +240 -240
  80. package/src/Core/Connector.class.ts +123 -123
  81. package/src/Core/ConnectorsService.ts +197 -197
  82. package/src/Core/DummyConnector.ts +49 -49
  83. package/src/Core/HookService.ts +105 -105
  84. package/src/Core/SmythRuntime.class.ts +241 -241
  85. package/src/Core/SystemEvents.ts +16 -16
  86. package/src/Core/boot.ts +56 -56
  87. package/src/config.ts +15 -15
  88. package/src/constants.ts +126 -126
  89. package/src/data/hugging-face.params.json +579 -579
  90. package/src/helpers/AWSLambdaCode.helper.ts +624 -624
  91. package/src/helpers/BinaryInput.helper.ts +331 -331
  92. package/src/helpers/Conversation.helper.ts +1157 -1157
  93. package/src/helpers/ECMASandbox.helper.ts +64 -64
  94. package/src/helpers/JsonContent.helper.ts +97 -97
  95. package/src/helpers/LocalCache.helper.ts +97 -97
  96. package/src/helpers/Log.helper.ts +274 -274
  97. package/src/helpers/OpenApiParser.helper.ts +150 -150
  98. package/src/helpers/S3Cache.helper.ts +147 -147
  99. package/src/helpers/SmythURI.helper.ts +5 -5
  100. package/src/helpers/Sysconfig.helper.ts +95 -95
  101. package/src/helpers/TemplateString.helper.ts +243 -243
  102. package/src/helpers/TypeChecker.helper.ts +329 -329
  103. package/src/index.ts +3 -3
  104. package/src/index.ts.bak +3 -3
  105. package/src/subsystems/AgentManager/Agent.class.ts +1114 -1114
  106. package/src/subsystems/AgentManager/Agent.helper.ts +3 -3
  107. package/src/subsystems/AgentManager/AgentData.service/AgentDataConnector.ts +230 -230
  108. package/src/subsystems/AgentManager/AgentData.service/connectors/CLIAgentDataConnector.class.ts +66 -66
  109. package/src/subsystems/AgentManager/AgentData.service/connectors/LocalAgentDataConnector.class.ts +145 -145
  110. package/src/subsystems/AgentManager/AgentData.service/connectors/NullAgentData.class.ts +39 -39
  111. package/src/subsystems/AgentManager/AgentData.service/index.ts +18 -18
  112. package/src/subsystems/AgentManager/AgentLogger.class.ts +301 -301
  113. package/src/subsystems/AgentManager/AgentRequest.class.ts +51 -51
  114. package/src/subsystems/AgentManager/AgentRuntime.class.ts +557 -557
  115. package/src/subsystems/AgentManager/AgentSSE.class.ts +101 -101
  116. package/src/subsystems/AgentManager/AgentSettings.class.ts +52 -52
  117. package/src/subsystems/AgentManager/Component.service/ComponentConnector.ts +32 -32
  118. package/src/subsystems/AgentManager/Component.service/connectors/LocalComponentConnector.class.ts +60 -60
  119. package/src/subsystems/AgentManager/Component.service/index.ts +11 -11
  120. package/src/subsystems/AgentManager/EmbodimentSettings.class.ts +47 -47
  121. package/src/subsystems/AgentManager/ForkedAgent.class.ts +154 -154
  122. package/src/subsystems/AgentManager/OSResourceMonitor.ts +77 -77
  123. package/src/subsystems/ComputeManager/Code.service/CodeConnector.ts +98 -98
  124. package/src/subsystems/ComputeManager/Code.service/connectors/AWSLambdaCode.class.ts +171 -171
  125. package/src/subsystems/ComputeManager/Code.service/connectors/ECMASandbox.class.ts +131 -131
  126. package/src/subsystems/ComputeManager/Code.service/index.ts +13 -13
  127. package/src/subsystems/IO/CLI.service/CLIConnector.ts +47 -47
  128. package/src/subsystems/IO/CLI.service/index.ts +9 -9
  129. package/src/subsystems/IO/Log.service/LogConnector.ts +32 -32
  130. package/src/subsystems/IO/Log.service/connectors/ConsoleLog.class.ts +28 -28
  131. package/src/subsystems/IO/Log.service/index.ts +13 -13
  132. package/src/subsystems/IO/NKV.service/NKVConnector.ts +43 -43
  133. package/src/subsystems/IO/NKV.service/connectors/NKVLocalStorage.class.ts +234 -234
  134. package/src/subsystems/IO/NKV.service/connectors/NKVRAM.class.ts +204 -204
  135. package/src/subsystems/IO/NKV.service/connectors/NKVRedis.class.ts +182 -182
  136. package/src/subsystems/IO/NKV.service/index.ts +14 -14
  137. package/src/subsystems/IO/Router.service/RouterConnector.ts +21 -21
  138. package/src/subsystems/IO/Router.service/connectors/ExpressRouter.class.ts +48 -48
  139. package/src/subsystems/IO/Router.service/connectors/NullRouter.class.ts +40 -40
  140. package/src/subsystems/IO/Router.service/index.ts +11 -11
  141. package/src/subsystems/IO/Storage.service/SmythFS.class.ts +488 -488
  142. package/src/subsystems/IO/Storage.service/StorageConnector.ts +66 -66
  143. package/src/subsystems/IO/Storage.service/connectors/LocalStorage.class.ts +327 -327
  144. package/src/subsystems/IO/Storage.service/connectors/S3Storage.class.ts +482 -482
  145. package/src/subsystems/IO/Storage.service/index.ts +13 -13
  146. package/src/subsystems/IO/VectorDB.service/VectorDBConnector.ts +108 -108
  147. package/src/subsystems/IO/VectorDB.service/connectors/MilvusVectorDB.class.ts +465 -465
  148. package/src/subsystems/IO/VectorDB.service/connectors/PineconeVectorDB.class.ts +387 -387
  149. package/src/subsystems/IO/VectorDB.service/connectors/RAMVecrtorDB.class.ts +408 -408
  150. package/src/subsystems/IO/VectorDB.service/embed/BaseEmbedding.ts +107 -107
  151. package/src/subsystems/IO/VectorDB.service/embed/GoogleEmbedding.ts +118 -118
  152. package/src/subsystems/IO/VectorDB.service/embed/OpenAIEmbedding.ts +109 -109
  153. package/src/subsystems/IO/VectorDB.service/embed/index.ts +26 -26
  154. package/src/subsystems/IO/VectorDB.service/index.ts +14 -14
  155. package/src/subsystems/LLMManager/LLM.helper.ts +251 -251
  156. package/src/subsystems/LLMManager/LLM.inference.ts +345 -345
  157. package/src/subsystems/LLMManager/LLM.service/LLMConnector.ts +492 -492
  158. package/src/subsystems/LLMManager/LLM.service/LLMCredentials.helper.ts +171 -171
  159. package/src/subsystems/LLMManager/LLM.service/connectors/Anthropic.class.ts +666 -666
  160. package/src/subsystems/LLMManager/LLM.service/connectors/Bedrock.class.ts +407 -407
  161. package/src/subsystems/LLMManager/LLM.service/connectors/Echo.class.ts +92 -92
  162. package/src/subsystems/LLMManager/LLM.service/connectors/GoogleAI.class.ts +983 -983
  163. package/src/subsystems/LLMManager/LLM.service/connectors/Groq.class.ts +319 -319
  164. package/src/subsystems/LLMManager/LLM.service/connectors/Ollama.class.ts +361 -361
  165. package/src/subsystems/LLMManager/LLM.service/connectors/Perplexity.class.ts +257 -257
  166. package/src/subsystems/LLMManager/LLM.service/connectors/VertexAI.class.ts +430 -430
  167. package/src/subsystems/LLMManager/LLM.service/connectors/openai/OpenAIConnector.class.ts +503 -503
  168. package/src/subsystems/LLMManager/LLM.service/connectors/openai/apiInterfaces/ChatCompletionsApiInterface.ts +524 -524
  169. package/src/subsystems/LLMManager/LLM.service/connectors/openai/apiInterfaces/OpenAIApiInterface.ts +100 -100
  170. package/src/subsystems/LLMManager/LLM.service/connectors/openai/apiInterfaces/OpenAIApiInterfaceFactory.ts +81 -81
  171. package/src/subsystems/LLMManager/LLM.service/connectors/openai/apiInterfaces/ResponsesApiInterface.ts +1145 -1145
  172. package/src/subsystems/LLMManager/LLM.service/connectors/openai/apiInterfaces/constants.ts +13 -13
  173. package/src/subsystems/LLMManager/LLM.service/connectors/openai/apiInterfaces/index.ts +4 -4
  174. package/src/subsystems/LLMManager/LLM.service/connectors/openai/apiInterfaces/utils.ts +11 -11
  175. package/src/subsystems/LLMManager/LLM.service/connectors/openai/types.ts +32 -32
  176. package/src/subsystems/LLMManager/LLM.service/connectors/xAI.class.ts +478 -478
  177. package/src/subsystems/LLMManager/LLM.service/index.ts +47 -47
  178. package/src/subsystems/LLMManager/ModelsProvider.service/ModelsProviderConnector.ts +303 -303
  179. package/src/subsystems/LLMManager/ModelsProvider.service/connectors/JSONModelsProvider.class.ts +277 -271
  180. package/src/subsystems/LLMManager/ModelsProvider.service/index.ts +11 -11
  181. package/src/subsystems/LLMManager/custom-models.ts +854 -854
  182. package/src/subsystems/LLMManager/models.ts +2540 -2540
  183. package/src/subsystems/LLMManager/paramMappings.ts +69 -69
  184. package/src/subsystems/MemoryManager/Cache.service/CacheConnector.ts +86 -86
  185. package/src/subsystems/MemoryManager/Cache.service/connectors/LocalStorageCache.class.ts +297 -297
  186. package/src/subsystems/MemoryManager/Cache.service/connectors/RAMCache.class.ts +214 -214
  187. package/src/subsystems/MemoryManager/Cache.service/connectors/RedisCache.class.ts +252 -252
  188. package/src/subsystems/MemoryManager/Cache.service/connectors/S3Cache.class.ts +373 -373
  189. package/src/subsystems/MemoryManager/Cache.service/index.ts +15 -15
  190. package/src/subsystems/MemoryManager/LLMCache.ts +72 -72
  191. package/src/subsystems/MemoryManager/LLMContext.ts +124 -124
  192. package/src/subsystems/MemoryManager/LLMMemory.service/LLMMemoryConnector.ts +26 -26
  193. package/src/subsystems/MemoryManager/RuntimeContext.ts +277 -277
  194. package/src/subsystems/Security/AccessControl/ACL.class.ts +208 -208
  195. package/src/subsystems/Security/AccessControl/AccessCandidate.class.ts +82 -82
  196. package/src/subsystems/Security/AccessControl/AccessRequest.class.ts +52 -52
  197. package/src/subsystems/Security/Account.service/AccountConnector.ts +44 -44
  198. package/src/subsystems/Security/Account.service/connectors/DummyAccount.class.ts +130 -130
  199. package/src/subsystems/Security/Account.service/connectors/JSONFileAccount.class.ts +170 -170
  200. package/src/subsystems/Security/Account.service/connectors/MySQLAccount.class.ts +76 -76
  201. package/src/subsystems/Security/Account.service/index.ts +14 -14
  202. package/src/subsystems/Security/Credentials.helper.ts +62 -62
  203. package/src/subsystems/Security/ManagedVault.service/ManagedVaultConnector.ts +38 -38
  204. package/src/subsystems/Security/ManagedVault.service/connectors/NullManagedVault.class.ts +53 -53
  205. package/src/subsystems/Security/ManagedVault.service/connectors/SecretManagerManagedVault.ts +154 -154
  206. package/src/subsystems/Security/ManagedVault.service/index.ts +12 -12
  207. package/src/subsystems/Security/SecureConnector.class.ts +110 -110
  208. package/src/subsystems/Security/Vault.service/Vault.helper.ts +30 -30
  209. package/src/subsystems/Security/Vault.service/VaultConnector.ts +29 -29
  210. package/src/subsystems/Security/Vault.service/connectors/HashicorpVault.class.ts +46 -46
  211. package/src/subsystems/Security/Vault.service/connectors/JSONFileVault.class.ts +221 -221
  212. package/src/subsystems/Security/Vault.service/connectors/NullVault.class.ts +54 -54
  213. package/src/subsystems/Security/Vault.service/connectors/SecretsManager.class.ts +140 -140
  214. package/src/subsystems/Security/Vault.service/index.ts +12 -12
  215. package/src/types/ACL.types.ts +104 -104
  216. package/src/types/AWS.types.ts +10 -10
  217. package/src/types/Agent.types.ts +61 -61
  218. package/src/types/AgentLogger.types.ts +17 -17
  219. package/src/types/Cache.types.ts +1 -1
  220. package/src/types/Common.types.ts +2 -2
  221. package/src/types/LLM.types.ts +520 -520
  222. package/src/types/Redis.types.ts +8 -8
  223. package/src/types/SRE.types.ts +64 -64
  224. package/src/types/Security.types.ts +14 -14
  225. package/src/types/Storage.types.ts +5 -5
  226. package/src/types/VectorDB.types.ts +86 -86
  227. package/src/utils/base64.utils.ts +275 -275
  228. package/src/utils/cli.utils.ts +68 -68
  229. package/src/utils/data.utils.ts +322 -322
  230. package/src/utils/date-time.utils.ts +22 -22
  231. package/src/utils/general.utils.ts +238 -238
  232. package/src/utils/index.ts +12 -12
  233. package/src/utils/lazy-client.ts +261 -261
  234. package/src/utils/numbers.utils.ts +13 -13
  235. package/src/utils/oauth.utils.ts +35 -35
  236. package/src/utils/string.utils.ts +414 -414
  237. package/src/utils/url.utils.ts +19 -19
  238. package/src/utils/validation.utils.ts +74 -74
  239. package/dist/types/subsystems/LLMManager/ModelsProvider.service/connectors/SmythModelsProvider.class.d.ts +0 -39
@@ -0,0 +1,187 @@
1
+ import { ACL } from '@sre/Security/AccessControl/ACL.class';
2
+ import { IAccessCandidate } from '@sre/types/ACL.types';
3
+ import { AccessRequest } from '@sre/Security/AccessControl/AccessRequest.class';
4
+ import { VectorDBConnector, DeleteTarget } from '../VectorDBConnector';
5
+ import { DatasourceDto, IStorageVectorDataSource, IVectorDataSourceDto, QueryOptions, VectorsResultData } from '@sre/types/VectorDB.types';
6
+ import { TEmbeddings } from '../embed/BaseEmbedding';
7
+ export type WeaviateConfig = {
8
+ /**
9
+ * The Weaviate instance URL
10
+ */
11
+ url: string;
12
+ /**
13
+ * The Weaviate API key (optional for open source)
14
+ */
15
+ apiKey?: string;
16
+ /**
17
+ * The class name to use for storing vectors
18
+ */
19
+ className?: string;
20
+ /**
21
+ * The embeddings model to use
22
+ */
23
+ embeddings: TEmbeddings;
24
+ /**
25
+ * Additional Weaviate client options
26
+ */
27
+ clientOptions?: {
28
+ timeout?: number;
29
+ headers?: Record<string, string>;
30
+ };
31
+ };
32
+ export declare class WeaviateVectorDB extends VectorDBConnector {
33
+ protected _settings: WeaviateConfig;
34
+ name: string;
35
+ id: string;
36
+ private client;
37
+ private className;
38
+ private cache;
39
+ private accountConnector;
40
+ private nkvConnector;
41
+ embedder: any;
42
+ constructor(_settings: WeaviateConfig);
43
+ /**
44
+ * @async
45
+ * @method getResourceACL
46
+ * @description Gets the ACL for a specific resource in Weaviate
47
+ * @param {string} resourceId - The resource identifier
48
+ * @param {IAccessCandidate} candidate - The access candidate
49
+ * @returns {Promise<ACL>} The ACL for the resource
50
+ * @throws {Error} If there's an error retrieving the ACL
51
+ */
52
+ getResourceACL(resourceId: string, candidate: IAccessCandidate): Promise<ACL>;
53
+ /**
54
+ * @async
55
+ * @method getACL
56
+ * @description Gets the ACL for a specific namespace in Weaviate
57
+ * @param {AccessCandidate} candidate - The access candidate
58
+ * @param {string} preparedNs - The prepared namespace name
59
+ * @returns {Promise<IACL | null>} The ACL for the namespace or null if not found
60
+ * @throws {Error} If there's an error retrieving the ACL
61
+ */
62
+ private getACL;
63
+ /**
64
+ * @async
65
+ * @method createNamespace
66
+ * @description Creates a namespace in Weaviate by creating a class
67
+ * @param {AccessRequest} acRequest - The access request
68
+ * @param {string} namespace - The namespace name
69
+ * @param {object} metadata - Optional metadata
70
+ * @returns {Promise<void>}
71
+ * @throws {Error} If there's an error creating the namespace
72
+ */
73
+ protected createNamespace(acRequest: AccessRequest, namespace: string, metadata?: {
74
+ [key: string]: any;
75
+ }): Promise<void>;
76
+ /**
77
+ * @async
78
+ * @method deleteNamespace
79
+ * @description Deletes a namespace by removing the class
80
+ * @param {AccessRequest} acRequest - The access request
81
+ * @param {string} namespace - The namespace name
82
+ * @returns {Promise<void>}
83
+ * @throws {Error} If there's an error deleting the namespace
84
+ */
85
+ protected deleteNamespace(acRequest: AccessRequest, namespace: string): Promise<void>;
86
+ /**
87
+ * @async
88
+ * @method namespaceExists
89
+ * @description Checks if a namespace exists in Weaviate
90
+ * @param {AccessRequest} acRequest - The access request
91
+ * @param {string} namespace - The namespace name
92
+ * @returns {Promise<boolean>} True if namespace exists
93
+ * @throws {Error} If there's an error checking namespace existence
94
+ */
95
+ protected namespaceExists(acRequest: AccessRequest, namespace: string): Promise<boolean>;
96
+ /**
97
+ * @async
98
+ * @method search
99
+ * @description Performs vector search in Weaviate
100
+ * @param {AccessRequest} acRequest - The access request
101
+ * @param {string} namespace - The namespace to search in
102
+ * @param {string | number[]} query - The search query (text or vector)
103
+ * @param {QueryOptions} options - Search options
104
+ * @returns {Promise<VectorsResultData>} Search results
105
+ * @throws {Error} If there's an error performing the search
106
+ */
107
+ protected search(acRequest: AccessRequest, namespace: string, query: string | number[], options: QueryOptions): Promise<VectorsResultData>;
108
+ /**
109
+ * @async
110
+ * @method insert
111
+ * @description Inserts vectors into Weaviate
112
+ * @param {AccessRequest} acRequest - The access request
113
+ * @param {string} namespace - The namespace to insert into
114
+ * @param {IVectorDataSourceDto | IVectorDataSourceDto[]} source - The data to insert
115
+ * @returns {Promise<string[]>} Array of inserted IDs
116
+ * @throws {Error} If there's an error inserting data
117
+ */
118
+ protected insert(acRequest: AccessRequest, namespace: string, source: IVectorDataSourceDto | IVectorDataSourceDto[]): Promise<string[]>;
119
+ /**
120
+ * @async
121
+ * @method delete
122
+ * @description Deletes vectors from Weaviate
123
+ * @param {AccessRequest} acRequest - The access request
124
+ * @param {string} namespace - The namespace to delete from
125
+ * @param {DeleteTarget} deleteTarget - What to delete
126
+ * @returns {Promise<void>}
127
+ * @throws {Error} If there's an error deleting data
128
+ */
129
+ protected delete(acRequest: AccessRequest, namespace: string, deleteTarget: DeleteTarget): Promise<void>;
130
+ /**
131
+ * @async
132
+ * @method createDatasource
133
+ * @description Creates a datasource in Weaviate
134
+ * @param {AccessRequest} acRequest - The access request
135
+ * @param {string} namespace - The namespace
136
+ * @param {DatasourceDto} datasource - The datasource data
137
+ * @returns {Promise<IStorageVectorDataSource>} The created datasource
138
+ * @throws {Error} If there's an error creating the datasource
139
+ */
140
+ protected createDatasource(acRequest: AccessRequest, namespace: string, datasource: DatasourceDto): Promise<IStorageVectorDataSource>;
141
+ /**
142
+ * @async
143
+ * @method deleteDatasource
144
+ * @description Deletes a datasource from Weaviate
145
+ * @param {AccessRequest} acRequest - The access request
146
+ * @param {string} namespace - The namespace
147
+ * @param {string} datasourceId - The datasource ID
148
+ * @returns {Promise<void>}
149
+ * @throws {Error} If there's an error deleting the datasource
150
+ */
151
+ protected deleteDatasource(acRequest: AccessRequest, namespace: string, datasourceId: string): Promise<void>;
152
+ /**
153
+ * @async
154
+ * @method listDatasources
155
+ * @description Lists all datasources in a namespace
156
+ * @param {AccessRequest} acRequest - The access request
157
+ * @param {string} namespace - The namespace
158
+ * @returns {Promise<IStorageVectorDataSource[]>} Array of datasources
159
+ * @throws {Error} If there's an error listing datasources
160
+ */
161
+ protected listDatasources(acRequest: AccessRequest, namespace: string): Promise<IStorageVectorDataSource[]>;
162
+ /**
163
+ * @async
164
+ * @method getDatasource
165
+ * @description Gets a specific datasource
166
+ * @param {AccessRequest} acRequest - The access request
167
+ * @param {string} namespace - The namespace
168
+ * @param {string} datasourceId - The datasource ID
169
+ * @returns {Promise<IStorageVectorDataSource | undefined>} The datasource or undefined
170
+ * @throws {Error} If there's an error getting the datasource
171
+ */
172
+ protected getDatasource(acRequest: AccessRequest, namespace: string, datasourceId: string): Promise<IStorageVectorDataSource | undefined>;
173
+ /**
174
+ * @method buildWhereClause
175
+ * @description Builds a Weaviate where clause from filter options
176
+ * @param {any} filter - The filter object
177
+ * @returns {object} Weaviate where clause
178
+ */
179
+ private buildWhereClause;
180
+ /**
181
+ * @async
182
+ * @method stop
183
+ * @description Stops the Weaviate connector
184
+ * @returns {Promise<void>}
185
+ */
186
+ stop(): Promise<void>;
187
+ }
@@ -0,0 +1,102 @@
1
+ import { SecureConnector } from '@sre/Security/SecureConnector.class';
2
+ import { IAccessCandidate } from '@sre/types/ACL.types';
3
+ import { ACL } from '@sre/Security/AccessControl/ACL.class';
4
+ import { AccessCandidate } from '@sre/Security/AccessControl/AccessCandidate.class';
5
+ import { AccessRequest } from '@sre/Security/AccessControl/AccessRequest.class';
6
+ import { AIComponentMetrics, AIAgentPerformanceReport, AIPerformanceEvent, AIPerformanceConfig, MetricWindow, ComponentBaseline, ExternalMonitoringExport } from '@sre/types/Performance.types';
7
+ /**
8
+ * Performance request interface for secure access
9
+ */
10
+ export interface IPerformanceRequest {
11
+ /** Store performance metrics for an agent */
12
+ storeMetrics(metrics: AIComponentMetrics[]): Promise<void>;
13
+ /** Retrieve metrics within a time window */
14
+ getMetrics(timeWindow?: MetricWindow): Promise<AIComponentMetrics[]>;
15
+ /** Generate comprehensive performance report */
16
+ generateReport(): Promise<AIAgentPerformanceReport>;
17
+ /** Clear stored metrics */
18
+ clearMetrics(): Promise<void>;
19
+ /** Get real-time performance events */
20
+ getEvents(since?: number): Promise<AIPerformanceEvent[]>;
21
+ /** Update performance monitoring configuration */
22
+ updateConfig(config: Partial<AIPerformanceConfig>): Promise<void>;
23
+ /** Export metrics in various formats */
24
+ exportMetrics(format: 'json' | 'prometheus' | 'csv'): Promise<string>;
25
+ /** Get component performance baselines */
26
+ getBaselines(): Promise<ComponentBaseline[]>;
27
+ /** Establish baseline for specific component */
28
+ establishBaseline(componentName: string): Promise<ComponentBaseline>;
29
+ }
30
+ /**
31
+ * Abstract base class for performance connectors
32
+ */
33
+ export declare abstract class PerformanceConnector extends SecureConnector {
34
+ abstract id: string;
35
+ /**
36
+ * Get ACL for performance resources
37
+ */
38
+ abstract getResourceACL(resourceId: string, candidate: IAccessCandidate): Promise<ACL>;
39
+ /**
40
+ * Create secure requester interface scoped to access candidate
41
+ */
42
+ requester(candidate: AccessCandidate): IPerformanceRequest;
43
+ /**
44
+ * Store performance metrics with access control
45
+ */
46
+ protected abstract storeMetrics(accessRequest: AccessRequest, metrics: AIComponentMetrics[]): Promise<void>;
47
+ /**
48
+ * Retrieve metrics with time window filtering
49
+ */
50
+ protected abstract getMetrics(accessRequest: AccessRequest, timeWindow?: MetricWindow): Promise<AIComponentMetrics[]>;
51
+ /**
52
+ * Generate comprehensive performance report
53
+ */
54
+ protected abstract generateReport(accessRequest: AccessRequest): Promise<AIAgentPerformanceReport>;
55
+ /**
56
+ * Clear stored metrics
57
+ */
58
+ protected abstract clearMetrics(accessRequest: AccessRequest): Promise<void>;
59
+ /**
60
+ * Get performance events
61
+ */
62
+ protected abstract getEvents(accessRequest: AccessRequest, since?: number): Promise<AIPerformanceEvent[]>;
63
+ /**
64
+ * Update monitoring configuration
65
+ */
66
+ protected abstract updateConfig(accessRequest: AccessRequest, config: Partial<AIPerformanceConfig>): Promise<void>;
67
+ /**
68
+ * Export metrics in various formats
69
+ */
70
+ protected abstract exportMetrics(accessRequest: AccessRequest, format: 'json' | 'prometheus' | 'csv'): Promise<string>;
71
+ /**
72
+ * Get component baselines
73
+ */
74
+ protected abstract getBaselines(accessRequest: AccessRequest): Promise<ComponentBaseline[]>;
75
+ /**
76
+ * Establish baseline for component
77
+ */
78
+ protected abstract establishBaseline(accessRequest: AccessRequest, componentName: string): Promise<ComponentBaseline>;
79
+ /**
80
+ * Export to external monitoring systems
81
+ */
82
+ protected exportToExternal(accessRequest: AccessRequest, exportConfig: ExternalMonitoringExport): Promise<void>;
83
+ /**
84
+ * Perform health check on the connector
85
+ */
86
+ healthCheck(): Promise<{
87
+ status: 'healthy' | 'degraded' | 'unhealthy';
88
+ details: Record<string, any>;
89
+ }>;
90
+ /**
91
+ * Get connector statistics
92
+ */
93
+ getStats(): Promise<{
94
+ totalMetrics: number;
95
+ agentCount: number;
96
+ timeRange: {
97
+ start: number;
98
+ end: number;
99
+ };
100
+ storageSize: number;
101
+ }>;
102
+ }
@@ -0,0 +1,100 @@
1
+ import { PerformanceConnector, IPerformanceRequest } from '../PerformanceConnector';
2
+ import { AIComponentMetrics, AIAgentPerformanceReport, AIPerformanceEvent, AIPerformanceConfig, MetricWindow, ComponentBaseline } from '@sre/types/Performance.types';
3
+ import { AccessRequest } from '@sre/Security/AccessControl/AccessRequest.class';
4
+ import { AccessCandidate } from '@sre/Security/AccessControl/AccessCandidate.class';
5
+ import { ACL } from '@sre/Security/AccessControl/ACL.class';
6
+ import { IAccessCandidate } from '@sre/types/ACL.types';
7
+ /**
8
+ * Local Performance Connector Implementation
9
+ */
10
+ export declare class LocalPerformanceConnector extends PerformanceConnector {
11
+ name: string;
12
+ id: string;
13
+ private metricsIndex;
14
+ private config;
15
+ private analyzer;
16
+ private collector;
17
+ private logger;
18
+ private dataDir;
19
+ private isInitialized;
20
+ constructor(settings?: any);
21
+ /**
22
+ * Initialize the connector
23
+ */
24
+ start(): Promise<void>;
25
+ /**
26
+ * Shutdown the connector
27
+ */
28
+ stop(): Promise<void>;
29
+ /**
30
+ * Get resource ACL
31
+ */
32
+ getResourceACL(resourceId: string, candidate: IAccessCandidate): Promise<ACL>;
33
+ /**
34
+ * Override requester method to implement proper access control
35
+ * Create secure requester interface scoped to access candidate
36
+ */
37
+ requester(candidate: AccessCandidate): IPerformanceRequest;
38
+ /**
39
+ * Store performance metrics
40
+ */
41
+ protected storeMetrics(accessRequest: AccessRequest, metrics: AIComponentMetrics[]): Promise<void>;
42
+ /**
43
+ * Retrieve metrics with filtering
44
+ */
45
+ protected getMetrics(accessRequest: AccessRequest, timeWindow?: MetricWindow): Promise<AIComponentMetrics[]>;
46
+ /**
47
+ * Generate comprehensive performance report
48
+ */
49
+ protected generateReport(accessRequest: AccessRequest): Promise<AIAgentPerformanceReport>;
50
+ /**
51
+ * Clear stored metrics
52
+ */
53
+ protected clearMetrics(accessRequest: AccessRequest): Promise<void>;
54
+ /**
55
+ * Get performance events
56
+ */
57
+ protected getEvents(accessRequest: AccessRequest, since?: number): Promise<AIPerformanceEvent[]>;
58
+ /**
59
+ * Update monitoring configuration
60
+ */
61
+ protected updateConfig(accessRequest: AccessRequest, config: Partial<AIPerformanceConfig>): Promise<void>;
62
+ /**
63
+ * Export metrics in various formats
64
+ */
65
+ protected exportMetrics(accessRequest: AccessRequest, format: 'json' | 'prometheus' | 'csv'): Promise<string>;
66
+ /**
67
+ * Get component baselines
68
+ */
69
+ protected getBaselines(accessRequest: AccessRequest): Promise<ComponentBaseline[]>;
70
+ /**
71
+ * Establish baseline for component
72
+ */
73
+ protected establishBaseline(accessRequest: AccessRequest, componentName: string): Promise<ComponentBaseline>;
74
+ /**
75
+ * Get connector statistics
76
+ */
77
+ getStats(): Promise<{
78
+ totalMetrics: number;
79
+ agentCount: number;
80
+ timeRange: {
81
+ start: number;
82
+ end: number;
83
+ };
84
+ storageSize: number;
85
+ }>;
86
+ private addToIndex;
87
+ private enforceSizeLimits;
88
+ private checkRealTimeBottleneck;
89
+ private setupEventListeners;
90
+ private loadPersistedData;
91
+ private setupPersistence;
92
+ private persistData;
93
+ private aggregateMetrics;
94
+ private aggregate;
95
+ private percentile;
96
+ private mean;
97
+ private formatPrometheusMetrics;
98
+ private formatCSVMetrics;
99
+ private estimateStorageSize;
100
+ }
@@ -0,0 +1,22 @@
1
+ import { ConnectorServiceProvider } from '../../../Core/ConnectorsService';
2
+ /**
3
+ * Performance Service Provider
4
+ */
5
+ export declare class PerformanceService extends ConnectorServiceProvider {
6
+ private logger;
7
+ /**
8
+ * Register all available performance connectors
9
+ */
10
+ register(): void;
11
+ /**
12
+ * Initialize performance service
13
+ */
14
+ init(): void;
15
+ /**
16
+ * Auto-configure performance monitoring based on environment
17
+ */
18
+ private autoConfigurePerformanceMonitoring;
19
+ }
20
+ export { LocalPerformanceConnector } from './connectors/LocalPerformanceConnector.class';
21
+ export { PerformanceConnector } from './PerformanceConnector';
22
+ export type { IPerformanceRequest } from './PerformanceConnector';
@@ -0,0 +1,2 @@
1
+ export declare class Credentials {
2
+ }
@@ -0,0 +1,18 @@
1
+ import { Credentials } from './Credentials.class';
2
+ import { AccessCandidate } from '../AccessControl/AccessCandidate.class';
3
+ export declare class ManagedOAuth2Credentials extends Credentials {
4
+ #private;
5
+ get accessToken(): string;
6
+ get refreshToken(): string;
7
+ get expiresIn(): number;
8
+ get scope(): string;
9
+ get tokenUrl(): string;
10
+ get service(): string;
11
+ private constructor();
12
+ static load(keyId: string, candidate: AccessCandidate): Promise<ManagedOAuth2Credentials>;
13
+ private parseData;
14
+ /**
15
+ * Get a fresh access token using the refresh token
16
+ */
17
+ refreshAccessToken(): Promise<string>;
18
+ }
@@ -0,0 +1,14 @@
1
+ import { Credentials } from './Credentials.class';
2
+ import { AccessCandidate } from '../AccessControl/AccessCandidate.class';
3
+ export declare class OAuth2Credentials extends Credentials {
4
+ #private;
5
+ accessToken: string;
6
+ refreshToken: string;
7
+ expiresIn: number;
8
+ scope: string;
9
+ tokenUrl: string;
10
+ service: string;
11
+ constructor(data: any);
12
+ static fromManagedVault(keyId: string, candidate: AccessCandidate): Promise<OAuth2Credentials>;
13
+ private parseData;
14
+ }