@keystrokehq/keystroke 0.1.76 → 0.1.79

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/agent.mjs CHANGED
@@ -1,8 +1,8 @@
1
1
  import { A as stripPromptContext, C as mcpContentBlocksToAiSdkParts, D as parseChatAttachmentServePath, O as prependAgentUserContext, S as mcpContentBlocksFromToolOutput, T as modelSupportsMediaType, _ as defineTool, a as FilePartSchema, k as requiredDisplayTextSchema, r as DEFAULT_CLOUD_PLATFORM_ORIGIN, u as PublicModelsResponseSchema, x as isRedundantMcpJsonText, y as hasAgentTimestampContext } from "./dist-D0P3wUQe.mjs";
2
2
  import { c as getRunSignal, f as isWithinActionExecution, h as resolveActionTool, l as getWorkflowRunHandle, u as isAction } from "./dist-UT46qwZV.mjs";
3
- import { $ as captureConsole, A as appendEvent, B as hasSessionEventAfterSeq, C as tool, F as getAgentByRoute, G as resolveRunSourceFromTraceContext, H as latestSessionEventByTypes, K as selectActiveSkillsBySlugs, O as MESSAGE_EVENT_TYPE, P as failAgentSession, Q as touchSession, W as listSessionEvents, X as setSessionTitle, Y as setSessionStatus, _ as generateId, a as generateText, c as output_exports, d as wrapLanguageModel, et as getTraceContext, i as generateObject, j as createSession, k as addAgentSessionDuration, l as readUIMessageStream, n as convertToModelMessages, nt as withSpan, o as hasToolCall, r as extractJsonMiddleware, s as isFileUIPart, t as ToolLoopAgent, u as toUIMessageStream, y as jsonSchema, z as getSession } from "./dist-C_APGtUJ.mjs";
3
+ import { $ as captureConsole, A as appendEvent, B as hasSessionEventAfterSeq, C as tool, F as getAgentByRoute, G as resolveRunSourceFromTraceContext, H as latestSessionEventByTypes, K as selectActiveSkillsBySlugs, O as MESSAGE_EVENT_TYPE, P as failAgentSession, Q as touchSession, W as listSessionEvents, X as setSessionTitle, Y as setSessionStatus, _ as generateId, a as generateText, c as output_exports, d as wrapLanguageModel, et as getTraceContext, i as generateObject, j as createSession, k as addAgentSessionDuration, l as readUIMessageStream, n as convertToModelMessages, nt as withSpan, o as hasToolCall, r as extractJsonMiddleware, t as ToolLoopAgent, u as toUIMessageStream, y as jsonSchema, z as getSession } from "./dist-C_APGtUJ.mjs";
4
4
  import { A as defineMcp, C as isCredentialError, D as connectMcpDefinition, E as withCredentialAssignments, O as connectMcpServer, S as enrichCredentialError, T as resolveMcpTools, b as captureCredentialToolErrors, d as isWorkflow, h as resolveWorkflowTool, j as isMcp, k as connectMcpStdio, u as isRunTimeoutError, w as resolveActionCredentials, x as createCredentialResolver, y as buildCredentialRunContext } from "./dist-DD3DTmkE.mjs";
5
- import { C as withLlmRunContext, S as splitAgentModelId, _ as currentLlmRunContext, a as llmUsageFromLanguageModelUsage, b as resolveModelCapabilities, c as resolveCompactionModelId, d as AgentCreateInputSchema, f as AgentModelIdSchema, g as attachmentPlaceholderText, h as ThinkingLevelSchema, i as estimateSerializedChars, l as resolveContextBudget, m as DEFAULT_THINKING_LEVEL, n as byokFromResponseHeaders, o as parseContextCompactionCheckpoint, p as DEFAULT_COMPACTION_MODEL_ID, r as compactModelMessages, s as rebuildMessagesFromCheckpoint, t as ContextBudgetTracker, u as summaryToUiMessage, v as parseAgentCreateInput, x as resolveThinkingLevel, y as resolveAgentModel } from "./context-compaction-B2veGznA-Br9-3A43.mjs";
5
+ import { C as resolveModelCapabilities, E as withLlmRunContext, S as resolveAgentModel, T as splitAgentModelId, _ as DEFAULT_THINKING_LEVEL, a as estimateSerializedChars, b as currentLlmRunContext, c as parseContextCompactionCheckpoint, d as resolveCompactionModelId, f as resolveContextBudget, g as DEFAULT_COMPACTION_MODEL_ID, h as AgentModelIdSchema, i as estimateChatAttachmentTokens, l as placeholderChatAttachmentMessages, m as AgentCreateInputSchema, n as byokFromResponseHeaders, o as llmUsageFromLanguageModelUsage, p as summaryToUiMessage, r as compactModelMessages, s as mapMessageFileParts, t as ContextBudgetTracker, u as rebuildMessagesFromCheckpoint, v as ThinkingLevelSchema, w as resolveThinkingLevel, x as parseAgentCreateInput, y as attachmentPlaceholderText } from "./context-compaction-Bxp4WK2B-Ct4RSjlg.mjs";
6
6
  import { $ as getBoundAppRoot, c as createStubInvokeToolBridge, ct as AGENT_MOUNT, et as loadAssetManifest, ft as ensureWorkspaceDir, ht as resolveSessionRoot, i as createInvokeToolBridge, l as defaultWorkspacesRoot, m as materializeSkills, o as createSandbox, ot as resolveSandboxDefinition, pt as resolveAgentRoot, s as createSkillViewTool, t as AGENT_SKILLS_DIR, tt as materializeSandbox, u as defineSkill, v as sandboxSystemPromptInjection } from "./dist-DbUdD0Ue.mjs";
7
7
  import { z } from "zod";
8
8
  import { AsyncLocalStorage } from "node:async_hooks";
@@ -770,17 +770,6 @@ function buildMemoryFromHandle(config, db) {
770
770
  }
771
771
  //#endregion
772
772
  //#region ../agent/dist/index.mjs
773
- /** Map every `FileUIPart` in each message, leaving other parts and non-array messages untouched. */
774
- async function mapMessageFileParts(messages, mapFilePart) {
775
- return Promise.all(messages.map(async (message) => {
776
- if (!Array.isArray(message.parts)) return message;
777
- const parts = await Promise.all(message.parts.map((part) => isFileUIPart(part) ? mapFilePart(part) : part));
778
- return {
779
- ...message,
780
- parts
781
- };
782
- }));
783
- }
784
773
  /** Replace unsupported `FileUIPart`s with text placeholders before model conversion. */
785
774
  function applyCapabilityPlaceholderToMessages(messages, capabilities) {
786
775
  return mapMessageFileParts(messages, (part) => modelSupportsMediaType(capabilities, part.mediaType) ? part : {
@@ -1794,15 +1783,16 @@ async function runAgentPrompt(agent, agentId, input, options = {}) {
1794
1783
  const budget = resolveContextBudget(activeRuntime.runConfig.resolvedModel);
1795
1784
  if (budget && modelMessages.length > 0) {
1796
1785
  const tracker = new ContextBudgetTracker(budget);
1797
- const modelMsgs = await convertToModelMessages(modelMessages);
1786
+ const modelMsgs = await convertToModelMessages(await placeholderChatAttachmentMessages(modelMessages));
1798
1787
  const estimate = tracker.estimate({
1799
1788
  systemPrompt: activeRuntime.runConfig.systemPrompt,
1800
1789
  messages: modelMsgs,
1801
- tools: activeRuntime.tools
1790
+ tools: activeRuntime.tools,
1791
+ extraMessageTokens: estimateChatAttachmentTokens(modelMessages)
1802
1792
  });
1803
1793
  if (estimate?.decision === "compact") try {
1804
1794
  const priorDurable = activeCheckpoint?.durable === true ? activeCheckpoint : null;
1805
- const suffixModel = await convertToModelMessages(priorDurable ? sessionContext.messageEvents.filter((event) => event.seq > priorDurable.compactedThroughSeq).map((event) => event.message) : modelMessages);
1795
+ const suffixModel = await convertToModelMessages(await placeholderChatAttachmentMessages(priorDurable ? sessionContext.messageEvents.filter((event) => event.seq > priorDurable.compactedThroughSeq).map((event) => event.message) : modelMessages));
1806
1796
  const compacted = await withLlmRunContext({
1807
1797
  runId: sessionId,
1808
1798
  runKind: "agent"