@truefoundry/trueforge-core 0.0.0 → 0.1.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/LICENSE +21 -0
- package/dist/agent-session/ITurnResourceResolver.d.ts +69 -0
- package/dist/agent-session/ITurnResourceResolver.d.ts.map +1 -0
- package/dist/agent-session/ITurnResourceResolver.js +19 -0
- package/dist/agent-session/ITurnResourceResolver.js.map +1 -0
- package/dist/agent-session/ITurnResourceResolver.mjs +1 -0
- package/dist/agent-session/ITurnResourceResolver.mjs.map +1 -0
- package/dist/agent-session/SessionHandle.d.ts +81 -0
- package/dist/agent-session/SessionHandle.d.ts.map +1 -0
- package/dist/agent-session/SessionHandle.js +392 -0
- package/dist/agent-session/SessionHandle.js.map +1 -0
- package/dist/agent-session/SessionHandle.mjs +371 -0
- package/dist/agent-session/SessionHandle.mjs.map +1 -0
- package/dist/agent-session/Sessions.d.ts +25 -0
- package/dist/agent-session/Sessions.d.ts.map +1 -0
- package/dist/agent-session/Sessions.js +71 -0
- package/dist/agent-session/Sessions.js.map +1 -0
- package/dist/agent-session/Sessions.mjs +46 -0
- package/dist/agent-session/Sessions.mjs.map +1 -0
- package/dist/agent-session/TurnHandle.d.ts +88 -0
- package/dist/agent-session/TurnHandle.d.ts.map +1 -0
- package/dist/agent-session/TurnHandle.js +490 -0
- package/dist/agent-session/TurnHandle.js.map +1 -0
- package/dist/agent-session/TurnHandle.mjs +469 -0
- package/dist/agent-session/TurnHandle.mjs.map +1 -0
- package/dist/agent-session/TurnResourceResolver.d.ts +154 -0
- package/dist/agent-session/TurnResourceResolver.d.ts.map +1 -0
- package/dist/agent-session/TurnResourceResolver.js +178 -0
- package/dist/agent-session/TurnResourceResolver.js.map +1 -0
- package/dist/agent-session/TurnResourceResolver.mjs +153 -0
- package/dist/agent-session/TurnResourceResolver.mjs.map +1 -0
- package/dist/agent-session/builtinsFromSpec.d.ts +19 -0
- package/dist/agent-session/builtinsFromSpec.d.ts.map +1 -0
- package/dist/agent-session/builtinsFromSpec.js +73 -0
- package/dist/agent-session/builtinsFromSpec.js.map +1 -0
- package/dist/agent-session/builtinsFromSpec.mjs +48 -0
- package/dist/agent-session/builtinsFromSpec.mjs.map +1 -0
- package/dist/agent-session/index.d.ts +29 -0
- package/dist/agent-session/index.d.ts.map +1 -0
- package/dist/agent-session/index.js +117 -0
- package/dist/agent-session/index.js.map +1 -0
- package/dist/agent-session/index.mjs +84 -0
- package/dist/agent-session/index.mjs.map +1 -0
- package/dist/agent-session/models/SessionRecord.d.ts +34 -0
- package/dist/agent-session/models/SessionRecord.d.ts.map +1 -0
- package/dist/agent-session/models/SessionRecord.js +19 -0
- package/dist/agent-session/models/SessionRecord.js.map +1 -0
- package/dist/agent-session/models/SessionRecord.mjs +1 -0
- package/dist/agent-session/models/SessionRecord.mjs.map +1 -0
- package/dist/agent-session/models/TurnRecord.d.ts +37 -0
- package/dist/agent-session/models/TurnRecord.d.ts.map +1 -0
- package/dist/agent-session/models/TurnRecord.js +31 -0
- package/dist/agent-session/models/TurnRecord.js.map +1 -0
- package/dist/agent-session/models/TurnRecord.mjs +6 -0
- package/dist/agent-session/models/TurnRecord.mjs.map +1 -0
- package/dist/agent-session/schemas/agentSpec.d.ts +142 -0
- package/dist/agent-session/schemas/agentSpec.d.ts.map +1 -0
- package/dist/agent-session/schemas/agentSpec.js +170 -0
- package/dist/agent-session/schemas/agentSpec.js.map +1 -0
- package/dist/agent-session/schemas/agentSpec.mjs +154 -0
- package/dist/agent-session/schemas/agentSpec.mjs.map +1 -0
- package/dist/agent-session/schemas/events.d.ts +1037 -0
- package/dist/agent-session/schemas/events.d.ts.map +1 -0
- package/dist/agent-session/schemas/events.js +80 -0
- package/dist/agent-session/schemas/events.js.map +1 -0
- package/dist/agent-session/schemas/events.mjs +69 -0
- package/dist/agent-session/schemas/events.mjs.map +1 -0
- package/dist/agent-session/schemas/pagination.d.ts +9 -0
- package/dist/agent-session/schemas/pagination.d.ts.map +1 -0
- package/dist/agent-session/schemas/pagination.js +36 -0
- package/dist/agent-session/schemas/pagination.js.map +1 -0
- package/dist/agent-session/schemas/pagination.mjs +11 -0
- package/dist/agent-session/schemas/pagination.mjs.map +1 -0
- package/dist/agent-session/schemas/session.d.ts +319 -0
- package/dist/agent-session/schemas/session.d.ts.map +1 -0
- package/dist/agent-session/schemas/session.js +58 -0
- package/dist/agent-session/schemas/session.js.map +1 -0
- package/dist/agent-session/schemas/session.mjs +30 -0
- package/dist/agent-session/schemas/session.mjs.map +1 -0
- package/dist/agent-session/schemas/turn.d.ts +494 -0
- package/dist/agent-session/schemas/turn.d.ts.map +1 -0
- package/dist/agent-session/schemas/turn.js +131 -0
- package/dist/agent-session/schemas/turn.js.map +1 -0
- package/dist/agent-session/schemas/turn.mjs +102 -0
- package/dist/agent-session/schemas/turn.mjs.map +1 -0
- package/dist/agent-session/store/ISessionStore.d.ts +310 -0
- package/dist/agent-session/store/ISessionStore.d.ts.map +1 -0
- package/dist/agent-session/store/ISessionStore.js +19 -0
- package/dist/agent-session/store/ISessionStore.js.map +1 -0
- package/dist/agent-session/store/ISessionStore.mjs +1 -0
- package/dist/agent-session/store/ISessionStore.mjs.map +1 -0
- package/dist/agent-session/store/InMemorySessionStore.d.ts +55 -0
- package/dist/agent-session/store/InMemorySessionStore.d.ts.map +1 -0
- package/dist/agent-session/store/InMemorySessionStore.js +475 -0
- package/dist/agent-session/store/InMemorySessionStore.js.map +1 -0
- package/dist/agent-session/store/InMemorySessionStore.mjs +461 -0
- package/dist/agent-session/store/InMemorySessionStore.mjs.map +1 -0
- package/dist/agent-session/store/OffsetPageToken.d.ts +13 -0
- package/dist/agent-session/store/OffsetPageToken.d.ts.map +1 -0
- package/dist/agent-session/store/OffsetPageToken.js +60 -0
- package/dist/agent-session/store/OffsetPageToken.js.map +1 -0
- package/dist/agent-session/store/OffsetPageToken.mjs +32 -0
- package/dist/agent-session/store/OffsetPageToken.mjs.map +1 -0
- package/dist/agent-session/store/PageToken.d.ts +4 -0
- package/dist/agent-session/store/PageToken.d.ts.map +1 -0
- package/dist/agent-session/store/PageToken.js +45 -0
- package/dist/agent-session/store/PageToken.js.map +1 -0
- package/dist/agent-session/store/PageToken.mjs +19 -0
- package/dist/agent-session/store/PageToken.mjs.map +1 -0
- package/dist/agent-session/store/SessionEventPageToken.d.ts +14 -0
- package/dist/agent-session/store/SessionEventPageToken.d.ts.map +1 -0
- package/dist/agent-session/store/SessionEventPageToken.js +70 -0
- package/dist/agent-session/store/SessionEventPageToken.js.map +1 -0
- package/dist/agent-session/store/SessionEventPageToken.mjs +42 -0
- package/dist/agent-session/store/SessionEventPageToken.mjs.map +1 -0
- package/dist/agent-session/store/SessionListPageToken.d.ts +24 -0
- package/dist/agent-session/store/SessionListPageToken.d.ts.map +1 -0
- package/dist/agent-session/store/SessionListPageToken.js +66 -0
- package/dist/agent-session/store/SessionListPageToken.js.map +1 -0
- package/dist/agent-session/store/SessionListPageToken.mjs +38 -0
- package/dist/agent-session/store/SessionListPageToken.mjs.map +1 -0
- package/dist/agent-session/store/SessionStoreErrors.d.ts +43 -0
- package/dist/agent-session/store/SessionStoreErrors.d.ts.map +1 -0
- package/dist/agent-session/store/SessionStoreErrors.js +126 -0
- package/dist/agent-session/store/SessionStoreErrors.js.map +1 -0
- package/dist/agent-session/store/SessionStoreErrors.mjs +92 -0
- package/dist/agent-session/store/SessionStoreErrors.mjs.map +1 -0
- package/dist/agent-session/store/assertCreateTurnThreadDelta.d.ts +18 -0
- package/dist/agent-session/store/assertCreateTurnThreadDelta.d.ts.map +1 -0
- package/dist/agent-session/store/assertCreateTurnThreadDelta.js +67 -0
- package/dist/agent-session/store/assertCreateTurnThreadDelta.js.map +1 -0
- package/dist/agent-session/store/assertCreateTurnThreadDelta.mjs +42 -0
- package/dist/agent-session/store/assertCreateTurnThreadDelta.mjs.map +1 -0
- package/dist/core/InstructionBuilder.d.ts +71 -0
- package/dist/core/InstructionBuilder.d.ts.map +1 -0
- package/dist/core/InstructionBuilder.js +95 -0
- package/dist/core/InstructionBuilder.js.map +1 -0
- package/dist/core/InstructionBuilder.mjs +69 -0
- package/dist/core/InstructionBuilder.mjs.map +1 -0
- package/dist/core/capabilities/AgentCapability.d.ts +32 -0
- package/dist/core/capabilities/AgentCapability.d.ts.map +1 -0
- package/dist/core/capabilities/AgentCapability.js +19 -0
- package/dist/core/capabilities/AgentCapability.js.map +1 -0
- package/dist/core/capabilities/AgentCapability.mjs +1 -0
- package/dist/core/capabilities/AgentCapability.mjs.map +1 -0
- package/dist/core/capabilities/AgentContextProcessor.d.ts +30 -0
- package/dist/core/capabilities/AgentContextProcessor.d.ts.map +1 -0
- package/dist/core/capabilities/AgentContextProcessor.js +19 -0
- package/dist/core/capabilities/AgentContextProcessor.js.map +1 -0
- package/dist/core/capabilities/AgentContextProcessor.mjs +1 -0
- package/dist/core/capabilities/AgentContextProcessor.mjs.map +1 -0
- package/dist/core/capabilities/ToolResponseProcessor.d.ts +12 -0
- package/dist/core/capabilities/ToolResponseProcessor.d.ts.map +1 -0
- package/dist/core/capabilities/ToolResponseProcessor.js +19 -0
- package/dist/core/capabilities/ToolResponseProcessor.js.map +1 -0
- package/dist/core/capabilities/ToolResponseProcessor.mjs +1 -0
- package/dist/core/capabilities/ToolResponseProcessor.mjs.map +1 -0
- package/dist/core/capabilities/builtins/AskUserQuestion.d.ts +11 -0
- package/dist/core/capabilities/builtins/AskUserQuestion.d.ts.map +1 -0
- package/dist/core/capabilities/builtins/AskUserQuestion.js +90 -0
- package/dist/core/capabilities/builtins/AskUserQuestion.js.map +1 -0
- package/dist/core/capabilities/builtins/AskUserQuestion.mjs +64 -0
- package/dist/core/capabilities/builtins/AskUserQuestion.mjs.map +1 -0
- package/dist/core/capabilities/builtins/ContextCompaction.d.ts +23 -0
- package/dist/core/capabilities/builtins/ContextCompaction.d.ts.map +1 -0
- package/dist/core/capabilities/builtins/ContextCompaction.js +235 -0
- package/dist/core/capabilities/builtins/ContextCompaction.js.map +1 -0
- package/dist/core/capabilities/builtins/ContextCompaction.mjs +208 -0
- package/dist/core/capabilities/builtins/ContextCompaction.mjs.map +1 -0
- package/dist/core/capabilities/builtins/CurrentDateTime.d.ts +17 -0
- package/dist/core/capabilities/builtins/CurrentDateTime.d.ts.map +1 -0
- package/dist/core/capabilities/builtins/CurrentDateTime.js +75 -0
- package/dist/core/capabilities/builtins/CurrentDateTime.js.map +1 -0
- package/dist/core/capabilities/builtins/CurrentDateTime.mjs +47 -0
- package/dist/core/capabilities/builtins/CurrentDateTime.mjs.map +1 -0
- package/dist/core/capabilities/builtins/DynamicSubAgents.d.ts +39 -0
- package/dist/core/capabilities/builtins/DynamicSubAgents.d.ts.map +1 -0
- package/dist/core/capabilities/builtins/DynamicSubAgents.js +176 -0
- package/dist/core/capabilities/builtins/DynamicSubAgents.js.map +1 -0
- package/dist/core/capabilities/builtins/DynamicSubAgents.mjs +134 -0
- package/dist/core/capabilities/builtins/DynamicSubAgents.mjs.map +1 -0
- package/dist/core/capabilities/builtins/LargeToolResponse.d.ts +40 -0
- package/dist/core/capabilities/builtins/LargeToolResponse.d.ts.map +1 -0
- package/dist/core/capabilities/builtins/LargeToolResponse.js +225 -0
- package/dist/core/capabilities/builtins/LargeToolResponse.js.map +1 -0
- package/dist/core/capabilities/builtins/LargeToolResponse.mjs +186 -0
- package/dist/core/capabilities/builtins/LargeToolResponse.mjs.map +1 -0
- package/dist/core/capabilities/builtins/OpenUI.d.ts +31 -0
- package/dist/core/capabilities/builtins/OpenUI.d.ts.map +1 -0
- package/dist/core/capabilities/builtins/OpenUI.js +376 -0
- package/dist/core/capabilities/builtins/OpenUI.js.map +1 -0
- package/dist/core/capabilities/builtins/OpenUI.mjs +326 -0
- package/dist/core/capabilities/builtins/OpenUI.mjs.map +1 -0
- package/dist/core/errors.d.ts +33 -0
- package/dist/core/errors.d.ts.map +1 -0
- package/dist/core/errors.js +88 -0
- package/dist/core/errors.js.map +1 -0
- package/dist/core/errors.mjs +57 -0
- package/dist/core/errors.mjs.map +1 -0
- package/dist/core/events/PassthroughEvents.d.ts +30 -0
- package/dist/core/events/PassthroughEvents.d.ts.map +1 -0
- package/dist/core/events/PassthroughEvents.js +19 -0
- package/dist/core/events/PassthroughEvents.js.map +1 -0
- package/dist/core/events/PassthroughEvents.mjs +1 -0
- package/dist/core/events/PassthroughEvents.mjs.map +1 -0
- package/dist/core/events/schema.d.ts +1103 -0
- package/dist/core/events/schema.d.ts.map +1 -0
- package/dist/core/events/schema.js +337 -0
- package/dist/core/events/schema.js.map +1 -0
- package/dist/core/events/schema.mjs +283 -0
- package/dist/core/events/schema.mjs.map +1 -0
- package/dist/core/index.d.ts +66 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/index.js +234 -0
- package/dist/core/index.js.map +1 -0
- package/dist/core/index.mjs +166 -0
- package/dist/core/index.mjs.map +1 -0
- package/dist/core/llm/ILLM.d.ts +15 -0
- package/dist/core/llm/ILLM.d.ts.map +1 -0
- package/dist/core/llm/ILLM.js +19 -0
- package/dist/core/llm/ILLM.js.map +1 -0
- package/dist/core/llm/ILLM.mjs +1 -0
- package/dist/core/llm/ILLM.mjs.map +1 -0
- package/dist/core/llm/LLMTypes.d.ts +369 -0
- package/dist/core/llm/LLMTypes.d.ts.map +1 -0
- package/dist/core/llm/LLMTypes.js +170 -0
- package/dist/core/llm/LLMTypes.js.map +1 -0
- package/dist/core/llm/LLMTypes.mjs +133 -0
- package/dist/core/llm/LLMTypes.mjs.map +1 -0
- package/dist/core/llm/VercelAILLM.d.ts +229 -0
- package/dist/core/llm/VercelAILLM.d.ts.map +1 -0
- package/dist/core/llm/VercelAILLM.js +1037 -0
- package/dist/core/llm/VercelAILLM.js.map +1 -0
- package/dist/core/llm/VercelAILLM.mjs +993 -0
- package/dist/core/llm/VercelAILLM.mjs.map +1 -0
- package/dist/core/llm/openaiSchemas.d.ts +190 -0
- package/dist/core/llm/openaiSchemas.d.ts.map +1 -0
- package/dist/core/llm/openaiSchemas.js +144 -0
- package/dist/core/llm/openaiSchemas.js.map +1 -0
- package/dist/core/llm/openaiSchemas.mjs +107 -0
- package/dist/core/llm/openaiSchemas.mjs.map +1 -0
- package/dist/core/llm/responseFormat.d.ts +25 -0
- package/dist/core/llm/responseFormat.d.ts.map +1 -0
- package/dist/core/llm/responseFormat.js +58 -0
- package/dist/core/llm/responseFormat.js.map +1 -0
- package/dist/core/llm/responseFormat.mjs +32 -0
- package/dist/core/llm/responseFormat.mjs.map +1 -0
- package/dist/core/llm/toOpenAIChatMessage.d.ts +11 -0
- package/dist/core/llm/toOpenAIChatMessage.d.ts.map +1 -0
- package/dist/core/llm/toOpenAIChatMessage.js +95 -0
- package/dist/core/llm/toOpenAIChatMessage.js.map +1 -0
- package/dist/core/llm/toOpenAIChatMessage.mjs +70 -0
- package/dist/core/llm/toOpenAIChatMessage.mjs.map +1 -0
- package/dist/core/llm/usage.d.ts +4 -0
- package/dist/core/llm/usage.d.ts.map +1 -0
- package/dist/core/llm/usage.js +52 -0
- package/dist/core/llm/usage.js.map +1 -0
- package/dist/core/llm/usage.mjs +26 -0
- package/dist/core/llm/usage.mjs.map +1 -0
- package/dist/core/mcp/ClientSideTool.d.ts +10 -0
- package/dist/core/mcp/ClientSideTool.d.ts.map +1 -0
- package/dist/core/mcp/ClientSideTool.js +56 -0
- package/dist/core/mcp/ClientSideTool.js.map +1 -0
- package/dist/core/mcp/ClientSideTool.mjs +31 -0
- package/dist/core/mcp/ClientSideTool.mjs.map +1 -0
- package/dist/core/mcp/IMCPServer.d.ts +78 -0
- package/dist/core/mcp/IMCPServer.d.ts.map +1 -0
- package/dist/core/mcp/IMCPServer.js +63 -0
- package/dist/core/mcp/IMCPServer.js.map +1 -0
- package/dist/core/mcp/IMCPServer.mjs +33 -0
- package/dist/core/mcp/IMCPServer.mjs.map +1 -0
- package/dist/core/mcp/LocalToolMCP.d.ts +39 -0
- package/dist/core/mcp/LocalToolMCP.d.ts.map +1 -0
- package/dist/core/mcp/LocalToolMCP.js +121 -0
- package/dist/core/mcp/LocalToolMCP.js.map +1 -0
- package/dist/core/mcp/LocalToolMCP.mjs +98 -0
- package/dist/core/mcp/LocalToolMCP.mjs.map +1 -0
- package/dist/core/mcp/RemoteMCP.d.ts +67 -0
- package/dist/core/mcp/RemoteMCP.d.ts.map +1 -0
- package/dist/core/mcp/RemoteMCP.js +244 -0
- package/dist/core/mcp/RemoteMCP.js.map +1 -0
- package/dist/core/mcp/RemoteMCP.mjs +222 -0
- package/dist/core/mcp/RemoteMCP.mjs.map +1 -0
- package/dist/core/mcp/ToolSelectorPolicy.d.ts +52 -0
- package/dist/core/mcp/ToolSelectorPolicy.d.ts.map +1 -0
- package/dist/core/mcp/ToolSelectorPolicy.js +108 -0
- package/dist/core/mcp/ToolSelectorPolicy.js.map +1 -0
- package/dist/core/mcp/ToolSelectorPolicy.mjs +90 -0
- package/dist/core/mcp/ToolSelectorPolicy.mjs.map +1 -0
- package/dist/core/mcp/ToolSet.d.ts +31 -0
- package/dist/core/mcp/ToolSet.d.ts.map +1 -0
- package/dist/core/mcp/ToolSet.js +119 -0
- package/dist/core/mcp/ToolSet.js.map +1 -0
- package/dist/core/mcp/ToolSet.mjs +98 -0
- package/dist/core/mcp/ToolSet.mjs.map +1 -0
- package/dist/core/mcp/convertMCPServers.d.ts +22 -0
- package/dist/core/mcp/convertMCPServers.d.ts.map +1 -0
- package/dist/core/mcp/convertMCPServers.js +89 -0
- package/dist/core/mcp/convertMCPServers.js.map +1 -0
- package/dist/core/mcp/convertMCPServers.mjs +64 -0
- package/dist/core/mcp/convertMCPServers.mjs.map +1 -0
- package/dist/core/mcp/executeToolCalls.d.ts +31 -0
- package/dist/core/mcp/executeToolCalls.d.ts.map +1 -0
- package/dist/core/mcp/executeToolCalls.js +168 -0
- package/dist/core/mcp/executeToolCalls.js.map +1 -0
- package/dist/core/mcp/executeToolCalls.mjs +149 -0
- package/dist/core/mcp/executeToolCalls.mjs.map +1 -0
- package/dist/core/mcp/pagination.d.ts +11 -0
- package/dist/core/mcp/pagination.d.ts.map +1 -0
- package/dist/core/mcp/pagination.js +49 -0
- package/dist/core/mcp/pagination.js.map +1 -0
- package/dist/core/mcp/pagination.mjs +24 -0
- package/dist/core/mcp/pagination.mjs.map +1 -0
- package/dist/core/mcp/remoteMcpClient.d.ts +36 -0
- package/dist/core/mcp/remoteMcpClient.d.ts.map +1 -0
- package/dist/core/mcp/remoteMcpClient.js +138 -0
- package/dist/core/mcp/remoteMcpClient.js.map +1 -0
- package/dist/core/mcp/remoteMcpClient.mjs +112 -0
- package/dist/core/mcp/remoteMcpClient.mjs.map +1 -0
- package/dist/core/mcp/toolNames.d.ts +6 -0
- package/dist/core/mcp/toolNames.d.ts.map +1 -0
- package/dist/core/mcp/toolNames.js +59 -0
- package/dist/core/mcp/toolNames.js.map +1 -0
- package/dist/core/mcp/toolNames.mjs +33 -0
- package/dist/core/mcp/toolNames.mjs.map +1 -0
- package/dist/core/mcp/toolSelectors.d.ts +28 -0
- package/dist/core/mcp/toolSelectors.d.ts.map +1 -0
- package/dist/core/mcp/toolSelectors.js +113 -0
- package/dist/core/mcp/toolSelectors.js.map +1 -0
- package/dist/core/mcp/toolSelectors.mjs +78 -0
- package/dist/core/mcp/toolSelectors.mjs.map +1 -0
- package/dist/core/runtime/AgentDefinition.d.ts +23 -0
- package/dist/core/runtime/AgentDefinition.d.ts.map +1 -0
- package/dist/core/runtime/AgentDefinition.js +19 -0
- package/dist/core/runtime/AgentDefinition.js.map +1 -0
- package/dist/core/runtime/AgentDefinition.mjs +1 -0
- package/dist/core/runtime/AgentDefinition.mjs.map +1 -0
- package/dist/core/runtime/AgentThread.d.ts +64 -0
- package/dist/core/runtime/AgentThread.d.ts.map +1 -0
- package/dist/core/runtime/AgentThread.js +1067 -0
- package/dist/core/runtime/AgentThread.js.map +1 -0
- package/dist/core/runtime/AgentThread.mjs +1064 -0
- package/dist/core/runtime/AgentThread.mjs.map +1 -0
- package/dist/core/runtime/AgentThread.types.d.ts +123 -0
- package/dist/core/runtime/AgentThread.types.d.ts.map +1 -0
- package/dist/core/runtime/AgentThread.types.js +46 -0
- package/dist/core/runtime/AgentThread.types.js.map +1 -0
- package/dist/core/runtime/AgentThread.types.mjs +20 -0
- package/dist/core/runtime/AgentThread.types.mjs.map +1 -0
- package/dist/core/runtime/AgentThreadOrchestrator.d.ts +35 -0
- package/dist/core/runtime/AgentThreadOrchestrator.d.ts.map +1 -0
- package/dist/core/runtime/AgentThreadOrchestrator.js +433 -0
- package/dist/core/runtime/AgentThreadOrchestrator.js.map +1 -0
- package/dist/core/runtime/AgentThreadOrchestrator.mjs +418 -0
- package/dist/core/runtime/AgentThreadOrchestrator.mjs.map +1 -0
- package/dist/core/runtime/CreateDynamicSubAgentThread.d.ts +11 -0
- package/dist/core/runtime/CreateDynamicSubAgentThread.d.ts.map +1 -0
- package/dist/core/runtime/CreateDynamicSubAgentThread.js +19 -0
- package/dist/core/runtime/CreateDynamicSubAgentThread.js.map +1 -0
- package/dist/core/runtime/CreateDynamicSubAgentThread.mjs +1 -0
- package/dist/core/runtime/CreateDynamicSubAgentThread.mjs.map +1 -0
- package/dist/core/runtime/DeferredTool.d.ts +34 -0
- package/dist/core/runtime/DeferredTool.d.ts.map +1 -0
- package/dist/core/runtime/DeferredTool.js +321 -0
- package/dist/core/runtime/DeferredTool.js.map +1 -0
- package/dist/core/runtime/DeferredTool.mjs +287 -0
- package/dist/core/runtime/DeferredTool.mjs.map +1 -0
- package/dist/core/runtime/OpenToolCallCloser.d.ts +21 -0
- package/dist/core/runtime/OpenToolCallCloser.d.ts.map +1 -0
- package/dist/core/runtime/OpenToolCallCloser.js +92 -0
- package/dist/core/runtime/OpenToolCallCloser.js.map +1 -0
- package/dist/core/runtime/OpenToolCallCloser.mjs +66 -0
- package/dist/core/runtime/OpenToolCallCloser.mjs.map +1 -0
- package/dist/core/runtime/UserInputMessage.d.ts +16 -0
- package/dist/core/runtime/UserInputMessage.d.ts.map +1 -0
- package/dist/core/runtime/UserInputMessage.js +183 -0
- package/dist/core/runtime/UserInputMessage.js.map +1 -0
- package/dist/core/runtime/UserInputMessage.mjs +157 -0
- package/dist/core/runtime/UserInputMessage.mjs.map +1 -0
- package/dist/core/runtime/contextUsage.d.ts +17 -0
- package/dist/core/runtime/contextUsage.d.ts.map +1 -0
- package/dist/core/runtime/contextUsage.js +56 -0
- package/dist/core/runtime/contextUsage.js.map +1 -0
- package/dist/core/runtime/contextUsage.mjs +28 -0
- package/dist/core/runtime/contextUsage.mjs.map +1 -0
- package/dist/core/runtime/contextUtils.d.ts +30 -0
- package/dist/core/runtime/contextUtils.d.ts.map +1 -0
- package/dist/core/runtime/contextUtils.js +198 -0
- package/dist/core/runtime/contextUtils.js.map +1 -0
- package/dist/core/runtime/contextUtils.mjs +148 -0
- package/dist/core/runtime/contextUtils.mjs.map +1 -0
- package/dist/core/runtime/metrics.d.ts +22 -0
- package/dist/core/runtime/metrics.d.ts.map +1 -0
- package/dist/core/runtime/metrics.js +89 -0
- package/dist/core/runtime/metrics.js.map +1 -0
- package/dist/core/runtime/metrics.mjs +61 -0
- package/dist/core/runtime/metrics.mjs.map +1 -0
- package/dist/core/sandbox/Sandbox.d.ts +119 -0
- package/dist/core/sandbox/Sandbox.d.ts.map +1 -0
- package/dist/core/sandbox/Sandbox.js +556 -0
- package/dist/core/sandbox/Sandbox.js.map +1 -0
- package/dist/core/sandbox/Sandbox.mjs +520 -0
- package/dist/core/sandbox/Sandbox.mjs.map +1 -0
- package/dist/core/sandbox/SandboxErrors.d.ts +30 -0
- package/dist/core/sandbox/SandboxErrors.d.ts.map +1 -0
- package/dist/core/sandbox/SandboxErrors.js +102 -0
- package/dist/core/sandbox/SandboxErrors.js.map +1 -0
- package/dist/core/sandbox/SandboxErrors.mjs +71 -0
- package/dist/core/sandbox/SandboxErrors.mjs.map +1 -0
- package/dist/core/sandbox/codeMode/CodeModeDispatcher.d.ts +29 -0
- package/dist/core/sandbox/codeMode/CodeModeDispatcher.d.ts.map +1 -0
- package/dist/core/sandbox/codeMode/CodeModeDispatcher.js +128 -0
- package/dist/core/sandbox/codeMode/CodeModeDispatcher.js.map +1 -0
- package/dist/core/sandbox/codeMode/CodeModeDispatcher.mjs +107 -0
- package/dist/core/sandbox/codeMode/CodeModeDispatcher.mjs.map +1 -0
- package/dist/core/sandbox/codeMode/CodeModeTransport.d.ts +21 -0
- package/dist/core/sandbox/codeMode/CodeModeTransport.d.ts.map +1 -0
- package/dist/core/sandbox/codeMode/CodeModeTransport.js +19 -0
- package/dist/core/sandbox/codeMode/CodeModeTransport.js.map +1 -0
- package/dist/core/sandbox/codeMode/CodeModeTransport.mjs +1 -0
- package/dist/core/sandbox/codeMode/CodeModeTransport.mjs.map +1 -0
- package/dist/core/sandbox/codeMode/nats/CodeModeNatsTransport.d.ts +34 -0
- package/dist/core/sandbox/codeMode/nats/CodeModeNatsTransport.d.ts.map +1 -0
- package/dist/core/sandbox/codeMode/nats/CodeModeNatsTransport.js +187 -0
- package/dist/core/sandbox/codeMode/nats/CodeModeNatsTransport.js.map +1 -0
- package/dist/core/sandbox/codeMode/nats/CodeModeNatsTransport.mjs +162 -0
- package/dist/core/sandbox/codeMode/nats/CodeModeNatsTransport.mjs.map +1 -0
- package/dist/core/sandbox/codeMode/types.d.ts +34 -0
- package/dist/core/sandbox/codeMode/types.d.ts.map +1 -0
- package/dist/core/sandbox/codeMode/types.js +59 -0
- package/dist/core/sandbox/codeMode/types.js.map +1 -0
- package/dist/core/sandbox/codeMode/types.mjs +32 -0
- package/dist/core/sandbox/codeMode/types.mjs.map +1 -0
- package/dist/core/sandbox/constants.d.ts +10 -0
- package/dist/core/sandbox/constants.d.ts.map +1 -0
- package/dist/core/sandbox/constants.js +37 -0
- package/dist/core/sandbox/constants.js.map +1 -0
- package/dist/core/sandbox/constants.mjs +10 -0
- package/dist/core/sandbox/constants.mjs.map +1 -0
- package/dist/core/sandbox/provider/DaytonaProvider.d.ts +81 -0
- package/dist/core/sandbox/provider/DaytonaProvider.d.ts.map +1 -0
- package/dist/core/sandbox/provider/DaytonaProvider.js +353 -0
- package/dist/core/sandbox/provider/DaytonaProvider.js.map +1 -0
- package/dist/core/sandbox/provider/DaytonaProvider.mjs +333 -0
- package/dist/core/sandbox/provider/DaytonaProvider.mjs.map +1 -0
- package/dist/core/sandbox/provider/Provider.d.ts +84 -0
- package/dist/core/sandbox/provider/Provider.d.ts.map +1 -0
- package/dist/core/sandbox/provider/Provider.js +43 -0
- package/dist/core/sandbox/provider/Provider.js.map +1 -0
- package/dist/core/sandbox/provider/Provider.mjs +17 -0
- package/dist/core/sandbox/provider/Provider.mjs.map +1 -0
- package/dist/core/sandbox/provider/TFYSandboxProvider.d.ts +42 -0
- package/dist/core/sandbox/provider/TFYSandboxProvider.d.ts.map +1 -0
- package/dist/core/sandbox/provider/TFYSandboxProvider.js +186 -0
- package/dist/core/sandbox/provider/TFYSandboxProvider.js.map +1 -0
- package/dist/core/sandbox/provider/TFYSandboxProvider.mjs +153 -0
- package/dist/core/sandbox/provider/TFYSandboxProvider.mjs.map +1 -0
- package/dist/core/sandbox/sandboxImage.d.ts +6 -0
- package/dist/core/sandbox/sandboxImage.d.ts.map +1 -0
- package/dist/core/sandbox/sandboxImage.js +31 -0
- package/dist/core/sandbox/sandboxImage.js.map +1 -0
- package/dist/core/sandbox/sandboxImage.mjs +6 -0
- package/dist/core/sandbox/sandboxImage.mjs.map +1 -0
- package/dist/core/sandbox/sandboxScripts.gen.d.ts +5 -0
- package/dist/core/sandbox/sandboxScripts.gen.d.ts.map +1 -0
- package/dist/core/sandbox/sandboxScripts.gen.js +343 -0
- package/dist/core/sandbox/sandboxScripts.gen.js.map +1 -0
- package/dist/core/sandbox/sandboxScripts.gen.mjs +318 -0
- package/dist/core/sandbox/sandboxScripts.gen.mjs.map +1 -0
- package/dist/core/sandbox/skills/ISkillMounter.d.ts +7 -0
- package/dist/core/sandbox/skills/ISkillMounter.d.ts.map +1 -0
- package/dist/core/sandbox/skills/ISkillMounter.js +19 -0
- package/dist/core/sandbox/skills/ISkillMounter.js.map +1 -0
- package/dist/core/sandbox/skills/ISkillMounter.mjs +1 -0
- package/dist/core/sandbox/skills/ISkillMounter.mjs.map +1 -0
- package/dist/core/sandbox/skills/SkillMounter.d.ts +17 -0
- package/dist/core/sandbox/skills/SkillMounter.d.ts.map +1 -0
- package/dist/core/sandbox/skills/SkillMounter.js +73 -0
- package/dist/core/sandbox/skills/SkillMounter.js.map +1 -0
- package/dist/core/sandbox/skills/SkillMounter.mjs +48 -0
- package/dist/core/sandbox/skills/SkillMounter.mjs.map +1 -0
- package/dist/core/sandbox/skills/constants.d.ts +10 -0
- package/dist/core/sandbox/skills/constants.d.ts.map +1 -0
- package/dist/core/sandbox/skills/constants.js +56 -0
- package/dist/core/sandbox/skills/constants.js.map +1 -0
- package/dist/core/sandbox/skills/constants.mjs +28 -0
- package/dist/core/sandbox/skills/constants.mjs.map +1 -0
- package/dist/core/sandbox/skills/index.d.ts +5 -0
- package/dist/core/sandbox/skills/index.d.ts.map +1 -0
- package/dist/core/sandbox/skills/index.js +40 -0
- package/dist/core/sandbox/skills/index.js.map +1 -0
- package/dist/core/sandbox/skills/index.mjs +11 -0
- package/dist/core/sandbox/skills/index.mjs.map +1 -0
- package/dist/core/tracing/AgentTracing.d.ts +38 -0
- package/dist/core/tracing/AgentTracing.d.ts.map +1 -0
- package/dist/core/tracing/AgentTracing.js +19 -0
- package/dist/core/tracing/AgentTracing.js.map +1 -0
- package/dist/core/tracing/AgentTracing.mjs +1 -0
- package/dist/core/tracing/AgentTracing.mjs.map +1 -0
- package/dist/core/tracing/NoopAgentTracing.d.ts +3 -0
- package/dist/core/tracing/NoopAgentTracing.d.ts.map +1 -0
- package/dist/core/tracing/NoopAgentTracing.js +79 -0
- package/dist/core/tracing/NoopAgentTracing.js.map +1 -0
- package/dist/core/tracing/NoopAgentTracing.mjs +54 -0
- package/dist/core/tracing/NoopAgentTracing.mjs.map +1 -0
- package/dist/core/util/abort.d.ts +2 -0
- package/dist/core/util/abort.d.ts.map +1 -0
- package/dist/core/util/abort.js +38 -0
- package/dist/core/util/abort.js.map +1 -0
- package/dist/core/util/abort.mjs +13 -0
- package/dist/core/util/abort.mjs.map +1 -0
- package/dist/core/util/errorLogFields.d.ts +11 -0
- package/dist/core/util/errorLogFields.d.ts.map +1 -0
- package/dist/core/util/errorLogFields.js +72 -0
- package/dist/core/util/errorLogFields.js.map +1 -0
- package/dist/core/util/errorLogFields.mjs +46 -0
- package/dist/core/util/errorLogFields.mjs.map +1 -0
- package/dist/core/util/promiseUtils.d.ts +7 -0
- package/dist/core/util/promiseUtils.d.ts.map +1 -0
- package/dist/core/util/promiseUtils.js +82 -0
- package/dist/core/util/promiseUtils.js.map +1 -0
- package/dist/core/util/promiseUtils.mjs +55 -0
- package/dist/core/util/promiseUtils.mjs.map +1 -0
- package/dist/index.d.ts +7 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +44 -0
- package/dist/index.js.map +1 -0
- package/dist/index.mjs +8 -0
- package/dist/index.mjs.map +1 -0
- package/dist/package.json +3 -0
- package/dist/request-reply/client.d.ts +21 -0
- package/dist/request-reply/client.d.ts.map +1 -0
- package/dist/request-reply/client.js +92 -0
- package/dist/request-reply/client.js.map +1 -0
- package/dist/request-reply/client.mjs +67 -0
- package/dist/request-reply/client.mjs.map +1 -0
- package/dist/request-reply/errors.d.ts +23 -0
- package/dist/request-reply/errors.d.ts.map +1 -0
- package/dist/request-reply/errors.js +66 -0
- package/dist/request-reply/errors.js.map +1 -0
- package/dist/request-reply/errors.mjs +39 -0
- package/dist/request-reply/errors.mjs.map +1 -0
- package/dist/request-reply/executor.d.ts +70 -0
- package/dist/request-reply/executor.d.ts.map +1 -0
- package/dist/request-reply/executor.js +267 -0
- package/dist/request-reply/executor.js.map +1 -0
- package/dist/request-reply/executor.mjs +232 -0
- package/dist/request-reply/executor.mjs.map +1 -0
- package/dist/request-reply/index.d.ts +16 -0
- package/dist/request-reply/index.d.ts.map +1 -0
- package/dist/request-reply/index.js +47 -0
- package/dist/request-reply/index.js.map +1 -0
- package/dist/request-reply/index.mjs +16 -0
- package/dist/request-reply/index.mjs.map +1 -0
- package/dist/request-reply/router.d.ts +20 -0
- package/dist/request-reply/router.d.ts.map +1 -0
- package/dist/request-reply/router.js +55 -0
- package/dist/request-reply/router.js.map +1 -0
- package/dist/request-reply/router.mjs +30 -0
- package/dist/request-reply/router.mjs.map +1 -0
- package/dist/request-reply/types.d.ts +25 -0
- package/dist/request-reply/types.d.ts.map +1 -0
- package/dist/request-reply/types.js +54 -0
- package/dist/request-reply/types.js.map +1 -0
- package/dist/request-reply/types.mjs +28 -0
- package/dist/request-reply/types.mjs.map +1 -0
- package/dist/request-reply/utils.d.ts +9 -0
- package/dist/request-reply/utils.d.ts.map +1 -0
- package/dist/request-reply/utils.js +51 -0
- package/dist/request-reply/utils.js.map +1 -0
- package/dist/request-reply/utils.mjs +22 -0
- package/dist/request-reply/utils.mjs.map +1 -0
- package/package.json +127 -6
- package/README.md +0 -4
- package/index.js +0 -1
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __copyProps = (to, from, except, desc) => {
|
|
7
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
8
|
+
for (let key of __getOwnPropNames(from))
|
|
9
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
10
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
11
|
+
}
|
|
12
|
+
return to;
|
|
13
|
+
};
|
|
14
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
15
|
+
|
|
16
|
+
// src/core/capabilities/AgentContextProcessor.ts
|
|
17
|
+
var AgentContextProcessor_exports = {};
|
|
18
|
+
module.exports = __toCommonJS(AgentContextProcessor_exports);
|
|
19
|
+
//# sourceMappingURL=AgentContextProcessor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/core/capabilities/AgentContextProcessor.ts"],"sourcesContent":["import type { ChatCompletionMessageParam } from 'openai/resources/chat';\nimport type { ThreadOverwriteContextEvent } from '../events/schema';\nimport type {\n AgentThreadAppendContext,\n ContextMessage,\n InternalCapabilityStateEvent,\n InternalPassthroughEvent,\n} from '../runtime/AgentThread.types';\nimport type { CurrentContextUsage } from '../runtime/contextUsage';\nimport type { Sandbox } from '../sandbox/Sandbox';\n\n/** Ambient thread snapshot passed Readonly to every capability processor hook. */\nexport interface AgentThreadExecutionContext {\n threadId: string;\n sandbox?: Sandbox | undefined;\n currentContextUsage: CurrentContextUsage;\n context: ContextMessage[];\n}\n\nexport type AgentContextProcessorOverwriteContext = Omit<ThreadOverwriteContextEvent, 'thread_id'>;\n\nexport type AgentContextProcessorAppendContext = Omit<AgentThreadAppendContext, 'thread_id'>;\n\n/** Processors omit thread_id — AgentThread stamps it (same as append/overwrite). */\nexport type AgentContextProcessorCapabilityState = Omit<InternalCapabilityStateEvent, 'thread_id'>;\n\nexport type AgentContextProcessorOutput =\n | AgentContextProcessorOverwriteContext\n | AgentContextProcessorAppendContext\n | InternalPassthroughEvent\n | AgentContextProcessorCapabilityState;\n\nexport interface PreSendContextProcessor {\n processPreSend(execution: Readonly<AgentThreadExecutionContext>): AsyncIterable<AgentContextProcessorAppendContext>;\n}\n\n// NOTE: Saved in Redis, Saved in AgentThread in memory. Persisted accross Agent Loop.\nexport interface PreLLMAgentContextProcessor {\n processPreLLM(execution: Readonly<AgentThreadExecutionContext>): AsyncIterable<AgentContextProcessorOutput>;\n}\n\nexport interface PostToolCallAgentContextProcessor {\n processPostToolCall(execution: Readonly<AgentThreadExecutionContext>): AsyncIterable<AgentContextProcessorOutput>;\n}\n\n// NOTE: Not saved in Redis, Not saved in AgentThread in memory. Not persisted accross Agent Loop.\nexport interface PreLLMEphemeralAgentContextProcessor {\n processPreLLMEphemeral(input: ChatCompletionMessageParam[]): ChatCompletionMessageParam[] | undefined;\n}\n"],"mappings":";;;;;;;;;;;;;;;;AAAA;AAAA;","names":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=AgentContextProcessor.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { RegisteredPassthroughEvent } from '../events/PassthroughEvents';
|
|
2
|
+
import type { ToolCallResult } from '../mcp/executeToolCalls';
|
|
3
|
+
import type { SandboxInfo } from '../sandbox/Sandbox';
|
|
4
|
+
import type { AgentThreadExecutionContext } from './AgentContextProcessor';
|
|
5
|
+
export interface ToolResponseProcessorResult {
|
|
6
|
+
sandboxCreated?: SandboxInfo | undefined;
|
|
7
|
+
events?: readonly RegisteredPassthroughEvent[] | undefined;
|
|
8
|
+
}
|
|
9
|
+
export interface ToolResponseProcessor {
|
|
10
|
+
process(result: ToolCallResult[], execution: Readonly<AgentThreadExecutionContext>): Promise<ToolResponseProcessorResult>;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=ToolResponseProcessor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ToolResponseProcessor.d.ts","sourceRoot":"","sources":["../../../src/core/capabilities/ToolResponseProcessor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAC;AAC9E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,yBAAyB,CAAC;AAE3E,MAAM,WAAW,2BAA2B;IAC1C,cAAc,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;IACzC,MAAM,CAAC,EAAE,SAAS,0BAA0B,EAAE,GAAG,SAAS,CAAC;CAC5D;AAED,MAAM,WAAW,qBAAqB;IACpC,OAAO,CACL,MAAM,EAAE,cAAc,EAAE,EACxB,SAAS,EAAE,QAAQ,CAAC,2BAA2B,CAAC,GAC/C,OAAO,CAAC,2BAA2B,CAAC,CAAC;CACzC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __copyProps = (to, from, except, desc) => {
|
|
7
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
8
|
+
for (let key of __getOwnPropNames(from))
|
|
9
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
10
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
11
|
+
}
|
|
12
|
+
return to;
|
|
13
|
+
};
|
|
14
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
15
|
+
|
|
16
|
+
// src/core/capabilities/ToolResponseProcessor.ts
|
|
17
|
+
var ToolResponseProcessor_exports = {};
|
|
18
|
+
module.exports = __toCommonJS(ToolResponseProcessor_exports);
|
|
19
|
+
//# sourceMappingURL=ToolResponseProcessor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/core/capabilities/ToolResponseProcessor.ts"],"sourcesContent":["import type { RegisteredPassthroughEvent } from '../events/PassthroughEvents';\nimport type { ToolCallResult } from '../mcp/executeToolCalls';\nimport type { SandboxInfo } from '../sandbox/Sandbox';\nimport type { AgentThreadExecutionContext } from './AgentContextProcessor';\n\nexport interface ToolResponseProcessorResult {\n sandboxCreated?: SandboxInfo | undefined;\n events?: readonly RegisteredPassthroughEvent[] | undefined;\n}\n\nexport interface ToolResponseProcessor {\n process(\n result: ToolCallResult[],\n execution: Readonly<AgentThreadExecutionContext>,\n ): Promise<ToolResponseProcessorResult>;\n}\n"],"mappings":";;;;;;;;;;;;;;;;AAAA;AAAA;","names":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=ToolResponseProcessor.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { ClientSideTool } from '../../mcp/ClientSideTool';
|
|
2
|
+
import { type ToolDefinition } from '../../mcp/LocalToolMCP';
|
|
3
|
+
import type { AgentCapability } from '../AgentCapability';
|
|
4
|
+
export declare class AskUserQuestion extends ClientSideTool {
|
|
5
|
+
readonly name = "ask-user-question";
|
|
6
|
+
readonly displayName = "AskUserQuestion";
|
|
7
|
+
readonly tracingEnabled = false;
|
|
8
|
+
protected getTools(): ToolDefinition[];
|
|
9
|
+
}
|
|
10
|
+
export declare function askUserQuestion(): AgentCapability;
|
|
11
|
+
//# sourceMappingURL=AskUserQuestion.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AskUserQuestion.d.ts","sourceRoot":"","sources":["../../../../src/core/capabilities/builtins/AskUserQuestion.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE1D,OAAO,EAAc,KAAK,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACzE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAiB1D,qBAAa,eAAgB,SAAQ,cAAc;IACjD,QAAQ,CAAC,IAAI,uBAA+B;IAC5C,QAAQ,CAAC,WAAW,qBAAqB;IACzC,SAAkB,cAAc,SAAS;IAEzC,SAAS,CAAC,QAAQ,IAAI,cAAc,EAAE,CAmCrC;CACF;AAED,wBAAgB,eAAe,IAAI,eAAe,CAIjD"}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
|
|
20
|
+
// src/core/capabilities/builtins/AskUserQuestion.ts
|
|
21
|
+
var AskUserQuestion_exports = {};
|
|
22
|
+
__export(AskUserQuestion_exports, {
|
|
23
|
+
AskUserQuestion: () => AskUserQuestion,
|
|
24
|
+
askUserQuestion: () => askUserQuestion
|
|
25
|
+
});
|
|
26
|
+
module.exports = __toCommonJS(AskUserQuestion_exports);
|
|
27
|
+
var import_zod = require("zod");
|
|
28
|
+
var import_ClientSideTool = require("../../mcp/ClientSideTool.js");
|
|
29
|
+
var import_IMCPServer = require("../../mcp/IMCPServer.js");
|
|
30
|
+
var import_LocalToolMCP = require("../../mcp/LocalToolMCP.js");
|
|
31
|
+
var import_OpenUI = require("./OpenUI.js");
|
|
32
|
+
var ASK_USER_QUESTION_SERVER_ID = "ask-user-question";
|
|
33
|
+
var ASK_USER_QUESTION_TOOL_NAME = "ask_user_question";
|
|
34
|
+
var askUserQuestionInputSchema = import_zod.z.object({
|
|
35
|
+
question: import_zod.z.string().describe("The question to ask the user."),
|
|
36
|
+
options: import_zod.z.array(import_zod.z.string()).min(0).max(5).describe(
|
|
37
|
+
"0-5 mutually exclusive choices, each mapping to a distinct outcome. A free-text input is always rendered alongside."
|
|
38
|
+
)
|
|
39
|
+
});
|
|
40
|
+
var AskUserQuestion = class extends import_ClientSideTool.ClientSideTool {
|
|
41
|
+
name = ASK_USER_QUESTION_SERVER_ID;
|
|
42
|
+
displayName = "AskUserQuestion";
|
|
43
|
+
tracingEnabled = false;
|
|
44
|
+
getTools() {
|
|
45
|
+
return [
|
|
46
|
+
(0, import_LocalToolMCP.defineTool)({
|
|
47
|
+
name: ASK_USER_QUESTION_TOOL_NAME,
|
|
48
|
+
description: [
|
|
49
|
+
"Ask the user a question when clarification or a decision is needed before proceeding. Only ask when the answer meaningfully changes what you do next.",
|
|
50
|
+
"",
|
|
51
|
+
"Rules:",
|
|
52
|
+
"- Provide as many options as the question needs (0-5). When you include options, each must be a genuinely distinct, mutually exclusive outcome that meaningfully changes what you do next.",
|
|
53
|
+
`- MUST NOT use <${import_OpenUI.OPENUI_SECTION_TAG}> for asking the user a question.`,
|
|
54
|
+
"- The user picks exactly one option \u2014 multi-select is not available.",
|
|
55
|
+
"- Options must be mutually exclusive. If a valid choice is a combination of other options, include it as a separate option with the combined data.",
|
|
56
|
+
'- Every option must commit the user to a specific outcome. Do not add an option whose purpose is to let the user describe, specify, or type their own answer. Do not add an option like "Other" or "Something else".',
|
|
57
|
+
"",
|
|
58
|
+
"Example (distinct options):",
|
|
59
|
+
'question: "<your question>"',
|
|
60
|
+
'options: ["<Option A>", "<Option B>", "<Option C>"]',
|
|
61
|
+
"",
|
|
62
|
+
"Example (combined options):",
|
|
63
|
+
'question: "<your question>"',
|
|
64
|
+
'options: ["<Option A>", "<Option B>", "<Option A and B \u2014 combined details>"]',
|
|
65
|
+
"",
|
|
66
|
+
"Avoid:",
|
|
67
|
+
'options: ["<Option A>", "<Option B>", "Other"]'
|
|
68
|
+
].join("\n"),
|
|
69
|
+
schema: askUserQuestionInputSchema,
|
|
70
|
+
handler: () => Promise.resolve(
|
|
71
|
+
(0, import_IMCPServer.toolResultResponse)({
|
|
72
|
+
text: "This tool requires client-side execution and cannot be run server-side.",
|
|
73
|
+
isError: true
|
|
74
|
+
})
|
|
75
|
+
)
|
|
76
|
+
})
|
|
77
|
+
];
|
|
78
|
+
}
|
|
79
|
+
};
|
|
80
|
+
function askUserQuestion() {
|
|
81
|
+
return {
|
|
82
|
+
systemToolSets: [new AskUserQuestion()]
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
86
|
+
0 && (module.exports = {
|
|
87
|
+
AskUserQuestion,
|
|
88
|
+
askUserQuestion
|
|
89
|
+
});
|
|
90
|
+
//# sourceMappingURL=AskUserQuestion.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/core/capabilities/builtins/AskUserQuestion.ts"],"sourcesContent":["import { z } from 'zod';\nimport { ClientSideTool } from '../../mcp/ClientSideTool';\nimport { toolResultResponse } from '../../mcp/IMCPServer';\nimport { defineTool, type ToolDefinition } from '../../mcp/LocalToolMCP';\nimport type { AgentCapability } from '../AgentCapability';\nimport { OPENUI_SECTION_TAG } from './OpenUI';\n\nconst ASK_USER_QUESTION_SERVER_ID = 'ask-user-question';\nconst ASK_USER_QUESTION_TOOL_NAME = 'ask_user_question';\n\nconst askUserQuestionInputSchema = z.object({\n question: z.string().describe('The question to ask the user.'),\n options: z\n .array(z.string())\n .min(0)\n .max(5)\n .describe(\n '0-5 mutually exclusive choices, each mapping to a distinct outcome. A free-text input is always rendered alongside.',\n ),\n});\n\nexport class AskUserQuestion extends ClientSideTool {\n readonly name = ASK_USER_QUESTION_SERVER_ID;\n readonly displayName = 'AskUserQuestion';\n override readonly tracingEnabled = false;\n\n protected getTools(): ToolDefinition[] {\n return [\n defineTool({\n name: ASK_USER_QUESTION_TOOL_NAME,\n description: [\n 'Ask the user a question when clarification or a decision is needed before proceeding. Only ask when the answer meaningfully changes what you do next.',\n '',\n 'Rules:',\n '- Provide as many options as the question needs (0-5). When you include options, each must be a genuinely distinct, mutually exclusive outcome that meaningfully changes what you do next.',\n `- MUST NOT use <${OPENUI_SECTION_TAG}> for asking the user a question.`,\n '- The user picks exactly one option — multi-select is not available.',\n '- Options must be mutually exclusive. If a valid choice is a combination of other options, include it as a separate option with the combined data.',\n '- Every option must commit the user to a specific outcome. Do not add an option whose purpose is to let the user describe, specify, or type their own answer. Do not add an option like \"Other\" or \"Something else\".',\n '',\n 'Example (distinct options):',\n 'question: \"<your question>\"',\n 'options: [\"<Option A>\", \"<Option B>\", \"<Option C>\"]',\n '',\n 'Example (combined options):',\n 'question: \"<your question>\"',\n 'options: [\"<Option A>\", \"<Option B>\", \"<Option A and B — combined details>\"]',\n '',\n 'Avoid:',\n 'options: [\"<Option A>\", \"<Option B>\", \"Other\"]',\n ].join('\\n'),\n schema: askUserQuestionInputSchema,\n handler: () =>\n Promise.resolve(\n toolResultResponse({\n text: 'This tool requires client-side execution and cannot be run server-side.',\n isError: true,\n }),\n ),\n }),\n ];\n }\n}\n\nexport function askUserQuestion(): AgentCapability {\n return {\n systemToolSets: [new AskUserQuestion()],\n };\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,iBAAkB;AAClB,4BAA+B;AAC/B,wBAAmC;AACnC,0BAAgD;AAEhD,oBAAmC;AAEnC,IAAM,8BAA8B;AACpC,IAAM,8BAA8B;AAEpC,IAAM,6BAA6B,aAAE,OAAO;AAAA,EAC1C,UAAU,aAAE,OAAO,EAAE,SAAS,+BAA+B;AAAA,EAC7D,SAAS,aACN,MAAM,aAAE,OAAO,CAAC,EAChB,IAAI,CAAC,EACL,IAAI,CAAC,EACL;AAAA,IACC;AAAA,EACF;AACJ,CAAC;AAEM,IAAM,kBAAN,cAA8B,qCAAe;AAAA,EACzC,OAAO;AAAA,EACP,cAAc;AAAA,EACL,iBAAiB;AAAA,EAEzB,WAA6B;AACrC,WAAO;AAAA,UACL,gCAAW;AAAA,QACT,MAAM;AAAA,QACN,aAAa;AAAA,UACX;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA,mBAAmB,gCAAkB;AAAA,UACrC;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACF,EAAE,KAAK,IAAI;AAAA,QACX,QAAQ;AAAA,QACR,SAAS,MACP,QAAQ;AAAA,cACN,sCAAmB;AAAA,YACjB,MAAM;AAAA,YACN,SAAS;AAAA,UACX,CAAC;AAAA,QACH;AAAA,MACJ,CAAC;AAAA,IACH;AAAA,EACF;AACF;AAEO,SAAS,kBAAmC;AACjD,SAAO;AAAA,IACL,gBAAgB,CAAC,IAAI,gBAAgB,CAAC;AAAA,EACxC;AACF;","names":[]}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
// src/core/capabilities/builtins/AskUserQuestion.ts
|
|
2
|
+
import { z } from "zod";
|
|
3
|
+
import { ClientSideTool } from "../../mcp/ClientSideTool.mjs";
|
|
4
|
+
import { toolResultResponse } from "../../mcp/IMCPServer.mjs";
|
|
5
|
+
import { defineTool } from "../../mcp/LocalToolMCP.mjs";
|
|
6
|
+
import { OPENUI_SECTION_TAG } from "./OpenUI.mjs";
|
|
7
|
+
var ASK_USER_QUESTION_SERVER_ID = "ask-user-question";
|
|
8
|
+
var ASK_USER_QUESTION_TOOL_NAME = "ask_user_question";
|
|
9
|
+
var askUserQuestionInputSchema = z.object({
|
|
10
|
+
question: z.string().describe("The question to ask the user."),
|
|
11
|
+
options: z.array(z.string()).min(0).max(5).describe(
|
|
12
|
+
"0-5 mutually exclusive choices, each mapping to a distinct outcome. A free-text input is always rendered alongside."
|
|
13
|
+
)
|
|
14
|
+
});
|
|
15
|
+
var AskUserQuestion = class extends ClientSideTool {
|
|
16
|
+
name = ASK_USER_QUESTION_SERVER_ID;
|
|
17
|
+
displayName = "AskUserQuestion";
|
|
18
|
+
tracingEnabled = false;
|
|
19
|
+
getTools() {
|
|
20
|
+
return [
|
|
21
|
+
defineTool({
|
|
22
|
+
name: ASK_USER_QUESTION_TOOL_NAME,
|
|
23
|
+
description: [
|
|
24
|
+
"Ask the user a question when clarification or a decision is needed before proceeding. Only ask when the answer meaningfully changes what you do next.",
|
|
25
|
+
"",
|
|
26
|
+
"Rules:",
|
|
27
|
+
"- Provide as many options as the question needs (0-5). When you include options, each must be a genuinely distinct, mutually exclusive outcome that meaningfully changes what you do next.",
|
|
28
|
+
`- MUST NOT use <${OPENUI_SECTION_TAG}> for asking the user a question.`,
|
|
29
|
+
"- The user picks exactly one option \u2014 multi-select is not available.",
|
|
30
|
+
"- Options must be mutually exclusive. If a valid choice is a combination of other options, include it as a separate option with the combined data.",
|
|
31
|
+
'- Every option must commit the user to a specific outcome. Do not add an option whose purpose is to let the user describe, specify, or type their own answer. Do not add an option like "Other" or "Something else".',
|
|
32
|
+
"",
|
|
33
|
+
"Example (distinct options):",
|
|
34
|
+
'question: "<your question>"',
|
|
35
|
+
'options: ["<Option A>", "<Option B>", "<Option C>"]',
|
|
36
|
+
"",
|
|
37
|
+
"Example (combined options):",
|
|
38
|
+
'question: "<your question>"',
|
|
39
|
+
'options: ["<Option A>", "<Option B>", "<Option A and B \u2014 combined details>"]',
|
|
40
|
+
"",
|
|
41
|
+
"Avoid:",
|
|
42
|
+
'options: ["<Option A>", "<Option B>", "Other"]'
|
|
43
|
+
].join("\n"),
|
|
44
|
+
schema: askUserQuestionInputSchema,
|
|
45
|
+
handler: () => Promise.resolve(
|
|
46
|
+
toolResultResponse({
|
|
47
|
+
text: "This tool requires client-side execution and cannot be run server-side.",
|
|
48
|
+
isError: true
|
|
49
|
+
})
|
|
50
|
+
)
|
|
51
|
+
})
|
|
52
|
+
];
|
|
53
|
+
}
|
|
54
|
+
};
|
|
55
|
+
function askUserQuestion() {
|
|
56
|
+
return {
|
|
57
|
+
systemToolSets: [new AskUserQuestion()]
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
export {
|
|
61
|
+
AskUserQuestion,
|
|
62
|
+
askUserQuestion
|
|
63
|
+
};
|
|
64
|
+
//# sourceMappingURL=AskUserQuestion.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/core/capabilities/builtins/AskUserQuestion.ts"],"sourcesContent":["import { z } from 'zod';\nimport { ClientSideTool } from '../../mcp/ClientSideTool';\nimport { toolResultResponse } from '../../mcp/IMCPServer';\nimport { defineTool, type ToolDefinition } from '../../mcp/LocalToolMCP';\nimport type { AgentCapability } from '../AgentCapability';\nimport { OPENUI_SECTION_TAG } from './OpenUI';\n\nconst ASK_USER_QUESTION_SERVER_ID = 'ask-user-question';\nconst ASK_USER_QUESTION_TOOL_NAME = 'ask_user_question';\n\nconst askUserQuestionInputSchema = z.object({\n question: z.string().describe('The question to ask the user.'),\n options: z\n .array(z.string())\n .min(0)\n .max(5)\n .describe(\n '0-5 mutually exclusive choices, each mapping to a distinct outcome. A free-text input is always rendered alongside.',\n ),\n});\n\nexport class AskUserQuestion extends ClientSideTool {\n readonly name = ASK_USER_QUESTION_SERVER_ID;\n readonly displayName = 'AskUserQuestion';\n override readonly tracingEnabled = false;\n\n protected getTools(): ToolDefinition[] {\n return [\n defineTool({\n name: ASK_USER_QUESTION_TOOL_NAME,\n description: [\n 'Ask the user a question when clarification or a decision is needed before proceeding. Only ask when the answer meaningfully changes what you do next.',\n '',\n 'Rules:',\n '- Provide as many options as the question needs (0-5). When you include options, each must be a genuinely distinct, mutually exclusive outcome that meaningfully changes what you do next.',\n `- MUST NOT use <${OPENUI_SECTION_TAG}> for asking the user a question.`,\n '- The user picks exactly one option — multi-select is not available.',\n '- Options must be mutually exclusive. If a valid choice is a combination of other options, include it as a separate option with the combined data.',\n '- Every option must commit the user to a specific outcome. Do not add an option whose purpose is to let the user describe, specify, or type their own answer. Do not add an option like \"Other\" or \"Something else\".',\n '',\n 'Example (distinct options):',\n 'question: \"<your question>\"',\n 'options: [\"<Option A>\", \"<Option B>\", \"<Option C>\"]',\n '',\n 'Example (combined options):',\n 'question: \"<your question>\"',\n 'options: [\"<Option A>\", \"<Option B>\", \"<Option A and B — combined details>\"]',\n '',\n 'Avoid:',\n 'options: [\"<Option A>\", \"<Option B>\", \"Other\"]',\n ].join('\\n'),\n schema: askUserQuestionInputSchema,\n handler: () =>\n Promise.resolve(\n toolResultResponse({\n text: 'This tool requires client-side execution and cannot be run server-side.',\n isError: true,\n }),\n ),\n }),\n ];\n }\n}\n\nexport function askUserQuestion(): AgentCapability {\n return {\n systemToolSets: [new AskUserQuestion()],\n };\n}\n"],"mappings":";AAAA,SAAS,SAAS;AAClB,SAAS,sBAAsB;AAC/B,SAAS,0BAA0B;AACnC,SAAS,kBAAuC;AAEhD,SAAS,0BAA0B;AAEnC,IAAM,8BAA8B;AACpC,IAAM,8BAA8B;AAEpC,IAAM,6BAA6B,EAAE,OAAO;AAAA,EAC1C,UAAU,EAAE,OAAO,EAAE,SAAS,+BAA+B;AAAA,EAC7D,SAAS,EACN,MAAM,EAAE,OAAO,CAAC,EAChB,IAAI,CAAC,EACL,IAAI,CAAC,EACL;AAAA,IACC;AAAA,EACF;AACJ,CAAC;AAEM,IAAM,kBAAN,cAA8B,eAAe;AAAA,EACzC,OAAO;AAAA,EACP,cAAc;AAAA,EACL,iBAAiB;AAAA,EAEzB,WAA6B;AACrC,WAAO;AAAA,MACL,WAAW;AAAA,QACT,MAAM;AAAA,QACN,aAAa;AAAA,UACX;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA,mBAAmB,kBAAkB;AAAA,UACrC;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACF,EAAE,KAAK,IAAI;AAAA,QACX,QAAQ;AAAA,QACR,SAAS,MACP,QAAQ;AAAA,UACN,mBAAmB;AAAA,YACjB,MAAM;AAAA,YACN,SAAS;AAAA,UACX,CAAC;AAAA,QACH;AAAA,MACJ,CAAC;AAAA,IACH;AAAA,EACF;AACF;AAEO,SAAS,kBAAmC;AACjD,SAAO;AAAA,IACL,gBAAgB,CAAC,IAAI,gBAAgB,CAAC;AAAA,EACxC;AACF;","names":[]}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { ILLM } from '../../llm/ILLM';
|
|
2
|
+
import type { AgentDefinition } from '../../runtime/AgentDefinition';
|
|
3
|
+
import type { AgentCapability } from '../AgentCapability';
|
|
4
|
+
import type { AgentContextProcessorOutput, AgentThreadExecutionContext, PreLLMAgentContextProcessor } from '../AgentContextProcessor';
|
|
5
|
+
export declare const DEFAULT_CONTEXT_COMPACTION_THRESHOLD_TOKENS: number;
|
|
6
|
+
export declare class ContextCompaction implements PreLLMAgentContextProcessor {
|
|
7
|
+
private modelClient;
|
|
8
|
+
private compactionThresholdTokens;
|
|
9
|
+
constructor(input: {
|
|
10
|
+
modelClient: ILLM;
|
|
11
|
+
compactionThresholdTokens: number;
|
|
12
|
+
});
|
|
13
|
+
processPreLLM(execution: Readonly<AgentThreadExecutionContext>): AsyncGenerator<AgentContextProcessorOutput, void, unknown>;
|
|
14
|
+
}
|
|
15
|
+
export interface ContextCompactionSettings {
|
|
16
|
+
compactionThresholdTokens?: number | undefined;
|
|
17
|
+
}
|
|
18
|
+
export declare function contextCompaction(options: {
|
|
19
|
+
definition: AgentDefinition;
|
|
20
|
+
settings?: ContextCompactionSettings | undefined;
|
|
21
|
+
compactionThresholdTokens?: number | undefined;
|
|
22
|
+
}): AgentCapability;
|
|
23
|
+
//# sourceMappingURL=ContextCompaction.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ContextCompaction.d.ts","sourceRoot":"","sources":["../../../../src/core/capabilities/builtins/ContextCompaction.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAmB,MAAM,gBAAgB,CAAC;AAC5D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAGrE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,KAAK,EACV,2BAA2B,EAC3B,2BAA2B,EAC3B,2BAA2B,EAC5B,MAAM,0BAA0B,CAAC;AAElC,eAAO,MAAM,2CAA2C,QAAY,CAAC;AA8JrE,qBAAa,iBAAkB,YAAW,2BAA2B;IACnE,OAAO,CAAC,WAAW,CAAO;IAC1B,OAAO,CAAC,yBAAyB,CAAS;IAE1C,YAAY,KAAK,EAAE;QAAE,WAAW,EAAE,IAAI,CAAC;QAAC,yBAAyB,EAAE,MAAM,CAAA;KAAE,EAG1E;IAEM,aAAa,CAClB,SAAS,EAAE,QAAQ,CAAC,2BAA2B,CAAC,GAC/C,cAAc,CAAC,2BAA2B,EAAE,IAAI,EAAE,OAAO,CAAC,CAkC5D;CACF;AAED,MAAM,WAAW,yBAAyB;IACxC,yBAAyB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAChD;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE;IACzC,UAAU,EAAE,eAAe,CAAC;IAC5B,QAAQ,CAAC,EAAE,yBAAyB,GAAG,SAAS,CAAC;IACjD,yBAAyB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAChD,GAAG,eAAe,CAalB"}
|
|
@@ -0,0 +1,235 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
|
|
20
|
+
// src/core/capabilities/builtins/ContextCompaction.ts
|
|
21
|
+
var ContextCompaction_exports = {};
|
|
22
|
+
__export(ContextCompaction_exports, {
|
|
23
|
+
ContextCompaction: () => ContextCompaction,
|
|
24
|
+
DEFAULT_CONTEXT_COMPACTION_THRESHOLD_TOKENS: () => DEFAULT_CONTEXT_COMPACTION_THRESHOLD_TOKENS,
|
|
25
|
+
contextCompaction: () => contextCompaction
|
|
26
|
+
});
|
|
27
|
+
module.exports = __toCommonJS(ContextCompaction_exports);
|
|
28
|
+
var import_schema = require("../../events/schema.js");
|
|
29
|
+
var import_contextUtils = require("../../runtime/contextUtils.js");
|
|
30
|
+
var DEFAULT_CONTEXT_COMPACTION_THRESHOLD_TOKENS = 50 * 1e3;
|
|
31
|
+
var PROMPT_TOKENS = 931;
|
|
32
|
+
var PROMPT = `
|
|
33
|
+
Your task is to create a detailed summary of the conversation so far, paying close attention to the user's explicit requests and your previous actions.
|
|
34
|
+
This summary should be thorough in capturing technical details, code patterns, and architectural decisions that would be essential for continuing development work without losing context.
|
|
35
|
+
|
|
36
|
+
Before providing your final summary, wrap your analysis in <analysis> tags to organize your thoughts and ensure you've covered all necessary points. In your analysis process:
|
|
37
|
+
|
|
38
|
+
1. Chronologically analyze each message and section of the conversation. For each section thoroughly identify:
|
|
39
|
+
- The user's explicit requests and intents
|
|
40
|
+
- Your approach to addressing the user's requests
|
|
41
|
+
- Key decisions, technical concepts and code patterns
|
|
42
|
+
- Specific details like:
|
|
43
|
+
- file names
|
|
44
|
+
- full code snippets
|
|
45
|
+
- function signatures
|
|
46
|
+
- file edits
|
|
47
|
+
- Errors that you ran into and how you fixed them
|
|
48
|
+
- Pay special attention to specific user feedback that you received, especially if the user told you to do something differently.
|
|
49
|
+
2. Double-check for technical accuracy and completeness, addressing each required element thoroughly.
|
|
50
|
+
|
|
51
|
+
Your summary should include the following sections:
|
|
52
|
+
|
|
53
|
+
1. Primary Request and Intent: Capture all of the user's explicit requests and intents in detail
|
|
54
|
+
2. Key Technical Concepts: List all important technical concepts, technologies, and frameworks discussed.
|
|
55
|
+
3. Files and Code Sections: Enumerate specific files and code sections examined, modified, or created. Pay special attention to the most recent messages and include full code snippets where applicable and include a summary of why this file read or edit is important.
|
|
56
|
+
4. Errors and fixes: List all errors that you ran into, and how you fixed them. Pay special attention to specific user feedback that you received, especially if the user told you to do something differently.
|
|
57
|
+
5. Problem Solving: Document problems solved and any ongoing troubleshooting efforts.
|
|
58
|
+
6. All user messages: List ALL user messages that are not tool results. These are critical for understanding the users' feedback and changing intent.
|
|
59
|
+
6. Pending Tasks: Outline any pending tasks that you have explicitly been asked to work on.
|
|
60
|
+
7. Current Work: Describe in detail precisely what was being worked on immediately before this summary request, paying special attention to the most recent messages from both user and assistant. Include file names and code snippets where applicable.
|
|
61
|
+
8. Optional Next Step: List the next step that you will take that is related to the most recent work you were doing. IMPORTANT: ensure that this step is DIRECTLY in line with the user's most recent explicit requests, and the task you were working on immediately before this summary request. If your last task was concluded, then only list next steps if they are explicitly in line with the users request. Do not start on tangential requests or really old requests that were already completed without confirming with the user first.
|
|
62
|
+
If there is a next step, include direct quotes from the most recent conversation showing exactly what task you were working on and where you left off. This should be verbatim to ensure there's no drift in task interpretation.
|
|
63
|
+
|
|
64
|
+
Here's an example of how your output should be structured:
|
|
65
|
+
|
|
66
|
+
<example>
|
|
67
|
+
<analysis>
|
|
68
|
+
[Your thought process, ensuring all points are covered thoroughly and accurately]
|
|
69
|
+
</analysis>
|
|
70
|
+
|
|
71
|
+
<summary>
|
|
72
|
+
1. Primary Request and Intent:
|
|
73
|
+
[Detailed description]
|
|
74
|
+
|
|
75
|
+
2. Key Technical Concepts:
|
|
76
|
+
- [Concept 1]
|
|
77
|
+
- [Concept 2]
|
|
78
|
+
- [...]
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
3. Errors and fixes:
|
|
82
|
+
- [Detailed description of error 1]:
|
|
83
|
+
- [How you fixed the error]
|
|
84
|
+
- [User feedback on the error if any]
|
|
85
|
+
- [...]
|
|
86
|
+
|
|
87
|
+
4. Problem Solving:
|
|
88
|
+
[Description of solved problems and ongoing troubleshooting]
|
|
89
|
+
|
|
90
|
+
5. All user messages:
|
|
91
|
+
- [Detailed non tool use user message]
|
|
92
|
+
- [...]
|
|
93
|
+
|
|
94
|
+
6. Pending Tasks:
|
|
95
|
+
- [Task 1]
|
|
96
|
+
- [Task 2]
|
|
97
|
+
- [...]
|
|
98
|
+
|
|
99
|
+
7. Current Work:
|
|
100
|
+
[Precise description of current work]
|
|
101
|
+
|
|
102
|
+
8. Optional Next Step:
|
|
103
|
+
[Optional Next step to take]
|
|
104
|
+
|
|
105
|
+
</summary>
|
|
106
|
+
</example>
|
|
107
|
+
|
|
108
|
+
Please provide your summary based on the conversation so far, following this structure and ensuring precision and thoroughness in your response.
|
|
109
|
+
|
|
110
|
+
There may be additional summarization instructions provided in the included context. If so, remember to follow these instructions when creating the above summary. Examples of instructions include:
|
|
111
|
+
<example>
|
|
112
|
+
## Compact Instructions
|
|
113
|
+
When summarizing the conversation focus on typescript code changes and also remember the mistakes you made and how you fixed them.
|
|
114
|
+
</example>
|
|
115
|
+
|
|
116
|
+
<example>
|
|
117
|
+
# Summary instructions
|
|
118
|
+
When you are using compact - please focus on test output and code changes. Include file reads verbatim.
|
|
119
|
+
</example>
|
|
120
|
+
`;
|
|
121
|
+
var CONTINUATION_MESSAGE = (0, import_contextUtils.internalSystemMessage)(
|
|
122
|
+
"The above is the summarised context of the work so far. The Agent must not repeat or re-run any work that was already completed. If results were already obtained, the Agent should present them directly."
|
|
123
|
+
);
|
|
124
|
+
Object.freeze(CONTINUATION_MESSAGE);
|
|
125
|
+
var CONTINUATION_MESSAGE_TOKENS = 42;
|
|
126
|
+
function formatAssistantContent(content) {
|
|
127
|
+
if (typeof content === "string") {
|
|
128
|
+
return content;
|
|
129
|
+
}
|
|
130
|
+
if (!content) {
|
|
131
|
+
return "";
|
|
132
|
+
}
|
|
133
|
+
return content.map((part) => part.type === "text" ? part.text : part.refusal).join("\n");
|
|
134
|
+
}
|
|
135
|
+
function createSummarizationCandidate(context) {
|
|
136
|
+
let candidate = "";
|
|
137
|
+
let index = -1;
|
|
138
|
+
for (const m of context) {
|
|
139
|
+
index += 1;
|
|
140
|
+
if ((0, import_contextUtils.isInternalSystemMessage)(m)) {
|
|
141
|
+
continue;
|
|
142
|
+
}
|
|
143
|
+
if (!(0, import_contextUtils.isLLMContextMessage)(m)) {
|
|
144
|
+
continue;
|
|
145
|
+
}
|
|
146
|
+
switch (m.role) {
|
|
147
|
+
case "user":
|
|
148
|
+
if (typeof m.content === "string") {
|
|
149
|
+
candidate += `<${String(index)}><user>:` + m.content;
|
|
150
|
+
} else {
|
|
151
|
+
const parts = [];
|
|
152
|
+
for (const p of m.content) {
|
|
153
|
+
if (p.type === "text") {
|
|
154
|
+
parts.push(p.text);
|
|
155
|
+
} else {
|
|
156
|
+
parts.push(`[user attached a ${p.type} here, no longer available after summarization]`);
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
candidate += `<${String(index)}><user>:` + parts.join("\n");
|
|
160
|
+
}
|
|
161
|
+
break;
|
|
162
|
+
case "tool":
|
|
163
|
+
candidate += `<${String(index)}><tool-response id=${m.tool_call_id}>:` + m.content;
|
|
164
|
+
break;
|
|
165
|
+
case "assistant":
|
|
166
|
+
for (const block of m.thinking_blocks ?? []) {
|
|
167
|
+
if (block.type === "thinking") {
|
|
168
|
+
candidate += `<${String(index)}><assistant-thinking>:` + block.thinking;
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
candidate += `<${String(index)}><assistant>:` + formatAssistantContent(m.content);
|
|
172
|
+
for (const t of m.tool_calls ?? []) {
|
|
173
|
+
candidate += `<tool-call id=${t.id} name=${t.function.name}>:` + t.function.arguments;
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
return candidate;
|
|
178
|
+
}
|
|
179
|
+
var ContextCompaction = class {
|
|
180
|
+
modelClient;
|
|
181
|
+
compactionThresholdTokens;
|
|
182
|
+
constructor(input) {
|
|
183
|
+
this.modelClient = input.modelClient;
|
|
184
|
+
this.compactionThresholdTokens = input.compactionThresholdTokens;
|
|
185
|
+
}
|
|
186
|
+
async *processPreLLM(execution) {
|
|
187
|
+
const contextTokens = execution.currentContextUsage.prompt_tokens + execution.currentContextUsage.completion_tokens;
|
|
188
|
+
if (contextTokens + PROMPT_TOKENS < this.compactionThresholdTokens) {
|
|
189
|
+
return;
|
|
190
|
+
}
|
|
191
|
+
const body = {
|
|
192
|
+
messages: [
|
|
193
|
+
{ role: "user", content: createSummarizationCandidate(execution.context) },
|
|
194
|
+
{ role: "user", content: PROMPT }
|
|
195
|
+
],
|
|
196
|
+
stream: false
|
|
197
|
+
};
|
|
198
|
+
const response = await this.modelClient.createNonStream(body);
|
|
199
|
+
const context = [{ role: "assistant", content: response.output.content }, CONTINUATION_MESSAGE];
|
|
200
|
+
yield {
|
|
201
|
+
type: import_schema.EventType.AGENT_CONTEXT_OVERWRITE,
|
|
202
|
+
id: (0, import_schema.newEventId)(),
|
|
203
|
+
created_at: (/* @__PURE__ */ new Date()).toISOString(),
|
|
204
|
+
reason: "compaction",
|
|
205
|
+
context,
|
|
206
|
+
current_context_usage: {
|
|
207
|
+
// NOTE(agent): This is not really correct.
|
|
208
|
+
// This is not taking into account that the original request had
|
|
209
|
+
// tool definition in them.
|
|
210
|
+
// This will get refreshed in the next LLM call.
|
|
211
|
+
prompt_tokens: response.usage.input_tokens + CONTINUATION_MESSAGE_TOKENS,
|
|
212
|
+
completion_tokens: 0
|
|
213
|
+
},
|
|
214
|
+
usage: response.usage
|
|
215
|
+
};
|
|
216
|
+
}
|
|
217
|
+
};
|
|
218
|
+
function contextCompaction(options) {
|
|
219
|
+
const threshold = options.compactionThresholdTokens ?? options.settings?.compactionThresholdTokens ?? DEFAULT_CONTEXT_COMPACTION_THRESHOLD_TOKENS;
|
|
220
|
+
return {
|
|
221
|
+
preLLMProcessors: [
|
|
222
|
+
new ContextCompaction({
|
|
223
|
+
modelClient: options.definition.modelClient,
|
|
224
|
+
compactionThresholdTokens: threshold
|
|
225
|
+
})
|
|
226
|
+
]
|
|
227
|
+
};
|
|
228
|
+
}
|
|
229
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
230
|
+
0 && (module.exports = {
|
|
231
|
+
ContextCompaction,
|
|
232
|
+
DEFAULT_CONTEXT_COMPACTION_THRESHOLD_TOKENS,
|
|
233
|
+
contextCompaction
|
|
234
|
+
});
|
|
235
|
+
//# sourceMappingURL=ContextCompaction.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/core/capabilities/builtins/ContextCompaction.ts"],"sourcesContent":["import { EventType, newEventId } from '../../events/schema';\nimport type { ILLM, LLMCreateParams } from '../../llm/ILLM';\nimport type { AgentDefinition } from '../../runtime/AgentDefinition';\nimport type { ContextMessage } from '../../runtime/AgentThread.types';\nimport { internalSystemMessage, isInternalSystemMessage, isLLMContextMessage } from '../../runtime/contextUtils';\nimport type { AgentCapability } from '../AgentCapability';\nimport type {\n AgentContextProcessorOutput,\n AgentThreadExecutionContext,\n PreLLMAgentContextProcessor,\n} from '../AgentContextProcessor';\n\nexport const DEFAULT_CONTEXT_COMPACTION_THRESHOLD_TOKENS = 50 * 1000;\n\n// https://platform.openai.com/tokenizer\nconst PROMPT_TOKENS = 931;\nconst PROMPT = `\nYour task is to create a detailed summary of the conversation so far, paying close attention to the user's explicit requests and your previous actions.\nThis summary should be thorough in capturing technical details, code patterns, and architectural decisions that would be essential for continuing development work without losing context.\n\nBefore providing your final summary, wrap your analysis in <analysis> tags to organize your thoughts and ensure you've covered all necessary points. In your analysis process:\n\n1. Chronologically analyze each message and section of the conversation. For each section thoroughly identify:\n - The user's explicit requests and intents\n - Your approach to addressing the user's requests\n - Key decisions, technical concepts and code patterns\n - Specific details like:\n - file names\n - full code snippets\n - function signatures\n - file edits\n - Errors that you ran into and how you fixed them\n - Pay special attention to specific user feedback that you received, especially if the user told you to do something differently.\n2. Double-check for technical accuracy and completeness, addressing each required element thoroughly.\n\nYour summary should include the following sections:\n\n1. Primary Request and Intent: Capture all of the user's explicit requests and intents in detail\n2. Key Technical Concepts: List all important technical concepts, technologies, and frameworks discussed.\n3. Files and Code Sections: Enumerate specific files and code sections examined, modified, or created. Pay special attention to the most recent messages and include full code snippets where applicable and include a summary of why this file read or edit is important.\n4. Errors and fixes: List all errors that you ran into, and how you fixed them. Pay special attention to specific user feedback that you received, especially if the user told you to do something differently.\n5. Problem Solving: Document problems solved and any ongoing troubleshooting efforts.\n6. All user messages: List ALL user messages that are not tool results. These are critical for understanding the users' feedback and changing intent.\n6. Pending Tasks: Outline any pending tasks that you have explicitly been asked to work on.\n7. Current Work: Describe in detail precisely what was being worked on immediately before this summary request, paying special attention to the most recent messages from both user and assistant. Include file names and code snippets where applicable.\n8. Optional Next Step: List the next step that you will take that is related to the most recent work you were doing. IMPORTANT: ensure that this step is DIRECTLY in line with the user's most recent explicit requests, and the task you were working on immediately before this summary request. If your last task was concluded, then only list next steps if they are explicitly in line with the users request. Do not start on tangential requests or really old requests that were already completed without confirming with the user first.\n If there is a next step, include direct quotes from the most recent conversation showing exactly what task you were working on and where you left off. This should be verbatim to ensure there's no drift in task interpretation.\n\nHere's an example of how your output should be structured:\n\n<example>\n<analysis>\n[Your thought process, ensuring all points are covered thoroughly and accurately]\n</analysis>\n\n<summary>\n1. Primary Request and Intent:\n [Detailed description]\n\n2. Key Technical Concepts:\n - [Concept 1]\n - [Concept 2]\n - [...]\n\n\n3. Errors and fixes:\n - [Detailed description of error 1]:\n - [How you fixed the error]\n - [User feedback on the error if any]\n - [...]\n\n4. Problem Solving:\n [Description of solved problems and ongoing troubleshooting]\n\n5. All user messages: \n - [Detailed non tool use user message]\n - [...]\n\n6. Pending Tasks:\n - [Task 1]\n - [Task 2]\n - [...]\n\n7. Current Work:\n [Precise description of current work]\n\n8. Optional Next Step:\n [Optional Next step to take]\n\n</summary>\n</example>\n\nPlease provide your summary based on the conversation so far, following this structure and ensuring precision and thoroughness in your response. \n\nThere may be additional summarization instructions provided in the included context. If so, remember to follow these instructions when creating the above summary. Examples of instructions include:\n<example>\n## Compact Instructions\nWhen summarizing the conversation focus on typescript code changes and also remember the mistakes you made and how you fixed them.\n</example>\n\n<example>\n# Summary instructions\nWhen you are using compact - please focus on test output and code changes. Include file reads verbatim.\n</example>\n`;\n\nconst CONTINUATION_MESSAGE = internalSystemMessage(\n 'The above is the summarised context of the work so far. The Agent must not repeat or re-run any work that was already completed. If results were already obtained, the Agent should present them directly.',\n);\nObject.freeze(CONTINUATION_MESSAGE);\n// https://platform.openai.com/tokenizer\nconst CONTINUATION_MESSAGE_TOKENS = 42;\n\nfunction formatAssistantContent(\n content: string | ({ type: 'text'; text: string } | { type: 'refusal'; refusal: string })[] | null | undefined,\n): string {\n if (typeof content === 'string') {\n return content;\n }\n if (!content) {\n return '';\n }\n return content.map(part => (part.type === 'text' ? part.text : part.refusal)).join('\\n');\n}\n\nfunction createSummarizationCandidate(context: ContextMessage[]) {\n let candidate = '';\n let index = -1;\n for (const m of context) {\n index += 1;\n if (isInternalSystemMessage(m)) {\n continue;\n }\n if (!isLLMContextMessage(m)) {\n continue;\n }\n switch (m.role) {\n case 'user':\n if (typeof m.content === 'string') {\n candidate += `<${String(index)}><user>:` + m.content;\n } else {\n const parts: string[] = [];\n for (const p of m.content) {\n if (p.type === 'text') {\n parts.push(p.text);\n } else {\n parts.push(`[user attached a ${p.type} here, no longer available after summarization]`);\n }\n }\n candidate += `<${String(index)}><user>:` + parts.join('\\n');\n }\n break;\n case 'tool':\n candidate += `<${String(index)}><tool-response id=${m.tool_call_id}>:` + m.content;\n break;\n case 'assistant':\n for (const block of m.thinking_blocks ?? []) {\n if (block.type === 'thinking') {\n candidate += `<${String(index)}><assistant-thinking>:` + block.thinking;\n }\n }\n candidate += `<${String(index)}><assistant>:` + formatAssistantContent(m.content);\n for (const t of m.tool_calls ?? []) {\n candidate += `<tool-call id=${t.id} name=${t.function.name}>:` + t.function.arguments;\n }\n }\n }\n return candidate;\n}\n\nexport class ContextCompaction implements PreLLMAgentContextProcessor {\n private modelClient: ILLM;\n private compactionThresholdTokens: number;\n\n constructor(input: { modelClient: ILLM; compactionThresholdTokens: number }) {\n this.modelClient = input.modelClient;\n this.compactionThresholdTokens = input.compactionThresholdTokens;\n }\n\n async *processPreLLM(\n execution: Readonly<AgentThreadExecutionContext>,\n ): AsyncGenerator<AgentContextProcessorOutput, void, unknown> {\n const contextTokens = execution.currentContextUsage.prompt_tokens + execution.currentContextUsage.completion_tokens;\n if (contextTokens + PROMPT_TOKENS < this.compactionThresholdTokens) {\n return;\n }\n\n // Model identity is owned by modelClient — omit OpenAI's required `model` field.\n const body: LLMCreateParams = {\n messages: [\n { role: 'user', content: createSummarizationCandidate(execution.context) },\n { role: 'user', content: PROMPT },\n ],\n stream: false,\n };\n\n const response = await this.modelClient.createNonStream(body);\n const context: ContextMessage[] = [{ role: 'assistant', content: response.output.content }, CONTINUATION_MESSAGE];\n\n yield {\n type: EventType.AGENT_CONTEXT_OVERWRITE,\n id: newEventId(),\n created_at: new Date().toISOString(),\n reason: 'compaction',\n context: context,\n current_context_usage: {\n // NOTE(agent): This is not really correct.\n // This is not taking into account that the original request had\n // tool definition in them.\n // This will get refreshed in the next LLM call.\n prompt_tokens: response.usage.input_tokens + CONTINUATION_MESSAGE_TOKENS,\n completion_tokens: 0,\n },\n usage: response.usage,\n };\n }\n}\n\nexport interface ContextCompactionSettings {\n compactionThresholdTokens?: number | undefined;\n}\n\nexport function contextCompaction(options: {\n definition: AgentDefinition;\n settings?: ContextCompactionSettings | undefined;\n compactionThresholdTokens?: number | undefined;\n}): AgentCapability {\n const threshold =\n options.compactionThresholdTokens ??\n options.settings?.compactionThresholdTokens ??\n DEFAULT_CONTEXT_COMPACTION_THRESHOLD_TOKENS;\n return {\n preLLMProcessors: [\n new ContextCompaction({\n modelClient: options.definition.modelClient,\n compactionThresholdTokens: threshold,\n }),\n ],\n };\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAAsC;AAItC,0BAAoF;AAQ7E,IAAM,8CAA8C,KAAK;AAGhE,IAAM,gBAAgB;AACtB,IAAM,SAAS;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA0Ff,IAAM,2BAAuB;AAAA,EAC3B;AACF;AACA,OAAO,OAAO,oBAAoB;AAElC,IAAM,8BAA8B;AAEpC,SAAS,uBACP,SACQ;AACR,MAAI,OAAO,YAAY,UAAU;AAC/B,WAAO;AAAA,EACT;AACA,MAAI,CAAC,SAAS;AACZ,WAAO;AAAA,EACT;AACA,SAAO,QAAQ,IAAI,UAAS,KAAK,SAAS,SAAS,KAAK,OAAO,KAAK,OAAQ,EAAE,KAAK,IAAI;AACzF;AAEA,SAAS,6BAA6B,SAA2B;AAC/D,MAAI,YAAY;AAChB,MAAI,QAAQ;AACZ,aAAW,KAAK,SAAS;AACvB,aAAS;AACT,YAAI,6CAAwB,CAAC,GAAG;AAC9B;AAAA,IACF;AACA,QAAI,KAAC,yCAAoB,CAAC,GAAG;AAC3B;AAAA,IACF;AACA,YAAQ,EAAE,MAAM;AAAA,MACd,KAAK;AACH,YAAI,OAAO,EAAE,YAAY,UAAU;AACjC,uBAAa,IAAI,OAAO,KAAK,CAAC,aAAa,EAAE;AAAA,QAC/C,OAAO;AACL,gBAAM,QAAkB,CAAC;AACzB,qBAAW,KAAK,EAAE,SAAS;AACzB,gBAAI,EAAE,SAAS,QAAQ;AACrB,oBAAM,KAAK,EAAE,IAAI;AAAA,YACnB,OAAO;AACL,oBAAM,KAAK,oBAAoB,EAAE,IAAI,iDAAiD;AAAA,YACxF;AAAA,UACF;AACA,uBAAa,IAAI,OAAO,KAAK,CAAC,aAAa,MAAM,KAAK,IAAI;AAAA,QAC5D;AACA;AAAA,MACF,KAAK;AACH,qBAAa,IAAI,OAAO,KAAK,CAAC,sBAAsB,EAAE,YAAY,OAAO,EAAE;AAC3E;AAAA,MACF,KAAK;AACH,mBAAW,SAAS,EAAE,mBAAmB,CAAC,GAAG;AAC3C,cAAI,MAAM,SAAS,YAAY;AAC7B,yBAAa,IAAI,OAAO,KAAK,CAAC,2BAA2B,MAAM;AAAA,UACjE;AAAA,QACF;AACA,qBAAa,IAAI,OAAO,KAAK,CAAC,kBAAkB,uBAAuB,EAAE,OAAO;AAChF,mBAAW,KAAK,EAAE,cAAc,CAAC,GAAG;AAClC,uBAAa,iBAAiB,EAAE,EAAE,SAAS,EAAE,SAAS,IAAI,OAAO,EAAE,SAAS;AAAA,QAC9E;AAAA,IACJ;AAAA,EACF;AACA,SAAO;AACT;AAEO,IAAM,oBAAN,MAA+D;AAAA,EAC5D;AAAA,EACA;AAAA,EAER,YAAY,OAAiE;AAC3E,SAAK,cAAc,MAAM;AACzB,SAAK,4BAA4B,MAAM;AAAA,EACzC;AAAA,EAEA,OAAO,cACL,WAC4D;AAC5D,UAAM,gBAAgB,UAAU,oBAAoB,gBAAgB,UAAU,oBAAoB;AAClG,QAAI,gBAAgB,gBAAgB,KAAK,2BAA2B;AAClE;AAAA,IACF;AAGA,UAAM,OAAwB;AAAA,MAC5B,UAAU;AAAA,QACR,EAAE,MAAM,QAAQ,SAAS,6BAA6B,UAAU,OAAO,EAAE;AAAA,QACzE,EAAE,MAAM,QAAQ,SAAS,OAAO;AAAA,MAClC;AAAA,MACA,QAAQ;AAAA,IACV;AAEA,UAAM,WAAW,MAAM,KAAK,YAAY,gBAAgB,IAAI;AAC5D,UAAM,UAA4B,CAAC,EAAE,MAAM,aAAa,SAAS,SAAS,OAAO,QAAQ,GAAG,oBAAoB;AAEhH,UAAM;AAAA,MACJ,MAAM,wBAAU;AAAA,MAChB,QAAI,0BAAW;AAAA,MACf,aAAY,oBAAI,KAAK,GAAE,YAAY;AAAA,MACnC,QAAQ;AAAA,MACR;AAAA,MACA,uBAAuB;AAAA;AAAA;AAAA;AAAA;AAAA,QAKrB,eAAe,SAAS,MAAM,eAAe;AAAA,QAC7C,mBAAmB;AAAA,MACrB;AAAA,MACA,OAAO,SAAS;AAAA,IAClB;AAAA,EACF;AACF;AAMO,SAAS,kBAAkB,SAId;AAClB,QAAM,YACJ,QAAQ,6BACR,QAAQ,UAAU,6BAClB;AACF,SAAO;AAAA,IACL,kBAAkB;AAAA,MAChB,IAAI,kBAAkB;AAAA,QACpB,aAAa,QAAQ,WAAW;AAAA,QAChC,2BAA2B;AAAA,MAC7B,CAAC;AAAA,IACH;AAAA,EACF;AACF;","names":[]}
|