@memberjunction/ai-agents 5.24.0 → 5.25.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/README.md CHANGED
@@ -332,6 +332,38 @@ New code should import these directly from `@memberjunction/ai-reranker`.
332
332
  - `@memberjunction/aiengine` -- AIEngine for metadata and vector search
333
333
  - `@memberjunction/ai-core-plus` -- Shared types (ExecuteAgentParams, ExecuteAgentResult)
334
334
  - `@memberjunction/ai-engine-base` -- Base metadata cache and permissions
335
+ ## Storage Account Resolution
336
+
337
+ When agents create file-based artifacts (PDF, Excel, Word), the system resolves which `FileStorageAccount` to use via a hierarchical chain. The first non-null value wins:
338
+
339
+ | Priority | Source | Field |
340
+ |----------|--------|-------|
341
+ | 1 (highest) | Runtime | `ExecuteAgentParams.override.storageAccountId` |
342
+ | 2 | Agent | `AIAgent.DefaultStorageAccountID` |
343
+ | 3 | Category tree | `AIAgentCategory.DefaultStorageAccountID` (walks up `ParentID`) |
344
+ | 4 (lowest) | Agent Type | `AIAgentType.DefaultStorageAccountID` |
345
+ | Fallback | System | Single active account (if only one exists) |
346
+
347
+ ### How it works
348
+
349
+ - `BaseAgent.getStorageAccountID(params)` implements the resolution logic. It is `protected` so subclasses can override it for custom routing.
350
+ - The resolved ID is stored in `ExecuteAgentResult.resolvedStorageAccountId` and passed to `AgentRunner.ProcessFileArtifacts()` for upload routing.
351
+ - `AgentRunner.uploadBase64ToStorage()` uses `FileStorageEngine.Instance.GetAccountWithProvider()` to get the account + provider, then `initializeDriverWithAccountCredentials()` for proper OAuth credential handling.
352
+
353
+ ### Startup validation
354
+
355
+ `AIEngine.validateStorageAccountDefaults()` runs at server startup. If 2+ active storage accounts exist but agent types lack a `DefaultStorageAccountID`, it auto-assigns the highest-priority account and logs a prominent warning.
356
+
357
+ ### Configuration
358
+
359
+ Set `DefaultStorageAccountID` at any level via the admin UI or metadata sync:
360
+ - **Agent Type** -- broadest default (e.g., all Loop agents → Dropbox)
361
+ - **Agent Category** -- business-domain default (e.g., Marketing → Box, Finance → SharePoint)
362
+ - **Agent** -- per-agent override
363
+ - **Runtime** -- `ExecuteAgentParams.override.storageAccountId` for programmatic callers
364
+
365
+ ## Dependencies
366
+
335
367
  - `@memberjunction/ai` -- Core AI abstractions
336
368
  - `@memberjunction/ai-reranker` -- Two-stage retrieval reranking
337
369
  - `@memberjunction/actions` -- Server-side action execution
@@ -10,7 +10,7 @@
10
10
  * @since 2.49.0
11
11
  */
12
12
  import { UserInfo, IMetadataProvider } from '@memberjunction/core';
13
- import { ExecuteAgentResult, ExecuteAgentParams, MediaOutput } from '@memberjunction/ai-core-plus';
13
+ import { ExecuteAgentResult, ExecuteAgentParams, MediaOutput, FileOutputRef } from '@memberjunction/ai-core-plus';
14
14
  /**
15
15
  * AgentRunner provides a thin wrapper for executing AI agents.
16
16
  *
@@ -123,7 +123,7 @@ export declare class AgentRunner {
123
123
  * const newVersionNumber = maxVersion + 1;
124
124
  * ```
125
125
  */
126
- GetMaxVersionForArtifact(artifactId: string, contextUser: UserInfo): Promise<number>;
126
+ GetMaxVersionForArtifact(artifactId: string, contextUser: UserInfo, provider?: IMetadataProvider): Promise<number>;
127
127
  /**
128
128
  * Checks whether the serialized content for a new artifact version is identical to the
129
129
  * latest existing version of the same artifact, using SHA-256 content hashing.
@@ -139,7 +139,7 @@ export declare class AgentRunner {
139
139
  * @param contextUser - User context for the RunView query
140
140
  * @returns The existing version's ID if content is identical, or `null` if a new version should be created
141
141
  */
142
- protected CheckForDuplicateVersion(artifactId: string, candidateContent: string, latestVersionNumber: number, contextUser: UserInfo): Promise<string | null>;
142
+ protected CheckForDuplicateVersion(artifactId: string, candidateContent: string, latestVersionNumber: number, contextUser: UserInfo, provider?: IMetadataProvider): Promise<string | null>;
143
143
  /**
144
144
  * Creates a `ConversationDetailArtifact` junction record linking an artifact version
145
145
  * to a conversation detail, then returns the standard artifact result tuple.
@@ -280,6 +280,61 @@ export declare class AgentRunner {
280
280
  * ```
281
281
  */
282
282
  CreateConversationMediaAttachments(conversationDetailId: string, mediaOutputs: MediaOutput[], agentRunMediaIds: string[], contextUser: UserInfo, provider?: IMetadataProvider): Promise<string[]>;
283
+ /**
284
+ * Creates MJ: Artifact records for file outputs collected during agent execution.
285
+ * Reads directly from `ExecuteAgentResult.fileOutputs` — no DB query needed.
286
+ *
287
+ * Called automatically by RunAgentInConversation after the agent completes.
288
+ *
289
+ * @param fileOutputs - File outputs collected by BaseAgent during action execution
290
+ * @param conversationDetailId - The conversation detail to link artifacts to
291
+ * @param contextUser - User context for DB operations
292
+ * @param resolvedStorageAccountId - Pre-resolved FileStorageAccount ID from the agent's
293
+ * hierarchical resolution chain (Runtime → Agent → Category → Type → fallback).
294
+ * When provided, uploads use this specific account instead of picking the first active one.
295
+ */
296
+ ProcessFileArtifacts(fileOutputs: FileOutputRef[], conversationDetailId: string, contextUser: UserInfo, resolvedStorageAccountId?: string, provider?: IMetadataProvider): Promise<void>;
297
+ /**
298
+ * Re-processes file artifacts from a historical agent run by querying its persisted
299
+ * action step OutputData. Use this to recover artifacts for runs that completed before
300
+ * ProcessFileArtifacts was introduced, or for debugging.
301
+ *
302
+ * @param agentRunId - The agent run whose action steps to inspect
303
+ * @param conversationDetailId - The conversation detail to link artifacts to
304
+ * @param contextUser - User context for DB operations
305
+ */
306
+ ReprocessRunFileArtifacts(agentRunId: string, conversationDetailId: string, contextUser: UserInfo, provider?: IMetadataProvider): Promise<void>;
307
+ /** Loads all completed action steps for a given agent run (read-only, narrow fields). */
308
+ private loadActionStepsForRun;
309
+ /**
310
+ * Parses persisted OutputData JSON from an action step and extracts file output metadata.
311
+ * Detection is shape-based (looks for objects with fileName + mimeType + fileData/fileId),
312
+ * not name-based — works regardless of what the action named its output parameter.
313
+ *
314
+ * Used only by the historical reprocessing path — live runs use BaseAgent's detectFileOutputs.
315
+ */
316
+ private parseStepFileOutputs;
317
+ /** Uploads or resolves a single file output and creates the artifact records.
318
+ * Falls back to inline base64 artifact if storage is unavailable or upload fails. */
319
+ private processFileOutput;
320
+ /**
321
+ * Uploads base64-encoded file content to MJStorage and creates an MJ: Files record.
322
+ * Returns the new MJ: Files record ID.
323
+ *
324
+ * @param resolvedStorageAccountId - Pre-resolved account from the agent's storage resolution chain.
325
+ * When provided, uploads to this specific account. Otherwise falls back to the first active account.
326
+ */
327
+ private uploadBase64ToStorage;
328
+ /**
329
+ * Shared logic for creating an artifact + version + conversation detail link in a single
330
+ * transaction. The caller provides a callback to set the version-specific fields (file-backed
331
+ * vs. inline content).
332
+ */
333
+ private createArtifactWithVersion;
334
+ /** Creates a file-backed artifact (version references a FileID in MJStorage). */
335
+ private createFileArtifact;
336
+ /** Creates an inline artifact (version stores base64 data URL directly, no MJStorage). */
337
+ private createInlineFileArtifact;
283
338
  /**
284
339
  * Gets file extension from MIME type
285
340
  * @private
@@ -1 +1 @@
1
- {"version":3,"file":"AgentRunner.d.ts","sourceRoot":"","sources":["../src/AgentRunner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AgentRunner.d.ts","sourceRoot":"","sources":["../src/AgentRunner.ts"],"names":[],"mappings":"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"}
@@ -10,10 +10,13 @@
10
10
  * @since 2.49.0
11
11
  */
12
12
  import { createHash } from 'crypto';
13
- import { LogError, LogStatusEx, IsVerboseLoggingEnabled, LogStatus, Metadata, RunView } from '@memberjunction/core';
13
+ import { LogError, LogStatusEx, IsVerboseLoggingEnabled, LogStatus, Metadata, RunView, ProviderType } from '@memberjunction/core';
14
14
  import { MJGlobal, UUIDsEqual } from '@memberjunction/global';
15
15
  import { AIEngine } from '@memberjunction/aiengine';
16
+ import { ParseFileOutputRef } from '@memberjunction/ai-core-plus';
16
17
  import { BaseAgent } from './base-agent.js';
18
+ import { ArtifactMetadataEngine } from '@memberjunction/core-entities';
19
+ import { FileStorageEngine } from '@memberjunction/storage';
17
20
  /**
18
21
  * AgentRunner provides a thin wrapper for executing AI agents.
19
22
  *
@@ -335,6 +338,12 @@ export class AgentRunner {
335
338
  }
336
339
  return undefined;
337
340
  })();
341
+ // Step 6b: Process file artifacts produced by file-generation actions (async)
342
+ const processFileArtifactsPromise = (async () => {
343
+ if (agentResult.success && agentResponseDetailId && agentResult.fileOutputs?.length) {
344
+ await this.ProcessFileArtifacts(agentResult.fileOutputs, agentResponseDetailId, contextUser, agentResult.resolvedStorageAccountId, md);
345
+ }
346
+ })();
338
347
  // Step 7: Save media outputs to AIAgentRunMedia and create conversation attachments (async)
339
348
  const saveMediaPromise = (async () => {
340
349
  if (agentResult.mediaOutputs && agentResult.mediaOutputs.length > 0) {
@@ -356,6 +365,7 @@ export class AgentRunner {
356
365
  const [, artifactInfo] = await Promise.all([
357
366
  updateDetailPromise,
358
367
  processArtifactsPromise,
368
+ processFileArtifactsPromise,
359
369
  saveMediaPromise
360
370
  ]);
361
371
  return {
@@ -387,9 +397,9 @@ export class AgentRunner {
387
397
  * const newVersionNumber = maxVersion + 1;
388
398
  * ```
389
399
  */
390
- async GetMaxVersionForArtifact(artifactId, contextUser) {
400
+ async GetMaxVersionForArtifact(artifactId, contextUser, provider) {
391
401
  try {
392
- const rv = new RunView();
402
+ const rv = RunView.FromMetadataProvider(provider || this._provider);
393
403
  const result = await rv.RunView({
394
404
  EntityName: 'MJ: Artifact Versions',
395
405
  ExtraFilter: `ArtifactID='${artifactId}'`,
@@ -422,9 +432,9 @@ export class AgentRunner {
422
432
  * @param contextUser - User context for the RunView query
423
433
  * @returns The existing version's ID if content is identical, or `null` if a new version should be created
424
434
  */
425
- async CheckForDuplicateVersion(artifactId, candidateContent, latestVersionNumber, contextUser) {
435
+ async CheckForDuplicateVersion(artifactId, candidateContent, latestVersionNumber, contextUser, provider) {
426
436
  const candidateHash = createHash('sha256').update(candidateContent, 'utf8').digest('hex');
427
- const rv = new RunView();
437
+ const rv = RunView.FromMetadataProvider(provider || this._provider);
428
438
  const result = await rv.RunView({
429
439
  EntityName: 'MJ: Artifact Versions',
430
440
  ExtraFilter: `ArtifactID='${artifactId}' AND VersionNumber=${latestVersionNumber}`,
@@ -482,7 +492,7 @@ export class AgentRunner {
482
492
  */
483
493
  async FindPreviousArtifactForMessage(conversationDetailId, contextUser, provider) {
484
494
  try {
485
- const rv = new RunView();
495
+ const rv = RunView.FromMetadataProvider(provider || this._provider);
486
496
  const result = await rv.RunView({
487
497
  EntityName: 'MJ: Conversation Detail Artifacts',
488
498
  ExtraFilter: `ConversationDetailID='${conversationDetailId}' AND Direction='Output'`,
@@ -568,7 +578,7 @@ export class AgentRunner {
568
578
  let isNewArtifact = false;
569
579
  // Priority 1: Use explicit source artifact if provided
570
580
  if (sourceArtifactId) {
571
- const maxVersion = await this.GetMaxVersionForArtifact(sourceArtifactId, contextUser);
581
+ const maxVersion = await this.GetMaxVersionForArtifact(sourceArtifactId, contextUser, provider);
572
582
  artifactId = sourceArtifactId;
573
583
  newVersionNumber = maxVersion + 1;
574
584
  LogStatus(`Creating version ${newVersionNumber} of source artifact ${artifactId}`);
@@ -614,7 +624,7 @@ export class AgentRunner {
614
624
  const serializedContent = JSON.stringify(payload, null, 2);
615
625
  // Skip version creation if content is identical to the latest version
616
626
  if (!isNewArtifact && newVersionNumber > 1) {
617
- const existingVersionId = await this.CheckForDuplicateVersion(artifactId, serializedContent, newVersionNumber - 1, contextUser);
627
+ const existingVersionId = await this.CheckForDuplicateVersion(artifactId, serializedContent, newVersionNumber - 1, contextUser, provider);
618
628
  if (existingVersionId) {
619
629
  console.debug(`Skipping duplicate artifact version — content identical to version ${newVersionNumber - 1}`);
620
630
  return undefined;
@@ -912,6 +922,233 @@ export class AgentRunner {
912
922
  return attachmentIds;
913
923
  }
914
924
  }
925
+ // ── File artifact processing ───────────────────────────────────────────────
926
+ /**
927
+ * Creates MJ: Artifact records for file outputs collected during agent execution.
928
+ * Reads directly from `ExecuteAgentResult.fileOutputs` — no DB query needed.
929
+ *
930
+ * Called automatically by RunAgentInConversation after the agent completes.
931
+ *
932
+ * @param fileOutputs - File outputs collected by BaseAgent during action execution
933
+ * @param conversationDetailId - The conversation detail to link artifacts to
934
+ * @param contextUser - User context for DB operations
935
+ * @param resolvedStorageAccountId - Pre-resolved FileStorageAccount ID from the agent's
936
+ * hierarchical resolution chain (Runtime → Agent → Category → Type → fallback).
937
+ * When provided, uploads use this specific account instead of picking the first active one.
938
+ */
939
+ async ProcessFileArtifacts(fileOutputs, conversationDetailId, contextUser, resolvedStorageAccountId, provider) {
940
+ if (fileOutputs.length === 0)
941
+ return;
942
+ const md = provider || this._provider;
943
+ // Hoist engine configs before parallel processing
944
+ await Promise.all([
945
+ ArtifactMetadataEngine.Instance.Config(false, contextUser),
946
+ FileStorageEngine.Instance.Config(false, contextUser),
947
+ ]);
948
+ await Promise.all(fileOutputs.map(fo => this.processFileOutput(fo, conversationDetailId, contextUser, resolvedStorageAccountId, md)));
949
+ }
950
+ /**
951
+ * Re-processes file artifacts from a historical agent run by querying its persisted
952
+ * action step OutputData. Use this to recover artifacts for runs that completed before
953
+ * ProcessFileArtifacts was introduced, or for debugging.
954
+ *
955
+ * @param agentRunId - The agent run whose action steps to inspect
956
+ * @param conversationDetailId - The conversation detail to link artifacts to
957
+ * @param contextUser - User context for DB operations
958
+ */
959
+ async ReprocessRunFileArtifacts(agentRunId, conversationDetailId, contextUser, provider) {
960
+ const md = provider || this._provider;
961
+ const steps = await this.loadActionStepsForRun(agentRunId, contextUser, md);
962
+ if (steps.length === 0)
963
+ return;
964
+ const fileOutputs = steps.flatMap(step => this.parseStepFileOutputs(step));
965
+ await this.ProcessFileArtifacts(fileOutputs, conversationDetailId, contextUser, undefined, md);
966
+ }
967
+ /** Loads all completed action steps for a given agent run (read-only, narrow fields). */
968
+ async loadActionStepsForRun(agentRunId, contextUser, provider) {
969
+ const rv = RunView.FromMetadataProvider(provider || this._provider);
970
+ const result = await rv.RunView({
971
+ EntityName: 'MJ: AI Agent Run Steps',
972
+ ExtraFilter: `AgentRunID='${agentRunId}' AND StepType='Actions' AND Status='Completed'`,
973
+ Fields: ['ID', 'OutputData'],
974
+ ResultType: 'simple'
975
+ }, contextUser);
976
+ return result.Success ? (result.Results ?? []) : [];
977
+ }
978
+ /**
979
+ * Parses persisted OutputData JSON from an action step and extracts file output metadata.
980
+ * Detection is shape-based (looks for objects with fileName + mimeType + fileData/fileId),
981
+ * not name-based — works regardless of what the action named its output parameter.
982
+ *
983
+ * Used only by the historical reprocessing path — live runs use BaseAgent's detectFileOutputs.
984
+ */
985
+ parseStepFileOutputs(step) {
986
+ if (!step.OutputData)
987
+ return [];
988
+ let outputData;
989
+ try {
990
+ outputData = JSON.parse(step.OutputData);
991
+ }
992
+ catch {
993
+ return [];
994
+ }
995
+ const params = outputData.actionResult?.parameters;
996
+ if (!params)
997
+ return [];
998
+ const results = [];
999
+ for (const param of params) {
1000
+ if (param.Value == null)
1001
+ continue;
1002
+ const ref = ParseFileOutputRef(param.Value);
1003
+ if (ref)
1004
+ results.push(ref);
1005
+ }
1006
+ return results;
1007
+ }
1008
+ /** Uploads or resolves a single file output and creates the artifact records.
1009
+ * Falls back to inline base64 artifact if storage is unavailable or upload fails. */
1010
+ async processFileOutput(fo, conversationDetailId, contextUser, resolvedStorageAccountId, provider) {
1011
+ try {
1012
+ if (fo.fileId) {
1013
+ // File already in storage — create file-backed artifact
1014
+ await this.createFileArtifact(fo.fileId, fo.mimeType, fo.fileName, fo.sizeBytes, conversationDetailId, contextUser, provider);
1015
+ return;
1016
+ }
1017
+ // Check if any storage accounts are configured
1018
+ const hasStorage = FileStorageEngine.Instance.HasStorageAccounts;
1019
+ if (!hasStorage) {
1020
+ // No storage configured — go straight to inline artifact
1021
+ LogStatus(`ProcessFileArtifacts: no storage accounts configured for "${fo.fileName}", creating inline artifact`);
1022
+ await this.createInlineFileArtifact(fo.fileData, fo.mimeType, fo.fileName, fo.sizeBytes, conversationDetailId, contextUser, provider);
1023
+ return;
1024
+ }
1025
+ // Try to upload to storage
1026
+ try {
1027
+ const fileId = await this.uploadBase64ToStorage(fo.fileData, fo.fileName, fo.mimeType, contextUser, resolvedStorageAccountId, provider);
1028
+ await this.createFileArtifact(fileId, fo.mimeType, fo.fileName, fo.sizeBytes, conversationDetailId, contextUser, provider);
1029
+ }
1030
+ catch (storageError) {
1031
+ // Upload failed — fall back to inline artifact
1032
+ LogStatus(`ProcessFileArtifacts: storage upload failed for "${fo.fileName}", creating inline artifact: ${storageError.message}`);
1033
+ await this.createInlineFileArtifact(fo.fileData, fo.mimeType, fo.fileName, fo.sizeBytes, conversationDetailId, contextUser, provider);
1034
+ }
1035
+ }
1036
+ catch (error) {
1037
+ LogError(`ProcessFileArtifacts: failed for "${fo.fileName}": ${error.message}`);
1038
+ }
1039
+ }
1040
+ /**
1041
+ * Uploads base64-encoded file content to MJStorage and creates an MJ: Files record.
1042
+ * Returns the new MJ: Files record ID.
1043
+ *
1044
+ * @param resolvedStorageAccountId - Pre-resolved account from the agent's storage resolution chain.
1045
+ * When provided, uploads to this specific account. Otherwise falls back to the first active account.
1046
+ */
1047
+ async uploadBase64ToStorage(base64Data, fileName, mimeType, contextUser, resolvedStorageAccountId, provider) {
1048
+ const result = await FileStorageEngine.Instance.UploadFile({
1049
+ content: Buffer.from(base64Data, 'base64'),
1050
+ fileName,
1051
+ mimeType,
1052
+ contextUser,
1053
+ storageAccountId: resolvedStorageAccountId,
1054
+ provider
1055
+ });
1056
+ return result.FileID;
1057
+ }
1058
+ /**
1059
+ * Shared logic for creating an artifact + version + conversation detail link in a single
1060
+ * transaction. The caller provides a callback to set the version-specific fields (file-backed
1061
+ * vs. inline content).
1062
+ */
1063
+ async createArtifactWithVersion(params) {
1064
+ const { mimeType, fileName, sizeBytes, conversationDetailId, contextUser, provider, setVersionFields, label } = params;
1065
+ // Resolve the artifact type by MIME type; fall back to the built-in JSON type
1066
+ const JSON_ARTIFACT_TYPE_ID = 'ae674c7e-ea0d-49ea-89e4-0649f5eb20d4';
1067
+ const artifactType = ArtifactMetadataEngine.Instance.GetArtifactTypeByMimeType(mimeType);
1068
+ if (!artifactType) {
1069
+ LogStatus(`ProcessFileArtifacts: no ArtifactType found for MIME ${mimeType}, using JSON fallback`);
1070
+ }
1071
+ const artifactTypeId = artifactType?.ID ?? JSON_ARTIFACT_TYPE_ID;
1072
+ // Use direct provider transaction (BeginTransaction/CommitTransaction) instead of
1073
+ // TransactionGroup. This ensures saves execute immediately within the SQL transaction,
1074
+ // so server-side entity hooks (e.g. ArtifactVersion.ExtractAndSaveAttributes) can
1075
+ // Load() parent records that were saved earlier in the same transaction.
1076
+ const dbProvider = provider;
1077
+ const useTransaction = dbProvider.ProviderType === ProviderType.Database;
1078
+ if (useTransaction) {
1079
+ await dbProvider.BeginTransaction();
1080
+ }
1081
+ try {
1082
+ // Create the artifact header
1083
+ const artifact = await provider.GetEntityObject('MJ: Artifacts', contextUser);
1084
+ artifact.Name = fileName;
1085
+ artifact.TypeID = artifactTypeId;
1086
+ artifact.UserID = contextUser.ID;
1087
+ artifact.Visibility = 'Always';
1088
+ if (!(await artifact.Save())) {
1089
+ throw new Error(`Failed to save artifact for ${label}: ${fileName}`);
1090
+ }
1091
+ // Create the artifact version — shared fields first, then caller-specific fields
1092
+ const version = await provider.GetEntityObject('MJ: Artifact Versions', contextUser);
1093
+ version.ArtifactID = artifact.ID;
1094
+ version.VersionNumber = 1;
1095
+ version.MimeType = mimeType;
1096
+ version.FileName = fileName;
1097
+ version.UserID = contextUser.ID;
1098
+ if (sizeBytes !== undefined) {
1099
+ version.ContentSizeBytes = sizeBytes;
1100
+ }
1101
+ setVersionFields(version);
1102
+ if (!(await version.Save())) {
1103
+ throw new Error(`Failed to save artifact version for ${label}: ${fileName}`);
1104
+ }
1105
+ // Link the artifact version to the conversation detail
1106
+ const junction = await provider.GetEntityObject('MJ: Conversation Detail Artifacts', contextUser);
1107
+ junction.ConversationDetailID = conversationDetailId;
1108
+ junction.ArtifactVersionID = version.ID;
1109
+ junction.Direction = 'Output';
1110
+ if (!(await junction.Save())) {
1111
+ throw new Error(`Failed to link ${label} artifact to conversation detail: ${conversationDetailId}`);
1112
+ }
1113
+ if (useTransaction) {
1114
+ await dbProvider.CommitTransaction();
1115
+ }
1116
+ LogStatus(`Created ${label} artifact: ${fileName} (${mimeType}) → artifact ${artifact.ID}, version ${version.ID}`);
1117
+ }
1118
+ catch (error) {
1119
+ if (useTransaction) {
1120
+ try {
1121
+ await dbProvider.RollbackTransaction();
1122
+ }
1123
+ catch (rollbackError) {
1124
+ LogError(`Failed to rollback ${label} artifact transaction: ${rollbackError}`);
1125
+ }
1126
+ }
1127
+ throw error;
1128
+ }
1129
+ }
1130
+ /** Creates a file-backed artifact (version references a FileID in MJStorage). */
1131
+ async createFileArtifact(fileId, mimeType, fileName, sizeBytes, conversationDetailId, contextUser, provider) {
1132
+ await this.createArtifactWithVersion({
1133
+ mimeType, fileName, sizeBytes, conversationDetailId, contextUser, provider,
1134
+ label: 'file',
1135
+ setVersionFields: (version) => {
1136
+ version.ContentMode = 'File';
1137
+ version.FileID = fileId;
1138
+ }
1139
+ });
1140
+ }
1141
+ /** Creates an inline artifact (version stores base64 data URL directly, no MJStorage). */
1142
+ async createInlineFileArtifact(base64Data, mimeType, fileName, sizeBytes, conversationDetailId, contextUser, provider) {
1143
+ await this.createArtifactWithVersion({
1144
+ mimeType, fileName, sizeBytes, conversationDetailId, contextUser, provider,
1145
+ label: 'inline file',
1146
+ setVersionFields: (version) => {
1147
+ version.ContentMode = 'Text';
1148
+ version.Content = `data:${mimeType};base64,${base64Data}`;
1149
+ }
1150
+ });
1151
+ }
915
1152
  /**
916
1153
  * Gets file extension from MIME type
917
1154
  * @private
@@ -1 +1 @@
1
- {"version":3,"file":"AgentRunner.js","sourceRoot":"","sources":["../src/AgentRunner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AgentRunner.js","sourceRoot":"","sources":["../src/AgentRunner.ts"],"names":[],"mappings":"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"}