zeitlich 0.2.50 → 0.2.53
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/adapters/thread/anthropic/index.cjs +15 -13
- package/dist/adapters/thread/anthropic/index.cjs.map +1 -1
- package/dist/adapters/thread/anthropic/index.d.cts +15 -10
- package/dist/adapters/thread/anthropic/index.d.ts +15 -10
- package/dist/adapters/thread/anthropic/index.js +15 -13
- package/dist/adapters/thread/anthropic/index.js.map +1 -1
- package/dist/adapters/thread/anthropic/workflow.d.cts +5 -5
- package/dist/adapters/thread/anthropic/workflow.d.ts +5 -5
- package/dist/adapters/thread/google-genai/index.cjs +18 -12
- package/dist/adapters/thread/google-genai/index.cjs.map +1 -1
- package/dist/adapters/thread/google-genai/index.d.cts +181 -11
- package/dist/adapters/thread/google-genai/index.d.ts +181 -11
- package/dist/adapters/thread/google-genai/index.js +18 -12
- package/dist/adapters/thread/google-genai/index.js.map +1 -1
- package/dist/adapters/thread/google-genai/workflow.d.cts +6 -6
- package/dist/adapters/thread/google-genai/workflow.d.ts +6 -6
- package/dist/adapters/thread/langchain/index.cjs +22 -13
- package/dist/adapters/thread/langchain/index.cjs.map +1 -1
- package/dist/adapters/thread/langchain/index.d.cts +15 -10
- package/dist/adapters/thread/langchain/index.d.ts +15 -10
- package/dist/adapters/thread/langchain/index.js +22 -13
- package/dist/adapters/thread/langchain/index.js.map +1 -1
- package/dist/adapters/thread/langchain/workflow.d.cts +5 -5
- package/dist/adapters/thread/langchain/workflow.d.ts +5 -5
- package/dist/{cold-store-CCnZYWjx.d.ts → cold-store-BbvJLhXJ.d.ts} +1 -1
- package/dist/{cold-store-C0uvYTSi.d.cts → cold-store-Ki_U0jyd.d.cts} +1 -1
- package/dist/index.cjs +38 -3
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +8 -8
- package/dist/index.d.ts +8 -8
- package/dist/index.js +38 -3
- package/dist/index.js.map +1 -1
- package/dist/{proxy-C4J1pNUk.d.ts → proxy-CwniAm8W.d.ts} +1 -1
- package/dist/{proxy-BVznA2_p.d.cts → proxy-wsNrEh2u.d.cts} +1 -1
- package/dist/{thread-manager-BqjzWsP7.d.ts → thread-manager-D1zfZnxi.d.ts} +4 -5
- package/dist/{thread-manager-SkSWRPRc.d.ts → thread-manager-DCXkMqHH.d.ts} +4 -5
- package/dist/{thread-manager-CzIs47uG.d.cts → thread-manager-DW7FqMdN.d.cts} +4 -5
- package/dist/{thread-manager-Dzl1fHhV.d.cts → thread-manager-DhvA5oDL.d.cts} +4 -5
- package/dist/{types-YNesmGKV.d.ts → types-DQQKF5FQ.d.ts} +24 -2
- package/dist/{types-DZnUqCAP.d.cts → types-DpHBKA8c.d.cts} +24 -2
- package/dist/{types-d2RvEP6v.d.cts → types-tJ9Or7u_.d.cts} +1 -1
- package/dist/{types-CbPnU4RM.d.ts → types-ziu6HZPh.d.ts} +1 -1
- package/dist/{workflow-Bkzg0cjB.d.ts → workflow-BeMiPEq4.d.ts} +2 -1
- package/dist/{workflow-B3oTe2_D.d.cts → workflow-CNTNwEnj.d.cts} +2 -1
- package/dist/workflow.cjs +38 -3
- package/dist/workflow.cjs.map +1 -1
- package/dist/workflow.d.cts +2 -2
- package/dist/workflow.d.ts +2 -2
- package/dist/workflow.js +38 -3
- package/dist/workflow.js.map +1 -1
- package/package.json +2 -2
- package/src/adapters/thread/anthropic/activities.test.ts +115 -0
- package/src/adapters/thread/anthropic/activities.ts +10 -18
- package/src/adapters/thread/anthropic/model-invoker.test.ts +50 -0
- package/src/adapters/thread/anthropic/model-invoker.ts +10 -0
- package/src/adapters/thread/anthropic/thread-manager.ts +2 -3
- package/src/adapters/thread/google-genai/activities.test.ts +162 -0
- package/src/adapters/thread/google-genai/activities.ts +37 -14
- package/src/adapters/thread/google-genai/model-invoker.test.ts +53 -4
- package/src/adapters/thread/google-genai/model-invoker.ts +11 -0
- package/src/adapters/thread/google-genai/thread-manager.ts +2 -3
- package/src/adapters/thread/langchain/activities.test.ts +88 -0
- package/src/adapters/thread/langchain/activities.ts +14 -11
- package/src/adapters/thread/langchain/model-invoker.test.ts +74 -0
- package/src/adapters/thread/langchain/model-invoker.ts +15 -2
- package/src/adapters/thread/langchain/thread-manager.ts +2 -3
- package/src/lib/hooks/index.ts +2 -0
- package/src/lib/hooks/types.ts +26 -1
- package/src/lib/observability/hooks.ts +17 -2
- package/src/lib/session/session.ts +31 -3
- package/src/lib/state/types.ts +9 -11
- package/src/workflow.ts +2 -0
- package/dist/activities-IuOIvPHO.d.ts +0 -162
- package/dist/activities-cIlq1y1y.d.cts +0 -162
package/dist/index.d.cts
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import { B as BashArgs, F as FileEditArgs, a as FileMultiEditArgs, G as GlobArgs, b as FileReadArgs, c as FileWriteArgs } from './workflow-
|
|
2
|
-
export { A as AskUserQuestionArgs, D as DEFAULT_SUBAGENT_WORKFLOW_RUN_TIMEOUT, d as FileTreeAccessor, e as GrepArgs, O as ObservabilityHooks, R as ReadSkillArgs, S as SessionEndedEvent, f as SessionStartedEvent, g as SubagentArgs, T as THREAD_TTL_SECONDS, h as TaskCreateArgs, i as TaskGetArgs, j as TaskListArgs, k as TaskUpdateArgs, l as ToolExecutedEvent, m as TurnCompletedEvent, W as WorkflowConfig, n as WorkflowInput, o as WorkflowSessionInput, Z as ZeitlichObservabilitySinks, p as applyVirtualTreeMutations, q as askUserQuestionTool, r as bashTool, s as composeHooks, t as createAgentStateManager, u as createAskUserQuestionHandler, v as createBashToolDescription, w as createObservabilityHooks, x as createReadSkillHandler, y as createReadSkillTool, z as createSession, C as createTaskCreateHandler, E as createTaskGetHandler, H as createTaskListHandler, I as createTaskUpdateHandler, J as createToolRouter, K as defineSubagent, L as defineSubagentWorkflow, M as defineTool, N as defineWorkflow, P as editTool, Q as filesWithMimeType, U as formatVirtualFileTree, V as getShortId, X as getThreadDedupKey, Y as getThreadListKey, _ as getThreadMetaKey, $ as getThreadStateKey, a0 as globTool, a1 as grepTool, a2 as hasDirectory, a3 as hasFileWithMimeType, a4 as hasNoOtherToolCalls, a5 as multiEditTool, a6 as parseSkillFile, a7 as proxyRunAgent, a8 as proxyVirtualFsOps, a9 as readFileTool, aa as taskCreateTool, ab as taskGetTool, ac as taskListTool, ad as taskUpdateTool, ae as writeFileTool } from './workflow-
|
|
3
|
-
import { B as BaseAgentState, R as RouterContext, e as RunAgentConfig, J as JsonValue,
|
|
4
|
-
export { m as AgentConfig, n as AgentFile,
|
|
1
|
+
import { B as BashArgs, F as FileEditArgs, a as FileMultiEditArgs, G as GlobArgs, b as FileReadArgs, c as FileWriteArgs } from './workflow-CNTNwEnj.cjs';
|
|
2
|
+
export { A as AskUserQuestionArgs, D as DEFAULT_SUBAGENT_WORKFLOW_RUN_TIMEOUT, d as FileTreeAccessor, e as GrepArgs, O as ObservabilityHooks, R as ReadSkillArgs, S as SessionEndedEvent, f as SessionStartedEvent, g as SubagentArgs, T as THREAD_TTL_SECONDS, h as TaskCreateArgs, i as TaskGetArgs, j as TaskListArgs, k as TaskUpdateArgs, l as ToolExecutedEvent, m as TurnCompletedEvent, W as WorkflowConfig, n as WorkflowInput, o as WorkflowSessionInput, Z as ZeitlichObservabilitySinks, p as applyVirtualTreeMutations, q as askUserQuestionTool, r as bashTool, s as composeHooks, t as createAgentStateManager, u as createAskUserQuestionHandler, v as createBashToolDescription, w as createObservabilityHooks, x as createReadSkillHandler, y as createReadSkillTool, z as createSession, C as createTaskCreateHandler, E as createTaskGetHandler, H as createTaskListHandler, I as createTaskUpdateHandler, J as createToolRouter, K as defineSubagent, L as defineSubagentWorkflow, M as defineTool, N as defineWorkflow, P as editTool, Q as filesWithMimeType, U as formatVirtualFileTree, V as getShortId, X as getThreadDedupKey, Y as getThreadListKey, _ as getThreadMetaKey, $ as getThreadStateKey, a0 as globTool, a1 as grepTool, a2 as hasDirectory, a3 as hasFileWithMimeType, a4 as hasNoOtherToolCalls, a5 as multiEditTool, a6 as parseSkillFile, a7 as proxyRunAgent, a8 as proxyVirtualFsOps, a9 as readFileTool, aa as taskCreateTool, ab as taskGetTool, ac as taskListTool, ad as taskUpdateTool, ae as writeFileTool } from './workflow-CNTNwEnj.cjs';
|
|
3
|
+
import { B as BaseAgentState, R as RouterContext, e as RunAgentConfig, J as JsonValue, b as ToolHandlerResponse, A as ActivityToolHandler, f as ToolResultConfig, g as SkillProvider, h as SkillMetadata, i as Skill, F as FileEntryMetadata, j as FileResolver, V as VirtualFsContext, k as TreeMutation, l as PrefixedVirtualFsOps } from './types-DpHBKA8c.cjs';
|
|
4
|
+
export { m as AgentConfig, n as AgentFile, d as AgentResponse, o as AgentState, p as AgentStateManager, q as AgentStatus, r as AppendToolResultFn, s as FileEntry, H as Hooks, I as InferToolResults, t as JsonPrimitive, u as JsonSerializable, M as ModelInvoker, c as ModelInvokerConfig, v as ParsedToolCall, w as ParsedToolCallUnion, P as PersistedThreadState, x as PostHumanMessageAppendHook, y as PostHumanMessageAppendHookContext, z as PostToolUseFailureHook, C as PostToolUseFailureHookContext, D as PostToolUseFailureHookResult, E as PostToolUseHook, G as PostToolUseHookContext, K as PreHumanMessageAppendHook, L as PreHumanMessageAppendHookContext, N as PreToolUseHook, O as PreToolUseHookContext, Q as PreToolUseHookResult, a as PrefixedThreadOps, U as ProcessToolCallsContext, W as ProcessToolCallsResult, X as RawToolCall, Y as RewindSignal, Z as RunAgentActivity, _ as SandboxInit, $ as SandboxShutdown, S as ScopedPrefix, a0 as SerializableToolDefinition, a1 as SessionConfig, a2 as SessionEndHook, a3 as SessionEndHookContext, a4 as SessionExitReason, a5 as SessionRequiredCaps, a6 as SessionResult, a7 as SessionStartHook, a8 as SessionStartHookContext, a9 as SubagentChildWorkflowOptions, aa as SubagentConfig, ab as SubagentContinuationCaps, ac as SubagentDefinition, ad as SubagentFnResult, ae as SubagentHandlerResponse, af as SubagentHooks, ag as SubagentSandboxConfig, ah as SubagentSandboxShutdown, ai as SubagentSessionInput, aj as SubagentWorkflow, ak as SubagentWorkflowInput, al as TaskStatus, am as ThreadInit, T as ThreadOps, an as TokenUsage, ao as ToolArgs, ap as ToolCallResult, aq as ToolCallResultUnion, ar as ToolDefinition, as as ToolHandler, at as ToolHooks, au as ToolMap, av as ToolNames, aw as ToolResult, ax as ToolRouter, ay as ToolRouterHooks, az as ToolWithHandler, aA as TurnCompleteHook, aB as TurnCompleteHookContext, aC as VirtualFileSystem, aD as VirtualFileTree, aE as VirtualFsOps, aF as VirtualFsState, aG as WorkflowTask, aH as ZeitlichSession, aI as isTerminalStatus } from './types-DpHBKA8c.cjs';
|
|
5
5
|
import { e as Sandbox, d as SandboxFileSystem, f as SandboxCreateOptions, h as SandboxCapability, S as SandboxProvider, g as SandboxSnapshot, P as PrefixedSandboxOps, F as FileStat, D as DirentEntry, E as ExecResult } from './types-D8W5TnSa.cjs';
|
|
6
6
|
export { i as ExecOptions, a as SandboxCapabilities, b as SandboxCreateResult, j as SandboxNotFoundError, k as SandboxNotSupportedError, c as SandboxOps } from './types-D8W5TnSa.cjs';
|
|
7
7
|
import { WorkflowClient } from '@temporalio/client';
|
|
8
|
-
import { a as ThreadManagerConfig, B as BaseThreadManager } from './types-
|
|
9
|
-
export { P as ProviderThreadManager } from './types-
|
|
10
|
-
import { C as ColdThreadStore, T as ThreadSnapshot } from './cold-store-
|
|
11
|
-
export { S as S3ColdStoreConfig, a as S3LikeClient, c as createS3ColdStore } from './cold-store-
|
|
8
|
+
import { a as ThreadManagerConfig, B as BaseThreadManager } from './types-tJ9Or7u_.cjs';
|
|
9
|
+
export { P as ProviderThreadManager } from './types-tJ9Or7u_.cjs';
|
|
10
|
+
import { C as ColdThreadStore, T as ThreadSnapshot } from './cold-store-Ki_U0jyd.cjs';
|
|
11
|
+
export { S as S3ColdStoreConfig, a as S3LikeClient, c as createS3ColdStore } from './cold-store-Ki_U0jyd.cjs';
|
|
12
12
|
import { RedisClientType } from 'redis';
|
|
13
13
|
import 'zod';
|
|
14
14
|
import '@temporalio/common';
|
package/dist/index.d.ts
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import { B as BashArgs, F as FileEditArgs, a as FileMultiEditArgs, G as GlobArgs, b as FileReadArgs, c as FileWriteArgs } from './workflow-
|
|
2
|
-
export { A as AskUserQuestionArgs, D as DEFAULT_SUBAGENT_WORKFLOW_RUN_TIMEOUT, d as FileTreeAccessor, e as GrepArgs, O as ObservabilityHooks, R as ReadSkillArgs, S as SessionEndedEvent, f as SessionStartedEvent, g as SubagentArgs, T as THREAD_TTL_SECONDS, h as TaskCreateArgs, i as TaskGetArgs, j as TaskListArgs, k as TaskUpdateArgs, l as ToolExecutedEvent, m as TurnCompletedEvent, W as WorkflowConfig, n as WorkflowInput, o as WorkflowSessionInput, Z as ZeitlichObservabilitySinks, p as applyVirtualTreeMutations, q as askUserQuestionTool, r as bashTool, s as composeHooks, t as createAgentStateManager, u as createAskUserQuestionHandler, v as createBashToolDescription, w as createObservabilityHooks, x as createReadSkillHandler, y as createReadSkillTool, z as createSession, C as createTaskCreateHandler, E as createTaskGetHandler, H as createTaskListHandler, I as createTaskUpdateHandler, J as createToolRouter, K as defineSubagent, L as defineSubagentWorkflow, M as defineTool, N as defineWorkflow, P as editTool, Q as filesWithMimeType, U as formatVirtualFileTree, V as getShortId, X as getThreadDedupKey, Y as getThreadListKey, _ as getThreadMetaKey, $ as getThreadStateKey, a0 as globTool, a1 as grepTool, a2 as hasDirectory, a3 as hasFileWithMimeType, a4 as hasNoOtherToolCalls, a5 as multiEditTool, a6 as parseSkillFile, a7 as proxyRunAgent, a8 as proxyVirtualFsOps, a9 as readFileTool, aa as taskCreateTool, ab as taskGetTool, ac as taskListTool, ad as taskUpdateTool, ae as writeFileTool } from './workflow-
|
|
3
|
-
import { B as BaseAgentState, R as RouterContext, e as RunAgentConfig, J as JsonValue,
|
|
4
|
-
export { m as AgentConfig, n as AgentFile,
|
|
1
|
+
import { B as BashArgs, F as FileEditArgs, a as FileMultiEditArgs, G as GlobArgs, b as FileReadArgs, c as FileWriteArgs } from './workflow-BeMiPEq4.js';
|
|
2
|
+
export { A as AskUserQuestionArgs, D as DEFAULT_SUBAGENT_WORKFLOW_RUN_TIMEOUT, d as FileTreeAccessor, e as GrepArgs, O as ObservabilityHooks, R as ReadSkillArgs, S as SessionEndedEvent, f as SessionStartedEvent, g as SubagentArgs, T as THREAD_TTL_SECONDS, h as TaskCreateArgs, i as TaskGetArgs, j as TaskListArgs, k as TaskUpdateArgs, l as ToolExecutedEvent, m as TurnCompletedEvent, W as WorkflowConfig, n as WorkflowInput, o as WorkflowSessionInput, Z as ZeitlichObservabilitySinks, p as applyVirtualTreeMutations, q as askUserQuestionTool, r as bashTool, s as composeHooks, t as createAgentStateManager, u as createAskUserQuestionHandler, v as createBashToolDescription, w as createObservabilityHooks, x as createReadSkillHandler, y as createReadSkillTool, z as createSession, C as createTaskCreateHandler, E as createTaskGetHandler, H as createTaskListHandler, I as createTaskUpdateHandler, J as createToolRouter, K as defineSubagent, L as defineSubagentWorkflow, M as defineTool, N as defineWorkflow, P as editTool, Q as filesWithMimeType, U as formatVirtualFileTree, V as getShortId, X as getThreadDedupKey, Y as getThreadListKey, _ as getThreadMetaKey, $ as getThreadStateKey, a0 as globTool, a1 as grepTool, a2 as hasDirectory, a3 as hasFileWithMimeType, a4 as hasNoOtherToolCalls, a5 as multiEditTool, a6 as parseSkillFile, a7 as proxyRunAgent, a8 as proxyVirtualFsOps, a9 as readFileTool, aa as taskCreateTool, ab as taskGetTool, ac as taskListTool, ad as taskUpdateTool, ae as writeFileTool } from './workflow-BeMiPEq4.js';
|
|
3
|
+
import { B as BaseAgentState, R as RouterContext, e as RunAgentConfig, J as JsonValue, b as ToolHandlerResponse, A as ActivityToolHandler, f as ToolResultConfig, g as SkillProvider, h as SkillMetadata, i as Skill, F as FileEntryMetadata, j as FileResolver, V as VirtualFsContext, k as TreeMutation, l as PrefixedVirtualFsOps } from './types-DQQKF5FQ.js';
|
|
4
|
+
export { m as AgentConfig, n as AgentFile, d as AgentResponse, o as AgentState, p as AgentStateManager, q as AgentStatus, r as AppendToolResultFn, s as FileEntry, H as Hooks, I as InferToolResults, t as JsonPrimitive, u as JsonSerializable, M as ModelInvoker, c as ModelInvokerConfig, v as ParsedToolCall, w as ParsedToolCallUnion, P as PersistedThreadState, x as PostHumanMessageAppendHook, y as PostHumanMessageAppendHookContext, z as PostToolUseFailureHook, C as PostToolUseFailureHookContext, D as PostToolUseFailureHookResult, E as PostToolUseHook, G as PostToolUseHookContext, K as PreHumanMessageAppendHook, L as PreHumanMessageAppendHookContext, N as PreToolUseHook, O as PreToolUseHookContext, Q as PreToolUseHookResult, a as PrefixedThreadOps, U as ProcessToolCallsContext, W as ProcessToolCallsResult, X as RawToolCall, Y as RewindSignal, Z as RunAgentActivity, _ as SandboxInit, $ as SandboxShutdown, S as ScopedPrefix, a0 as SerializableToolDefinition, a1 as SessionConfig, a2 as SessionEndHook, a3 as SessionEndHookContext, a4 as SessionExitReason, a5 as SessionRequiredCaps, a6 as SessionResult, a7 as SessionStartHook, a8 as SessionStartHookContext, a9 as SubagentChildWorkflowOptions, aa as SubagentConfig, ab as SubagentContinuationCaps, ac as SubagentDefinition, ad as SubagentFnResult, ae as SubagentHandlerResponse, af as SubagentHooks, ag as SubagentSandboxConfig, ah as SubagentSandboxShutdown, ai as SubagentSessionInput, aj as SubagentWorkflow, ak as SubagentWorkflowInput, al as TaskStatus, am as ThreadInit, T as ThreadOps, an as TokenUsage, ao as ToolArgs, ap as ToolCallResult, aq as ToolCallResultUnion, ar as ToolDefinition, as as ToolHandler, at as ToolHooks, au as ToolMap, av as ToolNames, aw as ToolResult, ax as ToolRouter, ay as ToolRouterHooks, az as ToolWithHandler, aA as TurnCompleteHook, aB as TurnCompleteHookContext, aC as VirtualFileSystem, aD as VirtualFileTree, aE as VirtualFsOps, aF as VirtualFsState, aG as WorkflowTask, aH as ZeitlichSession, aI as isTerminalStatus } from './types-DQQKF5FQ.js';
|
|
5
5
|
import { e as Sandbox, d as SandboxFileSystem, f as SandboxCreateOptions, h as SandboxCapability, S as SandboxProvider, g as SandboxSnapshot, P as PrefixedSandboxOps, F as FileStat, D as DirentEntry, E as ExecResult } from './types-D8W5TnSa.js';
|
|
6
6
|
export { i as ExecOptions, a as SandboxCapabilities, b as SandboxCreateResult, j as SandboxNotFoundError, k as SandboxNotSupportedError, c as SandboxOps } from './types-D8W5TnSa.js';
|
|
7
7
|
import { WorkflowClient } from '@temporalio/client';
|
|
8
|
-
import { a as ThreadManagerConfig, B as BaseThreadManager } from './types-
|
|
9
|
-
export { P as ProviderThreadManager } from './types-
|
|
10
|
-
import { C as ColdThreadStore, T as ThreadSnapshot } from './cold-store-
|
|
11
|
-
export { S as S3ColdStoreConfig, a as S3LikeClient, c as createS3ColdStore } from './cold-store-
|
|
8
|
+
import { a as ThreadManagerConfig, B as BaseThreadManager } from './types-ziu6HZPh.js';
|
|
9
|
+
export { P as ProviderThreadManager } from './types-ziu6HZPh.js';
|
|
10
|
+
import { C as ColdThreadStore, T as ThreadSnapshot } from './cold-store-BbvJLhXJ.js';
|
|
11
|
+
export { S as S3ColdStoreConfig, a as S3LikeClient, c as createS3ColdStore } from './cold-store-BbvJLhXJ.js';
|
|
12
12
|
import { RedisClientType } from 'redis';
|
|
13
13
|
import 'zod';
|
|
14
14
|
import '@temporalio/common';
|
package/dist/index.js
CHANGED
|
@@ -15709,13 +15709,14 @@ async function createSession(config2) {
|
|
|
15709
15709
|
plugins,
|
|
15710
15710
|
parallel: processToolsInParallel
|
|
15711
15711
|
});
|
|
15712
|
-
const callSessionEnd = async (exitReason, turns) => {
|
|
15712
|
+
const callSessionEnd = async (exitReason, turns, usage) => {
|
|
15713
15713
|
if (hooks.onSessionEnd) {
|
|
15714
15714
|
await hooks.onSessionEnd({
|
|
15715
15715
|
threadId,
|
|
15716
15716
|
agentName,
|
|
15717
15717
|
exitReason,
|
|
15718
15718
|
turns,
|
|
15719
|
+
usage,
|
|
15719
15720
|
metadata
|
|
15720
15721
|
});
|
|
15721
15722
|
}
|
|
@@ -15937,6 +15938,15 @@ async function createSession(config2) {
|
|
|
15937
15938
|
...usage && { usage }
|
|
15938
15939
|
});
|
|
15939
15940
|
if (!toolRouter.hasTools() || rawToolCalls.length === 0) {
|
|
15941
|
+
if (hooks.onTurnComplete) {
|
|
15942
|
+
await hooks.onTurnComplete({
|
|
15943
|
+
threadId,
|
|
15944
|
+
agentName,
|
|
15945
|
+
turn: currentTurn,
|
|
15946
|
+
toolCallCount: rawToolCalls.length,
|
|
15947
|
+
...usage && { usage }
|
|
15948
|
+
});
|
|
15949
|
+
}
|
|
15940
15950
|
stateManager.complete();
|
|
15941
15951
|
exitReason = "completed";
|
|
15942
15952
|
finalMessage = message;
|
|
@@ -15995,6 +16005,15 @@ async function createSession(config2) {
|
|
|
15995
16005
|
continue;
|
|
15996
16006
|
}
|
|
15997
16007
|
assistantId = void 0;
|
|
16008
|
+
if (hooks.onTurnComplete) {
|
|
16009
|
+
await hooks.onTurnComplete({
|
|
16010
|
+
threadId,
|
|
16011
|
+
agentName,
|
|
16012
|
+
turn: currentTurn,
|
|
16013
|
+
toolCallCount: rawToolCalls.length,
|
|
16014
|
+
...usage && { usage }
|
|
16015
|
+
});
|
|
16016
|
+
}
|
|
15998
16017
|
}
|
|
15999
16018
|
if (stateManager.getTurns() >= maxTurns && stateManager.isRunning()) {
|
|
16000
16019
|
exitReason = "max_turns";
|
|
@@ -16040,7 +16059,14 @@ async function createSession(config2) {
|
|
|
16040
16059
|
error: flushError instanceof Error ? flushError.message : String(flushError)
|
|
16041
16060
|
});
|
|
16042
16061
|
}
|
|
16043
|
-
|
|
16062
|
+
const totals = stateManager.getTotalUsage();
|
|
16063
|
+
await callSessionEnd(exitReason, totals.turns, {
|
|
16064
|
+
inputTokens: totals.totalInputTokens,
|
|
16065
|
+
outputTokens: totals.totalOutputTokens,
|
|
16066
|
+
cachedWriteTokens: totals.totalCachedWriteTokens,
|
|
16067
|
+
cachedReadTokens: totals.totalCachedReadTokens,
|
|
16068
|
+
reasonTokens: totals.totalReasonTokens
|
|
16069
|
+
});
|
|
16044
16070
|
if (sandboxOwned && sandboxId && sandboxOps) {
|
|
16045
16071
|
switch (resolvedShutdown) {
|
|
16046
16072
|
case "destroy":
|
|
@@ -16551,10 +16577,19 @@ function createObservabilityHooks(agentName) {
|
|
|
16551
16577
|
threadId: ctx.threadId,
|
|
16552
16578
|
exitReason: ctx.exitReason,
|
|
16553
16579
|
turns: ctx.turns,
|
|
16554
|
-
usage:
|
|
16580
|
+
usage: ctx.usage,
|
|
16555
16581
|
durationMs: Date.now() - sessionStartMs
|
|
16556
16582
|
});
|
|
16557
16583
|
},
|
|
16584
|
+
onTurnComplete: (ctx) => {
|
|
16585
|
+
zeitlichMetrics.turnCompleted({
|
|
16586
|
+
agentName,
|
|
16587
|
+
threadId: ctx.threadId,
|
|
16588
|
+
turn: ctx.turn,
|
|
16589
|
+
toolCallCount: ctx.toolCallCount,
|
|
16590
|
+
...ctx.usage && { usage: ctx.usage }
|
|
16591
|
+
});
|
|
16592
|
+
},
|
|
16558
16593
|
onPostToolUse: (ctx) => {
|
|
16559
16594
|
zeitlichMetrics.toolExecuted({
|
|
16560
16595
|
agentName,
|