@memberjunction/ai-agents 2.117.0 → 2.118.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.
@@ -1,4 +1,27 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
2
25
  Object.defineProperty(exports, "__esModule", { value: true });
3
26
  exports.AgentRunner = void 0;
4
27
  const core_1 = require("@memberjunction/core");
@@ -36,6 +59,341 @@ class AgentRunner {
36
59
  throw error;
37
60
  }
38
61
  }
62
+ async RunAgentInConversation(params, options) {
63
+ const md = new core_1.Metadata();
64
+ const contextUser = params.contextUser;
65
+ if (!contextUser) {
66
+ throw new Error('contextUser is required for RunAgentInConversation');
67
+ }
68
+ try {
69
+ let conversationId;
70
+ let userMessageDetailId;
71
+ let agentResponseDetailId;
72
+ let agentResponseDetail;
73
+ let serverCreatedAgentResponse = false;
74
+ if (options.conversationDetailId) {
75
+ agentResponseDetailId = options.conversationDetailId;
76
+ const detail = await md.GetEntityObject('Conversation Details', contextUser);
77
+ if (await detail.Load(agentResponseDetailId)) {
78
+ conversationId = detail.ConversationID;
79
+ (0, core_1.LogStatus)(`Using existing conversation ${conversationId} and agent response detail ${agentResponseDetailId}`);
80
+ userMessageDetailId = agentResponseDetailId;
81
+ }
82
+ else {
83
+ throw new Error(`Failed to load conversation detail ${agentResponseDetailId}`);
84
+ }
85
+ }
86
+ else {
87
+ if (!options.userMessage) {
88
+ throw new Error('userMessage is required when conversationDetailId is not provided');
89
+ }
90
+ conversationId = options.conversationId || '';
91
+ if (!conversationId) {
92
+ (0, core_1.LogStatus)('Creating new conversation');
93
+ const conversation = await md.GetEntityObject('Conversations', contextUser);
94
+ let conversationName = options.conversationName;
95
+ let conversationDescription = null;
96
+ if (!conversationName && options.userMessage) {
97
+ const nameResult = await this.GenerateConversationName(options.userMessage, contextUser);
98
+ if (nameResult) {
99
+ conversationName = nameResult.name;
100
+ conversationDescription = nameResult.description;
101
+ }
102
+ }
103
+ if (!conversationName) {
104
+ conversationName = `Chat with ${params.agent.Name}`;
105
+ }
106
+ conversation.Name = conversationName;
107
+ conversation.Description = conversationDescription || '';
108
+ conversation.UserID = contextUser.ID;
109
+ conversation.Status = 'Available';
110
+ conversation.DataContextID = null;
111
+ if (options.testRunId) {
112
+ conversation.TestRunID = options.testRunId;
113
+ }
114
+ if (!(await conversation.Save())) {
115
+ throw new Error('Failed to create conversation');
116
+ }
117
+ conversationId = conversation.ID;
118
+ (0, core_1.LogStatus)(`Created conversation ${conversationId}: ${conversationName}`);
119
+ }
120
+ (0, core_1.LogStatus)('Creating conversation detail for user message');
121
+ const userMessageDetail = await md.GetEntityObject('Conversation Details', contextUser);
122
+ userMessageDetail.ConversationID = conversationId;
123
+ userMessageDetail.Message = options.userMessage;
124
+ userMessageDetail.Role = 'User';
125
+ userMessageDetail.UserID = contextUser.ID;
126
+ userMessageDetail.HiddenToUser = false;
127
+ if (options.testRunId) {
128
+ userMessageDetail.TestRunID = options.testRunId;
129
+ }
130
+ if (!(await userMessageDetail.Save())) {
131
+ throw new Error('Failed to create user message conversation detail');
132
+ }
133
+ userMessageDetailId = userMessageDetail.ID;
134
+ (0, core_1.LogStatus)(`Created user message detail ${userMessageDetailId}`);
135
+ (0, core_1.LogStatus)('Creating conversation detail for agent response');
136
+ agentResponseDetail = await md.GetEntityObject('Conversation Details', contextUser);
137
+ agentResponseDetail.ConversationID = conversationId;
138
+ agentResponseDetail.Message = '⏳ Starting...';
139
+ agentResponseDetail.Role = 'AI';
140
+ agentResponseDetail.Status = 'In-Progress';
141
+ agentResponseDetail.HiddenToUser = false;
142
+ agentResponseDetail.AgentID = params.agent.ID;
143
+ if (options.testRunId) {
144
+ agentResponseDetail.TestRunID = options.testRunId;
145
+ }
146
+ if (!(await agentResponseDetail.Save())) {
147
+ throw new Error('Failed to create agent response conversation detail');
148
+ }
149
+ agentResponseDetailId = agentResponseDetail.ID;
150
+ serverCreatedAgentResponse = true;
151
+ (0, core_1.LogStatus)(`Created agent response detail ${agentResponseDetailId}`);
152
+ }
153
+ (0, core_1.LogStatus)(`Executing agent ${params.agent.Name} in conversation context`);
154
+ const originalOnProgress = params.onProgress;
155
+ const wrappedOnProgress = serverCreatedAgentResponse && agentResponseDetail
156
+ ? async (progress) => {
157
+ if (agentResponseDetail && progress.message) {
158
+ agentResponseDetail.Message = progress.message;
159
+ await agentResponseDetail.Save();
160
+ }
161
+ if (originalOnProgress) {
162
+ await originalOnProgress(progress);
163
+ }
164
+ }
165
+ : originalOnProgress;
166
+ const modifiedParams = {
167
+ ...params,
168
+ data: { ...params.data, conversationId },
169
+ conversationDetailId: agentResponseDetailId,
170
+ onProgress: wrappedOnProgress
171
+ };
172
+ const agentResult = await this.RunAgent(modifiedParams);
173
+ if (serverCreatedAgentResponse && agentResponseDetail && agentResponseDetailId) {
174
+ (0, core_1.LogStatus)('Updating agent response detail with final result');
175
+ await agentResponseDetail.Load(agentResponseDetailId);
176
+ agentResponseDetail.Message = agentResult.agentRun?.Message ||
177
+ (agentResult.success ? '✅ Completed' : '❌ Failed');
178
+ agentResponseDetail.Status = agentResult.success ? 'Complete' : 'Error';
179
+ if (agentResult.responseForm) {
180
+ agentResponseDetail.ResponseForm = JSON.stringify(agentResult.responseForm);
181
+ }
182
+ if (agentResult.actionableCommands && agentResult.actionableCommands.length > 0) {
183
+ agentResponseDetail.ActionableCommands = JSON.stringify(agentResult.actionableCommands);
184
+ }
185
+ if (agentResult.automaticCommands && agentResult.automaticCommands.length > 0) {
186
+ agentResponseDetail.AutomaticCommands = JSON.stringify(agentResult.automaticCommands);
187
+ }
188
+ await agentResponseDetail.Save();
189
+ (0, core_1.LogStatus)(`Updated agent response detail ${agentResponseDetailId} with final status: ${agentResponseDetail.Status}`);
190
+ }
191
+ let artifactInfo;
192
+ const shouldCreateArtifacts = options.createArtifacts !== false;
193
+ if (shouldCreateArtifacts && agentResult.success && agentResult.payload) {
194
+ artifactInfo = await this.ProcessAgentArtifacts(agentResult, agentResponseDetailId, options.sourceArtifactId, contextUser);
195
+ }
196
+ return {
197
+ agentResult,
198
+ conversationId,
199
+ userMessageDetailId,
200
+ agentResponseDetailId,
201
+ artifactInfo
202
+ };
203
+ }
204
+ catch (error) {
205
+ const errorMessage = error instanceof Error ? error.message : 'Unknown error occurred';
206
+ (0, core_1.LogError)(`RunAgentInConversation failed: ${errorMessage}`, undefined, error);
207
+ throw error;
208
+ }
209
+ }
210
+ async GetMaxVersionForArtifact(artifactId, contextUser) {
211
+ try {
212
+ const rv = new core_1.RunView();
213
+ const result = await rv.RunView({
214
+ EntityName: 'MJ: Artifact Versions',
215
+ ExtraFilter: `ArtifactID='${artifactId}'`,
216
+ OrderBy: 'VersionNumber DESC',
217
+ MaxRows: 1,
218
+ ResultType: 'entity_object'
219
+ }, contextUser);
220
+ if (result.Success && result.Results && result.Results.length > 0) {
221
+ return result.Results[0].VersionNumber || 0;
222
+ }
223
+ return 0;
224
+ }
225
+ catch (error) {
226
+ (0, core_1.LogError)(`Error getting max version for artifact: ${error.message}`);
227
+ return 0;
228
+ }
229
+ }
230
+ async FindPreviousArtifactForMessage(conversationDetailId, contextUser) {
231
+ try {
232
+ const rv = new core_1.RunView();
233
+ const result = await rv.RunView({
234
+ EntityName: 'MJ: Conversation Detail Artifacts',
235
+ ExtraFilter: `ConversationDetailID='${conversationDetailId}' AND Direction='Output'`,
236
+ OrderBy: '__mj_CreatedAt DESC',
237
+ MaxRows: 1,
238
+ ResultType: 'entity_object'
239
+ }, contextUser);
240
+ if (!result.Success || !result.Results || result.Results.length === 0) {
241
+ return null;
242
+ }
243
+ const junction = result.Results[0];
244
+ const md = new core_1.Metadata();
245
+ const version = await md.GetEntityObject('MJ: Artifact Versions', contextUser);
246
+ if (!(await version.Load(junction.ArtifactVersionID))) {
247
+ return null;
248
+ }
249
+ return {
250
+ artifactId: version.ArtifactID,
251
+ versionNumber: version.VersionNumber
252
+ };
253
+ }
254
+ catch (error) {
255
+ (0, core_1.LogError)(`Error finding previous artifact: ${error.message}`);
256
+ return null;
257
+ }
258
+ }
259
+ async ProcessAgentArtifacts(agentResult, conversationDetailId, sourceArtifactId, contextUser) {
260
+ const payload = agentResult.payload;
261
+ const agentRun = agentResult.agentRun;
262
+ if (!payload || Object.keys(payload).length === 0) {
263
+ (0, core_1.LogStatus)('No payload to create artifact from');
264
+ return undefined;
265
+ }
266
+ await aiengine_1.AIEngine.Instance.Config(false, contextUser);
267
+ const agent = aiengine_1.AIEngine.Instance.Agents.find(a => a.ID === agentRun.AgentID);
268
+ const creationMode = agent?.ArtifactCreationMode;
269
+ if (creationMode === 'Never') {
270
+ (0, core_1.LogStatus)(`Skipping artifact creation - agent "${agent?.Name}" has ArtifactCreationMode='Never'`);
271
+ return undefined;
272
+ }
273
+ try {
274
+ const md = new core_1.Metadata();
275
+ const JSON_ARTIFACT_TYPE_ID = 'ae674c7e-ea0d-49ea-89e4-0649f5eb20d4';
276
+ let artifactId;
277
+ let newVersionNumber;
278
+ let isNewArtifact = false;
279
+ if (sourceArtifactId) {
280
+ const maxVersion = await this.GetMaxVersionForArtifact(sourceArtifactId, contextUser);
281
+ artifactId = sourceArtifactId;
282
+ newVersionNumber = maxVersion + 1;
283
+ (0, core_1.LogStatus)(`Creating version ${newVersionNumber} of source artifact ${artifactId}`);
284
+ }
285
+ else {
286
+ const previousArtifact = await this.FindPreviousArtifactForMessage(conversationDetailId, contextUser);
287
+ if (previousArtifact) {
288
+ artifactId = previousArtifact.artifactId;
289
+ newVersionNumber = previousArtifact.versionNumber + 1;
290
+ (0, core_1.LogStatus)(`Creating version ${newVersionNumber} of existing artifact ${artifactId}`);
291
+ }
292
+ else {
293
+ const artifact = await md.GetEntityObject('MJ: Artifacts', contextUser);
294
+ const agentName = agent?.Name || 'Agent';
295
+ artifact.Name = `${agentName} Payload - ${new Date().toLocaleString()}`;
296
+ artifact.Description = `Payload returned by ${agentName}`;
297
+ const defaultArtifactTypeId = agent?.DefaultArtifactTypeID;
298
+ artifact.TypeID = defaultArtifactTypeId || JSON_ARTIFACT_TYPE_ID;
299
+ artifact.UserID = contextUser.ID;
300
+ artifact.EnvironmentID = contextUser.EnvironmentID ||
301
+ 'F51358F3-9447-4176-B313-BF8025FD8D09';
302
+ if (creationMode === 'System Only') {
303
+ artifact.Visibility = 'System Only';
304
+ (0, core_1.LogStatus)(`Artifact marked as "System Only" per agent configuration`);
305
+ }
306
+ else {
307
+ artifact.Visibility = 'Always';
308
+ }
309
+ if (!(await artifact.Save())) {
310
+ throw new Error('Failed to save artifact');
311
+ }
312
+ artifactId = artifact.ID;
313
+ newVersionNumber = 1;
314
+ isNewArtifact = true;
315
+ (0, core_1.LogStatus)(`Created new artifact: ${artifact.Name} (${artifactId})`);
316
+ }
317
+ }
318
+ const version = await md.GetEntityObject('MJ: Artifact Versions', contextUser);
319
+ version.ArtifactID = artifactId;
320
+ version.VersionNumber = newVersionNumber;
321
+ version.Content = JSON.stringify(payload, null, 2);
322
+ version.UserID = contextUser.ID;
323
+ if (!(await version.Save())) {
324
+ throw new Error('Failed to save artifact version');
325
+ }
326
+ (0, core_1.LogStatus)(`Created artifact version ${newVersionNumber} (${version.ID})`);
327
+ if (isNewArtifact && newVersionNumber === 1) {
328
+ const nameAttr = version.Attributes?.find((attr) => attr.StandardProperty === 'name' || attr.Name?.toLowerCase() === 'name');
329
+ let extractedName = nameAttr?.Value?.trim();
330
+ if (extractedName && extractedName.toLowerCase() !== 'null') {
331
+ extractedName = extractedName.replace(/^["']|["']$/g, '');
332
+ const artifact = await md.GetEntityObject('MJ: Artifacts', contextUser);
333
+ if (await artifact.Load(artifactId)) {
334
+ artifact.Name = extractedName;
335
+ if (await artifact.Save()) {
336
+ (0, core_1.LogStatus)(`Updated artifact name to: ${artifact.Name}`);
337
+ }
338
+ }
339
+ }
340
+ }
341
+ const junction = await md.GetEntityObject('MJ: Conversation Detail Artifacts', contextUser);
342
+ junction.ConversationDetailID = conversationDetailId;
343
+ junction.ArtifactVersionID = version.ID;
344
+ junction.Direction = 'Output';
345
+ if (!(await junction.Save())) {
346
+ throw new Error('Failed to create artifact-message association');
347
+ }
348
+ (0, core_1.LogStatus)(`Linked artifact to conversation detail ${conversationDetailId}`);
349
+ return {
350
+ artifactId,
351
+ versionId: version.ID,
352
+ versionNumber: newVersionNumber
353
+ };
354
+ }
355
+ catch (error) {
356
+ (0, core_1.LogError)(`Failed to process agent artifacts: ${error.message}`);
357
+ return undefined;
358
+ }
359
+ }
360
+ async GenerateConversationName(userMessage, contextUser) {
361
+ try {
362
+ const { AIPromptRunner } = await Promise.resolve().then(() => __importStar(require('@memberjunction/ai-prompts')));
363
+ const { AIPromptParams } = await Promise.resolve().then(() => __importStar(require('@memberjunction/ai-core-plus')));
364
+ const { AIEngine } = await Promise.resolve().then(() => __importStar(require('@memberjunction/aiengine')));
365
+ await AIEngine.Instance.Config(false, contextUser);
366
+ const prompt = AIEngine.Instance.Prompts.find(p => p.Name === 'Name Conversation');
367
+ if (!prompt) {
368
+ (0, core_1.LogStatus)('Name Conversation prompt not found - using fallback naming');
369
+ return null;
370
+ }
371
+ const promptParams = new AIPromptParams();
372
+ promptParams.prompt = prompt;
373
+ promptParams.contextUser = contextUser;
374
+ promptParams.conversationMessages = [{ role: 'user', content: userMessage }];
375
+ const runner = new AIPromptRunner();
376
+ const result = await runner.ExecutePrompt(promptParams);
377
+ if (result && result.success && result.result) {
378
+ const parsed = typeof result.result === 'string'
379
+ ? JSON.parse(result.result)
380
+ : result.result;
381
+ const { name, description } = parsed;
382
+ if (name) {
383
+ (0, core_1.LogStatus)(`Generated conversation name via AI: "${name}" with description: "${description || ''}"`);
384
+ return {
385
+ name,
386
+ description: description || ''
387
+ };
388
+ }
389
+ }
390
+ return null;
391
+ }
392
+ catch (error) {
393
+ (0, core_1.LogError)(`Error generating conversation name: ${error.message}`);
394
+ return null;
395
+ }
396
+ }
39
397
  }
40
398
  exports.AgentRunner = AgentRunner;
41
399
  //# sourceMappingURL=AgentRunner.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AgentRunner.js","sourceRoot":"","sources":["../src/AgentRunner.ts"],"names":[],"mappings":";;;AAYA,+CAAsF;AACtF,mDAAkD;AAClD,uDAAoD;AAEpD,6CAAyC;AAqBzC,MAAa,WAAW;IAgBb,KAAK,CAAC,QAAQ,CAAmB,MAA6B;QACjE,IAAI,CAAC;YACD,IAAA,kBAAW,EAAC;gBACR,OAAO,EAAE,8CAA8C,MAAM,CAAC,KAAK,CAAC,IAAI,SAAS,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG;gBACnG,WAAW,EAAE,IAAI;gBACjB,gBAAgB,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,KAAK,IAAI,IAAI,IAAA,8BAAuB,GAAE;aAC/E,CAAC,CAAC;YAGH,MAAM,mBAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;YAG1D,MAAM,SAAS,GAAG,mBAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACzF,IAAI,CAAC,SAAS,EAAE,CAAC;gBACb,MAAM,IAAI,KAAK,CAAC,gCAAgC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;YAC3E,CAAC;YAGD,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,WAAW,IAAI,SAAS,CAAC,WAAW,CAAC;YACtE,IAAA,kBAAW,EAAC;gBACR,OAAO,EAAE,oCAAoC,WAAW,EAAE;gBAC1D,WAAW,EAAE,IAAI;gBACjB,gBAAgB,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,KAAK,IAAI,IAAI,IAAA,8BAAuB,GAAE;aAC/E,CAAC,CAAC;YAEH,MAAM,aAAa,GAAG,iBAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,cAAc,CAC/D,sBAAS,EACT,WAAW,CACd,CAAC;YAEF,IAAI,CAAC,aAAa,EAAE,CAAC;gBACjB,MAAM,IAAI,KAAK,CAAC,qDAAqD,WAAW,EAAE,CAAC,CAAC;YACxF,CAAC;YAGD,OAAO,MAAM,aAAa,CAAC,OAAO,CAAC,MAAiC,CAA0B,CAAC;QAEnG,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,wBAAwB,CAAC;YACvF,IAAA,eAAQ,EAAC,iCAAiC,YAAY,EAAE,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;YAI5E,MAAM,KAAK,CAAC;QAChB,CAAC;IACL,CAAC;CACJ;AA9DD,kCA8DC"}
1
+ {"version":3,"file":"AgentRunner.js","sourceRoot":"","sources":["../src/AgentRunner.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,11 @@ export declare class FlowExecutionState {
8
8
  completedStepIds: Set<string>;
9
9
  stepResults: Map<string, unknown>;
10
10
  executionPath: string[];
11
+ specialFields?: {
12
+ message?: string;
13
+ reasoning?: string;
14
+ confidence?: number;
15
+ };
11
16
  constructor(agentId: string);
12
17
  }
13
18
  export declare class FlowAgentType extends BaseAgentType {
@@ -1 +1 @@
1
- {"version":3,"file":"flow-agent-type.d.ts","sourceRoot":"","sources":["../../src/agent-types/flow-agent-type.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"flow-agent-type.d.ts","sourceRoot":"","sources":["../../src/agent-types/flow-agent-type.ts"],"names":[],"mappings":"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"}
@@ -13,6 +13,7 @@ const core_1 = require("@memberjunction/core");
13
13
  const aiengine_1 = require("@memberjunction/aiengine");
14
14
  const actions_1 = require("@memberjunction/actions");
15
15
  const PayloadManager_1 = require("../PayloadManager");
16
+ const ConversationMessageResolver_1 = require("../utils/ConversationMessageResolver");
16
17
  class FlowExecutionState {
17
18
  constructor(agentId) {
18
19
  this.completedStepIds = new Set();
@@ -201,6 +202,7 @@ let FlowAgentType = class FlowAgentType extends base_agent_type_1.BaseAgentType
201
202
  try {
202
203
  const mapping = JSON.parse(mappingConfig);
203
204
  const updateObj = {};
205
+ const specialFields = {};
204
206
  for (const [outputParam, payloadPath] of Object.entries(mapping)) {
205
207
  let value;
206
208
  if (outputParam === '*') {
@@ -225,29 +227,47 @@ let FlowAgentType = class FlowAgentType extends base_agent_type_1.BaseAgentType
225
227
  value = actualKey ? actionResult[actualKey] : undefined;
226
228
  }
227
229
  if (value !== undefined) {
228
- const pathParts = payloadPath.split('.');
229
- let current = updateObj;
230
- for (let i = 0; i < pathParts.length - 1; i++) {
231
- const part = pathParts[i];
232
- const cleanPart = part.endsWith('[]') ? part.slice(0, -2) : part;
233
- if (!(cleanPart in current)) {
234
- current[cleanPart] = {};
230
+ if (payloadPath.startsWith('$')) {
231
+ const fieldName = payloadPath.substring(1).toLowerCase();
232
+ if (fieldName === 'message' && typeof value === 'string') {
233
+ specialFields.message = value;
235
234
  }
236
- current = current[cleanPart];
235
+ else if (fieldName === 'reasoning' && typeof value === 'string') {
236
+ specialFields.reasoning = value;
237
+ }
238
+ else if (fieldName === 'confidence' && typeof value === 'number') {
239
+ specialFields.confidence = value;
240
+ }
241
+ else {
242
+ (0, core_1.LogError)(`Unknown special field in ActionOutputMapping: ${payloadPath}. Valid special fields are: $message, $reasoning, $confidence`);
243
+ }
244
+ }
245
+ else {
246
+ const pathParts = payloadPath.split('.');
247
+ let current = updateObj;
248
+ for (let i = 0; i < pathParts.length - 1; i++) {
249
+ const part = pathParts[i];
250
+ const cleanPart = part.endsWith('[]') ? part.slice(0, -2) : part;
251
+ if (!(cleanPart in current)) {
252
+ current[cleanPart] = {};
253
+ }
254
+ current = current[cleanPart];
255
+ }
256
+ this.setMappedValue(current, pathParts[pathParts.length - 1], value);
237
257
  }
238
- this.setMappedValue(current, pathParts[pathParts.length - 1], value);
239
258
  }
240
259
  }
241
- if (Object.keys(updateObj).length === 0) {
242
- return null;
243
- }
260
+ const payloadChange = Object.keys(updateObj).length > 0
261
+ ? { updateElements: updateObj }
262
+ : null;
244
263
  return {
245
- updateElements: updateObj
264
+ payloadChange,
265
+ specialFields: Object.keys(specialFields).length > 0 ? specialFields : undefined
246
266
  };
247
267
  }
248
268
  catch (error) {
249
269
  (0, core_1.LogError)(`Failed to parse ActionOutputMapping: ${error.message}`);
250
- return null;
270
+ return { payloadChange: null };
251
271
  }
252
272
  }
253
273
  async createStepForFlowNode(params, node, payload, flowState) {
@@ -350,7 +370,8 @@ let FlowAgentType = class FlowAgentType extends base_agent_type_1.BaseAgentType
350
370
  if (!outputMapping) {
351
371
  return null;
352
372
  }
353
- return this.applyActionOutputMapping(actionResult, currentPayload || {}, outputMapping);
373
+ const result = this.applyActionOutputMapping(actionResult, currentPayload || {}, outputMapping);
374
+ return result.payloadChange;
354
375
  }
355
376
  async PreProcessActionStep(actions, currentPayload, agentTypeState, currentStep, params) {
356
377
  const stepMetadata = currentStep;
@@ -435,7 +456,10 @@ let FlowAgentType = class FlowAgentType extends base_agent_type_1.BaseAgentType
435
456
  resolveNestedValue(value, currentPayload, params) {
436
457
  if (typeof value === 'string') {
437
458
  const trimmedValue = value.trim();
438
- if (trimmedValue.toLowerCase().startsWith('static:')) {
459
+ if (ConversationMessageResolver_1.ConversationMessageResolver.isConversationReference(trimmedValue) && params?.conversationMessages) {
460
+ return ConversationMessageResolver_1.ConversationMessageResolver.resolve(trimmedValue, params.conversationMessages);
461
+ }
462
+ else if (trimmedValue.toLowerCase().startsWith('static:')) {
439
463
  return value.substring(value.indexOf(':') + 1);
440
464
  }
441
465
  else if (trimmedValue.toLowerCase().startsWith('payload.')) {
@@ -486,7 +510,15 @@ let FlowAgentType = class FlowAgentType extends base_agent_type_1.BaseAgentType
486
510
  }
487
511
  }
488
512
  }
489
- const payloadChange = this.applyActionOutputMapping(outputParams, currentPayload, outputMapping);
513
+ const result = this.applyActionOutputMapping(outputParams, currentPayload, outputMapping);
514
+ const payloadChange = result.payloadChange;
515
+ const flowState = agentTypeState;
516
+ if (result.specialFields) {
517
+ if (!flowState.specialFields) {
518
+ flowState.specialFields = {};
519
+ }
520
+ Object.assign(flowState.specialFields, result.specialFields);
521
+ }
490
522
  if (payloadChange && payloadChange.updateElements) {
491
523
  const existingPayload = currentPayload || {};
492
524
  const mergeResult = this._payloadManager.applyAgentChangeRequest(existingPayload, payloadChange, {
@@ -551,11 +583,14 @@ let FlowAgentType = class FlowAgentType extends base_agent_type_1.BaseAgentType
551
583
  message: '✅ Flow Agent: Flow completed successfully - no more paths to follow',
552
584
  verboseOnly: true
553
585
  });
554
- return this.createSuccessStep({
555
- message: 'Flow completed - no more paths to follow',
586
+ const successStep = this.createSuccessStep({
587
+ message: flowState.specialFields?.message || 'Flow completed - no more paths to follow',
588
+ reasoning: flowState.specialFields?.reasoning,
589
+ confidence: flowState.specialFields?.confidence,
556
590
  newPayload: currentPayload,
557
591
  previousPayload: currentPayload
558
592
  });
593
+ return successStep;
559
594
  }
560
595
  const nextStep = await this.getStepById(paths[0].DestinationStepID);
561
596
  if (!nextStep) {
@@ -771,9 +806,9 @@ let FlowAgentType = class FlowAgentType extends base_agent_type_1.BaseAgentType
771
806
  const indexVar = loopContext.indexVariable || 'index';
772
807
  const itemVar = loopContext.itemVariable || 'item';
773
808
  resolvedOutputMapping = resolvedOutputMapping.replace(new RegExp(`\\[${indexVar}\\]`, 'g'), `[${iterationResult.index}]`);
774
- const payloadChange = this.applyActionOutputMapping(outputParams, iterationResult.currentPayload, resolvedOutputMapping);
775
- if (payloadChange?.updateElements) {
776
- return this._payloadManager.deepMerge(iterationResult.currentPayload, payloadChange.updateElements);
809
+ const result = this.applyActionOutputMapping(outputParams, iterationResult.currentPayload, resolvedOutputMapping);
810
+ if (result.payloadChange?.updateElements) {
811
+ return this._payloadManager.deepMerge(iterationResult.currentPayload, result.payloadChange.updateElements);
777
812
  }
778
813
  return null;
779
814
  }