@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 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/core/util/errorLogFields.ts"],"sourcesContent":["export interface ErrorLogFields {\n error: string;\n stack?: string | undefined;\n}\n\nfunction formatObjectErrorForLog(error: object): string {\n try {\n return JSON.stringify(error);\n } catch {\n return `unserialisable error (${Object.keys(error).join(', ')})`;\n }\n}\n\n/**\n * User/turn-facing message for any thrown value. Prefer Error.message / `.message`;\n * never surface developer-only strings (e.g. unserialisable dumps) in Agent Steps.\n */\nexport function describeUnknownError(error: unknown): string {\n if (error instanceof Error) {\n return error.message.length > 0 ? error.message : 'An unexpected error occurred';\n }\n if (typeof error !== 'object' || error === null) {\n return String(error);\n }\n const message: unknown = Reflect.get(error, 'message');\n if (typeof message === 'string' && message.length > 0) {\n return message;\n }\n try {\n return JSON.stringify(error);\n } catch {\n return 'An unexpected error occurred';\n }\n}\n\nexport function extractErrorLogFields(error: unknown): ErrorLogFields {\n if (error instanceof Error) {\n return {\n error: error.message.length > 0 ? error.message : formatObjectErrorForLog(error),\n stack: error.stack,\n };\n }\n if (typeof error !== 'object' || error === null) {\n return { error: String(error) };\n }\n const message: unknown = Reflect.get(error, 'message');\n if (typeof message === 'string' && message.length > 0) {\n return { error: message };\n }\n return { error: formatObjectErrorForLog(error) };\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAKA,SAAS,wBAAwB,OAAuB;AACtD,MAAI;AACF,WAAO,KAAK,UAAU,KAAK;AAAA,EAC7B,QAAQ;AACN,WAAO,yBAAyB,OAAO,KAAK,KAAK,EAAE,KAAK,IAAI,CAAC;AAAA,EAC/D;AACF;AAMO,SAAS,qBAAqB,OAAwB;AAC3D,MAAI,iBAAiB,OAAO;AAC1B,WAAO,MAAM,QAAQ,SAAS,IAAI,MAAM,UAAU;AAAA,EACpD;AACA,MAAI,OAAO,UAAU,YAAY,UAAU,MAAM;AAC/C,WAAO,OAAO,KAAK;AAAA,EACrB;AACA,QAAM,UAAmB,QAAQ,IAAI,OAAO,SAAS;AACrD,MAAI,OAAO,YAAY,YAAY,QAAQ,SAAS,GAAG;AACrD,WAAO;AAAA,EACT;AACA,MAAI;AACF,WAAO,KAAK,UAAU,KAAK;AAAA,EAC7B,QAAQ;AACN,WAAO;AAAA,EACT;AACF;AAEO,SAAS,sBAAsB,OAAgC;AACpE,MAAI,iBAAiB,OAAO;AAC1B,WAAO;AAAA,MACL,OAAO,MAAM,QAAQ,SAAS,IAAI,MAAM,UAAU,wBAAwB,KAAK;AAAA,MAC/E,OAAO,MAAM;AAAA,IACf;AAAA,EACF;AACA,MAAI,OAAO,UAAU,YAAY,UAAU,MAAM;AAC/C,WAAO,EAAE,OAAO,OAAO,KAAK,EAAE;AAAA,EAChC;AACA,QAAM,UAAmB,QAAQ,IAAI,OAAO,SAAS;AACrD,MAAI,OAAO,YAAY,YAAY,QAAQ,SAAS,GAAG;AACrD,WAAO,EAAE,OAAO,QAAQ;AAAA,EAC1B;AACA,SAAO,EAAE,OAAO,wBAAwB,KAAK,EAAE;AACjD;","names":[]}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
// src/core/util/errorLogFields.ts
|
|
2
|
+
function formatObjectErrorForLog(error) {
|
|
3
|
+
try {
|
|
4
|
+
return JSON.stringify(error);
|
|
5
|
+
} catch {
|
|
6
|
+
return `unserialisable error (${Object.keys(error).join(", ")})`;
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
function describeUnknownError(error) {
|
|
10
|
+
if (error instanceof Error) {
|
|
11
|
+
return error.message.length > 0 ? error.message : "An unexpected error occurred";
|
|
12
|
+
}
|
|
13
|
+
if (typeof error !== "object" || error === null) {
|
|
14
|
+
return String(error);
|
|
15
|
+
}
|
|
16
|
+
const message = Reflect.get(error, "message");
|
|
17
|
+
if (typeof message === "string" && message.length > 0) {
|
|
18
|
+
return message;
|
|
19
|
+
}
|
|
20
|
+
try {
|
|
21
|
+
return JSON.stringify(error);
|
|
22
|
+
} catch {
|
|
23
|
+
return "An unexpected error occurred";
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
function extractErrorLogFields(error) {
|
|
27
|
+
if (error instanceof Error) {
|
|
28
|
+
return {
|
|
29
|
+
error: error.message.length > 0 ? error.message : formatObjectErrorForLog(error),
|
|
30
|
+
stack: error.stack
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
if (typeof error !== "object" || error === null) {
|
|
34
|
+
return { error: String(error) };
|
|
35
|
+
}
|
|
36
|
+
const message = Reflect.get(error, "message");
|
|
37
|
+
if (typeof message === "string" && message.length > 0) {
|
|
38
|
+
return { error: message };
|
|
39
|
+
}
|
|
40
|
+
return { error: formatObjectErrorForLog(error) };
|
|
41
|
+
}
|
|
42
|
+
export {
|
|
43
|
+
describeUnknownError,
|
|
44
|
+
extractErrorLogFields
|
|
45
|
+
};
|
|
46
|
+
//# sourceMappingURL=errorLogFields.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/core/util/errorLogFields.ts"],"sourcesContent":["export interface ErrorLogFields {\n error: string;\n stack?: string | undefined;\n}\n\nfunction formatObjectErrorForLog(error: object): string {\n try {\n return JSON.stringify(error);\n } catch {\n return `unserialisable error (${Object.keys(error).join(', ')})`;\n }\n}\n\n/**\n * User/turn-facing message for any thrown value. Prefer Error.message / `.message`;\n * never surface developer-only strings (e.g. unserialisable dumps) in Agent Steps.\n */\nexport function describeUnknownError(error: unknown): string {\n if (error instanceof Error) {\n return error.message.length > 0 ? error.message : 'An unexpected error occurred';\n }\n if (typeof error !== 'object' || error === null) {\n return String(error);\n }\n const message: unknown = Reflect.get(error, 'message');\n if (typeof message === 'string' && message.length > 0) {\n return message;\n }\n try {\n return JSON.stringify(error);\n } catch {\n return 'An unexpected error occurred';\n }\n}\n\nexport function extractErrorLogFields(error: unknown): ErrorLogFields {\n if (error instanceof Error) {\n return {\n error: error.message.length > 0 ? error.message : formatObjectErrorForLog(error),\n stack: error.stack,\n };\n }\n if (typeof error !== 'object' || error === null) {\n return { error: String(error) };\n }\n const message: unknown = Reflect.get(error, 'message');\n if (typeof message === 'string' && message.length > 0) {\n return { error: message };\n }\n return { error: formatObjectErrorForLog(error) };\n}\n"],"mappings":";AAKA,SAAS,wBAAwB,OAAuB;AACtD,MAAI;AACF,WAAO,KAAK,UAAU,KAAK;AAAA,EAC7B,QAAQ;AACN,WAAO,yBAAyB,OAAO,KAAK,KAAK,EAAE,KAAK,IAAI,CAAC;AAAA,EAC/D;AACF;AAMO,SAAS,qBAAqB,OAAwB;AAC3D,MAAI,iBAAiB,OAAO;AAC1B,WAAO,MAAM,QAAQ,SAAS,IAAI,MAAM,UAAU;AAAA,EACpD;AACA,MAAI,OAAO,UAAU,YAAY,UAAU,MAAM;AAC/C,WAAO,OAAO,KAAK;AAAA,EACrB;AACA,QAAM,UAAmB,QAAQ,IAAI,OAAO,SAAS;AACrD,MAAI,OAAO,YAAY,YAAY,QAAQ,SAAS,GAAG;AACrD,WAAO;AAAA,EACT;AACA,MAAI;AACF,WAAO,KAAK,UAAU,KAAK;AAAA,EAC7B,QAAQ;AACN,WAAO;AAAA,EACT;AACF;AAEO,SAAS,sBAAsB,OAAgC;AACpE,MAAI,iBAAiB,OAAO;AAC1B,WAAO;AAAA,MACL,OAAO,MAAM,QAAQ,SAAS,IAAI,MAAM,UAAU,wBAAwB,KAAK;AAAA,MAC/E,OAAO,MAAM;AAAA,IACf;AAAA,EACF;AACA,MAAI,OAAO,UAAU,YAAY,UAAU,MAAM;AAC/C,WAAO,EAAE,OAAO,OAAO,KAAK,EAAE;AAAA,EAChC;AACA,QAAM,UAAmB,QAAQ,IAAI,OAAO,SAAS;AACrD,MAAI,OAAO,YAAY,YAAY,QAAQ,SAAS,GAAG;AACrD,WAAO,EAAE,OAAO,QAAQ;AAAA,EAC1B;AACA,SAAO,EAAE,OAAO,wBAAwB,KAAK,EAAE;AACjD;","names":[]}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { Logger } from 'winston';
|
|
2
|
+
export declare class PromiseTimeoutError extends Error {
|
|
3
|
+
constructor(message: string);
|
|
4
|
+
}
|
|
5
|
+
export declare function withTimeout<T>(p: Promise<T>, ms: number, label?: string): Promise<T>;
|
|
6
|
+
export declare function mergeAsyncGenerators<T>(generators: AsyncGenerator<T>[], logger: Logger): AsyncGenerator<T, void, unknown>;
|
|
7
|
+
//# sourceMappingURL=promiseUtils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"promiseUtils.d.ts","sourceRoot":"","sources":["../../../src/core/util/promiseUtils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAGtC,qBAAa,mBAAoB,SAAQ,KAAK;IAC5C,YAAY,OAAO,EAAE,MAAM,EAG1B;CACF;AAED,wBAAgB,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAgBpF;AAED,wBAAuB,oBAAoB,CAAC,CAAC,EAC3C,UAAU,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,EAC/B,MAAM,EAAE,MAAM,GACb,cAAc,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,CAiClC"}
|
|
@@ -0,0 +1,82 @@
|
|
|
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/util/promiseUtils.ts
|
|
21
|
+
var promiseUtils_exports = {};
|
|
22
|
+
__export(promiseUtils_exports, {
|
|
23
|
+
PromiseTimeoutError: () => PromiseTimeoutError,
|
|
24
|
+
mergeAsyncGenerators: () => mergeAsyncGenerators,
|
|
25
|
+
withTimeout: () => withTimeout
|
|
26
|
+
});
|
|
27
|
+
module.exports = __toCommonJS(promiseUtils_exports);
|
|
28
|
+
var import_errorLogFields = require("./errorLogFields.js");
|
|
29
|
+
var PromiseTimeoutError = class extends Error {
|
|
30
|
+
constructor(message) {
|
|
31
|
+
super(message);
|
|
32
|
+
this.name = "PromiseTimeoutError";
|
|
33
|
+
}
|
|
34
|
+
};
|
|
35
|
+
function withTimeout(p, ms, label) {
|
|
36
|
+
let timer;
|
|
37
|
+
const timeout = new Promise((_, reject) => {
|
|
38
|
+
timer = setTimeout(() => {
|
|
39
|
+
reject(
|
|
40
|
+
new PromiseTimeoutError(
|
|
41
|
+
label ? `Timed out after ${String(ms)}ms (${label})` : `Timed out after ${String(ms)}ms`
|
|
42
|
+
)
|
|
43
|
+
);
|
|
44
|
+
}, ms);
|
|
45
|
+
});
|
|
46
|
+
return Promise.race([p, timeout]).finally(() => {
|
|
47
|
+
clearTimeout(timer);
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
async function* mergeAsyncGenerators(generators, logger) {
|
|
51
|
+
const pending = /* @__PURE__ */ new Map();
|
|
52
|
+
const getNextIteration = (idx) => {
|
|
53
|
+
const generator = generators[idx];
|
|
54
|
+
if (generator === void 0) {
|
|
55
|
+
throw new Error(`Unreachable: missing generator at index ${String(idx)}`);
|
|
56
|
+
}
|
|
57
|
+
const nextPromise = generator.next().then((result) => ({ idx, result }));
|
|
58
|
+
nextPromise.catch((error) => {
|
|
59
|
+
logger.error(`Unexpected error in mergeAsyncGenerators generator ${String(idx)}`, (0, import_errorLogFields.extractErrorLogFields)(error));
|
|
60
|
+
});
|
|
61
|
+
return nextPromise;
|
|
62
|
+
};
|
|
63
|
+
for (let i = 0; i < generators.length; i++) {
|
|
64
|
+
pending.set(i, getNextIteration(i));
|
|
65
|
+
}
|
|
66
|
+
while (pending.size > 0) {
|
|
67
|
+
const { idx, result } = await Promise.race(pending.values());
|
|
68
|
+
if (result.done) {
|
|
69
|
+
pending.delete(idx);
|
|
70
|
+
continue;
|
|
71
|
+
}
|
|
72
|
+
yield result.value;
|
|
73
|
+
pending.set(idx, getNextIteration(idx));
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
77
|
+
0 && (module.exports = {
|
|
78
|
+
PromiseTimeoutError,
|
|
79
|
+
mergeAsyncGenerators,
|
|
80
|
+
withTimeout
|
|
81
|
+
});
|
|
82
|
+
//# sourceMappingURL=promiseUtils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/core/util/promiseUtils.ts"],"sourcesContent":["import type { Logger } from 'winston';\nimport { extractErrorLogFields } from './errorLogFields';\n\nexport class PromiseTimeoutError extends Error {\n constructor(message: string) {\n super(message);\n this.name = 'PromiseTimeoutError';\n }\n}\n\nexport function withTimeout<T>(p: Promise<T>, ms: number, label?: string): Promise<T> {\n let timer: ReturnType<typeof setTimeout>;\n\n const timeout = new Promise<never>((_, reject) => {\n timer = setTimeout(() => {\n reject(\n new PromiseTimeoutError(\n label ? `Timed out after ${String(ms)}ms (${label})` : `Timed out after ${String(ms)}ms`,\n ),\n );\n }, ms);\n });\n\n return Promise.race([p, timeout]).finally(() => {\n clearTimeout(timer);\n });\n}\n\nexport async function* mergeAsyncGenerators<T>(\n generators: AsyncGenerator<T>[],\n logger: Logger,\n): AsyncGenerator<T, void, unknown> {\n interface PendingResult {\n idx: number;\n result: IteratorResult<T, void>;\n }\n const pending = new Map<number, Promise<PendingResult>>();\n\n const getNextIteration = (idx: number): Promise<PendingResult> => {\n const generator = generators[idx];\n if (generator === undefined) {\n throw new Error(`Unreachable: missing generator at index ${String(idx)}`);\n }\n const nextPromise = generator.next().then(result => ({ idx, result }));\n nextPromise.catch((error: unknown) => {\n logger.error(`Unexpected error in mergeAsyncGenerators generator ${String(idx)}`, extractErrorLogFields(error));\n });\n return nextPromise;\n };\n\n for (let i = 0; i < generators.length; i++) {\n pending.set(i, getNextIteration(i));\n }\n\n while (pending.size > 0) {\n const { idx, result } = await Promise.race(pending.values());\n if (result.done) {\n pending.delete(idx);\n continue;\n }\n\n yield result.value;\n pending.set(idx, getNextIteration(idx));\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,4BAAsC;AAE/B,IAAM,sBAAN,cAAkC,MAAM;AAAA,EAC7C,YAAY,SAAiB;AAC3B,UAAM,OAAO;AACb,SAAK,OAAO;AAAA,EACd;AACF;AAEO,SAAS,YAAe,GAAe,IAAY,OAA4B;AACpF,MAAI;AAEJ,QAAM,UAAU,IAAI,QAAe,CAAC,GAAG,WAAW;AAChD,YAAQ,WAAW,MAAM;AACvB;AAAA,QACE,IAAI;AAAA,UACF,QAAQ,mBAAmB,OAAO,EAAE,CAAC,OAAO,KAAK,MAAM,mBAAmB,OAAO,EAAE,CAAC;AAAA,QACtF;AAAA,MACF;AAAA,IACF,GAAG,EAAE;AAAA,EACP,CAAC;AAED,SAAO,QAAQ,KAAK,CAAC,GAAG,OAAO,CAAC,EAAE,QAAQ,MAAM;AAC9C,iBAAa,KAAK;AAAA,EACpB,CAAC;AACH;AAEA,gBAAuB,qBACrB,YACA,QACkC;AAKlC,QAAM,UAAU,oBAAI,IAAoC;AAExD,QAAM,mBAAmB,CAAC,QAAwC;AAChE,UAAM,YAAY,WAAW,GAAG;AAChC,QAAI,cAAc,QAAW;AAC3B,YAAM,IAAI,MAAM,2CAA2C,OAAO,GAAG,CAAC,EAAE;AAAA,IAC1E;AACA,UAAM,cAAc,UAAU,KAAK,EAAE,KAAK,aAAW,EAAE,KAAK,OAAO,EAAE;AACrE,gBAAY,MAAM,CAAC,UAAmB;AACpC,aAAO,MAAM,sDAAsD,OAAO,GAAG,CAAC,QAAI,6CAAsB,KAAK,CAAC;AAAA,IAChH,CAAC;AACD,WAAO;AAAA,EACT;AAEA,WAAS,IAAI,GAAG,IAAI,WAAW,QAAQ,KAAK;AAC1C,YAAQ,IAAI,GAAG,iBAAiB,CAAC,CAAC;AAAA,EACpC;AAEA,SAAO,QAAQ,OAAO,GAAG;AACvB,UAAM,EAAE,KAAK,OAAO,IAAI,MAAM,QAAQ,KAAK,QAAQ,OAAO,CAAC;AAC3D,QAAI,OAAO,MAAM;AACf,cAAQ,OAAO,GAAG;AAClB;AAAA,IACF;AAEA,UAAM,OAAO;AACb,YAAQ,IAAI,KAAK,iBAAiB,GAAG,CAAC;AAAA,EACxC;AACF;","names":[]}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
// src/core/util/promiseUtils.ts
|
|
2
|
+
import { extractErrorLogFields } from "./errorLogFields.mjs";
|
|
3
|
+
var PromiseTimeoutError = class extends Error {
|
|
4
|
+
constructor(message) {
|
|
5
|
+
super(message);
|
|
6
|
+
this.name = "PromiseTimeoutError";
|
|
7
|
+
}
|
|
8
|
+
};
|
|
9
|
+
function withTimeout(p, ms, label) {
|
|
10
|
+
let timer;
|
|
11
|
+
const timeout = new Promise((_, reject) => {
|
|
12
|
+
timer = setTimeout(() => {
|
|
13
|
+
reject(
|
|
14
|
+
new PromiseTimeoutError(
|
|
15
|
+
label ? `Timed out after ${String(ms)}ms (${label})` : `Timed out after ${String(ms)}ms`
|
|
16
|
+
)
|
|
17
|
+
);
|
|
18
|
+
}, ms);
|
|
19
|
+
});
|
|
20
|
+
return Promise.race([p, timeout]).finally(() => {
|
|
21
|
+
clearTimeout(timer);
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
async function* mergeAsyncGenerators(generators, logger) {
|
|
25
|
+
const pending = /* @__PURE__ */ new Map();
|
|
26
|
+
const getNextIteration = (idx) => {
|
|
27
|
+
const generator = generators[idx];
|
|
28
|
+
if (generator === void 0) {
|
|
29
|
+
throw new Error(`Unreachable: missing generator at index ${String(idx)}`);
|
|
30
|
+
}
|
|
31
|
+
const nextPromise = generator.next().then((result) => ({ idx, result }));
|
|
32
|
+
nextPromise.catch((error) => {
|
|
33
|
+
logger.error(`Unexpected error in mergeAsyncGenerators generator ${String(idx)}`, extractErrorLogFields(error));
|
|
34
|
+
});
|
|
35
|
+
return nextPromise;
|
|
36
|
+
};
|
|
37
|
+
for (let i = 0; i < generators.length; i++) {
|
|
38
|
+
pending.set(i, getNextIteration(i));
|
|
39
|
+
}
|
|
40
|
+
while (pending.size > 0) {
|
|
41
|
+
const { idx, result } = await Promise.race(pending.values());
|
|
42
|
+
if (result.done) {
|
|
43
|
+
pending.delete(idx);
|
|
44
|
+
continue;
|
|
45
|
+
}
|
|
46
|
+
yield result.value;
|
|
47
|
+
pending.set(idx, getNextIteration(idx));
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
export {
|
|
51
|
+
PromiseTimeoutError,
|
|
52
|
+
mergeAsyncGenerators,
|
|
53
|
+
withTimeout
|
|
54
|
+
};
|
|
55
|
+
//# sourceMappingURL=promiseUtils.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/core/util/promiseUtils.ts"],"sourcesContent":["import type { Logger } from 'winston';\nimport { extractErrorLogFields } from './errorLogFields';\n\nexport class PromiseTimeoutError extends Error {\n constructor(message: string) {\n super(message);\n this.name = 'PromiseTimeoutError';\n }\n}\n\nexport function withTimeout<T>(p: Promise<T>, ms: number, label?: string): Promise<T> {\n let timer: ReturnType<typeof setTimeout>;\n\n const timeout = new Promise<never>((_, reject) => {\n timer = setTimeout(() => {\n reject(\n new PromiseTimeoutError(\n label ? `Timed out after ${String(ms)}ms (${label})` : `Timed out after ${String(ms)}ms`,\n ),\n );\n }, ms);\n });\n\n return Promise.race([p, timeout]).finally(() => {\n clearTimeout(timer);\n });\n}\n\nexport async function* mergeAsyncGenerators<T>(\n generators: AsyncGenerator<T>[],\n logger: Logger,\n): AsyncGenerator<T, void, unknown> {\n interface PendingResult {\n idx: number;\n result: IteratorResult<T, void>;\n }\n const pending = new Map<number, Promise<PendingResult>>();\n\n const getNextIteration = (idx: number): Promise<PendingResult> => {\n const generator = generators[idx];\n if (generator === undefined) {\n throw new Error(`Unreachable: missing generator at index ${String(idx)}`);\n }\n const nextPromise = generator.next().then(result => ({ idx, result }));\n nextPromise.catch((error: unknown) => {\n logger.error(`Unexpected error in mergeAsyncGenerators generator ${String(idx)}`, extractErrorLogFields(error));\n });\n return nextPromise;\n };\n\n for (let i = 0; i < generators.length; i++) {\n pending.set(i, getNextIteration(i));\n }\n\n while (pending.size > 0) {\n const { idx, result } = await Promise.race(pending.values());\n if (result.done) {\n pending.delete(idx);\n continue;\n }\n\n yield result.value;\n pending.set(idx, getNextIteration(idx));\n }\n}\n"],"mappings":";AACA,SAAS,6BAA6B;AAE/B,IAAM,sBAAN,cAAkC,MAAM;AAAA,EAC7C,YAAY,SAAiB;AAC3B,UAAM,OAAO;AACb,SAAK,OAAO;AAAA,EACd;AACF;AAEO,SAAS,YAAe,GAAe,IAAY,OAA4B;AACpF,MAAI;AAEJ,QAAM,UAAU,IAAI,QAAe,CAAC,GAAG,WAAW;AAChD,YAAQ,WAAW,MAAM;AACvB;AAAA,QACE,IAAI;AAAA,UACF,QAAQ,mBAAmB,OAAO,EAAE,CAAC,OAAO,KAAK,MAAM,mBAAmB,OAAO,EAAE,CAAC;AAAA,QACtF;AAAA,MACF;AAAA,IACF,GAAG,EAAE;AAAA,EACP,CAAC;AAED,SAAO,QAAQ,KAAK,CAAC,GAAG,OAAO,CAAC,EAAE,QAAQ,MAAM;AAC9C,iBAAa,KAAK;AAAA,EACpB,CAAC;AACH;AAEA,gBAAuB,qBACrB,YACA,QACkC;AAKlC,QAAM,UAAU,oBAAI,IAAoC;AAExD,QAAM,mBAAmB,CAAC,QAAwC;AAChE,UAAM,YAAY,WAAW,GAAG;AAChC,QAAI,cAAc,QAAW;AAC3B,YAAM,IAAI,MAAM,2CAA2C,OAAO,GAAG,CAAC,EAAE;AAAA,IAC1E;AACA,UAAM,cAAc,UAAU,KAAK,EAAE,KAAK,aAAW,EAAE,KAAK,OAAO,EAAE;AACrE,gBAAY,MAAM,CAAC,UAAmB;AACpC,aAAO,MAAM,sDAAsD,OAAO,GAAG,CAAC,IAAI,sBAAsB,KAAK,CAAC;AAAA,IAChH,CAAC;AACD,WAAO;AAAA,EACT;AAEA,WAAS,IAAI,GAAG,IAAI,WAAW,QAAQ,KAAK;AAC1C,YAAQ,IAAI,GAAG,iBAAiB,CAAC,CAAC;AAAA,EACpC;AAEA,SAAO,QAAQ,OAAO,GAAG;AACvB,UAAM,EAAE,KAAK,OAAO,IAAI,MAAM,QAAQ,KAAK,QAAQ,OAAO,CAAC;AAC3D,QAAI,OAAO,MAAM;AACf,cAAQ,OAAO,GAAG;AAClB;AAAA,IACF;AAEA,UAAM,OAAO;AACb,YAAQ,IAAI,KAAK,iBAAiB,GAAG,CAAC;AAAA,EACxC;AACF;","names":[]}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,YAAY,MAAM,iBAAiB,CAAC;AAChD,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __export = (target, all) => {
|
|
9
|
+
for (var name in all)
|
|
10
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
+
};
|
|
12
|
+
var __copyProps = (to, from, except, desc) => {
|
|
13
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
+
for (let key of __getOwnPropNames(from))
|
|
15
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
|
+
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
22
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
23
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
25
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
26
|
+
mod
|
|
27
|
+
));
|
|
28
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
|
+
|
|
30
|
+
// src/index.ts
|
|
31
|
+
var index_exports = {};
|
|
32
|
+
__export(index_exports, {
|
|
33
|
+
agentSession: () => agentSession,
|
|
34
|
+
core: () => core
|
|
35
|
+
});
|
|
36
|
+
module.exports = __toCommonJS(index_exports);
|
|
37
|
+
var agentSession = __toESM(require("./agent-session/index.js"), 1);
|
|
38
|
+
var core = __toESM(require("./core/index.js"), 1);
|
|
39
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
40
|
+
0 && (module.exports = {
|
|
41
|
+
agentSession,
|
|
42
|
+
core
|
|
43
|
+
});
|
|
44
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/index.ts"],"sourcesContent":["/**\n * Root barrel for @truefoundry/trueforge-core.\n * Namespaced to avoid colliding event-schema exports between layers.\n */\nexport * as agentSession from './agent-session';\nexport * as core from './core';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAIA,mBAA8B;AAC9B,WAAsB;","names":[]}
|
package/dist/index.mjs
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/index.ts"],"sourcesContent":["/**\n * Root barrel for @truefoundry/trueforge-core.\n * Namespaced to avoid colliding event-schema exports between layers.\n */\nexport * as agentSession from './agent-session';\nexport * as core from './core';\n"],"mappings":";AAIA,YAAY,kBAAkB;AAC9B,YAAY,UAAU;","names":[]}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { RedisClientType } from 'redis';
|
|
2
|
+
import type { JSONReply, JSONValue, RequestEnvelope } from './types';
|
|
3
|
+
export interface SendRequestOptions {
|
|
4
|
+
/** Max time to wait for a reply after the request is published (ms). */
|
|
5
|
+
replyTimeoutMs: number;
|
|
6
|
+
/** Sleep between poll attempts when the reply is not yet present (ms). */
|
|
7
|
+
pollIntervalMs: number;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Publishes the request (JSON) on the worker channel, then polls the reply key with GETDEL
|
|
11
|
+
* (see https://redis.io/docs/latest/commands/getdel/ ) until a result arrives or the wait
|
|
12
|
+
* budget is exceeded.
|
|
13
|
+
*/
|
|
14
|
+
export declare function redisRequest<T extends JSONValue>({ redis: redisClient, executorId, path, request, options, }: {
|
|
15
|
+
redis: RedisClientType;
|
|
16
|
+
executorId: string;
|
|
17
|
+
path: string;
|
|
18
|
+
request: RequestEnvelope<T>;
|
|
19
|
+
options?: Partial<SendRequestOptions> | undefined;
|
|
20
|
+
}): Promise<JSONReply>;
|
|
21
|
+
//# sourceMappingURL=client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/request-reply/client.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,OAAO,CAAC;AAE7C,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAoB,eAAe,EAAE,MAAM,SAAS,CAAC;AAIvF,MAAM,WAAW,kBAAkB;IACjC,wEAAwE;IACxE,cAAc,EAAE,MAAM,CAAC;IACvB,0EAA0E;IAC1E,cAAc,EAAE,MAAM,CAAC;CACxB;AAyBD;;;;GAIG;AACH,wBAAsB,YAAY,CAAC,CAAC,SAAS,SAAS,EAAE,EACtD,KAAK,EAAE,WAAW,EAClB,UAAU,EACV,IAAI,EACJ,OAAO,EACP,OAAO,GACR,EAAE;IACD,KAAK,EAAE,eAAe,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC;IAC5B,OAAO,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,GAAG,SAAS,CAAC;CACnD,GAAG,OAAO,CAAC,SAAS,CAAC,CAkCrB"}
|
|
@@ -0,0 +1,92 @@
|
|
|
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/request-reply/client.ts
|
|
21
|
+
var client_exports = {};
|
|
22
|
+
__export(client_exports, {
|
|
23
|
+
redisRequest: () => redisRequest
|
|
24
|
+
});
|
|
25
|
+
module.exports = __toCommonJS(client_exports);
|
|
26
|
+
var import_node_crypto = require("crypto");
|
|
27
|
+
var import_node_perf_hooks = require("perf_hooks");
|
|
28
|
+
var import_errors = require("./errors.js");
|
|
29
|
+
var import_types = require("./types.js");
|
|
30
|
+
var import_utils = require("./utils.js");
|
|
31
|
+
var DEFAULT_REPLY_TIMEOUT_MS = 6e4;
|
|
32
|
+
var DEFAULT_POLL_INTERVAL_MS = 500;
|
|
33
|
+
function resolveSendRequestOptions(options) {
|
|
34
|
+
return {
|
|
35
|
+
replyTimeoutMs: options?.replyTimeoutMs ?? DEFAULT_REPLY_TIMEOUT_MS,
|
|
36
|
+
pollIntervalMs: options?.pollIntervalMs ?? DEFAULT_POLL_INTERVAL_MS
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
function parseReplyPayload(raw) {
|
|
40
|
+
const parsed = JSON.parse(raw);
|
|
41
|
+
return import_types.jsonReplySchema.parse(parsed);
|
|
42
|
+
}
|
|
43
|
+
async function getDelReply(redisClient, rKey) {
|
|
44
|
+
const raw = await redisClient.getDel(rKey);
|
|
45
|
+
if (raw === null) {
|
|
46
|
+
return null;
|
|
47
|
+
}
|
|
48
|
+
return parseReplyPayload(raw);
|
|
49
|
+
}
|
|
50
|
+
async function redisRequest({
|
|
51
|
+
redis: redisClient,
|
|
52
|
+
executorId,
|
|
53
|
+
path,
|
|
54
|
+
request,
|
|
55
|
+
options
|
|
56
|
+
}) {
|
|
57
|
+
const { replyTimeoutMs, pollIntervalMs } = resolveSendRequestOptions(options);
|
|
58
|
+
const aliveK = (0, import_utils.heartbeatKey)(executorId);
|
|
59
|
+
if (await redisClient.exists(aliveK) === 0) {
|
|
60
|
+
throw new import_errors.NoResponderError(executorId);
|
|
61
|
+
}
|
|
62
|
+
const requestId = (0, import_node_crypto.randomUUID)();
|
|
63
|
+
const rKey = (0, import_utils.replyKey)(requestId);
|
|
64
|
+
const payload = {
|
|
65
|
+
replyKey: rKey,
|
|
66
|
+
path,
|
|
67
|
+
body: request.body,
|
|
68
|
+
headers: request.headers
|
|
69
|
+
};
|
|
70
|
+
const serializedPayload = JSON.stringify(payload);
|
|
71
|
+
const subscriberCount = await redisClient.publish((0, import_utils.requestChannel)(executorId), serializedPayload);
|
|
72
|
+
if (subscriberCount === 0) {
|
|
73
|
+
throw new import_errors.NoResponderError(executorId, "No executor received the published request");
|
|
74
|
+
}
|
|
75
|
+
const replyDeadline = import_node_perf_hooks.performance.now() + replyTimeoutMs;
|
|
76
|
+
await (0, import_utils.sleep)(Math.min(200, replyTimeoutMs));
|
|
77
|
+
for (; ; ) {
|
|
78
|
+
const replyPayload = await getDelReply(redisClient, rKey);
|
|
79
|
+
if (replyPayload) {
|
|
80
|
+
return replyPayload;
|
|
81
|
+
}
|
|
82
|
+
if (import_node_perf_hooks.performance.now() >= replyDeadline) {
|
|
83
|
+
throw new import_errors.RequestTimeoutError(replyTimeoutMs);
|
|
84
|
+
}
|
|
85
|
+
await (0, import_utils.sleep)(pollIntervalMs);
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
89
|
+
0 && (module.exports = {
|
|
90
|
+
redisRequest
|
|
91
|
+
});
|
|
92
|
+
//# sourceMappingURL=client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/request-reply/client.ts"],"sourcesContent":["import { randomUUID } from 'node:crypto';\nimport { performance } from 'node:perf_hooks';\nimport type { RedisClientType } from 'redis';\nimport { NoResponderError, RequestTimeoutError } from './errors';\nimport type { JSONReply, JSONValue, PublishedRequest, RequestEnvelope } from './types';\nimport { jsonReplySchema } from './types';\nimport { heartbeatKey, replyKey, requestChannel, sleep } from './utils';\n\nexport interface SendRequestOptions {\n /** Max time to wait for a reply after the request is published (ms). */\n replyTimeoutMs: number;\n /** Sleep between poll attempts when the reply is not yet present (ms). */\n pollIntervalMs: number;\n}\n\nconst DEFAULT_REPLY_TIMEOUT_MS = 60_000;\nconst DEFAULT_POLL_INTERVAL_MS = 500;\n\nfunction resolveSendRequestOptions(options: Partial<SendRequestOptions> | undefined): SendRequestOptions {\n return {\n replyTimeoutMs: options?.replyTimeoutMs ?? DEFAULT_REPLY_TIMEOUT_MS,\n pollIntervalMs: options?.pollIntervalMs ?? DEFAULT_POLL_INTERVAL_MS,\n };\n}\n\nfunction parseReplyPayload(raw: string) {\n const parsed: unknown = JSON.parse(raw);\n return jsonReplySchema.parse(parsed);\n}\n\nasync function getDelReply(redisClient: RedisClientType, rKey: string): Promise<JSONReply | null> {\n const raw = await redisClient.getDel(rKey);\n if (raw === null) {\n return null;\n }\n return parseReplyPayload(raw);\n}\n\n/**\n * Publishes the request (JSON) on the worker channel, then polls the reply key with GETDEL\n * (see https://redis.io/docs/latest/commands/getdel/ ) until a result arrives or the wait\n * budget is exceeded.\n */\nexport async function redisRequest<T extends JSONValue>({\n redis: redisClient,\n executorId,\n path,\n request,\n options,\n}: {\n redis: RedisClientType;\n executorId: string;\n path: string;\n request: RequestEnvelope<T>;\n options?: Partial<SendRequestOptions> | undefined;\n}): Promise<JSONReply> {\n const { replyTimeoutMs, pollIntervalMs } = resolveSendRequestOptions(options);\n const aliveK = heartbeatKey(executorId);\n if ((await redisClient.exists(aliveK)) === 0) {\n throw new NoResponderError(executorId);\n }\n\n const requestId = randomUUID();\n const rKey = replyKey(requestId);\n const payload: PublishedRequest = {\n replyKey: rKey,\n path,\n body: request.body,\n headers: request.headers,\n };\n const serializedPayload = JSON.stringify(payload);\n const subscriberCount = await redisClient.publish(requestChannel(executorId), serializedPayload);\n if (subscriberCount === 0) {\n throw new NoResponderError(executorId, 'No executor received the published request');\n }\n\n const replyDeadline = performance.now() + replyTimeoutMs;\n // Give the executor a moment to process before the first poll.\n await sleep(Math.min(200, replyTimeoutMs));\n for (;;) {\n const replyPayload = await getDelReply(redisClient, rKey);\n if (replyPayload) {\n return replyPayload;\n }\n if (performance.now() >= replyDeadline) {\n throw new RequestTimeoutError(replyTimeoutMs);\n }\n await sleep(pollIntervalMs);\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,yBAA2B;AAC3B,6BAA4B;AAE5B,oBAAsD;AAEtD,mBAAgC;AAChC,mBAA8D;AAS9D,IAAM,2BAA2B;AACjC,IAAM,2BAA2B;AAEjC,SAAS,0BAA0B,SAAsE;AACvG,SAAO;AAAA,IACL,gBAAgB,SAAS,kBAAkB;AAAA,IAC3C,gBAAgB,SAAS,kBAAkB;AAAA,EAC7C;AACF;AAEA,SAAS,kBAAkB,KAAa;AACtC,QAAM,SAAkB,KAAK,MAAM,GAAG;AACtC,SAAO,6BAAgB,MAAM,MAAM;AACrC;AAEA,eAAe,YAAY,aAA8B,MAAyC;AAChG,QAAM,MAAM,MAAM,YAAY,OAAO,IAAI;AACzC,MAAI,QAAQ,MAAM;AAChB,WAAO;AAAA,EACT;AACA,SAAO,kBAAkB,GAAG;AAC9B;AAOA,eAAsB,aAAkC;AAAA,EACtD,OAAO;AAAA,EACP;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAMuB;AACrB,QAAM,EAAE,gBAAgB,eAAe,IAAI,0BAA0B,OAAO;AAC5E,QAAM,aAAS,2BAAa,UAAU;AACtC,MAAK,MAAM,YAAY,OAAO,MAAM,MAAO,GAAG;AAC5C,UAAM,IAAI,+BAAiB,UAAU;AAAA,EACvC;AAEA,QAAM,gBAAY,+BAAW;AAC7B,QAAM,WAAO,uBAAS,SAAS;AAC/B,QAAM,UAA4B;AAAA,IAChC,UAAU;AAAA,IACV;AAAA,IACA,MAAM,QAAQ;AAAA,IACd,SAAS,QAAQ;AAAA,EACnB;AACA,QAAM,oBAAoB,KAAK,UAAU,OAAO;AAChD,QAAM,kBAAkB,MAAM,YAAY,YAAQ,6BAAe,UAAU,GAAG,iBAAiB;AAC/F,MAAI,oBAAoB,GAAG;AACzB,UAAM,IAAI,+BAAiB,YAAY,4CAA4C;AAAA,EACrF;AAEA,QAAM,gBAAgB,mCAAY,IAAI,IAAI;AAE1C,YAAM,oBAAM,KAAK,IAAI,KAAK,cAAc,CAAC;AACzC,aAAS;AACP,UAAM,eAAe,MAAM,YAAY,aAAa,IAAI;AACxD,QAAI,cAAc;AAChB,aAAO;AAAA,IACT;AACA,QAAI,mCAAY,IAAI,KAAK,eAAe;AACtC,YAAM,IAAI,kCAAoB,cAAc;AAAA,IAC9C;AACA,cAAM,oBAAM,cAAc;AAAA,EAC5B;AACF;","names":[]}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
// src/request-reply/client.ts
|
|
2
|
+
import { randomUUID } from "crypto";
|
|
3
|
+
import { performance } from "perf_hooks";
|
|
4
|
+
import { NoResponderError, RequestTimeoutError } from "./errors.mjs";
|
|
5
|
+
import { jsonReplySchema } from "./types.mjs";
|
|
6
|
+
import { heartbeatKey, replyKey, requestChannel, sleep } from "./utils.mjs";
|
|
7
|
+
var DEFAULT_REPLY_TIMEOUT_MS = 6e4;
|
|
8
|
+
var DEFAULT_POLL_INTERVAL_MS = 500;
|
|
9
|
+
function resolveSendRequestOptions(options) {
|
|
10
|
+
return {
|
|
11
|
+
replyTimeoutMs: options?.replyTimeoutMs ?? DEFAULT_REPLY_TIMEOUT_MS,
|
|
12
|
+
pollIntervalMs: options?.pollIntervalMs ?? DEFAULT_POLL_INTERVAL_MS
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
function parseReplyPayload(raw) {
|
|
16
|
+
const parsed = JSON.parse(raw);
|
|
17
|
+
return jsonReplySchema.parse(parsed);
|
|
18
|
+
}
|
|
19
|
+
async function getDelReply(redisClient, rKey) {
|
|
20
|
+
const raw = await redisClient.getDel(rKey);
|
|
21
|
+
if (raw === null) {
|
|
22
|
+
return null;
|
|
23
|
+
}
|
|
24
|
+
return parseReplyPayload(raw);
|
|
25
|
+
}
|
|
26
|
+
async function redisRequest({
|
|
27
|
+
redis: redisClient,
|
|
28
|
+
executorId,
|
|
29
|
+
path,
|
|
30
|
+
request,
|
|
31
|
+
options
|
|
32
|
+
}) {
|
|
33
|
+
const { replyTimeoutMs, pollIntervalMs } = resolveSendRequestOptions(options);
|
|
34
|
+
const aliveK = heartbeatKey(executorId);
|
|
35
|
+
if (await redisClient.exists(aliveK) === 0) {
|
|
36
|
+
throw new NoResponderError(executorId);
|
|
37
|
+
}
|
|
38
|
+
const requestId = randomUUID();
|
|
39
|
+
const rKey = replyKey(requestId);
|
|
40
|
+
const payload = {
|
|
41
|
+
replyKey: rKey,
|
|
42
|
+
path,
|
|
43
|
+
body: request.body,
|
|
44
|
+
headers: request.headers
|
|
45
|
+
};
|
|
46
|
+
const serializedPayload = JSON.stringify(payload);
|
|
47
|
+
const subscriberCount = await redisClient.publish(requestChannel(executorId), serializedPayload);
|
|
48
|
+
if (subscriberCount === 0) {
|
|
49
|
+
throw new NoResponderError(executorId, "No executor received the published request");
|
|
50
|
+
}
|
|
51
|
+
const replyDeadline = performance.now() + replyTimeoutMs;
|
|
52
|
+
await sleep(Math.min(200, replyTimeoutMs));
|
|
53
|
+
for (; ; ) {
|
|
54
|
+
const replyPayload = await getDelReply(redisClient, rKey);
|
|
55
|
+
if (replyPayload) {
|
|
56
|
+
return replyPayload;
|
|
57
|
+
}
|
|
58
|
+
if (performance.now() >= replyDeadline) {
|
|
59
|
+
throw new RequestTimeoutError(replyTimeoutMs);
|
|
60
|
+
}
|
|
61
|
+
await sleep(pollIntervalMs);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
export {
|
|
65
|
+
redisRequest
|
|
66
|
+
};
|
|
67
|
+
//# sourceMappingURL=client.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/request-reply/client.ts"],"sourcesContent":["import { randomUUID } from 'node:crypto';\nimport { performance } from 'node:perf_hooks';\nimport type { RedisClientType } from 'redis';\nimport { NoResponderError, RequestTimeoutError } from './errors';\nimport type { JSONReply, JSONValue, PublishedRequest, RequestEnvelope } from './types';\nimport { jsonReplySchema } from './types';\nimport { heartbeatKey, replyKey, requestChannel, sleep } from './utils';\n\nexport interface SendRequestOptions {\n /** Max time to wait for a reply after the request is published (ms). */\n replyTimeoutMs: number;\n /** Sleep between poll attempts when the reply is not yet present (ms). */\n pollIntervalMs: number;\n}\n\nconst DEFAULT_REPLY_TIMEOUT_MS = 60_000;\nconst DEFAULT_POLL_INTERVAL_MS = 500;\n\nfunction resolveSendRequestOptions(options: Partial<SendRequestOptions> | undefined): SendRequestOptions {\n return {\n replyTimeoutMs: options?.replyTimeoutMs ?? DEFAULT_REPLY_TIMEOUT_MS,\n pollIntervalMs: options?.pollIntervalMs ?? DEFAULT_POLL_INTERVAL_MS,\n };\n}\n\nfunction parseReplyPayload(raw: string) {\n const parsed: unknown = JSON.parse(raw);\n return jsonReplySchema.parse(parsed);\n}\n\nasync function getDelReply(redisClient: RedisClientType, rKey: string): Promise<JSONReply | null> {\n const raw = await redisClient.getDel(rKey);\n if (raw === null) {\n return null;\n }\n return parseReplyPayload(raw);\n}\n\n/**\n * Publishes the request (JSON) on the worker channel, then polls the reply key with GETDEL\n * (see https://redis.io/docs/latest/commands/getdel/ ) until a result arrives or the wait\n * budget is exceeded.\n */\nexport async function redisRequest<T extends JSONValue>({\n redis: redisClient,\n executorId,\n path,\n request,\n options,\n}: {\n redis: RedisClientType;\n executorId: string;\n path: string;\n request: RequestEnvelope<T>;\n options?: Partial<SendRequestOptions> | undefined;\n}): Promise<JSONReply> {\n const { replyTimeoutMs, pollIntervalMs } = resolveSendRequestOptions(options);\n const aliveK = heartbeatKey(executorId);\n if ((await redisClient.exists(aliveK)) === 0) {\n throw new NoResponderError(executorId);\n }\n\n const requestId = randomUUID();\n const rKey = replyKey(requestId);\n const payload: PublishedRequest = {\n replyKey: rKey,\n path,\n body: request.body,\n headers: request.headers,\n };\n const serializedPayload = JSON.stringify(payload);\n const subscriberCount = await redisClient.publish(requestChannel(executorId), serializedPayload);\n if (subscriberCount === 0) {\n throw new NoResponderError(executorId, 'No executor received the published request');\n }\n\n const replyDeadline = performance.now() + replyTimeoutMs;\n // Give the executor a moment to process before the first poll.\n await sleep(Math.min(200, replyTimeoutMs));\n for (;;) {\n const replyPayload = await getDelReply(redisClient, rKey);\n if (replyPayload) {\n return replyPayload;\n }\n if (performance.now() >= replyDeadline) {\n throw new RequestTimeoutError(replyTimeoutMs);\n }\n await sleep(pollIntervalMs);\n }\n}\n"],"mappings":";AAAA,SAAS,kBAAkB;AAC3B,SAAS,mBAAmB;AAE5B,SAAS,kBAAkB,2BAA2B;AAEtD,SAAS,uBAAuB;AAChC,SAAS,cAAc,UAAU,gBAAgB,aAAa;AAS9D,IAAM,2BAA2B;AACjC,IAAM,2BAA2B;AAEjC,SAAS,0BAA0B,SAAsE;AACvG,SAAO;AAAA,IACL,gBAAgB,SAAS,kBAAkB;AAAA,IAC3C,gBAAgB,SAAS,kBAAkB;AAAA,EAC7C;AACF;AAEA,SAAS,kBAAkB,KAAa;AACtC,QAAM,SAAkB,KAAK,MAAM,GAAG;AACtC,SAAO,gBAAgB,MAAM,MAAM;AACrC;AAEA,eAAe,YAAY,aAA8B,MAAyC;AAChG,QAAM,MAAM,MAAM,YAAY,OAAO,IAAI;AACzC,MAAI,QAAQ,MAAM;AAChB,WAAO;AAAA,EACT;AACA,SAAO,kBAAkB,GAAG;AAC9B;AAOA,eAAsB,aAAkC;AAAA,EACtD,OAAO;AAAA,EACP;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAMuB;AACrB,QAAM,EAAE,gBAAgB,eAAe,IAAI,0BAA0B,OAAO;AAC5E,QAAM,SAAS,aAAa,UAAU;AACtC,MAAK,MAAM,YAAY,OAAO,MAAM,MAAO,GAAG;AAC5C,UAAM,IAAI,iBAAiB,UAAU;AAAA,EACvC;AAEA,QAAM,YAAY,WAAW;AAC7B,QAAM,OAAO,SAAS,SAAS;AAC/B,QAAM,UAA4B;AAAA,IAChC,UAAU;AAAA,IACV;AAAA,IACA,MAAM,QAAQ;AAAA,IACd,SAAS,QAAQ;AAAA,EACnB;AACA,QAAM,oBAAoB,KAAK,UAAU,OAAO;AAChD,QAAM,kBAAkB,MAAM,YAAY,QAAQ,eAAe,UAAU,GAAG,iBAAiB;AAC/F,MAAI,oBAAoB,GAAG;AACzB,UAAM,IAAI,iBAAiB,YAAY,4CAA4C;AAAA,EACrF;AAEA,QAAM,gBAAgB,YAAY,IAAI,IAAI;AAE1C,QAAM,MAAM,KAAK,IAAI,KAAK,cAAc,CAAC;AACzC,aAAS;AACP,UAAM,eAAe,MAAM,YAAY,aAAa,IAAI;AACxD,QAAI,cAAc;AAChB,aAAO;AAAA,IACT;AACA,QAAI,YAAY,IAAI,KAAK,eAAe;AACtC,YAAM,IAAI,oBAAoB,cAAc;AAAA,IAC9C;AACA,UAAM,MAAM,cAAc;AAAA,EAC5B;AACF;","names":[]}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/** The target executor's heartbeat is missing or nobody is subscribed (map to HTTP 412). */
|
|
2
|
+
export declare class NoResponderError extends Error {
|
|
3
|
+
readonly executorId: string;
|
|
4
|
+
readonly detail: string;
|
|
5
|
+
readonly code: 'NO_RESPONDER';
|
|
6
|
+
constructor(executorId: string, detail?: string);
|
|
7
|
+
}
|
|
8
|
+
/** No reply arrived within the wait budget (map to HTTP 424). */
|
|
9
|
+
export declare class RequestTimeoutError extends Error {
|
|
10
|
+
readonly code: 'REQUEST_TIMEOUT';
|
|
11
|
+
readonly timeoutMs: number;
|
|
12
|
+
constructor(timeoutMs: number);
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Thrown by route handlers (or the router itself) to reply with a specific
|
|
16
|
+
* status; the executor converts it to a JSONReply instead of a blanket 500.
|
|
17
|
+
*/
|
|
18
|
+
export declare class ReplyError extends Error {
|
|
19
|
+
readonly code: 'REPLY_ERROR';
|
|
20
|
+
readonly status: number;
|
|
21
|
+
constructor(status: number, message: string);
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=errors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/request-reply/errors.ts"],"names":[],"mappings":"AAAA,4FAA4F;AAC5F,qBAAa,gBAAiB,SAAQ,KAAK;IAGvC,QAAQ,CAAC,UAAU,EAAE,MAAM;IAC3B,QAAQ,CAAC,MAAM;IAHjB,QAAQ,CAAC,IAAI,EAAG,cAAc,CAAU;IACxC,YACW,UAAU,EAAE,MAAM,EAClB,MAAM,SAA0B,EAK1C;CACF;AAED,iEAAiE;AACjE,qBAAa,mBAAoB,SAAQ,KAAK;IAC5C,QAAQ,CAAC,IAAI,EAAG,iBAAiB,CAAU;IAC3C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,YAAY,SAAS,EAAE,MAAM,EAK5B;CACF;AAED;;;GAGG;AACH,qBAAa,UAAW,SAAQ,KAAK;IACnC,QAAQ,CAAC,IAAI,EAAG,aAAa,CAAU;IACvC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,YAAY,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAK1C;CACF"}
|
|
@@ -0,0 +1,66 @@
|
|
|
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/request-reply/errors.ts
|
|
21
|
+
var errors_exports = {};
|
|
22
|
+
__export(errors_exports, {
|
|
23
|
+
NoResponderError: () => NoResponderError,
|
|
24
|
+
ReplyError: () => ReplyError,
|
|
25
|
+
RequestTimeoutError: () => RequestTimeoutError
|
|
26
|
+
});
|
|
27
|
+
module.exports = __toCommonJS(errors_exports);
|
|
28
|
+
var NoResponderError = class extends Error {
|
|
29
|
+
constructor(executorId, detail = "heartbeat not present") {
|
|
30
|
+
super(`No responder for executor: ${executorId} (${detail}).`);
|
|
31
|
+
this.executorId = executorId;
|
|
32
|
+
this.detail = detail;
|
|
33
|
+
this.name = "NoResponderError";
|
|
34
|
+
Object.setPrototypeOf(this, new.target.prototype);
|
|
35
|
+
}
|
|
36
|
+
executorId;
|
|
37
|
+
detail;
|
|
38
|
+
code = "NO_RESPONDER";
|
|
39
|
+
};
|
|
40
|
+
var RequestTimeoutError = class extends Error {
|
|
41
|
+
code = "REQUEST_TIMEOUT";
|
|
42
|
+
timeoutMs;
|
|
43
|
+
constructor(timeoutMs) {
|
|
44
|
+
super(`Request timed out after ${String(timeoutMs)}ms`);
|
|
45
|
+
this.name = "RequestTimeoutError";
|
|
46
|
+
this.timeoutMs = timeoutMs;
|
|
47
|
+
Object.setPrototypeOf(this, new.target.prototype);
|
|
48
|
+
}
|
|
49
|
+
};
|
|
50
|
+
var ReplyError = class extends Error {
|
|
51
|
+
code = "REPLY_ERROR";
|
|
52
|
+
status;
|
|
53
|
+
constructor(status, message) {
|
|
54
|
+
super(message);
|
|
55
|
+
this.name = "ReplyError";
|
|
56
|
+
this.status = status;
|
|
57
|
+
Object.setPrototypeOf(this, new.target.prototype);
|
|
58
|
+
}
|
|
59
|
+
};
|
|
60
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
61
|
+
0 && (module.exports = {
|
|
62
|
+
NoResponderError,
|
|
63
|
+
ReplyError,
|
|
64
|
+
RequestTimeoutError
|
|
65
|
+
});
|
|
66
|
+
//# sourceMappingURL=errors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/request-reply/errors.ts"],"sourcesContent":["/** The target executor's heartbeat is missing or nobody is subscribed (map to HTTP 412). */\nexport class NoResponderError extends Error {\n readonly code = 'NO_RESPONDER' as const;\n constructor(\n readonly executorId: string,\n readonly detail = 'heartbeat not present',\n ) {\n super(`No responder for executor: ${executorId} (${detail}).`);\n this.name = 'NoResponderError';\n Object.setPrototypeOf(this, new.target.prototype);\n }\n}\n\n/** No reply arrived within the wait budget (map to HTTP 424). */\nexport class RequestTimeoutError extends Error {\n readonly code = 'REQUEST_TIMEOUT' as const;\n readonly timeoutMs: number;\n constructor(timeoutMs: number) {\n super(`Request timed out after ${String(timeoutMs)}ms`);\n this.name = 'RequestTimeoutError';\n this.timeoutMs = timeoutMs;\n Object.setPrototypeOf(this, new.target.prototype);\n }\n}\n\n/**\n * Thrown by route handlers (or the router itself) to reply with a specific\n * status; the executor converts it to a JSONReply instead of a blanket 500.\n */\nexport class ReplyError extends Error {\n readonly code = 'REPLY_ERROR' as const;\n readonly status: number;\n constructor(status: number, message: string) {\n super(message);\n this.name = 'ReplyError';\n this.status = status;\n Object.setPrototypeOf(this, new.target.prototype);\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACO,IAAM,mBAAN,cAA+B,MAAM;AAAA,EAE1C,YACW,YACA,SAAS,yBAClB;AACA,UAAM,8BAA8B,UAAU,KAAK,MAAM,IAAI;AAHpD;AACA;AAGT,SAAK,OAAO;AACZ,WAAO,eAAe,MAAM,WAAW,SAAS;AAAA,EAClD;AAAA,EANW;AAAA,EACA;AAAA,EAHF,OAAO;AASlB;AAGO,IAAM,sBAAN,cAAkC,MAAM;AAAA,EACpC,OAAO;AAAA,EACP;AAAA,EACT,YAAY,WAAmB;AAC7B,UAAM,2BAA2B,OAAO,SAAS,CAAC,IAAI;AACtD,SAAK,OAAO;AACZ,SAAK,YAAY;AACjB,WAAO,eAAe,MAAM,WAAW,SAAS;AAAA,EAClD;AACF;AAMO,IAAM,aAAN,cAAyB,MAAM;AAAA,EAC3B,OAAO;AAAA,EACP;AAAA,EACT,YAAY,QAAgB,SAAiB;AAC3C,UAAM,OAAO;AACb,SAAK,OAAO;AACZ,SAAK,SAAS;AACd,WAAO,eAAe,MAAM,WAAW,SAAS;AAAA,EAClD;AACF;","names":[]}
|