@memberjunction/ai-agents 6.1.0-edge.6 → 6.1.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.
Files changed (67) hide show
  1. package/dist/SkillImportExportService.d.ts +17 -1
  2. package/dist/SkillImportExportService.d.ts.map +1 -1
  3. package/dist/SkillImportExportService.js +57 -5
  4. package/dist/SkillImportExportService.js.map +1 -1
  5. package/dist/SkillMarkdownConverter.d.ts +17 -1
  6. package/dist/SkillMarkdownConverter.d.ts.map +1 -1
  7. package/dist/SkillMarkdownConverter.js +40 -5
  8. package/dist/SkillMarkdownConverter.js.map +1 -1
  9. package/dist/agent-types/base-agent-type.d.ts +26 -1
  10. package/dist/agent-types/base-agent-type.d.ts.map +1 -1
  11. package/dist/agent-types/base-agent-type.js +17 -0
  12. package/dist/agent-types/base-agent-type.js.map +1 -1
  13. package/dist/agent-types/loop-agent-response-type.d.ts +16 -0
  14. package/dist/agent-types/loop-agent-response-type.d.ts.map +1 -1
  15. package/dist/agent-types/loop-agent-response-type.js +19 -1
  16. package/dist/agent-types/loop-agent-response-type.js.map +1 -1
  17. package/dist/agent-types/loop-agent-type.d.ts +32 -1
  18. package/dist/agent-types/loop-agent-type.d.ts.map +1 -1
  19. package/dist/agent-types/loop-agent-type.js +190 -3
  20. package/dist/agent-types/loop-agent-type.js.map +1 -1
  21. package/dist/base-agent.d.ts +186 -3
  22. package/dist/base-agent.d.ts.map +1 -1
  23. package/dist/base-agent.js +564 -53
  24. package/dist/base-agent.js.map +1 -1
  25. package/dist/index.d.ts +4 -0
  26. package/dist/index.d.ts.map +1 -1
  27. package/dist/index.js +4 -0
  28. package/dist/index.js.map +1 -1
  29. package/dist/native-tools/action-tool-builder.d.ts +92 -0
  30. package/dist/native-tools/action-tool-builder.d.ts.map +1 -0
  31. package/dist/native-tools/action-tool-builder.js +226 -0
  32. package/dist/native-tools/action-tool-builder.js.map +1 -0
  33. package/dist/native-tools/control-tools.d.ts +52 -0
  34. package/dist/native-tools/control-tools.d.ts.map +1 -0
  35. package/dist/native-tools/control-tools.js +113 -0
  36. package/dist/native-tools/control-tools.js.map +1 -0
  37. package/dist/native-tools/dual-channel.d.ts +16 -0
  38. package/dist/native-tools/dual-channel.d.ts.map +1 -0
  39. package/dist/native-tools/dual-channel.js +44 -0
  40. package/dist/native-tools/dual-channel.js.map +1 -0
  41. package/dist/native-tools/tool-result-turns.d.ts +32 -0
  42. package/dist/native-tools/tool-result-turns.d.ts.map +1 -0
  43. package/dist/native-tools/tool-result-turns.js +29 -0
  44. package/dist/native-tools/tool-result-turns.js.map +1 -0
  45. package/dist/realtime/bridge-realtime-session-factory.d.ts.map +1 -1
  46. package/dist/realtime/bridge-realtime-session-factory.js +22 -2
  47. package/dist/realtime/bridge-realtime-session-factory.js.map +1 -1
  48. package/dist/realtime/realtime-client-session-service.d.ts +104 -17
  49. package/dist/realtime/realtime-client-session-service.d.ts.map +1 -1
  50. package/dist/realtime/realtime-client-session-service.js +325 -28
  51. package/dist/realtime/realtime-client-session-service.js.map +1 -1
  52. package/dist/realtime/realtime-coagent-config.d.ts +61 -1
  53. package/dist/realtime/realtime-coagent-config.d.ts.map +1 -1
  54. package/dist/realtime/realtime-coagent-config.js +93 -1
  55. package/dist/realtime/realtime-coagent-config.js.map +1 -1
  56. package/dist/realtime/realtime-session-runner.d.ts +10 -8
  57. package/dist/realtime/realtime-session-runner.d.ts.map +1 -1
  58. package/dist/realtime/realtime-session-runner.js +11 -9
  59. package/dist/realtime/realtime-session-runner.js.map +1 -1
  60. package/dist/realtime/realtime-tool-broker.d.ts +11 -5
  61. package/dist/realtime/realtime-tool-broker.d.ts.map +1 -1
  62. package/dist/realtime/realtime-tool-broker.js +19 -7
  63. package/dist/realtime/realtime-tool-broker.js.map +1 -1
  64. package/dist/scoped-prompt-config-resolver.d.ts +6 -1
  65. package/dist/scoped-prompt-config-resolver.d.ts.map +1 -1
  66. package/dist/scoped-prompt-config-resolver.js.map +1 -1
  67. package/package.json +18 -18
@@ -1 +1 @@
1
- {"version":3,"file":"loop-agent-type.d.ts","sourceRoot":"","sources":["../../src/agent-types/loop-agent-type.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"loop-agent-type.d.ts","sourceRoot":"","sources":["../../src/agent-types/loop-agent-type.ts"],"names":[],"mappings":"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"}
@@ -15,10 +15,13 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
15
15
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
16
16
  return c > 3 && r && Object.defineProperty(target, key, r), r;
17
17
  };
18
+ import { CHAT_FINISH_REASON_MALFORMED_TOOL_CALL } from '@memberjunction/ai';
18
19
  import { RegisterClass, SafeExpressionEvaluator } from '@memberjunction/global';
19
20
  import { BaseAgentType } from './base-agent-type.js';
20
- import { FormatValidationErrors, ValidateTaskGraphSpec, ConfigOf, } from '@memberjunction/ai-core-plus';
21
+ import { GetToolCallingDecision } from '@memberjunction/ai-prompts';
22
+ import { FormatValidationErrors, ValidateTaskGraphSpec, ConfigOf } from '@memberjunction/ai-core-plus';
21
23
  import { LogError, LogStatusEx } from '@memberjunction/core';
24
+ import { LOOP_NEXT_STEP_TYPES } from './loop-agent-response-type.js';
22
25
  import { ConversationMessageResolver } from '../utils/ConversationMessageResolver.js';
23
26
  /**
24
27
  * Implementation of the Loop Agent Type pattern.
@@ -74,6 +77,10 @@ let LoopAgentType = class LoopAgentType extends BaseAgentType {
74
77
  */
75
78
  this.consecutiveReadToolPreemptions = 0;
76
79
  }
80
+ /** The Loop type reads tool calls back as Actions steps (§8.1), so its Actions may be declared as tools. */
81
+ get SupportsNativeToolCalls() {
82
+ return true;
83
+ }
77
84
  /**
78
85
  * Handles the terminal-step-plus-inline-read-tools combination. Inline READ tools
79
86
  * (artifact/conversation) are yield/await: results arrive on the NEXT turn, so a
@@ -238,17 +245,196 @@ let LoopAgentType = class LoopAgentType extends BaseAgentType {
238
245
  *
239
246
  * @throws {Error} Implicitly through failed parsing, but returns failed step instead
240
247
  */
241
- async DetermineNextStep(promptResult, params, payload, agentTypeState) {
248
+ /**
249
+ * Turns native tool calls on the turn into an `Actions` step, or returns null when there were
250
+ * none (the envelope path).
251
+ *
252
+ * Resolution is by the reverse map rather than by re-sanitizing names, because sanitization is
253
+ * lossy: two Action names can collapse to one tool name, which {@link buildActionToolSet}
254
+ * rejects at build time precisely so this lookup can be exact.
255
+ *
256
+ * A call naming a tool that was never declared is a Retry, not a silent drop. Cerebras is
257
+ * documented to do this, measured at roughly one forced call in six, so the loop
258
+ * has to be able to say "that tool does not exist" rather than appear to hang.
259
+ */
260
+ nextStepFromNativeToolCalls(promptResult, bindings) {
261
+ const calls = promptResult.chatResult?.data?.choices?.[0]?.message?.toolCalls;
262
+ if (!calls?.length) {
263
+ return null;
264
+ }
265
+ if (!bindings) {
266
+ // Tools came back on a turn that declared none — nothing can be dispatched, and
267
+ // pretending otherwise would invent an Action name.
268
+ return this.createRetryStep('You returned a tool call, but no tools are available on this turn. Respond with the JSON envelope instead.');
269
+ }
270
+ // Control tools are dispatchable ONLY on a turn the runner recorded as NativeImplicit
271
+ // under the hybrid they are stripped from the request, so a call to one
272
+ // is a call to an undeclared tool, whatever the binding map says.
273
+ const implicit = promptResult.promptRun?.ToolCallingMode === 'NativeImplicit';
274
+ // The model's own turn travels on the step so the loop can replay it into history and
275
+ // answer each call natively when the runner's decision says so.
276
+ const message = promptResult.chatResult?.data?.choices?.[0]?.message;
277
+ const nativeTurn = {
278
+ text: typeof message?.content === 'string' ? message.content : '',
279
+ toolCalls: calls,
280
+ sendResultsNatively: GetToolCallingDecision(promptResult.chatResult)?.toolResults === true
281
+ };
282
+ const { resolved, unknown } = this.resolveNativeCalls(calls, bindings, implicit);
283
+ if (unknown.length > 0) {
284
+ return this.createRetryStep(`You called ${unknown.map((c) => `'${c.name}'`).join(', ')}, which ${unknown.length === 1 ? 'is not a tool' : 'are not tools'} `
285
+ + `available to you. Call one of the declared tools, or respond with the JSON envelope if no tool applies.`, { nativeTurn });
286
+ }
287
+ return { ...this.routeResolvedCalls(resolved), nativeTurn };
288
+ }
289
+ /** Pairs each call with its binding; a control-tool binding counts only under implicit control flow. */
290
+ resolveNativeCalls(calls, bindings, implicit) {
291
+ const resolved = [];
292
+ const unknown = [];
293
+ for (const call of calls) {
294
+ const binding = bindings.get(call.name);
295
+ if (binding && (binding.kind === 'action' || implicit)) {
296
+ resolved.push({ call, binding });
297
+ }
298
+ else {
299
+ unknown.push(call);
300
+ }
301
+ }
302
+ return { resolved, unknown };
303
+ }
304
+ /** The turn-reading table of spec §2.1, one row per branch. */
305
+ routeResolvedCalls(resolved) {
306
+ const ofKind = (kind) => resolved.filter((r) => r.binding.kind === kind);
307
+ const askUser = ofKind('askUser');
308
+ const subAgents = ofKind('subAgent');
309
+ const actions = ofKind('action');
310
+ const payloads = ofKind('payloadChange');
311
+ if (askUser.length > 0) {
312
+ return this.askUserStep(askUser[0], resolved.length);
313
+ }
314
+ if (payloads.length > 1) {
315
+ return this.createRetryStep('Call payload_change_request at most once per turn; combine your changes into one call.');
316
+ }
317
+ const payloadChangeRequest = payloads[0]?.call.arguments;
318
+ // The payload call's id has to travel with every step that carries the change, not just the
319
+ // payload-only one: whichever branch applies it also has to answer that call, or the model
320
+ // is left with a tool_use nothing responded to.
321
+ const payloadToolCallId = payloads[0]?.call.id;
322
+ if (subAgents.length > 0 && actions.length > 0) {
323
+ return this.createRetryStep('Delegate or act — not both in one turn. Call the sub-agent tool(s) on their own, or the action tool(s) on their own.');
324
+ }
325
+ if (subAgents.length > 0) {
326
+ return this.subAgentStep(subAgents, payloadChangeRequest, payloadToolCallId);
327
+ }
328
+ if (actions.length > 0) {
329
+ return this.actionsStep(actions, payloadChangeRequest, payloadToolCallId);
330
+ }
331
+ return this.payloadOnlyStep(payloadChangeRequest, payloadToolCallId);
332
+ }
333
+ /** `ask_user` ends the run as Chat / AwaitingFeedback; it must travel alone and carry a message. */
334
+ askUserStep(ask, totalCalls) {
335
+ if (totalCalls > 1) {
336
+ return this.createRetryStep('ask_user must be the only call on its turn: either ask the user, or do the work — not both at once.');
337
+ }
338
+ const message = typeof ask.call.arguments?.message === 'string' ? ask.call.arguments.message.trim() : '';
339
+ if (!message) {
340
+ return this.createRetryStep('ask_user requires a message — the question or request for the user.');
341
+ }
342
+ // An optional structured form rides along exactly as `responseForm` does on the envelope's Chat.
343
+ const form = ask.call.arguments?.responseForm;
344
+ if (form !== undefined && form !== null) {
345
+ const candidate = form;
346
+ if (typeof candidate !== 'object' || !Array.isArray(candidate.questions) || candidate.questions.length === 0) {
347
+ return this.createRetryStep('ask_user.responseForm must be an object with a non-empty questions array (see the Response Forms section), or be omitted.');
348
+ }
349
+ return this.createNextStep('Chat', { message, terminate: true, responseForm: candidate });
350
+ }
351
+ return this.createNextStep('Chat', { message, terminate: true });
352
+ }
353
+ /** One sub-agent tool → `subAgent`; several → the parallel `subAgents[]` form. */
354
+ subAgentStep(subAgents, payloadChangeRequest, payloadToolCallId) {
355
+ const requests = subAgents.map(({ call, binding }) => ({
356
+ name: binding.agent.Name,
357
+ message: typeof call.arguments?.message === 'string' ? call.arguments.message : '',
358
+ terminateAfter: call.arguments?.terminateAfter === true,
359
+ toolCallId: call.id
360
+ }));
361
+ return this.createNextStep('Sub-Agent', {
362
+ terminate: false,
363
+ ...(requests.length === 1 ? { subAgent: requests[0] } : { subAgents: requests }),
364
+ payloadChangeRequest,
365
+ payloadToolCallId
366
+ });
367
+ }
368
+ /** Action calls → the Actions step, with any same-turn payload change attached. */
369
+ actionsStep(actions, payloadChangeRequest, payloadToolCallId) {
370
+ return {
371
+ terminate: false,
372
+ step: 'Actions',
373
+ actions: actions.map(({ call, binding }) => ({
374
+ // Downstream dispatch resolves Actions by NAME, so hand back the Action's real
375
+ // name rather than the sanitized tool name the model used.
376
+ name: binding.action.Name,
377
+ params: call.arguments ?? {},
378
+ toolCallId: call.id
379
+ })),
380
+ payloadChangeRequest,
381
+ payloadToolCallId
382
+ };
383
+ }
384
+ /**
385
+ * `payload_change_request` alone: apply and continue. Retry is the non-terminal "go again" step
386
+ * (Pipeline uses it the same way); the instructions are what the loop shows the model.
387
+ */
388
+ payloadOnlyStep(payloadChangeRequest, payloadToolCallId) {
389
+ return this.createNextStep('Retry', {
390
+ terminate: false,
391
+ payloadChangeRequest,
392
+ payloadToolCallId,
393
+ retryReason: 'Payload change applied',
394
+ retryInstructions: 'Your payload change was applied. Continue: call another tool if there is more to do, or reply in plain text when the task is complete.'
395
+ });
396
+ }
397
+ async DetermineNextStep(promptResult, params, payload, agentTypeState, nativeToolBindings) {
242
398
  try {
399
+ // A tool call the provider could not read (Gemini's MALFORMED_FUNCTION_CALL — usually an oversized
400
+ // or broken argument object) comes back with NO toolCalls and only the narration that preceded
401
+ // the call. Left alone, under implicit control flow that narration reads as a completion and
402
+ // under the envelope as unparseable JSON; neither tells the model what went wrong. Say so.
403
+ if (promptResult?.chatResult?.data?.choices?.[0]?.finish_reason === CHAT_FINISH_REASON_MALFORMED_TOOL_CALL) {
404
+ return this.createRetryStep('Your tool call could not be read by the provider (malformed function call). Call the tool again ' +
405
+ 'with valid JSON arguments, and keep them compact — write a large result to the payload in pieces ' +
406
+ 'across several payload_change_request calls rather than one enormous call.');
407
+ }
243
408
  // Ensure we have a successful result
244
409
  if (!promptResult.success || !promptResult.result) {
245
410
  return this.createNextStep('Failed', {
246
411
  errorMessage: promptResult.errorMessage || 'Prompt execution failed'
247
412
  });
248
413
  }
414
+ // Native tool calls are checked BEFORE the envelope, because under native mode there
415
+ // is no envelope on an action turn. Measurement showed why the two cannot be
416
+ // asked for together: declaring tools drops envelope output sharply, and on GPT 4.1-mini
417
+ // it reaches zero — the model answers through whichever channel it was given. So the
418
+ // loop adopts the industry convention: a tool call means "continue", and anything else
419
+ // means the model owes us an envelope.
420
+ const nativeStep = this.nextStepFromNativeToolCalls(promptResult, nativeToolBindings);
421
+ if (nativeStep) {
422
+ return nativeStep;
423
+ }
249
424
  // Parse the response using the base class utility
250
425
  const response = this.parseJSONResponse(promptResult);
251
426
  if (!response) {
427
+ // Implicit control flow: plain text with no tool call IS the terminal
428
+ // form. Only a turn the runner recorded as NativeImplicit reads this way — under the
429
+ // hybrid and the envelope, prose is still the JSON-only Retry below.
430
+ if (promptResult.promptRun?.ToolCallingMode === 'NativeImplicit') {
431
+ const text = typeof promptResult.result === 'string' ? promptResult.result.trim()
432
+ : typeof promptResult.rawResult === 'string' ? promptResult.rawResult.trim() : '';
433
+ if (text.length > 0) {
434
+ LogStatusEx({ message: '✅ Loop Agent (implicit): plain-text completion. ' + text.slice(0, 120), verboseOnly: true });
435
+ return this.createSuccessStep({ message: text });
436
+ }
437
+ }
252
438
  // Strong, specific corrective directive. The common failure mode here is the model
253
439
  // drifting into conversational prose (e.g. "I'm executing the X action with
254
440
  // parameters: ...") instead of emitting the JSON envelope. A terse "couldn't parse"
@@ -558,7 +744,8 @@ let LoopAgentType = class LoopAgentType extends BaseAgentType {
558
744
  }
559
745
  // Validate nextStep structure if present
560
746
  if (response.nextStep) {
561
- const validStepTypes = ['actions', 'sub-agent', 'chat', 'retry', 'foreach', 'while', 'clienttools', 'pipeline', 'skill', 'plan', 'tasks'];
747
+ // Derived from LOOP_NEXT_STEP_TYPES so this accept-list can never drift from the union.
748
+ const validStepTypes = LOOP_NEXT_STEP_TYPES.map(t => t.toLowerCase());
562
749
  let lcaseType = response.nextStep.type?.toLowerCase().trim();
563
750
  // allow the AI to mess up the case, but we need to validate it
564
751
  // be smart/lenient about missing types. if type is missing but we have a nextStep.subAgent/subAgents, default to sub-agent and if type is missing and we have nextStep.actions, default to actions
@@ -1 +1 @@
1
- {"version":3,"file":"loop-agent-type.js","sourceRoot":"","sources":["../../src/agent-types/loop-agent-type.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"loop-agent-type.js","sourceRoot":"","sources":["../../src/agent-types/loop-agent-type.ts"],"names":[],"mappings":"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"}
@@ -11,9 +11,10 @@
11
11
  * @since 2.49.0
12
12
  */
13
13
  import { MJAIAgentTypeEntity, MJTemplateParamEntity, MJAIAgentRelationshipEntity, MJAIAgentNoteEntity, MJAIAgentExampleEntity, MJAISkillEntity } from '@memberjunction/core-entities';
14
+ import { type NativeToolBinding } from './native-tools/control-tools.js';
14
15
  import { MJAIAgentRunEntityExtended, MJAIAgentRunStepEntityExtended, MJAIPromptEntityExtended, MJAIAgentEntityExtended, MJAIPromptRunEntityExtended } from "@memberjunction/ai-core-plus";
15
16
  import { UserInfo, IMetadataProvider } from '@memberjunction/core';
16
- import { ChatMessage, ChatMessageContent, BaseRealtimeModel, IRealtimeSession } from '@memberjunction/ai';
17
+ import { ChatMessage, ChatMessageContent, BaseRealtimeModel, IRealtimeSession, ChatToolChoice } from '@memberjunction/ai';
17
18
  import { BaseAgentType } from './agent-types/base-agent-type.js';
18
19
  import { type CodeLang } from '@memberjunction/context-crush/code';
19
20
  import { RealtimeSessionRunnerDeps } from './realtime/realtime-session-runner.js';
@@ -23,11 +24,23 @@ import { CompactionOutcome, EffectiveContextBudget } from './ConversationCompact
23
24
  import { ConversationToolCall, ConversationToolExecutionResult, ConversationToolSummaryHost } from './ConversationToolManager.js';
24
25
  import { CarryForwardStepRecord } from './tool-result-format.js';
25
26
  import { AgentPreExecutionRAGResult } from './agent-pre-execution-rag.js';
26
- import { AIPromptParams, AIPromptRunResult, ExecuteAgentParams, AgentConfiguration, ExecuteAgentResult, AgentAction, AgentSubAgentRequest, BaseAgentNextStep, MessageLifecycleEvent, AgentChatMessage, AIModelSelectionInfo, ActionChange, ActionChangeScope, SubAgentChange, MediaOutput, FileOutputRef, SecondaryScopeConfig, SecondaryScopeValue, AgentResponseForm, AgentPipelineRequest, AgentSkillActivationRequest, AgentSkillInvocation, SkillAvailabilityPurpose } from '@memberjunction/ai-core-plus';
27
- import { MJActionEntityExtended, ActionResult } from '@memberjunction/actions-base';
27
+ import { AIPromptParams, AIPromptRunResult, ExecuteAgentParams, AgentConfiguration, ExecuteAgentResult, AgentAction, AgentSubAgentRequest, BaseAgentNextStep, MessageLifecycleEvent, AgentChatMessage, AgentChatMessageMetadata, AIModelSelectionInfo, ActionChange, ActionChangeScope, SubAgentChange, MediaOutput, FileOutputRef, SecondaryScopeConfig, SecondaryScopeValue, AgentResponseForm, AgentPipelineRequest, AgentSkillActivationRequest, AgentSkillInvocation, SkillAvailabilityPurpose } from '@memberjunction/ai-core-plus';
28
+ import { MJActionEntityExtended, ActionResult, ActionParam, AIDirective } from '@memberjunction/actions-base';
28
29
  import { ArtifactToolCall, StoredToolResult } from './ArtifactToolManager.js';
29
30
  import { MemoryWriteRequest, MemoryWriteResult } from './MemoryWriteManager.js';
30
31
  import { PipelineToolRegistry, PipelineExecutionResult } from './pipeline/index.js';
32
+ /**
33
+ * Compact representation of a single action's execution result, used for
34
+ * building the markdown summary that goes into conversation messages.
35
+ */
36
+ interface ActionResultSummary {
37
+ actionName: string;
38
+ success: boolean;
39
+ params: ActionParam[];
40
+ resultCode: string;
41
+ message: string;
42
+ aiDirectives?: AIDirective[];
43
+ }
31
44
  /**
32
45
  * Resolved per-run configuration for structurally compressing inline action-result
33
46
  * payloads via @memberjunction/context-crush. Undefined means crushing is disabled
@@ -178,6 +191,17 @@ export declare class BaseAgent {
178
191
  * Current agent run entity.
179
192
  * @private
180
193
  */
194
+ /**
195
+ * System-wide safety net on prompt iterations, overridable per run via
196
+ * `ExecuteAgentParams.absoluteMaxIterations`.
197
+ *
198
+ * A static rather than a local const because two places now depend on the same number: the
199
+ * limit check that STOPS a run, and {@link isFinalPermittedIteration}, which has to predict
200
+ * that stop one turn ahead. Two copies of 5000 would be a silent mismatch the moment either
201
+ * moved — the gate would force `tool_choice: 'none'` on the wrong turn, or fail to force it
202
+ * on the right one, and neither shows up as an error.
203
+ */
204
+ protected static readonly DEFAULT_ABSOLUTE_MAX_ITERATIONS = 5000;
181
205
  private _agentRun;
182
206
  /**
183
207
  * The task graph this run submitted and is now waiting on, or null.
@@ -447,6 +471,16 @@ export declare class BaseAgent {
447
471
  * Allows agents to explore input artifacts on demand.
448
472
  */
449
473
  private _artifactToolManager;
474
+ /**
475
+ * Reverse map from sanitized tool name back to Action, for the turn currently being prepared.
476
+ *
477
+ * Set whenever this run declares Actions as native tools (plan §8.1) and read when the turn's
478
+ * response comes back, because a tool call names `run_ad_hoc_query` and the dispatcher needs
479
+ * "Run Ad-hoc Query". Left undefined on the envelope path so the loop can tell the two apart.
480
+ */
481
+ protected _nativeToolBindings: ReadonlyMap<string, NativeToolBinding> | undefined;
482
+ /** the model turn whose assistant call message has already been replayed into history (by reference). */
483
+ private _lastNativeTurnAppended;
450
484
  /**
451
485
  * Manages conversation-history retrieval tools for the current agent run.
452
486
  * Armed only when the run has a conversationId (the cross-turn context gate).
@@ -1232,6 +1266,123 @@ export declare class BaseAgent {
1232
1266
  * @returns {Promise<AIPromptParams>} Configured prompt parameters
1233
1267
  * @protected
1234
1268
  */
1269
+ /**
1270
+ * Declares the agent's Actions as native tools on the outgoing request (plan §8.1/§8.3).
1271
+ *
1272
+ * **Supplying tools does not turn native mode on.** It satisfies one of three gate terms; the
1273
+ * prompt runner still requires the model to declare the capability and the configuration to
1274
+ * want it (`ResolveNativeToolCalling`). Because no catalog row declares the capability today,
1275
+ * this is inert — the tools are built, the gate says no, and the run takes the envelope path
1276
+ * exactly as before. That is deliberate: the switch is a metadata change, not a code change.
1277
+ *
1278
+ * `tool_choice` is `'auto'` on a normal turn. §8.3 also specifies `'none'` when the framework
1279
+ * needs a control-flow decision rather than an action — the model must produce the envelope
1280
+ * then, and forcing it is the only way to be sure it can.
1281
+ */
1282
+ /**
1283
+ * Stamps the step with which tool-calling path it took and how much the model used it (§8.5).
1284
+ *
1285
+ * The mode is derivable through `TargetLogID` -> `AIPromptRun.ToolCallingMode`, but only for
1286
+ * steps whose target is a prompt run and only through a join that returns nothing for every
1287
+ * other step type. The call count is not derivable at all — it lives in the provider response,
1288
+ * which is not persisted per step. Both are recorded here so a comparison of the two paths can
1289
+ * group by them directly instead of reconstructing its own independent variable.
1290
+ *
1291
+ * Instrumentation must never fail a run, so every field is best-effort.
1292
+ */
1293
+ protected recordToolCallingInstrumentation(stepEntity: MJAIAgentRunStepEntityExtended, promptResult: AIPromptRunResult): void;
1294
+ /**
1295
+ * replays the model's own tool-call turn into history once per turn, so the tool-result
1296
+ * turns that follow have a call to answer (every provider requires it; BaseLLM validates it).
1297
+ * A no-op when the turn's results go back as the markdown user message.
1298
+ */
1299
+ protected appendNativeAssistantTurn(params: ExecuteAgentParams, step: BaseAgentNextStep): void;
1300
+ /**
1301
+ * The tool_result answering a `payload_change_request` the model made on the SAME turn as its
1302
+ * actions or its delegation.
1303
+ *
1304
+ * The framework applies that change before the rest of the turn runs, so its call has to be
1305
+ * answered alongside them — and inside the same tool turn, since Anthropic requires every
1306
+ * tool_result for an assistant turn to sit in the one message that follows it. Returns an empty
1307
+ * array when the step carried no payload call, so callers can always spread it.
1308
+ */
1309
+ private payloadToolResult;
1310
+ /**
1311
+ * action results as ONE tool turn — a tool_result block per call, paired by id — when the
1312
+ * turn's results go back natively; otherwise the markdown user message as before. An action that
1313
+ * cannot be paired with a call id keeps the markdown message for itself.
1314
+ */
1315
+ protected appendActionResults(params: ExecuteAgentParams, summaries: ActionResultSummary[], resultsMessage: string, metadata: AgentChatMessageMetadata | undefined, previousDecision: BaseAgentNextStep): void;
1316
+ /**
1317
+ * Answers any tool call the turn's own result path left dangling, immediately before the
1318
+ * history goes back to the model.
1319
+ *
1320
+ * `appendNativeAssistantTurn` replays the model's call turn for EVERY step that carries one,
1321
+ * but only Actions, Sub-Agents and the payload-only Retry append results for it. An
1322
+ * unknown-tool Retry, a protocol-violation Retry, an `ask_user` Chat, or a parallel dispatch
1323
+ * that could not pair one of its ids therefore leaves calls unanswered — which Anthropic
1324
+ * ("Each `tool_use` block must have a corresponding `tool_result` block in the next message"),
1325
+ * OpenAI ("an assistant message with `tool_calls` must be followed by tool messages
1326
+ * responding to each `tool_call_id`") and Gemini all reject outright. `validateToolConversation`
1327
+ * in BaseLLM cannot catch it: it validates results→calls, never calls→results.
1328
+ *
1329
+ * Reconciling here rather than in each branch means a new step type cannot reintroduce the bug.
1330
+ * The synthetic result states only that the call did not run; the reason travels in whatever
1331
+ * message the branch itself appended (the retry instructions, the chat question).
1332
+ */
1333
+ protected reconcileUnansweredToolCalls(params: ExecuteAgentParams): void;
1334
+ /**
1335
+ * a tool turn can never be REMOVED from history — that orphans the assistant call it
1336
+ * answers, which every provider rejects. Expiry and recovery stub its blocks instead.
1337
+ */
1338
+ private stubToolTurn;
1339
+ protected applyNativeTools(promptParams: AIPromptParams, params: ExecuteAgentParams): void;
1340
+ /**
1341
+ * The `tool_choice` for this turn (§8.3).
1342
+ *
1343
+ * `'auto'` normally, `'none'` on the last turn this run will be allowed.
1344
+ *
1345
+ * **Why the final turn is special.** A tool call is a request to continue: the framework runs
1346
+ * the action, feeds the result back, and the model decides again. On the last permitted
1347
+ * iteration there is no "again" — the limit check fires the moment the turn returns, so the
1348
+ * action is executed, paid for, and its result discarded, and the run ends with no answer for
1349
+ * the user because the model spent its last turn asking a question instead of answering one.
1350
+ * Forcing `'none'` converts that turn into what the framework actually needs from it: a
1351
+ * terminal envelope.
1352
+ *
1353
+ * **What this does NOT fix.** Models call a tool on a measurable share of turns whose right
1354
+ * answer was chat, completion or delegation. Those are not predictable
1355
+ * from framework state — only the model knows the task is finished — so no `tool_choice` can
1356
+ * address them. That belongs to the prompt, and is why the native-mode Actions section names
1357
+ * the cases explicitly.
1358
+ *
1359
+ * Subclasses may narrow this further; the base contract is that a forced `'none'` must never be
1360
+ * relaxed to `'auto'` on a turn the framework has already decided is terminal.
1361
+ *
1362
+ * @param params The run parameters, for the per-run iteration override
1363
+ * @returns `'none'` on the final permitted iteration, otherwise `'auto'`
1364
+ */
1365
+ protected resolveToolChoiceForTurn(params: ExecuteAgentParams): ChatToolChoice;
1366
+ /**
1367
+ * Whether the turn currently being prepared is the last one this run will be allowed.
1368
+ *
1369
+ * Reads `TotalPromptIterations`, which the loop increments immediately BEFORE composing the
1370
+ * prompt — so by the time this runs the counter already includes the turn about to go out, and
1371
+ * `iterations >= limit` means "this turn is the last", not "the last one already happened".
1372
+ * That off-by-one is the whole subtlety and is why this lives beside the limit check it mirrors.
1373
+ *
1374
+ * Returns false when no run is in flight: the eval harness composes parameters through
1375
+ * `BaseAgent` without executing a loop, and a composed-but-never-run turn has no iteration
1376
+ * budget to be at the end of.
1377
+ *
1378
+ * Only the ITERATION limits are predicted. Cost, token and time limits also stop a run, but
1379
+ * none can be known before the turn that crosses them — guessing would force `'none'` on turns
1380
+ * that had budget left, which silently disables native tool calling rather than bounding it.
1381
+ *
1382
+ * @param params The run parameters, for `absoluteMaxIterations`
1383
+ * @returns true when the framework will stop the run after this turn
1384
+ */
1385
+ protected isFinalPermittedIteration(params: ExecuteAgentParams): boolean;
1235
1386
  protected preparePromptParams<P>(config: AgentConfiguration, payload: P, params: ExecuteAgentParams): Promise<AIPromptParams>;
1236
1387
  /**
1237
1388
  * Executes the configured prompt. Always uses the attemptJSONRepair option to try to fix LLM
@@ -1914,6 +2065,20 @@ export declare class BaseAgent {
1914
2065
  * @throws {Error} If the action fails to execute
1915
2066
  */
1916
2067
  ExecuteSingleAction(params: ExecuteAgentParams, action: AgentAction, actionEntity: MJActionEntityExtended, contextUser?: UserInfo): Promise<ActionResult>;
2068
+ /**
2069
+ * Makes a SLICED conversation window safe to send on its own.
2070
+ *
2071
+ * A tool turn is only valid immediately after the assistant turn that declared its call ids, so
2072
+ * cutting the parent's history at an arbitrary index can strand either half of a pair. Keeping
2073
+ * the result half throws in `validateToolConversation` before the request is even built; keeping
2074
+ * the call half is accepted there but rejected by every provider. Both halves are repaired here
2075
+ * so the caller's window is internally consistent whatever index it happened to cut on:
2076
+ * an unpairable tool turn is dropped, and an assistant turn whose calls nothing in the window
2077
+ * answers keeps its prose but loses the calls.
2078
+ *
2079
+ * Only the slicing modes need this — 'All' is self-consistent by construction.
2080
+ */
2081
+ protected makeToolTurnsSelfConsistent(window: ChatMessage[]): ChatMessage[];
1917
2082
  /**
1918
2083
  * Prepares conversation messages for sub-agent execution based on database-configured message mode.
1919
2084
  *
@@ -2344,6 +2509,17 @@ export declare class BaseAgent {
2344
2509
  * @returns {string} - The formatted message with hierarchy breadcrumb
2345
2510
  */
2346
2511
  protected formatHierarchicalMessage(baseMessage: string): string;
2512
+ /**
2513
+ * Trims a step name to what `AIAgentRunStep.StepName` can hold. Step names are built from free
2514
+ * text — a termination message quoting a provider's error, a tool name with its arguments, the
2515
+ * hierarchy breadcrumb in front of either — and one longer than the column made the whole row
2516
+ * unsaveable, so the step vanished from the run ("2 step record save(s) failed" — a
2517
+ * 327-character failure reason). The width comes from the entity's field metadata
2518
+ * when the instance carries it, else the column's declared 255 characters.
2519
+ *
2520
+ * @protected
2521
+ */
2522
+ protected fitStepName(stepEntity: MJAIAgentRunStepEntityExtended, name: string): string;
2347
2523
  /**
2348
2524
  * Builds hierarchical step string from parent and current step counts.
2349
2525
  *
@@ -2842,6 +3018,13 @@ export declare class BaseAgent {
2842
3018
  * Because `params` is the same object reference used for the rest of this run, every subsequent
2843
3019
  * turn's `gatherPromptTemplateData()` call picks up the change automatically — no extra plumbing.
2844
3020
  *
3021
+ * Which actions: the skill's `ExposeToModel` rows only ({@link AIEngine.GetSkillExposedActionIDs}).
3022
+ * A bundled action with the flag off is left OUT of the run: the effective action set is both the
3023
+ * prompt's tool surface and the execution allow-list, so the model neither sees it nor can call it
3024
+ * by name, and no agent path (PreProcessActionStep, a loop's action lookup) can reach it either.
3025
+ * It stays bundled for SKILL.md export and tooling; application code invokes it through the
3026
+ * Actions API. Skill attribution therefore never applies to it — the agent never runs it.
3027
+ *
2845
3028
  * Override to change propagation scope (e.g. a subclass that wants skill-granted capabilities
2846
3029
  * to cascade to sub-agents could push `scope: 'all-subagents'` instead).
2847
3030
  *