@theokit/sdk 4.54.0 → 4.56.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +159 -0
- package/dist/a2a/index.cjs +13 -4
- package/dist/a2a/index.cjs.map +1 -1
- package/dist/a2a/index.d.cts +1 -1
- package/dist/a2a/index.d.ts +1 -1
- package/dist/a2a/index.js +13 -5
- package/dist/a2a/index.js.map +1 -1
- package/dist/a2a/message-bus.d.cts +33 -4
- package/dist/a2a/message-bus.d.ts +33 -4
- package/dist/{agent-CIUgz7cN.d.cts → agent-D3Xr_-6Z.d.cts} +61 -6
- package/dist/{agent-DSec-E0c.d.ts → agent-DIu6FooJ.d.ts} +61 -6
- package/dist/{agent-VGD5WL4N.js → agent-K3PQBS7D.js} +10 -9
- package/dist/{agent-VGD5WL4N.js.map → agent-K3PQBS7D.js.map} +1 -1
- package/dist/{agent-NOEGF4GI.cjs → agent-PJMBK7HQ.cjs} +11 -10
- package/dist/{agent-NOEGF4GI.cjs.map → agent-PJMBK7HQ.cjs.map} +1 -1
- package/dist/{chunk-SSQZA3DZ.js → chunk-2BDH744Z.js} +3 -3
- package/dist/{chunk-SSQZA3DZ.js.map → chunk-2BDH744Z.js.map} +1 -1
- package/dist/chunk-6HTXPPHK.cjs +18 -0
- package/dist/{chunk-3KGLRRFC.cjs.map → chunk-6HTXPPHK.cjs.map} +1 -1
- package/dist/{chunk-5UOVYM3P.cjs → chunk-6VLKVX7O.cjs} +131 -54
- package/dist/chunk-6VLKVX7O.cjs.map +1 -0
- package/dist/{chunk-5PHVENFV.js → chunk-7FHZ4VQX.js} +3 -55
- package/dist/chunk-7FHZ4VQX.js.map +1 -0
- package/dist/{chunk-Q47R5E2X.cjs → chunk-E3WZ6Y4H.cjs} +7 -59
- package/dist/chunk-E3WZ6Y4H.cjs.map +1 -0
- package/dist/{chunk-TTHBHAJI.cjs → chunk-H5GOSXSC.cjs} +4 -4
- package/dist/{chunk-TTHBHAJI.cjs.map → chunk-H5GOSXSC.cjs.map} +1 -1
- package/dist/{chunk-UNDROG5N.cjs → chunk-HLPSLDGL.cjs} +94 -26
- package/dist/chunk-HLPSLDGL.cjs.map +1 -0
- package/dist/{chunk-TPTZA6NI.js → chunk-KBXWEWKS.js} +70 -29
- package/dist/chunk-KBXWEWKS.js.map +1 -0
- package/dist/chunk-KRD3GQAA.cjs +71 -0
- package/dist/chunk-KRD3GQAA.cjs.map +1 -0
- package/dist/chunk-KVNWIAO4.js +68 -0
- package/dist/chunk-KVNWIAO4.js.map +1 -0
- package/dist/{chunk-UFAO4T7Z.cjs → chunk-LQYQHXIW.cjs} +129 -88
- package/dist/chunk-LQYQHXIW.cjs.map +1 -0
- package/dist/{chunk-AGSBJD2L.js → chunk-M7UHYBEY.js} +3 -3
- package/dist/{chunk-AGSBJD2L.js.map → chunk-M7UHYBEY.js.map} +1 -1
- package/dist/{chunk-VDEWG5TV.js → chunk-MVAPK2BX.js} +77 -9
- package/dist/chunk-MVAPK2BX.js.map +1 -0
- package/dist/{chunk-RM7Y65IG.cjs → chunk-NIRE5CNO.cjs} +10 -3
- package/dist/{chunk-FXEUP75G.js.map → chunk-NIRE5CNO.cjs.map} +1 -1
- package/dist/{chunk-DAPSQZT4.js → chunk-ODTZ7HX3.js} +131 -54
- package/dist/chunk-ODTZ7HX3.js.map +1 -0
- package/dist/{chunk-DUIF54UP.js → chunk-OHBIUXKM.js} +3 -3
- package/dist/{chunk-DUIF54UP.js.map → chunk-OHBIUXKM.js.map} +1 -1
- package/dist/{chunk-FXEUP75G.js → chunk-Q4CMI2LP.js} +9 -2
- package/dist/chunk-Q4CMI2LP.js.map +1 -0
- package/dist/{chunk-5BJV5UPY.cjs → chunk-V2UUGUY4.cjs} +3 -3
- package/dist/{chunk-5BJV5UPY.cjs.map → chunk-V2UUGUY4.cjs.map} +1 -1
- package/dist/{compact-session-K5LXTBPJ.js → compact-session-FUJDVF7B.js} +4 -4
- package/dist/{compact-session-K5LXTBPJ.js.map → compact-session-FUJDVF7B.js.map} +1 -1
- package/dist/{compact-session-YCT6JMBX.cjs → compact-session-LEWF554G.cjs} +12 -12
- package/dist/{compact-session-YCT6JMBX.cjs.map → compact-session-LEWF554G.cjs.map} +1 -1
- package/dist/context/index.cjs +6 -5
- package/dist/context/index.cjs.map +1 -1
- package/dist/context/index.js +3 -2
- package/dist/context/index.js.map +1 -1
- package/dist/{cron-DxxeQ-sK.d.cts → cron-BcWmzWzT.d.cts} +1 -1
- package/dist/{cron-CRwy2JBF.d.ts → cron-De6hzWCF.d.ts} +1 -1
- package/dist/cron.cjs +10 -9
- package/dist/cron.d.cts +2 -2
- package/dist/cron.d.ts +2 -2
- package/dist/cron.js +9 -8
- package/dist/eval.cjs +9 -8
- package/dist/eval.cjs.map +1 -1
- package/dist/eval.js +8 -7
- package/dist/eval.js.map +1 -1
- package/dist/{index-manager-ZMRJ6ZII.js → index-manager-WBIMDVQT.js} +4 -3
- package/dist/{index-manager-ZMRJ6ZII.js.map → index-manager-WBIMDVQT.js.map} +1 -1
- package/dist/{index-manager-NG5YENWO.cjs → index-manager-WC5ZVJWO.cjs} +5 -4
- package/dist/{index-manager-NG5YENWO.cjs.map → index-manager-WC5ZVJWO.cjs.map} +1 -1
- package/dist/index.cjs +47 -46
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +3 -3
- package/dist/index.d.ts +3 -3
- package/dist/index.js +12 -11
- package/dist/index.js.map +1 -1
- package/dist/{inject-session-DDR6X6PC.js → inject-session-BJMJH5BX.js} +3 -3
- package/dist/{inject-session-DDR6X6PC.js.map → inject-session-BJMJH5BX.js.map} +1 -1
- package/dist/{inject-session-XLO3KTBM.cjs → inject-session-WQGGMCQY.cjs} +4 -4
- package/dist/{inject-session-XLO3KTBM.cjs.map → inject-session-WQGGMCQY.cjs.map} +1 -1
- package/dist/internal/llm/prompt-cache-key.d.ts +1 -0
- package/dist/internal/llm/responses.d.ts +67 -1
- package/dist/internal/llm/types.d.ts +15 -0
- package/dist/internal/local-agent/real-local-run-tools.d.ts +17 -6
- package/dist/internal/memory/storage/markdown-store.d.ts +14 -2
- package/dist/internal/memory/storage/memory-file.d.ts +54 -0
- package/dist/internal/memory/types.d.ts +28 -0
- package/dist/models.cjs +9 -9
- package/dist/models.js +1 -1
- package/dist/providers.cjs +4 -4
- package/dist/providers.js +2 -2
- package/dist/sandbox/index.cjs +1 -1
- package/dist/sandbox/index.cjs.map +1 -1
- package/dist/sandbox/index.js +1 -1
- package/dist/sandbox/index.js.map +1 -1
- package/dist/subagents-loader.d.cts +1 -1
- package/dist/subagents-loader.d.ts +1 -1
- package/dist/types/agent.d.ts +47 -5
- package/dist/types/provider-profile.d.ts +13 -0
- package/docs/error-codes.md +22 -20
- package/docs/harness-capability-map.md +3 -1
- package/package.json +1 -1
- package/dist/chunk-3KGLRRFC.cjs +0 -18
- package/dist/chunk-5PHVENFV.js.map +0 -1
- package/dist/chunk-5UOVYM3P.cjs.map +0 -1
- package/dist/chunk-DAPSQZT4.js.map +0 -1
- package/dist/chunk-Q47R5E2X.cjs.map +0 -1
- package/dist/chunk-RM7Y65IG.cjs.map +0 -1
- package/dist/chunk-TPTZA6NI.js.map +0 -1
- package/dist/chunk-UFAO4T7Z.cjs.map +0 -1
- package/dist/chunk-UNDROG5N.cjs.map +0 -1
- package/dist/chunk-VDEWG5TV.js.map +0 -1
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import { enqueueSessionWrite, hydrateSession, persistTurnToTranscript, flushSessionWrites, appendSessionMessage, getSessionMessages, discardSession, clearSession } from './chunk-
|
|
2
|
-
import { IndexManager, writeSessionSummary, memoryDir, appendFact, readFacts, legacyMemoryJsonPath, memoryMdPath, appendFactToMarkdown } from './chunk-
|
|
1
|
+
import { enqueueSessionWrite, hydrateSession, persistTurnToTranscript, flushSessionWrites, appendSessionMessage, getSessionMessages, discardSession, clearSession } from './chunk-OHBIUXKM.js';
|
|
2
|
+
import { IndexManager, writeSessionSummary, memoryDir, appendFact, readFacts, legacyMemoryJsonPath, memoryMdPath, appendFactToMarkdown } from './chunk-ODTZ7HX3.js';
|
|
3
3
|
import { loadHookConfig, warnOnce, currentPersonalityContext, warnPersonalitySwitchInsideFork } from './chunk-YMA4S2WO.js';
|
|
4
4
|
import { extractCodePlugins } from './chunk-2SFBB54R.js';
|
|
5
5
|
import { submit, emitRunEvent } from './chunk-SUKXXLWD.js';
|
|
6
6
|
import { createOpenAiCompatibleRuntime } from './chunk-XN7NOENA.js';
|
|
7
7
|
import { FsSessionStore } from './chunk-GJ6RK75E.js';
|
|
8
|
-
import { discoverProviderPlugins, getConfiguredBaseUrl, httpRequest, isFixtureApiKey, presentProviderCredentialEnvVars, CircuitBreaker, buildDefaultSummarizer, shouldUseRealLocalRuntime, parseSseStream, resolveProviderChain, inferProviderFromApiKey, detectPrimaryProvider, warnProviderPrecedenceOnce, tryFirstEvent, relayStream, renderToolResultContentText } from './chunk-
|
|
8
|
+
import { discoverProviderPlugins, getConfiguredBaseUrl, httpRequest, isFixtureApiKey, presentProviderCredentialEnvVars, CircuitBreaker, buildDefaultSummarizer, shouldUseRealLocalRuntime, parseSseStream, resolveProviderChain, inferProviderFromApiKey, detectPrimaryProvider, warnProviderPrecedenceOnce, tryFirstEvent, relayStream, renderToolResultContentText } from './chunk-MVAPK2BX.js';
|
|
9
9
|
import { resolveChildEnv } from './chunk-HKCKOAIO.js';
|
|
10
|
-
import { DEFAULT_MAX_BYTES_PER_FILE, runDiscovery, truncateWithMarker } from './chunk-
|
|
10
|
+
import { DEFAULT_MAX_BYTES_PER_FILE, runDiscovery, truncateWithMarker } from './chunk-7FHZ4VQX.js';
|
|
11
11
|
import { readVersionedJson, getTheokitHome, writeVersionedJson } from './chunk-UPRJR6IP.js';
|
|
12
12
|
import { toJsonSchema } from './chunk-4VPXM6UU.js';
|
|
13
13
|
import { sanitizeToolInput } from './chunk-U54XCYG3.js';
|
|
@@ -26,8 +26,8 @@ import { loadSubagents } from './chunk-2QKTVKH3.js';
|
|
|
26
26
|
import { readWorkspaceDir, parseSimpleYaml } from './chunk-AG5JPQIY.js';
|
|
27
27
|
import { resolveEffectiveContextWindow, CONTEXT_WINDOW_FLOOR, CONTEXT_WINDOW_MARGIN } from './chunk-F7AQV62G.js';
|
|
28
28
|
import { parseModelId } from './chunk-R7WIIPUR.js';
|
|
29
|
-
import { getProviderProfile } from './chunk-
|
|
30
|
-
import { getCatalogModelInfo, registerBuiltins, getProviderProfile as getProviderProfile$1, registerProvider, isPatchedModelKey } from './chunk-
|
|
29
|
+
import { getProviderProfile } from './chunk-2BDH744Z.js';
|
|
30
|
+
import { getCatalogModelInfo, registerBuiltins, getProviderProfile as getProviderProfile$1, registerProvider, isPatchedModelKey } from './chunk-Q4CMI2LP.js';
|
|
31
31
|
import { AgentRunError, coerceToKnownAgentRunErrorCode, UnknownAgentError, ConfigurationError, AuthenticationError, AgentDisposedError, UnsupportedRunOperationError, NetworkError, TheokitAgentError } from './chunk-IDCKSLYH.js';
|
|
32
32
|
import { resolveApiKey, API_KEY_ENV_VAR, redactSecrets } from './chunk-T7XEKOVW.js';
|
|
33
33
|
import { diag } from './chunk-T7O6K6PX.js';
|
|
@@ -2694,6 +2694,9 @@ function buildContextBudgetEvent(model, resolved) {
|
|
|
2694
2694
|
}
|
|
2695
2695
|
|
|
2696
2696
|
// src/internal/runtime/lifecycle/post-run-lifecycle.ts
|
|
2697
|
+
function sessionTranscriptAllowed(memory) {
|
|
2698
|
+
return memory?.enabled !== false;
|
|
2699
|
+
}
|
|
2697
2700
|
function resolveWindowForRun(model, contextWindow) {
|
|
2698
2701
|
const override = contextWindow !== void 0 && contextWindow > 0 ? contextWindow : void 0;
|
|
2699
2702
|
return resolveEffectiveContextWindow({
|
|
@@ -2769,7 +2772,7 @@ async function runPostRunLifecycle(inputs) {
|
|
|
2769
2772
|
},
|
|
2770
2773
|
onRunEvent !== void 0 ? () => emitRunEvent(onRunEvent, { type: "compact_boundary", trigger: "auto" }) : void 0
|
|
2771
2774
|
);
|
|
2772
|
-
if (result.status === "finished" && result.result !== void 0) {
|
|
2775
|
+
if (result.status === "finished" && result.result !== void 0 && sessionTranscriptAllowed(inputs.memory)) {
|
|
2773
2776
|
const summaryArgs = {
|
|
2774
2777
|
cwd: workspaceCwd,
|
|
2775
2778
|
runId: result.id,
|
|
@@ -3289,11 +3292,17 @@ function validateSubagents(agents2) {
|
|
|
3289
3292
|
}
|
|
3290
3293
|
}
|
|
3291
3294
|
var TOOL_NAME_PATTERN = /^[a-zA-Z][a-zA-Z0-9_-]{0,63}$/;
|
|
3292
|
-
var
|
|
3293
|
-
|
|
3295
|
+
var BUILTIN_TOOL_NAMES = ["shell", "memory_search", "memory_get"];
|
|
3296
|
+
var RESERVED_TOOL_NAMES = new Set(BUILTIN_TOOL_NAMES);
|
|
3297
|
+
function reservedNamesFor(withheld) {
|
|
3298
|
+
if (withheld === void 0 || withheld.length === 0) return RESERVED_TOOL_NAMES;
|
|
3299
|
+
return new Set(BUILTIN_TOOL_NAMES.filter((name) => !withheld.includes(name)));
|
|
3300
|
+
}
|
|
3301
|
+
function validateToolCatalog(tools, withheldBuiltins) {
|
|
3302
|
+
const reserved = reservedNamesFor(withheldBuiltins);
|
|
3294
3303
|
const seen = /* @__PURE__ */ new Set();
|
|
3295
3304
|
for (const tool of tools) {
|
|
3296
|
-
validateSingleTool(tool);
|
|
3305
|
+
validateSingleTool(tool, reserved);
|
|
3297
3306
|
if (seen.has(tool.name)) {
|
|
3298
3307
|
throw new ConfigurationError(`Duplicate custom tool name "${tool.name}"`, {
|
|
3299
3308
|
code: "duplicate_tool_name"
|
|
@@ -3311,10 +3320,10 @@ function validateCustomTools(options) {
|
|
|
3311
3320
|
{ code: "cloud_custom_tools_rejected" }
|
|
3312
3321
|
);
|
|
3313
3322
|
}
|
|
3314
|
-
validateToolCatalog(tools);
|
|
3323
|
+
validateToolCatalog(tools, options.withheldBuiltinTools);
|
|
3315
3324
|
}
|
|
3316
|
-
function validateSingleTool(tool) {
|
|
3317
|
-
validateToolName(tool);
|
|
3325
|
+
function validateSingleTool(tool, reserved) {
|
|
3326
|
+
validateToolName(tool, reserved);
|
|
3318
3327
|
validateToolDescription(tool);
|
|
3319
3328
|
validateToolSchema(tool);
|
|
3320
3329
|
if (typeof tool.handler !== "function") {
|
|
@@ -3323,7 +3332,7 @@ function validateSingleTool(tool) {
|
|
|
3323
3332
|
});
|
|
3324
3333
|
}
|
|
3325
3334
|
}
|
|
3326
|
-
function validateToolName(tool) {
|
|
3335
|
+
function validateToolName(tool, reserved) {
|
|
3327
3336
|
if (typeof tool.name !== "string" || tool.name.length === 0) {
|
|
3328
3337
|
throw new ConfigurationError("Custom tool requires a non-empty name", {
|
|
3329
3338
|
code: "tool_missing_name"
|
|
@@ -3335,7 +3344,7 @@ function validateToolName(tool) {
|
|
|
3335
3344
|
{ code: "tool_invalid_name" }
|
|
3336
3345
|
);
|
|
3337
3346
|
}
|
|
3338
|
-
if (
|
|
3347
|
+
if (reserved.has(tool.name) || tool.name.startsWith("mcp_")) {
|
|
3339
3348
|
throw new ConfigurationError(
|
|
3340
3349
|
`Custom tool name "${tool.name}" collides with a reserved SDK tool name`,
|
|
3341
3350
|
{ code: "tool_reserved_name" }
|
|
@@ -4848,8 +4857,10 @@ async function initLoopContext(inputs) {
|
|
|
4848
4857
|
memoryProviderHandle = void 0;
|
|
4849
4858
|
}
|
|
4850
4859
|
}
|
|
4851
|
-
const
|
|
4860
|
+
const withheld = new Set(inputs.withheldBuiltinTools ?? []);
|
|
4861
|
+
const tools = await collectTools(inputs.mcp, withheld, inputs.runEventSink);
|
|
4852
4862
|
for (const memTool of inputs.memoryTools ?? []) {
|
|
4863
|
+
if (withheld.has(memTool.name)) continue;
|
|
4853
4864
|
tools.push({
|
|
4854
4865
|
name: memTool.name,
|
|
4855
4866
|
description: memTool.description,
|
|
@@ -4875,6 +4886,7 @@ async function initLoopContext(inputs) {
|
|
|
4875
4886
|
providerTools = [];
|
|
4876
4887
|
}
|
|
4877
4888
|
for (const providerTool of providerTools) {
|
|
4889
|
+
if (withheld.has(providerTool.name)) continue;
|
|
4878
4890
|
tools.push({
|
|
4879
4891
|
name: providerTool.name,
|
|
4880
4892
|
description: providerTool.description,
|
|
@@ -4950,8 +4962,9 @@ async function safeListTools(client, serverName, sink) {
|
|
|
4950
4962
|
return [];
|
|
4951
4963
|
}
|
|
4952
4964
|
}
|
|
4953
|
-
|
|
4954
|
-
|
|
4965
|
+
function shellToolDescriptor(withheld) {
|
|
4966
|
+
if (withheld.has("shell")) return [];
|
|
4967
|
+
return [
|
|
4955
4968
|
{
|
|
4956
4969
|
name: "shell",
|
|
4957
4970
|
description: "Run a shell command in the workspace and return stdout/stderr.",
|
|
@@ -4963,6 +4976,9 @@ async function collectTools(mcp, sink) {
|
|
|
4963
4976
|
origin: "shell"
|
|
4964
4977
|
}
|
|
4965
4978
|
];
|
|
4979
|
+
}
|
|
4980
|
+
async function collectTools(mcp, withheld, sink) {
|
|
4981
|
+
const tools = shellToolDescriptor(withheld);
|
|
4966
4982
|
for (const [serverName, client] of mcp.entries()) {
|
|
4967
4983
|
const mcpTools = await safeListTools(client, serverName, sink);
|
|
4968
4984
|
for (const tool of mcpTools) {
|
|
@@ -4981,6 +4997,13 @@ async function collectTools(mcp, sink) {
|
|
|
4981
4997
|
function sanitize(name) {
|
|
4982
4998
|
return name.replace(/[^a-zA-Z0-9-]+/g, "_").replace(/^[_-]+|[_-]+$/g, "");
|
|
4983
4999
|
}
|
|
5000
|
+
var KEY_PREFIX = "theokit-";
|
|
5001
|
+
var KEY_HEX_LENGTH = 32;
|
|
5002
|
+
function derivePromptCacheKey(sessionId) {
|
|
5003
|
+
if (sessionId === void 0 || sessionId.trim().length === 0) return void 0;
|
|
5004
|
+
const digest = createHash("sha256").update(sessionId, "utf8").digest("hex");
|
|
5005
|
+
return `${KEY_PREFIX}${digest.slice(0, KEY_HEX_LENGTH)}`;
|
|
5006
|
+
}
|
|
4984
5007
|
|
|
4985
5008
|
// src/internal/tool-dispatch/strip-think.ts
|
|
4986
5009
|
var THINK_PATTERN = /<think>[\s\S]*?<\/think>\s*/g;
|
|
@@ -5052,6 +5075,16 @@ async function streamLlmTurn(inputs, ctx) {
|
|
|
5052
5075
|
// Step-cap force-close: forward the per-run tool gate (`"none"` on a ceiling round forces a
|
|
5053
5076
|
// text close even though tools are advertised). Absent ⇒ provider default (auto).
|
|
5054
5077
|
...inputs.toolChoice !== void 0 ? { toolChoice: inputs.toolChoice } : {},
|
|
5078
|
+
// usetheokit/theokit-sdk#383 — the prompt-cache key, derived HERE and from `inputs.agentId`
|
|
5079
|
+
// because this is the one place that sees the session identity on every round. `agentId` is
|
|
5080
|
+
// the run's session identity (`Agent.getOrCreate(sessionId)`), so the derived key is identical
|
|
5081
|
+
// on round 1 and round 12 of a turn, identical on turn 2 of the same session, and different
|
|
5082
|
+
// for a different session. Deriving it per round from a stable input is what makes it a cache
|
|
5083
|
+
// key; minting one anywhere that runs more than once per session would not be.
|
|
5084
|
+
...(() => {
|
|
5085
|
+
const key = derivePromptCacheKey(inputs.agentId);
|
|
5086
|
+
return key !== void 0 ? { promptCacheKey: key } : {};
|
|
5087
|
+
})(),
|
|
5055
5088
|
messages: ctx.messages,
|
|
5056
5089
|
tools: ctx.tools.map(toLlmTool)
|
|
5057
5090
|
},
|
|
@@ -7022,14 +7055,20 @@ function resolveInheritedCredentials(agentOptions) {
|
|
|
7022
7055
|
...parentSandbox !== void 0 ? { sandbox: parentSandbox } : {}
|
|
7023
7056
|
};
|
|
7024
7057
|
}
|
|
7025
|
-
function
|
|
7058
|
+
function withheldBuiltinsInput(agentOptions) {
|
|
7059
|
+
const withheld = agentOptions.withheldBuiltinTools;
|
|
7060
|
+
if (withheld === void 0 || withheld.length === 0) return {};
|
|
7061
|
+
return { withheldBuiltinTools: withheld };
|
|
7062
|
+
}
|
|
7063
|
+
function buildRunToolCatalogInput(agentOptions, sendOptions, pluginManager, personalityToolWhitelist, agentId, personalityName, subagents, effectiveModel) {
|
|
7064
|
+
const builtins = withheldBuiltinsInput(agentOptions);
|
|
7026
7065
|
const baseTools = sendOptions?.tools ?? agentOptions.tools ?? [];
|
|
7027
7066
|
const agentsForTools = subagents !== void 0 && Object.keys(subagents).length > 0 ? subagents : agentOptions.agents;
|
|
7028
7067
|
const subagentTools = declarativeSubagentTools(agentsForTools, baseTools);
|
|
7029
7068
|
const pluginTools = pluginManager?.aggregated.tools ?? [];
|
|
7030
7069
|
const reasoningTools = reasoningActive(agentOptions.reasoning, effectiveModel) ? [createThinkTool()] : [];
|
|
7031
7070
|
if (baseTools.length === 0 && subagentTools.length === 0 && pluginTools.length === 0 && reasoningTools.length === 0) {
|
|
7032
|
-
return
|
|
7071
|
+
return builtins;
|
|
7033
7072
|
}
|
|
7034
7073
|
const allTools = [...baseTools, ...subagentTools, ...pluginTools, ...reasoningTools];
|
|
7035
7074
|
const merged = allTools.map((tool) => ({
|
|
@@ -7042,8 +7081,8 @@ function buildCustomToolsInput(agentOptions, sendOptions, pluginManager, persona
|
|
|
7042
7081
|
agentId,
|
|
7043
7082
|
personalityName
|
|
7044
7083
|
});
|
|
7045
|
-
if (customTools.length === 0 && personalityToolWhitelist === void 0) return
|
|
7046
|
-
return { customTools };
|
|
7084
|
+
if (customTools.length === 0 && personalityToolWhitelist === void 0) return builtins;
|
|
7085
|
+
return { customTools, ...builtins };
|
|
7047
7086
|
}
|
|
7048
7087
|
|
|
7049
7088
|
// src/internal/local-agent/real-local-run.ts
|
|
@@ -7159,7 +7198,7 @@ function buildLoopInputs(options, runId, userText, userImages) {
|
|
|
7159
7198
|
} : {},
|
|
7160
7199
|
...options.priorMessages !== void 0 ? { priorMessages: options.priorMessages } : {},
|
|
7161
7200
|
...options.memoryTools !== void 0 && options.memoryTools.length > 0 ? { memoryTools: options.memoryTools } : {},
|
|
7162
|
-
...
|
|
7201
|
+
...buildRunToolCatalogInput(
|
|
7163
7202
|
options.agentOptions,
|
|
7164
7203
|
options.sendOptions,
|
|
7165
7204
|
options.pluginManager,
|
|
@@ -9486,7 +9525,7 @@ var LocalAgent = class {
|
|
|
9486
9525
|
}
|
|
9487
9526
|
async send(message, options = {}) {
|
|
9488
9527
|
if (options.tools !== void 0 && options.tools.length > 0) {
|
|
9489
|
-
validateToolCatalog(options.tools);
|
|
9528
|
+
validateToolCatalog(options.tools, this.options.withheldBuiltinTools);
|
|
9490
9529
|
}
|
|
9491
9530
|
const sendSpan = this._telemetry.startSpan(SPAN_NAMES.AGENT_SEND, {
|
|
9492
9531
|
agentId: this.agentId,
|
|
@@ -9544,6 +9583,8 @@ var LocalAgent = class {
|
|
|
9544
9583
|
...options.onRunEvent !== void 0 ? { onRunEvent: options.onRunEvent } : {},
|
|
9545
9584
|
hooksExecutor: this.hooksExecutor,
|
|
9546
9585
|
memoryGlue: this.memoryGlue,
|
|
9586
|
+
// usetheokit/theokit-sdk#382 — the transcript write reads this and nothing else.
|
|
9587
|
+
memory: this.options.memory,
|
|
9547
9588
|
...postRunProvider !== void 0 ? { memoryProvider: postRunProvider } : {}
|
|
9548
9589
|
});
|
|
9549
9590
|
} finally {
|
|
@@ -10315,7 +10356,7 @@ var Agent = class _Agent {
|
|
|
10315
10356
|
`No local agent "${agentId}" registered \u2014 compact targets local sessions.`
|
|
10316
10357
|
);
|
|
10317
10358
|
}
|
|
10318
|
-
const { compactSessionTranscript, buildDefaultSummarizer: buildDefaultSummarizer2 } = await import('./compact-session-
|
|
10359
|
+
const { compactSessionTranscript, buildDefaultSummarizer: buildDefaultSummarizer2 } = await import('./compact-session-FUJDVF7B.js');
|
|
10319
10360
|
const { cwd, model, store } = await openLocalStore(reg);
|
|
10320
10361
|
return enqueueSessionWrite(
|
|
10321
10362
|
cwd,
|
|
@@ -10351,7 +10392,7 @@ var Agent = class _Agent {
|
|
|
10351
10392
|
`No local agent "${agentId}" registered \u2014 injectSessionTurn targets local sessions.`
|
|
10352
10393
|
);
|
|
10353
10394
|
}
|
|
10354
|
-
const { injectSessionTurn } = await import('./inject-session-
|
|
10395
|
+
const { injectSessionTurn } = await import('./inject-session-BJMJH5BX.js');
|
|
10355
10396
|
const { cwd, model, store } = await openLocalStore(reg);
|
|
10356
10397
|
await injectSessionTurn({
|
|
10357
10398
|
store,
|
|
@@ -10426,7 +10467,7 @@ var Agent = class _Agent {
|
|
|
10426
10467
|
//
|
|
10427
10468
|
// Honest limit, stated because the alternative is an implied claim: `tools` is still the
|
|
10428
10469
|
// DECLARED catalog. Plugin tools and the reasoning `think` tool are assembled per run by
|
|
10429
|
-
// `
|
|
10470
|
+
// `buildRunToolCatalogInput`, so they are not knowable from the registry alone. Documented on
|
|
10430
10471
|
// `AgentDescription.tools`.
|
|
10431
10472
|
tools: (agent.options.tools ?? []).map((tool) => ({
|
|
10432
10473
|
name: tool.name,
|
|
@@ -10486,5 +10527,5 @@ async function openLocalStore(reg) {
|
|
|
10486
10527
|
}
|
|
10487
10528
|
|
|
10488
10529
|
export { Agent, AgentBuilder, DEFAULT_AGENTIC_MODEL_ID, MEMORY_EMBEDDING_ADAPTERS, Tool, ToolError, UsageAccumulator, computeCost, generateCronId, getPricingEntry, openRouterMemoryEmbeddingProviderAdapter };
|
|
10489
|
-
//# sourceMappingURL=chunk-
|
|
10490
|
-
//# sourceMappingURL=chunk-
|
|
10530
|
+
//# sourceMappingURL=chunk-KBXWEWKS.js.map
|
|
10531
|
+
//# sourceMappingURL=chunk-KBXWEWKS.js.map
|