@memberjunction/ai-engine-base 3.4.0 → 4.0.0
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/dist/AIAgentPermissionHelper.d.ts +45 -0
- package/dist/AIAgentPermissionHelper.d.ts.map +1 -1
- package/dist/AIAgentPermissionHelper.js +73 -20
- package/dist/AIAgentPermissionHelper.js.map +1 -1
- package/dist/AICredentialBindingEntityExtended.d.ts +33 -1
- package/dist/AICredentialBindingEntityExtended.d.ts.map +1 -1
- package/dist/AICredentialBindingEntityExtended.js +58 -22
- package/dist/AICredentialBindingEntityExtended.js.map +1 -1
- package/dist/BaseAIEngine.d.ts +310 -1
- package/dist/BaseAIEngine.d.ts.map +1 -1
- package/dist/BaseAIEngine.js +378 -41
- package/dist/BaseAIEngine.js.map +1 -1
- package/dist/PriceUnitTypes.d.ts +32 -1
- package/dist/PriceUnitTypes.d.ts.map +1 -1
- package/dist/PriceUnitTypes.js +40 -21
- package/dist/PriceUnitTypes.js.map +1 -1
- package/dist/index.d.ts +4 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -28
- package/dist/index.js.map +1 -1
- package/package.json +13 -12
package/dist/BaseAIEngine.d.ts
CHANGED
|
@@ -1,20 +1,38 @@
|
|
|
1
1
|
import { BaseEngine, IMetadataProvider, UserInfo } from "@memberjunction/core";
|
|
2
2
|
import { AIActionEntity, AIAgentActionEntity, AIAgentNoteEntity, AIAgentNoteTypeEntity, AIModelActionEntity, AIPromptModelEntity, AIPromptTypeEntity, AIResultCacheEntity, AIVendorTypeDefinitionEntity, ArtifactTypeEntity, EntityAIActionEntity, VectorDatabaseEntity, AIAgentPromptEntity, AIAgentTypeEntity, AIVendorEntity, AIModelVendorEntity, AIModelTypeEntity, AIModelCostEntity, AIModelPriceTypeEntity, AIModelPriceUnitTypeEntity, AIConfigurationEntity, AIConfigurationParamEntity, AIAgentStepEntity, AIAgentStepPathEntity, AIAgentRelationshipEntity, AIAgentPermissionEntity, AIAgentDataSourceEntity, AIAgentConfigurationEntity, AIAgentExampleEntity, AICredentialBindingEntity, AIModalityEntity, AIAgentModalityEntity, AIModelModalityEntity } from "@memberjunction/core-entities";
|
|
3
|
-
import { EffectiveAgentPermissions } from "./AIAgentPermissionHelper";
|
|
3
|
+
import { EffectiveAgentPermissions } from "./AIAgentPermissionHelper.js";
|
|
4
4
|
import { AIPromptEntityExtended, AIPromptCategoryEntityExtended, AIModelEntityExtended, AIAgentEntityExtended } from "@memberjunction/ai-core-plus";
|
|
5
|
+
/**
|
|
6
|
+
* Represents the effective limits for a specific modality (e.g., Image, Audio).
|
|
7
|
+
* These limits are resolved using the precedence chain: Agent → Model → System → Defaults.
|
|
8
|
+
*/
|
|
5
9
|
export interface ModalityLimits {
|
|
10
|
+
/** Maximum size in bytes for this modality. Null means no limit. */
|
|
6
11
|
maxSizeBytes: number | null;
|
|
12
|
+
/** Maximum count of items per message for this modality. Null means no limit. */
|
|
7
13
|
maxCountPerMessage: number | null;
|
|
14
|
+
/** Maximum dimension (width/height for images). Only applicable for image modality. Null means no limit. */
|
|
8
15
|
maxDimension: number | null;
|
|
16
|
+
/** Supported formats as a comma-delimited string (e.g., "image/png, image/jpeg"). Null means all formats. */
|
|
9
17
|
supportedFormats: string | null;
|
|
18
|
+
/** Indicates whether this modality is allowed/supported. */
|
|
10
19
|
isAllowed: boolean;
|
|
20
|
+
/** The source of the limits ('Agent', 'Model', 'System', or 'Default') */
|
|
11
21
|
source: 'Agent' | 'Model' | 'System' | 'Default';
|
|
12
22
|
}
|
|
23
|
+
/**
|
|
24
|
+
* Aggregated attachment limits for an agent, combining all relevant input modalities.
|
|
25
|
+
*/
|
|
13
26
|
export interface AgentAttachmentLimits {
|
|
27
|
+
/** Whether attachments are enabled for this agent */
|
|
14
28
|
enabled: boolean;
|
|
29
|
+
/** Maximum total attachments per message across all modalities */
|
|
15
30
|
maxAttachments: number;
|
|
31
|
+
/** Maximum size in bytes for any single attachment */
|
|
16
32
|
maxAttachmentSizeBytes: number;
|
|
33
|
+
/** Accepted file types as a pattern (e.g., "image/*" or "image/*,audio/*") */
|
|
17
34
|
acceptedFileTypes: string;
|
|
35
|
+
/** Individual modality limits */
|
|
18
36
|
modalities: Map<string, ModalityLimits>;
|
|
19
37
|
}
|
|
20
38
|
export declare class AIEngineBase extends BaseEngine<AIEngineBase> {
|
|
@@ -51,22 +69,77 @@ export declare class AIEngineBase extends BaseEngine<AIEngineBase> {
|
|
|
51
69
|
private _modalities;
|
|
52
70
|
private _agentModalities;
|
|
53
71
|
private _modelModalities;
|
|
72
|
+
/**
|
|
73
|
+
* Cache for configuration inheritance chains.
|
|
74
|
+
* Key: configurationId, Value: array of AIConfigurationEntity from child to root
|
|
75
|
+
*/
|
|
54
76
|
private _configurationChainCache;
|
|
55
77
|
Config(forceRefresh?: boolean, contextUser?: UserInfo, provider?: IMetadataProvider): Promise<void>;
|
|
56
78
|
protected AdditionalLoading(contextUser?: UserInfo): Promise<void>;
|
|
79
|
+
/**
|
|
80
|
+
* Convenience method to returns the highest power model for a given vendor and model type. Loads the metadata if not already loaded.
|
|
81
|
+
* @param vendorName - if set to null, undefined, or an empty string, then all models of the specified type are considered
|
|
82
|
+
* @param modelType - the type of model to consider
|
|
83
|
+
* @param contextUser required on the server side
|
|
84
|
+
* @returns
|
|
85
|
+
*/
|
|
57
86
|
GetHighestPowerModel(vendorName: string, modelType: string, contextUser?: UserInfo): Promise<AIModelEntityExtended>;
|
|
87
|
+
/**
|
|
88
|
+
* Convenience method to return the highest power LLM model for a given vendor. Loads the metadata if not already loaded.
|
|
89
|
+
* @param vendorName - if provided, filters to only consider models from the specified vendor, otherwise considers all models
|
|
90
|
+
* @param contextUser
|
|
91
|
+
* @returns
|
|
92
|
+
*/
|
|
58
93
|
GetHighestPowerLLM(vendorName?: string, contextUser?: UserInfo): Promise<AIModelEntityExtended>;
|
|
94
|
+
/**
|
|
95
|
+
* Gets the active cost configuration for a specific model and vendor combination
|
|
96
|
+
* @param modelID - The ID of the AI model
|
|
97
|
+
* @param vendorID - The ID of the vendor
|
|
98
|
+
* @param processingType - 'Realtime' or 'Batch' (defaults to 'Realtime')
|
|
99
|
+
* @returns The active AIModelCostEntity or null if none found
|
|
100
|
+
*/
|
|
59
101
|
GetActiveModelCost(modelID: string, vendorID: string, processingType?: 'Realtime' | 'Batch'): AIModelCostEntity | null;
|
|
60
102
|
get Agents(): AIAgentEntityExtended[];
|
|
61
103
|
get AgentRelationships(): AIAgentRelationshipEntity[];
|
|
104
|
+
/**
|
|
105
|
+
* Returns the sub-agents for a given agent ID, optionally filtering by status.
|
|
106
|
+
* Includes both child agents (ParentID relationship) and related agents (AgentRelationships).
|
|
107
|
+
*
|
|
108
|
+
* @param agentID - The ID of the parent agent to get sub-agents for
|
|
109
|
+
* @param status - Optional status to filter sub-agents by (e.g., 'Active', 'Inactive'). If not provided, all sub-agents are returned.
|
|
110
|
+
* @param relationshipStatus - Optional status to filter agent relationships by. Defaults to 'Active' if not provided.
|
|
111
|
+
* @returns AIAgentEntityExtended[] - Array of sub-agent entities matching the criteria (deduplicated by ID).
|
|
112
|
+
* @memberof
|
|
113
|
+
*/
|
|
62
114
|
GetSubAgents(agentID: string, status?: AIAgentEntityExtended['Status'], relationshipStatus?: AIAgentRelationshipEntity['Status']): AIAgentEntityExtended[];
|
|
63
115
|
get AgentTypes(): AIAgentTypeEntity[];
|
|
64
116
|
GetAgentByName(agentName: string): AIAgentEntityExtended;
|
|
65
117
|
get AgentActions(): AIAgentActionEntity[];
|
|
66
118
|
get AgentPrompts(): AIAgentPromptEntity[];
|
|
119
|
+
/**
|
|
120
|
+
* Cached array of AI Agent Configurations loaded from the database.
|
|
121
|
+
* These define semantic presets for agents (e.g., "Fast", "High Quality").
|
|
122
|
+
*/
|
|
67
123
|
get AgentConfigurations(): AIAgentConfigurationEntity[];
|
|
124
|
+
/**
|
|
125
|
+
* Gets all configuration presets for a specific agent
|
|
126
|
+
* @param agentId The agent ID
|
|
127
|
+
* @param activeOnly If true, only returns Active status presets (default: true)
|
|
128
|
+
* @returns Array of configuration presets sorted by Priority
|
|
129
|
+
*/
|
|
68
130
|
GetAgentConfigurationPresets(agentId: string, activeOnly?: boolean): AIAgentConfigurationEntity[];
|
|
131
|
+
/**
|
|
132
|
+
* Gets the default configuration preset for an agent
|
|
133
|
+
* @param agentId The agent ID
|
|
134
|
+
* @returns The default preset, or undefined if none exists
|
|
135
|
+
*/
|
|
69
136
|
GetDefaultAgentConfigurationPreset(agentId: string): AIAgentConfigurationEntity | undefined;
|
|
137
|
+
/**
|
|
138
|
+
* Gets a specific configuration preset by agent ID and preset name
|
|
139
|
+
* @param agentId The agent ID
|
|
140
|
+
* @param presetName The preset name (e.g., "Fast", "HighQuality")
|
|
141
|
+
* @returns The configuration preset, or undefined if not found
|
|
142
|
+
*/
|
|
70
143
|
GetAgentConfigurationPresetByName(agentId: string, presetName: string): AIAgentConfigurationEntity | undefined;
|
|
71
144
|
get AgentNoteTypes(): AIAgentNoteTypeEntity[];
|
|
72
145
|
get AgentPermissions(): AIAgentPermissionEntity[];
|
|
@@ -77,7 +150,20 @@ export declare class AIEngineBase extends BaseEngine<AIEngineBase> {
|
|
|
77
150
|
get Vendors(): AIVendorEntity[];
|
|
78
151
|
get ModelVendors(): AIModelVendorEntity[];
|
|
79
152
|
get CredentialBindings(): AICredentialBindingEntity[];
|
|
153
|
+
/**
|
|
154
|
+
* Gets credential bindings for a specific target, filtered by binding type and sorted by priority.
|
|
155
|
+
* Only returns active bindings.
|
|
156
|
+
* @param bindingType - The type of binding: 'Vendor', 'ModelVendor', or 'PromptModel'
|
|
157
|
+
* @param targetId - The ID of the target entity (AIVendorID, AIModelVendorID, or AIPromptModelID)
|
|
158
|
+
* @returns Array of active credential bindings sorted by Priority (lower = higher priority)
|
|
159
|
+
*/
|
|
80
160
|
GetCredentialBindingsForTarget(bindingType: 'Vendor' | 'ModelVendor' | 'PromptModel', targetId: string): AICredentialBindingEntity[];
|
|
161
|
+
/**
|
|
162
|
+
* Checks if any credential bindings exist for a specific target.
|
|
163
|
+
* @param bindingType - The type of binding: 'Vendor', 'ModelVendor', or 'PromptModel'
|
|
164
|
+
* @param targetId - The ID of the target entity
|
|
165
|
+
* @returns True if at least one active binding exists
|
|
166
|
+
*/
|
|
81
167
|
HasCredentialBindings(bindingType: 'Vendor' | 'ModelVendor' | 'PromptModel', targetId: string): boolean;
|
|
82
168
|
get ModelTypes(): AIModelTypeEntity[];
|
|
83
169
|
get Prompts(): AIPromptEntityExtended[];
|
|
@@ -86,6 +172,9 @@ export declare class AIEngineBase extends BaseEngine<AIEngineBase> {
|
|
|
86
172
|
get PromptCategories(): AIPromptCategoryEntityExtended[];
|
|
87
173
|
get Models(): AIModelEntityExtended[];
|
|
88
174
|
get ArtifactTypes(): ArtifactTypeEntity[];
|
|
175
|
+
/**
|
|
176
|
+
* Convenience method to return only the Language Models. Loads the metadata if not already loaded.
|
|
177
|
+
*/
|
|
89
178
|
get LanguageModels(): AIModelEntityExtended[];
|
|
90
179
|
get VectorDatabases(): VectorDatabaseEntity[];
|
|
91
180
|
get ModelCosts(): AIModelCostEntity[];
|
|
@@ -93,44 +182,264 @@ export declare class AIEngineBase extends BaseEngine<AIEngineBase> {
|
|
|
93
182
|
get ModelPriceUnitTypes(): AIModelPriceUnitTypeEntity[];
|
|
94
183
|
get Configurations(): AIConfigurationEntity[];
|
|
95
184
|
get ConfigurationParams(): AIConfigurationParamEntity[];
|
|
185
|
+
/**
|
|
186
|
+
* Gets configuration parameters for a specific configuration
|
|
187
|
+
* @param configurationId - The ID of the configuration
|
|
188
|
+
* @returns Array of configuration parameters for the specified configuration
|
|
189
|
+
*/
|
|
96
190
|
GetConfigurationParams(configurationId: string): AIConfigurationParamEntity[];
|
|
191
|
+
/**
|
|
192
|
+
* Gets a specific configuration parameter value
|
|
193
|
+
* @param configurationId - The ID of the configuration
|
|
194
|
+
* @param paramName - The name of the parameter
|
|
195
|
+
* @returns The parameter entity or null if not found
|
|
196
|
+
*/
|
|
97
197
|
GetConfigurationParam(configurationId: string, paramName: string): AIConfigurationParamEntity | null;
|
|
198
|
+
/**
|
|
199
|
+
* Returns the inheritance chain for a configuration, starting with the specified
|
|
200
|
+
* configuration and walking up through parent configurations to the root.
|
|
201
|
+
*
|
|
202
|
+
* The chain is ordered from most-specific (the requested configuration) to
|
|
203
|
+
* least-specific (the root parent with no ParentID).
|
|
204
|
+
*
|
|
205
|
+
* Results are cached for performance. Cache is invalidated when configurations
|
|
206
|
+
* are reloaded via Config().
|
|
207
|
+
*
|
|
208
|
+
* @param configurationId - The ID of the configuration to get the chain for
|
|
209
|
+
* @returns Array of AIConfigurationEntity objects representing the inheritance chain,
|
|
210
|
+
* or empty array if the configuration is not found
|
|
211
|
+
* @throws Error if a circular reference is detected in the configuration hierarchy
|
|
212
|
+
*
|
|
213
|
+
* @example
|
|
214
|
+
* // Single configuration with no parent
|
|
215
|
+
* const chain = AIEngine.Instance.GetConfigurationChain('config-a');
|
|
216
|
+
* // Returns: [ConfigA]
|
|
217
|
+
*
|
|
218
|
+
* @example
|
|
219
|
+
* // Child -> Parent -> Grandparent chain
|
|
220
|
+
* const chain = AIEngine.Instance.GetConfigurationChain('child-config');
|
|
221
|
+
* // Returns: [ChildConfig, ParentConfig, GrandparentConfig]
|
|
222
|
+
*
|
|
223
|
+
* @example
|
|
224
|
+
* // Usage in model selection - first config in chain with a match wins
|
|
225
|
+
* const chain = AIEngine.Instance.GetConfigurationChain(configId);
|
|
226
|
+
* for (const config of chain) {
|
|
227
|
+
* const models = promptModels.filter(pm => pm.ConfigurationID === config.ID);
|
|
228
|
+
* if (models.length > 0) return models;
|
|
229
|
+
* }
|
|
230
|
+
* // Fall back to null-config models if no match in chain
|
|
231
|
+
*/
|
|
98
232
|
GetConfigurationChain(configurationId: string): AIConfigurationEntity[];
|
|
233
|
+
/**
|
|
234
|
+
* Returns all configuration parameters for a configuration, including inherited
|
|
235
|
+
* parameters from parent configurations. Child parameters override parent parameters
|
|
236
|
+
* with the same name (case-insensitive match).
|
|
237
|
+
*
|
|
238
|
+
* The inheritance chain is walked from root to child, so child values take precedence
|
|
239
|
+
* over parent values for parameters with the same name.
|
|
240
|
+
*
|
|
241
|
+
* @param configurationId - The ID of the configuration to get parameters for
|
|
242
|
+
* @returns Array of AIConfigurationParamEntity objects, with child overrides applied.
|
|
243
|
+
* Returns empty array if configuration is not found.
|
|
244
|
+
*
|
|
245
|
+
* @example
|
|
246
|
+
* // Parent has: temperature=0.7, maxTokens=4000
|
|
247
|
+
* // Child has: temperature=0.9
|
|
248
|
+
* // Result: temperature=0.9 (child), maxTokens=4000 (inherited from parent)
|
|
249
|
+
* const params = AIEngine.Instance.GetConfigurationParamsWithInheritance('child-config-id');
|
|
250
|
+
*/
|
|
99
251
|
GetConfigurationParamsWithInheritance(configurationId: string): AIConfigurationParamEntity[];
|
|
100
252
|
get AgentDataSources(): AIAgentDataSourceEntity[];
|
|
101
253
|
get AgentSteps(): AIAgentStepEntity[];
|
|
102
254
|
get AgentStepPaths(): AIAgentStepPathEntity[];
|
|
255
|
+
/**
|
|
256
|
+
* Gets all AI modalities (Text, Image, Audio, Video, File, Embedding, etc.)
|
|
257
|
+
*/
|
|
103
258
|
get Modalities(): AIModalityEntity[];
|
|
259
|
+
/**
|
|
260
|
+
* Gets all agent-modality mappings
|
|
261
|
+
*/
|
|
104
262
|
get AgentModalities(): AIAgentModalityEntity[];
|
|
263
|
+
/**
|
|
264
|
+
* Gets all model-modality mappings
|
|
265
|
+
*/
|
|
105
266
|
get ModelModalities(): AIModelModalityEntity[];
|
|
267
|
+
/**
|
|
268
|
+
* Gets a modality by name (case-insensitive)
|
|
269
|
+
* @param name - The modality name (e.g., 'Text', 'Image', 'Audio', 'Video', 'File')
|
|
270
|
+
* @returns The modality entity or undefined if not found
|
|
271
|
+
*/
|
|
106
272
|
GetModalityByName(name: string): AIModalityEntity | undefined;
|
|
273
|
+
/**
|
|
274
|
+
* Gets all modalities supported by an agent for a given direction
|
|
275
|
+
* @param agentId - The agent ID
|
|
276
|
+
* @param direction - 'Input' or 'Output'
|
|
277
|
+
* @returns Array of modality entities the agent supports
|
|
278
|
+
*/
|
|
107
279
|
GetAgentModalities(agentId: string, direction: 'Input' | 'Output'): AIModalityEntity[];
|
|
280
|
+
/**
|
|
281
|
+
* Gets all modalities supported by a model for a given direction
|
|
282
|
+
* @param modelId - The model ID
|
|
283
|
+
* @param direction - 'Input' or 'Output'
|
|
284
|
+
* @returns Array of modality entities the model supports
|
|
285
|
+
*/
|
|
108
286
|
GetModelModalities(modelId: string, direction: 'Input' | 'Output'): AIModalityEntity[];
|
|
287
|
+
/**
|
|
288
|
+
* Checks if an agent supports a specific modality for a given direction.
|
|
289
|
+
* If no agent modalities are configured, defaults to text-only.
|
|
290
|
+
* @param agentId - The agent ID
|
|
291
|
+
* @param modalityName - The modality name (e.g., 'Image', 'Audio')
|
|
292
|
+
* @param direction - 'Input' or 'Output'
|
|
293
|
+
* @returns True if the agent supports this modality
|
|
294
|
+
*/
|
|
109
295
|
AgentSupportsModality(agentId: string, modalityName: string, direction: 'Input' | 'Output'): boolean;
|
|
296
|
+
/**
|
|
297
|
+
* Checks if a model supports a specific modality for a given direction
|
|
298
|
+
* @param modelId - The model ID
|
|
299
|
+
* @param modalityName - The modality name (e.g., 'Image', 'Audio')
|
|
300
|
+
* @param direction - 'Input' or 'Output'
|
|
301
|
+
* @returns True if the model supports this modality
|
|
302
|
+
*/
|
|
110
303
|
ModelSupportsModality(modelId: string, modalityName: string, direction: 'Input' | 'Output'): boolean;
|
|
304
|
+
/**
|
|
305
|
+
* Checks if an agent supports any non-text input modalities (images, audio, video, files).
|
|
306
|
+
* This is used to determine if attachment upload should be enabled in the UI.
|
|
307
|
+
* @param agentId - The agent ID
|
|
308
|
+
* @returns True if the agent supports at least one non-text input modality
|
|
309
|
+
*/
|
|
111
310
|
AgentSupportsAttachments(agentId: string): boolean;
|
|
311
|
+
/**
|
|
312
|
+
* Gets all input modality names supported by an agent (for UI display/filtering)
|
|
313
|
+
* @param agentId - The agent ID
|
|
314
|
+
* @returns Array of modality names the agent accepts as input
|
|
315
|
+
*/
|
|
112
316
|
GetAgentSupportedInputModalities(agentId: string): string[];
|
|
317
|
+
/**
|
|
318
|
+
* Resolves the effective limits for a specific modality for an agent.
|
|
319
|
+
* Uses precedence chain: Agent → Model → System → Defaults.
|
|
320
|
+
*
|
|
321
|
+
* @param agentId - The ID of the agent
|
|
322
|
+
* @param modalityName - The modality name (e.g., 'Image', 'Audio', 'Video', 'File')
|
|
323
|
+
* @param modelId - Optional model ID to check model-specific limits (falls back to system defaults if not provided)
|
|
324
|
+
* @returns The resolved modality limits with source information
|
|
325
|
+
*/
|
|
113
326
|
GetAgentModalityLimits(agentId: string, modalityName: string, modelId?: string): ModalityLimits;
|
|
327
|
+
/**
|
|
328
|
+
* Resolves the effective limits for a specific modality for a model.
|
|
329
|
+
* Uses precedence chain: Model → System → Defaults.
|
|
330
|
+
*
|
|
331
|
+
* @param modelId - The ID of the model
|
|
332
|
+
* @param modalityName - The modality name (e.g., 'Image', 'Audio', 'Video', 'File')
|
|
333
|
+
* @returns The resolved modality limits with source information
|
|
334
|
+
*/
|
|
114
335
|
GetModelModalityLimits(modelId: string, modalityName: string): ModalityLimits;
|
|
336
|
+
/**
|
|
337
|
+
* Gets aggregated attachment limits for an agent, suitable for passing to UI components.
|
|
338
|
+
* Combines limits from all supported input modalities (Image, Audio, Video, File).
|
|
339
|
+
* Uses the most restrictive limits across all modalities for the aggregate values.
|
|
340
|
+
*
|
|
341
|
+
* @param agentId - The ID of the agent
|
|
342
|
+
* @param modelId - Optional model ID to include model-specific limits in the resolution
|
|
343
|
+
* @returns Aggregated attachment limits ready for UI component configuration
|
|
344
|
+
*/
|
|
115
345
|
GetAgentAttachmentLimits(agentId: string, modelId?: string): AgentAttachmentLimits;
|
|
346
|
+
/**
|
|
347
|
+
* Helper to get MIME type pattern for a modality
|
|
348
|
+
*/
|
|
116
349
|
private getModalityMimePattern;
|
|
350
|
+
/**
|
|
351
|
+
* Gets agent steps for a specific agent, optionally filtered by status
|
|
352
|
+
* @param agentId - The ID of the agent
|
|
353
|
+
* @param status - Optional status filter ('Active', 'Pending', 'Disabled')
|
|
354
|
+
* @returns Array of agent steps
|
|
355
|
+
*/
|
|
117
356
|
GetAgentSteps(agentId: string, status?: string): AIAgentStepEntity[];
|
|
357
|
+
/**
|
|
358
|
+
* Gets a specific agent step by ID
|
|
359
|
+
* @param stepId - The ID of the step
|
|
360
|
+
* @returns The step or null if not found
|
|
361
|
+
*/
|
|
118
362
|
GetAgentStepByID(stepId: string): AIAgentStepEntity | null;
|
|
363
|
+
/**
|
|
364
|
+
* Gets paths originating from a specific step
|
|
365
|
+
* @param stepId - The ID of the origin step
|
|
366
|
+
* @returns Array of paths from the step
|
|
367
|
+
*/
|
|
119
368
|
GetPathsFromStep(stepId: string): AIAgentStepPathEntity[];
|
|
369
|
+
/**
|
|
370
|
+
* @deprecated AI Model Actions are deprecated. Returns an empty array.
|
|
371
|
+
*/
|
|
120
372
|
get ModelActions(): AIModelActionEntity[];
|
|
373
|
+
/**
|
|
374
|
+
* @deprecated AI Actions are deprecated. Returns an empty array.
|
|
375
|
+
*/
|
|
121
376
|
get Actions(): AIActionEntity[];
|
|
377
|
+
/**
|
|
378
|
+
* @deprecated Entity AI Actions are deprecated. Returns an empty array.
|
|
379
|
+
*/
|
|
122
380
|
get EntityAIActions(): EntityAIActionEntity[];
|
|
123
381
|
static get Instance(): AIEngineBase;
|
|
124
382
|
protected static checkMetadataLoaded(): void;
|
|
383
|
+
/**
|
|
384
|
+
* This method will check the result cache for the given params and return the result if it exists, otherwise it will return null if the request is not cached.
|
|
385
|
+
* @param prompt - the fully populated prompt to check the cache for
|
|
386
|
+
*/
|
|
125
387
|
CheckResultCache(prompt: string): Promise<AIResultCacheEntity | null>;
|
|
388
|
+
/**
|
|
389
|
+
* Utility method that will cache the result of a prompt in the AI Result Cache entity
|
|
390
|
+
*/
|
|
126
391
|
CacheResult(model: AIModelEntityExtended, prompt: AIPromptEntityExtended, promptText: string, resultText: string): Promise<boolean>;
|
|
392
|
+
/**
|
|
393
|
+
* Checks if a user has permission to view an agent.
|
|
394
|
+
* @param agentId - The ID of the agent to check
|
|
395
|
+
* @param user - The user to check permissions for
|
|
396
|
+
* @returns True if the user can view the agent
|
|
397
|
+
*/
|
|
127
398
|
CanUserViewAgent(agentId: string, user: UserInfo): Promise<boolean>;
|
|
399
|
+
/**
|
|
400
|
+
* Checks if a user has permission to run an agent.
|
|
401
|
+
* @param agentId - The ID of the agent to check
|
|
402
|
+
* @param user - The user to check permissions for
|
|
403
|
+
* @returns True if the user can run the agent
|
|
404
|
+
*/
|
|
128
405
|
CanUserRunAgent(agentId: string, user: UserInfo): Promise<boolean>;
|
|
406
|
+
/**
|
|
407
|
+
* Checks if a user has permission to edit an agent.
|
|
408
|
+
* @param agentId - The ID of the agent to check
|
|
409
|
+
* @param user - The user to check permissions for
|
|
410
|
+
* @returns True if the user can edit the agent
|
|
411
|
+
*/
|
|
129
412
|
CanUserEditAgent(agentId: string, user: UserInfo): Promise<boolean>;
|
|
413
|
+
/**
|
|
414
|
+
* Checks if a user has permission to delete an agent.
|
|
415
|
+
* @param agentId - The ID of the agent to check
|
|
416
|
+
* @param user - The user to check permissions for
|
|
417
|
+
* @returns True if the user can delete the agent
|
|
418
|
+
*/
|
|
130
419
|
CanUserDeleteAgent(agentId: string, user: UserInfo): Promise<boolean>;
|
|
420
|
+
/**
|
|
421
|
+
* Gets all effective permissions a user has for a specific agent.
|
|
422
|
+
* @param agentId - The ID of the agent
|
|
423
|
+
* @param user - The user to check permissions for
|
|
424
|
+
* @returns Object containing all permission flags and ownership status
|
|
425
|
+
*/
|
|
131
426
|
GetUserAgentPermissions(agentId: string, user: UserInfo): Promise<EffectiveAgentPermissions>;
|
|
427
|
+
/**
|
|
428
|
+
* Gets all agents a user has access to with a specific permission level.
|
|
429
|
+
* @param user - The user to check permissions for
|
|
430
|
+
* @param permission - The minimum permission level required ('view', 'run', 'edit', or 'delete')
|
|
431
|
+
* @returns Array of agents the user can access
|
|
432
|
+
*/
|
|
132
433
|
GetAccessibleAgents(user: UserInfo, permission: 'view' | 'run' | 'edit' | 'delete'): Promise<AIAgentEntityExtended[]>;
|
|
434
|
+
/**
|
|
435
|
+
* Clears the agent permissions cache. Call this after modifying permissions.
|
|
436
|
+
*/
|
|
133
437
|
ClearAgentPermissionsCache(): void;
|
|
438
|
+
/**
|
|
439
|
+
* Refreshes the permissions cache for a specific agent.
|
|
440
|
+
* @param agentId - The ID of the agent to refresh
|
|
441
|
+
* @param user - The user context for server-side operations
|
|
442
|
+
*/
|
|
134
443
|
RefreshAgentPermissionsCache(agentId: string, user: UserInfo): Promise<void>;
|
|
135
444
|
}
|
|
136
445
|
//# sourceMappingURL=BaseAIEngine.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseAIEngine.d.ts","sourceRoot":"","sources":["../src/BaseAIEngine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAA4B,iBAAiB,EAA+B,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACtI,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,qBAAqB,EAC7E,mBAAmB,EACnB,mBAAmB,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,4BAA4B,EAC1F,kBAAkB,EAAE,oBAAoB,EAAE,oBAAoB,EAC9D,mBAAmB,EACnB,iBAAiB,EACjB,cAAc,EACd,mBAAmB,EACnB,iBAAiB,EACjB,iBAAiB,EACjB,sBAAsB,EACtB,0BAA0B,EAC1B,qBAAqB,EACrB,0BAA0B,EAC1B,iBAAiB,EACjB,qBAAqB,EACrB,yBAAyB,EACzB,uBAAuB,EACvB,uBAAuB,EACvB,0BAA0B,EAC1B,oBAAoB,EACpB,yBAAyB,EACzB,gBAAgB,EAChB,qBAAqB,EACrB,qBAAqB,EAAC,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAA2B,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AAE/F,OAAO,EAAE,sBAAsB,EAAE,8BAA8B,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"BaseAIEngine.d.ts","sourceRoot":"","sources":["../src/BaseAIEngine.ts"],"names":[],"mappings":"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"}
|