@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.
Files changed (233) hide show
  1. package/CHANGELOG +90 -90
  2. package/LICENSE +18 -18
  3. package/README.md +135 -135
  4. package/dist/index.js +13 -13
  5. package/dist/index.js.map +1 -1
  6. package/dist/types/Components/GenAILLM.class.d.ts +6 -0
  7. package/dist/types/helpers/AWSLambdaCode.helper.d.ts +8 -5
  8. package/dist/types/index.d.ts +1 -0
  9. package/dist/types/subsystems/LLMManager/LLM.service/connectors/Groq.class.d.ts +5 -0
  10. package/dist/types/subsystems/LLMManager/LLM.service/connectors/openai/OpenAIConnector.class.d.ts +13 -1
  11. package/dist/types/subsystems/LLMManager/LLM.service/connectors/openai/apiInterfaces/ChatCompletionsApiInterface.d.ts +0 -4
  12. package/dist/types/subsystems/LLMManager/LLM.service/connectors/openai/apiInterfaces/ResponsesApiInterface.d.ts +44 -29
  13. package/dist/types/subsystems/LLMManager/LLM.service/connectors/openai/apiInterfaces/constants.d.ts +4 -2
  14. package/dist/types/subsystems/LLMManager/LLM.service/connectors/openai/apiInterfaces/utils.d.ts +6 -0
  15. package/dist/types/subsystems/LLMManager/LLM.service/connectors/openai/types.d.ts +0 -4
  16. package/dist/types/subsystems/LLMManager/ModelsProvider.service/connectors/SmythModelsProvider.class.d.ts +39 -0
  17. package/dist/types/types/LLM.types.d.ts +4 -1
  18. package/package.json +5 -2
  19. package/src/Components/APICall/APICall.class.ts +156 -156
  20. package/src/Components/APICall/AccessTokenManager.ts +130 -130
  21. package/src/Components/APICall/ArrayBufferResponse.helper.ts +58 -58
  22. package/src/Components/APICall/OAuth.helper.ts +294 -294
  23. package/src/Components/APICall/mimeTypeCategories.ts +46 -46
  24. package/src/Components/APICall/parseData.ts +167 -167
  25. package/src/Components/APICall/parseHeaders.ts +41 -41
  26. package/src/Components/APICall/parseProxy.ts +68 -68
  27. package/src/Components/APICall/parseUrl.ts +91 -91
  28. package/src/Components/APIEndpoint.class.ts +234 -234
  29. package/src/Components/APIOutput.class.ts +58 -58
  30. package/src/Components/AgentPlugin.class.ts +102 -102
  31. package/src/Components/Async.class.ts +155 -155
  32. package/src/Components/Await.class.ts +90 -90
  33. package/src/Components/Classifier.class.ts +158 -158
  34. package/src/Components/Component.class.ts +132 -132
  35. package/src/Components/ComponentHost.class.ts +38 -38
  36. package/src/Components/DataSourceCleaner.class.ts +92 -92
  37. package/src/Components/DataSourceIndexer.class.ts +181 -181
  38. package/src/Components/DataSourceLookup.class.ts +161 -161
  39. package/src/Components/ECMASandbox.class.ts +71 -71
  40. package/src/Components/FEncDec.class.ts +29 -29
  41. package/src/Components/FHash.class.ts +33 -33
  42. package/src/Components/FSign.class.ts +80 -80
  43. package/src/Components/FSleep.class.ts +25 -25
  44. package/src/Components/FTimestamp.class.ts +25 -25
  45. package/src/Components/FileStore.class.ts +78 -78
  46. package/src/Components/ForEach.class.ts +97 -97
  47. package/src/Components/GPTPlugin.class.ts +70 -70
  48. package/src/Components/GenAILLM.class.ts +586 -579
  49. package/src/Components/HuggingFace.class.ts +314 -314
  50. package/src/Components/Image/imageSettings.config.ts +70 -70
  51. package/src/Components/ImageGenerator.class.ts +502 -502
  52. package/src/Components/JSONFilter.class.ts +54 -54
  53. package/src/Components/LLMAssistant.class.ts +213 -213
  54. package/src/Components/LogicAND.class.ts +28 -28
  55. package/src/Components/LogicAtLeast.class.ts +85 -85
  56. package/src/Components/LogicAtMost.class.ts +86 -86
  57. package/src/Components/LogicOR.class.ts +29 -29
  58. package/src/Components/LogicXOR.class.ts +34 -34
  59. package/src/Components/MCPClient.class.ts +112 -112
  60. package/src/Components/MemoryDeleteKeyVal.class.ts +70 -70
  61. package/src/Components/MemoryReadKeyVal.class.ts +66 -66
  62. package/src/Components/MemoryWriteKeyVal.class.ts +62 -62
  63. package/src/Components/MemoryWriteObject.class.ts +97 -97
  64. package/src/Components/MultimodalLLM.class.ts +128 -128
  65. package/src/Components/OpenAPI.class.ts +72 -72
  66. package/src/Components/PromptGenerator.class.ts +122 -122
  67. package/src/Components/ScrapflyWebScrape.class.ts +159 -159
  68. package/src/Components/ServerlessCode.class.ts +123 -123
  69. package/src/Components/TavilyWebSearch.class.ts +98 -98
  70. package/src/Components/VisionLLM.class.ts +104 -104
  71. package/src/Components/ZapierAction.class.ts +127 -127
  72. package/src/Components/index.ts +97 -97
  73. package/src/Core/AgentProcess.helper.ts +240 -240
  74. package/src/Core/Connector.class.ts +123 -123
  75. package/src/Core/ConnectorsService.ts +197 -197
  76. package/src/Core/DummyConnector.ts +49 -49
  77. package/src/Core/HookService.ts +105 -105
  78. package/src/Core/SmythRuntime.class.ts +235 -235
  79. package/src/Core/SystemEvents.ts +16 -16
  80. package/src/Core/boot.ts +56 -56
  81. package/src/config.ts +15 -15
  82. package/src/constants.ts +126 -126
  83. package/src/data/hugging-face.params.json +579 -579
  84. package/src/helpers/AWSLambdaCode.helper.ts +588 -528
  85. package/src/helpers/BinaryInput.helper.ts +331 -331
  86. package/src/helpers/Conversation.helper.ts +1119 -1119
  87. package/src/helpers/ECMASandbox.helper.ts +54 -54
  88. package/src/helpers/JsonContent.helper.ts +97 -97
  89. package/src/helpers/LocalCache.helper.ts +97 -97
  90. package/src/helpers/Log.helper.ts +274 -274
  91. package/src/helpers/OpenApiParser.helper.ts +150 -150
  92. package/src/helpers/S3Cache.helper.ts +147 -147
  93. package/src/helpers/SmythURI.helper.ts +5 -5
  94. package/src/helpers/Sysconfig.helper.ts +77 -77
  95. package/src/helpers/TemplateString.helper.ts +243 -243
  96. package/src/helpers/TypeChecker.helper.ts +329 -329
  97. package/src/index.ts +4 -3
  98. package/src/index.ts.bak +4 -3
  99. package/src/subsystems/AgentManager/Agent.class.ts +1114 -1114
  100. package/src/subsystems/AgentManager/Agent.helper.ts +3 -3
  101. package/src/subsystems/AgentManager/AgentData.service/AgentDataConnector.ts +230 -230
  102. package/src/subsystems/AgentManager/AgentData.service/connectors/CLIAgentDataConnector.class.ts +66 -66
  103. package/src/subsystems/AgentManager/AgentData.service/connectors/LocalAgentDataConnector.class.ts +142 -142
  104. package/src/subsystems/AgentManager/AgentData.service/connectors/NullAgentData.class.ts +39 -39
  105. package/src/subsystems/AgentManager/AgentData.service/index.ts +18 -18
  106. package/src/subsystems/AgentManager/AgentLogger.class.ts +297 -297
  107. package/src/subsystems/AgentManager/AgentRequest.class.ts +51 -51
  108. package/src/subsystems/AgentManager/AgentRuntime.class.ts +559 -559
  109. package/src/subsystems/AgentManager/AgentSSE.class.ts +101 -101
  110. package/src/subsystems/AgentManager/AgentSettings.class.ts +52 -52
  111. package/src/subsystems/AgentManager/Component.service/ComponentConnector.ts +32 -32
  112. package/src/subsystems/AgentManager/Component.service/connectors/LocalComponentConnector.class.ts +60 -60
  113. package/src/subsystems/AgentManager/Component.service/index.ts +11 -11
  114. package/src/subsystems/AgentManager/EmbodimentSettings.class.ts +47 -47
  115. package/src/subsystems/AgentManager/ForkedAgent.class.ts +154 -154
  116. package/src/subsystems/AgentManager/OSResourceMonitor.ts +77 -77
  117. package/src/subsystems/ComputeManager/Code.service/CodeConnector.ts +98 -98
  118. package/src/subsystems/ComputeManager/Code.service/connectors/AWSLambdaCode.class.ts +172 -170
  119. package/src/subsystems/ComputeManager/Code.service/connectors/ECMASandbox.class.ts +131 -131
  120. package/src/subsystems/ComputeManager/Code.service/index.ts +13 -13
  121. package/src/subsystems/IO/CLI.service/CLIConnector.ts +47 -47
  122. package/src/subsystems/IO/CLI.service/index.ts +9 -9
  123. package/src/subsystems/IO/Log.service/LogConnector.ts +32 -32
  124. package/src/subsystems/IO/Log.service/connectors/ConsoleLog.class.ts +28 -28
  125. package/src/subsystems/IO/Log.service/index.ts +13 -13
  126. package/src/subsystems/IO/NKV.service/NKVConnector.ts +43 -43
  127. package/src/subsystems/IO/NKV.service/connectors/NKVLocalStorage.class.ts +234 -234
  128. package/src/subsystems/IO/NKV.service/connectors/NKVRAM.class.ts +204 -204
  129. package/src/subsystems/IO/NKV.service/connectors/NKVRedis.class.ts +182 -182
  130. package/src/subsystems/IO/NKV.service/index.ts +14 -14
  131. package/src/subsystems/IO/Router.service/RouterConnector.ts +21 -21
  132. package/src/subsystems/IO/Router.service/connectors/ExpressRouter.class.ts +48 -48
  133. package/src/subsystems/IO/Router.service/connectors/NullRouter.class.ts +40 -40
  134. package/src/subsystems/IO/Router.service/index.ts +11 -11
  135. package/src/subsystems/IO/Storage.service/SmythFS.class.ts +489 -489
  136. package/src/subsystems/IO/Storage.service/StorageConnector.ts +66 -66
  137. package/src/subsystems/IO/Storage.service/connectors/LocalStorage.class.ts +327 -327
  138. package/src/subsystems/IO/Storage.service/connectors/S3Storage.class.ts +482 -482
  139. package/src/subsystems/IO/Storage.service/index.ts +13 -13
  140. package/src/subsystems/IO/VectorDB.service/VectorDBConnector.ts +108 -108
  141. package/src/subsystems/IO/VectorDB.service/connectors/MilvusVectorDB.class.ts +454 -454
  142. package/src/subsystems/IO/VectorDB.service/connectors/PineconeVectorDB.class.ts +384 -384
  143. package/src/subsystems/IO/VectorDB.service/connectors/RAMVecrtorDB.class.ts +421 -421
  144. package/src/subsystems/IO/VectorDB.service/embed/BaseEmbedding.ts +107 -107
  145. package/src/subsystems/IO/VectorDB.service/embed/OpenAIEmbedding.ts +109 -109
  146. package/src/subsystems/IO/VectorDB.service/embed/index.ts +21 -21
  147. package/src/subsystems/IO/VectorDB.service/index.ts +14 -14
  148. package/src/subsystems/LLMManager/LLM.helper.ts +251 -251
  149. package/src/subsystems/LLMManager/LLM.inference.ts +339 -339
  150. package/src/subsystems/LLMManager/LLM.service/LLMConnector.ts +489 -489
  151. package/src/subsystems/LLMManager/LLM.service/LLMCredentials.helper.ts +171 -171
  152. package/src/subsystems/LLMManager/LLM.service/connectors/Anthropic.class.ts +659 -659
  153. package/src/subsystems/LLMManager/LLM.service/connectors/Bedrock.class.ts +400 -400
  154. package/src/subsystems/LLMManager/LLM.service/connectors/Echo.class.ts +77 -77
  155. package/src/subsystems/LLMManager/LLM.service/connectors/GoogleAI.class.ts +757 -757
  156. package/src/subsystems/LLMManager/LLM.service/connectors/Groq.class.ts +304 -291
  157. package/src/subsystems/LLMManager/LLM.service/connectors/Perplexity.class.ts +250 -250
  158. package/src/subsystems/LLMManager/LLM.service/connectors/VertexAI.class.ts +423 -423
  159. package/src/subsystems/LLMManager/LLM.service/connectors/openai/OpenAIConnector.class.ts +488 -455
  160. package/src/subsystems/LLMManager/LLM.service/connectors/openai/apiInterfaces/ChatCompletionsApiInterface.ts +528 -528
  161. package/src/subsystems/LLMManager/LLM.service/connectors/openai/apiInterfaces/OpenAIApiInterface.ts +100 -100
  162. package/src/subsystems/LLMManager/LLM.service/connectors/openai/apiInterfaces/OpenAIApiInterfaceFactory.ts +81 -81
  163. package/src/subsystems/LLMManager/LLM.service/connectors/openai/apiInterfaces/ResponsesApiInterface.ts +1168 -853
  164. package/src/subsystems/LLMManager/LLM.service/connectors/openai/apiInterfaces/constants.ts +13 -37
  165. package/src/subsystems/LLMManager/LLM.service/connectors/openai/apiInterfaces/index.ts +4 -4
  166. package/src/subsystems/LLMManager/LLM.service/connectors/openai/apiInterfaces/utils.ts +11 -0
  167. package/src/subsystems/LLMManager/LLM.service/connectors/openai/types.ts +32 -37
  168. package/src/subsystems/LLMManager/LLM.service/connectors/xAI.class.ts +471 -471
  169. package/src/subsystems/LLMManager/LLM.service/index.ts +44 -44
  170. package/src/subsystems/LLMManager/ModelsProvider.service/ModelsProviderConnector.ts +300 -300
  171. package/src/subsystems/LLMManager/ModelsProvider.service/connectors/JSONModelsProvider.class.ts +252 -252
  172. package/src/subsystems/LLMManager/ModelsProvider.service/index.ts +11 -11
  173. package/src/subsystems/LLMManager/custom-models.ts +854 -854
  174. package/src/subsystems/LLMManager/models.ts +2540 -2540
  175. package/src/subsystems/LLMManager/paramMappings.ts +69 -69
  176. package/src/subsystems/MemoryManager/Cache.service/CacheConnector.ts +86 -86
  177. package/src/subsystems/MemoryManager/Cache.service/connectors/LocalStorageCache.class.ts +297 -297
  178. package/src/subsystems/MemoryManager/Cache.service/connectors/RAMCache.class.ts +201 -201
  179. package/src/subsystems/MemoryManager/Cache.service/connectors/RedisCache.class.ts +252 -252
  180. package/src/subsystems/MemoryManager/Cache.service/connectors/S3Cache.class.ts +373 -373
  181. package/src/subsystems/MemoryManager/Cache.service/index.ts +15 -15
  182. package/src/subsystems/MemoryManager/LLMCache.ts +72 -72
  183. package/src/subsystems/MemoryManager/LLMContext.ts +124 -124
  184. package/src/subsystems/MemoryManager/LLMMemory.service/LLMMemoryConnector.ts +26 -26
  185. package/src/subsystems/MemoryManager/RuntimeContext.ts +266 -266
  186. package/src/subsystems/Security/AccessControl/ACL.class.ts +208 -208
  187. package/src/subsystems/Security/AccessControl/AccessCandidate.class.ts +82 -82
  188. package/src/subsystems/Security/AccessControl/AccessRequest.class.ts +52 -52
  189. package/src/subsystems/Security/Account.service/AccountConnector.ts +44 -44
  190. package/src/subsystems/Security/Account.service/connectors/AWSAccount.class.ts +76 -76
  191. package/src/subsystems/Security/Account.service/connectors/DummyAccount.class.ts +130 -130
  192. package/src/subsystems/Security/Account.service/connectors/JSONFileAccount.class.ts +159 -159
  193. package/src/subsystems/Security/Account.service/index.ts +14 -14
  194. package/src/subsystems/Security/Credentials.helper.ts +62 -62
  195. package/src/subsystems/Security/ManagedVault.service/ManagedVaultConnector.ts +38 -38
  196. package/src/subsystems/Security/ManagedVault.service/connectors/NullManagedVault.class.ts +53 -53
  197. package/src/subsystems/Security/ManagedVault.service/connectors/SecretManagerManagedVault.ts +154 -154
  198. package/src/subsystems/Security/ManagedVault.service/index.ts +12 -12
  199. package/src/subsystems/Security/SecureConnector.class.ts +110 -110
  200. package/src/subsystems/Security/Vault.service/Vault.helper.ts +30 -30
  201. package/src/subsystems/Security/Vault.service/VaultConnector.ts +29 -29
  202. package/src/subsystems/Security/Vault.service/connectors/HashicorpVault.class.ts +46 -46
  203. package/src/subsystems/Security/Vault.service/connectors/JSONFileVault.class.ts +221 -221
  204. package/src/subsystems/Security/Vault.service/connectors/NullVault.class.ts +54 -54
  205. package/src/subsystems/Security/Vault.service/connectors/SecretsManager.class.ts +140 -140
  206. package/src/subsystems/Security/Vault.service/index.ts +12 -12
  207. package/src/types/ACL.types.ts +104 -104
  208. package/src/types/AWS.types.ts +10 -10
  209. package/src/types/Agent.types.ts +61 -61
  210. package/src/types/AgentLogger.types.ts +17 -17
  211. package/src/types/Cache.types.ts +1 -1
  212. package/src/types/Common.types.ts +2 -2
  213. package/src/types/LLM.types.ts +496 -491
  214. package/src/types/Redis.types.ts +8 -8
  215. package/src/types/SRE.types.ts +64 -64
  216. package/src/types/Security.types.ts +14 -14
  217. package/src/types/Storage.types.ts +5 -5
  218. package/src/types/VectorDB.types.ts +86 -86
  219. package/src/utils/base64.utils.ts +275 -275
  220. package/src/utils/cli.utils.ts +68 -68
  221. package/src/utils/data.utils.ts +322 -322
  222. package/src/utils/date-time.utils.ts +22 -22
  223. package/src/utils/general.utils.ts +238 -238
  224. package/src/utils/index.ts +12 -12
  225. package/src/utils/lazy-client.ts +261 -261
  226. package/src/utils/numbers.utils.ts +13 -13
  227. package/src/utils/oauth.utils.ts +35 -35
  228. package/src/utils/string.utils.ts +414 -414
  229. package/src/utils/url.utils.ts +19 -19
  230. package/src/utils/validation.utils.ts +74 -74
  231. package/dist/bundle-analysis-lazy.html +0 -4949
  232. package/dist/bundle-analysis.html +0 -4949
  233. 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(code: string): string;
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(code: string): {
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[];
@@ -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 {};
@@ -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
- * Type guard to check if a tool is an OpenAI tool definition
49
+ * Handle web search completed event with proper type safety
51
50
  */
52
- private isOpenAIToolDefinition;
51
+ private handleWebSearchCompleted;
53
52
  /**
54
- * Transform OpenAI tool definitions to Responses.Tool format
53
+ * Handle web search in-progress event (official typed)
55
54
  */
56
- transformToolsConfig(config: ToolConfig): OpenAI.Responses.Tool[];
55
+ private handleWebSearchInProgress;
56
+ /**
57
+ * Handle web search searching event (official typed)
58
+ */
59
+ private handleWebSearchSearching;
57
60
  /**
58
- * Transform assistant message block with tool calls for Responses API
61
+ * Handle output text delta events
59
62
  */
60
- private transformAssistantMessageBlock;
63
+ private handleOutputTextDelta;
61
64
  /**
62
- * Transform individual tool calls to ensure proper formatting
65
+ * Handle output item added events (function calls)
63
66
  */
64
- private transformToolCalls;
67
+ private handleOutputItemAdded;
65
68
  /**
66
- * Transform tool results with comprehensive error handling and type support
69
+ * Handle function call arguments delta events
67
70
  */
68
- private transformToolResults;
71
+ private handleFunctionCallArgumentsDelta;
69
72
  /**
70
- * Create a tool result message for the Responses API format
73
+ * Handle function call arguments done events
71
74
  */
72
- private createToolResultMessage;
75
+ private handleFunctionCallArgumentsDone;
73
76
  /**
74
- * Format tool result content based on type and handle special cases
77
+ * Handle output item done events
75
78
  */
76
- private formatToolResult;
79
+ private handleOutputItemDone;
77
80
  /**
78
- * Format tool error messages with context
81
+ * Handle completion events and unknown event types
79
82
  */
80
- private formatToolError;
83
+ private handleCompletionEvent;
84
+ prepareRequestBody(params: TLLMPreparedParams): Promise<OpenAI.Responses.ResponseCreateParams>;
81
85
  /**
82
- * Normalize content to string format for Responses API
86
+ * Transform OpenAI tool definitions to Responses.Tool format
87
+ * Handles multiple tool definition formats and ensures compatibility
83
88
  */
84
- private normalizeContent;
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
  }
@@ -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: SearchToolCostConfig;
9
+ export declare const SEARCH_TOOL_COSTS: {
10
+ 'gpt-4': number;
11
+ 'gpt-5': number;
12
+ };
@@ -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'];
@@ -32,7 +32,3 @@ export interface CostConfig {
32
32
  [contextSize: string]: number;
33
33
  };
34
34
  }
35
- export interface SearchToolCostConfig {
36
- normalModels: CostConfig;
37
- miniModels: CostConfig;
38
- }
@@ -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' | 'low' | 'medium' | 'high';
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.43",
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": "^4.103.0",
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",