@x-otto/agent 0.1.0-alpha.12 → 0.1.0-alpha.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +15 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/package.json +5 -5
package/dist/index.d.ts
CHANGED
|
@@ -708,7 +708,7 @@ interface ToolExecutorOptions {
|
|
|
708
708
|
agentName?: string;
|
|
709
709
|
sessionId?: string;
|
|
710
710
|
debug?: DebugPort;
|
|
711
|
-
approval?:
|
|
711
|
+
approval?: ApprovalCallback;
|
|
712
712
|
clock?: ClockPort;
|
|
713
713
|
depth?: number;
|
|
714
714
|
/** RFC-371 S3:父任务 id(per-parent 扇出计数用)。 */
|
|
@@ -1076,6 +1076,18 @@ interface PendingLifecycleTool {
|
|
|
1076
1076
|
*/
|
|
1077
1077
|
abortController: AbortController;
|
|
1078
1078
|
}
|
|
1079
|
+
/**
|
|
1080
|
+
* 审批裁决。历史形态是裸 `boolean`(TUI/后台作业仍这样返回,行为不变);
|
|
1081
|
+
* 对象形态供嵌入宿主在批准时改写入参(`updatedArgs`)或给出显式拒绝理由
|
|
1082
|
+
* (`message` 会进 tool_result 让模型看见)。
|
|
1083
|
+
*/
|
|
1084
|
+
type ApprovalDecision = boolean | {
|
|
1085
|
+
approved: boolean;
|
|
1086
|
+
updatedArgs?: Record<string, unknown>;
|
|
1087
|
+
message?: string;
|
|
1088
|
+
};
|
|
1089
|
+
/** 工具执行前的「问真人」回调。`signal` = 本次工具执行的取消信号(会话中断/超时)。 */
|
|
1090
|
+
type ApprovalCallback = (toolName: string, args: Record<string, unknown>, reason: string, risk: ApprovalRisk$1 | undefined, signal: AbortSignal) => Promise<ApprovalDecision>;
|
|
1079
1091
|
type ToolBeforeOutcome = {
|
|
1080
1092
|
kind: 'proceed';
|
|
1081
1093
|
args: Record<string, unknown>;
|
|
@@ -1155,7 +1167,7 @@ interface AgentConfig {
|
|
|
1155
1167
|
sessionId?: string;
|
|
1156
1168
|
toolHookExecutor?: ToolHookExecutor;
|
|
1157
1169
|
debug?: DebugPort;
|
|
1158
|
-
approval?:
|
|
1170
|
+
approval?: ApprovalCallback;
|
|
1159
1171
|
clock?: ClockPort;
|
|
1160
1172
|
recorder?: TraceRecorder;
|
|
1161
1173
|
/** RFC-145 D3:nondet batch 冲洗回调(RecordingPorts.flushNondetBatch)。缺省 = 不聚合。 */
|
|
@@ -1923,5 +1935,5 @@ declare class MessagesConsistencyError extends AgentError {
|
|
|
1923
1935
|
constructor(liveCount: number, projectedCount: number);
|
|
1924
1936
|
}
|
|
1925
1937
|
//#endregion
|
|
1926
|
-
export { AbortError, Agent, type AgentConfig, type AgentEvent, type AgentEventOf, type AgentEventPayload, type AgentEventType, type AgentEvents, type AgentMessage, type AgentProfile, type AgentRunContext, type AgentSessionEvent, type AgentSessionEventMap, type AgentSessionEventType, type AgentSessionSubscriber, type AgentState, type AgentStatus, type AgentTool, type AgentToolDefinition, type ApprovalRisk, type AskUserQuestion, BREAKPOINT_POINTS, type BreakpointCategory, type BreakpointDefinition, type BreakpointPoint, type CausalDag, type CausalNode, type ClockPort, type CustomAgentMessages, type DebugCommand, type DebugPort, type DebugSnapshot, type DescribeImagesPort, type DeterminismPorts, ENGINE_DEFAULTS, ENGINE_LIFECYCLE_TIMINGS, ENGINE_NODES, type EngineNode, type EngineNodeCategory, type EngineNodeDef, type GrillAnswer, type GrillOption, type GrillQuestion, type GrillRequest, IMAGE_CONTEXT_CHARS_EQUIVALENT, type IdPort, type InjectedMessage, type LifecycleTiming, MAX_IMAGE_INLINE_BYTES, MaxToolTurnsError, type MemoryLifecycleEvent, type MemoryMetrics, type MemoryPhase, type MemoryPort, type MemoryTrigger, type MessageSummaryItem, MessagesConsistencyError, type NewMessagesAccumulator, type NondetDraw, OBSERVABLE_NODE_IDS, type ObservableNodeId, type PauseApplyTarget, type PauseResult, type PauseResumePayload, type PendingLifecycleTool, type PersistencePort, type PipelineHooks, PromptBudgetExceededError, type PromptInput, type PromptParams, type PromptResult, type RandomPort, type RecordingPorts, type StreamFunction, type StreamRetryConfig, type StreamTracePersister, TRACEABLE_NODE_IDS, type ToolBeforeOutcome, type ToolCallContext, type ToolCallEvent, type ToolExecutor, type ToolHookExecutor, type ToolResult, type TraceEvent, type TraceEventDraft, type TraceEventKind, type TraceRecord, type TraceRecorder, type TraceRecorderOptions, type TraceSink, type TraceSpan, type TraceSummary, type TraceableNodeId, type TurnRunner, type TurnToolTopology, type VisionGateResult, type WireRequestSnapshot, WireSnapshotStore, applyMemoryTransform, applyVisionGate, buildLifecycleAsyncCompletionNotice, buildLifecycleAsyncPlaceholder, buildLifecycleAsyncPlaceholderText, captureWireSnapshot, causalDag, clampToolResultContent, clampWithSpill, consumePause, createAgent, createRecordingPorts, createReplayPorts, createStreamTracePersister, createToolExecutor, createTraceRecorder, digestTracePayload, extractNondetDraws, extractToolResultText, forceMemoryTransform, nodesWithCapability, noopRecorder, normalizeToolResultContent, prompt, recordMemoryLifecycle, runBounded, shouldPersistStreamEvent, stripAnsi, summarizeMessages, summarizeTrace, systemClock, systemId, systemRandom, toolResultContextChars, traceToSpans, traceWhy, turnToolTopology, wireSnapshotStore };
|
|
1938
|
+
export { AbortError, Agent, type AgentConfig, type AgentEvent, type AgentEventOf, type AgentEventPayload, type AgentEventType, type AgentEvents, type AgentMessage, type AgentProfile, type AgentRunContext, type AgentSessionEvent, type AgentSessionEventMap, type AgentSessionEventType, type AgentSessionSubscriber, type AgentState, type AgentStatus, type AgentTool, type AgentToolDefinition, type ApprovalCallback, type ApprovalDecision, type ApprovalRisk, type AskUserQuestion, BREAKPOINT_POINTS, type BreakpointCategory, type BreakpointDefinition, type BreakpointPoint, type CausalDag, type CausalNode, type ClockPort, type CustomAgentMessages, type DebugCommand, type DebugPort, type DebugSnapshot, type DescribeImagesPort, type DeterminismPorts, ENGINE_DEFAULTS, ENGINE_LIFECYCLE_TIMINGS, ENGINE_NODES, type EngineNode, type EngineNodeCategory, type EngineNodeDef, type GrillAnswer, type GrillOption, type GrillQuestion, type GrillRequest, IMAGE_CONTEXT_CHARS_EQUIVALENT, type IdPort, type InjectedMessage, type LifecycleTiming, MAX_IMAGE_INLINE_BYTES, MaxToolTurnsError, type MemoryLifecycleEvent, type MemoryMetrics, type MemoryPhase, type MemoryPort, type MemoryTrigger, type MessageSummaryItem, MessagesConsistencyError, type NewMessagesAccumulator, type NondetDraw, OBSERVABLE_NODE_IDS, type ObservableNodeId, type PauseApplyTarget, type PauseResult, type PauseResumePayload, type PendingLifecycleTool, type PersistencePort, type PipelineHooks, PromptBudgetExceededError, type PromptInput, type PromptParams, type PromptResult, type RandomPort, type RecordingPorts, type StreamFunction, type StreamRetryConfig, type StreamTracePersister, TRACEABLE_NODE_IDS, type ToolBeforeOutcome, type ToolCallContext, type ToolCallEvent, type ToolExecutor, type ToolHookExecutor, type ToolResult, type TraceEvent, type TraceEventDraft, type TraceEventKind, type TraceRecord, type TraceRecorder, type TraceRecorderOptions, type TraceSink, type TraceSpan, type TraceSummary, type TraceableNodeId, type TurnRunner, type TurnToolTopology, type VisionGateResult, type WireRequestSnapshot, WireSnapshotStore, applyMemoryTransform, applyVisionGate, buildLifecycleAsyncCompletionNotice, buildLifecycleAsyncPlaceholder, buildLifecycleAsyncPlaceholderText, captureWireSnapshot, causalDag, clampToolResultContent, clampWithSpill, consumePause, createAgent, createRecordingPorts, createReplayPorts, createStreamTracePersister, createToolExecutor, createTraceRecorder, digestTracePayload, extractNondetDraws, extractToolResultText, forceMemoryTransform, nodesWithCapability, noopRecorder, normalizeToolResultContent, prompt, recordMemoryLifecycle, runBounded, shouldPersistStreamEvent, stripAnsi, summarizeMessages, summarizeTrace, systemClock, systemId, systemRandom, toolResultContextChars, traceToSpans, traceWhy, turnToolTopology, wireSnapshotStore };
|
|
1927
1939
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","names":[],"sources":["../src/engine-nodes.ts","../src/ports.ts","../src/trace.ts","../src/wire-snapshot.ts","../src/debug-port.ts","../src/tool-executor.ts","../src/vision-gate.ts","../src/tool-result-clamp.ts","../src/work-loop-stream-error.ts","../src/types.ts","../src/agent.ts","../src/agent-profile.ts","../src/lifecycle-async-tool.ts","../src/pipeline.ts","../src/context-pipeline.ts","../src/memory-lifecycle.ts","../src/trace-views.ts","../src/errors.ts"],"mappings":";;;;;;;KAAY,kBAAA;AAAA,UAQK,aAAA;EAAA,SACN,EAAA;EAAA,SACA,QAAA,EAAU,kBAAA;EAAA,SACV,KAAA;EAAA,SACA,QAAA;;AAZX;;;;;AAQA;;WAaW,IAAA;EAAA,SACA,UAAA;EAAA,SACA,SAAA;AAAA;AAAA,cAGE,YAAA;EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAyYD,UAAA,WAAqB,YAAA;AAAA,KAE5B,YAAA,GAAe,OAAA,CAAQ,UAAA;EAAc,QAAA;AAAA;AAAA,KACrC,cAAA,GAAiB,OAAA,CAAQ,UAAA;EAAc,UAAA;AAAA;AAAA,KACvC,aAAA,GAAgB,OAAA,CAAQ,UAAA;EAAc,SAAA;AAAA;AAAA,KACtC,iBAAA,GAAoB,OAAA,CAAQ,UAAA;EAAc,IAAA;AAAA;AAAA,KAEnC,eAAA,GAAkB,YAAA;AAAA,KAClB,gBAAA,GAAmB,cAAA;AAAA,KACnB,eAAA,GAAkB,aAAA;AAAA,KAClB,eAAA,GAAkB,iBAAA;AAAA,iBA2Cd,mBAAA,CACd,GAAA,8DACU,aAAA;AAAA,cAIC,wBAAA,WAAmC,eAAA;AAAA,cAInC,mBAAA,WAA8B,gBAAA;AAAA,cAI9B,kBAAA,WAA6B,eAAA;AAAA,KAI9B,kBAAA,GAAqB,YAAA;AAAA,UAEhB,oBAAA;EACf,KAAA,EAAO,eAAA;EACP,IAAA;EACA,QAAA,EAAU,kBAAA;AAAA;AAAA,cAGC,iBAAA,WAA4B,oBAAA;AAAA,cAQ5B,eAAA;;;;;;;;;;ACxfb;;;;;;EAI2B;;;;AAI3B;;;;;AAQA;EAZ2B;;;;EAerB;;EAAA,qCAFJ;EAAA;EACA;;EAAA,8CACI;EAAA;EAAM;AAQZ;;EARY;EASiC;;;EAAA;EAAA;;EAAA;;;;UA5B5B,SAAA;EACf,GAAA;AAAA;AAAA,UAGe,UAAA;EACf,MAAA;AAAA;AAAA,UAGe,MAAA;EACf,IAAA;AAAA;AAAA,UAOe,gBAAA;EACf,KAAA,EAAO,SAAA;EACP,MAAA,EAAQ,UAAA;EACR,EAAA,EAAI,MAAA;AAAA;;;;;;UAQW,SAAA;EAAA,CACd,UAAA,UAAoB,IAAA,WAAe,OAAA;AAAA;AAAA,cAGzB,WAAA,EAAa,SAAA;AAAA,cACb,YAAA,EAAc,UAAA;AAAA,cACd,QAAA,EAAU,MAAA;;;KC9BX,cAAA;AAAA,UAEK,UAAA;EACf,EAAA;EACA,SAAA;EACA,IAAA;EACA,IAAA,EAAM,cAAA;EFXsB;EEa5B,IAAA;EACA,OAAA;EACA,aAAA;EACA,WAAA;EACA,SAAA;AAAA;AAAA,UAGe,eAAA;EACf,IAAA,EAAM,cAAA;EFXG;EEaT,IAAA,GAAO,eAAA;EACP,IAAA;EACA,OAAA;EACA,aAAA;EACA,WAAA;EACA,SAAA;AAAA;AAAA,UAGe,aAAA;EACf,MAAA,CAAO,KAAA,EAAO,eAAA;AAAA;AAAA,UAGC,SAAA;EACf,MAAA,CAAO,KAAA,EAAO,UAAA,UAAoB,OAAA;AAAA;AAAA,UAGnB,UAAA;EACf,MAAA;EACA,KAAA;AAAA;AAAA,UAGe,oBAAA;EACf,IAAA,EAAM,SAAA;EACN,SAAA;EACA,KAAA,GAAQ,SAAA;EACR,OAAA,IAAW,KAAA;AAAA;AAAA,iBAGG,mBAAA,CAAoB,OAAA,EAAS,oBAAA,GAAuB,aAAA;AAAA,cA8BvD,YAAA,EAAc,aAAA;AAAA,iBAuBX,wBAAA,CAAyB,IAAA;AAAA,UAaxB,oBAAA;;EAEf,IAAA,CAAK,OAAA;IAAW,IAAA;EAAA,IAAkB,MAAA,mBAAyB,IAAA;;;;;;;EAO3D,KAAA;AAAA;;;;;;iBAQc,0BAAA,CAA2B,QAAA,EAAU,aAAA,GAAgB,oBAAA;;;;;;;;;;;;;;;UAiDpD,cAAA,SAAuB,gBAAA;;EAEtC,gBAAA;AAAA;AAAA,iBAMc,oBAAA,CACd,IAAA,EAAM,gBAAA,EACN,QAAA,EAAU,aAAA,GACT,cAAA;AAAA,iBAwCa,iBAAA,CAAkB,KAAA,WAAgB,UAAA,KAAe,gBAAA;;;;;;iBA8BjD,kBAAA,CAAmB,MAAA,EAAQ,QAAA,CAAS,UAAA,IAAc,UAAA;;;;;;;;;AFxQlE;;UGUiB,mBAAA;EHVa;EGY5B,GAAA;EHJe;EGMf,OAAA;;EAEA,OAAA,EAAS,aAAA;AAAA;;;;;;;;;cAWE,iBAAA;EAAA,iBACM,GAAA;EAEjB,GAAA,CAAI,SAAA,UAAmB,QAAA,EAAU,mBAAA;EAIjC,GAAA,CAAI,SAAA,WAAoB,mBAAA;EAIxB,MAAA,CAAO,SAAA;AAAA;;cAMI,iBAAA,EAAiB,iBAAA;;;;;;iBAOd,mBAAA,CACd,IAAA;EAAQ,SAAA;EAAmB,KAAA,EAAO,iBAAA;AAAA,eAClC,OAAA,UACA,GAAA,UACA,OAAA,EAAS,aAAA;;;UC9CM,kBAAA;EACf,KAAA;EACA,IAAA;EACA,OAAA;EACA,QAAA;EACA,aAAA;AAAA;AAAA,UAGe,aAAA;EACf,IAAA;EACA,KAAA,EAAO,eAAA;EACP,UAAA;EACA,aAAA;EACA,YAAA;EACA,UAAA;IAAe,KAAA;IAAe,MAAA;EAAA;EAC9B,QAAA,GAAW,MAAA;EACX,YAAA;EACA,eAAA,GAAkB,kBAAA;EAClB,SAAA;IACE,WAAA;IACA,SAAA;IACA,aAAA;EAAA;AAAA;AAAA,UAIa,eAAA;EAGf,IAAA;EACA,OAAA;AAAA;AAAA,UAGe,kBAAA;EACf,YAAA;EACA,cAAA,GAAiB,eAAA;EACjB,oBAAA;EACA,SAAA;IACE,WAAA;IACA,SAAA;IACA,aAAA;EAAA;AAAA;AAAA,KAIQ,YAAA;EACN,IAAA;EAAc,GAAA;AAAA;EACd,IAAA;EAAc,GAAA;AAAA;EACd,IAAA;EAAc,GAAA;EAAa,KAAA;AAAA;EAC3B,IAAA;EAAkB,GAAA;AAAA;EAClB,IAAA;EAAc,GAAA;EAAa,MAAA;AAAA;AAAA,UAEhB,WAAA;EACf,OAAA;EACA,OAAA,EAAS,YAAA;EACT,OAAA,EAAS,kBAAA;AAAA;AAAA,UAGM,SAAA;EACf,KAAA,CAAM,QAAA,EAAU,aAAA,GAAgB,OAAA,CAAQ,WAAA;AAAA;AAAA,iBAG1B,iBAAA,CACd,QAAA,WAAmB,YAAA,IACnB,KAAA,WACC,kBAAA;AAAA,UA4Fc,gBAAA;EACf,QAAA,GAAW,YAAA;EACX,eAAA,IAAmB,KAAA;EACnB,cAAA,IAAkB,KAAA;EAClB,YAAA,IAAgB,KAAA;EAChB,gBAAA,IAAoB,KAAA;EACpB,GAAA;AAAA;;;;;;UAQe,kBAAA;EAAA,SACN,GAAA,QAAW,kBAAA;EACpB,KAAA,CAAM,OAAA,EAAS,kBAAA,EAAoB,MAAA,EAAQ,gBAAA;AAAA;AAAA,iBAwD7B,YAAA,CACd,MAAA,EAAQ,WAAA,cACR,MAAA,GAAS,gBAAA,EACT,QAAA,YAAmB,kBAAA;;;UCxNJ,YAAA;EACf,OAAA,CAAQ,QAAA,EAAU,QAAA,EAAU,MAAA,EAAQ,WAAA,GAAc,OAAA,CAAQ,UAAA;EAE1D,IAAA,IAAQ,mBAAA;AAAA;AAAA,UAWO,mBAAA;EACf,KAAA,EAAO,mBAAA;EACP,YAAA,GAAe,gBAAA;EACf,SAAA;EACA,SAAA;EACA,KAAA,GAAQ,SAAA;EACR,QAAA,IACE,QAAA,UACA,IAAA,EAAM,MAAA,mBACN,MAAA,UACA,IAAA,GAAO,YAAA,KACJ,OAAA;EACL,KAAA,GAAQ,SAAA;EACR,KAAA;EL3BkB;EK6BlB,YAAA;AAAA;AAAA,iBAgTc,kBAAA,CACd,KAAA,EAAO,mBAAA,IACP,OAAA,GAAU,IAAA,CAAK,mBAAA,aACd,YAAA;;;;;;;;ALvWH;;;;KMiCY,kBAAA,IACV,MAAA,EAAQ,KAAA;EAAQ,IAAA;EAAc,MAAA;EAAgB,WAAA;AAAA,IAC9C,MAAA,GAAS,WAAA,KACN,OAAA,CAAQ,KAAA;AAAA,UAMI,gBAAA;EACf,QAAA,EAAU,YAAA;ENjCS;EMmCnB,UAAA;ENjCS;EMmCT,cAAA;AAAA;;;;ANrBF;;iBM6BsB,eAAA,CACpB,QAAA,EAAU,YAAA,IACV,KAAA,EAAO,IAAA,CAAK,KAAA,YACZ,cAAA,GAAiB,kBAAA,EACjB,MAAA,GAAS,WAAA,GACR,OAAA,CAAQ,gBAAA;;;;;AN5DX;;;;;cOca,sBAAA;;;;;;;;;;;iBAYG,SAAA,CAAU,IAAA;;;APA1B;;;;;;;;;;;;iBOwBgB,0BAAA;EAAuC,IAAA;EAAc,IAAA;AAAA,EAAA,CACnE,OAAA,EAAS,CAAA,KACR,CAAA;;;;;;;;;;;;iBAmBa,sBAAA,CACd,OAAA,EAAS,iBAAA,aACT,QAAA,WACC,iBAAA;;;;;;;;cA4BU,8BAAA;AAAA,iBAEG,sBAAA,CAAuB,OAAA,EAAS,iBAAA;;;;;;iBAmF1B,cAAA,CACpB,OAAA,EAAS,iBAAA,aACT,QAAA,UACA,UAAA,UACA,KAAA,EAAO,SAAA,eACN,OAAA,CAAQ,iBAAA;;;;;;iBAoFW,UAAA,GAAA,CACpB,KAAA,WAAgB,CAAA,IAChB,KAAA,UACA,EAAA,GAAK,IAAA,EAAM,CAAA,KAAM,OAAA,SAChB,OAAA,CAAQ,oBAAA;;;UC/PM,iBAAA;EACf,UAAA;EACA,cAAA;EACA,aAAA;EACA,UAAA;AAAA;;;KCZU,WAAA;AAAA,KASA,UAAA;EACN,IAAA;EAAuB,IAAA,EAAM,WAAA;EAAa,EAAA,EAAI,WAAA;AAAA;ATnBpD;;;AAAA;ESwBM,IAAA;EACA,SAAA;EACA,aAAA;EACA,YAAA;EACA,kBAAA;EACA,uBAAA;AAAA;EAEA,IAAA;EAAkB,SAAA;EAAmB,OAAA,EAAS,gBAAA;AAAA;EAC9C,IAAA;EAAsB,KAAA,EAAO,WAAA;AAAA;EAC7B,IAAA;EAAyB,QAAA,EAAU,eAAA;AAAA;;;;;;;;EAOnC,IAAA;EAAuB,QAAA,EAAU,eAAA;EAAe,MAAA,EAAQ,YAAA;EAAY,YAAA;AAAA;EACpE,IAAA;EAA2B,QAAA,EAAU,cAAA;AAAA;EACrC,IAAA;EAAyB,QAAA,EAAU,cAAA;AAAA;EAEnC,IAAA;EAAmB,SAAA;EAAmB,QAAA;EAAkB,QAAA;EAAmB,OAAA;EAAmB,cAAA;AAAA;EAE9F,IAAA;EAAuB,SAAA;EAAmB,SAAA;EAA8B,IAAA;EAAc,MAAA;EAAgB,OAAA;AAAA;EAEtG,IAAA;EAAwB,SAAA;EAAmB,WAAA;EAAqB,SAAA;EAAmB,aAAA;AAAA;;;;EAGnF,IAAA;EAAmB,SAAA;EAAmB,OAAA;EAAgC,SAAA;AAAA;EAItE,IAAA;EACA,SAAA;EACA,OAAA;EACA,UAAA;AAAA;EAGA,IAAA;EACA,SAAA;EACA,cAAA;EACA,aAAA;AAAA;EAGA,IAAA;EACA,SAAA;EACA,aAAA;EACA,OAAA;AAAA;;;;;;EAOA,IAAA;EACA,SAAA;EACA,cAAA;EACA,cAAA;EACA,WAAA;AAAA;EAGA,IAAA;EACA,SAAA;EACA,OAAA;EACA,UAAA;EACA,OAAA;EACA,MAAA;AAAA;EAGA,IAAA;EACA,SAAA;EACA,OAAA;EACA,UAAA;AAAA;EAGA,IAAA;EACA,SAAA;EACA,MAAA;;;;EASA,SAAA;;;;;;;EAOA,SAAA;AAAA;EAGA,IAAA;EACA,SAAA;EACA,QAAA;EACA,OAAA;AAAA;;;;;;;;EASA,IAAA;EACA,SAAA;EACA,QAAA;EACA,OAAA;EACA,MAAA;EAEA,SAAA;AAAA;;;;;;;;;;;EAYA,IAAA;EACA,UAAA;EACA,QAAA;EACA,OAAA;EACA,MAAA,EAAQ,YAAA;AAAA;;;;;;;;;;;;;;;EAgBR,IAAA;EACA,UAAA;EACA,QAAA;EACA,MAAA,EAAQ,YAAA;AAAA;;;;;;;EAQR,IAAA;EACA,SAAA;EACA,SAAA;AAAA;EAEA,IAAA;EAAe,KAAA,EAAO,KAAA;AAAA;EACtB,IAAA;AAAA;AAAA,KAEM,cAAA,GAAiB,UAAA;AAAA,KAwBjB,YAAA,WAAuB,cAAA,IAAkB,OAAA,CAAQ,UAAA;EAAc,IAAA,EAAM,CAAA;AAAA;AAAA,KAErE,iBAAA,WAA4B,cAAA,IAAkB,IAAA,CAAK,YAAA,CAAa,CAAA;AAAA,KAEhE,WAAA,WACJ,cAAA,SAAuB,iBAAA,CAAkB,CAAA,gCAE1C,OAAA,EAAS,iBAAA,CAAkB,CAAA,eAAD,iBAAA,CACJ,MAAA;AAAA,UAEZ,UAAA;EACf,MAAA,EAAQ,WAAA;EACR,SAAA;EACA,UAAA;IAAc,KAAA;IAAe,MAAA;IAAgB,SAAA;EAAA;EAC7C,WAAA;EACA,oBAAA,EAAsB,gBAAA;EACtB,KAAA,GAAQ,KAAA;AAAA;;;;;;;;;;;;;;;;;;UAyDO,oBAAA;EACf,UAAA;EACA,QAAA;EACA,OAAA,EAAS,OAAA;EACT,SAAA;EACA,QAAA;;;;;;;;;;;;;EAaA,eAAA,EAAiB,eAAA;AAAA;AAAA,KAKP,iBAAA;EACN,IAAA;EAAiB,IAAA,EAAM,MAAA;AAAA;EACvB,IAAA;EAAa,IAAA,EAAM,MAAA;EAAyB,MAAA;EAAgB,IAAA,GAAO,cAAA;AAAA;EACnE,IAAA;EAAc,MAAA;AAAA;AAAA,UAEH,gBAAA;;;;;;;EAOf,kBAAA,CAAmB,KAAA;IACjB,QAAA;IACA,UAAA;IACA,IAAA,EAAM,MAAA;IACN,SAAA;IACA,SAAA;IACA,KAAA,sBT0FuC;ISxFvC,QAAA;EAAA,IACE,OAAA,CAAQ,iBAAA;EAEZ,iBAAA,CAAkB,KAAA;IAChB,QAAA;IACA,UAAA;IACA,IAAA,EAAM,MAAA;IACN,MAAA,EAAQ,YAAA;IACR,SAAA;IACA,SAAA;IACA,UAAA,UT+E+C;IS7E/C,QAAA;EAAA,IACE,OAAA;IAAU,MAAA,EAAQ,YAAA;IAAY,QAAA,EAAU,MAAA;EAAA;AAAA;AAAA,UAG7B,WAAA;EACf,MAAA,EAAQ,cAAA;EACR,MAAA,EAAQ,MAAA;EACR,YAAA;EACA,qBAAA;ETyEyB;ESvEzB,uBAAA;ETuE4B;ESrE5B,uBAAA;ETsEU;;;;ESjEV,iBAAA;ET4Gc;;;;;AAMhB;ES3GE,cAAA;IAAmB,WAAA;IAAsB,eAAA;IAA0B,kBAAA;EAAA;ETiHzB;;;;AAE5C;ES7GE,iBAAA;IAAsB,YAAA;EAAA;EACtB,SAAA;EACA,SAAA;EACA,gBAAA,GAAmB,gBAAA;EACnB,KAAA,GAAQ,SAAA;EACR,QAAA,IACE,QAAA,UACA,IAAA,EAAM,MAAA,mBACN,MAAA,UACA,IAAA,GAAO,cAAA,KACJ,OAAA;EACL,KAAA,GADY,SAAA;EAEZ,QAAA,GADmC,aAAA;ETwGA;ESrGnC,WAAA;EACA,KAAA;ETqGA;;;;;;ES9FA,YAAA;ETmGW;;;;ES9FX,mBAAA;EACA,eAAA;IAAoB,IAAA;EAAA;ETyJZ;;;;;ESnJR,WAAA,GAtB0C,iBAAA;;;;;EA2B1C,sBAAA,GALkE,iBAAA;;;;;;EAWlE,gBAAA,GAN6E,iBAAA;;;AR9Z/E;;;EQ0aE,uBAAA;ERzaG;EQ2aH,KAAA,GARuE,SAAA;ERha9C;;;;AAI3B;EQ0aE,iBAAA,GANmC,iBAAA;AAAA;AAAA,UASpB,eAAA;EACf,KAAA,EAAO,KAAA;ERtaQ;EQwaf,YAAA;;EAEA,UAAA;ERxaQ;EQ0aR,cAAA,GAAiB,cAAA;EACjB,QAAA,EAAU,cAAA;EACV,KAAA,EAAO,qBAAA;EACP,aAAA,EAAe,aAAA;EACf,SAAA;EACA,WAAA;EACA,YAAA,IAAgB,QAAA,EAAU,cAAA,OAAmB,OAAA,KAAY,OAAA,CAAQ,OAAA;EACjE,gBAAA,IAAoB,QAAA,EAAU,cAAA,IAAgB,MAAA,GAAS,WAAA,KAAgB,OAAA,CAAQ,cAAA;EAC/E,eAAA,IACE,QAAA,EAAU,cAAA,IACV,MAAA,GAAS,WAAA,KACN,OAAA,CAAQ,cAAA;ERpbH;;AAQZ;;EQibE,cAAA,GALY,kBAAA;ER3a+B;;;;;;AAG7C;;;;;AACA;;;;;AACA;;;;;EQicE,aAAA;;;AP/dF;;;;;AAEA;EOseE,wBAAA;;;;;;;;;;;;EAYA,gBAAA;AAAA;;;cC/VW,KAAA,SAAc,iBAAA,CAAkB,WAAA;EAAA,QACnC,KAAA;EAAA,QACA,eAAA;EAAA,QACA,YAAA;EAAA,QACA,aAAA;EAAA,QACA,aAAA;;;;AVvJV;;;;;;;;mBUmKmB,qBAAA;EVtJR;;;;;AAKX;;;;;;;;;;;;;EALW,QU0KD,SAAA;;;MAIJ,gBAAA,CAAA;;;;;;;;;;;;;;mBAiBa,MAAA;EAAA,IAEb,MAAA,CAAA,GAAU,WAAA;EAAA,IAIV,SAAA,CAAA;cAIQ,MAAA,EAAQ,WAAA;EA4DpB,QAAA,CAAA,GAAY,QAAA,CAAS,UAAA;EAOf,GAAA,CAAI,OAAA,EAAS,eAAA,GAAkB,OAAA,CAAQ,gBAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UAgErC,gCAAA;EAiBR,KAAA,CAAM,OAAA,EAAS,YAAA;;;;;;;;;;EAaf,WAAA,CAAY,IAAA;EASZ,QAAA,CAAS,OAAA,EAAS,YAAA;;;;;;;;;;;;;EAgBlB,4BAAA,CAA6B,KAAA,EAAO,oBAAA;;EAKpC,wBAAA,CAAA;;;;;EAWA,yBAAA,CAAA,GAA6B,oBAAA;;;;;;;;;;;;;;;;;;;;;;;EA8BvB,4BAAA,CAAA,GAAgC,OAAA;;;;;;;;;;;;;;;;EAuBhC,oBAAA,CACJ,UAAA,UACA,MAAA,EAzB2C,UAAA,GA0B1C,OAAA;IAAU,QAAA;IAAmB,KAAA,GAAQ,oBAAA;EAAA;EAexC,KAAA,CAAA;;EAgBA,OAAA,CAAA;;EAKA,SAAA,CAAA;;;;;;;;;;;EAcA,KAAA,CAAA;EAAA,QAsBc,OAAA;EAAA,QA+CN,YAAA;EAAA,QAgBM,kBAAA;EAAA,QAMA,kBAAA;AAAA;AAAA,iBAiCA,WAAA,CAAY,MAAA,EAAQ,WAAA,GAAc,KAAA;;;;;;;;;;AV9oBlD;;;;;AAQA;;UWOiB,YAAA;EACf,IAAA;EACA,WAAA;EACA,SAAA;EACA,YAAA;EACA,oBAAA;EXRS;EWUT,UAAA;EACA,YAAA;EXAS;EWET,eAAA;EACA,kBAAA;EACA,mBAAA;EACA,4BAAA;;EAEA,cAAA;AAAA;;;;AXtBF;;;;;iBYWgB,kCAAA,CACd,QAAA,UACA,MAAA,UACA,IAAA;;;;;;;;iBAqBc,8BAAA,CACd,UAAA,UACA,QAAA,UACA,KAAA;EAAS,GAAA;AAAA,GACT,IAAA,YACC,iBAAA;;;;;iBAgBa,mCAAA,CACd,QAAA,UACA,UAAA,UACA,MAAA,EAAQ,UAAA,EACR,KAAA;EAAS,GAAA;AAAA,IACR,yBAAA;;;UCvCc,aAAA;Eb9Ba;;;;AAQ9B;;;;;;;;;;;;;;AAkBA;;;;Ea2BE,OAAA,WAAkB,iBAAA,EAChB,MAAA,EAAQ,CAAA,EACR,KAAA,EAAO,SAAA,CAAU,CAAA,GACjB,MAAA,EAAQ,UAAA,CAAW,CAAA,IAClB,OAAA;;;;;;EAMH,IAAA,WAAe,cAAA,EAAgB,MAAA,EAAQ,CAAA,EAAG,KAAA,EAAO,aAAA,CAAc,CAAA,IAAK,OAAA;AAAA;AAAA,UAWrD,eAAA;EACf,QAAA,aAAqB,YAAA;EACrB,MAAA,CAAO,OAAA,EAAS,YAAA;EAChB,YAAA;IAAkB,QAAA,EAAU,YAAA;IAAgB,OAAA;EAAA;EAC5C,UAAA,CAAW,QAAA,EAAU,YAAA,IAAgB,SAAA;;;;;EAKrC,gBAAA,EAAkB,OAAA,UAAiB,WAAA,EAAa,YAAA;;;;;;;;;EAShD,WAAA,EACE,WAAA,UACA,OAAA;IAAY,WAAA;IAAqB,cAAA;IAAwB,aAAA;EAAA;;;;;;;EAQ3D,UAAA;;;;;;;;;;;;;;;;;;EAkBA,oBAAA;AAAA;AAAA,UAGe,UAAA;EACf,UAAA,CAAW,QAAA,WAAmB,OAAA;EAC9B,eAAA,CAAgB,QAAA,WAAmB,OAAA;;;;;EAKnC,YAAA,EAAc,SAAA;;;;;EAKd,aAAA,EAAe,SAAA;;;;;EAKf,WAAA,EAAa,KAAA;IAAS,aAAA;IAAuB,SAAA;EAAA;;;;;EAK7C,gBAAA,EACE,QAAA,WAAmB,OAAA,IACnB,SAAA,WACA,MAAA,GAAS,WAAA,GACR,OAAA;IAAU,QAAA,EAAU,OAAA;IAAW,SAAA;IAAoB,OAAA;IAAkB,WAAA,GAAc,OAAA;EAAA;EACtF,OAAA,CACE,QAAA,WAAmB,OAAA,IACnB,SAAA,WACA,MAAA,GAAS,WAAA,EACT,OAAA;IAAY,KAAA;IAAiB,SAAA;EAAA,IAC5B,OAAA;IACD,QAAA,EAAU,OAAA;IACV,MAAA;IACA,SAAA;IACA,OAAA;IACA,WAAA,GAAc,OAAA;IACd,WAAA;IACA,YAAA;MACE,WAAA;MACA,WAAA;MACA,cAAA;MACA,aAAA;IAAA;EAAA;AAAA;AAAA,UAKW,UAAA;EACf,GAAA,CAAI,OAAA,EAAS,eAAA,GAAkB,OAAA,CAAQ,gBAAA;AAAA;AAAA,UAGxB,YAAA;EACf,YAAA;EACA,aAAA,EAAe,aAAA;EACf,WAAA;EACA,SAAA;;EAEA,cAAA,GAAiB,cAAA;;;;;;;EAOjB,UAAA;AAAA;AAAA,UAGe,WAAA;EACf,IAAA;;;;;;EAMA,MAAA,GAAS,KAAA;IAAQ,IAAA;IAAe,IAAA;IAAc,SAAA;EAAA;;;;;EAK9C,QAAA;;;;;;;;;;;;;;EAcA,eAAA;EACA,SAAA;EACA,SAAA;EACA,KAAA,EAAO,KAAA;EACP,KAAA,EAAO,mBAAA;EACP,MAAA,EAAQ,YAAA;EACR,MAAA,EAAQ,UAAA;EACR,KAAA,EAAO,aAAA;EACP,WAAA,EAAa,eAAA;EACb,MAAA,GAAS,UAAA;EACT,KAAA,GAAQ,SAAA;EACR,KAAA,GAAQ,SAAA;EACR,QAAA,GAAW,aAAA;;EAEX,gBAAA;;;;;;EAMA,cAAA,GARwB,kBAAA;AAAA;AAAA,UAWT,YAAA;EACf,SAAA;EACA,OAAA,GAAU,gBAAA;EACV,WAAA,EAAa,YAAA;;EAEb,uBAAA,EAAyB,sBAAA;EACzB,MAAA,EAAQ,YAAA;AAAA;;UAIO,sBAAA;EACf,KAAA,EAAO,KAAA;EACP,eAAA;EACA,gBAAA;EACA,KAAA;AAAA;AAAA,iBA6SoB,MAAA,CAAO,KAAA,EAAO,WAAA,GAAc,OAAA,CAAQ,YAAA;;;;;;;UCnZzC,sBAAA;EACf,QAAA,GAAW,aAAA;EACX,KAAA,GAAQ,aAAA;EACR,WAAA,GAAc,eAAA;EACd,IAAA;IAAS,SAAA;IAAoB,WAAA,GAAc,YAAA;EAAA;AAAA;AAAA,iBAGvB,oBAAA,CACpB,MAAA,EAAQ,UAAA,cACR,QAAA,EAAU,YAAA,IACV,SAAA,UACA,MAAA,GAAS,WAAA,EACT,IAAA,GAAM,sBAAA,GACL,OAAA,CAAQ,YAAA;;;;;;;iBAsFW,oBAAA,CACpB,MAAA,EAAQ,UAAA,cACR,QAAA,EAAU,YAAA,IACV,SAAA,UACA,MAAA,GAAS,WAAA,EACT,IAAA,GAAM,sBAAA,GACL,OAAA,CAAQ,YAAA;;;;;;;;;AdjQX;;;KeYY,WAAA;AAAA,KAEA,aAAA;AAAA,UAEK,aAAA;EACf,WAAA;EACA,WAAA;EACA,cAAA;EACA,aAAA;EACA,WAAA;EACA,aAAA;AAAA;AAAA,UAGe,oBAAA;EACf,KAAA,EAAO,WAAA;EACP,SAAA;EACA,IAAA;EACA,OAAA,EAAS,aAAA;EACT,OAAA,EAAS,aAAA;AAAA;;iBAcK,qBAAA,CAAsB,QAAA,EAAU,aAAA,EAAe,KAAA,EAAO,oBAAA;;;UCzCrD,WAAA;EACf,GAAA;EACA,KAAA,EAAO,UAAA;AAAA;AAAA,UAGQ,YAAA;EACf,WAAA;EACA,KAAA,EAAO,MAAA;EACP,KAAA;EACA,SAAA;EACA,OAAA;EACA,MAAA;AAAA;AAAA,UAGe,SAAA;EACf,GAAA;EACA,EAAA;EACA,IAAA,EAAM,UAAA;EACN,IAAA;EACA,IAAA;EACA,MAAA;AAAA;AAAA,KAGG,OAAA,GAAU,aAAA,CAAc,WAAA,IAAe,QAAA,CAAS,WAAA;AAAA,iBAE/B,cAAA,CAAe,OAAA,EAAS,OAAA,GAAU,OAAA,CAAQ,YAAA;AAAA,iBAqB1C,YAAA,CACpB,OAAA,EAAS,OAAA,EACT,OAAA;EAAW,SAAA;AAAA,IACV,OAAA,CAAQ,SAAA;AhB1BX;;;;;;;;AAAA,iBgB0HgB,kBAAA,CAAmB,OAAA,WAAkB,GAAA,WAAW,IAAA;AAAA,UA8F/C,UAAA;EACf,OAAA;EACA,GAAA;EACA,IAAA;EACA,IAAA;EACA,IAAA;EACA,aAAA;EACA,WAAA;AAAA;AAAA,UAGe,SAAA;EACf,KAAA,EAAO,UAAA;EACP,KAAA,EAAO,KAAA;IAAQ,IAAA;IAAc,EAAA;EAAA;EAC7B,KAAA;EACA,MAAA;AAAA;;;;;;iBAQc,SAAA,CAAU,OAAA,EAAS,WAAA,KAAgB,SAAA;;;;;;;;;;;;;;UA6DlC,gBAAA;;EAEf,KAAA,EAAO,KAAA;IAAQ,IAAA;IAAc,WAAA;EAAA;;EAE7B,UAAA,EAAY,GAAA;AAAA;AAAA,iBAGE,gBAAA,CACd,OAAA,EAAS,aAAA,CAAc,WAAA,GAAc,UAAA,IACpC,gBAAA;AAAA,iBA0Ba,QAAA,CAAS,OAAA,EAAS,WAAA,IAAe,SAAA;;;cCtWpC,UAAA,SAAmB,UAAA;cAClB,OAAA;AAAA;AAAA,cAMD,iBAAA,SAA0B,UAAA;EAAA,SAC5B,QAAA;EAAA,SACA,WAAA;EAAA,SACA,UAAA;cAEG,QAAA,UAAkB,WAAA,WAAkB,UAAA;EAAA,IAc5C,iBAAA,CAAA;AAAA;;AjBpBN;;;;ciB8Ba,yBAAA,SAAkC,UAAA;EAAA,SACpC,SAAA;EAAA,SACA,IAAA;EAAA,SACA,MAAA;EAAA,SACA,WAAA;cAEG,SAAA,qBAA8B,IAAA,UAAc,MAAA,UAAgB,WAAA;AAAA;;;;AjBlB1E;;ciBsCa,wBAAA,SAAiC,UAAA;EAAA,SACnC,SAAA;EAAA,SACA,cAAA;cAEG,SAAA,UAAmB,cAAA;AAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":[],"sources":["../src/engine-nodes.ts","../src/ports.ts","../src/trace.ts","../src/wire-snapshot.ts","../src/debug-port.ts","../src/tool-executor.ts","../src/vision-gate.ts","../src/tool-result-clamp.ts","../src/work-loop-stream-error.ts","../src/types.ts","../src/agent.ts","../src/agent-profile.ts","../src/lifecycle-async-tool.ts","../src/pipeline.ts","../src/context-pipeline.ts","../src/memory-lifecycle.ts","../src/trace-views.ts","../src/errors.ts"],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -17,5 +17,5 @@ Progress check: your recent tool calls repeat the same operations without produc
|
|
|
17
17
|
Your last response described an intention but performed no action, and no tools were called during this entire request. If the user asked you to do something, start doing it now — call the tools you need. If you were answering a question and your answer is already complete, or if you need information only the user can provide, say so explicitly and stop.
|
|
18
18
|
</engine_idle>`,{type:`turn.idle`,emit:()=>l.emit(`turn.idle`,{turnIndex:n,outcome:`nudge`,textChars:s}),recordNode:`turn.idle`,recordPayload:{outcome:`nudge`,textChars:s}}),u.info(`Idle turn detected on turn %d (%d text chars, zero tool calls, stopReason=%s); nudging model to act or confirm completion`,n+1,s,a),{kind:`continue`})}function Rt(e,t,n,r,i){return c(e)?Nt(e,t,n,r,i)??Pt(e,t,n,r,i):null}function zt(e,t,n,r,i){if(c(e))return null;let a=Ot(e);if(a===null||!h(a,new Set(t.toolExecutor.list().map(e=>e.name))))return null;let{emitter:o,logger:s,messages:l}=t,{clock:u,recorder:d}=i;return r.protocolMismatchRetryCount<2?(r.protocolMismatchRetryCount++,l.push({role:`user`,content:[{type:`text`,text:`<engine_protocol>
|
|
19
19
|
Your previous response indicated a tool call (stop reason was tool_use) but contained no valid tool invocation — do NOT write tool calls as literal text or XML in the response body. Re-issue the tool call using the proper tool-calling mechanism, or respond with text only.
|
|
20
|
-
</engine_protocol>`}],timestamp:u.now(),internal:!0}),s.warn(`Tool-call protocol mismatch on turn %d (stopReason=%s, message ends with literal <invoke> XML instead of a structured tool call — wire-layer recovery did not catch it); injecting correction prompt (%d/%d)`,n+1,e.stopReason,r.protocolMismatchRetryCount,2),o.emit(`tool.call.mismatch`,{turnIndex:n,outcome:`retry`,retryCount:r.protocolMismatchRetryCount}),d.record({kind:`lifecycle`,node:`tool.call.mismatch`,turn:n,payload:{outcome:`retry`,retryCount:r.protocolMismatchRetryCount}}),{kind:`continue`}):(s.warn(`Tool-call protocol mismatch persisted after %d retries on turn %d; terminating (not silently)`,2,n+1),o.emit(`tool.call.mismatch`,{turnIndex:n,outcome:`terminate`,retryCount:r.protocolMismatchRetryCount}),d.record({kind:`lifecycle`,node:`tool.call.mismatch`,turn:n,payload:{outcome:`terminate`,retryCount:r.protocolMismatchRetryCount}}),{kind:`terminate`})}function Bt(e,t){t.emptyResponseRetryCount!==0&&(c(e)||e.content.some(e=>e.type===`text`&&e.text.trim().length>0||e.type===`thinking`))&&t.emptyResponseRetryCount--}const Vt=[At,jt,Mt,Ft,It,zt,Lt,Rt];function Ht(e,t,n,r,i={}){let a={clock:i.clock??S,recorder:i.recorder??K};Bt(e,r);for(let i of Vt){let o=i(e,t,n,r,a);if(o)return o}return{kind:`terminate`}}function Ut(e){let t=e.budget.maxToolTurns??A.maxToolTurns;return e.budget.promptOutputTokenBudget!==void 0&&e.budget.promptOutputTokenBudget>0?t*4:t}function Wt(e,t,n){let r=e.budget.promptOutputTokenBudget;if(r!==void 0&&r>0&&t.promptOutputTokens>=r)return{dimension:`tokens`,used:t.promptOutputTokens,budget:r};let i=e.budget.promptWallClockBudgetMs;if(i!==void 0&&i>0){let e=n.now()-t.promptStartedAt;if(e>=i)return{dimension:`time`,used:e,budget:i}}return null}function Gt(e,t,n){Y(t,s(e),n,{isError:!0,text:`Tool budget reached; not executed — wrap-up requested.`,internal:!0})}function Q(e,t,n,r,i,a){let{messages:o}=t,{clock:s,recorder:c}=r;Gt(e,o,s),o.push({role:`user`,content:[{type:`text`,text:i}],timestamp:s.now(),internal:!0}),a.emit(),c.record({kind:`lifecycle`,node:a.recordNode,turn:n,payload:a.recordPayload})}function Kt(e,t){let n=t.maxOutputTokens;if(!n||n<=0)return e?e*8:void 0;if(e===void 0)return n;if(!(e>=n))return Math.min(e*8,n)}const qt=new Set([`start`,`text_delta`,`thinking_delta`,`tool_call_delta`]);function Jt(e){let t=e.type;return typeof t==`string`&&qt.has(t)}function Yt(e){return e.filter(e=>e.exposure!==`deferred`&&e.exposure!==`hidden`).map(e=>({name:e.name,description:e.description,parameters:e.parameters}))}async function Xt(e,t,n,r){let{signal:i,emitter:a,logger:o}=e,s=e.ports?.debug,l=e.ports?.recorder??K,u=e.ports?.clock??S;e.assertMessagesConsistent?.();let d=N({debug:s,getTurn:()=>n,getMessagesCount:()=>e.messages.length,getTokenUsage:()=>r,getLlmParams:()=>t,getMessagesForSummary:()=>e.messages}),f=[...e.messages];e.contextTransform?.transformContext&&(f=await e.contextTransform.transformContext(f,i),f.length!==e.messages.length&&o.info(`Context transformed for turn %d: %d -> %d messages`,n+1,e.messages.length,f.length),await d(`context.transform`,0,{messagesCount:f.length,summarySource:f,metadata:{originalCount:e.messages.length,transformedCount:f.length}}));let p=Yt(e.toolExecutor.list());F(await d(`model.before`,0),{messages:e.messages,setSystemPrompt:e=>{t.systemPrompt=e},setTemperature:e=>{t.temperature=e},setMaxTokens:e=>{t.maxTokens=e},setThinkingLevel:e=>{t.thinkingLevel=e}});let m={hasAttemptedReactiveCompact:!1,hasAttemptedImageDegradation:!1,transientRetries:0,hasAttemptedAuthRetry:!1},h=e.retry?.streamRetry??vt,g=e.ports?.random??C,_=e.ports?.sleep??T,y=!1,b=(e.systemTail??[]).filter(e=>e.length>0);for(;;){let r=await Ve(f,{model:e.model,describeImages:e.contextTransform?.describeImages,signal:e.signal,turnIndex:n,maxImagesDefault:20,record:(e,t)=>l.record({kind:`lifecycle`,node:e,turn:n,payload:t}),emitDelegate:t=>e.emitter.emit(`image.vision-delegate`,t)}),s=await e.convertToLLM(r),x=Ne.buildTurnInput({stableSystem:t.systemPrompt,volatileTail:b,llmMessages:s,model:e.model,tools:p,cacheRetention:e.cacheRetention,thinkingLevel:t.thinkingLevel,maxTokens:t.maxTokens,temperature:t.temperature});e.wireSnapshot&&(Ie(e.wireSnapshot,e.model.id,n,x),l.record({kind:`lifecycle`,node:`wire.snapshot.capture`,turn:n,payload:{sessionId:e.wireSnapshot.sessionId}}));let S=e.stream(x,i),C=he(l),w=u.now(),T=!1;try{for await(let e of S)if(e.type!==`error`&&(a.emit(`stream.event`,{event:e}),C.push(e,n)),!T&&Jt(e)&&(T=!0,l.record({kind:`lifecycle`,node:`stream.ttft`,turn:n,payload:{ttftMs:u.now()-w}})),i.aborted)throw new v;C.flush();let r=await S.result();if(o.info(`Turn %d completed with stop reason %s (input=%d, output=%d)`,n+1,r.stopReason,r.usage.inputTokens,r.usage.outputTokens),r.stopReason===`max_tokens`&&!c(r)&&!y){let r=Kt(t.maxTokens,e.model),i=t.maxTokens??e.model.maxOutputTokens;if(r!==void 0&&r>i){y=!0,o.warn(`Output truncated (max_tokens, no tool calls) on turn %d; escalating maxTokens %s -> %d and re-running`,n+1,t.maxTokens??`(default)`,r),t.maxTokens=r,a.emit(`turn.truncated`,{turnIndex:n,action:`escalate`,maxTokens:r}),l.record({kind:`lifecycle`,node:`turn.truncated`,turn:n,payload:{action:`escalate`,maxTokens:r}});continue}}return await d(`model.after`,0),r}catch(t){C.flush();let r=await Dt(t,e,n,f,m,h,e.retry?.retryAccelerate,g,_);if(r.action===`retry`){r.contextMessages&&(f=r.contextMessages);continue}throw t}}}async function Zt(e){let t=e.context,{signal:n,emitter:r,logger:i,transitionTo:a}=t,o=e.recorder;for(;;){if(n.aborted)throw new v;r.emit(`turn.start`,{turnIndex:e.turnIndex.current,toolTurnCount:e.turnState.toolTurnCount,maxToolTurns:Ut(t),promptOutputTokens:e.turnState.promptOutputTokens,promptOutputTokenBudget:t.budget.promptOutputTokenBudget}),o.record({kind:`lifecycle`,node:`turn.start`,turn:e.turnIndex.current}),i.info(`Turn %d started`,e.turnIndex.current+1);let s=await Xt(t,e.params,e.turnIndex.current,e.lastTokenUsage.current);e.messages.push(s),e.lastAssistantMessage.current=s,e.lastTokenUsage.current={input:s.usage.inputTokens,output:s.usage.outputTokens},e.turnState.promptOutputTokens+=s.usage.outputTokens,r.emit(`turn.end`,{turnIndex:e.turnIndex.current,message:s}),o.record({kind:`lifecycle`,node:`turn.end`,turn:e.turnIndex.current,payload:{stopReason:s.stopReason,usage:s.usage,model:s.model,provider:s.provider}});let c=e.turnIndex.current;e.turnIndex.current++;let l=Ht(s,t,c,e.turnState,{clock:e.clock,recorder:o});if(l.kind===`terminate`)return t.lifecycleAsync?.hasPending()?`pending`:(t.onTurnPersist?.(),`terminate`);if(l.kind===`continue`){t.onTurnPersist?.();continue}a(`tool_executing`);let{ranAnyTool:u}=await _t(s,t,c,e.lastTokenUsage.current,e.turnState.windowStats,e.turnState.stallDetector,e.toolResultAllowance);if(u&&e.turnState.toolTurnCount++,e.turnState.pendingBudgetNotice&&(t.messages.push({role:`user`,content:[{type:`text`,text:e.turnState.pendingBudgetNotice}],timestamp:e.clock.now(),internal:!0}),e.turnState.pendingBudgetNotice=void 0),t.onTurnPersist?.(),t.ports?.nondetFlush?.(),t.lifecycleAsync?.hasPending())return`pending`;a(`streaming`)}}function Qt(e,t){return e===void 0||e<=0?new Promise(()=>{}):new Promise(n=>{setTimeout(()=>{t(),n()},e).unref?.()})}async function $t(e,t,n,r){let i=!1,a=[],o=n.aborted,s=!1,c=e.then(()=>{i=!0}),l=new Promise(e=>{if(n.aborted){o=!0,i=!0,e();return}n.addEventListener(`abort`,()=>{o=!0,i=!0,e()},{once:!0})}),u=(async()=>{for(;!i;){let e=await t().catch(()=>[]);if(e.length>0){a=e,i=!0;return}if(i)return;await new Promise(e=>{setTimeout(e,200).unref?.()})}})(),d=Qt(r,()=>{s=!0,i=!0});return await Promise.race([c,l,u,d]),{steeringMessages:a,aborted:o,timedOut:s}}async function en(e,t,n){if(t.aborted)return`aborted`;let r=!1,i=!1,a=new Promise(e=>{t.addEventListener(`abort`,()=>{r=!0,e()},{once:!0})}),o=Qt(n,()=>{i=!0});return await Promise.race([e,a,o]),r?`aborted`:i?`timed-out`:`settled`}async function tn(e){let t=e.context,{signal:n,logger:r,emitter:i,transitionTo:a,getSteeringMessages:o}=t;for(;;){if(n.aborted)throw new v;if(a(`streaming`),await Zt({context:e.context,params:e.params,turnState:e.turnState,messages:e.messages,turnIndex:e.turnIndex,lastTokenUsage:e.lastTokenUsage,lastAssistantMessage:e.lastAssistantMessage,toolResultAllowance:e.toolResultAllowance.current,recorder:e.recorder,clock:e.clock})===`pending`){if(t.lifecycleAsync){let{steeringMessages:a,aborted:s,timedOut:c}=await $t(t.lifecycleAsync.waitForPending(),o,n,t.retry?.lifecycleAsyncTimeoutMs);if(s)throw new v;if(c){let n=t.retry?.lifecycleAsyncTimeoutMs??0;i.emit(`lifecycle.tool.timeout`,{turnIndex:e.turnIndex.current,timeoutMs:n}),e.recorder.record({kind:`lifecycle`,node:`lifecycle.tool.timeout`,turn:e.turnIndex.current,payload:{timeoutMs:n}}),r.warn(`Timed out after %d ms waiting for pending lifecycleAsync tool(s); abandoning the wait so the loop can proceed (RFC-366)`,n);for(let r of t.lifecycleAsync.listPending())e.messages.push(lt(r.toolName,r.toolCallId,n,{now:()=>(t.ports?.clock??S).now()})),r.consumed=!0}a.length>0&&(e.messages.push(...a),i.emit(`steering.injected`,{messages:a}),r.info(`Steering message(s) consumed while %d lifecycleAsync tool(s) still pending`,a.length))}continue}if(t.budget.isPauseRequested?.()){r.info(`Turn boundary reached with pause requested — yielding without followUp check`);break}await e.pause(`loop.end`,0),e.recorder.record({kind:`lifecycle`,node:`loop.end`,turn:e.turnIndex.current});let s=await t.getFollowUpMessages();if(await e.pause(`follow.up.check`,0,{metadata:{hasFollowUp:s.length>0,followUpCount:s.length}}),s.length===0)break;e.messages.push(...s),r.info(`Queued %d follow-up message(s)`,s.length),i.emit(`follow.up.start`,{messages:s}),e.turnState.toolTurnCount=0,e.turnState.extensionsUsed=0,e.turnState.budgetSteeringIssued=!1,L(e.turnState.windowStats),e.turnState.promptOutputTokens=0,e.turnState.promptStartedAt=e.clock.now(),e.turnState.stallDetector?.reset(),e.turnState.stallSteeringIssued=!1,e.turnState.protocolMismatchRetryCount=0,e.turnState.emptyResponseRetryCount=0,e.turnState.idleNudgeIssued=!1,e.turnState.continuationCount=0,e.toolResultAllowance.current=e.createToolResultAllowance()}if(t.lifecycleAsync?.hasPending()){r.info(`Waiting for remaining lifecycleAsync pending tool(s) to settle before returning (reached loop exit with pending still outstanding)`);let a=await en(t.lifecycleAsync.waitForPending(),n,t.retry?.lifecycleAsyncTimeoutMs);if(a===`aborted`)throw new v;if(a===`timed-out`){let n=t.retry?.lifecycleAsyncTimeoutMs??0;i.emit(`lifecycle.tool.timeout`,{turnIndex:e.turnIndex.current,timeoutMs:n}),e.recorder.record({kind:`lifecycle`,node:`lifecycle.tool.timeout`,turn:e.turnIndex.current,payload:{timeoutMs:n}}),r.warn(`Timed out after %d ms waiting for pending lifecycleAsync tool(s) at loop exit; returning without them (RFC-366)`,n);for(let r of t.lifecycleAsync.listPending())e.messages.push(lt(r.toolName,r.toolCallId,n,{now:()=>(t.ports?.clock??S).now()})),r.consumed=!0}}if(!e.lastAssistantMessage.current)throw Error(`Agent loop completed without producing a message`);return await e.pause(`agent.done`,0),e.recorder.record({kind:`lifecycle`,node:`agent.done`,turn:e.turnIndex.current}),r.info(`Agent loop finished after %d turn(s)`,e.turnIndex.current),e.lastAssistantMessage.current}async function nn(e){let t={current:0},n=e.budget.stallDetection,r={continuationCount:0,toolTurnCount:0,extensionsUsed:0,budgetSteeringIssued:!1,windowStats:I(),promptOutputTokens:0,promptStartedAt:(e.ports?.clock??S).now(),stallDetector:n===!1?void 0:new le(n??{}),stallSteeringIssued:!1,protocolMismatchRetryCount:0,emptyResponseRetryCount:0,idleNudgeIssued:!1},i={current:null},a={current:void 0},o=()=>new ae(oe(e.model.contextWindow,A.promptToolResultFraction),A.minToolResultChars),s=o(),{messages:c,signal:l,logger:u}=e,d=e.ports?.debug,f=e.ports?.clock??S,p=e.ports?.recorder??K,m={systemPrompt:e.systemPrompt,thinkingLevel:e.thinkingLevel,maxTokens:e.maxTokens,temperature:e.temperature},h=N({debug:d,getTurn:()=>t.current,getMessagesCount:()=>c.length,getTokenUsage:()=>a.current,getLlmParams:()=>m,getMessagesForSummary:()=>c});try{return u.info(`Agent loop started for model %s with %d messages`,e.model.id,c.length),await h(`loop.start`,0),p.record({kind:`lifecycle`,node:`loop.start`,turn:t.current}),tn({context:e,params:m,turnState:r,messages:c,turnIndex:t,lastTokenUsage:a,lastAssistantMessage:i,toolResultAllowance:{current:s},createToolResultAllowance:o,pause:h,recorder:p,clock:f})}catch(e){throw e instanceof v||l.aborted?(u.warn(`Agent loop aborted at turn %d`,t.current+1),await h(`agent.aborted`,0),p.record({kind:`lifecycle`,node:`agent.aborted`,turn:t.current}),e):(u.error(`Agent loop failed at turn %d: %s`,t.current+1,e instanceof Error?e.message:String(e)),await h(`agent.error`,0),p.record({kind:`lifecycle`,node:`agent.error`,turn:t.current,payload:{message:e instanceof Error?e.message:String(e)}}),e)}finally{e.ports?.nondetFlush?.(),await h(`loop.cleanup`,0)}}const rn=r(`@x-otto/agent:tool-executor`);function an(e){if(typeof e!=`object`||!e||Array.isArray(e))return!1;let t=Object.keys(e);if(t.length!==1||t[0]!==`_truncated`)return!1;let n=e._truncated;return typeof n==`object`&&!!n&&!Array.isArray(n)}function $(e){return{content:[{type:`text`,text:`Tool ${e} execution was aborted`}],isError:!0,errorKind:`aborted`,details:{}}}var on=class{tools;hookExecutor;agentName;sessionId;debug;clock;depth;parentTaskId;approval;constructor(e){this.tools=new Map;for(let t of e.tools)this.tools.set(t.name,t);this.hookExecutor=e.hookExecutor,this.agentName=e.agentName??``,this.sessionId=e.sessionId??``,this.debug=e.debug,this.clock=e.clock??S,this.depth=e.depth,this.parentTaskId=e.parentTaskId,this.approval=e.approval}list(){return[...this.tools.values()]}async execute(e,t){let{id:n,name:r}=e,i=this.tools.get(r),a=N({debug:this.debug,getTurn:()=>0,getMessagesCount:()=>0,getTokenUsage:()=>void 0});if(F(await a(`tool.resolve`,2,{lastToolName:r,metadata:{found:!!i,toolCallId:n,sessionId:this.sessionId}})),!i)return{content:[{type:`text`,text:`Unknown tool: ${r}`}],isError:!0,errorKind:`not_found`};let o=this.clock.now(),s=e.arguments;try{if(this.hookExecutor){F(await a(`tool.hook.before`,2,{lastToolName:r,metadata:{toolCallId:n,sessionId:this.sessionId}}));let e=await this.hookExecutor.executeBeforeHooks({toolName:r,toolCallId:n,args:s,agentName:this.agentName,sessionId:this.sessionId,paths:sn(i,s),readonly:i.readonly});if(e.kind===`deny`)return{content:[{type:`text`,text:e.reason}],isError:!0,errorKind:`permission`};if(s=e.args,e.kind===`ask`){let n=e.reason;if(!this.approval)return{content:[{type:`text`,text:`Tool ${r} requires approval but no approval handler is configured: ${n}`}],isError:!0,errorKind:`permission`};let i=await this.approval(r,s,n,e.risk);if(t.aborted)return $(r);if(!i)return{content:[{type:`text`,text:`Tool ${r} was rejected by user: ${n}`}],isError:!0,errorKind:`permission`}}}let c=i.parameters.safeParse(s);if(!c.success&&an(s)){let e=s._truncated,t=i.parameters.safeParse(e);t.success&&(rn.warn({toolName:r,toolCallId:n},`RFC-142: unwrapped legacy _truncated wrapper from model tool-call arguments (context-poisoning residue); executing with inner arguments`),c=t)}let{success:l}=c;if(F(await a(`tool.validate`,2,{lastToolName:r,metadata:{valid:l,toolCallId:n,sessionId:this.sessionId}})),!c.success)return{content:[{type:`text`,text:`Invalid arguments for tool ${r}: ${String(c.error)}\n\nDo NOT wrap arguments in any extra key; emit the tool's schema fields at the top level and retry.`}],isError:!0,errorKind:`validation`};if(t.aborted)return $(r);let u=await i.execute({id:e.id,params:c.data,signal:t,sessionId:this.sessionId||void 0,agentName:this.agentName||void 0,depth:this.depth,...this.parentTaskId===void 0?{}:{parentTaskId:this.parentTaskId}});if(t.aborted)return $(r);if(u.isError&&u.errorKind===`sandbox-denied`&&this.approval){let n=typeof u.details?.denialReason==`string`?u.details.denialReason:`sandbox policy`,a=`[sandbox-escalation] sandbox denied (${typeof u.details?.sandboxBackend==`string`?u.details.sandboxBackend:`unknown`}: ${n}); approve to retry this command without sandbox`,o=await this.approval(r,s,a,`medium`);!t.aborted&&o&&(u=await i.execute({id:e.id,params:c.data,signal:t,sessionId:this.sessionId||void 0,agentName:this.agentName||void 0,depth:this.depth,...this.parentTaskId===void 0?{}:{parentTaskId:this.parentTaskId}}))}return t.aborted||(this.hookExecutor&&(u=(await this.hookExecutor.executeAfterHooks({toolName:e.name,toolCallId:e.id,args:s,result:u,agentName:this.agentName,sessionId:this.sessionId,durationMs:this.clock.now()-o,readonly:i.readonly})).result,F(await a(`tool.hook.after`,2,{lastToolName:r,metadata:{toolCallId:n,durationMs:this.clock.now()-o,sessionId:this.sessionId}}))),t.aborted)?$(r):u}catch(n){if(t.aborted)return $(r);let i=n instanceof Error?n.message:String(n),a=n?.errorKind,o=n?.pluginSource;return{content:[{type:`text`,text:`Tool ${e.name} failed: ${i}`}],isError:!0,errorKind:a??`runtime`,details:{error:n instanceof Error?n.name:`UnknownError`},...o?{pluginSource:o}:{}}}}};function sn(e,t){if(!e.pathParams?.length)return[];let n=[];for(let r of e.pathParams){let i=t[r];typeof i==`string`&&n.push(e.resolvePath?e.resolvePath(i):i)}return n}function cn(e,t){return new on({tools:e,...t})}const ln=r(`@x-otto/agent`),un={idle:new Set([`streaming`,`aborted`,`error`,`archived`]),streaming:new Set([`tool_executing`,`completed`,`aborted`,`error`]),tool_executing:new Set([`streaming`,`aborted`,`error`]),completed:new Set([`streaming`,`idle`,`aborted`,`error`,`archived`]),error:new Set([`idle`,`aborted`,`streaming`,`archived`]),aborted:new Set([`streaming`,`idle`,`error`,`archived`]),archived:new Set([`idle`])};function dn(e,t,n){let r=cn(t.tools,{hookExecutor:e.toolHookExecutor,agentName:e.agentName,sessionId:e.sessionId,debug:e.debug,clock:e.clock,depth:e.depth,parentTaskId:e.parentTaskId,approval:e.approval});return{model:t.model,systemPrompt:t.systemPrompt,systemTail:t.systemTail,cacheRetention:t.cacheRetention,messages:t.messages,thinkingLevel:t.thinkingLevel,maxTokens:t.maxTokens,temperature:t.temperature,convertToLLM:t.convertToLLM??pn,onTurnPersist:t.onTurnPersist,assertMessagesConsistent:t.assertMessagesConsistent,logger:e.agentLogger,toolExecutor:r,stream:e.stream,signal:n.signal,emitter:n.emitter,getSteeringMessages:n.getSteeringMessages,getFollowUpMessages:n.getFollowUpMessages,transitionTo:n.transitionTo,lifecycleAsync:n.lifecycleAsync,wireSnapshot:e.wireSnapshotStore?{sessionId:e.sessionId??``,store:e.wireSnapshotStore}:void 0,ports:{clock:e.clock,debug:e.debug,recorder:e.recorder,nondetFlush:e.nondetFlush,spill:e.spill},budget:{maxToolTurns:e.maxToolTurns,maxToolTurnExtensions:e.maxToolTurnExtensions,budgetSteerWrapUp:e.budgetSteerWrapUp,promptOutputTokenBudget:e.promptOutputTokenBudget,promptWallClockBudgetMs:e.promptWallClockBudgetMs,stallDetection:e.stallDetection,idleTurnDetection:e.idleTurnDetection,isPauseRequested:t.isPauseRequested,maxToolCallsPerTurn:e.maxToolCallsPerTurn},retry:{retryAccelerate:e.retryAccelerate,streamRetry:e.streamRetry,networkDisconnectRetry:e.networkDisconnectRetry,idleTimeoutRetry:e.idleTimeoutRetry,lifecycleAsyncTimeoutMs:e.lifecycleAsyncTimeoutMs},contextTransform:{transformContext:t.transformContext,reactiveCompact:t.reactiveCompact,describeImages:t.describeImages}}}var fn=class extends n{state;abortController=null;pendingAbort=!1;steeringQueue=[];followUpQueue=[];pendingLifecycleTools=new Map;promptSeq=0;get currentPromptSeq(){return this.promptSeq}config;get status(){return this.state.status}get turnCount(){return this.state.turnCount}constructor(e){super(),this.config={stream:e.stream,agentLogger:e.logger,maxToolTurns:e.maxToolTurns??A.maxToolTurns,maxToolTurnExtensions:e.maxToolTurnExtensions??0,budgetSteerWrapUp:e.budgetSteerWrapUp??!1,promptOutputTokenBudget:e.promptOutputTokenBudget,promptWallClockBudgetMs:e.promptWallClockBudgetMs,stallDetection:e.stallDetection,idleTurnDetection:e.idleTurnDetection,agentName:e.agentName??``,sessionId:e.sessionId??``,toolHookExecutor:e.toolHookExecutor,debug:e.debug,clock:e.clock,recorder:e.recorder,nondetFlush:e.nondetFlush,depth:e.depth,parentTaskId:e.parentTaskId,maxToolCallsPerTurn:e.maxToolCallsPerTurn,retryAccelerate:e.retryAccelerate,streamRetry:e.streamRetry,networkDisconnectRetry:e.networkDisconnectRetry,idleTimeoutRetry:e.idleTimeoutRetry,lifecycleAsyncTimeoutMs:e.lifecycleAsyncTimeoutMs,spill:e.spill,approval:e.approval},this.state={status:`idle`,turnCount:0,tokenUsage:{input:0,output:0,cacheRead:0},isStreaming:!1,currentStreamMessage:null,error:void 0},this.on(`status.change`,({to:e})=>{this.state.isStreaming=e===`streaming`}),this.on(`turn.end`,({message:e})=>{this.state.turnCount++,this.state.currentStreamMessage=null,this.state.tokenUsage.input+=e.usage.inputTokens,this.state.tokenUsage.output+=e.usage.outputTokens,this.state.tokenUsage.cacheRead+=e.usage.cacheReadTokens}),this.on(`stream.event`,({event:e})=>{e.type===`start`&&(this.state.currentStreamMessage=e.partial)})}getState(){return{...this.state,tokenUsage:{...this.state.tokenUsage}}}async run(e){if(this.state.status===`streaming`||this.state.status===`tool_executing`)throw Error(`Cannot run in ${this.state.status} status`);if(this.state.status===`archived`)throw Error(`Cannot run: session is archived`);return this.state.status===`error`&&(this.state.error=void 0),this.cancelStalePendingLifecycleTools(),this.promptSeq++,this.runLoop(e)}cancelStalePendingLifecycleTools(){for(let[e,t]of this.pendingLifecycleTools){if(t.consumed){this.pendingLifecycleTools.delete(e);continue}t.abortController.abort(),this.config.agentLogger.info(`Cancelling stale lifecycleAsync tool %s (task id: %s) from prompt %d — new prompt %d starting`,t.toolName,t.toolCallId,t.promptSeq,this.promptSeq+1)}}steer(e){this.steeringQueue.push(e)}removeSteer(e){let t=this.steeringQueue.findIndex(t=>t.uuid===e);return t===-1?!1:(this.steeringQueue.splice(t,1),!0)}followUp(e){this.followUpQueue.push(e)}registerPendingLifecycleTool(e){this.pendingLifecycleTools.set(e.toolCallId,e)}hasPendingLifecycleTools(){for(let e of this.pendingLifecycleTools.values())if(!e.consumed)return!0;return!1}listPendingLifecycleTools(){let e=[];for(let t of this.pendingLifecycleTools.values())t.consumed||e.push(t);return e}async waitForPendingLifecycleTools(){let e=[...this.pendingLifecycleTools.values()].filter(e=>!e.consumed).map(e=>e.promise);e.length!==0&&await Promise.allSettled(e)}async notifyToolCompletion(e,t){let n=this.pendingLifecycleTools.get(e);return!n||n.consumed?{consumed:!1}:(n.consumed=!0,this.emit(`lifecycle.tool.completed`,{toolCallId:e,toolName:n.toolName,isError:t.isError??!1,result:t}),{consumed:!0,entry:n})}abort(){this.state.status===`aborted`&&!this.abortController||(this.abortController?this.abortController.abort():this.pendingAbort=!0,this.transitionTo(`aborted`),this.emit(`abort`))}archive(){this.transitionTo(`archived`)}unarchive(){this.transitionTo(`idle`)}reset(){this.abortController&&=(this.abortController.abort(),null),this.pendingAbort=!1,this.steeringQueue=[],this.followUpQueue=[],this.pendingLifecycleTools.clear(),this.state.turnCount=0,this.state.tokenUsage={input:0,output:0,cacheRead:0},this.state.currentStreamMessage=null,this.state.error=void 0;let e=this.state.status;this.state.status=`idle`,e!==`idle`&&this.emit(`status.change`,{from:e,to:`idle`})}async runLoop(e){let t=new AbortController;this.abortController=t,this.pendingAbort&&(this.pendingAbort=!1,t.abort());let n=t.signal;try{let t=await nn(dn(this.config,e,{signal:n,emitter:this,getSteeringMessages:()=>this.drainSteeringQueue(),getFollowUpMessages:()=>this.drainFollowUpQueue(),transitionTo:e=>this.transitionTo(e),lifecycleAsync:{register:e=>this.registerPendingLifecycleTool(e),hasPending:()=>this.hasPendingLifecycleTools(),waitForPending:()=>this.waitForPendingLifecycleTools(),listPending:()=>this.listPendingLifecycleTools(),notifyCompletion:(e,t)=>this.notifyToolCompletion(e,t),currentPromptSeq:()=>this.currentPromptSeq}}));return this.transitionTo(`completed`),t}catch(e){throw e instanceof v||n.aborted?(this.transitionTo(`aborted`),e):(this.state.error=e instanceof Error?e:Error(String(e)),this.transitionTo(`error`),this.emit(`error`,{error:this.state.error}),this.state.error)}finally{this.abortController===t&&(this.abortController=null),this.state.isStreaming=!1}}transitionTo(e){let t=this.state.status;if(t!==e){if(!un[t]?.has(e)){ln.warn(`Invalid state transition: %s → %s (ignored)`,t,e);return}this.state.status=e,this.emit(`status.change`,{from:t,to:e})}}async drainSteeringQueue(){let e=[...this.steeringQueue];return this.steeringQueue=[],e}async drainFollowUpQueue(){let e=[...this.followUpQueue];return this.followUpQueue=[],e}};function pn(e){return e.filter(e=>typeof e==`object`&&!!e&&`role`in e&&(e.role===`user`||e.role===`assistant`||e.role===`tool_result`||e.role===`system_notification`))}function mn(e){return new fn(e)}export{v as AbortError,fn as Agent,ne as BREAKPOINT_POINTS,A as ENGINE_DEFAULTS,k as ENGINE_LIFECYCLE_TIMINGS,E as ENGINE_NODES,ie as IMAGE_CONTEXT_CHARS_EQUIVALENT,V as MAX_IMAGE_INLINE_BYTES,y as MaxToolTurnsError,x as MessagesConsistencyError,ee as OBSERVABLE_NODE_IDS,b as PromptBudgetExceededError,te as TRACEABLE_NODE_IDS,Pe as WireSnapshotStore,we as applyMemoryTransform,Be as applyVisionGate,ct as buildLifecycleAsyncCompletionNotice,st as buildLifecycleAsyncPlaceholder,ot as buildLifecycleAsyncPlaceholderText,Ie as captureWireSnapshot,nt as causalDag,W as clampToolResultContent,se as clampWithSpill,F as consumePause,mn as createAgent,ge as createRecordingPorts,_e as createReplayPorts,he as createStreamTracePersister,cn as createToolExecutor,ue as createTraceRecorder,tt as digestTracePayload,ve as extractNondetDraws,o as extractToolResultText,De as forceMemoryTransform,O as nodesWithCapability,K as noopRecorder,U as normalizeToolResultContent,Ze as prompt,q as recordMemoryLifecycle,ce as runBounded,fe as shouldPersistStreamEvent,H as stripAnsi,j as summarizeMessages,Qe as summarizeTrace,S as systemClock,w as systemId,C as systemRandom,G as toolResultContextChars,$e as traceToSpans,it as traceWhy,rt as turnToolTopology,Fe as wireSnapshotStore};
|
|
20
|
+
</engine_protocol>`}],timestamp:u.now(),internal:!0}),s.warn(`Tool-call protocol mismatch on turn %d (stopReason=%s, message ends with literal <invoke> XML instead of a structured tool call — wire-layer recovery did not catch it); injecting correction prompt (%d/%d)`,n+1,e.stopReason,r.protocolMismatchRetryCount,2),o.emit(`tool.call.mismatch`,{turnIndex:n,outcome:`retry`,retryCount:r.protocolMismatchRetryCount}),d.record({kind:`lifecycle`,node:`tool.call.mismatch`,turn:n,payload:{outcome:`retry`,retryCount:r.protocolMismatchRetryCount}}),{kind:`continue`}):(s.warn(`Tool-call protocol mismatch persisted after %d retries on turn %d; terminating (not silently)`,2,n+1),o.emit(`tool.call.mismatch`,{turnIndex:n,outcome:`terminate`,retryCount:r.protocolMismatchRetryCount}),d.record({kind:`lifecycle`,node:`tool.call.mismatch`,turn:n,payload:{outcome:`terminate`,retryCount:r.protocolMismatchRetryCount}}),{kind:`terminate`})}function Bt(e,t){t.emptyResponseRetryCount!==0&&(c(e)||e.content.some(e=>e.type===`text`&&e.text.trim().length>0||e.type===`thinking`))&&t.emptyResponseRetryCount--}const Vt=[At,jt,Mt,Ft,It,zt,Lt,Rt];function Ht(e,t,n,r,i={}){let a={clock:i.clock??S,recorder:i.recorder??K};Bt(e,r);for(let i of Vt){let o=i(e,t,n,r,a);if(o)return o}return{kind:`terminate`}}function Ut(e){let t=e.budget.maxToolTurns??A.maxToolTurns;return e.budget.promptOutputTokenBudget!==void 0&&e.budget.promptOutputTokenBudget>0?t*4:t}function Wt(e,t,n){let r=e.budget.promptOutputTokenBudget;if(r!==void 0&&r>0&&t.promptOutputTokens>=r)return{dimension:`tokens`,used:t.promptOutputTokens,budget:r};let i=e.budget.promptWallClockBudgetMs;if(i!==void 0&&i>0){let e=n.now()-t.promptStartedAt;if(e>=i)return{dimension:`time`,used:e,budget:i}}return null}function Gt(e,t,n){Y(t,s(e),n,{isError:!0,text:`Tool budget reached; not executed — wrap-up requested.`,internal:!0})}function Q(e,t,n,r,i,a){let{messages:o}=t,{clock:s,recorder:c}=r;Gt(e,o,s),o.push({role:`user`,content:[{type:`text`,text:i}],timestamp:s.now(),internal:!0}),a.emit(),c.record({kind:`lifecycle`,node:a.recordNode,turn:n,payload:a.recordPayload})}function Kt(e,t){let n=t.maxOutputTokens;if(!n||n<=0)return e?e*8:void 0;if(e===void 0)return n;if(!(e>=n))return Math.min(e*8,n)}const qt=new Set([`start`,`text_delta`,`thinking_delta`,`tool_call_delta`]);function Jt(e){let t=e.type;return typeof t==`string`&&qt.has(t)}function Yt(e){return e.filter(e=>e.exposure!==`deferred`&&e.exposure!==`hidden`).map(e=>({name:e.name,description:e.description,parameters:e.parameters}))}async function Xt(e,t,n,r){let{signal:i,emitter:a,logger:o}=e,s=e.ports?.debug,l=e.ports?.recorder??K,u=e.ports?.clock??S;e.assertMessagesConsistent?.();let d=N({debug:s,getTurn:()=>n,getMessagesCount:()=>e.messages.length,getTokenUsage:()=>r,getLlmParams:()=>t,getMessagesForSummary:()=>e.messages}),f=[...e.messages];e.contextTransform?.transformContext&&(f=await e.contextTransform.transformContext(f,i),f.length!==e.messages.length&&o.info(`Context transformed for turn %d: %d -> %d messages`,n+1,e.messages.length,f.length),await d(`context.transform`,0,{messagesCount:f.length,summarySource:f,metadata:{originalCount:e.messages.length,transformedCount:f.length}}));let p=Yt(e.toolExecutor.list());F(await d(`model.before`,0),{messages:e.messages,setSystemPrompt:e=>{t.systemPrompt=e},setTemperature:e=>{t.temperature=e},setMaxTokens:e=>{t.maxTokens=e},setThinkingLevel:e=>{t.thinkingLevel=e}});let m={hasAttemptedReactiveCompact:!1,hasAttemptedImageDegradation:!1,transientRetries:0,hasAttemptedAuthRetry:!1},h=e.retry?.streamRetry??vt,g=e.ports?.random??C,_=e.ports?.sleep??T,y=!1,b=(e.systemTail??[]).filter(e=>e.length>0);for(;;){let r=await Ve(f,{model:e.model,describeImages:e.contextTransform?.describeImages,signal:e.signal,turnIndex:n,maxImagesDefault:20,record:(e,t)=>l.record({kind:`lifecycle`,node:e,turn:n,payload:t}),emitDelegate:t=>e.emitter.emit(`image.vision-delegate`,t)}),s=await e.convertToLLM(r),x=Ne.buildTurnInput({stableSystem:t.systemPrompt,volatileTail:b,llmMessages:s,model:e.model,tools:p,cacheRetention:e.cacheRetention,thinkingLevel:t.thinkingLevel,maxTokens:t.maxTokens,temperature:t.temperature});e.wireSnapshot&&(Ie(e.wireSnapshot,e.model.id,n,x),l.record({kind:`lifecycle`,node:`wire.snapshot.capture`,turn:n,payload:{sessionId:e.wireSnapshot.sessionId}}));let S=e.stream(x,i),C=he(l),w=u.now(),T=!1;try{for await(let e of S)if(e.type!==`error`&&(a.emit(`stream.event`,{event:e}),C.push(e,n)),!T&&Jt(e)&&(T=!0,l.record({kind:`lifecycle`,node:`stream.ttft`,turn:n,payload:{ttftMs:u.now()-w}})),i.aborted)throw new v;C.flush();let r=await S.result();if(o.info(`Turn %d completed with stop reason %s (input=%d, output=%d)`,n+1,r.stopReason,r.usage.inputTokens,r.usage.outputTokens),r.stopReason===`max_tokens`&&!c(r)&&!y){let r=Kt(t.maxTokens,e.model),i=t.maxTokens??e.model.maxOutputTokens;if(r!==void 0&&r>i){y=!0,o.warn(`Output truncated (max_tokens, no tool calls) on turn %d; escalating maxTokens %s -> %d and re-running`,n+1,t.maxTokens??`(default)`,r),t.maxTokens=r,a.emit(`turn.truncated`,{turnIndex:n,action:`escalate`,maxTokens:r}),l.record({kind:`lifecycle`,node:`turn.truncated`,turn:n,payload:{action:`escalate`,maxTokens:r}});continue}}return await d(`model.after`,0),r}catch(t){C.flush();let r=await Dt(t,e,n,f,m,h,e.retry?.retryAccelerate,g,_);if(r.action===`retry`){r.contextMessages&&(f=r.contextMessages);continue}throw t}}}async function Zt(e){let t=e.context,{signal:n,emitter:r,logger:i,transitionTo:a}=t,o=e.recorder;for(;;){if(n.aborted)throw new v;r.emit(`turn.start`,{turnIndex:e.turnIndex.current,toolTurnCount:e.turnState.toolTurnCount,maxToolTurns:Ut(t),promptOutputTokens:e.turnState.promptOutputTokens,promptOutputTokenBudget:t.budget.promptOutputTokenBudget}),o.record({kind:`lifecycle`,node:`turn.start`,turn:e.turnIndex.current}),i.info(`Turn %d started`,e.turnIndex.current+1);let s=await Xt(t,e.params,e.turnIndex.current,e.lastTokenUsage.current);e.messages.push(s),e.lastAssistantMessage.current=s,e.lastTokenUsage.current={input:s.usage.inputTokens,output:s.usage.outputTokens},e.turnState.promptOutputTokens+=s.usage.outputTokens,r.emit(`turn.end`,{turnIndex:e.turnIndex.current,message:s}),o.record({kind:`lifecycle`,node:`turn.end`,turn:e.turnIndex.current,payload:{stopReason:s.stopReason,usage:s.usage,model:s.model,provider:s.provider}});let c=e.turnIndex.current;e.turnIndex.current++;let l=Ht(s,t,c,e.turnState,{clock:e.clock,recorder:o});if(l.kind===`terminate`)return t.lifecycleAsync?.hasPending()?`pending`:(t.onTurnPersist?.(),`terminate`);if(l.kind===`continue`){t.onTurnPersist?.();continue}a(`tool_executing`);let{ranAnyTool:u}=await _t(s,t,c,e.lastTokenUsage.current,e.turnState.windowStats,e.turnState.stallDetector,e.toolResultAllowance);if(u&&e.turnState.toolTurnCount++,e.turnState.pendingBudgetNotice&&(t.messages.push({role:`user`,content:[{type:`text`,text:e.turnState.pendingBudgetNotice}],timestamp:e.clock.now(),internal:!0}),e.turnState.pendingBudgetNotice=void 0),t.onTurnPersist?.(),t.ports?.nondetFlush?.(),t.lifecycleAsync?.hasPending())return`pending`;a(`streaming`)}}function Qt(e,t){return e===void 0||e<=0?new Promise(()=>{}):new Promise(n=>{setTimeout(()=>{t(),n()},e).unref?.()})}async function $t(e,t,n,r){let i=!1,a=[],o=n.aborted,s=!1,c=e.then(()=>{i=!0}),l=new Promise(e=>{if(n.aborted){o=!0,i=!0,e();return}n.addEventListener(`abort`,()=>{o=!0,i=!0,e()},{once:!0})}),u=(async()=>{for(;!i;){let e=await t().catch(()=>[]);if(e.length>0){a=e,i=!0;return}if(i)return;await new Promise(e=>{setTimeout(e,200).unref?.()})}})(),d=Qt(r,()=>{s=!0,i=!0});return await Promise.race([c,l,u,d]),{steeringMessages:a,aborted:o,timedOut:s}}async function en(e,t,n){if(t.aborted)return`aborted`;let r=!1,i=!1,a=new Promise(e=>{t.addEventListener(`abort`,()=>{r=!0,e()},{once:!0})}),o=Qt(n,()=>{i=!0});return await Promise.race([e,a,o]),r?`aborted`:i?`timed-out`:`settled`}async function tn(e){let t=e.context,{signal:n,logger:r,emitter:i,transitionTo:a,getSteeringMessages:o}=t;for(;;){if(n.aborted)throw new v;if(a(`streaming`),await Zt({context:e.context,params:e.params,turnState:e.turnState,messages:e.messages,turnIndex:e.turnIndex,lastTokenUsage:e.lastTokenUsage,lastAssistantMessage:e.lastAssistantMessage,toolResultAllowance:e.toolResultAllowance.current,recorder:e.recorder,clock:e.clock})===`pending`){if(t.lifecycleAsync){let{steeringMessages:a,aborted:s,timedOut:c}=await $t(t.lifecycleAsync.waitForPending(),o,n,t.retry?.lifecycleAsyncTimeoutMs);if(s)throw new v;if(c){let n=t.retry?.lifecycleAsyncTimeoutMs??0;i.emit(`lifecycle.tool.timeout`,{turnIndex:e.turnIndex.current,timeoutMs:n}),e.recorder.record({kind:`lifecycle`,node:`lifecycle.tool.timeout`,turn:e.turnIndex.current,payload:{timeoutMs:n}}),r.warn(`Timed out after %d ms waiting for pending lifecycleAsync tool(s); abandoning the wait so the loop can proceed (RFC-366)`,n);for(let r of t.lifecycleAsync.listPending())e.messages.push(lt(r.toolName,r.toolCallId,n,{now:()=>(t.ports?.clock??S).now()})),r.consumed=!0}a.length>0&&(e.messages.push(...a),i.emit(`steering.injected`,{messages:a}),r.info(`Steering message(s) consumed while %d lifecycleAsync tool(s) still pending`,a.length))}continue}if(t.budget.isPauseRequested?.()){r.info(`Turn boundary reached with pause requested — yielding without followUp check`);break}await e.pause(`loop.end`,0),e.recorder.record({kind:`lifecycle`,node:`loop.end`,turn:e.turnIndex.current});let s=await t.getFollowUpMessages();if(await e.pause(`follow.up.check`,0,{metadata:{hasFollowUp:s.length>0,followUpCount:s.length}}),s.length===0)break;e.messages.push(...s),r.info(`Queued %d follow-up message(s)`,s.length),i.emit(`follow.up.start`,{messages:s}),e.turnState.toolTurnCount=0,e.turnState.extensionsUsed=0,e.turnState.budgetSteeringIssued=!1,L(e.turnState.windowStats),e.turnState.promptOutputTokens=0,e.turnState.promptStartedAt=e.clock.now(),e.turnState.stallDetector?.reset(),e.turnState.stallSteeringIssued=!1,e.turnState.protocolMismatchRetryCount=0,e.turnState.emptyResponseRetryCount=0,e.turnState.idleNudgeIssued=!1,e.turnState.continuationCount=0,e.toolResultAllowance.current=e.createToolResultAllowance()}if(t.lifecycleAsync?.hasPending()){r.info(`Waiting for remaining lifecycleAsync pending tool(s) to settle before returning (reached loop exit with pending still outstanding)`);let a=await en(t.lifecycleAsync.waitForPending(),n,t.retry?.lifecycleAsyncTimeoutMs);if(a===`aborted`)throw new v;if(a===`timed-out`){let n=t.retry?.lifecycleAsyncTimeoutMs??0;i.emit(`lifecycle.tool.timeout`,{turnIndex:e.turnIndex.current,timeoutMs:n}),e.recorder.record({kind:`lifecycle`,node:`lifecycle.tool.timeout`,turn:e.turnIndex.current,payload:{timeoutMs:n}}),r.warn(`Timed out after %d ms waiting for pending lifecycleAsync tool(s) at loop exit; returning without them (RFC-366)`,n);for(let r of t.lifecycleAsync.listPending())e.messages.push(lt(r.toolName,r.toolCallId,n,{now:()=>(t.ports?.clock??S).now()})),r.consumed=!0}}if(!e.lastAssistantMessage.current)throw Error(`Agent loop completed without producing a message`);return await e.pause(`agent.done`,0),e.recorder.record({kind:`lifecycle`,node:`agent.done`,turn:e.turnIndex.current}),r.info(`Agent loop finished after %d turn(s)`,e.turnIndex.current),e.lastAssistantMessage.current}async function nn(e){let t={current:0},n=e.budget.stallDetection,r={continuationCount:0,toolTurnCount:0,extensionsUsed:0,budgetSteeringIssued:!1,windowStats:I(),promptOutputTokens:0,promptStartedAt:(e.ports?.clock??S).now(),stallDetector:n===!1?void 0:new le(n??{}),stallSteeringIssued:!1,protocolMismatchRetryCount:0,emptyResponseRetryCount:0,idleNudgeIssued:!1},i={current:null},a={current:void 0},o=()=>new ae(oe(e.model.contextWindow,A.promptToolResultFraction),A.minToolResultChars),s=o(),{messages:c,signal:l,logger:u}=e,d=e.ports?.debug,f=e.ports?.clock??S,p=e.ports?.recorder??K,m={systemPrompt:e.systemPrompt,thinkingLevel:e.thinkingLevel,maxTokens:e.maxTokens,temperature:e.temperature},h=N({debug:d,getTurn:()=>t.current,getMessagesCount:()=>c.length,getTokenUsage:()=>a.current,getLlmParams:()=>m,getMessagesForSummary:()=>c});try{return u.info(`Agent loop started for model %s with %d messages`,e.model.id,c.length),await h(`loop.start`,0),p.record({kind:`lifecycle`,node:`loop.start`,turn:t.current}),tn({context:e,params:m,turnState:r,messages:c,turnIndex:t,lastTokenUsage:a,lastAssistantMessage:i,toolResultAllowance:{current:s},createToolResultAllowance:o,pause:h,recorder:p,clock:f})}catch(e){throw e instanceof v||l.aborted?(u.warn(`Agent loop aborted at turn %d`,t.current+1),await h(`agent.aborted`,0),p.record({kind:`lifecycle`,node:`agent.aborted`,turn:t.current}),e):(u.error(`Agent loop failed at turn %d: %s`,t.current+1,e instanceof Error?e.message:String(e)),await h(`agent.error`,0),p.record({kind:`lifecycle`,node:`agent.error`,turn:t.current,payload:{message:e instanceof Error?e.message:String(e)}}),e)}finally{e.ports?.nondetFlush?.(),await h(`loop.cleanup`,0)}}const rn=r(`@x-otto/agent:tool-executor`);function an(e){if(typeof e!=`object`||!e||Array.isArray(e))return!1;let t=Object.keys(e);if(t.length!==1||t[0]!==`_truncated`)return!1;let n=e._truncated;return typeof n==`object`&&!!n&&!Array.isArray(n)}function $(e){return{content:[{type:`text`,text:`Tool ${e} execution was aborted`}],isError:!0,errorKind:`aborted`,details:{}}}var on=class{tools;hookExecutor;agentName;sessionId;debug;clock;depth;parentTaskId;approval;constructor(e){this.tools=new Map;for(let t of e.tools)this.tools.set(t.name,t);this.hookExecutor=e.hookExecutor,this.agentName=e.agentName??``,this.sessionId=e.sessionId??``,this.debug=e.debug,this.clock=e.clock??S,this.depth=e.depth,this.parentTaskId=e.parentTaskId,this.approval=e.approval}list(){return[...this.tools.values()]}async execute(e,t){let{id:n,name:r}=e,i=this.tools.get(r),a=N({debug:this.debug,getTurn:()=>0,getMessagesCount:()=>0,getTokenUsage:()=>void 0});if(F(await a(`tool.resolve`,2,{lastToolName:r,metadata:{found:!!i,toolCallId:n,sessionId:this.sessionId}})),!i)return{content:[{type:`text`,text:`Unknown tool: ${r}`}],isError:!0,errorKind:`not_found`};let o=this.clock.now(),s=e.arguments;try{if(this.hookExecutor){F(await a(`tool.hook.before`,2,{lastToolName:r,metadata:{toolCallId:n,sessionId:this.sessionId}}));let e=await this.hookExecutor.executeBeforeHooks({toolName:r,toolCallId:n,args:s,agentName:this.agentName,sessionId:this.sessionId,paths:sn(i,s),readonly:i.readonly});if(e.kind===`deny`)return{content:[{type:`text`,text:e.reason}],isError:!0,errorKind:`permission`};if(s=e.args,e.kind===`ask`){let n=e.reason;if(!this.approval)return{content:[{type:`text`,text:`Tool ${r} requires approval but no approval handler is configured: ${n}`}],isError:!0,errorKind:`permission`};let i=await this.approval(r,s,n,e.risk,t);if(t.aborted)return $(r);let a=typeof i==`boolean`?i:i.approved;if(a&&typeof i==`object`&&i.updatedArgs&&(s=i.updatedArgs),!a)return{content:[{type:`text`,text:`Tool ${r} was rejected by user: ${typeof i==`object`&&i.message?i.message:n}`}],isError:!0,errorKind:`permission`}}}let c=i.parameters.safeParse(s);if(!c.success&&an(s)){let e=s._truncated,t=i.parameters.safeParse(e);t.success&&(rn.warn({toolName:r,toolCallId:n},`RFC-142: unwrapped legacy _truncated wrapper from model tool-call arguments (context-poisoning residue); executing with inner arguments`),c=t)}let{success:l}=c;if(F(await a(`tool.validate`,2,{lastToolName:r,metadata:{valid:l,toolCallId:n,sessionId:this.sessionId}})),!c.success)return{content:[{type:`text`,text:`Invalid arguments for tool ${r}: ${String(c.error)}\n\nDo NOT wrap arguments in any extra key; emit the tool's schema fields at the top level and retry.`}],isError:!0,errorKind:`validation`};if(t.aborted)return $(r);let u=await i.execute({id:e.id,params:c.data,signal:t,sessionId:this.sessionId||void 0,agentName:this.agentName||void 0,depth:this.depth,...this.parentTaskId===void 0?{}:{parentTaskId:this.parentTaskId}});if(t.aborted)return $(r);if(u.isError&&u.errorKind===`sandbox-denied`&&this.approval){let n=typeof u.details?.denialReason==`string`?u.details.denialReason:`sandbox policy`,a=`[sandbox-escalation] sandbox denied (${typeof u.details?.sandboxBackend==`string`?u.details.sandboxBackend:`unknown`}: ${n}); approve to retry this command without sandbox`,o=await this.approval(r,s,a,`medium`,t),l=typeof o==`boolean`?o:o.approved;!t.aborted&&l&&(u=await i.execute({id:e.id,params:c.data,signal:t,sessionId:this.sessionId||void 0,agentName:this.agentName||void 0,depth:this.depth,...this.parentTaskId===void 0?{}:{parentTaskId:this.parentTaskId}}))}return t.aborted||(this.hookExecutor&&(u=(await this.hookExecutor.executeAfterHooks({toolName:e.name,toolCallId:e.id,args:s,result:u,agentName:this.agentName,sessionId:this.sessionId,durationMs:this.clock.now()-o,readonly:i.readonly})).result,F(await a(`tool.hook.after`,2,{lastToolName:r,metadata:{toolCallId:n,durationMs:this.clock.now()-o,sessionId:this.sessionId}}))),t.aborted)?$(r):u}catch(n){if(t.aborted)return $(r);let i=n instanceof Error?n.message:String(n),a=n?.errorKind,o=n?.pluginSource;return{content:[{type:`text`,text:`Tool ${e.name} failed: ${i}`}],isError:!0,errorKind:a??`runtime`,details:{error:n instanceof Error?n.name:`UnknownError`},...o?{pluginSource:o}:{}}}}};function sn(e,t){if(!e.pathParams?.length)return[];let n=[];for(let r of e.pathParams){let i=t[r];typeof i==`string`&&n.push(e.resolvePath?e.resolvePath(i):i)}return n}function cn(e,t){return new on({tools:e,...t})}const ln=r(`@x-otto/agent`),un={idle:new Set([`streaming`,`aborted`,`error`,`archived`]),streaming:new Set([`tool_executing`,`completed`,`aborted`,`error`]),tool_executing:new Set([`streaming`,`aborted`,`error`]),completed:new Set([`streaming`,`idle`,`aborted`,`error`,`archived`]),error:new Set([`idle`,`aborted`,`streaming`,`archived`]),aborted:new Set([`streaming`,`idle`,`error`,`archived`]),archived:new Set([`idle`])};function dn(e,t,n){let r=cn(t.tools,{hookExecutor:e.toolHookExecutor,agentName:e.agentName,sessionId:e.sessionId,debug:e.debug,clock:e.clock,depth:e.depth,parentTaskId:e.parentTaskId,approval:e.approval});return{model:t.model,systemPrompt:t.systemPrompt,systemTail:t.systemTail,cacheRetention:t.cacheRetention,messages:t.messages,thinkingLevel:t.thinkingLevel,maxTokens:t.maxTokens,temperature:t.temperature,convertToLLM:t.convertToLLM??pn,onTurnPersist:t.onTurnPersist,assertMessagesConsistent:t.assertMessagesConsistent,logger:e.agentLogger,toolExecutor:r,stream:e.stream,signal:n.signal,emitter:n.emitter,getSteeringMessages:n.getSteeringMessages,getFollowUpMessages:n.getFollowUpMessages,transitionTo:n.transitionTo,lifecycleAsync:n.lifecycleAsync,wireSnapshot:e.wireSnapshotStore?{sessionId:e.sessionId??``,store:e.wireSnapshotStore}:void 0,ports:{clock:e.clock,debug:e.debug,recorder:e.recorder,nondetFlush:e.nondetFlush,spill:e.spill},budget:{maxToolTurns:e.maxToolTurns,maxToolTurnExtensions:e.maxToolTurnExtensions,budgetSteerWrapUp:e.budgetSteerWrapUp,promptOutputTokenBudget:e.promptOutputTokenBudget,promptWallClockBudgetMs:e.promptWallClockBudgetMs,stallDetection:e.stallDetection,idleTurnDetection:e.idleTurnDetection,isPauseRequested:t.isPauseRequested,maxToolCallsPerTurn:e.maxToolCallsPerTurn},retry:{retryAccelerate:e.retryAccelerate,streamRetry:e.streamRetry,networkDisconnectRetry:e.networkDisconnectRetry,idleTimeoutRetry:e.idleTimeoutRetry,lifecycleAsyncTimeoutMs:e.lifecycleAsyncTimeoutMs},contextTransform:{transformContext:t.transformContext,reactiveCompact:t.reactiveCompact,describeImages:t.describeImages}}}var fn=class extends n{state;abortController=null;pendingAbort=!1;steeringQueue=[];followUpQueue=[];pendingLifecycleTools=new Map;promptSeq=0;get currentPromptSeq(){return this.promptSeq}config;get status(){return this.state.status}get turnCount(){return this.state.turnCount}constructor(e){super(),this.config={stream:e.stream,agentLogger:e.logger,maxToolTurns:e.maxToolTurns??A.maxToolTurns,maxToolTurnExtensions:e.maxToolTurnExtensions??0,budgetSteerWrapUp:e.budgetSteerWrapUp??!1,promptOutputTokenBudget:e.promptOutputTokenBudget,promptWallClockBudgetMs:e.promptWallClockBudgetMs,stallDetection:e.stallDetection,idleTurnDetection:e.idleTurnDetection,agentName:e.agentName??``,sessionId:e.sessionId??``,toolHookExecutor:e.toolHookExecutor,debug:e.debug,clock:e.clock,recorder:e.recorder,nondetFlush:e.nondetFlush,depth:e.depth,parentTaskId:e.parentTaskId,maxToolCallsPerTurn:e.maxToolCallsPerTurn,retryAccelerate:e.retryAccelerate,streamRetry:e.streamRetry,networkDisconnectRetry:e.networkDisconnectRetry,idleTimeoutRetry:e.idleTimeoutRetry,lifecycleAsyncTimeoutMs:e.lifecycleAsyncTimeoutMs,spill:e.spill,approval:e.approval},this.state={status:`idle`,turnCount:0,tokenUsage:{input:0,output:0,cacheRead:0},isStreaming:!1,currentStreamMessage:null,error:void 0},this.on(`status.change`,({to:e})=>{this.state.isStreaming=e===`streaming`}),this.on(`turn.end`,({message:e})=>{this.state.turnCount++,this.state.currentStreamMessage=null,this.state.tokenUsage.input+=e.usage.inputTokens,this.state.tokenUsage.output+=e.usage.outputTokens,this.state.tokenUsage.cacheRead+=e.usage.cacheReadTokens}),this.on(`stream.event`,({event:e})=>{e.type===`start`&&(this.state.currentStreamMessage=e.partial)})}getState(){return{...this.state,tokenUsage:{...this.state.tokenUsage}}}async run(e){if(this.state.status===`streaming`||this.state.status===`tool_executing`)throw Error(`Cannot run in ${this.state.status} status`);if(this.state.status===`archived`)throw Error(`Cannot run: session is archived`);return this.state.status===`error`&&(this.state.error=void 0),this.cancelStalePendingLifecycleTools(),this.promptSeq++,this.runLoop(e)}cancelStalePendingLifecycleTools(){for(let[e,t]of this.pendingLifecycleTools){if(t.consumed){this.pendingLifecycleTools.delete(e);continue}t.abortController.abort(),this.config.agentLogger.info(`Cancelling stale lifecycleAsync tool %s (task id: %s) from prompt %d — new prompt %d starting`,t.toolName,t.toolCallId,t.promptSeq,this.promptSeq+1)}}steer(e){this.steeringQueue.push(e)}removeSteer(e){let t=this.steeringQueue.findIndex(t=>t.uuid===e);return t===-1?!1:(this.steeringQueue.splice(t,1),!0)}followUp(e){this.followUpQueue.push(e)}registerPendingLifecycleTool(e){this.pendingLifecycleTools.set(e.toolCallId,e)}hasPendingLifecycleTools(){for(let e of this.pendingLifecycleTools.values())if(!e.consumed)return!0;return!1}listPendingLifecycleTools(){let e=[];for(let t of this.pendingLifecycleTools.values())t.consumed||e.push(t);return e}async waitForPendingLifecycleTools(){let e=[...this.pendingLifecycleTools.values()].filter(e=>!e.consumed).map(e=>e.promise);e.length!==0&&await Promise.allSettled(e)}async notifyToolCompletion(e,t){let n=this.pendingLifecycleTools.get(e);return!n||n.consumed?{consumed:!1}:(n.consumed=!0,this.emit(`lifecycle.tool.completed`,{toolCallId:e,toolName:n.toolName,isError:t.isError??!1,result:t}),{consumed:!0,entry:n})}abort(){this.state.status===`aborted`&&!this.abortController||(this.abortController?this.abortController.abort():this.pendingAbort=!0,this.transitionTo(`aborted`),this.emit(`abort`))}archive(){this.transitionTo(`archived`)}unarchive(){this.transitionTo(`idle`)}reset(){this.abortController&&=(this.abortController.abort(),null),this.pendingAbort=!1,this.steeringQueue=[],this.followUpQueue=[],this.pendingLifecycleTools.clear(),this.state.turnCount=0,this.state.tokenUsage={input:0,output:0,cacheRead:0},this.state.currentStreamMessage=null,this.state.error=void 0;let e=this.state.status;this.state.status=`idle`,e!==`idle`&&this.emit(`status.change`,{from:e,to:`idle`})}async runLoop(e){let t=new AbortController;this.abortController=t,this.pendingAbort&&(this.pendingAbort=!1,t.abort());let n=t.signal;try{let t=await nn(dn(this.config,e,{signal:n,emitter:this,getSteeringMessages:()=>this.drainSteeringQueue(),getFollowUpMessages:()=>this.drainFollowUpQueue(),transitionTo:e=>this.transitionTo(e),lifecycleAsync:{register:e=>this.registerPendingLifecycleTool(e),hasPending:()=>this.hasPendingLifecycleTools(),waitForPending:()=>this.waitForPendingLifecycleTools(),listPending:()=>this.listPendingLifecycleTools(),notifyCompletion:(e,t)=>this.notifyToolCompletion(e,t),currentPromptSeq:()=>this.currentPromptSeq}}));return this.transitionTo(`completed`),t}catch(e){throw e instanceof v||n.aborted?(this.transitionTo(`aborted`),e):(this.state.error=e instanceof Error?e:Error(String(e)),this.transitionTo(`error`),this.emit(`error`,{error:this.state.error}),this.state.error)}finally{this.abortController===t&&(this.abortController=null),this.state.isStreaming=!1}}transitionTo(e){let t=this.state.status;if(t!==e){if(!un[t]?.has(e)){ln.warn(`Invalid state transition: %s → %s (ignored)`,t,e);return}this.state.status=e,this.emit(`status.change`,{from:t,to:e})}}async drainSteeringQueue(){let e=[...this.steeringQueue];return this.steeringQueue=[],e}async drainFollowUpQueue(){let e=[...this.followUpQueue];return this.followUpQueue=[],e}};function pn(e){return e.filter(e=>typeof e==`object`&&!!e&&`role`in e&&(e.role===`user`||e.role===`assistant`||e.role===`tool_result`||e.role===`system_notification`))}function mn(e){return new fn(e)}export{v as AbortError,fn as Agent,ne as BREAKPOINT_POINTS,A as ENGINE_DEFAULTS,k as ENGINE_LIFECYCLE_TIMINGS,E as ENGINE_NODES,ie as IMAGE_CONTEXT_CHARS_EQUIVALENT,V as MAX_IMAGE_INLINE_BYTES,y as MaxToolTurnsError,x as MessagesConsistencyError,ee as OBSERVABLE_NODE_IDS,b as PromptBudgetExceededError,te as TRACEABLE_NODE_IDS,Pe as WireSnapshotStore,we as applyMemoryTransform,Be as applyVisionGate,ct as buildLifecycleAsyncCompletionNotice,st as buildLifecycleAsyncPlaceholder,ot as buildLifecycleAsyncPlaceholderText,Ie as captureWireSnapshot,nt as causalDag,W as clampToolResultContent,se as clampWithSpill,F as consumePause,mn as createAgent,ge as createRecordingPorts,_e as createReplayPorts,he as createStreamTracePersister,cn as createToolExecutor,ue as createTraceRecorder,tt as digestTracePayload,ve as extractNondetDraws,o as extractToolResultText,De as forceMemoryTransform,O as nodesWithCapability,K as noopRecorder,U as normalizeToolResultContent,Ze as prompt,q as recordMemoryLifecycle,ce as runBounded,fe as shouldPersistStreamEvent,H as stripAnsi,j as summarizeMessages,Qe as summarizeTrace,S as systemClock,w as systemId,C as systemRandom,G as toolResultContextChars,$e as traceToSpans,it as traceWhy,rt as turnToolTopology,Fe as wireSnapshotStore};
|
|
21
21
|
//# sourceMappingURL=index.js.map
|