@theokit/sdk 5.10.0 → 5.11.1
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/CHANGELOG.md +82 -0
- package/dist/{agent-XTLAVVYC.js → agent-DFV52V6E.js} +8 -7
- package/dist/{agent-XTLAVVYC.js.map → agent-DFV52V6E.js.map} +1 -1
- package/dist/{agent-TLRURB7W.cjs → agent-OKP4LHG2.cjs} +9 -8
- package/dist/{agent-TLRURB7W.cjs.map → agent-OKP4LHG2.cjs.map} +1 -1
- package/dist/{chunk-CVEQ5366.cjs → chunk-35KBC4BX.cjs} +177 -119
- package/dist/chunk-35KBC4BX.cjs.map +1 -0
- package/dist/{chunk-FR6COQXZ.cjs → chunk-3JANYJYS.cjs} +3 -3
- package/dist/{chunk-FR6COQXZ.cjs.map → chunk-3JANYJYS.cjs.map} +1 -1
- package/dist/{chunk-523O5UYB.js → chunk-6G4IRQUD.js} +3 -3
- package/dist/{chunk-523O5UYB.js.map → chunk-6G4IRQUD.js.map} +1 -1
- package/dist/{chunk-EVH3OUMY.js → chunk-BBJ77S62.js} +190 -44
- package/dist/chunk-BBJ77S62.js.map +1 -0
- package/dist/{chunk-PCLRIQPX.cjs → chunk-EQ5NCH2Y.cjs} +4 -4
- package/dist/{chunk-PCLRIQPX.cjs.map → chunk-EQ5NCH2Y.cjs.map} +1 -1
- package/dist/{chunk-TE6XVTOA.js → chunk-JLIRFWUG.js} +47 -17
- package/dist/chunk-JLIRFWUG.js.map +1 -0
- package/dist/{chunk-YEHQ3SIC.cjs → chunk-JV7JA7BM.cjs} +5 -5
- package/dist/{chunk-YEHQ3SIC.cjs.map → chunk-JV7JA7BM.cjs.map} +1 -1
- package/dist/chunk-LZJXEPEQ.js +58 -0
- package/dist/chunk-LZJXEPEQ.js.map +1 -0
- package/dist/{chunk-RTE2DD4S.js → chunk-MHIBYKWA.js} +127 -69
- package/dist/chunk-MHIBYKWA.js.map +1 -0
- package/dist/{chunk-WPO3VCY4.cjs → chunk-N7KS3TIR.cjs} +47 -17
- package/dist/chunk-N7KS3TIR.cjs.map +1 -0
- package/dist/chunk-NWS2CS3Y.cjs +61 -0
- package/dist/chunk-NWS2CS3Y.cjs.map +1 -0
- package/dist/{chunk-QY3CIMUV.cjs → chunk-P5N3Q2NH.cjs} +210 -62
- package/dist/chunk-P5N3Q2NH.cjs.map +1 -0
- package/dist/{chunk-EXI7EHDN.js → chunk-Q34EBNYG.js} +3 -3
- package/dist/{chunk-EXI7EHDN.js.map → chunk-Q34EBNYG.js.map} +1 -1
- package/dist/{chunk-HI3W37FY.js → chunk-U27XHOEF.js} +3 -3
- package/dist/{chunk-HI3W37FY.js.map → chunk-U27XHOEF.js.map} +1 -1
- package/dist/{compact-session-PVAWTKKL.js → compact-session-4HAUP3HK.js} +4 -4
- package/dist/{compact-session-PVAWTKKL.js.map → compact-session-4HAUP3HK.js.map} +1 -1
- package/dist/{compact-session-4QHBBGEY.cjs → compact-session-Y56D3S57.cjs} +13 -13
- package/dist/{compact-session-4QHBBGEY.cjs.map → compact-session-Y56D3S57.cjs.map} +1 -1
- package/dist/cron.cjs +8 -7
- package/dist/cron.js +7 -6
- package/dist/eval.cjs +7 -6
- package/dist/eval.cjs.map +1 -1
- package/dist/eval.js +6 -5
- package/dist/eval.js.map +1 -1
- package/dist/index.cjs +40 -130
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +11 -106
- package/dist/index.js.map +1 -1
- package/dist/{inject-session-O24XGRR6.js → inject-session-LJX5JGV5.js} +3 -3
- package/dist/{inject-session-O24XGRR6.js.map → inject-session-LJX5JGV5.js.map} +1 -1
- package/dist/{inject-session-OMLFL2V3.cjs → inject-session-R73PRM7B.cjs} +4 -4
- package/dist/{inject-session-OMLFL2V3.cjs.map → inject-session-R73PRM7B.cjs.map} +1 -1
- package/dist/internal/budget/normalize-usage.d.ts +81 -0
- package/dist/internal/error-mappers/openai-compatible.d.ts +3 -1
- package/dist/internal/llm/anthropic-shared.d.ts +6 -0
- package/dist/internal/llm/openai.d.ts +3 -5
- package/dist/internal/llm/openrouter-system.d.ts +1 -0
- package/dist/internal/llm/types.d.ts +10 -5
- package/dist/internal/memory/adapters/index.cjs +3 -3
- package/dist/internal/memory/adapters/index.js +2 -2
- package/dist/models.cjs +5 -50
- package/dist/models.cjs.map +1 -1
- package/dist/models.js +3 -51
- package/dist/models.js.map +1 -1
- package/docs/error-codes.md +8 -4
- package/package.json +1 -1
- package/dist/chunk-CVEQ5366.cjs.map +0 -1
- package/dist/chunk-EVH3OUMY.js.map +0 -1
- package/dist/chunk-QY3CIMUV.cjs.map +0 -1
- package/dist/chunk-RTE2DD4S.js.map +0 -1
- package/dist/chunk-TE6XVTOA.js.map +0 -1
- package/dist/chunk-WPO3VCY4.cjs.map +0 -1
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { submit, emitRunEvent } from './chunk-XKMVJ443.js';
|
|
2
|
-
import { enqueueSessionWrite, hydrateSession, persistTurnToTranscript, flushSessionWrites, appendSessionMessage, getSessionMessages, discardSession, clearSession } from './chunk-
|
|
2
|
+
import { enqueueSessionWrite, hydrateSession, persistTurnToTranscript, flushSessionWrites, appendSessionMessage, getSessionMessages, discardSession, clearSession } from './chunk-Q34EBNYG.js';
|
|
3
3
|
import { IndexManager } from './chunk-DPY2M74T.js';
|
|
4
4
|
import { currentPersonalityContext, warnPersonalitySwitchInsideFork } from './chunk-ZHWKT2NI.js';
|
|
5
5
|
import { extractCodePlugins } from './chunk-2SFBB54R.js';
|
|
6
|
-
import { createOpenAiCompatibleRuntime } from './chunk-
|
|
6
|
+
import { createOpenAiCompatibleRuntime } from './chunk-U27XHOEF.js';
|
|
7
7
|
import { persistActiveMemoryTranscript } from './chunk-OR6XIWLB.js';
|
|
8
8
|
import { resolveMaxFacts, writeSessionSummary, resolveMemoryRoot, MEMORY_KINDS, appendFact, readFacts, legacyMemoryJsonPath, memoryMdPath, appendFactToMarkdown } from './chunk-X3LOJJMO.js';
|
|
9
9
|
import { FsSessionStore } from './chunk-IZDDSLL2.js';
|
|
10
|
-
import { discoverProviderPlugins, validateApiKeyShape, getConfiguredBaseUrl, httpRequest, isFixtureApiKey, presentProviderCredentialEnvVars, buildDefaultSummarizer, shouldUseRealLocalRuntime, parseSseStream, CircuitBreaker, resolveRunProvider, mergeExplicitApiKey, resolveProviderChain, abortError, tryFirstEvent, relayStream, renderToolResultContentText } from './chunk-
|
|
10
|
+
import { discoverProviderPlugins, validateApiKeyShape, getConfiguredBaseUrl, httpRequest, isFixtureApiKey, presentProviderCredentialEnvVars, buildDefaultSummarizer, shouldUseRealLocalRuntime, parseSseStream, CircuitBreaker, resolveRunProvider, mergeExplicitApiKey, resolveProviderChain, abortError, tryFirstEvent, relayStream, renderToolResultContentText } from './chunk-BBJ77S62.js';
|
|
11
11
|
import { resolveChildEnv } from './chunk-HKCKOAIO.js';
|
|
12
12
|
import { DEFAULT_MAX_BYTES_PER_FILE, runDiscovery, truncateWithMarker } from './chunk-7QJYKVP6.js';
|
|
13
13
|
import { warnFailureOnce, loadHookConfig, warnOnce } from './chunk-OPAKPEPG.js';
|
|
@@ -29,6 +29,7 @@ import { loadSubagents, pluginBundleDirs } from './chunk-ZDYDBXSD.js';
|
|
|
29
29
|
import { reportUndeclaredSources, theokitConfigRoot, undefinedVariablesIn, getTheokitHome, adapterForConfigPath, adaptersForSurface, projectConfigRoots, pluginBundleRoots } from './chunk-X7EUUHXU.js';
|
|
30
30
|
import { readWorkspaceDir, parseSimpleYaml } from './chunk-MQGSOKR3.js';
|
|
31
31
|
import { resolveEffectiveContextWindow, CONTEXT_WINDOW_FLOOR, CONTEXT_WINDOW_MARGIN } from './chunk-GMRFAX4I.js';
|
|
32
|
+
import { isAnthropicFamilyModel } from './chunk-LZJXEPEQ.js';
|
|
32
33
|
import { parseModelId } from './chunk-R7WIIPUR.js';
|
|
33
34
|
import { getProviderProfile } from './chunk-I2ORT6QD.js';
|
|
34
35
|
import { getCatalogModelInfo, isPatchedModelKey } from './chunk-SVCPJRUB.js';
|
|
@@ -5804,14 +5805,27 @@ function stripThinkBlocks(content) {
|
|
|
5804
5805
|
// src/internal/agent-loop/loop-llm-stream.ts
|
|
5805
5806
|
function resolveSystemPromptWithMemoryAdditions(systemPrompt, additions) {
|
|
5806
5807
|
if (additions === void 0 || additions.length === 0) return systemPrompt;
|
|
5807
|
-
const block =
|
|
5808
|
-
${escapeBlockBody(additions)}
|
|
5809
|
-
</active-memory>`;
|
|
5808
|
+
const block = activeMemoryBlock(additions);
|
|
5810
5809
|
if (systemPrompt === void 0 || systemPrompt.length === 0) return block;
|
|
5811
5810
|
return `${block}
|
|
5812
5811
|
|
|
5813
5812
|
${systemPrompt}`;
|
|
5814
5813
|
}
|
|
5814
|
+
function activeMemoryBlock(additions) {
|
|
5815
|
+
return `<active-memory>
|
|
5816
|
+
${escapeBlockBody(additions)}
|
|
5817
|
+
</active-memory>`;
|
|
5818
|
+
}
|
|
5819
|
+
function buildLoopSystem(systemPrompt, additions, modelId) {
|
|
5820
|
+
if (!isAnthropicFamilyModel(modelId) || systemPrompt === void 0 || systemPrompt.length === 0) {
|
|
5821
|
+
return resolveSystemPromptWithMemoryAdditions(systemPrompt, additions);
|
|
5822
|
+
}
|
|
5823
|
+
const blocks = [{ text: systemPrompt, cacheable: true }];
|
|
5824
|
+
if (additions !== void 0 && additions.length > 0) {
|
|
5825
|
+
blocks.push({ text: activeMemoryBlock(additions) });
|
|
5826
|
+
}
|
|
5827
|
+
return blocks;
|
|
5828
|
+
}
|
|
5815
5829
|
function toLlmTool(tool) {
|
|
5816
5830
|
return { name: tool.name, description: tool.description, inputSchema: tool.inputSchema };
|
|
5817
5831
|
}
|
|
@@ -5850,9 +5864,10 @@ async function streamLlmTurn(inputs, ctx) {
|
|
|
5850
5864
|
{
|
|
5851
5865
|
model: inputs.model.id ?? "auto",
|
|
5852
5866
|
...(() => {
|
|
5853
|
-
const effective =
|
|
5867
|
+
const effective = buildLoopSystem(
|
|
5854
5868
|
inputs.systemPrompt,
|
|
5855
|
-
ctx.memorySystemPromptAdditions
|
|
5869
|
+
ctx.memorySystemPromptAdditions,
|
|
5870
|
+
inputs.model.id
|
|
5856
5871
|
);
|
|
5857
5872
|
return effective !== void 0 ? { system: effective } : {};
|
|
5858
5873
|
})(),
|
|
@@ -5955,6 +5970,7 @@ function registerLoopError(ctx, cause) {
|
|
|
5955
5970
|
async function consumeStreamEvent(inputs, reasoning, event) {
|
|
5956
5971
|
if (event.type === "text_delta") {
|
|
5957
5972
|
const text = event.text ?? "";
|
|
5973
|
+
if (text.length > 0) await closeReasoningOnce(inputs, reasoning);
|
|
5958
5974
|
await emitTextDeltaCallback(inputs, text);
|
|
5959
5975
|
return text;
|
|
5960
5976
|
}
|
|
@@ -5967,7 +5983,14 @@ async function consumeStreamEvent(inputs, reasoning, event) {
|
|
|
5967
5983
|
return "";
|
|
5968
5984
|
}
|
|
5969
5985
|
async function runCollectorLoop(generator, inputs, ctx, partial) {
|
|
5970
|
-
const reasoning = {
|
|
5986
|
+
const reasoning = {
|
|
5987
|
+
text: "",
|
|
5988
|
+
startedAt: void 0,
|
|
5989
|
+
lastAt: void 0,
|
|
5990
|
+
signature: void 0,
|
|
5991
|
+
closed: false,
|
|
5992
|
+
durationMs: 0
|
|
5993
|
+
};
|
|
5971
5994
|
let errored = false;
|
|
5972
5995
|
let finishValue;
|
|
5973
5996
|
let thinking;
|
|
@@ -5996,17 +6019,24 @@ async function consumeReasoningDelta(inputs, reasoning, delta) {
|
|
|
5996
6019
|
await accumulateReasoning(inputs, reasoning, delta.text);
|
|
5997
6020
|
}
|
|
5998
6021
|
async function accumulateReasoning(inputs, reasoning, text) {
|
|
5999
|
-
|
|
6022
|
+
const now = Date.now();
|
|
6023
|
+
if (reasoning.startedAt === void 0) reasoning.startedAt = now;
|
|
6024
|
+
if (!reasoning.closed) reasoning.lastAt = now;
|
|
6000
6025
|
reasoning.text += text;
|
|
6001
6026
|
await emitReasoningDeltaCallback(inputs, text);
|
|
6002
6027
|
}
|
|
6028
|
+
async function closeReasoningOnce(inputs, reasoning) {
|
|
6029
|
+
if (reasoning.closed || reasoning.text.length === 0) return;
|
|
6030
|
+
reasoning.closed = true;
|
|
6031
|
+
reasoning.durationMs = (reasoning.lastAt ?? 0) - (reasoning.startedAt ?? 0);
|
|
6032
|
+
await emitThinkingCompletedCallback(inputs, reasoning.durationMs);
|
|
6033
|
+
}
|
|
6003
6034
|
async function finalizeReasoning(inputs, ctx, reasoning) {
|
|
6004
6035
|
if (reasoning.text.length === 0) return void 0;
|
|
6005
|
-
|
|
6036
|
+
await closeReasoningOnce(inputs, reasoning);
|
|
6006
6037
|
ctx.events.push(
|
|
6007
|
-
buildThinkingEvent(inputs, reasoning.text,
|
|
6038
|
+
buildThinkingEvent(inputs, reasoning.text, reasoning.durationMs, reasoning.signature)
|
|
6008
6039
|
);
|
|
6009
|
-
await emitThinkingCompletedCallback(inputs, thinkingDurationMs);
|
|
6010
6040
|
return {
|
|
6011
6041
|
type: "thinking",
|
|
6012
6042
|
text: reasoning.text,
|
|
@@ -6839,29 +6869,32 @@ async function runIteration(inputs, ctx) {
|
|
|
6839
6869
|
const llmOutput = await streamLlmTurn(inputs, ctx);
|
|
6840
6870
|
await inputs.pluginManager?.runPostLlmCallHooks(hookCtx);
|
|
6841
6871
|
accumulateUsage(ctx.usage, llmOutput);
|
|
6842
|
-
|
|
6843
|
-
|
|
6844
|
-
|
|
6845
|
-
|
|
6846
|
-
|
|
6847
|
-
|
|
6848
|
-
|
|
6849
|
-
|
|
6850
|
-
|
|
6851
|
-
|
|
6852
|
-
|
|
6853
|
-
|
|
6854
|
-
|
|
6855
|
-
|
|
6856
|
-
|
|
6857
|
-
|
|
6858
|
-
|
|
6859
|
-
|
|
6860
|
-
|
|
6861
|
-
|
|
6872
|
+
trackTurnUsage(inputs, llmOutput);
|
|
6873
|
+
return continueOrTerminate(inputs, ctx, llmOutput);
|
|
6874
|
+
}
|
|
6875
|
+
function trackTurnUsage(inputs, llmOutput) {
|
|
6876
|
+
const tracker = inputs.budgetTracker;
|
|
6877
|
+
if (tracker === void 0) return;
|
|
6878
|
+
const modelId = inputs.model.id ?? "auto";
|
|
6879
|
+
const inputT = (llmOutput.inputTokens ?? 0) + (llmOutput.cacheReadTokens ?? 0) + (llmOutput.cacheWriteTokens ?? 0);
|
|
6880
|
+
const outputT = llmOutput.outputTokens ?? 0;
|
|
6881
|
+
try {
|
|
6882
|
+
if (inputT > 0) {
|
|
6883
|
+
tracker.track({
|
|
6884
|
+
tokens: inputT,
|
|
6885
|
+
model: modelId,
|
|
6886
|
+
type: "input"
|
|
6887
|
+
});
|
|
6888
|
+
}
|
|
6889
|
+
if (outputT > 0) {
|
|
6890
|
+
tracker.track({
|
|
6891
|
+
tokens: outputT,
|
|
6892
|
+
model: modelId,
|
|
6893
|
+
type: "output"
|
|
6894
|
+
});
|
|
6862
6895
|
}
|
|
6896
|
+
} catch {
|
|
6863
6897
|
}
|
|
6864
|
-
return continueOrTerminate(inputs, ctx, llmOutput);
|
|
6865
6898
|
}
|
|
6866
6899
|
async function transformLlmOutputText(inputs, text, ctx) {
|
|
6867
6900
|
return inputs.pluginManager !== void 0 ? inputs.pluginManager.runTransformLlmOutputHooks(text, ctx) : text;
|
|
@@ -6933,6 +6966,32 @@ async function inspectDoomLoop(inputs, ctx, toolCalls) {
|
|
|
6933
6966
|
return "continue";
|
|
6934
6967
|
}
|
|
6935
6968
|
|
|
6969
|
+
// src/internal/concurrency/abort-utils.ts
|
|
6970
|
+
function anySignal(signals) {
|
|
6971
|
+
const filtered = signals.filter((s) => s !== void 0);
|
|
6972
|
+
if (filtered.length === 0) {
|
|
6973
|
+
return new AbortController().signal;
|
|
6974
|
+
}
|
|
6975
|
+
if (filtered.length === 1) {
|
|
6976
|
+
return filtered[0];
|
|
6977
|
+
}
|
|
6978
|
+
if (typeof AbortSignal.any === "function") {
|
|
6979
|
+
return AbortSignal.any(filtered);
|
|
6980
|
+
}
|
|
6981
|
+
return ponyfillAny(filtered);
|
|
6982
|
+
}
|
|
6983
|
+
function ponyfillAny(signals) {
|
|
6984
|
+
const ctrl = new AbortController();
|
|
6985
|
+
for (const s of signals) {
|
|
6986
|
+
if (s.aborted) {
|
|
6987
|
+
ctrl.abort(s.reason);
|
|
6988
|
+
return ctrl.signal;
|
|
6989
|
+
}
|
|
6990
|
+
s.addEventListener("abort", () => ctrl.abort(s.reason), { once: true });
|
|
6991
|
+
}
|
|
6992
|
+
return ctrl.signal;
|
|
6993
|
+
}
|
|
6994
|
+
|
|
6936
6995
|
// src/internal/llm/fallback-client.ts
|
|
6937
6996
|
var FallbackLlmClient = class {
|
|
6938
6997
|
constructor(clients) {
|
|
@@ -7687,6 +7746,13 @@ var RealLocalRun = class extends FixtureRunBase {
|
|
|
7687
7746
|
ownsMcpClients;
|
|
7688
7747
|
/** theokit#148 — what a delegated child inherits from this parent, scoped to the loop. */
|
|
7689
7748
|
inheritedCredentials;
|
|
7749
|
+
/**
|
|
7750
|
+
* B-495 — the run's own abort, composed into the signal the loop hands to the LLM fetch and the
|
|
7751
|
+
* tool executors, so `cancel()` stops the request and not only the status. A TypeScript `private`
|
|
7752
|
+
* field, never a JS `#private` one: the run wrappers are Proxies that call `cancel()` with `this`
|
|
7753
|
+
* bound to the Proxy, where reading a `#private` field throws.
|
|
7754
|
+
*/
|
|
7755
|
+
cancelController = new AbortController();
|
|
7690
7756
|
constructor(options, buildInputs, ownsMcpClients, inheritedCredentials) {
|
|
7691
7757
|
super(options);
|
|
7692
7758
|
this.buildInputs = buildInputs;
|
|
@@ -7698,6 +7764,11 @@ var RealLocalRun = class extends FixtureRunBase {
|
|
|
7698
7764
|
void this.driveLoop();
|
|
7699
7765
|
}, 0);
|
|
7700
7766
|
}
|
|
7767
|
+
cancel() {
|
|
7768
|
+
if (this.terminated) return Promise.resolve();
|
|
7769
|
+
this.cancelController.abort();
|
|
7770
|
+
return super.cancel();
|
|
7771
|
+
}
|
|
7701
7772
|
notifyImmediately() {
|
|
7702
7773
|
return true;
|
|
7703
7774
|
}
|
|
@@ -7741,7 +7812,9 @@ var RealLocalRun = class extends FixtureRunBase {
|
|
|
7741
7812
|
liveDelivered = /* @__PURE__ */ new Set();
|
|
7742
7813
|
async executeAgentLoop(inputs) {
|
|
7743
7814
|
let textStreamedSinceLastMessage = false;
|
|
7815
|
+
inputs.signal = anySignal([inputs.signal, this.cancelController.signal]);
|
|
7744
7816
|
inputs.onLoopEvent = (event) => {
|
|
7817
|
+
if (this.terminated) return;
|
|
7745
7818
|
this.liveDelivered.add(event);
|
|
7746
7819
|
this.script.events.push(event);
|
|
7747
7820
|
const carriesText = event.type === "assistant" && event.message.content.some((b) => b.type === "text");
|
|
@@ -7757,11 +7830,13 @@ var RealLocalRun = class extends FixtureRunBase {
|
|
|
7757
7830
|
};
|
|
7758
7831
|
const callerOnDelta = inputs.onDelta;
|
|
7759
7832
|
inputs.onDelta = (delta) => {
|
|
7833
|
+
if (this.terminated) return;
|
|
7760
7834
|
callerOnDelta?.(delta);
|
|
7761
7835
|
if (delta.update.type === "text-delta") textStreamedSinceLastMessage = true;
|
|
7762
7836
|
this.pushTimeline({ kind: "delta", update: delta.update });
|
|
7763
7837
|
};
|
|
7764
7838
|
try {
|
|
7839
|
+
if (this.terminated) return;
|
|
7765
7840
|
const runLoop = () => inputs.activeTools !== void 0 ? withToolWhitelist(new Set(inputs.activeTools), () => runAgentLoop(inputs)) : runAgentLoop(inputs);
|
|
7766
7841
|
const output = await withInheritedSubAgentCredentials(this.inheritedCredentials, runLoop);
|
|
7767
7842
|
this.applyAgentLoopOutput(output);
|
|
@@ -7770,11 +7845,7 @@ var RealLocalRun = class extends FixtureRunBase {
|
|
|
7770
7845
|
this.emitErrorEvent(cause, "Agent loop failed", "", "agent_loop_failed");
|
|
7771
7846
|
this.transitionTo("error");
|
|
7772
7847
|
} finally {
|
|
7773
|
-
if (this.ownsMcpClients)
|
|
7774
|
-
for (const client of inputs.mcp.values()) {
|
|
7775
|
-
await client.close().catch(() => void 0);
|
|
7776
|
-
}
|
|
7777
|
-
}
|
|
7848
|
+
if (this.ownsMcpClients) await closeOwnedMcpClients(inputs);
|
|
7778
7849
|
}
|
|
7779
7850
|
}
|
|
7780
7851
|
/**
|
|
@@ -7786,6 +7857,7 @@ var RealLocalRun = class extends FixtureRunBase {
|
|
|
7786
7857
|
* Finding-B fix (sdk-error-packaging v1.1): set-once errorDetail copy.
|
|
7787
7858
|
*/
|
|
7788
7859
|
applyAgentLoopOutput(output) {
|
|
7860
|
+
if (this.terminated) return;
|
|
7789
7861
|
this.deliverUndeliveredEvents(output.events);
|
|
7790
7862
|
this.script.conversation.push(...output.conversation);
|
|
7791
7863
|
if (output.result.length > 0) this.script.result = output.result;
|
|
@@ -7833,6 +7905,18 @@ var RealLocalRun = class extends FixtureRunBase {
|
|
|
7833
7905
|
this.notifyNewEvents();
|
|
7834
7906
|
}
|
|
7835
7907
|
};
|
|
7908
|
+
async function closeOwnedMcpClients(inputs) {
|
|
7909
|
+
for (const [name, client] of inputs.mcp.entries()) {
|
|
7910
|
+
try {
|
|
7911
|
+
await client.close();
|
|
7912
|
+
} catch (cause) {
|
|
7913
|
+
const why = cause instanceof Error ? cause.message : String(cause);
|
|
7914
|
+
diagFailure(
|
|
7915
|
+
`[theokit-sdk] MCP server ${name} failed to close; its process may still be running: ${why}`
|
|
7916
|
+
);
|
|
7917
|
+
}
|
|
7918
|
+
}
|
|
7919
|
+
}
|
|
7836
7920
|
|
|
7837
7921
|
// src/internal/local-agent/local-agent-dispatch.ts
|
|
7838
7922
|
function buildRealRunOptions(args) {
|
|
@@ -9387,32 +9471,6 @@ async function persistMemoryFactIfWritePrompt(workspaceCwd, memoryConfig, userTe
|
|
|
9387
9471
|
}
|
|
9388
9472
|
}
|
|
9389
9473
|
|
|
9390
|
-
// src/internal/concurrency/abort-utils.ts
|
|
9391
|
-
function anySignal(signals) {
|
|
9392
|
-
const filtered = signals.filter((s) => s !== void 0);
|
|
9393
|
-
if (filtered.length === 0) {
|
|
9394
|
-
return new AbortController().signal;
|
|
9395
|
-
}
|
|
9396
|
-
if (filtered.length === 1) {
|
|
9397
|
-
return filtered[0];
|
|
9398
|
-
}
|
|
9399
|
-
if (typeof AbortSignal.any === "function") {
|
|
9400
|
-
return AbortSignal.any(filtered);
|
|
9401
|
-
}
|
|
9402
|
-
return ponyfillAny(filtered);
|
|
9403
|
-
}
|
|
9404
|
-
function ponyfillAny(signals) {
|
|
9405
|
-
const ctrl = new AbortController();
|
|
9406
|
-
for (const s of signals) {
|
|
9407
|
-
if (s.aborted) {
|
|
9408
|
-
ctrl.abort(s.reason);
|
|
9409
|
-
return ctrl.signal;
|
|
9410
|
-
}
|
|
9411
|
-
s.addEventListener("abort", () => ctrl.abort(s.reason), { once: true });
|
|
9412
|
-
}
|
|
9413
|
-
return ctrl.signal;
|
|
9414
|
-
}
|
|
9415
|
-
|
|
9416
9474
|
// src/internal/runtime/lifecycle/wrap-completion-check-run.ts
|
|
9417
9475
|
function wrapRunWithCompletionCheck(args) {
|
|
9418
9476
|
const check = args.completionCheck;
|
|
@@ -11066,7 +11124,7 @@ var Agent = class _Agent {
|
|
|
11066
11124
|
*/
|
|
11067
11125
|
static async compact(agentId, options = {}) {
|
|
11068
11126
|
const reg = await requireLocalAgent(agentId, "compact");
|
|
11069
|
-
const { compactSessionTranscript, buildDefaultSummarizer: buildDefaultSummarizer2 } = await import('./compact-session-
|
|
11127
|
+
const { compactSessionTranscript, buildDefaultSummarizer: buildDefaultSummarizer2 } = await import('./compact-session-4HAUP3HK.js');
|
|
11070
11128
|
const { cwd, model, store } = await openLocalStore(reg);
|
|
11071
11129
|
return enqueueSessionWrite(
|
|
11072
11130
|
cwd,
|
|
@@ -11096,7 +11154,7 @@ var Agent = class _Agent {
|
|
|
11096
11154
|
*/
|
|
11097
11155
|
static async injectSessionTurn(agentId, turn) {
|
|
11098
11156
|
const reg = await requireLocalAgent(agentId, "injectSessionTurn");
|
|
11099
|
-
const { injectSessionTurn } = await import('./inject-session-
|
|
11157
|
+
const { injectSessionTurn } = await import('./inject-session-LJX5JGV5.js');
|
|
11100
11158
|
const { cwd, model, store } = await openLocalStore(reg);
|
|
11101
11159
|
await injectSessionTurn({
|
|
11102
11160
|
store,
|
|
@@ -11254,5 +11312,5 @@ async function openLocalStore(reg) {
|
|
|
11254
11312
|
}
|
|
11255
11313
|
|
|
11256
11314
|
export { Agent, AgentBuilder, DEFAULT_AGENTIC_MODEL_ID, MEMORY_EMBEDDING_ADAPTERS, Tool, ToolError, UsageAccumulator, computeCost, generateCronId, getPricingEntry, managedSettingsPathFor, openRouterMemoryEmbeddingProviderAdapter, readManagedSettings, resolveSessionDir };
|
|
11257
|
-
//# sourceMappingURL=chunk-
|
|
11258
|
-
//# sourceMappingURL=chunk-
|
|
11315
|
+
//# sourceMappingURL=chunk-MHIBYKWA.js.map
|
|
11316
|
+
//# sourceMappingURL=chunk-MHIBYKWA.js.map
|