@smythos/sre 1.5.1 → 1.5.4

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 (193) hide show
  1. package/LICENSE +18 -0
  2. package/dist/index.js +22329 -4
  3. package/dist/index.js.map +1 -1
  4. package/dist/types/subsystems/IO/VectorDB.service/connectors/PineconeVectorDB.class.d.ts +2 -2
  5. package/dist/types/subsystems/IO/VectorDB.service/embed/BaseEmbedding.d.ts +11 -7
  6. package/dist/types/types/VectorDB.types.d.ts +13 -11
  7. package/package.json +102 -127
  8. package/src/Components/APICall/APICall.class.ts +155 -0
  9. package/src/Components/APICall/AccessTokenManager.ts +130 -0
  10. package/src/Components/APICall/ArrayBufferResponse.helper.ts +58 -0
  11. package/src/Components/APICall/OAuth.helper.ts +294 -0
  12. package/src/Components/APICall/mimeTypeCategories.ts +46 -0
  13. package/src/Components/APICall/parseData.ts +167 -0
  14. package/src/Components/APICall/parseHeaders.ts +41 -0
  15. package/src/Components/APICall/parseProxy.ts +68 -0
  16. package/src/Components/APICall/parseUrl.ts +91 -0
  17. package/src/Components/APIEndpoint.class.ts +234 -0
  18. package/src/Components/APIOutput.class.ts +58 -0
  19. package/src/Components/AgentPlugin.class.ts +102 -0
  20. package/src/Components/Async.class.ts +155 -0
  21. package/src/Components/Await.class.ts +90 -0
  22. package/src/Components/Classifier.class.ts +158 -0
  23. package/src/Components/Component.class.ts +94 -0
  24. package/src/Components/ComponentHost.class.ts +38 -0
  25. package/src/Components/DataSourceCleaner.class.ts +92 -0
  26. package/src/Components/DataSourceIndexer.class.ts +181 -0
  27. package/src/Components/DataSourceLookup.class.ts +141 -0
  28. package/src/Components/FEncDec.class.ts +29 -0
  29. package/src/Components/FHash.class.ts +33 -0
  30. package/src/Components/FSign.class.ts +80 -0
  31. package/src/Components/FSleep.class.ts +25 -0
  32. package/src/Components/FTimestamp.class.ts +25 -0
  33. package/src/Components/FileStore.class.ts +75 -0
  34. package/src/Components/ForEach.class.ts +97 -0
  35. package/src/Components/GPTPlugin.class.ts +70 -0
  36. package/src/Components/GenAILLM.class.ts +395 -0
  37. package/src/Components/HuggingFace.class.ts +314 -0
  38. package/src/Components/Image/imageSettings.config.ts +70 -0
  39. package/src/Components/ImageGenerator.class.ts +407 -0
  40. package/src/Components/JSONFilter.class.ts +54 -0
  41. package/src/Components/LLMAssistant.class.ts +213 -0
  42. package/src/Components/LogicAND.class.ts +28 -0
  43. package/src/Components/LogicAtLeast.class.ts +85 -0
  44. package/src/Components/LogicAtMost.class.ts +86 -0
  45. package/src/Components/LogicOR.class.ts +29 -0
  46. package/src/Components/LogicXOR.class.ts +34 -0
  47. package/src/Components/MCPClient.class.ts +112 -0
  48. package/src/Components/PromptGenerator.class.ts +122 -0
  49. package/src/Components/ScrapflyWebScrape.class.ts +159 -0
  50. package/src/Components/TavilyWebSearch.class.ts +98 -0
  51. package/src/Components/index.ts +77 -0
  52. package/src/Core/AgentProcess.helper.ts +240 -0
  53. package/src/Core/Connector.class.ts +123 -0
  54. package/src/Core/ConnectorsService.ts +192 -0
  55. package/src/Core/DummyConnector.ts +49 -0
  56. package/src/Core/HookService.ts +105 -0
  57. package/src/Core/SmythRuntime.class.ts +292 -0
  58. package/src/Core/SystemEvents.ts +15 -0
  59. package/src/Core/boot.ts +55 -0
  60. package/src/config.ts +15 -0
  61. package/src/constants.ts +125 -0
  62. package/src/data/hugging-face.params.json +580 -0
  63. package/src/helpers/BinaryInput.helper.ts +324 -0
  64. package/src/helpers/Conversation.helper.ts +1094 -0
  65. package/src/helpers/JsonContent.helper.ts +97 -0
  66. package/src/helpers/LocalCache.helper.ts +97 -0
  67. package/src/helpers/Log.helper.ts +234 -0
  68. package/src/helpers/OpenApiParser.helper.ts +150 -0
  69. package/src/helpers/S3Cache.helper.ts +129 -0
  70. package/src/helpers/SmythURI.helper.ts +5 -0
  71. package/src/helpers/TemplateString.helper.ts +243 -0
  72. package/src/helpers/TypeChecker.helper.ts +329 -0
  73. package/src/index.ts +179 -0
  74. package/src/index.ts.bak +179 -0
  75. package/src/subsystems/AgentManager/Agent.class.ts +1108 -0
  76. package/src/subsystems/AgentManager/Agent.helper.ts +3 -0
  77. package/src/subsystems/AgentManager/AgentData.service/AgentDataConnector.ts +230 -0
  78. package/src/subsystems/AgentManager/AgentData.service/connectors/CLIAgentDataConnector.class.ts +66 -0
  79. package/src/subsystems/AgentManager/AgentData.service/connectors/LocalAgentDataConnector.class.ts +142 -0
  80. package/src/subsystems/AgentManager/AgentData.service/connectors/NullAgentData.class.ts +39 -0
  81. package/src/subsystems/AgentManager/AgentData.service/index.ts +18 -0
  82. package/src/subsystems/AgentManager/AgentLogger.class.ts +297 -0
  83. package/src/subsystems/AgentManager/AgentRequest.class.ts +51 -0
  84. package/src/subsystems/AgentManager/AgentRuntime.class.ts +559 -0
  85. package/src/subsystems/AgentManager/AgentSSE.class.ts +101 -0
  86. package/src/subsystems/AgentManager/AgentSettings.class.ts +52 -0
  87. package/src/subsystems/AgentManager/Component.service/ComponentConnector.ts +32 -0
  88. package/src/subsystems/AgentManager/Component.service/connectors/LocalComponentConnector.class.ts +59 -0
  89. package/src/subsystems/AgentManager/Component.service/index.ts +11 -0
  90. package/src/subsystems/AgentManager/EmbodimentSettings.class.ts +47 -0
  91. package/src/subsystems/AgentManager/ForkedAgent.class.ts +153 -0
  92. package/src/subsystems/AgentManager/OSResourceMonitor.ts +77 -0
  93. package/src/subsystems/ComputeManager/Code.service/CodeConnector.ts +99 -0
  94. package/src/subsystems/ComputeManager/Code.service/connectors/AWSLambdaCode.class.ts +63 -0
  95. package/src/subsystems/ComputeManager/Code.service/index.ts +11 -0
  96. package/src/subsystems/IO/CLI.service/CLIConnector.ts +47 -0
  97. package/src/subsystems/IO/CLI.service/index.ts +9 -0
  98. package/src/subsystems/IO/Log.service/LogConnector.ts +32 -0
  99. package/src/subsystems/IO/Log.service/connectors/ConsoleLog.class.ts +28 -0
  100. package/src/subsystems/IO/Log.service/index.ts +13 -0
  101. package/src/subsystems/IO/NKV.service/NKVConnector.ts +41 -0
  102. package/src/subsystems/IO/NKV.service/connectors/NKVRAM.class.ts +204 -0
  103. package/src/subsystems/IO/NKV.service/connectors/NKVRedis.class.ts +182 -0
  104. package/src/subsystems/IO/NKV.service/index.ts +12 -0
  105. package/src/subsystems/IO/Router.service/RouterConnector.ts +21 -0
  106. package/src/subsystems/IO/Router.service/connectors/ExpressRouter.class.ts +48 -0
  107. package/src/subsystems/IO/Router.service/connectors/NullRouter.class.ts +40 -0
  108. package/src/subsystems/IO/Router.service/index.ts +11 -0
  109. package/src/subsystems/IO/Storage.service/SmythFS.class.ts +472 -0
  110. package/src/subsystems/IO/Storage.service/StorageConnector.ts +66 -0
  111. package/src/subsystems/IO/Storage.service/connectors/LocalStorage.class.ts +305 -0
  112. package/src/subsystems/IO/Storage.service/connectors/S3Storage.class.ts +418 -0
  113. package/src/subsystems/IO/Storage.service/index.ts +13 -0
  114. package/src/subsystems/IO/VectorDB.service/VectorDBConnector.ts +108 -0
  115. package/src/subsystems/IO/VectorDB.service/connectors/MilvusVectorDB.class.ts +454 -0
  116. package/src/subsystems/IO/VectorDB.service/connectors/PineconeVectorDB.class.ts +384 -0
  117. package/src/subsystems/IO/VectorDB.service/connectors/RAMVecrtorDB.class.ts +421 -0
  118. package/src/subsystems/IO/VectorDB.service/embed/BaseEmbedding.ts +107 -0
  119. package/src/subsystems/IO/VectorDB.service/embed/OpenAIEmbedding.ts +109 -0
  120. package/src/subsystems/IO/VectorDB.service/embed/index.ts +21 -0
  121. package/src/subsystems/IO/VectorDB.service/index.ts +14 -0
  122. package/src/subsystems/LLMManager/LLM.helper.ts +221 -0
  123. package/src/subsystems/LLMManager/LLM.inference.ts +335 -0
  124. package/src/subsystems/LLMManager/LLM.service/LLMConnector.ts +375 -0
  125. package/src/subsystems/LLMManager/LLM.service/LLMCredentials.helper.ts +145 -0
  126. package/src/subsystems/LLMManager/LLM.service/connectors/Anthropic.class.ts +632 -0
  127. package/src/subsystems/LLMManager/LLM.service/connectors/Bedrock.class.ts +405 -0
  128. package/src/subsystems/LLMManager/LLM.service/connectors/Echo.class.ts +81 -0
  129. package/src/subsystems/LLMManager/LLM.service/connectors/GoogleAI.class.ts +689 -0
  130. package/src/subsystems/LLMManager/LLM.service/connectors/Groq.class.ts +257 -0
  131. package/src/subsystems/LLMManager/LLM.service/connectors/OpenAI.class.ts +848 -0
  132. package/src/subsystems/LLMManager/LLM.service/connectors/Perplexity.class.ts +255 -0
  133. package/src/subsystems/LLMManager/LLM.service/connectors/VertexAI.class.ts +193 -0
  134. package/src/subsystems/LLMManager/LLM.service/index.ts +43 -0
  135. package/src/subsystems/LLMManager/ModelsProvider.service/ModelsProviderConnector.ts +281 -0
  136. package/src/subsystems/LLMManager/ModelsProvider.service/connectors/SmythModelsProvider.class.ts +229 -0
  137. package/src/subsystems/LLMManager/ModelsProvider.service/index.ts +11 -0
  138. package/src/subsystems/LLMManager/custom-models.ts +854 -0
  139. package/src/subsystems/LLMManager/models.ts +2539 -0
  140. package/src/subsystems/LLMManager/paramMappings.ts +69 -0
  141. package/src/subsystems/MemoryManager/Cache.service/CacheConnector.ts +86 -0
  142. package/src/subsystems/MemoryManager/Cache.service/connectors/LocalStorageCache.class.ts +297 -0
  143. package/src/subsystems/MemoryManager/Cache.service/connectors/RAMCache.class.ts +201 -0
  144. package/src/subsystems/MemoryManager/Cache.service/connectors/RedisCache.class.ts +252 -0
  145. package/src/subsystems/MemoryManager/Cache.service/connectors/S3Cache.class.ts +373 -0
  146. package/src/subsystems/MemoryManager/Cache.service/index.ts +15 -0
  147. package/src/subsystems/MemoryManager/LLMCache.ts +72 -0
  148. package/src/subsystems/MemoryManager/LLMContext.ts +125 -0
  149. package/src/subsystems/MemoryManager/RuntimeContext.ts +249 -0
  150. package/src/subsystems/Security/AccessControl/ACL.class.ts +208 -0
  151. package/src/subsystems/Security/AccessControl/AccessCandidate.class.ts +76 -0
  152. package/src/subsystems/Security/AccessControl/AccessRequest.class.ts +52 -0
  153. package/src/subsystems/Security/Account.service/AccountConnector.ts +41 -0
  154. package/src/subsystems/Security/Account.service/connectors/AWSAccount.class.ts +76 -0
  155. package/src/subsystems/Security/Account.service/connectors/DummyAccount.class.ts +130 -0
  156. package/src/subsystems/Security/Account.service/connectors/JSONFileAccount.class.ts +159 -0
  157. package/src/subsystems/Security/Account.service/index.ts +14 -0
  158. package/src/subsystems/Security/Credentials.helper.ts +62 -0
  159. package/src/subsystems/Security/ManagedVault.service/ManagedVaultConnector.ts +34 -0
  160. package/src/subsystems/Security/ManagedVault.service/connectors/NullManagedVault.class.ts +57 -0
  161. package/src/subsystems/Security/ManagedVault.service/connectors/SecretManagerManagedVault.ts +154 -0
  162. package/src/subsystems/Security/ManagedVault.service/index.ts +12 -0
  163. package/src/subsystems/Security/SecureConnector.class.ts +110 -0
  164. package/src/subsystems/Security/Vault.service/Vault.helper.ts +30 -0
  165. package/src/subsystems/Security/Vault.service/VaultConnector.ts +26 -0
  166. package/src/subsystems/Security/Vault.service/connectors/HashicorpVault.class.ts +46 -0
  167. package/src/subsystems/Security/Vault.service/connectors/JSONFileVault.class.ts +166 -0
  168. package/src/subsystems/Security/Vault.service/connectors/NullVault.class.ts +54 -0
  169. package/src/subsystems/Security/Vault.service/connectors/SecretsManager.class.ts +140 -0
  170. package/src/subsystems/Security/Vault.service/index.ts +12 -0
  171. package/src/types/ACL.types.ts +104 -0
  172. package/src/types/AWS.types.ts +9 -0
  173. package/src/types/Agent.types.ts +61 -0
  174. package/src/types/AgentLogger.types.ts +17 -0
  175. package/src/types/Cache.types.ts +1 -0
  176. package/src/types/Common.types.ts +3 -0
  177. package/src/types/LLM.types.ts +419 -0
  178. package/src/types/Redis.types.ts +8 -0
  179. package/src/types/SRE.types.ts +64 -0
  180. package/src/types/Security.types.ts +18 -0
  181. package/src/types/Storage.types.ts +5 -0
  182. package/src/types/VectorDB.types.ts +86 -0
  183. package/src/utils/base64.utils.ts +275 -0
  184. package/src/utils/cli.utils.ts +68 -0
  185. package/src/utils/data.utils.ts +263 -0
  186. package/src/utils/date-time.utils.ts +22 -0
  187. package/src/utils/general.utils.ts +238 -0
  188. package/src/utils/index.ts +12 -0
  189. package/src/utils/numbers.utils.ts +13 -0
  190. package/src/utils/oauth.utils.ts +35 -0
  191. package/src/utils/string.utils.ts +414 -0
  192. package/src/utils/url.utils.ts +19 -0
  193. package/src/utils/validation.utils.ts +74 -0
@@ -0,0 +1,140 @@
1
+ import { ConnectorService } from '@sre/Core/ConnectorsService';
2
+ import { Logger } from '@sre/helpers/Log.helper';
3
+ //import { SmythRuntime } from '@sre/Core/SmythRuntime.class';
4
+ import { AccessCandidate } from '@sre/Security/AccessControl/AccessCandidate.class';
5
+ import { AccessRequest } from '@sre/Security/AccessControl/AccessRequest.class';
6
+ import { ACL } from '@sre/Security/AccessControl/ACL.class';
7
+ import { SecureConnector } from '@sre/Security/SecureConnector.class';
8
+ import { IAccessCandidate, TAccessLevel, TAccessRole } from '@sre/types/ACL.types';
9
+ import { VaultConnector } from '../VaultConnector';
10
+ import {
11
+ SecretsManagerClient,
12
+ GetSecretValueCommand,
13
+ ListSecretsCommand,
14
+ ListSecretsCommandOutput,
15
+ GetSecretValueCommandOutput,
16
+ } from '@aws-sdk/client-secrets-manager';
17
+
18
+ const console = Logger('SecretsManager');
19
+
20
+ export type SecretsManagerConfig = {
21
+ region: string;
22
+ awsAccessKeyId?: string;
23
+ awsSecretAccessKey?: string;
24
+ };
25
+ export class SecretsManager extends VaultConnector {
26
+ public name: string = 'SecretsManager';
27
+ private secretsManager: SecretsManagerClient;
28
+
29
+ constructor(protected _settings: SecretsManagerConfig) {
30
+ super(_settings);
31
+ //if (!SmythRuntime.Instance) throw new Error('SRE not initialized');
32
+
33
+ this.secretsManager = new SecretsManagerClient({
34
+ region: _settings.region,
35
+ ...(_settings.awsAccessKeyId && _settings.awsSecretAccessKey
36
+ ? {
37
+ accessKeyId: _settings.awsAccessKeyId,
38
+ secretAccessKey: _settings.awsSecretAccessKey,
39
+ }
40
+ : {}),
41
+ });
42
+ }
43
+
44
+ @SecureConnector.AccessControl
45
+ protected async get(acRequest: AccessRequest, secretName: string) {
46
+ try {
47
+ const secret = await this.getSecretByName(secretName);
48
+ return secret?.SecretString;
49
+ } catch (error) {
50
+ console.error(error);
51
+ throw error;
52
+ }
53
+ }
54
+
55
+ @SecureConnector.AccessControl
56
+ protected async exists(acRequest: AccessRequest, keyId: string) {
57
+ const secret = await this.get(acRequest, keyId);
58
+ return !!secret;
59
+ }
60
+
61
+ @SecureConnector.AccessControl
62
+ protected async listKeys(acRequest: AccessRequest) {
63
+ console.warn('SecretsManager.listKeys is not implemented');
64
+ return [];
65
+ }
66
+
67
+ public async getResourceACL(resourceId: string, candidate: IAccessCandidate) {
68
+ const accountConnector = ConnectorService.getAccountConnector();
69
+ const teamId = await accountConnector.getCandidateTeam(candidate);
70
+
71
+ const acl = new ACL();
72
+
73
+ acl.addAccess(TAccessRole.Team, teamId, TAccessLevel.Owner)
74
+ .addAccess(TAccessRole.Team, teamId, TAccessLevel.Read)
75
+ .addAccess(TAccessRole.Team, teamId, TAccessLevel.Write);
76
+
77
+ return acl;
78
+ }
79
+
80
+ private async getSecretByName(secretName: string) {
81
+ try {
82
+ const secrets = [];
83
+ let nextToken: string | undefined;
84
+ do {
85
+ const listResponse: ListSecretsCommandOutput = await this.secretsManager.send(
86
+ new ListSecretsCommand({ NextToken: nextToken, Filters: [{ Key: 'tag-key', Values: ['smyth-vault'] }] })
87
+ );
88
+ if (listResponse.SecretList) {
89
+ for (const secret of listResponse.SecretList) {
90
+ if (secret.Name) {
91
+ secrets.push({
92
+ ARN: secret.ARN,
93
+ Name: secret.Name,
94
+ CreatedDate: secret.CreatedDate,
95
+ });
96
+ }
97
+ }
98
+ }
99
+ nextToken = listResponse.NextToken;
100
+ } while (nextToken);
101
+
102
+ const formattedSecrets = [];
103
+ const $promises = [];
104
+ for (const secret of secrets) {
105
+ $promises.push(getSpecificSecret(secret, this.secretsManager));
106
+ }
107
+ const results = await Promise.all($promises);
108
+ for (const result of results) {
109
+ formattedSecrets.push(result);
110
+ }
111
+ const secret = formattedSecrets.find((s) => s.Name === secretName);
112
+ return secret;
113
+ } catch (error) {
114
+ console.error(error);
115
+ }
116
+
117
+ async function getSpecificSecret(secret, secretsManager: SecretsManagerClient) {
118
+ const data: GetSecretValueCommandOutput = await secretsManager.send(new GetSecretValueCommand({ SecretId: secret.ARN }));
119
+ let secretString = data.SecretString;
120
+ let secretName = secret.Name;
121
+
122
+ if (secretString) {
123
+ try {
124
+ let parsedSecret = JSON.parse(secretString);
125
+ if (Object.keys(parsedSecret).length === 1) {
126
+ secretName = Object.keys(parsedSecret)[0];
127
+ secretString = parsedSecret[secretName];
128
+ }
129
+ } catch (error) {}
130
+ }
131
+ return {
132
+ Name: secretName,
133
+ ARN: secret.ARN,
134
+ CreatedDate: secret.CreatedDate,
135
+ SecretId: secret.Name,
136
+ SecretString: secretString,
137
+ };
138
+ }
139
+ }
140
+ }
@@ -0,0 +1,12 @@
1
+ import { ConnectorService, ConnectorServiceProvider } from '@sre/Core/ConnectorsService';
2
+ import { TConnectorService } from '@sre/types/SRE.types';
3
+ import { JSONFileVault } from './connectors/JSONFileVault.class';
4
+ import { SecretsManager } from './connectors/SecretsManager.class';
5
+ import { NullVault } from './connectors/NullVault.class';
6
+ export class VaultService extends ConnectorServiceProvider {
7
+ public register() {
8
+ ConnectorService.register(TConnectorService.Vault, 'JSONFileVault', JSONFileVault);
9
+ ConnectorService.register(TConnectorService.Vault, 'SecretsManager', SecretsManager);
10
+ ConnectorService.register(TConnectorService.Vault, 'NullVault', NullVault);
11
+ }
12
+ }
@@ -0,0 +1,104 @@
1
+ //==[ SRE: ACL Types ]======================
2
+ export const DEFAULT_TEAM_ID = 'default';
3
+
4
+ export enum TAccessLevel {
5
+ None = 'none',
6
+ Owner = 'owner',
7
+ Read = 'read',
8
+ Write = 'write',
9
+ }
10
+
11
+ export enum TAccessRole {
12
+ Agent = 'agent',
13
+ User = 'user',
14
+ Team = 'team',
15
+ Public = 'public',
16
+ }
17
+
18
+ // role and level mappings are used for ACL serialization / deserialization
19
+ export const RoleMap = {
20
+ user: 'u',
21
+ agent: 'a',
22
+ team: 't',
23
+ public: 'p',
24
+ };
25
+
26
+ export const LevelMap = {
27
+ none: 'n',
28
+ owner: 'o',
29
+ read: 'r',
30
+ write: 'w',
31
+ };
32
+
33
+ // Reverse mappings
34
+ export const ReverseRoleMap = Object.fromEntries(Object.entries(RoleMap).map(([k, v]) => [v, k]));
35
+ export const ReverseLevelMap = Object.fromEntries(Object.entries(LevelMap).map(([k, v]) => [v, k]));
36
+
37
+ /**
38
+ * an ACLEntry is a list of access levels for a given owner.
39
+ * an owner can be an agent, a user, a team or the public.
40
+ */
41
+ export type TACLEntry = {
42
+ [hashedOwnerKey: string]: TAccessLevel[] | undefined;
43
+ };
44
+ /**
45
+ * The Access Control List (ACL) is a list of access rights for a given resource.
46
+ * Each entry in this ACL represents a role
47
+ * Role entries define a list of owners of the resource and the access levels they have.
48
+ * e.g.
49
+ * The following ACL defines that agentA and teamA has read and write access, while agentB and teamC has read access.
50
+ * {
51
+ * agent: {
52
+ * 'agentA': ['read', 'write'],
53
+ * 'agentB': ['read'],
54
+ * },
55
+ * team: {
56
+ * 'teamA': ['read', 'write'],
57
+ * 'teamC': ['read'],
58
+ * }
59
+ * }
60
+ */
61
+ // prettier-ignore
62
+ export interface IACL {
63
+ hashAlgorithm?: string | undefined;
64
+ entries?: {
65
+ [key in TAccessRole]?: TACLEntry | undefined;
66
+ };
67
+ migrated?: boolean | undefined;
68
+ }
69
+
70
+ // export type TACLMetadata = {
71
+ // acl?: TACL | undefined;
72
+ // };
73
+
74
+ export interface IAccessCandidate {
75
+ role: TAccessRole;
76
+ id: string;
77
+ }
78
+
79
+ export interface IAccessRequest {
80
+ id: string;
81
+ resourceId: string;
82
+ candidate: IAccessCandidate;
83
+ level: TAccessLevel | TAccessLevel[];
84
+ }
85
+
86
+ export enum TAccessResult {
87
+ Granted = 'granted',
88
+ Denied = 'denied',
89
+ }
90
+
91
+ export type TAccessTicket = {
92
+ request: IAccessRequest;
93
+ access: TAccessResult;
94
+ };
95
+
96
+ //custom errors
97
+
98
+ //access denied error
99
+ export class ACLAccessDeniedError extends Error {
100
+ constructor(message?: string) {
101
+ super(message);
102
+ this.name = 'ACLAccessDeniedError';
103
+ }
104
+ }
@@ -0,0 +1,9 @@
1
+ //==[ SRE: AWS Types ]======================
2
+ export type AWSCredentials = {
3
+ accessKeyId: string;
4
+ secretAccessKey: string;
5
+ };
6
+
7
+ export type AWSRegionConfig = {
8
+ region: string;
9
+ };
@@ -0,0 +1,61 @@
1
+ import { AgentRequest } from '@sre/AgentManager/AgentRequest.class';
2
+ import { AgentRuntime } from '@sre/AgentManager/AgentRuntime.class';
3
+
4
+ import { AgentSSE } from '@sre/AgentManager/AgentSSE.class';
5
+ import { IModelsProviderRequest } from '@sre/LLMManager/ModelsProvider.service/ModelsProviderConnector';
6
+
7
+ export type TAgentProcessParams = {
8
+ method: string;
9
+ path: string;
10
+ body?: Record<string, any>;
11
+ query?: Record<string, any>;
12
+ headers?: Record<string, string>;
13
+ params?: any;
14
+ };
15
+
16
+ //TODO : refactor & document this interface
17
+ export interface IAgent {
18
+ id: any;
19
+ jobID: any; //forkedAgent
20
+ async: boolean; //forkedAgent
21
+ agentSettings: any;
22
+ name: any;
23
+ data: any;
24
+ teamId: any;
25
+ components: any;
26
+ connections: any;
27
+ endpoints: any;
28
+ sessionId: any;
29
+ sessionTag: any;
30
+ callerSessionId: any;
31
+ apiBasePath: any;
32
+ agentRuntime: AgentRuntime | any;
33
+ usingTestDomain: any;
34
+ domain: any;
35
+ debugSessionEnabled: any;
36
+ circularLimit: any;
37
+ version: any;
38
+ agentVariables: any;
39
+ kill: any;
40
+ sse: AgentSSE;
41
+ modelsProvider: IModelsProviderRequest;
42
+ agentRequest: AgentRequest | any;
43
+ callback: (data: any) => void;
44
+ setRequest: (agentRequest: AgentRequest | any) => void;
45
+ setCallback: (callback: (data: any) => void) => void;
46
+
47
+ isKilled: () => boolean;
48
+
49
+ process: (endpointPath: string, input: any) => Promise<any>;
50
+ postProcess: (result: any) => Promise<any>;
51
+
52
+ addSSE: (sseSource: Response | AgentSSE, monitorId?: string) => void;
53
+
54
+ getConnectionSource: (connection: any) => any;
55
+ getConnectionTarget: (connection: any) => any;
56
+ findReadablePredecessors: (componentId: string) => any[];
57
+
58
+ callComponent: (sourceId: string, componentId: string, input?: any) => Promise<any>;
59
+ JSONExpression: (obj: any, propertyString: string) => any;
60
+ callNextComponents: (componentId: string, output: any) => Promise<any>;
61
+ }
@@ -0,0 +1,17 @@
1
+ //==[ SRE: ACL Types ]======================
2
+ export type AgentCallLog = {
3
+ sourceId?: any;
4
+ componentId?: any;
5
+ domain?: any;
6
+ input?: any;
7
+ output?: any;
8
+ inputTimestamp?: any;
9
+ outputTimestamp?: any;
10
+ result?: any;
11
+ error?: any;
12
+ sessionID?: any;
13
+ tags?: string;
14
+ step?: number;
15
+ workflowID?: string;
16
+ processID?: string;
17
+ };
@@ -0,0 +1 @@
1
+ export type CacheMetadata = Record<string, any> | undefined;
@@ -0,0 +1,3 @@
1
+ export type KeyValueObject = {
2
+ [key: string]: any;
3
+ };