@smythos/sre 1.6.1 → 1.6.8
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/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/types/subsystems/LLMManager/ModelsProvider.service/connectors/SmythModelsProvider.class.d.ts +39 -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 -599
- 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 +198 -198
- package/src/index.ts.bak +198 -198
- 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 -172
- 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 +271 -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/bundle-analysis-lazy.html +0 -4949
- package/dist/bundle-analysis.html +0 -4949
- package/dist/types/Components/Triggers/GmailTrigger.class.d.ts +0 -13
- package/dist/types/Components/Triggers/Trigger.class.d.ts +0 -3
- package/dist/types/helpers/AIPerformanceAnalyzer.helper.d.ts +0 -45
- package/dist/types/helpers/AIPerformanceCollector.helper.d.ts +0 -111
- package/dist/types/subsystems/IO/Storage.service/connectors/AzureBlobStorage.class.d.ts +0 -211
- package/dist/types/subsystems/IO/VectorDB.service/connectors/WeaviateVectorDB.class.d.ts +0 -187
- package/dist/types/subsystems/PerformanceManager/Performance.service/PerformanceConnector.d.ts +0 -102
- package/dist/types/subsystems/PerformanceManager/Performance.service/connectors/LocalPerformanceConnector.class.d.ts +0 -100
- package/dist/types/subsystems/PerformanceManager/Performance.service/index.d.ts +0 -22
- package/dist/types/types/Performance.types.d.ts +0 -468
- package/dist/types/utils/package-manager.utils.d.ts +0 -26
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { IAgent as Agent } from '@sre/types/Agent.types';
|
|
2
|
-
import { Trigger } from './Trigger.class';
|
|
3
|
-
export declare class GmailTrigger extends Trigger {
|
|
4
|
-
init(): void;
|
|
5
|
-
process(input: any, config: any, agent: Agent): Promise<{
|
|
6
|
-
Payload: {};
|
|
7
|
-
Result: any;
|
|
8
|
-
_temp_result: any;
|
|
9
|
-
_error: any;
|
|
10
|
-
_in_progress: boolean;
|
|
11
|
-
_debug: string;
|
|
12
|
-
}>;
|
|
13
|
-
}
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
import { AIComponentMetrics, AIAgentPerformanceReport, AIPerformanceBottleneck } from '@sre/types/Performance.types';
|
|
2
|
-
/**
|
|
3
|
-
* Advanced AI Performance Analyzer
|
|
4
|
-
*/
|
|
5
|
-
export declare class AIPerformanceAnalyzer {
|
|
6
|
-
private behaviorAnalyzer;
|
|
7
|
-
private logger;
|
|
8
|
-
/**
|
|
9
|
-
* Generate comprehensive AI agent performance report
|
|
10
|
-
*/
|
|
11
|
-
analyzeAgentPerformance(agentId: string, agentName: string, metrics: AIComponentMetrics[], timeWindow?: {
|
|
12
|
-
start: number;
|
|
13
|
-
end: number;
|
|
14
|
-
}): Promise<AIAgentPerformanceReport>;
|
|
15
|
-
/**
|
|
16
|
-
* Real-time bottleneck detection
|
|
17
|
-
*/
|
|
18
|
-
detectRealTimeBottleneck(metric: AIComponentMetrics): Promise<AIPerformanceBottleneck | null>;
|
|
19
|
-
private calculateSummaryStats;
|
|
20
|
-
private analyzeComponentPerformance;
|
|
21
|
-
private detectBottlenecks;
|
|
22
|
-
private generateOptimizationRecommendations;
|
|
23
|
-
private analyzeAISpecificPatterns;
|
|
24
|
-
private analyzeTrends;
|
|
25
|
-
private calculatePerformanceGrade;
|
|
26
|
-
private findCriticalPath;
|
|
27
|
-
private findParallelizationOpportunities;
|
|
28
|
-
private classifyBottleneckType;
|
|
29
|
-
private generateBottleneckDescription;
|
|
30
|
-
private identifyRootCause;
|
|
31
|
-
private calculatePerformanceImpact;
|
|
32
|
-
private generateFixSuggestion;
|
|
33
|
-
private assessImplementationComplexity;
|
|
34
|
-
private estimateResolutionTime;
|
|
35
|
-
private estimatePerformanceGain;
|
|
36
|
-
private estimateCostReduction;
|
|
37
|
-
private getPrerequisites;
|
|
38
|
-
private analyzeComponentSequences;
|
|
39
|
-
private findDuplicatePrompts;
|
|
40
|
-
private findModelDowngradeOpportunities;
|
|
41
|
-
private findCachingOpportunities;
|
|
42
|
-
private findBatchingOpportunities;
|
|
43
|
-
private calculateDataFlowEfficiency;
|
|
44
|
-
private calculateInformationLossRate;
|
|
45
|
-
}
|
|
@@ -1,111 +0,0 @@
|
|
|
1
|
-
import { AIComponentMetrics, AIPerformanceConfig, MetricWindow } from '@sre/types/Performance.types';
|
|
2
|
-
import { EventEmitter } from 'events';
|
|
3
|
-
/**
|
|
4
|
-
* Zero-overhead performance timer with AI-specific tracking
|
|
5
|
-
*/
|
|
6
|
-
export declare class AIPerformanceTimer {
|
|
7
|
-
private componentName;
|
|
8
|
-
private agentId;
|
|
9
|
-
private configHash;
|
|
10
|
-
private startTime;
|
|
11
|
-
private startMemory;
|
|
12
|
-
private checkpoints;
|
|
13
|
-
private llmMetrics;
|
|
14
|
-
constructor(componentName: string, agentId: string, configHash: string);
|
|
15
|
-
/**
|
|
16
|
-
* Add checkpoint for detailed timing analysis
|
|
17
|
-
*/
|
|
18
|
-
checkpoint(name: string): void;
|
|
19
|
-
/**
|
|
20
|
-
* Track LLM-specific metrics
|
|
21
|
-
*/
|
|
22
|
-
trackLLM(llmData: {
|
|
23
|
-
model: string;
|
|
24
|
-
promptTokens: number;
|
|
25
|
-
completionTokens: number;
|
|
26
|
-
estimatedCost: number;
|
|
27
|
-
contextUtilization?: number;
|
|
28
|
-
qualityScore?: number;
|
|
29
|
-
}): void;
|
|
30
|
-
/**
|
|
31
|
-
* Complete timing and generate comprehensive metrics
|
|
32
|
-
*/
|
|
33
|
-
finish(inputData?: any, outputData?: any, success?: boolean, errorType?: string, retryCount?: number): AIComponentMetrics;
|
|
34
|
-
private calculateDataSize;
|
|
35
|
-
private calculateComplexityScore;
|
|
36
|
-
private getObjectComplexity;
|
|
37
|
-
private calculateMemoryPressure;
|
|
38
|
-
private estimateCPUUsage;
|
|
39
|
-
}
|
|
40
|
-
/**
|
|
41
|
-
* Main AI Performance Collector - Enterprise-grade monitoring system
|
|
42
|
-
*/
|
|
43
|
-
export declare class AIPerformanceCollector extends EventEmitter {
|
|
44
|
-
private static instance;
|
|
45
|
-
private metricsBuffer;
|
|
46
|
-
private config;
|
|
47
|
-
private logger;
|
|
48
|
-
private activeTimers;
|
|
49
|
-
private eventSequence;
|
|
50
|
-
private batchBuffer;
|
|
51
|
-
private flushTimer?;
|
|
52
|
-
private constructor();
|
|
53
|
-
/**
|
|
54
|
-
* Get singleton instance with configuration
|
|
55
|
-
*/
|
|
56
|
-
static getInstance(config?: AIPerformanceConfig): AIPerformanceCollector;
|
|
57
|
-
/**
|
|
58
|
-
* Start monitoring a component execution
|
|
59
|
-
*/
|
|
60
|
-
startComponentExecution(componentName: string, agentId: string, config?: any): AIPerformanceTimer | null;
|
|
61
|
-
/**
|
|
62
|
-
* Record completed component execution
|
|
63
|
-
*/
|
|
64
|
-
recordMetrics(agentId: string, metrics: AIComponentMetrics): void;
|
|
65
|
-
/**
|
|
66
|
-
* Get metrics for specific agent within time window
|
|
67
|
-
*/
|
|
68
|
-
getAgentMetrics(agentId: string, window?: MetricWindow): AIComponentMetrics[];
|
|
69
|
-
/**
|
|
70
|
-
* Get aggregated metrics across all agents
|
|
71
|
-
*/
|
|
72
|
-
getGlobalMetrics(window?: MetricWindow): AIComponentMetrics[];
|
|
73
|
-
/**
|
|
74
|
-
* Clear metrics for specific agent
|
|
75
|
-
*/
|
|
76
|
-
clearAgentMetrics(agentId: string): void;
|
|
77
|
-
/**
|
|
78
|
-
* Get current system statistics
|
|
79
|
-
*/
|
|
80
|
-
getSystemStats(): {
|
|
81
|
-
activeTimers: number;
|
|
82
|
-
totalMetrics: number;
|
|
83
|
-
memoryUsage: number;
|
|
84
|
-
eventBufferSize: number;
|
|
85
|
-
};
|
|
86
|
-
/**
|
|
87
|
-
* Update configuration at runtime
|
|
88
|
-
*/
|
|
89
|
-
updateConfig(newConfig: Partial<AIPerformanceConfig>): void;
|
|
90
|
-
/**
|
|
91
|
-
* Export metrics for external monitoring systems
|
|
92
|
-
*/
|
|
93
|
-
exportMetrics(format?: 'json' | 'prometheus' | 'csv'): string;
|
|
94
|
-
private shouldMonitorComponent;
|
|
95
|
-
private shouldSample;
|
|
96
|
-
private generateConfigHash;
|
|
97
|
-
private emitEvent;
|
|
98
|
-
private setupFlushTimer;
|
|
99
|
-
private checkPerformanceThresholds;
|
|
100
|
-
private formatPrometheusMetrics;
|
|
101
|
-
private formatCSVMetrics;
|
|
102
|
-
/**
|
|
103
|
-
* Graceful shutdown
|
|
104
|
-
*/
|
|
105
|
-
private flushBatch;
|
|
106
|
-
shutdown(): Promise<void>;
|
|
107
|
-
}
|
|
108
|
-
/**
|
|
109
|
-
* Default configuration for development
|
|
110
|
-
*/
|
|
111
|
-
export declare const DEFAULT_AI_PERFORMANCE_CONFIG: AIPerformanceConfig;
|
|
@@ -1,211 +0,0 @@
|
|
|
1
|
-
import { StorageConnector } from '@sre/IO/Storage.service/StorageConnector';
|
|
2
|
-
import { ACL } from '@sre/Security/AccessControl/ACL.class';
|
|
3
|
-
import { IAccessCandidate, IACL } from '@sre/types/ACL.types';
|
|
4
|
-
import { StorageData, StorageMetadata } from '@sre/types/Storage.types';
|
|
5
|
-
import { AccessRequest } from '@sre/Security/AccessControl/AccessRequest.class';
|
|
6
|
-
export type AzureBlobConfig = {
|
|
7
|
-
storageAccountName: string;
|
|
8
|
-
storageAccountAccessKey: string;
|
|
9
|
-
blobContainerName: string;
|
|
10
|
-
};
|
|
11
|
-
export declare class AzureBlobStorage extends StorageConnector {
|
|
12
|
-
protected _settings: AzureBlobConfig;
|
|
13
|
-
name: string;
|
|
14
|
-
private blobServiceClient;
|
|
15
|
-
private containerClient;
|
|
16
|
-
private isInitialized;
|
|
17
|
-
private initializationPromise;
|
|
18
|
-
constructor(_settings: AzureBlobConfig);
|
|
19
|
-
private ensureInitialized;
|
|
20
|
-
private initialize;
|
|
21
|
-
/**
|
|
22
|
-
* Reads a blob's content from the Azure Storage container.
|
|
23
|
-
* This method fetches the entire blob content into a Buffer. If the specified
|
|
24
|
-
* blob does not exist, it gracefully returns undefined.
|
|
25
|
-
*
|
|
26
|
-
* @param {AccessRequest} acRequest - The access request object, handled by the @SecureConnector decorator to authorize the operation.
|
|
27
|
-
* @param {string} resourceId - The unique identifier (name) of the blob to be read from the container.
|
|
28
|
-
* @returns {Promise<StorageData | undefined>} A promise that resolves with the blob's content as a Buffer (`StorageData`), or undefined if the blob is not found.
|
|
29
|
-
* @throws Throws an error if any other issue occurs during the download process (e.g., network issues, permissions problems).
|
|
30
|
-
*/
|
|
31
|
-
read(acRequest: AccessRequest, resourceId: string): Promise<StorageData | undefined>;
|
|
32
|
-
/**
|
|
33
|
-
* Writes or overwrites a blob in the Azure Storage container.
|
|
34
|
-
*
|
|
35
|
-
* This method uploads data to a specified blob. It automatically handles the SmythOS
|
|
36
|
-
* Access Control List (ACL) by ensuring the writer is made the owner of the object.
|
|
37
|
-
* Any provided metadata is merged with this ACL and stored with the blob.
|
|
38
|
-
* If a blob with the same `resourceId` already exists, this operation will completely replace its content and metadata.
|
|
39
|
-
*
|
|
40
|
-
* @param {AccessRequest} acRequest - The access request object, handled by the @SecureConnector decorator to authorize the operation.
|
|
41
|
-
* @param {string} resourceId - The unique identifier (name) of the blob to be written or overwritten.
|
|
42
|
-
* @param {StorageData} value - The content to be written to the blob, typically a Buffer.
|
|
43
|
-
* @param {IACL} [acl] - An optional Access Control List to apply to the blob. If not provided, a default ACL is generated.
|
|
44
|
-
* @param {StorageMetadata} [metadata] - Optional key-value metadata to associate with the blob, including properties like `ContentType`.
|
|
45
|
-
* @returns {Promise<void>} A promise that resolves when the upload operation is complete.
|
|
46
|
-
* @throws Throws an error if the upload fails due to network issues, invalid credentials, or other storage-related problems.
|
|
47
|
-
*/
|
|
48
|
-
write(acRequest: AccessRequest, resourceId: string, value: StorageData, acl?: IACL, metadata?: StorageMetadata): Promise<void>;
|
|
49
|
-
/**
|
|
50
|
-
* Deletes a blob from the Azure Storage container.
|
|
51
|
-
*
|
|
52
|
-
* This method permanently removes the specified blob. The operation is idempotent,
|
|
53
|
-
* meaning it will complete successfully without error even if the blob does not
|
|
54
|
-
* already exist. This is useful for ensuring a resource is gone without needing to
|
|
55
|
-
* check for its existence first.
|
|
56
|
-
*
|
|
57
|
-
* @param {AccessRequest} acRequest - The access request object, handled by the @SecureConnector decorator to authorize the operation.
|
|
58
|
-
* @param {string} resourceId - The unique identifier (name) of the blob to be deleted.
|
|
59
|
-
* @returns {Promise<void>} A promise that resolves when the delete operation is complete.
|
|
60
|
-
* @throws Throws an error if the deletion fails for reasons other than the blob not existing (e.g., network issues, permissions problems).
|
|
61
|
-
*/
|
|
62
|
-
delete(acRequest: AccessRequest, resourceId: string): Promise<void>;
|
|
63
|
-
/**
|
|
64
|
-
* Checks for the existence of a blob in the Azure Storage container.
|
|
65
|
-
*
|
|
66
|
-
* This method efficiently verifies if a blob with the specified `resourceId` is
|
|
67
|
-
* present without downloading its content. It's the most performant way to
|
|
68
|
-
* check for a blob's presence before performing other operations.
|
|
69
|
-
*
|
|
70
|
-
* @param {AccessRequest} acRequest - The access request object, handled by the @SecureConnector decorator to authorize the operation.
|
|
71
|
-
* @param {string} resourceId - The unique identifier (name) of the blob to check.
|
|
72
|
-
* @returns {Promise<boolean>} A promise that resolves with `true` if the blob exists, and `false` otherwise.
|
|
73
|
-
* @throws Throws an error for any issue other than the blob not being found (e.g., network issues, invalid credentials).
|
|
74
|
-
*/
|
|
75
|
-
exists(acRequest: AccessRequest, resourceId: string): Promise<boolean>;
|
|
76
|
-
/**
|
|
77
|
-
* Retrieves the user-defined metadata for a specific blob.
|
|
78
|
-
*
|
|
79
|
-
* This method fetches the key-value metadata associated with a blob without
|
|
80
|
-
* downloading the blob's content. It's an efficient way to read custom
|
|
81
|
-
* information stored with an object. If the blob is not found, it returns undefined.
|
|
82
|
-
*
|
|
83
|
-
* @param {AccessRequest} acRequest - The access request object, handled by the @SecureConnector decorator to authorize the operation.
|
|
84
|
-
* @param {string} resourceId - The unique identifier (name) of the blob whose metadata is to be retrieved.
|
|
85
|
-
* @returns {Promise<StorageMetadata | undefined>} A promise that resolves with the blob's metadata object, or undefined if the blob does not exist.
|
|
86
|
-
* @throws Throws an error for any issue other than the blob not being found (e.g., network issues, invalid credentials).
|
|
87
|
-
*/
|
|
88
|
-
getMetadata(acRequest: AccessRequest, resourceId: string): Promise<StorageMetadata | undefined>;
|
|
89
|
-
/**
|
|
90
|
-
* Sets or updates the user-defined metadata for a specific blob.
|
|
91
|
-
*
|
|
92
|
-
* This method applies new metadata to an existing blob. It performs a "merge and
|
|
93
|
-
* update" operation: it first reads the blob's current metadata, then merges
|
|
94
|
-
* the provided metadata with it (new values overwrite existing ones).
|
|
95
|
-
* This operation does not affect the blob's content.
|
|
96
|
-
*
|
|
97
|
-
* @param {AccessRequest} acRequest - The access request object, handled by the @SecureConnector decorator to authorize the operation.
|
|
98
|
-
* @param {string} resourceId - The unique identifier (name) of the blob whose metadata is to be updated.
|
|
99
|
-
* @param {StorageMetadata} metadata - An object containing the key-value pairs to set. These will be merged with any existing metadata.
|
|
100
|
-
* @returns {Promise<void>} A promise that resolves when the metadata has been successfully updated.
|
|
101
|
-
* @throws Throws an error if the blob does not exist, or if the update fails for other reasons (e.g., network issues).
|
|
102
|
-
*/
|
|
103
|
-
setMetadata(acRequest: AccessRequest, resourceId: string, metadata: StorageMetadata): Promise<void>;
|
|
104
|
-
/**
|
|
105
|
-
* Retrieves the Access Control List (ACL) for a specific blob.
|
|
106
|
-
*
|
|
107
|
-
* This method fetches the blob's metadata and specifically extracts the
|
|
108
|
-
* SmythOS-native ACL object. It provides a direct way to inspect the
|
|
109
|
-
* permissions of a blob without downloading its content.
|
|
110
|
-
*
|
|
111
|
-
* @param {AccessRequest} acRequest - The access request object, handled by the @SecureConnector decorator to authorize the operation.
|
|
112
|
-
* @param {string} resourceId - The unique identifier (name) of the blob whose ACL is to be retrieved.
|
|
113
|
-
* @returns {Promise<ACL | undefined>} A promise that resolves with the `ACL` object for the blob. Returns undefined if the blob does not exist or has no ACL.
|
|
114
|
-
* @throws Throws an error for any issue other than the blob not being found (e.g., network issues, invalid credentials).
|
|
115
|
-
*/
|
|
116
|
-
getACL(acRequest: AccessRequest, resourceId: string): Promise<ACL | undefined>;
|
|
117
|
-
/**
|
|
118
|
-
* Sets or updates the Access Control List (ACL) for a specific blob.
|
|
119
|
-
*
|
|
120
|
-
* This method applies a new SmythOS ACL to an existing blob. It reads the blob's
|
|
121
|
-
* full metadata, replaces the ACL portion, and writes the updated metadata back.
|
|
122
|
-
* A crucial security feature of this method is that it automatically ensures the
|
|
123
|
-
* user/agent making the request always retains ownership of the blob.
|
|
124
|
-
*
|
|
125
|
-
* @param {AccessRequest} acRequest - The access request object, used to identify the user/agent to ensure they retain ownership.
|
|
126
|
-
* @param {string} resourceId - The unique identifier (name) of the blob whose ACL is to be updated.
|
|
127
|
-
* @param {IACL} acl - The new Access Control List object to apply to the blob.
|
|
128
|
-
* @returns {Promise<void>} A promise that resolves when the ACL has been successfully updated.
|
|
129
|
-
* @throws Throws an error if the blob does not exist or if the update fails for other reasons.
|
|
130
|
-
*/
|
|
131
|
-
setACL(acRequest: AccessRequest, resourceId: string, acl: IACL): Promise<void>;
|
|
132
|
-
/**
|
|
133
|
-
* Determines the effective Access Control List (ACL) for a given resource.
|
|
134
|
-
*
|
|
135
|
-
* This crucial security method is called by the access control system to fetch a
|
|
136
|
-
* resource's ACL before making an authorization decision. If the resource does
|
|
137
|
-
* not exist (and thus has no ACL), this method dynamically generates a new ACL
|
|
138
|
-
* that grants 'Owner' access to the requesting candidate. This is the mechanism
|
|
139
|
-
* that allows authorized users to create new resources.
|
|
140
|
-
*
|
|
141
|
-
* @param {string} resourceId - The unique identifier (name) of the blob whose ACL is to be determined.
|
|
142
|
-
* @param {IAccessCandidate} candidate - The user or agent attempting to access the resource, used to grant ownership if the resource is new.
|
|
143
|
-
* @returns {Promise<ACL>} A promise that resolves with the existing ACL object if the blob is found, or a new ACL object granting ownership if the blob does not exist.
|
|
144
|
-
* @throws Throws an error if there is an unexpected issue fetching the blob's metadata (e.g., network issues).
|
|
145
|
-
*/
|
|
146
|
-
getResourceACL(resourceId: string, candidate: IAccessCandidate): Promise<ACL>;
|
|
147
|
-
/**
|
|
148
|
-
* Schedules a blob for automatic deletion after a specified time-to-live (TTL).
|
|
149
|
-
*
|
|
150
|
-
* This method applies a Blob Index Tag ('deleteAfterDays') to an existing blob.
|
|
151
|
-
* It does not delete the blob immediately. Instead, it relies on a pre-configured
|
|
152
|
-
* Lifecycle Management rule on the Azure Storage Account to automatically delete the
|
|
153
|
-
* blob after the specified number of days.
|
|
154
|
-
*
|
|
155
|
-
* @param {AccessRequest} acRequest - The access request object, handled by the @SecureConnector decorator to authorize the operation.
|
|
156
|
-
* @param {string} resourceId - The unique identifier (name) of the blob to schedule for deletion.
|
|
157
|
-
* @param {number} ttl - The time-to-live for the blob, in seconds. Must be a positive number.
|
|
158
|
-
* @returns {Promise<void>} A promise that resolves when the expiration tag has been successfully applied.
|
|
159
|
-
* @throws Throws an error if the blob does not exist, if the TTL is invalid, or if applying the tag fails.
|
|
160
|
-
*/
|
|
161
|
-
expire(acRequest: AccessRequest, resourceId: string, ttl: number): Promise<void>;
|
|
162
|
-
/**
|
|
163
|
-
* Migrates legacy ACL metadata to the new structured format.
|
|
164
|
-
*
|
|
165
|
-
* This internal helper function checks for an outdated ACL format where permissions
|
|
166
|
-
* were stored in separate keys like `userid`, `teamid`, or `agentid`. If found,
|
|
167
|
-
* it converts them into the modern, structured `azure-acl` object, granting full
|
|
168
|
-
* ownership. This ensures seamless backward compatibility with older data.
|
|
169
|
-
*
|
|
170
|
-
* @param {Record<string, string>} metadata - The raw metadata object which may contain legacy ACL keys.
|
|
171
|
-
* @returns {Record<string, any>} The metadata object, with legacy keys converted into a new `azure-acl` property.
|
|
172
|
-
* @private
|
|
173
|
-
*/
|
|
174
|
-
private _migrateMetadata;
|
|
175
|
-
/**
|
|
176
|
-
* Serializes the internal metadata object into a format compatible with Azure Blob Storage.
|
|
177
|
-
*
|
|
178
|
-
* This internal helper prepares the metadata for upload. It converts the `ACL` object
|
|
179
|
-
* into its serialized string representation and stringifies any other non-string
|
|
180
|
-
* metadata values. The `ContentType` property is intentionally excluded as it's
|
|
181
|
-
* handled separately in the blob's HTTP headers.
|
|
182
|
-
*
|
|
183
|
-
* @param {Record<string, any>} metadata - The internal metadata object, containing mixed-type values.
|
|
184
|
-
* @returns {Record<string, string>} A flat key-value object where all values are strings.
|
|
185
|
-
* @private
|
|
186
|
-
*/
|
|
187
|
-
private _serializeAzureMetadata;
|
|
188
|
-
/**
|
|
189
|
-
* Deserializes a flat metadata object from Azure into the rich internal format.
|
|
190
|
-
*
|
|
191
|
-
* This internal helper processes the raw string-based metadata retrieved from a blob.
|
|
192
|
-
* It reconstructs the `ACL` object from its string representation and parses any
|
|
193
|
-
* other JSON-stringified values back into their original object/data types. It then
|
|
194
|
-
* calls the migration helper to ensure backward compatibility with legacy ACL formats.
|
|
195
|
-
*
|
|
196
|
-
* @param {Record<string, string>} metadata - The flat, string-only key-value metadata from the Azure SDK.
|
|
197
|
-
* @returns {Record<string, any>} The rich internal metadata object with complex data types restored.
|
|
198
|
-
* @private
|
|
199
|
-
*/
|
|
200
|
-
private _deserializeAzureMetadata;
|
|
201
|
-
/**
|
|
202
|
-
* Private helper to fetch and deserialize metadata from Azure.
|
|
203
|
-
* @private
|
|
204
|
-
*/
|
|
205
|
-
private _getAzureMetadata;
|
|
206
|
-
/**
|
|
207
|
-
* Private helper to serialize and write metadata to Azure.
|
|
208
|
-
* @private
|
|
209
|
-
*/
|
|
210
|
-
private _setAzureMetadata;
|
|
211
|
-
}
|
|
@@ -1,187 +0,0 @@
|
|
|
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
DELETED
|
@@ -1,102 +0,0 @@
|
|
|
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
|
-
}
|