@memberjunction/ai-agents 5.20.0 → 5.21.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
@@ -294,21 +294,21 @@ const result = await runner.ExecuteAgent({
294
294
  });
295
295
  ```
296
296
 
297
- ## Human-in-the-Loop (HITL)
297
+ ## Documentation
298
298
 
299
- MemberJunction agents support **human-in-the-loop feedback requests** — a mechanism for agents to pause execution and request human input before proceeding. This enables approval workflows, quality review gates, and collaborative decision-making between agents and humans.
299
+ Detailed guides are available in the [`docs/`](./docs/) directory:
300
300
 
301
- Key capabilities:
302
- - **Assignment strategies**: 5-level resolution chain (per-invocation → agent type → category tree → request type → fallback) determines who receives each request
303
- - **Agent categories**: Hierarchical category tree with inherited assignment strategies
304
- - **Request types**: Configurable request types (Approval, Review, Input, Escalation, Custom) with response schemas
305
- - **Request lifecycle**: Pending → Assigned → In Progress → Completed/Expired/Cancelled with full audit trail
306
-
307
- For the complete guide including architecture diagrams, integration examples, and API reference, see [HUMAN_IN_THE_LOOP.md](./HUMAN_IN_THE_LOOP.md).
308
-
309
- ## Architecture Documentation
310
-
311
- For multi-tenant memory scoping (notes/examples), see [AGENT_MEMORY_SCOPING.md](./AGENT_MEMORY_SCOPING.md).
301
+ | Guide | Description |
302
+ |---|---|
303
+ | [Actions Guide](./docs/actions-guide.md) | Action discovery, execution, result lifecycle, expiration/compaction, context recovery |
304
+ | [Sub-Agents Guide](./docs/sub-agents-guide.md) | Child agents, related agents, payload flow, context propagation, loops |
305
+ | [Human-in-the-Loop](./docs/HUMAN_IN_THE_LOOP.md) | Feedback requests, assignment strategies, request lifecycle |
306
+ | [Agent Memory Scoping](./docs/AGENT_MEMORY_SCOPING.md) | Multi-tenant memory (notes/examples) with UserScope support |
307
+ | [Iterative Operations](./docs/guide-to-iterative-operations-in-agents.md) | ForEach and While loop patterns, parallel execution |
308
+ | [State Management](./docs/state-management.md) | Payload management, agent type state |
309
+ | [Expression Context (PRD)](./docs/prd-expression-context-phase1.md) | Expression evaluation in agent contexts |
310
+ | [Agent Profiles (Proposal)](./docs/agent-profiles-proposal.md) | Proposed agent profile system |
311
+ | [Code Refactoring Notes](./docs/code-refactoring.md) | Internal refactoring notes |
312
312
 
313
313
  ## Re-exports
314
314
 
@@ -318,6 +318,17 @@ export declare class BaseAgent {
318
318
  * @since 2.123.0
319
319
  */
320
320
  private _effectiveActions;
321
+ /**
322
+ * Counts only prompt (LLM) executions, NOT all agent steps.
323
+ * Used for message expiration age calculations so that `expirationTurns`
324
+ * semantically means "number of LLM calls" rather than "number of steps"
325
+ * (which includes actions, loops, sub-agents, etc.).
326
+ *
327
+ * Without this, a ForEach loop over 100 items would bump the step counter
328
+ * by 100, causing messages to expire far too early even though only one
329
+ * prompt execution occurred after them.
330
+ */
331
+ private _promptTurnCount;
321
332
  /**
322
333
  * Execution limits for dynamically added actions.
323
334
  * Maps action IDs to their MaxExecutionsPerRun limit.
@@ -1076,10 +1087,15 @@ export declare class BaseAgent {
1076
1087
  * Formats a single output parameter value for inclusion in action result
1077
1088
  * markdown. Scalars are shown inline with backtick formatting; objects and
1078
1089
  * arrays use compact (single-line) JSON to avoid the indentation overhead
1079
- * of pretty-printed JSON. Very long values are truncated.
1090
+ * of pretty-printed JSON.
1091
+ *
1092
+ * By default, values are **not truncated** — the expiration/compaction lifecycle
1093
+ * handles context window management. Truncating at formatting time permanently
1094
+ * discards data before the LLM ever sees it. Pass an explicit maxLength only
1095
+ * when you have a specific reason to limit output size.
1080
1096
  *
1081
1097
  * @param value - The parameter value (any type)
1082
- * @param maxLength - Maximum character length before truncation (default 500)
1098
+ * @param maxLength - Maximum character length before truncation (0 = no limit, default 0)
1083
1099
  * @returns Formatted string
1084
1100
  * @private
1085
1101
  */
@@ -1476,9 +1492,34 @@ export declare class BaseAgent {
1476
1492
  */
1477
1493
  private completeForEachLoop;
1478
1494
  /**
1479
- * Helper: Inject loop results as temporary message
1495
+ * Helper: Inject loop results into conversation with expiration/compaction metadata.
1496
+ * Uses the same lifecycle as non-loop action results so results persist for N turns
1497
+ * rather than being deleted after a single prompt turn.
1480
1498
  */
1481
1499
  private injectLoopResultsMessage;
1500
+ /**
1501
+ * Formats loop iteration results as markdown. Handles two distinct result shapes
1502
+ * depending on whether the loop body executed actions or sub-agents:
1503
+ *
1504
+ * - **Action iterations**: `priorStepResult` is an `ActionResultSummary[]`, set by
1505
+ * `executeActionsStep()` (line ~7003). These are formatted via `formatActionResultsAsMarkdown()`.
1506
+ *
1507
+ * - **Sub-agent iterations**: `priorStepResult` is a **pre-formatted markdown string**,
1508
+ * set by the loop handlers (`executeSingleForEachIteration` / `executeSingleWhileIteration`)
1509
+ * which call `formatSubAgentResultAsMarkdown()` and assign the result to `priorStepResult`.
1510
+ * Since the markdown is already rendered upstream, this method simply includes it as-is.
1511
+ *
1512
+ * This two-path design means sub-agent formatting happens at assignment time (in the loop
1513
+ * handler), while action formatting happens at render time (here). Both produce the same
1514
+ * markdown style used by non-loop results, ensuring consistency across the codebase.
1515
+ */
1516
+ private formatLoopResultsAsMarkdown;
1517
+ /**
1518
+ * Resolves expiration/compaction metadata for loop result messages by looking up
1519
+ * the loop's action config. Uses the same most-restrictive-wins logic as
1520
+ * non-loop action result metadata resolution.
1521
+ */
1522
+ private resolveLoopExpirationMetadata;
1482
1523
  /**
1483
1524
  * Helper: Find action with fuzzy matching for loops.
1484
1525
  * Uses effective actions which includes both database-configured and dynamically added actions.
@@ -1 +1 @@
1
- {"version":3,"file":"base-agent.d.ts","sourceRoot":"","sources":["../src/base-agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base-agent.d.ts","sourceRoot":"","sources":["../src/base-agent.ts"],"names":[],"mappings":"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"}
@@ -173,6 +173,17 @@ export class BaseAgent {
173
173
  * @since 2.123.0
174
174
  */
175
175
  this._effectiveActions = [];
176
+ /**
177
+ * Counts only prompt (LLM) executions, NOT all agent steps.
178
+ * Used for message expiration age calculations so that `expirationTurns`
179
+ * semantically means "number of LLM calls" rather than "number of steps"
180
+ * (which includes actions, loops, sub-agents, etc.).
181
+ *
182
+ * Without this, a ForEach loop over 100 items would bump the step counter
183
+ * by 100, causing messages to expire far too early even though only one
184
+ * prompt execution occurred after them.
185
+ */
186
+ this._promptTurnCount = 0;
176
187
  /**
177
188
  * Execution limits for dynamically added actions.
178
189
  * Maps action IDs to their MaxExecutionsPerRun limit.
@@ -1003,8 +1014,10 @@ export class BaseAgent {
1003
1014
  if (params.cancellationToken?.aborted) {
1004
1015
  throw new Error('Cancelled during execution');
1005
1016
  }
1006
- // Prune and compact expired messages before executing the next step
1007
- await this.pruneAndCompactExpiredMessages(params, stepCount);
1017
+ // Prune and compact expired messages before executing the next step.
1018
+ // Uses _promptTurnCount (not stepCount) so expiration is measured in prompt
1019
+ // executions, not all steps (which include actions, loops, sub-agents, etc.)
1020
+ await this.pruneAndCompactExpiredMessages(params, this._promptTurnCount);
1008
1021
  // Execute the current step based on previous decision or initial prompt
1009
1022
  this.logStatus(`🔄 Executing step ${stepCount + 1} for agent '${params.agent.Name}'`, true, params);
1010
1023
  const nextStep = await this.executeNextStep(params, config, currentNextStep, stepCount);
@@ -2815,13 +2828,13 @@ export class BaseAgent {
2815
2828
  newPayload: payload
2816
2829
  };
2817
2830
  }
2818
- // Get current step count for age calculations
2819
- const currentStepCount = this._agentRun?.Steps?.length || 0;
2831
+ // Use prompt turn count for age calculations (not step count)
2832
+ const currentPromptTurn = this._promptTurnCount;
2820
2833
  // Try multiple recovery strategies in order
2821
2834
  const strategies = [
2822
- () => this.recoveryStrategy_RemoveOldestActionResults(params, tokensToSave, currentStepCount, 5),
2823
- () => this.recoveryStrategy_CompactOldActionResults(params, tokensToSave, currentStepCount, 3),
2824
- () => this.recoveryStrategy_RemoveOldestActionResults(params, tokensToSave, currentStepCount, 2),
2835
+ () => this.recoveryStrategy_RemoveOldestActionResults(params, tokensToSave, currentPromptTurn, 5),
2836
+ () => this.recoveryStrategy_CompactOldActionResults(params, tokensToSave, currentPromptTurn, 3),
2837
+ () => this.recoveryStrategy_RemoveOldestActionResults(params, tokensToSave, currentPromptTurn, 2),
2825
2838
  () => this.recoveryStrategy_CompactAllActionResults(params, tokensToSave),
2826
2839
  () => Promise.resolve(this.recoveryStrategy_TrimLastUserMessage(params, tokensToSave))
2827
2840
  ];
@@ -3561,18 +3574,15 @@ The context is now within limits. Please retry your request with the recovered c
3561
3574
  if (!result.success && result.agentRun?.ErrorMessage) {
3562
3575
  lines.push(`**Error:** ${result.agentRun.ErrorMessage}`);
3563
3576
  }
3564
- // Payload — the actual result data the parent agent cares about
3577
+ // Payload — the actual result data the parent agent cares about.
3578
+ // Not truncated by default — the expiration/compaction lifecycle handles
3579
+ // context window management. Truncating here permanently discards data
3580
+ // before the LLM ever sees it.
3565
3581
  if (result.payload != null) {
3566
3582
  const payloadStr = typeof result.payload === 'string'
3567
3583
  ? result.payload
3568
3584
  : JSON.stringify(result.payload);
3569
- // For very large payloads, truncate to keep context manageable
3570
- if (payloadStr.length > 4000) {
3571
- lines.push(`**Payload** (truncated):\n${payloadStr.substring(0, 4000)}…`);
3572
- }
3573
- else {
3574
- lines.push(`**Payload:**\n${payloadStr}`);
3575
- }
3585
+ lines.push(`**Payload:**\n${payloadStr}`);
3576
3586
  }
3577
3587
  return lines.join('\n');
3578
3588
  }
@@ -3580,14 +3590,19 @@ The context is now within limits. Please retry your request with the recovered c
3580
3590
  * Formats a single output parameter value for inclusion in action result
3581
3591
  * markdown. Scalars are shown inline with backtick formatting; objects and
3582
3592
  * arrays use compact (single-line) JSON to avoid the indentation overhead
3583
- * of pretty-printed JSON. Very long values are truncated.
3593
+ * of pretty-printed JSON.
3594
+ *
3595
+ * By default, values are **not truncated** — the expiration/compaction lifecycle
3596
+ * handles context window management. Truncating at formatting time permanently
3597
+ * discards data before the LLM ever sees it. Pass an explicit maxLength only
3598
+ * when you have a specific reason to limit output size.
3584
3599
  *
3585
3600
  * @param value - The parameter value (any type)
3586
- * @param maxLength - Maximum character length before truncation (default 500)
3601
+ * @param maxLength - Maximum character length before truncation (0 = no limit, default 0)
3587
3602
  * @returns Formatted string
3588
3603
  * @private
3589
3604
  */
3590
- formatParamValueForResult(value, maxLength = 500) {
3605
+ formatParamValueForResult(value, maxLength = 0) {
3591
3606
  if (value === null || value === undefined) {
3592
3607
  return '`null`';
3593
3608
  }
@@ -3602,7 +3617,7 @@ The context is now within limits. Please retry your request with the recovered c
3602
3617
  // Compact JSON (no pretty-printing) for objects/arrays
3603
3618
  stringValue = JSON.stringify(value);
3604
3619
  }
3605
- if (stringValue.length > maxLength) {
3620
+ if (maxLength > 0 && stringValue.length > maxLength) {
3606
3621
  return `${stringValue.substring(0, maxLength)}…`;
3607
3622
  }
3608
3623
  return stringValue;
@@ -3816,6 +3831,8 @@ The context is now within limits. Please retry your request with the recovered c
3816
3831
  }
3817
3832
  }
3818
3833
  }
3834
+ // Reset prompt turn counter for this execution
3835
+ this._promptTurnCount = 0;
3819
3836
  // Create MJAIAgentRunEntity
3820
3837
  this._agentRun = await this._metadata.GetEntityObject('MJ: AI Agent Runs', params.contextUser);
3821
3838
  this._agentRun.AgentID = params.agent.ID;
@@ -4211,8 +4228,7 @@ The context is now within limits. Please retry your request with the recovered c
4211
4228
  // Check if this is a message expansion request
4212
4229
  if (previousDecision.messageIndex !== undefined) {
4213
4230
  // Handle message expansion before retrying
4214
- const currentStepCount = this._agentRun?.Steps?.length || 0;
4215
- this.executeExpandMessageStep(previousDecision, params, currentStepCount);
4231
+ this.executeExpandMessageStep(previousDecision, params, this._promptTurnCount);
4216
4232
  }
4217
4233
  return await this.executePromptStep(params, config, previousDecision, stepCount);
4218
4234
  case 'Sub-Agent':
@@ -4420,12 +4436,11 @@ The context is now within limits. Please retry your request with the recovered c
4420
4436
  };
4421
4437
  // Execute the prompt
4422
4438
  const promptResult = await this.executePrompt(promptParams);
4423
- // Remove temporary messages before processing prompt results
4424
- // This includes loop results and sub-agent completion messages
4425
- params.conversationMessages = params.conversationMessages.filter(m => {
4426
- const metadata = m.metadata;
4427
- return !metadata?._loopResults && !metadata?._subAgentResult;
4428
- });
4439
+ // Increment prompt-specific turn counter (used for expiration age calculations)
4440
+ this._promptTurnCount++;
4441
+ // Loop and sub-agent results now use the standard expiration/compaction lifecycle
4442
+ // (messageType: 'loop-result' / 'sub-agent-result') instead of being deleted after
4443
+ // one prompt turn. The processMessageExpiration() method handles their lifecycle.
4429
4444
  // Update step entity with AIPromptRun ID if available
4430
4445
  if (promptResult.promptRun?.ID) {
4431
4446
  stepEntity.TargetLogID = promptResult.promptRun.ID;
@@ -4940,31 +4955,33 @@ The context is now within limits. Please retry your request with the recovered c
4940
4955
  // This ensures parent agents can override child Chat steps
4941
4956
  return await this.validateChatNextStep(params, chatStep, mergedPayload, this._agentRun, stepEntity);
4942
4957
  }
4943
- // Build a clean summary of sub-agent result
4944
- const subAgentSummary = {
4945
- agentName: params.agent.Name,
4958
+ // Add user message with the sub-agent results using markdown format
4959
+ // and expiration metadata so it persists across multiple prompt turns
4960
+ const resultMessage = this.formatSubAgentResultAsMarkdown(subAgentRequest.name, subAgentResult);
4961
+ const subAgentMetadata = {
4962
+ turnAdded: this._promptTurnCount,
4963
+ messageType: 'sub-agent-result',
4946
4964
  subAgentName: subAgentRequest.name,
4947
4965
  subAgentId: subAgentEntity.ID,
4948
- success: subAgentResult.success,
4949
- finalStep: subAgentResult.agentRun?.FinalStep,
4950
- errorMessage: subAgentResult.agentRun?.ErrorMessage || null
4951
- // do NOT include payload here as this goes to the LLM and
4952
- // we don't need that there, too many tokens and LLM already gets
4953
- // payload the normal way
4966
+ // Default: keep sub-agent results for 3 turns then remove
4967
+ expirationTurns: 3,
4968
+ expirationMode: 'Remove'
4954
4969
  };
4955
- // Add user message with the sub-agent results
4956
- const resultMessage = subAgentResult.success
4957
- ? `Sub-agent completed successfully:\n${JSON.stringify(subAgentSummary, null, 2)}`
4958
- : `Sub-agent failed:\n${JSON.stringify(subAgentSummary, null, 2)}`;
4970
+ // Apply global override if configured
4971
+ if (params.messageExpirationOverride) {
4972
+ const override = params.messageExpirationOverride;
4973
+ if (override.expirationTurns != null) {
4974
+ subAgentMetadata.expirationTurns = override.expirationTurns;
4975
+ subAgentMetadata.expirationMode = override.expirationMode || 'Remove';
4976
+ subAgentMetadata.compactMode = override.compactMode;
4977
+ subAgentMetadata.compactLength = override.compactLength;
4978
+ subAgentMetadata.compactPromptId = override.compactPromptId;
4979
+ }
4980
+ }
4959
4981
  params.conversationMessages.push({
4960
4982
  role: 'user',
4961
4983
  content: resultMessage,
4962
- metadata: {
4963
- _temporary: true,
4964
- _subAgentResult: true,
4965
- subAgentName: subAgentRequest.name,
4966
- subAgentId: subAgentEntity.ID
4967
- }
4984
+ metadata: subAgentMetadata
4968
4985
  });
4969
4986
  // Set PayloadAtEnd with the merged payload
4970
4987
  if (stepEntity) {
@@ -5217,17 +5234,31 @@ The context is now within limits. Please retry your request with the recovered c
5217
5234
  // This ensures parent agents can override child Chat steps
5218
5235
  return await this.validateChatNextStep(params, chatStep, mergedPayload, this._agentRun, stepEntity);
5219
5236
  }
5220
- // Add sub-agent result to conversation as user message
5221
- const subAgentSummary = {
5222
- agentName: params.agent.Name,
5237
+ // Add sub-agent result to conversation as user message using markdown format
5238
+ // and expiration metadata so it persists across multiple prompt turns
5239
+ const relatedResultMessage = this.formatSubAgentResultAsMarkdown(subAgentRequest.name, subAgentResult);
5240
+ const relatedMetadata = {
5241
+ turnAdded: this._promptTurnCount,
5242
+ messageType: 'sub-agent-result',
5223
5243
  subAgentName: subAgentRequest.name,
5224
- success: subAgentResult.success,
5225
- payload: subAgentResult.payload,
5226
- errorMessage: subAgentResult.agentRun?.ErrorMessage
5244
+ subAgentId: subAgentEntity.ID,
5245
+ expirationTurns: 3,
5246
+ expirationMode: 'Remove'
5227
5247
  };
5248
+ if (params.messageExpirationOverride) {
5249
+ const override = params.messageExpirationOverride;
5250
+ if (override.expirationTurns != null) {
5251
+ relatedMetadata.expirationTurns = override.expirationTurns;
5252
+ relatedMetadata.expirationMode = override.expirationMode || 'Remove';
5253
+ relatedMetadata.compactMode = override.compactMode;
5254
+ relatedMetadata.compactLength = override.compactLength;
5255
+ relatedMetadata.compactPromptId = override.compactPromptId;
5256
+ }
5257
+ }
5228
5258
  params.conversationMessages.push({
5229
5259
  role: 'user',
5230
- content: `Related sub-agent "${subAgentRequest.name}" completed:\n${JSON.stringify(subAgentSummary, null, 2)}`
5260
+ content: relatedResultMessage,
5261
+ metadata: relatedMetadata
5231
5262
  });
5232
5263
  // Update the agent run's current payload
5233
5264
  if (this._agentRun) {
@@ -5676,9 +5707,8 @@ The context is now within limits. Please retry your request with the recovered c
5676
5707
  }
5677
5708
  // Only add metadata if we have expiration settings
5678
5709
  if (minExpirationTurns !== null && expirationMode !== 'None') {
5679
- const currentStepCount = this._agentRun?.Steps?.length || 0;
5680
5710
  metadata = {
5681
- turnAdded: currentStepCount,
5711
+ turnAdded: this._promptTurnCount,
5682
5712
  messageType: 'action-result',
5683
5713
  expirationTurns: minExpirationTurns,
5684
5714
  expirationMode: expirationMode,
@@ -6297,6 +6327,8 @@ The context is now within limits. Please retry your request with the recovered c
6297
6327
  else if (forEach.subAgent) {
6298
6328
  const subAgentStep = { step: 'Sub-Agent', subAgent: forEach.subAgent, newPayload: currentPayload, previousPayload: currentPayload };
6299
6329
  result = await this.processSubAgentStep(params, subAgentStep, parentStepId, item);
6330
+ // Attach formatted summary as priorStepResult so formatLoopResultsAsMarkdown can render it
6331
+ result.priorStepResult = this.formatSubAgentResultAsMarkdown(forEach.subAgent.name, result);
6300
6332
  }
6301
6333
  else {
6302
6334
  throw new Error('ForEach missing action/subAgent');
@@ -6318,7 +6350,7 @@ The context is now within limits. Please retry your request with the recovered c
6318
6350
  loopStepEntity.PayloadAtEnd = this.serializePayloadAtEnd(loopResults.finalPayload);
6319
6351
  await this.finalizeStepEntity(loopStepEntity, loopResults.errors.length === 0, loopResults.errors.join('\n\n'), loopResults);
6320
6352
  if (this.AgentTypeInstance.InjectLoopResultsAsMessage) {
6321
- this.injectLoopResultsMessage('ForEach', forEach.collectionPath, loopResults.results, loopResults.errors, params);
6353
+ this.injectLoopResultsMessage('ForEach', forEach.collectionPath, loopResults.results, loopResults.errors, params, forEach.action?.name);
6322
6354
  }
6323
6355
  return {
6324
6356
  step: 'Retry',
@@ -6329,20 +6361,121 @@ The context is now within limits. Please retry your request with the recovered c
6329
6361
  };
6330
6362
  }
6331
6363
  /**
6332
- * Helper: Inject loop results as temporary message
6364
+ * Helper: Inject loop results into conversation with expiration/compaction metadata.
6365
+ * Uses the same lifecycle as non-loop action results so results persist for N turns
6366
+ * rather than being deleted after a single prompt turn.
6333
6367
  */
6334
- injectLoopResultsMessage(loopType, collectionOrCondition, results, errors, params) {
6335
- // grab the priorStepResult from within each result item and put that into a new array
6336
- const extractedResults = results.map(r => r.priorStepResult);
6368
+ injectLoopResultsMessage(loopType, collectionOrCondition, results, errors, params, actionName) {
6337
6369
  const label = loopType === 'ForEach' ? 'Collection' : 'Condition';
6370
+ const content = `## Loop Completed\n**Type:** ${loopType}\n**${label}:** ${collectionOrCondition}\n` +
6371
+ `**Processed:** ${results.length}, **Errors:** ${errors.length}\n\n` +
6372
+ this.formatLoopResultsAsMarkdown(results, errors);
6373
+ // Resolve expiration metadata from the loop's action config (most-restrictive-wins)
6374
+ const metadata = this.resolveLoopExpirationMetadata(params, actionName);
6338
6375
  params.conversationMessages.push({
6339
6376
  role: 'user',
6340
- content: `## Loop Completed\n**Type:** ${loopType}\n**${label}:** ${collectionOrCondition}\n` +
6341
- `**Processed:** ${results.length}, **Errors:** ${errors.length}\n\n` +
6342
- `**Results:**\n\`\`\`json\n${JSON.stringify(extractedResults, null, 2)}\n\`\`\``,
6343
- metadata: { _temporary: true, _loopResults: true }
6377
+ content,
6378
+ metadata
6344
6379
  });
6345
6380
  }
6381
+ /**
6382
+ * Formats loop iteration results as markdown. Handles two distinct result shapes
6383
+ * depending on whether the loop body executed actions or sub-agents:
6384
+ *
6385
+ * - **Action iterations**: `priorStepResult` is an `ActionResultSummary[]`, set by
6386
+ * `executeActionsStep()` (line ~7003). These are formatted via `formatActionResultsAsMarkdown()`.
6387
+ *
6388
+ * - **Sub-agent iterations**: `priorStepResult` is a **pre-formatted markdown string**,
6389
+ * set by the loop handlers (`executeSingleForEachIteration` / `executeSingleWhileIteration`)
6390
+ * which call `formatSubAgentResultAsMarkdown()` and assign the result to `priorStepResult`.
6391
+ * Since the markdown is already rendered upstream, this method simply includes it as-is.
6392
+ *
6393
+ * This two-path design means sub-agent formatting happens at assignment time (in the loop
6394
+ * handler), while action formatting happens at render time (here). Both produce the same
6395
+ * markdown style used by non-loop results, ensuring consistency across the codebase.
6396
+ */
6397
+ formatLoopResultsAsMarkdown(results, errors) {
6398
+ const lines = [];
6399
+ for (let i = 0; i < results.length; i++) {
6400
+ const iterResult = results[i].priorStepResult;
6401
+ // Action iterations: priorStepResult is ActionResultSummary[] — format via shared helper
6402
+ if (Array.isArray(iterResult)) {
6403
+ lines.push(`### Iteration ${i + 1}`);
6404
+ lines.push(this.formatActionResultsAsMarkdown(iterResult));
6405
+ }
6406
+ else if (iterResult != null) {
6407
+ // Sub-agent iterations: priorStepResult is already a markdown string from
6408
+ // formatSubAgentResultAsMarkdown() called in the loop handler. Non-string
6409
+ // results (edge cases) are JSON-stringified as a fallback.
6410
+ lines.push(`### Iteration ${i + 1}`);
6411
+ const text = typeof iterResult === 'string'
6412
+ ? iterResult
6413
+ : JSON.stringify(iterResult);
6414
+ lines.push(text);
6415
+ }
6416
+ // null/undefined priorStepResult: iteration produced no output — skip silently
6417
+ }
6418
+ if (errors.length > 0) {
6419
+ lines.push(`### Errors`);
6420
+ for (const err of errors) {
6421
+ const errMsg = typeof err === 'string' ? err : err?.message || JSON.stringify(err);
6422
+ lines.push(`• ✗ ${errMsg}`);
6423
+ }
6424
+ }
6425
+ return lines.join('\n');
6426
+ }
6427
+ /**
6428
+ * Resolves expiration/compaction metadata for loop result messages by looking up
6429
+ * the loop's action config. Uses the same most-restrictive-wins logic as
6430
+ * non-loop action result metadata resolution.
6431
+ */
6432
+ resolveLoopExpirationMetadata(params, actionName) {
6433
+ const baseMetadata = {
6434
+ turnAdded: this._promptTurnCount,
6435
+ messageType: 'loop-result'
6436
+ };
6437
+ // Check for global override first
6438
+ if (params.messageExpirationOverride) {
6439
+ const override = params.messageExpirationOverride;
6440
+ if (override.expirationTurns != null && override.expirationMode !== 'None') {
6441
+ return {
6442
+ ...baseMetadata,
6443
+ expirationTurns: override.expirationTurns,
6444
+ expirationMode: override.expirationMode || 'Remove',
6445
+ compactMode: override.compactMode,
6446
+ compactLength: override.compactLength,
6447
+ compactPromptId: override.compactPromptId
6448
+ };
6449
+ }
6450
+ }
6451
+ // Look up the loop's action config for expiration settings
6452
+ if (actionName) {
6453
+ const agentActions = AIEngine.Instance.AgentActions.filter(aa => UUIDsEqual(aa.AgentID, params.agent.ID));
6454
+ const effectiveActions = this._effectiveActions.length > 0
6455
+ ? this._effectiveActions
6456
+ : ActionEngineServer.Instance.Actions.filter(a => agentActions.some(aa => UUIDsEqual(aa.ActionID, a.ID)));
6457
+ const matchedAction = effectiveActions.find(a => a.Name.trim().toLowerCase() === actionName.trim().toLowerCase());
6458
+ if (matchedAction) {
6459
+ const agentAction = agentActions.find(aa => UUIDsEqual(aa.ActionID, matchedAction.ID));
6460
+ if (agentAction?.ResultExpirationTurns != null && agentAction.ResultExpirationMode !== 'None') {
6461
+ return {
6462
+ ...baseMetadata,
6463
+ expirationTurns: agentAction.ResultExpirationTurns,
6464
+ expirationMode: agentAction.ResultExpirationMode,
6465
+ compactMode: agentAction.CompactMode,
6466
+ compactLength: agentAction.CompactLength ?? undefined,
6467
+ compactPromptId: agentAction.CompactPromptID ?? undefined
6468
+ };
6469
+ }
6470
+ }
6471
+ }
6472
+ // Default: keep for 3 turns then remove (safe fallback so results don't vanish after 1 turn)
6473
+ return {
6474
+ ...baseMetadata,
6475
+ expirationTurns: 3,
6476
+ expirationMode: 'Remove'
6477
+ };
6478
+ }
6346
6479
  /**
6347
6480
  * Helper: Find action with fuzzy matching for loops.
6348
6481
  * Uses effective actions which includes both database-configured and dynamically added actions.
@@ -6482,6 +6615,8 @@ The context is now within limits. Please retry your request with the recovered c
6482
6615
  else if (whileOp.subAgent) {
6483
6616
  const subAgentStep = { step: 'Sub-Agent', subAgent: whileOp.subAgent, newPayload: currentPayload, previousPayload: currentPayload };
6484
6617
  result = await this.processSubAgentStep(params, subAgentStep, parentStepId, attemptContext);
6618
+ // Attach formatted summary as priorStepResult so formatLoopResultsAsMarkdown can render it
6619
+ result.priorStepResult = this.formatSubAgentResultAsMarkdown(whileOp.subAgent.name, result);
6485
6620
  }
6486
6621
  else {
6487
6622
  throw new Error('While missing action/subAgent');
@@ -6502,7 +6637,7 @@ The context is now within limits. Please retry your request with the recovered c
6502
6637
  loopStepEntity.PayloadAtEnd = this.serializePayloadAtEnd(loopResults.finalPayload);
6503
6638
  await this.finalizeStepEntity(loopStepEntity, loopResults.errors.length === 0, loopResults.errors.join('\n\n'), loopResults);
6504
6639
  if (this.AgentTypeInstance.InjectLoopResultsAsMessage) {
6505
- this.injectLoopResultsMessage('While', whileOp.condition, loopResults.results, loopResults.errors, params);
6640
+ this.injectLoopResultsMessage('While', whileOp.condition, loopResults.results, loopResults.errors, params, whileOp.action?.name);
6506
6641
  }
6507
6642
  return {
6508
6643
  step: 'Retry',