@openai/agents-core 0.3.7 → 0.3.9

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 (180) hide show
  1. package/dist/errors.d.ts +40 -0
  2. package/dist/errors.js +39 -1
  3. package/dist/errors.js.map +1 -1
  4. package/dist/errors.mjs +35 -0
  5. package/dist/errors.mjs.map +1 -1
  6. package/dist/index.d.ts +6 -2
  7. package/dist/index.js +13 -2
  8. package/dist/index.js.map +1 -1
  9. package/dist/index.mjs +3 -1
  10. package/dist/index.mjs.map +1 -1
  11. package/dist/metadata.js +2 -2
  12. package/dist/metadata.mjs +2 -2
  13. package/dist/result.d.ts +17 -0
  14. package/dist/result.js +71 -24
  15. package/dist/result.js.map +1 -1
  16. package/dist/result.mjs +69 -22
  17. package/dist/result.mjs.map +1 -1
  18. package/dist/run.d.ts +14 -47
  19. package/dist/run.js +421 -994
  20. package/dist/run.js.map +1 -1
  21. package/dist/run.mjs +405 -978
  22. package/dist/run.mjs.map +1 -1
  23. package/dist/runState.d.ts +1286 -172
  24. package/dist/runState.js +146 -16
  25. package/dist/runState.js.map +1 -1
  26. package/dist/runState.mjs +142 -12
  27. package/dist/runState.mjs.map +1 -1
  28. package/dist/runner/constants.d.ts +1 -0
  29. package/dist/runner/constants.js +6 -0
  30. package/dist/runner/constants.js.map +1 -0
  31. package/dist/runner/constants.mjs +3 -0
  32. package/dist/runner/constants.mjs.map +1 -0
  33. package/dist/runner/conversation.d.ts +85 -0
  34. package/dist/runner/conversation.js +275 -0
  35. package/dist/runner/conversation.js.map +1 -0
  36. package/dist/runner/conversation.mjs +269 -0
  37. package/dist/runner/conversation.mjs.map +1 -0
  38. package/dist/runner/guardrails.d.ts +23 -0
  39. package/dist/runner/guardrails.js +174 -0
  40. package/dist/runner/guardrails.js.map +1 -0
  41. package/dist/runner/guardrails.mjs +166 -0
  42. package/dist/runner/guardrails.mjs.map +1 -0
  43. package/dist/runner/items.d.ts +18 -0
  44. package/dist/runner/items.js +89 -0
  45. package/dist/runner/items.js.map +1 -0
  46. package/dist/runner/items.mjs +79 -0
  47. package/dist/runner/items.mjs.map +1 -0
  48. package/dist/runner/mcpApprovals.d.ts +25 -0
  49. package/dist/runner/mcpApprovals.js +66 -0
  50. package/dist/runner/mcpApprovals.js.map +1 -0
  51. package/dist/runner/mcpApprovals.mjs +63 -0
  52. package/dist/runner/mcpApprovals.mjs.map +1 -0
  53. package/dist/runner/modelOutputs.d.ts +10 -0
  54. package/dist/runner/modelOutputs.js +206 -0
  55. package/dist/runner/modelOutputs.js.map +1 -0
  56. package/dist/runner/modelOutputs.mjs +203 -0
  57. package/dist/runner/modelOutputs.mjs.map +1 -0
  58. package/dist/runner/modelPreparation.d.ts +8 -0
  59. package/dist/runner/modelPreparation.js +41 -0
  60. package/dist/runner/modelPreparation.js.map +1 -0
  61. package/dist/runner/modelPreparation.mjs +38 -0
  62. package/dist/runner/modelPreparation.mjs.map +1 -0
  63. package/dist/runner/modelSettings.d.ts +20 -0
  64. package/dist/runner/modelSettings.js +97 -0
  65. package/dist/runner/modelSettings.js.map +1 -0
  66. package/dist/runner/modelSettings.mjs +92 -0
  67. package/dist/runner/modelSettings.mjs.map +1 -0
  68. package/dist/runner/runLoop.d.ts +32 -0
  69. package/dist/runner/runLoop.js +62 -0
  70. package/dist/runner/runLoop.js.map +1 -0
  71. package/dist/runner/runLoop.mjs +57 -0
  72. package/dist/runner/runLoop.mjs.map +1 -0
  73. package/dist/runner/sessionPersistence.d.ts +26 -0
  74. package/dist/runner/sessionPersistence.js +441 -0
  75. package/dist/runner/sessionPersistence.js.map +1 -0
  76. package/dist/runner/sessionPersistence.mjs +431 -0
  77. package/dist/runner/sessionPersistence.mjs.map +1 -0
  78. package/dist/runner/steps.d.ts +48 -0
  79. package/dist/runner/steps.js +40 -0
  80. package/dist/runner/steps.js.map +1 -0
  81. package/dist/runner/steps.mjs +36 -0
  82. package/dist/runner/steps.mjs.map +1 -0
  83. package/dist/runner/streaming.d.ts +9 -0
  84. package/dist/runner/streaming.js +74 -0
  85. package/dist/runner/streaming.js.map +1 -0
  86. package/dist/runner/streaming.mjs +65 -0
  87. package/dist/runner/streaming.mjs.map +1 -0
  88. package/dist/runner/toolExecution.d.ts +15 -0
  89. package/dist/runner/toolExecution.js +997 -0
  90. package/dist/runner/toolExecution.js.map +1 -0
  91. package/dist/runner/toolExecution.mjs +984 -0
  92. package/dist/runner/toolExecution.mjs.map +1 -0
  93. package/dist/runner/toolUseTracker.d.ts +9 -0
  94. package/dist/runner/toolUseTracker.js +34 -0
  95. package/dist/runner/toolUseTracker.js.map +1 -0
  96. package/dist/runner/toolUseTracker.mjs +30 -0
  97. package/dist/runner/toolUseTracker.mjs.map +1 -0
  98. package/dist/runner/tracing.d.ts +23 -0
  99. package/dist/runner/tracing.js +45 -0
  100. package/dist/runner/tracing.js.map +1 -0
  101. package/dist/runner/tracing.mjs +41 -0
  102. package/dist/runner/tracing.mjs.map +1 -0
  103. package/dist/runner/turnPreparation.d.ts +30 -0
  104. package/dist/runner/turnPreparation.js +80 -0
  105. package/dist/runner/turnPreparation.js.map +1 -0
  106. package/dist/runner/turnPreparation.mjs +74 -0
  107. package/dist/runner/turnPreparation.mjs.map +1 -0
  108. package/dist/runner/turnResolution.d.ts +3 -0
  109. package/dist/runner/turnResolution.js +531 -0
  110. package/dist/runner/turnResolution.js.map +1 -0
  111. package/dist/runner/turnResolution.mjs +526 -0
  112. package/dist/runner/turnResolution.mjs.map +1 -0
  113. package/dist/runner/types.d.ts +66 -0
  114. package/dist/runner/types.js +3 -0
  115. package/dist/runner/types.js.map +1 -0
  116. package/dist/runner/types.mjs +2 -0
  117. package/dist/runner/types.mjs.map +1 -0
  118. package/dist/shims/mcp-server/node.js +51 -6
  119. package/dist/shims/mcp-server/node.js.map +1 -1
  120. package/dist/shims/mcp-server/node.mjs +51 -6
  121. package/dist/shims/mcp-server/node.mjs.map +1 -1
  122. package/dist/tool.d.ts +28 -2
  123. package/dist/tool.js +7 -1
  124. package/dist/tool.js.map +1 -1
  125. package/dist/tool.mjs +8 -2
  126. package/dist/tool.mjs.map +1 -1
  127. package/dist/toolGuardrail.d.ts +101 -0
  128. package/dist/toolGuardrail.js +58 -0
  129. package/dist/toolGuardrail.js.map +1 -0
  130. package/dist/toolGuardrail.mjs +51 -0
  131. package/dist/toolGuardrail.mjs.map +1 -0
  132. package/dist/tracing/config.d.ts +3 -0
  133. package/dist/tracing/config.js +3 -0
  134. package/dist/tracing/config.js.map +1 -0
  135. package/dist/tracing/config.mjs +2 -0
  136. package/dist/tracing/config.mjs.map +1 -0
  137. package/dist/tracing/context.d.ts +2 -0
  138. package/dist/tracing/context.js +95 -24
  139. package/dist/tracing/context.js.map +1 -1
  140. package/dist/tracing/context.mjs +95 -24
  141. package/dist/tracing/context.mjs.map +1 -1
  142. package/dist/tracing/createSpans.d.ts +11 -11
  143. package/dist/tracing/index.d.ts +2 -0
  144. package/dist/tracing/index.js.map +1 -1
  145. package/dist/tracing/index.mjs.map +1 -1
  146. package/dist/tracing/provider.js +54 -4
  147. package/dist/tracing/provider.js.map +1 -1
  148. package/dist/tracing/provider.mjs +54 -4
  149. package/dist/tracing/provider.mjs.map +1 -1
  150. package/dist/tracing/spans.d.ts +2 -0
  151. package/dist/tracing/spans.js +6 -0
  152. package/dist/tracing/spans.js.map +1 -1
  153. package/dist/tracing/spans.mjs +6 -0
  154. package/dist/tracing/spans.mjs.map +1 -1
  155. package/dist/tracing/traces.d.ts +11 -1
  156. package/dist/tracing/traces.js +15 -2
  157. package/dist/tracing/traces.js.map +1 -1
  158. package/dist/tracing/traces.mjs +15 -2
  159. package/dist/tracing/traces.mjs.map +1 -1
  160. package/dist/types/protocol.d.ts +11 -0
  161. package/dist/types/protocol.js +1 -0
  162. package/dist/types/protocol.js.map +1 -1
  163. package/dist/types/protocol.mjs +1 -0
  164. package/dist/types/protocol.mjs.map +1 -1
  165. package/dist/utils/binary.d.ts +6 -0
  166. package/dist/utils/binary.js +53 -0
  167. package/dist/utils/binary.js.map +1 -0
  168. package/dist/utils/binary.mjs +49 -0
  169. package/dist/utils/binary.mjs.map +1 -0
  170. package/dist/utils/toolGuardrails.d.ts +24 -0
  171. package/dist/utils/toolGuardrails.js +58 -0
  172. package/dist/utils/toolGuardrails.js.map +1 -0
  173. package/dist/utils/toolGuardrails.mjs +54 -0
  174. package/dist/utils/toolGuardrails.mjs.map +1 -0
  175. package/package.json +4 -3
  176. package/dist/runImplementation.d.ts +0 -161
  177. package/dist/runImplementation.js +0 -2054
  178. package/dist/runImplementation.js.map +0 -1
  179. package/dist/runImplementation.mjs +0 -2028
  180. package/dist/runImplementation.mjs.map +0 -1
@@ -0,0 +1,97 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.selectModel = selectModel;
4
+ exports.maybeResetToolChoice = maybeResetToolChoice;
5
+ exports.adjustModelSettingsForNonGPT5RunnerModel = adjustModelSettingsForNonGPT5RunnerModel;
6
+ const agent_1 = require("../agent.js");
7
+ const defaultModel_1 = require("../defaultModel.js");
8
+ const hasGpt5OnlySettings = (settings) => {
9
+ const providerData = settings?.providerData;
10
+ return Boolean(providerData?.reasoning ||
11
+ providerData?.text?.verbosity ||
12
+ providerData
13
+ ?.reasoning_effort);
14
+ };
15
+ /**
16
+ * Resolves the effective model for the next turn by giving precedence to the agent-specific
17
+ * configuration when present, otherwise falling back to the runner-level default.
18
+ */
19
+ function selectModel(agentModel, runConfigModel) {
20
+ if ((typeof agentModel === 'string' &&
21
+ agentModel !== agent_1.Agent.DEFAULT_MODEL_PLACEHOLDER) ||
22
+ agentModel) {
23
+ return agentModel;
24
+ }
25
+ return runConfigModel ?? agentModel ?? agent_1.Agent.DEFAULT_MODEL_PLACEHOLDER;
26
+ }
27
+ /**
28
+ * Resets the tool choice when the agent is configured to prefer a fresh tool selection after
29
+ * any tool usage. This prevents the provider from reusing stale tool hints across turns.
30
+ */
31
+ function maybeResetToolChoice(agent, toolUseTracker, modelSettings) {
32
+ if (agent.resetToolChoice && toolUseTracker.hasUsedTools(agent)) {
33
+ return { ...modelSettings, toolChoice: undefined };
34
+ }
35
+ return modelSettings;
36
+ }
37
+ /**
38
+ * When the default model is a GPT-5 variant, agents may carry GPT-5-specific providerData
39
+ * (e.g., reasoning effort, text verbosity). If a run resolves to a non-GPT-5 model and the
40
+ * agent relied on the default model (i.e., no explicit model set), these GPT-5-only settings
41
+ * are incompatible and should be stripped to avoid runtime errors.
42
+ */
43
+ function adjustModelSettingsForNonGPT5RunnerModel(explictlyModelSet, agentModelSettings, runnerModel, modelSettings, resolvedModelName) {
44
+ const modelName = resolvedModelName ??
45
+ (typeof runnerModel === 'string'
46
+ ? runnerModel
47
+ : (runnerModel
48
+ ?.model ?? runnerModel?.name));
49
+ const isNonGpt5RunnerModel = typeof modelName === 'string'
50
+ ? !(0, defaultModel_1.gpt5ReasoningSettingsRequired)(modelName)
51
+ : true;
52
+ const hasGpt5Defaults = hasGpt5OnlySettings(agentModelSettings) ||
53
+ hasGpt5OnlySettings(modelSettings);
54
+ if ((0, defaultModel_1.isGpt5Default)() &&
55
+ explictlyModelSet &&
56
+ isNonGpt5RunnerModel &&
57
+ hasGpt5Defaults) {
58
+ return stripGpt5OnlySettings(modelSettings);
59
+ }
60
+ return modelSettings;
61
+ }
62
+ function stripGpt5OnlySettings(modelSettings) {
63
+ const copiedProviderData = modelSettings.providerData
64
+ ? { ...modelSettings.providerData }
65
+ : undefined;
66
+ if (copiedProviderData) {
67
+ if (copiedProviderData.text &&
68
+ typeof copiedProviderData.text === 'object') {
69
+ copiedProviderData.text = { ...copiedProviderData.text };
70
+ delete copiedProviderData.text.verbosity;
71
+ }
72
+ delete copiedProviderData.reasoning;
73
+ delete copiedProviderData.reasoning_effort;
74
+ }
75
+ const copiedModelSettings = {
76
+ ...modelSettings,
77
+ providerData: copiedProviderData,
78
+ };
79
+ if (modelSettings.reasoning) {
80
+ copiedModelSettings.reasoning = { ...modelSettings.reasoning };
81
+ }
82
+ if (modelSettings.text) {
83
+ copiedModelSettings.text = { ...modelSettings.text };
84
+ }
85
+ delete copiedModelSettings.providerData?.reasoning;
86
+ delete copiedModelSettings.providerData?.text?.verbosity;
87
+ delete copiedModelSettings.providerData?.reasoning_effort;
88
+ if (copiedModelSettings.reasoning) {
89
+ delete copiedModelSettings.reasoning.effort;
90
+ delete copiedModelSettings.reasoning.summary;
91
+ }
92
+ if (copiedModelSettings.text) {
93
+ delete copiedModelSettings.text.verbosity;
94
+ }
95
+ return copiedModelSettings;
96
+ }
97
+ //# sourceMappingURL=modelSettings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"modelSettings.js","sourceRoot":"","sources":["../../src/runner/modelSettings.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,92 @@
1
+ import { Agent } from "../agent.mjs";
2
+ import { gpt5ReasoningSettingsRequired, isGpt5Default } from "../defaultModel.mjs";
3
+ const hasGpt5OnlySettings = (settings) => {
4
+ const providerData = settings?.providerData;
5
+ return Boolean(providerData?.reasoning ||
6
+ providerData?.text?.verbosity ||
7
+ providerData
8
+ ?.reasoning_effort);
9
+ };
10
+ /**
11
+ * Resolves the effective model for the next turn by giving precedence to the agent-specific
12
+ * configuration when present, otherwise falling back to the runner-level default.
13
+ */
14
+ export function selectModel(agentModel, runConfigModel) {
15
+ if ((typeof agentModel === 'string' &&
16
+ agentModel !== Agent.DEFAULT_MODEL_PLACEHOLDER) ||
17
+ agentModel) {
18
+ return agentModel;
19
+ }
20
+ return runConfigModel ?? agentModel ?? Agent.DEFAULT_MODEL_PLACEHOLDER;
21
+ }
22
+ /**
23
+ * Resets the tool choice when the agent is configured to prefer a fresh tool selection after
24
+ * any tool usage. This prevents the provider from reusing stale tool hints across turns.
25
+ */
26
+ export function maybeResetToolChoice(agent, toolUseTracker, modelSettings) {
27
+ if (agent.resetToolChoice && toolUseTracker.hasUsedTools(agent)) {
28
+ return { ...modelSettings, toolChoice: undefined };
29
+ }
30
+ return modelSettings;
31
+ }
32
+ /**
33
+ * When the default model is a GPT-5 variant, agents may carry GPT-5-specific providerData
34
+ * (e.g., reasoning effort, text verbosity). If a run resolves to a non-GPT-5 model and the
35
+ * agent relied on the default model (i.e., no explicit model set), these GPT-5-only settings
36
+ * are incompatible and should be stripped to avoid runtime errors.
37
+ */
38
+ export function adjustModelSettingsForNonGPT5RunnerModel(explictlyModelSet, agentModelSettings, runnerModel, modelSettings, resolvedModelName) {
39
+ const modelName = resolvedModelName ??
40
+ (typeof runnerModel === 'string'
41
+ ? runnerModel
42
+ : (runnerModel
43
+ ?.model ?? runnerModel?.name));
44
+ const isNonGpt5RunnerModel = typeof modelName === 'string'
45
+ ? !gpt5ReasoningSettingsRequired(modelName)
46
+ : true;
47
+ const hasGpt5Defaults = hasGpt5OnlySettings(agentModelSettings) ||
48
+ hasGpt5OnlySettings(modelSettings);
49
+ if (isGpt5Default() &&
50
+ explictlyModelSet &&
51
+ isNonGpt5RunnerModel &&
52
+ hasGpt5Defaults) {
53
+ return stripGpt5OnlySettings(modelSettings);
54
+ }
55
+ return modelSettings;
56
+ }
57
+ function stripGpt5OnlySettings(modelSettings) {
58
+ const copiedProviderData = modelSettings.providerData
59
+ ? { ...modelSettings.providerData }
60
+ : undefined;
61
+ if (copiedProviderData) {
62
+ if (copiedProviderData.text &&
63
+ typeof copiedProviderData.text === 'object') {
64
+ copiedProviderData.text = { ...copiedProviderData.text };
65
+ delete copiedProviderData.text.verbosity;
66
+ }
67
+ delete copiedProviderData.reasoning;
68
+ delete copiedProviderData.reasoning_effort;
69
+ }
70
+ const copiedModelSettings = {
71
+ ...modelSettings,
72
+ providerData: copiedProviderData,
73
+ };
74
+ if (modelSettings.reasoning) {
75
+ copiedModelSettings.reasoning = { ...modelSettings.reasoning };
76
+ }
77
+ if (modelSettings.text) {
78
+ copiedModelSettings.text = { ...modelSettings.text };
79
+ }
80
+ delete copiedModelSettings.providerData?.reasoning;
81
+ delete copiedModelSettings.providerData?.text?.verbosity;
82
+ delete copiedModelSettings.providerData?.reasoning_effort;
83
+ if (copiedModelSettings.reasoning) {
84
+ delete copiedModelSettings.reasoning.effort;
85
+ delete copiedModelSettings.reasoning.summary;
86
+ }
87
+ if (copiedModelSettings.text) {
88
+ delete copiedModelSettings.text.verbosity;
89
+ }
90
+ return copiedModelSettings;
91
+ }
92
+ //# sourceMappingURL=modelSettings.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"modelSettings.mjs","sourceRoot":"","sources":["../../src/runner/modelSettings.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ import type { Agent, AgentOutputType } from '../agent';
2
+ import type { RunState } from '../runState';
3
+ import type { Runner } from '../run';
4
+ import type { SingleStepResult } from './steps';
5
+ export type InterruptedTurnOutcome = {
6
+ nextStep: SingleStepResult['nextStep'];
7
+ action: 'return_interruption' | 'rerun_turn' | 'advance_step';
8
+ };
9
+ export type InterruptedTurnControl = {
10
+ shouldReturn: boolean;
11
+ shouldContinue: boolean;
12
+ };
13
+ type ApplyTurnResultOptions<TContext, TAgent extends Agent<TContext, AgentOutputType>> = {
14
+ state: RunState<TContext, TAgent>;
15
+ turnResult: SingleStepResult;
16
+ agent: Agent<TContext, AgentOutputType>;
17
+ toolsUsed: string[];
18
+ resetTurnPersistence: boolean;
19
+ onStepItems?: (turnResult: SingleStepResult) => void;
20
+ };
21
+ export declare function applyTurnResult<TContext, TAgent extends Agent<TContext, AgentOutputType>>(options: ApplyTurnResultOptions<TContext, TAgent>): void;
22
+ export declare function resumeInterruptedTurn<TContext, TAgent extends Agent<TContext, AgentOutputType>>(options: {
23
+ state: RunState<TContext, TAgent>;
24
+ runner: Runner;
25
+ onStepItems?: (turnResult: SingleStepResult) => void;
26
+ }): Promise<InterruptedTurnOutcome>;
27
+ export declare function handleInterruptedOutcome<TContext, TAgent extends Agent<TContext, AgentOutputType>>(options: {
28
+ state: RunState<TContext, TAgent>;
29
+ outcome: InterruptedTurnOutcome;
30
+ setContinuingInterruptedTurn: (value: boolean) => void;
31
+ }): InterruptedTurnControl;
32
+ export {};
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.applyTurnResult = applyTurnResult;
4
+ exports.resumeInterruptedTurn = resumeInterruptedTurn;
5
+ exports.handleInterruptedOutcome = handleInterruptedOutcome;
6
+ const turnResolution_1 = require("./turnResolution.js");
7
+ function applyTurnResult(options) {
8
+ const { state, turnResult, agent, toolsUsed, resetTurnPersistence, onStepItems, } = options;
9
+ onStepItems?.(turnResult);
10
+ state._toolUseTracker.addToolUse(agent, toolsUsed);
11
+ state._originalInput = turnResult.originalInput;
12
+ state._generatedItems = turnResult.generatedItems;
13
+ if (resetTurnPersistence &&
14
+ turnResult.nextStep.type === 'next_step_run_again') {
15
+ state.resetTurnPersistence();
16
+ }
17
+ state._currentStep = turnResult.nextStep;
18
+ }
19
+ async function resumeInterruptedTurn(options) {
20
+ const { state, runner, onStepItems } = options;
21
+ const turnResult = await (0, turnResolution_1.resolveInterruptedTurn)(state._currentAgent, state._originalInput, state._generatedItems, state._lastTurnResponse, state._lastProcessedResponse, runner, state);
22
+ applyTurnResult({
23
+ state,
24
+ turnResult,
25
+ agent: state._currentAgent,
26
+ toolsUsed: state._lastProcessedResponse?.toolsUsed ?? [],
27
+ resetTurnPersistence: false,
28
+ onStepItems,
29
+ });
30
+ // Map next-step outcomes to interruption flow control for the outer run loop.
31
+ // return_interruption: still waiting on approvals. rerun_turn: same turn rerun without increment.
32
+ // advance_step: proceed without rerunning the same turn.
33
+ if (turnResult.nextStep.type === 'next_step_interruption') {
34
+ return { nextStep: turnResult.nextStep, action: 'return_interruption' };
35
+ }
36
+ if (turnResult.nextStep.type === 'next_step_run_again') {
37
+ return { nextStep: turnResult.nextStep, action: 'rerun_turn' };
38
+ }
39
+ return { nextStep: turnResult.nextStep, action: 'advance_step' };
40
+ }
41
+ function handleInterruptedOutcome(options) {
42
+ const { state, outcome, setContinuingInterruptedTurn } = options;
43
+ switch (outcome.action) {
44
+ case 'return_interruption':
45
+ state._currentStep = outcome.nextStep;
46
+ return { shouldReturn: true, shouldContinue: false };
47
+ case 'rerun_turn':
48
+ // Clear the step so the outer loop treats this as a new run-again without incrementing the turn.
49
+ setContinuingInterruptedTurn(true);
50
+ state._currentStep = undefined;
51
+ return { shouldReturn: false, shouldContinue: true };
52
+ case 'advance_step':
53
+ setContinuingInterruptedTurn(false);
54
+ state._currentStep = outcome.nextStep;
55
+ return { shouldReturn: false, shouldContinue: false };
56
+ default: {
57
+ const _exhaustive = outcome.action;
58
+ throw new Error(`Unhandled interruption outcome: ${_exhaustive}`);
59
+ }
60
+ }
61
+ }
62
+ //# sourceMappingURL=runLoop.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runLoop.js","sourceRoot":"","sources":["../../src/runner/runLoop.ts"],"names":[],"mappings":";;AA6BA,0CAuBC;AAED,sDAsCC;AAED,4DA4BC;AArHD,wDAA0D;AAwB1D,SAAgB,eAAe,CAG7B,OAAiD;IACjD,MAAM,EACJ,KAAK,EACL,UAAU,EACV,KAAK,EACL,SAAS,EACT,oBAAoB,EACpB,WAAW,GACZ,GAAG,OAAO,CAAC;IACZ,WAAW,EAAE,CAAC,UAAU,CAAC,CAAC;IAC1B,KAAK,CAAC,eAAe,CAAC,UAAU,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IACnD,KAAK,CAAC,cAAc,GAAG,UAAU,CAAC,aAAa,CAAC;IAChD,KAAK,CAAC,eAAe,GAAG,UAAU,CAAC,cAAc,CAAC;IAClD,IACE,oBAAoB;QACpB,UAAU,CAAC,QAAQ,CAAC,IAAI,KAAK,qBAAqB,EAClD,CAAC;QACD,KAAK,CAAC,oBAAoB,EAAE,CAAC;IAC/B,CAAC;IACD,KAAK,CAAC,YAAY,GAAG,UAAU,CAAC,QAAQ,CAAC;AAC3C,CAAC;AAEM,KAAK,UAAU,qBAAqB,CAGzC,OAID;IACC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC;IAC/C,MAAM,UAAU,GAAG,MAAM,IAAA,uCAAsB,EAC7C,KAAK,CAAC,aAAa,EACnB,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,eAAe,EACrB,KAAK,CAAC,iBAAkB,EACxB,KAAK,CAAC,sBAAoD,EAC1D,MAAM,EACN,KAAK,CACN,CAAC;IAEF,eAAe,CAAC;QACd,KAAK;QACL,UAAU;QACV,KAAK,EAAE,KAAK,CAAC,aAAa;QAC1B,SAAS,EAAE,KAAK,CAAC,sBAAsB,EAAE,SAAS,IAAI,EAAE;QACxD,oBAAoB,EAAE,KAAK;QAC3B,WAAW;KACZ,CAAC,CAAC;IAEH,8EAA8E;IAC9E,kGAAkG;IAClG,yDAAyD;IACzD,IAAI,UAAU,CAAC,QAAQ,CAAC,IAAI,KAAK,wBAAwB,EAAE,CAAC;QAC1D,OAAO,EAAE,QAAQ,EAAE,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,qBAAqB,EAAE,CAAC;IAC1E,CAAC;IACD,IAAI,UAAU,CAAC,QAAQ,CAAC,IAAI,KAAK,qBAAqB,EAAE,CAAC;QACvD,OAAO,EAAE,QAAQ,EAAE,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC;IACjE,CAAC;IACD,OAAO,EAAE,QAAQ,EAAE,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC;AACnE,CAAC;AAED,SAAgB,wBAAwB,CAGtC,OAID;IACC,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,4BAA4B,EAAE,GAAG,OAAO,CAAC;IAEjE,QAAQ,OAAO,CAAC,MAAM,EAAE,CAAC;QACvB,KAAK,qBAAqB;YACxB,KAAK,CAAC,YAAY,GAAG,OAAO,CAAC,QAAQ,CAAC;YACtC,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC;QACvD,KAAK,YAAY;YACf,iGAAiG;YACjG,4BAA4B,CAAC,IAAI,CAAC,CAAC;YACnC,KAAK,CAAC,YAAY,GAAG,SAAS,CAAC;YAC/B,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC;QACvD,KAAK,cAAc;YACjB,4BAA4B,CAAC,KAAK,CAAC,CAAC;YACpC,KAAK,CAAC,YAAY,GAAG,OAAO,CAAC,QAAQ,CAAC;YACtC,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC;QACxD,OAAO,CAAC,CAAC,CAAC;YACR,MAAM,WAAW,GAAU,OAAO,CAAC,MAAM,CAAC;YAC1C,MAAM,IAAI,KAAK,CAAC,mCAAmC,WAAW,EAAE,CAAC,CAAC;QACpE,CAAC;IACH,CAAC;AACH,CAAC"}
@@ -0,0 +1,57 @@
1
+ import { resolveInterruptedTurn } from "./turnResolution.mjs";
2
+ export function applyTurnResult(options) {
3
+ const { state, turnResult, agent, toolsUsed, resetTurnPersistence, onStepItems, } = options;
4
+ onStepItems?.(turnResult);
5
+ state._toolUseTracker.addToolUse(agent, toolsUsed);
6
+ state._originalInput = turnResult.originalInput;
7
+ state._generatedItems = turnResult.generatedItems;
8
+ if (resetTurnPersistence &&
9
+ turnResult.nextStep.type === 'next_step_run_again') {
10
+ state.resetTurnPersistence();
11
+ }
12
+ state._currentStep = turnResult.nextStep;
13
+ }
14
+ export async function resumeInterruptedTurn(options) {
15
+ const { state, runner, onStepItems } = options;
16
+ const turnResult = await resolveInterruptedTurn(state._currentAgent, state._originalInput, state._generatedItems, state._lastTurnResponse, state._lastProcessedResponse, runner, state);
17
+ applyTurnResult({
18
+ state,
19
+ turnResult,
20
+ agent: state._currentAgent,
21
+ toolsUsed: state._lastProcessedResponse?.toolsUsed ?? [],
22
+ resetTurnPersistence: false,
23
+ onStepItems,
24
+ });
25
+ // Map next-step outcomes to interruption flow control for the outer run loop.
26
+ // return_interruption: still waiting on approvals. rerun_turn: same turn rerun without increment.
27
+ // advance_step: proceed without rerunning the same turn.
28
+ if (turnResult.nextStep.type === 'next_step_interruption') {
29
+ return { nextStep: turnResult.nextStep, action: 'return_interruption' };
30
+ }
31
+ if (turnResult.nextStep.type === 'next_step_run_again') {
32
+ return { nextStep: turnResult.nextStep, action: 'rerun_turn' };
33
+ }
34
+ return { nextStep: turnResult.nextStep, action: 'advance_step' };
35
+ }
36
+ export function handleInterruptedOutcome(options) {
37
+ const { state, outcome, setContinuingInterruptedTurn } = options;
38
+ switch (outcome.action) {
39
+ case 'return_interruption':
40
+ state._currentStep = outcome.nextStep;
41
+ return { shouldReturn: true, shouldContinue: false };
42
+ case 'rerun_turn':
43
+ // Clear the step so the outer loop treats this as a new run-again without incrementing the turn.
44
+ setContinuingInterruptedTurn(true);
45
+ state._currentStep = undefined;
46
+ return { shouldReturn: false, shouldContinue: true };
47
+ case 'advance_step':
48
+ setContinuingInterruptedTurn(false);
49
+ state._currentStep = outcome.nextStep;
50
+ return { shouldReturn: false, shouldContinue: false };
51
+ default: {
52
+ const _exhaustive = outcome.action;
53
+ throw new Error(`Unhandled interruption outcome: ${_exhaustive}`);
54
+ }
55
+ }
56
+ }
57
+ //# sourceMappingURL=runLoop.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runLoop.mjs","sourceRoot":"","sources":["../../src/runner/runLoop.ts"],"names":[],"mappings":"OAKO,EAAE,sBAAsB,EAAE;AAwBjC,MAAM,UAAU,eAAe,CAG7B,OAAiD;IACjD,MAAM,EACJ,KAAK,EACL,UAAU,EACV,KAAK,EACL,SAAS,EACT,oBAAoB,EACpB,WAAW,GACZ,GAAG,OAAO,CAAC;IACZ,WAAW,EAAE,CAAC,UAAU,CAAC,CAAC;IAC1B,KAAK,CAAC,eAAe,CAAC,UAAU,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IACnD,KAAK,CAAC,cAAc,GAAG,UAAU,CAAC,aAAa,CAAC;IAChD,KAAK,CAAC,eAAe,GAAG,UAAU,CAAC,cAAc,CAAC;IAClD,IACE,oBAAoB;QACpB,UAAU,CAAC,QAAQ,CAAC,IAAI,KAAK,qBAAqB,EAClD,CAAC;QACD,KAAK,CAAC,oBAAoB,EAAE,CAAC;IAC/B,CAAC;IACD,KAAK,CAAC,YAAY,GAAG,UAAU,CAAC,QAAQ,CAAC;AAC3C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAGzC,OAID;IACC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC;IAC/C,MAAM,UAAU,GAAG,MAAM,sBAAsB,CAC7C,KAAK,CAAC,aAAa,EACnB,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,eAAe,EACrB,KAAK,CAAC,iBAAkB,EACxB,KAAK,CAAC,sBAAoD,EAC1D,MAAM,EACN,KAAK,CACN,CAAC;IAEF,eAAe,CAAC;QACd,KAAK;QACL,UAAU;QACV,KAAK,EAAE,KAAK,CAAC,aAAa;QAC1B,SAAS,EAAE,KAAK,CAAC,sBAAsB,EAAE,SAAS,IAAI,EAAE;QACxD,oBAAoB,EAAE,KAAK;QAC3B,WAAW;KACZ,CAAC,CAAC;IAEH,8EAA8E;IAC9E,kGAAkG;IAClG,yDAAyD;IACzD,IAAI,UAAU,CAAC,QAAQ,CAAC,IAAI,KAAK,wBAAwB,EAAE,CAAC;QAC1D,OAAO,EAAE,QAAQ,EAAE,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,qBAAqB,EAAE,CAAC;IAC1E,CAAC;IACD,IAAI,UAAU,CAAC,QAAQ,CAAC,IAAI,KAAK,qBAAqB,EAAE,CAAC;QACvD,OAAO,EAAE,QAAQ,EAAE,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC;IACjE,CAAC;IACD,OAAO,EAAE,QAAQ,EAAE,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC;AACnE,CAAC;AAED,MAAM,UAAU,wBAAwB,CAGtC,OAID;IACC,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,4BAA4B,EAAE,GAAG,OAAO,CAAC;IAEjE,QAAQ,OAAO,CAAC,MAAM,EAAE,CAAC;QACvB,KAAK,qBAAqB;YACxB,KAAK,CAAC,YAAY,GAAG,OAAO,CAAC,QAAQ,CAAC;YACtC,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC;QACvD,KAAK,YAAY;YACf,iGAAiG;YACjG,4BAA4B,CAAC,IAAI,CAAC,CAAC;YACnC,KAAK,CAAC,YAAY,GAAG,SAAS,CAAC;YAC/B,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC;QACvD,KAAK,cAAc;YACjB,4BAA4B,CAAC,KAAK,CAAC,CAAC;YACpC,KAAK,CAAC,YAAY,GAAG,OAAO,CAAC,QAAQ,CAAC;YACtC,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC;QACxD,OAAO,CAAC,CAAC,CAAC;YACR,MAAM,WAAW,GAAU,OAAO,CAAC,MAAM,CAAC;YAC1C,MAAM,IAAI,KAAK,CAAC,mCAAmC,WAAW,EAAE,CAAC,CAAC;QACpE,CAAC;IACH,CAAC;AACH,CAAC"}
@@ -0,0 +1,26 @@
1
+ import { type Session, type SessionInputCallback } from '../memory/session';
2
+ import { RunResult, StreamedRunResult } from '../result';
3
+ import { AgentInputItem } from '../types';
4
+ export type PreparedInputWithSessionResult = {
5
+ preparedInput: string | AgentInputItem[];
6
+ sessionItems?: AgentInputItem[];
7
+ };
8
+ export type SessionPersistenceTracker = {
9
+ setPreparedItems: (items?: AgentInputItem[]) => void;
10
+ recordTurnItems: (sourceItems: (AgentInputItem | undefined)[], filteredItems?: AgentInputItem[]) => void;
11
+ getItemsForPersistence: () => AgentInputItem[] | undefined;
12
+ buildPersistInputOnce: (serverManagesConversation: boolean) => (() => Promise<void>) | undefined;
13
+ };
14
+ export declare function createSessionPersistenceTracker(options: {
15
+ session?: Session;
16
+ hasCallModelInputFilter: boolean;
17
+ persistInput?: typeof saveStreamInputToSession;
18
+ resumingFromState?: boolean;
19
+ }): SessionPersistenceTracker | undefined;
20
+ export declare function saveToSession(session: Session | undefined, sessionInputItems: AgentInputItem[] | undefined, result: RunResult<any, any>): Promise<void>;
21
+ export declare function saveStreamInputToSession(session: Session | undefined, sessionInputItems: AgentInputItem[] | undefined): Promise<void>;
22
+ export declare function saveStreamResultToSession(session: Session | undefined, result: StreamedRunResult<any, any>): Promise<void>;
23
+ export declare function prepareInputItemsWithSession(input: string | AgentInputItem[], session?: Session, sessionInputCallback?: SessionInputCallback, options?: {
24
+ includeHistoryInPreparedInput?: boolean;
25
+ preserveDroppedNewItems?: boolean;
26
+ }): Promise<PreparedInputWithSessionResult>;