@smythos/sre 1.5.43 → 1.5.45
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 +90 -90
- package/LICENSE +18 -18
- package/README.md +135 -135
- package/dist/index.js +13 -13
- package/dist/index.js.map +1 -1
- package/dist/types/Components/GenAILLM.class.d.ts +6 -0
- package/dist/types/helpers/AWSLambdaCode.helper.d.ts +8 -5
- package/dist/types/index.d.ts +1 -0
- package/dist/types/subsystems/LLMManager/LLM.service/connectors/Groq.class.d.ts +5 -0
- package/dist/types/subsystems/LLMManager/LLM.service/connectors/openai/OpenAIConnector.class.d.ts +13 -1
- package/dist/types/subsystems/LLMManager/LLM.service/connectors/openai/apiInterfaces/ChatCompletionsApiInterface.d.ts +0 -4
- package/dist/types/subsystems/LLMManager/LLM.service/connectors/openai/apiInterfaces/ResponsesApiInterface.d.ts +44 -29
- package/dist/types/subsystems/LLMManager/LLM.service/connectors/openai/apiInterfaces/constants.d.ts +4 -2
- package/dist/types/subsystems/LLMManager/LLM.service/connectors/openai/apiInterfaces/utils.d.ts +6 -0
- package/dist/types/subsystems/LLMManager/LLM.service/connectors/openai/types.d.ts +0 -4
- package/dist/types/subsystems/LLMManager/ModelsProvider.service/connectors/SmythModelsProvider.class.d.ts +39 -0
- package/dist/types/types/LLM.types.d.ts +4 -1
- package/package.json +5 -2
- package/src/Components/APICall/APICall.class.ts +156 -156
- package/src/Components/APICall/AccessTokenManager.ts +130 -130
- package/src/Components/APICall/ArrayBufferResponse.helper.ts +58 -58
- package/src/Components/APICall/OAuth.helper.ts +294 -294
- 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 +132 -132
- 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 +71 -71
- 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 +25 -25
- 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 -579
- package/src/Components/HuggingFace.class.ts +314 -314
- package/src/Components/Image/imageSettings.config.ts +70 -70
- package/src/Components/ImageGenerator.class.ts +502 -502
- 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 +112 -112
- package/src/Components/MemoryDeleteKeyVal.class.ts +70 -70
- package/src/Components/MemoryReadKeyVal.class.ts +66 -66
- 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 +159 -159
- package/src/Components/ServerlessCode.class.ts +123 -123
- package/src/Components/TavilyWebSearch.class.ts +98 -98
- 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 +235 -235
- 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 +588 -528
- package/src/helpers/BinaryInput.helper.ts +331 -331
- package/src/helpers/Conversation.helper.ts +1119 -1119
- package/src/helpers/ECMASandbox.helper.ts +54 -54
- 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 +77 -77
- package/src/helpers/TemplateString.helper.ts +243 -243
- package/src/helpers/TypeChecker.helper.ts +329 -329
- package/src/index.ts +4 -3
- package/src/index.ts.bak +4 -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 +142 -142
- 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 +297 -297
- package/src/subsystems/AgentManager/AgentRequest.class.ts +51 -51
- package/src/subsystems/AgentManager/AgentRuntime.class.ts +559 -559
- 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 +172 -170
- 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 +489 -489
- 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 +454 -454
- package/src/subsystems/IO/VectorDB.service/connectors/PineconeVectorDB.class.ts +384 -384
- package/src/subsystems/IO/VectorDB.service/connectors/RAMVecrtorDB.class.ts +421 -421
- package/src/subsystems/IO/VectorDB.service/embed/BaseEmbedding.ts +107 -107
- package/src/subsystems/IO/VectorDB.service/embed/OpenAIEmbedding.ts +109 -109
- package/src/subsystems/IO/VectorDB.service/embed/index.ts +21 -21
- 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 +339 -339
- package/src/subsystems/LLMManager/LLM.service/LLMConnector.ts +489 -489
- package/src/subsystems/LLMManager/LLM.service/LLMCredentials.helper.ts +171 -171
- package/src/subsystems/LLMManager/LLM.service/connectors/Anthropic.class.ts +659 -659
- package/src/subsystems/LLMManager/LLM.service/connectors/Bedrock.class.ts +400 -400
- package/src/subsystems/LLMManager/LLM.service/connectors/Echo.class.ts +77 -77
- package/src/subsystems/LLMManager/LLM.service/connectors/GoogleAI.class.ts +757 -757
- package/src/subsystems/LLMManager/LLM.service/connectors/Groq.class.ts +304 -291
- package/src/subsystems/LLMManager/LLM.service/connectors/Perplexity.class.ts +250 -250
- package/src/subsystems/LLMManager/LLM.service/connectors/VertexAI.class.ts +423 -423
- package/src/subsystems/LLMManager/LLM.service/connectors/openai/OpenAIConnector.class.ts +488 -455
- package/src/subsystems/LLMManager/LLM.service/connectors/openai/apiInterfaces/ChatCompletionsApiInterface.ts +528 -528
- 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 +1168 -853
- package/src/subsystems/LLMManager/LLM.service/connectors/openai/apiInterfaces/constants.ts +13 -37
- 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 -0
- package/src/subsystems/LLMManager/LLM.service/connectors/openai/types.ts +32 -37
- package/src/subsystems/LLMManager/LLM.service/connectors/xAI.class.ts +471 -471
- package/src/subsystems/LLMManager/LLM.service/index.ts +44 -44
- package/src/subsystems/LLMManager/ModelsProvider.service/ModelsProviderConnector.ts +300 -300
- package/src/subsystems/LLMManager/ModelsProvider.service/connectors/JSONModelsProvider.class.ts +252 -252
- 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 +201 -201
- 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 +266 -266
- 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/AWSAccount.class.ts +76 -76
- package/src/subsystems/Security/Account.service/connectors/DummyAccount.class.ts +130 -130
- package/src/subsystems/Security/Account.service/connectors/JSONFileAccount.class.ts +159 -159
- 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 +496 -491
- 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/utils/package-manager.utils.d.ts +0 -26
|
@@ -221,6 +221,12 @@ export declare class GenAILLM extends Component {
|
|
|
221
221
|
description: string;
|
|
222
222
|
label: string;
|
|
223
223
|
};
|
|
224
|
+
verbosity: {
|
|
225
|
+
type: string;
|
|
226
|
+
valid: string[];
|
|
227
|
+
label: string;
|
|
228
|
+
allowEmpty: boolean;
|
|
229
|
+
};
|
|
224
230
|
reasoningEffort: {
|
|
225
231
|
type: string;
|
|
226
232
|
valid: string[];
|
|
@@ -4,13 +4,13 @@ import { IAgent } from '@sre/types/Agent.types';
|
|
|
4
4
|
export declare const cachePrefix = "serverless_code";
|
|
5
5
|
export declare const cacheTTL: number;
|
|
6
6
|
export declare function getLambdaFunctionName(agentId: string, componentId: string): string;
|
|
7
|
-
export declare function generateCodeHash(code_body: string, codeInputs: string[]): string;
|
|
8
|
-
export declare function getSanitizeCodeHash(
|
|
7
|
+
export declare function generateCodeHash(code_body: string, codeInputs: string[], envVariables: string[]): string;
|
|
8
|
+
export declare function getSanitizeCodeHash(rawCode: string): string;
|
|
9
9
|
export declare function getDeployedCodeHash(agentId: string, componentId: string): Promise<any>;
|
|
10
10
|
export declare function setDeployedCodeHash(agentId: string, componentId: string, codeHash: string): Promise<void>;
|
|
11
|
-
export declare function generateLambdaCode(code: string, parameters: string[]): string;
|
|
11
|
+
export declare function generateLambdaCode(code: string, parameters: string[], envVariables: Record<string, string>): string;
|
|
12
12
|
export declare function zipCode(directory: string): Promise<unknown>;
|
|
13
|
-
export declare function createOrUpdateLambdaFunction(functionName: any, zipFilePath: any, awsConfigs: any): Promise<void>;
|
|
13
|
+
export declare function createOrUpdateLambdaFunction(functionName: any, zipFilePath: any, awsConfigs: any, envVariables: Record<string, string>): Promise<void>;
|
|
14
14
|
export declare function waitForRoleDeploymentStatus(roleName: any, client: any): Promise<boolean>;
|
|
15
15
|
export declare function verifyFunctionDeploymentStatus(functionName: any, client: any): Promise<boolean>;
|
|
16
16
|
export declare function getLambdaRolePolicy(): string;
|
|
@@ -37,10 +37,13 @@ export declare function reportUsage({ cost, agentId, teamId }: {
|
|
|
37
37
|
agentId: string;
|
|
38
38
|
teamId: string;
|
|
39
39
|
}): void;
|
|
40
|
-
export declare function validateAsyncMainFunction(
|
|
40
|
+
export declare function validateAsyncMainFunction(rawCode: string): {
|
|
41
41
|
isValid: boolean;
|
|
42
42
|
error?: string;
|
|
43
43
|
parameters?: string[];
|
|
44
44
|
dependencies?: string[];
|
|
45
45
|
};
|
|
46
46
|
export declare function generateCodeFromLegacyComponent(code_body: string, code_imports: string, codeInputs: string[]): string;
|
|
47
|
+
export declare function extractAllKeyNamesFromTemplateVars(input: string): string[];
|
|
48
|
+
export declare function getCurrentEnvironmentVariables(agentTeamId: string, code: string): Promise<Record<string, string>>;
|
|
49
|
+
export declare function getSortedObjectValues(obj: Record<string, string>): string[];
|
package/dist/types/index.d.ts
CHANGED
|
@@ -187,3 +187,4 @@ export * from './subsystems/Security/Vault.service/connectors/SecretsManager.cla
|
|
|
187
187
|
export * from './subsystems/LLMManager/LLM.service/connectors/openai/OpenAIConnector.class';
|
|
188
188
|
export * from './subsystems/LLMManager/LLM.service/connectors/openai/types';
|
|
189
189
|
export * from './subsystems/LLMManager/LLM.service/connectors/openai/apiInterfaces/constants';
|
|
190
|
+
export * from './subsystems/LLMManager/LLM.service/connectors/openai/apiInterfaces/utils';
|
|
@@ -57,4 +57,9 @@ export declare class GroqConnector extends LLMConnector {
|
|
|
57
57
|
};
|
|
58
58
|
getConsistentMessages(messages: TLLMMessageBlock[]): TLLMMessageBlock[];
|
|
59
59
|
}
|
|
60
|
+
/**
|
|
61
|
+
* Type guard to check if a value is a valid OpenAI reasoning effort.
|
|
62
|
+
* Uses array includes for better maintainability when OpenAI adds new values.
|
|
63
|
+
*/
|
|
64
|
+
export declare function isValidGroqReasoningEffort(value: unknown): value is 'low' | 'medium' | 'high' | 'none' | 'default';
|
|
60
65
|
export {};
|
package/dist/types/subsystems/LLMManager/LLM.service/connectors/openai/OpenAIConnector.class.d.ts
CHANGED
|
@@ -42,7 +42,12 @@ export declare class OpenAIConnector extends LLMConnector {
|
|
|
42
42
|
}[] | Array<import("@anthropic-ai/sdk/resources/messages").TextBlockParam | import("@anthropic-ai/sdk/resources/messages").ImageBlockParam | import("@anthropic-ai/sdk/resources/messages").ToolUseBlockParam | import("@anthropic-ai/sdk/resources/messages").ToolResultBlockParam>;
|
|
43
43
|
parts?: {
|
|
44
44
|
text?: string;
|
|
45
|
-
functionCall
|
|
45
|
+
functionCall? /**
|
|
46
|
+
* Safely compute prompt token count across different interfaces (Chat Completions, Responses)
|
|
47
|
+
* - Normalizes message content to strings for encodeChat
|
|
48
|
+
* - Handles vision prompts when files are present
|
|
49
|
+
* - Never throws; defaults to 0 on failure
|
|
50
|
+
*/: {
|
|
46
51
|
name: string;
|
|
47
52
|
args: string;
|
|
48
53
|
};
|
|
@@ -58,6 +63,13 @@ export declare class OpenAIConnector extends LLMConnector {
|
|
|
58
63
|
}[];
|
|
59
64
|
private validateTokenLimit;
|
|
60
65
|
private getProvider;
|
|
66
|
+
/**
|
|
67
|
+
* Safely compute prompt token count across different interfaces (Chat Completions, Responses)
|
|
68
|
+
* - Normalizes message content to strings for encodeChat
|
|
69
|
+
* - Handles vision prompts when files are present
|
|
70
|
+
* - Never throws; defaults to 0 on failure
|
|
71
|
+
*/
|
|
72
|
+
private computePromptTokens;
|
|
61
73
|
/**
|
|
62
74
|
* Prepare request body for OpenAI Responses API
|
|
63
75
|
* Uses MessageTransformer and ToolsTransformer for clean interface transformations
|
|
@@ -21,10 +21,6 @@ export declare class ChatCompletionsApiInterface extends OpenAIApiInterface {
|
|
|
21
21
|
createStream(body: OpenAI.ChatCompletionCreateParams, context: ILLMRequestContext): Promise<AsyncIterable<OpenAI.ChatCompletionChunk>>;
|
|
22
22
|
handleStream(stream: AsyncIterable<OpenAI.ChatCompletionChunk>, context: ILLMRequestContext): EventEmitter;
|
|
23
23
|
prepareRequestBody(params: TLLMPreparedParams): Promise<OpenAI.ChatCompletionCreateParams>;
|
|
24
|
-
/**
|
|
25
|
-
* Type guard to check if a tool is an OpenAI tool definition
|
|
26
|
-
*/
|
|
27
|
-
private isOpenAIToolDefinition;
|
|
28
24
|
/**
|
|
29
25
|
* Transform OpenAI tool definitions to ChatCompletionTool format
|
|
30
26
|
*/
|
|
@@ -2,7 +2,7 @@ import EventEmitter from 'events';
|
|
|
2
2
|
import OpenAI from 'openai';
|
|
3
3
|
import type { Stream } from 'openai/streaming';
|
|
4
4
|
import { BinaryInput } from '@sre/helpers/BinaryInput.helper';
|
|
5
|
-
import { TLLMParams, TLLMPreparedParams, ILLMRequestContext } from '@sre/types/LLM.types';
|
|
5
|
+
import { TLLMParams, TLLMPreparedParams, ILLMRequestContext, ToolData } from '@sre/types/LLM.types';
|
|
6
6
|
import { OpenAIApiInterface, ToolConfig } from './OpenAIApiInterface';
|
|
7
7
|
import { HandlerDependencies } from '../types';
|
|
8
8
|
/**
|
|
@@ -45,43 +45,48 @@ export declare class ResponsesApiInterface extends OpenAIApiInterface {
|
|
|
45
45
|
* Calculate search tool usage with cost
|
|
46
46
|
*/
|
|
47
47
|
private calculateSearchToolUsage;
|
|
48
|
-
prepareRequestBody(params: TLLMPreparedParams): Promise<OpenAI.Responses.ResponseCreateParams>;
|
|
49
48
|
/**
|
|
50
|
-
*
|
|
49
|
+
* Handle web search completed event with proper type safety
|
|
51
50
|
*/
|
|
52
|
-
private
|
|
51
|
+
private handleWebSearchCompleted;
|
|
53
52
|
/**
|
|
54
|
-
*
|
|
53
|
+
* Handle web search in-progress event (official typed)
|
|
55
54
|
*/
|
|
56
|
-
|
|
55
|
+
private handleWebSearchInProgress;
|
|
56
|
+
/**
|
|
57
|
+
* Handle web search searching event (official typed)
|
|
58
|
+
*/
|
|
59
|
+
private handleWebSearchSearching;
|
|
57
60
|
/**
|
|
58
|
-
*
|
|
61
|
+
* Handle output text delta events
|
|
59
62
|
*/
|
|
60
|
-
private
|
|
63
|
+
private handleOutputTextDelta;
|
|
61
64
|
/**
|
|
62
|
-
*
|
|
65
|
+
* Handle output item added events (function calls)
|
|
63
66
|
*/
|
|
64
|
-
private
|
|
67
|
+
private handleOutputItemAdded;
|
|
65
68
|
/**
|
|
66
|
-
*
|
|
69
|
+
* Handle function call arguments delta events
|
|
67
70
|
*/
|
|
68
|
-
private
|
|
71
|
+
private handleFunctionCallArgumentsDelta;
|
|
69
72
|
/**
|
|
70
|
-
*
|
|
73
|
+
* Handle function call arguments done events
|
|
71
74
|
*/
|
|
72
|
-
private
|
|
75
|
+
private handleFunctionCallArgumentsDone;
|
|
73
76
|
/**
|
|
74
|
-
*
|
|
77
|
+
* Handle output item done events
|
|
75
78
|
*/
|
|
76
|
-
private
|
|
79
|
+
private handleOutputItemDone;
|
|
77
80
|
/**
|
|
78
|
-
*
|
|
81
|
+
* Handle completion events and unknown event types
|
|
79
82
|
*/
|
|
80
|
-
private
|
|
83
|
+
private handleCompletionEvent;
|
|
84
|
+
prepareRequestBody(params: TLLMPreparedParams): Promise<OpenAI.Responses.ResponseCreateParams>;
|
|
81
85
|
/**
|
|
82
|
-
*
|
|
86
|
+
* Transform OpenAI tool definitions to Responses.Tool format
|
|
87
|
+
* Handles multiple tool definition formats and ensures compatibility
|
|
83
88
|
*/
|
|
84
|
-
|
|
89
|
+
transformToolsConfig(config: ToolConfig): OpenAI.Responses.Tool[];
|
|
85
90
|
/**
|
|
86
91
|
* Normalize tool arguments to string format for Responses API
|
|
87
92
|
*/
|
|
@@ -90,14 +95,6 @@ export declare class ResponsesApiInterface extends OpenAIApiInterface {
|
|
|
90
95
|
* Validate if tool data is complete and valid for transformation
|
|
91
96
|
*/
|
|
92
97
|
private isValidToolData;
|
|
93
|
-
/**
|
|
94
|
-
* Check if the tool is a web search tool based on type or name
|
|
95
|
-
*/
|
|
96
|
-
private isWebSearchTool;
|
|
97
|
-
/**
|
|
98
|
-
* Format web search results with better structure
|
|
99
|
-
*/
|
|
100
|
-
private formatWebSearchResult;
|
|
101
98
|
handleFileAttachments(files: BinaryInput[], agentId: string, messages: any[]): Promise<any[]>;
|
|
102
99
|
/**
|
|
103
100
|
* Get valid image files based on supported MIME types
|
|
@@ -130,7 +127,8 @@ export declare class ResponsesApiInterface extends OpenAIApiInterface {
|
|
|
130
127
|
*/
|
|
131
128
|
private prepareInputMessages;
|
|
132
129
|
/**
|
|
133
|
-
* Prepare tools for request
|
|
130
|
+
* Prepare function tools for Responses API request
|
|
131
|
+
* Transforms tools from various formats to Responses API format
|
|
134
132
|
*/
|
|
135
133
|
private prepareFunctionTools;
|
|
136
134
|
/**
|
|
@@ -138,9 +136,26 @@ export declare class ResponsesApiInterface extends OpenAIApiInterface {
|
|
|
138
136
|
* According to OpenAI documentation: https://platform.openai.com/docs/api-reference/responses/create
|
|
139
137
|
*/
|
|
140
138
|
private prepareWebSearchTool;
|
|
139
|
+
/**
|
|
140
|
+
* Transform messages for Responses API compatibility
|
|
141
|
+
* Handles the differences between Chat Completions and Responses API message formats
|
|
142
|
+
*/
|
|
141
143
|
private applyToolMessageTransformation;
|
|
142
144
|
/**
|
|
143
145
|
* Get search tool cost for a specific model and context size
|
|
144
146
|
*/
|
|
145
147
|
private getSearchToolCost;
|
|
148
|
+
/**
|
|
149
|
+
* Process function call responses and integrate them back into the conversation
|
|
150
|
+
* This method helps maintain compatibility with the chat completion flow
|
|
151
|
+
*/
|
|
152
|
+
processFunctionCallResults(toolsData: ToolData[]): Promise<ToolData[]>;
|
|
153
|
+
/**
|
|
154
|
+
* Validate tool choice parameter for Responses API
|
|
155
|
+
*/
|
|
156
|
+
private validateToolChoice;
|
|
157
|
+
/**
|
|
158
|
+
* Upsert a web search tool entry in toolsData and return its index
|
|
159
|
+
*/
|
|
160
|
+
private upsertWebSearchToolImmutable;
|
|
146
161
|
}
|
package/dist/types/subsystems/LLMManager/LLM.service/connectors/openai/apiInterfaces/constants.d.ts
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { SearchToolCostConfig } from '../types';
|
|
2
1
|
export declare const MODELS_WITHOUT_TEMPERATURE_SUPPORT: string[];
|
|
3
2
|
export declare const MODELS_WITHOUT_PRESENCE_PENALTY_SUPPORT: string[];
|
|
4
3
|
export declare const MODELS_WITHOUT_JSON_RESPONSE_SUPPORT: string[];
|
|
@@ -7,4 +6,7 @@ export declare const MODELS_WITHOUT_SYSTEM_MESSAGE_SUPPORT: string[];
|
|
|
7
6
|
* Search tool cost configuration
|
|
8
7
|
* Costs are in dollars per 1000 requests
|
|
9
8
|
*/
|
|
10
|
-
export declare const SEARCH_TOOL_COSTS:
|
|
9
|
+
export declare const SEARCH_TOOL_COSTS: {
|
|
10
|
+
'gpt-4': number;
|
|
11
|
+
'gpt-5': number;
|
|
12
|
+
};
|
package/dist/types/subsystems/LLMManager/LLM.service/connectors/openai/apiInterfaces/utils.d.ts
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import OpenAI from 'openai';
|
|
2
|
+
/**
|
|
3
|
+
* Type guard to check if a value is a valid OpenAI reasoning effort.
|
|
4
|
+
* Uses array includes for better maintainability when OpenAI adds new values.
|
|
5
|
+
*/
|
|
6
|
+
export declare function isValidOpenAIReasoningEffort(value: unknown): value is OpenAI.Responses.ResponseCreateParams['reasoning']['effort'];
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { AccessRequest } from '@sre/Security/AccessControl/AccessRequest.class';
|
|
2
|
+
import { ModelsProviderConnector } from '../ModelsProviderConnector';
|
|
3
|
+
import { IAccessCandidate } from '@sre/types/ACL.types';
|
|
4
|
+
import { ACL } from '@sre/Security/AccessControl/ACL.class';
|
|
5
|
+
import { TLLMModelsList } from '@sre/types/LLM.types';
|
|
6
|
+
type SmythModelsProviderConfig = {
|
|
7
|
+
/**
|
|
8
|
+
* The models to be used.
|
|
9
|
+
*
|
|
10
|
+
* If a string is provided, it will be used as the directory name to load the models from.
|
|
11
|
+
* If a TLLMModelsList is provided, it will be used as the models to be used.
|
|
12
|
+
*
|
|
13
|
+
*/
|
|
14
|
+
models?: string | TLLMModelsList;
|
|
15
|
+
/**
|
|
16
|
+
* The mode to be used.
|
|
17
|
+
*
|
|
18
|
+
* If 'append' is used, the models will be appended to the existing models.
|
|
19
|
+
* If 'replace' is used, the existing models will be replaced with the new models.
|
|
20
|
+
*/
|
|
21
|
+
mode?: 'merge' | 'replace';
|
|
22
|
+
};
|
|
23
|
+
export declare class SmythModelsProvider extends ModelsProviderConnector {
|
|
24
|
+
protected _settings?: SmythModelsProviderConfig;
|
|
25
|
+
name: string;
|
|
26
|
+
private models;
|
|
27
|
+
constructor(_settings?: SmythModelsProviderConfig);
|
|
28
|
+
start(): Promise<void>;
|
|
29
|
+
addModels(acRequest: AccessRequest, models: TLLMModelsList): Promise<void>;
|
|
30
|
+
getModels(acRequest: AccessRequest): Promise<any>;
|
|
31
|
+
getResourceACL(resourceId: string, candidate: IAccessCandidate): Promise<ACL>;
|
|
32
|
+
private reindexModels;
|
|
33
|
+
private scanDirectoryForModels;
|
|
34
|
+
private getValidModels;
|
|
35
|
+
private isValidSingleModel;
|
|
36
|
+
private isValidModel;
|
|
37
|
+
private initDirWatcher;
|
|
38
|
+
}
|
|
39
|
+
export {};
|
|
@@ -35,6 +35,7 @@ export interface BedrockCredentials {
|
|
|
35
35
|
export type ILLMConnectorCredentials = BasicCredentials | BedrockCredentials | VertexAICredentials;
|
|
36
36
|
export type TOpenAIResponseToolChoice = OpenAI.Responses.ToolChoiceOptions | OpenAI.Responses.ToolChoiceTypes | OpenAI.Responses.ToolChoiceFunction;
|
|
37
37
|
export type TLLMToolChoice = OpenAI.ChatCompletionToolChoiceOption;
|
|
38
|
+
export type OpenAIReasoningEffort = NonNullable<OpenAI.Responses.ResponseCreateParams['reasoning']>['effort'];
|
|
38
39
|
export type TOpenAIToolsInfo = {
|
|
39
40
|
webSearch: {
|
|
40
41
|
enabled: boolean;
|
|
@@ -129,8 +130,9 @@ export type TLLMParams = {
|
|
|
129
130
|
* For GPT-OSS models (20B, 120B): "low" | "medium" | "high"
|
|
130
131
|
* For Qwen 3 32B: "none" | "default"
|
|
131
132
|
*/
|
|
132
|
-
reasoningEffort?: 'none' | 'default' |
|
|
133
|
+
reasoningEffort?: 'none' | 'default' | OpenAIReasoningEffort;
|
|
133
134
|
max_output_tokens?: number;
|
|
135
|
+
verbosity?: OpenAI.Responses.ResponseCreateParams['text']['verbosity'];
|
|
134
136
|
abortSignal?: AbortSignal;
|
|
135
137
|
};
|
|
136
138
|
export type TLLMPreparedParams = TLLMParams & {
|
|
@@ -255,6 +257,7 @@ export type ToolData = {
|
|
|
255
257
|
result?: string;
|
|
256
258
|
function?: any;
|
|
257
259
|
error?: string;
|
|
260
|
+
callId?: string;
|
|
258
261
|
};
|
|
259
262
|
/**
|
|
260
263
|
* Base tool definition interface - only truly common properties
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@smythos/sre",
|
|
3
|
-
"version": "1.5.
|
|
3
|
+
"version": "1.5.45",
|
|
4
4
|
"description": "Smyth Runtime Environment",
|
|
5
5
|
"author": "Alaa-eddine KADDOURI",
|
|
6
6
|
"license": "MIT",
|
|
@@ -19,6 +19,9 @@
|
|
|
19
19
|
"CHANGELOG"
|
|
20
20
|
],
|
|
21
21
|
"type": "module",
|
|
22
|
+
"engines": {
|
|
23
|
+
"node": ">=20"
|
|
24
|
+
},
|
|
22
25
|
"devDependencies": {
|
|
23
26
|
"@istanbuljs/nyc-config-typescript": "^1.0.2",
|
|
24
27
|
"@rollup/plugin-commonjs": "^28.0.3",
|
|
@@ -79,7 +82,7 @@
|
|
|
79
82
|
"mime": "^4.0.3",
|
|
80
83
|
"mysql2": "^3.11.3",
|
|
81
84
|
"oauth-1.0a": "^2.2.6",
|
|
82
|
-
"openai": "^
|
|
85
|
+
"openai": "^5.12.2",
|
|
83
86
|
"p-limit": "^6.1.0",
|
|
84
87
|
"qs": "^6.13.0",
|
|
85
88
|
"readline-sync": "^1.4.10",
|