@openai/agents-core 0.3.7 → 0.3.8
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/dist/errors.d.ts +40 -0
- package/dist/errors.js +38 -1
- package/dist/errors.js.map +1 -1
- package/dist/errors.mjs +34 -0
- package/dist/errors.mjs.map +1 -1
- package/dist/index.d.ts +6 -2
- package/dist/index.js +13 -2
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +3 -1
- package/dist/index.mjs.map +1 -1
- package/dist/metadata.js +2 -2
- package/dist/metadata.mjs +2 -2
- package/dist/result.d.ts +17 -0
- package/dist/result.js +71 -24
- package/dist/result.js.map +1 -1
- package/dist/result.mjs +69 -22
- package/dist/result.mjs.map +1 -1
- package/dist/run.d.ts +14 -47
- package/dist/run.js +421 -994
- package/dist/run.js.map +1 -1
- package/dist/run.mjs +405 -978
- package/dist/run.mjs.map +1 -1
- package/dist/runState.d.ts +1286 -172
- package/dist/runState.js +146 -16
- package/dist/runState.js.map +1 -1
- package/dist/runState.mjs +142 -12
- package/dist/runState.mjs.map +1 -1
- package/dist/runner/constants.d.ts +1 -0
- package/dist/runner/constants.js +6 -0
- package/dist/runner/constants.js.map +1 -0
- package/dist/runner/constants.mjs +3 -0
- package/dist/runner/constants.mjs.map +1 -0
- package/dist/runner/conversation.d.ts +85 -0
- package/dist/runner/conversation.js +275 -0
- package/dist/runner/conversation.js.map +1 -0
- package/dist/runner/conversation.mjs +269 -0
- package/dist/runner/conversation.mjs.map +1 -0
- package/dist/runner/guardrails.d.ts +23 -0
- package/dist/runner/guardrails.js +174 -0
- package/dist/runner/guardrails.js.map +1 -0
- package/dist/runner/guardrails.mjs +166 -0
- package/dist/runner/guardrails.mjs.map +1 -0
- package/dist/runner/items.d.ts +18 -0
- package/dist/runner/items.js +89 -0
- package/dist/runner/items.js.map +1 -0
- package/dist/runner/items.mjs +79 -0
- package/dist/runner/items.mjs.map +1 -0
- package/dist/runner/mcpApprovals.d.ts +25 -0
- package/dist/runner/mcpApprovals.js +66 -0
- package/dist/runner/mcpApprovals.js.map +1 -0
- package/dist/runner/mcpApprovals.mjs +63 -0
- package/dist/runner/mcpApprovals.mjs.map +1 -0
- package/dist/runner/modelOutputs.d.ts +10 -0
- package/dist/runner/modelOutputs.js +206 -0
- package/dist/runner/modelOutputs.js.map +1 -0
- package/dist/runner/modelOutputs.mjs +203 -0
- package/dist/runner/modelOutputs.mjs.map +1 -0
- package/dist/runner/modelPreparation.d.ts +8 -0
- package/dist/runner/modelPreparation.js +41 -0
- package/dist/runner/modelPreparation.js.map +1 -0
- package/dist/runner/modelPreparation.mjs +38 -0
- package/dist/runner/modelPreparation.mjs.map +1 -0
- package/dist/runner/modelSettings.d.ts +20 -0
- package/dist/runner/modelSettings.js +97 -0
- package/dist/runner/modelSettings.js.map +1 -0
- package/dist/runner/modelSettings.mjs +92 -0
- package/dist/runner/modelSettings.mjs.map +1 -0
- package/dist/runner/runLoop.d.ts +32 -0
- package/dist/runner/runLoop.js +62 -0
- package/dist/runner/runLoop.js.map +1 -0
- package/dist/runner/runLoop.mjs +57 -0
- package/dist/runner/runLoop.mjs.map +1 -0
- package/dist/runner/sessionPersistence.d.ts +26 -0
- package/dist/runner/sessionPersistence.js +441 -0
- package/dist/runner/sessionPersistence.js.map +1 -0
- package/dist/runner/sessionPersistence.mjs +431 -0
- package/dist/runner/sessionPersistence.mjs.map +1 -0
- package/dist/runner/steps.d.ts +48 -0
- package/dist/runner/steps.js +40 -0
- package/dist/runner/steps.js.map +1 -0
- package/dist/runner/steps.mjs +36 -0
- package/dist/runner/steps.mjs.map +1 -0
- package/dist/runner/streaming.d.ts +9 -0
- package/dist/runner/streaming.js +74 -0
- package/dist/runner/streaming.js.map +1 -0
- package/dist/runner/streaming.mjs +65 -0
- package/dist/runner/streaming.mjs.map +1 -0
- package/dist/runner/toolExecution.d.ts +15 -0
- package/dist/runner/toolExecution.js +997 -0
- package/dist/runner/toolExecution.js.map +1 -0
- package/dist/runner/toolExecution.mjs +984 -0
- package/dist/runner/toolExecution.mjs.map +1 -0
- package/dist/runner/toolUseTracker.d.ts +9 -0
- package/dist/runner/toolUseTracker.js +34 -0
- package/dist/runner/toolUseTracker.js.map +1 -0
- package/dist/runner/toolUseTracker.mjs +30 -0
- package/dist/runner/toolUseTracker.mjs.map +1 -0
- package/dist/runner/tracing.d.ts +23 -0
- package/dist/runner/tracing.js +45 -0
- package/dist/runner/tracing.js.map +1 -0
- package/dist/runner/tracing.mjs +41 -0
- package/dist/runner/tracing.mjs.map +1 -0
- package/dist/runner/turnPreparation.d.ts +30 -0
- package/dist/runner/turnPreparation.js +80 -0
- package/dist/runner/turnPreparation.js.map +1 -0
- package/dist/runner/turnPreparation.mjs +74 -0
- package/dist/runner/turnPreparation.mjs.map +1 -0
- package/dist/runner/turnResolution.d.ts +3 -0
- package/dist/runner/turnResolution.js +531 -0
- package/dist/runner/turnResolution.js.map +1 -0
- package/dist/runner/turnResolution.mjs +526 -0
- package/dist/runner/turnResolution.mjs.map +1 -0
- package/dist/runner/types.d.ts +66 -0
- package/dist/runner/types.js +3 -0
- package/dist/runner/types.js.map +1 -0
- package/dist/runner/types.mjs +2 -0
- package/dist/runner/types.mjs.map +1 -0
- package/dist/shims/mcp-server/node.js +51 -6
- package/dist/shims/mcp-server/node.js.map +1 -1
- package/dist/shims/mcp-server/node.mjs +51 -6
- package/dist/shims/mcp-server/node.mjs.map +1 -1
- package/dist/tool.d.ts +28 -2
- package/dist/tool.js +7 -1
- package/dist/tool.js.map +1 -1
- package/dist/tool.mjs +8 -2
- package/dist/tool.mjs.map +1 -1
- package/dist/toolGuardrail.d.ts +101 -0
- package/dist/toolGuardrail.js +58 -0
- package/dist/toolGuardrail.js.map +1 -0
- package/dist/toolGuardrail.mjs +51 -0
- package/dist/toolGuardrail.mjs.map +1 -0
- package/dist/tracing/config.d.ts +3 -0
- package/dist/tracing/config.js +3 -0
- package/dist/tracing/config.js.map +1 -0
- package/dist/tracing/config.mjs +2 -0
- package/dist/tracing/config.mjs.map +1 -0
- package/dist/tracing/context.d.ts +2 -0
- package/dist/tracing/context.js +95 -24
- package/dist/tracing/context.js.map +1 -1
- package/dist/tracing/context.mjs +95 -24
- package/dist/tracing/context.mjs.map +1 -1
- package/dist/tracing/createSpans.d.ts +11 -11
- package/dist/tracing/index.d.ts +2 -0
- package/dist/tracing/index.js.map +1 -1
- package/dist/tracing/index.mjs.map +1 -1
- package/dist/tracing/provider.js +54 -4
- package/dist/tracing/provider.js.map +1 -1
- package/dist/tracing/provider.mjs +54 -4
- package/dist/tracing/provider.mjs.map +1 -1
- package/dist/tracing/spans.d.ts +2 -0
- package/dist/tracing/spans.js +6 -0
- package/dist/tracing/spans.js.map +1 -1
- package/dist/tracing/spans.mjs +6 -0
- package/dist/tracing/spans.mjs.map +1 -1
- package/dist/tracing/traces.d.ts +11 -1
- package/dist/tracing/traces.js +15 -2
- package/dist/tracing/traces.js.map +1 -1
- package/dist/tracing/traces.mjs +15 -2
- package/dist/tracing/traces.mjs.map +1 -1
- package/dist/types/protocol.d.ts +11 -0
- package/dist/types/protocol.js +1 -0
- package/dist/types/protocol.js.map +1 -1
- package/dist/types/protocol.mjs +1 -0
- package/dist/types/protocol.mjs.map +1 -1
- package/dist/utils/binary.d.ts +6 -0
- package/dist/utils/binary.js +53 -0
- package/dist/utils/binary.js.map +1 -0
- package/dist/utils/binary.mjs +49 -0
- package/dist/utils/binary.mjs.map +1 -0
- package/dist/utils/toolGuardrails.d.ts +24 -0
- package/dist/utils/toolGuardrails.js +58 -0
- package/dist/utils/toolGuardrails.js.map +1 -0
- package/dist/utils/toolGuardrails.mjs +54 -0
- package/dist/utils/toolGuardrails.mjs.map +1 -0
- package/package.json +4 -3
- package/dist/runImplementation.d.ts +0 -161
- package/dist/runImplementation.js +0 -2054
- package/dist/runImplementation.js.map +0 -1
- package/dist/runImplementation.mjs +0 -2028
- 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":";;AAyBA,kCAYC;AAMD,oDASC;AAQD,4FA8BC;AA1FD,uCAAiC;AACjC,qDAA+E;AAI/E,MAAM,mBAAmB,GAAG,CAAC,QAAwB,EAAW,EAAE;IAChE,MAAM,YAAY,GAAG,QAAQ,EAAE,YAMlB,CAAC;IACd,OAAO,OAAO,CACZ,YAAY,EAAE,SAAS;QACvB,YAAY,EAAE,IAAI,EAAE,SAAS;QAC5B,YAA2D;YAC1D,EAAE,gBAAgB,CACrB,CAAC;AACJ,CAAC,CAAC;AAEF;;;GAGG;AACH,SAAgB,WAAW,CACzB,UAA0B,EAC1B,cAA0C;IAE1C,IACE,CAAC,OAAO,UAAU,KAAK,QAAQ;QAC7B,UAAU,KAAK,aAAK,CAAC,yBAAyB,CAAC;QACjD,UAAU,EACV,CAAC;QACD,OAAO,UAAU,CAAC;IACpB,CAAC;IACD,OAAO,cAAc,IAAI,UAAU,IAAI,aAAK,CAAC,yBAAyB,CAAC;AACzE,CAAC;AAED;;;GAGG;AACH,SAAgB,oBAAoB,CAClC,KAAsB,EACtB,cAAmC,EACnC,aAA4B;IAE5B,IAAI,KAAK,CAAC,eAAe,IAAI,cAAc,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;QAChE,OAAO,EAAE,GAAG,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC;IACrD,CAAC;IACD,OAAO,aAAa,CAAC;AACvB,CAAC;AAED;;;;;GAKG;AACH,SAAgB,wCAAwC,CACtD,iBAA0B,EAC1B,kBAAiC,EACjC,WAA2B,EAC3B,aAA4B,EAC5B,iBAA0B;IAE1B,MAAM,SAAS,GACb,iBAAiB;QACjB,CAAC,OAAO,WAAW,KAAK,QAAQ;YAC9B,CAAC,CAAC,WAAW;YACb,CAAC,CAAC,CAAE,WAA6D;gBAC7D,EAAE,KAAK,IAAK,WAA6C,EAAE,IAAI,CAAC,CAAC,CAAC;IAC1E,MAAM,oBAAoB,GACxB,OAAO,SAAS,KAAK,QAAQ;QAC3B,CAAC,CAAC,CAAC,IAAA,4CAA6B,EAAC,SAAS,CAAC;QAC3C,CAAC,CAAC,IAAI,CAAC;IACX,MAAM,eAAe,GACnB,mBAAmB,CAAC,kBAAkB,CAAC;QACvC,mBAAmB,CAAC,aAAa,CAAC,CAAC;IAErC,IACE,IAAA,4BAAa,GAAE;QACf,iBAAiB;QACjB,oBAAoB;QACpB,eAAe,EACf,CAAC;QACD,OAAO,qBAAqB,CAAC,aAAa,CAAC,CAAC;IAC9C,CAAC;IACD,OAAO,aAAa,CAAC;AACvB,CAAC;AAED,SAAS,qBAAqB,CAAC,aAA4B;IACzD,MAAM,kBAAkB,GAAG,aAAa,CAAC,YAAY;QACnD,CAAC,CAAC,EAAE,GAAG,aAAa,CAAC,YAAY,EAAE;QACnC,CAAC,CAAC,SAAS,CAAC;IAEd,IAAI,kBAAkB,EAAE,CAAC;QACvB,IACE,kBAAkB,CAAC,IAAI;YACvB,OAAO,kBAAkB,CAAC,IAAI,KAAK,QAAQ,EAC3C,CAAC;YACD,kBAAkB,CAAC,IAAI,GAAG,EAAE,GAAG,kBAAkB,CAAC,IAAI,EAAE,CAAC;YACzD,OAAQ,kBAAkB,CAAC,IAAY,CAAC,SAAS,CAAC;QACpD,CAAC;QACD,OAAQ,kBAA0B,CAAC,SAAS,CAAC;QAC7C,OAAQ,kBAA0B,CAAC,gBAAgB,CAAC;IACtD,CAAC;IAED,MAAM,mBAAmB,GAAkB;QACzC,GAAG,aAAa;QAChB,YAAY,EAAE,kBAAkB;KACjC,CAAC;IACF,IAAI,aAAa,CAAC,SAAS,EAAE,CAAC;QAC5B,mBAAmB,CAAC,SAAS,GAAG,EAAE,GAAG,aAAa,CAAC,SAAS,EAAE,CAAC;IACjE,CAAC;IACD,IAAI,aAAa,CAAC,IAAI,EAAE,CAAC;QACvB,mBAAmB,CAAC,IAAI,GAAG,EAAE,GAAG,aAAa,CAAC,IAAI,EAAE,CAAC;IACvD,CAAC;IAED,OAAO,mBAAmB,CAAC,YAAY,EAAE,SAAS,CAAC;IACnD,OAAQ,mBAAmB,CAAC,YAAoB,EAAE,IAAI,EAAE,SAAS,CAAC;IAClE,OAAQ,mBAAmB,CAAC,YAAoB,EAAE,gBAAgB,CAAC;IACnE,IAAI,mBAAmB,CAAC,SAAS,EAAE,CAAC;QAClC,OAAO,mBAAmB,CAAC,SAAS,CAAC,MAAM,CAAC;QAC5C,OAAO,mBAAmB,CAAC,SAAS,CAAC,OAAO,CAAC;IAC/C,CAAC;IACD,IAAI,mBAAmB,CAAC,IAAI,EAAE,CAAC;QAC7B,OAAO,mBAAmB,CAAC,IAAI,CAAC,SAAS,CAAC;IAC5C,CAAC;IACD,OAAO,mBAAmB,CAAC;AAC7B,CAAC"}
|
|
@@ -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":"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"}
|
|
@@ -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":"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"}
|
|
@@ -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>;
|