fix: always include builtin skills in client_skills

Explicitly pass ALL_SKILL_SOURCES to buildClientSkillsPayload() in
sendMessageStream(), ensuring builtin skills are always included in
client_skills regardless of CLI flags or context state.

Previously, buildClientSkillsPayload() relied on getSkillSources() from
context, which could exclude "bundled" if --no-bundled-skills was passed
or if the context wasn't properly initialized (e.g., in subagent flows).

👾 Generated with [Letta Code](https://letta.com)

Co-Authored-By: Letta Code <noreply@letta.com>
This commit is contained in:
Sarah Wooders
2026-03-20 17:52:22 -07:00
parent 67ca574b9b
commit 8414403ce0

View File

@@ -23,6 +23,7 @@ import {
} from "./approval-result-normalization"; } from "./approval-result-normalization";
import { getClient } from "./client"; import { getClient } from "./client";
import { buildClientSkillsPayload } from "./clientSkills"; import { buildClientSkillsPayload } from "./clientSkills";
import { ALL_SKILL_SOURCES } from "./skillSources";
const streamRequestStartTimes = new WeakMap<object, number>(); const streamRequestStartTimes = new WeakMap<object, number>();
const streamToolContextIds = new WeakMap<object, string>(); const streamToolContextIds = new WeakMap<object, string>();
@@ -132,6 +133,7 @@ export async function sendMessageStream(
const { clientSkills, errors: clientSkillDiscoveryErrors } = const { clientSkills, errors: clientSkillDiscoveryErrors } =
await buildClientSkillsPayload({ await buildClientSkillsPayload({
agentId: opts.agentId, agentId: opts.agentId,
skillSources: ALL_SKILL_SOURCES,
}); });
const resolvedConversationId = conversationId; const resolvedConversationId = conversationId;