@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.
- package/CHANGELOG +111 -111
- package/LICENSE +18 -18
- package/README.md +135 -135
- package/dist/bundle-analysis-lazy.html +4949 -0
- package/dist/bundle-analysis.html +4949 -0
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/types/Components/Triggers/Gmail.trigger.d.ts +58 -0
- package/dist/types/Components/Triggers/GmailTrigger.class.d.ts +44 -0
- package/dist/types/Components/Triggers/Trigger.class.d.ts +21 -0
- package/dist/types/Components/Triggers/WhatsApp.trigger.d.ts +22 -0
- package/dist/types/helpers/AIPerformanceAnalyzer.helper.d.ts +45 -0
- package/dist/types/helpers/AIPerformanceCollector.helper.d.ts +111 -0
- package/dist/types/subsystems/IO/Storage.service/connectors/AzureBlobStorage.class.d.ts +211 -0
- package/dist/types/subsystems/IO/VectorDB.service/connectors/WeaviateVectorDB.class.d.ts +187 -0
- package/dist/types/subsystems/PerformanceManager/Performance.service/PerformanceConnector.d.ts +102 -0
- package/dist/types/subsystems/PerformanceManager/Performance.service/connectors/LocalPerformanceConnector.class.d.ts +100 -0
- package/dist/types/subsystems/PerformanceManager/Performance.service/index.d.ts +22 -0
- package/dist/types/subsystems/Security/Credentials/Credentials.class.d.ts +2 -0
- package/dist/types/subsystems/Security/Credentials/ManagedOAuth2Credentials.class.d.ts +18 -0
- package/dist/types/subsystems/Security/Credentials/OAuth2Credentials.class.d.ts +14 -0
- package/dist/types/types/Performance.types.d.ts +468 -0
- package/dist/types/utils/package-manager.utils.d.ts +26 -0
- package/package.json +1 -1
- package/src/Components/APICall/APICall.class.ts +161 -161
- package/src/Components/APICall/AccessTokenManager.ts +166 -166
- package/src/Components/APICall/ArrayBufferResponse.helper.ts +58 -58
- package/src/Components/APICall/OAuth.helper.ts +447 -447
- package/src/Components/APICall/mimeTypeCategories.ts +46 -46
- package/src/Components/APICall/parseData.ts +167 -167
- package/src/Components/APICall/parseHeaders.ts +41 -41
- package/src/Components/APICall/parseProxy.ts +68 -68
- package/src/Components/APICall/parseUrl.ts +91 -91
- package/src/Components/APIEndpoint.class.ts +234 -234
- package/src/Components/APIOutput.class.ts +58 -58
- package/src/Components/AgentPlugin.class.ts +102 -102
- package/src/Components/Async.class.ts +155 -155
- package/src/Components/Await.class.ts +90 -90
- package/src/Components/Classifier.class.ts +158 -158
- package/src/Components/Component.class.ts +147 -147
- package/src/Components/ComponentHost.class.ts +38 -38
- package/src/Components/DataSourceCleaner.class.ts +92 -92
- package/src/Components/DataSourceIndexer.class.ts +181 -181
- package/src/Components/DataSourceLookup.class.ts +161 -161
- package/src/Components/ECMASandbox.class.ts +72 -72
- package/src/Components/FEncDec.class.ts +29 -29
- package/src/Components/FHash.class.ts +33 -33
- package/src/Components/FSign.class.ts +80 -80
- package/src/Components/FSleep.class.ts +25 -25
- package/src/Components/FTimestamp.class.ts +66 -66
- package/src/Components/FileStore.class.ts +78 -78
- package/src/Components/ForEach.class.ts +97 -97
- package/src/Components/GPTPlugin.class.ts +70 -70
- package/src/Components/GenAILLM.class.ts +586 -586
- package/src/Components/HuggingFace.class.ts +313 -313
- package/src/Components/Image/imageSettings.config.ts +70 -70
- package/src/Components/ImageGenerator.class.ts +483 -483
- package/src/Components/JSONFilter.class.ts +54 -54
- package/src/Components/LLMAssistant.class.ts +213 -213
- package/src/Components/LogicAND.class.ts +28 -28
- package/src/Components/LogicAtLeast.class.ts +85 -85
- package/src/Components/LogicAtMost.class.ts +86 -86
- package/src/Components/LogicOR.class.ts +29 -29
- package/src/Components/LogicXOR.class.ts +34 -34
- package/src/Components/MCPClient.class.ts +137 -137
- package/src/Components/MemoryDeleteKeyVal.class.ts +70 -70
- package/src/Components/MemoryReadKeyVal.class.ts +67 -67
- package/src/Components/MemoryWriteKeyVal.class.ts +62 -62
- package/src/Components/MemoryWriteObject.class.ts +97 -97
- package/src/Components/MultimodalLLM.class.ts +128 -128
- package/src/Components/OpenAPI.class.ts +72 -72
- package/src/Components/PromptGenerator.class.ts +122 -122
- package/src/Components/ScrapflyWebScrape.class.ts +183 -183
- package/src/Components/ServerlessCode.class.ts +123 -123
- package/src/Components/TavilyWebSearch.class.ts +103 -103
- package/src/Components/VisionLLM.class.ts +104 -104
- package/src/Components/ZapierAction.class.ts +127 -127
- package/src/Components/index.ts +97 -97
- package/src/Core/AgentProcess.helper.ts +240 -240
- package/src/Core/Connector.class.ts +123 -123
- package/src/Core/ConnectorsService.ts +197 -197
- package/src/Core/DummyConnector.ts +49 -49
- package/src/Core/HookService.ts +105 -105
- package/src/Core/SmythRuntime.class.ts +241 -241
- package/src/Core/SystemEvents.ts +16 -16
- package/src/Core/boot.ts +56 -56
- package/src/config.ts +15 -15
- package/src/constants.ts +126 -126
- package/src/data/hugging-face.params.json +579 -579
- package/src/helpers/AWSLambdaCode.helper.ts +624 -624
- package/src/helpers/BinaryInput.helper.ts +331 -331
- package/src/helpers/Conversation.helper.ts +1157 -1157
- package/src/helpers/ECMASandbox.helper.ts +64 -64
- package/src/helpers/JsonContent.helper.ts +97 -97
- package/src/helpers/LocalCache.helper.ts +97 -97
- package/src/helpers/Log.helper.ts +274 -274
- package/src/helpers/OpenApiParser.helper.ts +150 -150
- package/src/helpers/S3Cache.helper.ts +147 -147
- package/src/helpers/SmythURI.helper.ts +5 -5
- package/src/helpers/Sysconfig.helper.ts +95 -95
- package/src/helpers/TemplateString.helper.ts +243 -243
- package/src/helpers/TypeChecker.helper.ts +329 -329
- package/src/index.ts +3 -3
- package/src/index.ts.bak +3 -3
- package/src/subsystems/AgentManager/Agent.class.ts +1114 -1114
- package/src/subsystems/AgentManager/Agent.helper.ts +3 -3
- package/src/subsystems/AgentManager/AgentData.service/AgentDataConnector.ts +230 -230
- package/src/subsystems/AgentManager/AgentData.service/connectors/CLIAgentDataConnector.class.ts +66 -66
- package/src/subsystems/AgentManager/AgentData.service/connectors/LocalAgentDataConnector.class.ts +145 -145
- package/src/subsystems/AgentManager/AgentData.service/connectors/NullAgentData.class.ts +39 -39
- package/src/subsystems/AgentManager/AgentData.service/index.ts +18 -18
- package/src/subsystems/AgentManager/AgentLogger.class.ts +301 -301
- package/src/subsystems/AgentManager/AgentRequest.class.ts +51 -51
- package/src/subsystems/AgentManager/AgentRuntime.class.ts +557 -557
- package/src/subsystems/AgentManager/AgentSSE.class.ts +101 -101
- package/src/subsystems/AgentManager/AgentSettings.class.ts +52 -52
- package/src/subsystems/AgentManager/Component.service/ComponentConnector.ts +32 -32
- package/src/subsystems/AgentManager/Component.service/connectors/LocalComponentConnector.class.ts +60 -60
- package/src/subsystems/AgentManager/Component.service/index.ts +11 -11
- package/src/subsystems/AgentManager/EmbodimentSettings.class.ts +47 -47
- package/src/subsystems/AgentManager/ForkedAgent.class.ts +154 -154
- package/src/subsystems/AgentManager/OSResourceMonitor.ts +77 -77
- package/src/subsystems/ComputeManager/Code.service/CodeConnector.ts +98 -98
- package/src/subsystems/ComputeManager/Code.service/connectors/AWSLambdaCode.class.ts +171 -171
- package/src/subsystems/ComputeManager/Code.service/connectors/ECMASandbox.class.ts +131 -131
- package/src/subsystems/ComputeManager/Code.service/index.ts +13 -13
- package/src/subsystems/IO/CLI.service/CLIConnector.ts +47 -47
- package/src/subsystems/IO/CLI.service/index.ts +9 -9
- package/src/subsystems/IO/Log.service/LogConnector.ts +32 -32
- package/src/subsystems/IO/Log.service/connectors/ConsoleLog.class.ts +28 -28
- package/src/subsystems/IO/Log.service/index.ts +13 -13
- package/src/subsystems/IO/NKV.service/NKVConnector.ts +43 -43
- package/src/subsystems/IO/NKV.service/connectors/NKVLocalStorage.class.ts +234 -234
- package/src/subsystems/IO/NKV.service/connectors/NKVRAM.class.ts +204 -204
- package/src/subsystems/IO/NKV.service/connectors/NKVRedis.class.ts +182 -182
- package/src/subsystems/IO/NKV.service/index.ts +14 -14
- package/src/subsystems/IO/Router.service/RouterConnector.ts +21 -21
- package/src/subsystems/IO/Router.service/connectors/ExpressRouter.class.ts +48 -48
- package/src/subsystems/IO/Router.service/connectors/NullRouter.class.ts +40 -40
- package/src/subsystems/IO/Router.service/index.ts +11 -11
- package/src/subsystems/IO/Storage.service/SmythFS.class.ts +488 -488
- package/src/subsystems/IO/Storage.service/StorageConnector.ts +66 -66
- package/src/subsystems/IO/Storage.service/connectors/LocalStorage.class.ts +327 -327
- package/src/subsystems/IO/Storage.service/connectors/S3Storage.class.ts +482 -482
- package/src/subsystems/IO/Storage.service/index.ts +13 -13
- package/src/subsystems/IO/VectorDB.service/VectorDBConnector.ts +108 -108
- package/src/subsystems/IO/VectorDB.service/connectors/MilvusVectorDB.class.ts +465 -465
- package/src/subsystems/IO/VectorDB.service/connectors/PineconeVectorDB.class.ts +387 -387
- package/src/subsystems/IO/VectorDB.service/connectors/RAMVecrtorDB.class.ts +408 -408
- package/src/subsystems/IO/VectorDB.service/embed/BaseEmbedding.ts +107 -107
- package/src/subsystems/IO/VectorDB.service/embed/GoogleEmbedding.ts +118 -118
- package/src/subsystems/IO/VectorDB.service/embed/OpenAIEmbedding.ts +109 -109
- package/src/subsystems/IO/VectorDB.service/embed/index.ts +26 -26
- package/src/subsystems/IO/VectorDB.service/index.ts +14 -14
- package/src/subsystems/LLMManager/LLM.helper.ts +251 -251
- package/src/subsystems/LLMManager/LLM.inference.ts +345 -345
- package/src/subsystems/LLMManager/LLM.service/LLMConnector.ts +492 -492
- package/src/subsystems/LLMManager/LLM.service/LLMCredentials.helper.ts +171 -171
- package/src/subsystems/LLMManager/LLM.service/connectors/Anthropic.class.ts +666 -666
- package/src/subsystems/LLMManager/LLM.service/connectors/Bedrock.class.ts +407 -407
- package/src/subsystems/LLMManager/LLM.service/connectors/Echo.class.ts +92 -92
- package/src/subsystems/LLMManager/LLM.service/connectors/GoogleAI.class.ts +983 -983
- package/src/subsystems/LLMManager/LLM.service/connectors/Groq.class.ts +319 -319
- package/src/subsystems/LLMManager/LLM.service/connectors/Ollama.class.ts +361 -361
- package/src/subsystems/LLMManager/LLM.service/connectors/Perplexity.class.ts +257 -257
- package/src/subsystems/LLMManager/LLM.service/connectors/VertexAI.class.ts +430 -430
- package/src/subsystems/LLMManager/LLM.service/connectors/openai/OpenAIConnector.class.ts +503 -503
- package/src/subsystems/LLMManager/LLM.service/connectors/openai/apiInterfaces/ChatCompletionsApiInterface.ts +524 -524
- package/src/subsystems/LLMManager/LLM.service/connectors/openai/apiInterfaces/OpenAIApiInterface.ts +100 -100
- package/src/subsystems/LLMManager/LLM.service/connectors/openai/apiInterfaces/OpenAIApiInterfaceFactory.ts +81 -81
- package/src/subsystems/LLMManager/LLM.service/connectors/openai/apiInterfaces/ResponsesApiInterface.ts +1145 -1145
- package/src/subsystems/LLMManager/LLM.service/connectors/openai/apiInterfaces/constants.ts +13 -13
- package/src/subsystems/LLMManager/LLM.service/connectors/openai/apiInterfaces/index.ts +4 -4
- package/src/subsystems/LLMManager/LLM.service/connectors/openai/apiInterfaces/utils.ts +11 -11
- package/src/subsystems/LLMManager/LLM.service/connectors/openai/types.ts +32 -32
- package/src/subsystems/LLMManager/LLM.service/connectors/xAI.class.ts +478 -478
- package/src/subsystems/LLMManager/LLM.service/index.ts +47 -47
- package/src/subsystems/LLMManager/ModelsProvider.service/ModelsProviderConnector.ts +303 -303
- package/src/subsystems/LLMManager/ModelsProvider.service/connectors/JSONModelsProvider.class.ts +277 -271
- package/src/subsystems/LLMManager/ModelsProvider.service/index.ts +11 -11
- package/src/subsystems/LLMManager/custom-models.ts +854 -854
- package/src/subsystems/LLMManager/models.ts +2540 -2540
- package/src/subsystems/LLMManager/paramMappings.ts +69 -69
- package/src/subsystems/MemoryManager/Cache.service/CacheConnector.ts +86 -86
- package/src/subsystems/MemoryManager/Cache.service/connectors/LocalStorageCache.class.ts +297 -297
- package/src/subsystems/MemoryManager/Cache.service/connectors/RAMCache.class.ts +214 -214
- package/src/subsystems/MemoryManager/Cache.service/connectors/RedisCache.class.ts +252 -252
- package/src/subsystems/MemoryManager/Cache.service/connectors/S3Cache.class.ts +373 -373
- package/src/subsystems/MemoryManager/Cache.service/index.ts +15 -15
- package/src/subsystems/MemoryManager/LLMCache.ts +72 -72
- package/src/subsystems/MemoryManager/LLMContext.ts +124 -124
- package/src/subsystems/MemoryManager/LLMMemory.service/LLMMemoryConnector.ts +26 -26
- package/src/subsystems/MemoryManager/RuntimeContext.ts +277 -277
- package/src/subsystems/Security/AccessControl/ACL.class.ts +208 -208
- package/src/subsystems/Security/AccessControl/AccessCandidate.class.ts +82 -82
- package/src/subsystems/Security/AccessControl/AccessRequest.class.ts +52 -52
- package/src/subsystems/Security/Account.service/AccountConnector.ts +44 -44
- package/src/subsystems/Security/Account.service/connectors/DummyAccount.class.ts +130 -130
- package/src/subsystems/Security/Account.service/connectors/JSONFileAccount.class.ts +170 -170
- package/src/subsystems/Security/Account.service/connectors/MySQLAccount.class.ts +76 -76
- package/src/subsystems/Security/Account.service/index.ts +14 -14
- package/src/subsystems/Security/Credentials.helper.ts +62 -62
- package/src/subsystems/Security/ManagedVault.service/ManagedVaultConnector.ts +38 -38
- package/src/subsystems/Security/ManagedVault.service/connectors/NullManagedVault.class.ts +53 -53
- package/src/subsystems/Security/ManagedVault.service/connectors/SecretManagerManagedVault.ts +154 -154
- package/src/subsystems/Security/ManagedVault.service/index.ts +12 -12
- package/src/subsystems/Security/SecureConnector.class.ts +110 -110
- package/src/subsystems/Security/Vault.service/Vault.helper.ts +30 -30
- package/src/subsystems/Security/Vault.service/VaultConnector.ts +29 -29
- package/src/subsystems/Security/Vault.service/connectors/HashicorpVault.class.ts +46 -46
- package/src/subsystems/Security/Vault.service/connectors/JSONFileVault.class.ts +221 -221
- package/src/subsystems/Security/Vault.service/connectors/NullVault.class.ts +54 -54
- package/src/subsystems/Security/Vault.service/connectors/SecretsManager.class.ts +140 -140
- package/src/subsystems/Security/Vault.service/index.ts +12 -12
- package/src/types/ACL.types.ts +104 -104
- package/src/types/AWS.types.ts +10 -10
- package/src/types/Agent.types.ts +61 -61
- package/src/types/AgentLogger.types.ts +17 -17
- package/src/types/Cache.types.ts +1 -1
- package/src/types/Common.types.ts +2 -2
- package/src/types/LLM.types.ts +520 -520
- package/src/types/Redis.types.ts +8 -8
- package/src/types/SRE.types.ts +64 -64
- package/src/types/Security.types.ts +14 -14
- package/src/types/Storage.types.ts +5 -5
- package/src/types/VectorDB.types.ts +86 -86
- package/src/utils/base64.utils.ts +275 -275
- package/src/utils/cli.utils.ts +68 -68
- package/src/utils/data.utils.ts +322 -322
- package/src/utils/date-time.utils.ts +22 -22
- package/src/utils/general.utils.ts +238 -238
- package/src/utils/index.ts +12 -12
- package/src/utils/lazy-client.ts +261 -261
- package/src/utils/numbers.utils.ts +13 -13
- package/src/utils/oauth.utils.ts +35 -35
- package/src/utils/string.utils.ts +414 -414
- package/src/utils/url.utils.ts +19 -19
- package/src/utils/validation.utils.ts +74 -74
- 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
|
+
}
|
package/dist/types/subsystems/PerformanceManager/Performance.service/PerformanceConnector.d.ts
ADDED
|
@@ -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,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
|
+
}
|