zeitlich 0.2.48 → 0.2.50
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/README.md +26 -23
- package/dist/{activities-DCaIPQBT.d.ts → activities-IuOIvPHO.d.ts} +6 -6
- package/dist/{activities-BlQR5gX4.d.cts → activities-cIlq1y1y.d.cts} +6 -6
- package/dist/adapters/sandbox/daytona/index.cjs.map +1 -1
- package/dist/adapters/sandbox/daytona/index.d.cts +3 -3
- package/dist/adapters/sandbox/daytona/index.d.ts +3 -3
- package/dist/adapters/sandbox/daytona/index.js.map +1 -1
- package/dist/adapters/sandbox/daytona/workflow.d.cts +2 -2
- package/dist/adapters/sandbox/daytona/workflow.d.ts +2 -2
- package/dist/adapters/sandbox/e2b/index.cjs.map +1 -1
- package/dist/adapters/sandbox/e2b/index.d.cts +1 -1
- package/dist/adapters/sandbox/e2b/index.d.ts +1 -1
- package/dist/adapters/sandbox/e2b/index.js.map +1 -1
- package/dist/adapters/sandbox/e2b/workflow.d.cts +1 -1
- package/dist/adapters/sandbox/e2b/workflow.d.ts +1 -1
- package/dist/adapters/thread/anthropic/index.cjs +45 -42
- package/dist/adapters/thread/anthropic/index.cjs.map +1 -1
- package/dist/adapters/thread/anthropic/index.d.cts +10 -10
- package/dist/adapters/thread/anthropic/index.d.ts +10 -10
- package/dist/adapters/thread/anthropic/index.js +45 -42
- package/dist/adapters/thread/anthropic/index.js.map +1 -1
- package/dist/adapters/thread/anthropic/workflow.d.cts +7 -7
- package/dist/adapters/thread/anthropic/workflow.d.ts +7 -7
- package/dist/adapters/thread/google-genai/index.cjs +117 -54
- package/dist/adapters/thread/google-genai/index.cjs.map +1 -1
- package/dist/adapters/thread/google-genai/index.d.cts +27 -23
- package/dist/adapters/thread/google-genai/index.d.ts +27 -23
- package/dist/adapters/thread/google-genai/index.js +117 -54
- package/dist/adapters/thread/google-genai/index.js.map +1 -1
- package/dist/adapters/thread/google-genai/workflow.d.cts +8 -8
- package/dist/adapters/thread/google-genai/workflow.d.ts +8 -8
- package/dist/adapters/thread/langchain/index.cjs +45 -42
- package/dist/adapters/thread/langchain/index.cjs.map +1 -1
- package/dist/adapters/thread/langchain/index.d.cts +10 -10
- package/dist/adapters/thread/langchain/index.d.ts +10 -10
- package/dist/adapters/thread/langchain/index.js +45 -42
- package/dist/adapters/thread/langchain/index.js.map +1 -1
- package/dist/adapters/thread/langchain/workflow.d.cts +7 -7
- package/dist/adapters/thread/langchain/workflow.d.ts +7 -7
- package/dist/{cold-store-UL13Sstw.d.cts → cold-store-C0uvYTSi.d.cts} +1 -1
- package/dist/{cold-store-aD4TSKlU.d.ts → cold-store-CCnZYWjx.d.ts} +1 -1
- package/dist/index.cjs +15063 -405
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +79 -83
- package/dist/index.d.ts +79 -83
- package/dist/index.js +15064 -402
- package/dist/index.js.map +1 -1
- package/dist/{proxy-BAty3CWM.d.cts → proxy-BVznA2_p.d.cts} +1 -1
- package/dist/{proxy-mbnwBhHw.d.ts → proxy-C4J1pNUk.d.ts} +1 -1
- package/dist/{thread-manager-CICj68PI.d.ts → thread-manager-BqjzWsP7.d.ts} +4 -4
- package/dist/{thread-manager-R6c3lnJy.d.cts → thread-manager-CzIs47uG.d.cts} +4 -4
- package/dist/{thread-manager-DsXvJ5cJ.d.cts → thread-manager-Dzl1fHhV.d.cts} +4 -4
- package/dist/{thread-manager-DtEtbUkp.d.ts → thread-manager-SkSWRPRc.d.ts} +4 -4
- package/dist/{types-gVa5XCWD.d.ts → types-BQvXWcft.d.ts} +1 -1
- package/dist/{types-DF4wzWQG.d.ts → types-CbPnU4RM.d.ts} +3 -3
- package/dist/{types-CJ7tCdl6.d.cts → types-D8W5TnSa.d.cts} +3 -3
- package/dist/{types-CJ7tCdl6.d.ts → types-D8W5TnSa.d.ts} +3 -3
- package/dist/{types-DwBYd0ij.d.ts → types-DZnUqCAP.d.cts} +709 -686
- package/dist/{types-CjY93AWZ.d.cts → types-OEN1xrFg.d.cts} +1 -1
- package/dist/{types-DWeyCTYK.d.cts → types-YNesmGKV.d.ts} +709 -686
- package/dist/{types-DDLPnxBh.d.cts → types-d2RvEP6v.d.cts} +3 -3
- package/dist/{workflow-DdaU7_j4.d.ts → workflow-B3oTe2_D.d.cts} +34 -3
- package/dist/{workflow-DVNPR7eX.d.cts → workflow-Bkzg0cjB.d.ts} +34 -3
- package/dist/workflow.cjs +15021 -362
- package/dist/workflow.cjs.map +1 -1
- package/dist/workflow.d.cts +3 -3
- package/dist/workflow.d.ts +3 -3
- package/dist/workflow.js +15022 -359
- package/dist/workflow.js.map +1 -1
- package/package.json +10 -37
- package/src/adapters/thread/anthropic/activities.ts +1 -1
- package/src/adapters/thread/anthropic/fork-transform.test.ts +17 -11
- package/src/adapters/thread/anthropic/model-invoker.test.ts +4 -3
- package/src/adapters/thread/anthropic/model-invoker.ts +1 -1
- package/src/adapters/thread/anthropic/thread-manager.test.ts +2 -2
- package/src/adapters/thread/anthropic/thread-manager.ts +1 -1
- package/src/adapters/thread/google-genai/activities.ts +1 -1
- package/src/adapters/thread/google-genai/fork-transform.test.ts +17 -11
- package/src/adapters/thread/google-genai/model-invoker.test.ts +337 -0
- package/src/adapters/thread/google-genai/model-invoker.ts +107 -23
- package/src/adapters/thread/google-genai/thread-manager.test.ts +2 -2
- package/src/adapters/thread/google-genai/thread-manager.ts +1 -1
- package/src/adapters/thread/langchain/activities.ts +1 -1
- package/src/adapters/thread/langchain/fork-transform.test.ts +17 -11
- package/src/adapters/thread/langchain/model-invoker.ts +1 -1
- package/src/adapters/thread/langchain/thread-manager.test.ts +2 -2
- package/src/adapters/thread/langchain/thread-manager.ts +1 -1
- package/src/index.ts +2 -2
- package/src/lib/sandbox/capability-types.test.ts +2 -2
- package/src/lib/sandbox/manager.ts +2 -6
- package/src/lib/sandbox/sandbox.test.ts +1 -1
- package/src/lib/sandbox/types.ts +2 -2
- package/src/lib/session/session.integration.test.ts +92 -0
- package/src/lib/session/session.ts +23 -0
- package/src/lib/subagent/handler.ts +23 -0
- package/src/lib/subagent/subagent.integration.test.ts +198 -0
- package/src/lib/thread/keys.test.ts +9 -9
- package/src/lib/thread/keys.ts +1 -1
- package/src/lib/thread/manager.test.ts +24 -14
- package/src/lib/thread/manager.ts +19 -23
- package/src/lib/thread/snapshot.test.ts +51 -43
- package/src/lib/thread/snapshot.ts +54 -32
- package/src/lib/thread/test-utils.ts +106 -59
- package/src/lib/thread/tiered.test.ts +1 -1
- package/src/lib/thread/types.ts +2 -2
- package/src/lib/tool-router/router.integration.test.ts +44 -0
- package/src/lib/tool-router/router.ts +149 -33
- package/src/lib/tool-router/types.ts +23 -0
- package/src/lib/workflow.ts +49 -0
- package/src/{adapters/sandbox/inmemory/proxy.ts → test-utils/in-memory-sandbox-proxy.ts} +5 -16
- package/src/{adapters/sandbox/inmemory/index.ts → test-utils/in-memory-sandbox.ts} +11 -3
- package/src/tools/bash/bash.test.ts +1 -1
- package/src/tools/edit/handler.test.ts +1 -1
- package/tsup.config.ts +2 -4
- package/dist/adapters/sandbox/inmemory/index.cjs +0 -214
- package/dist/adapters/sandbox/inmemory/index.cjs.map +0 -1
- package/dist/adapters/sandbox/inmemory/index.d.cts +0 -40
- package/dist/adapters/sandbox/inmemory/index.d.ts +0 -40
- package/dist/adapters/sandbox/inmemory/index.js +0 -211
- package/dist/adapters/sandbox/inmemory/index.js.map +0 -1
- package/dist/adapters/sandbox/inmemory/workflow.cjs +0 -36
- package/dist/adapters/sandbox/inmemory/workflow.cjs.map +0 -1
- package/dist/adapters/sandbox/inmemory/workflow.d.cts +0 -27
- package/dist/adapters/sandbox/inmemory/workflow.d.ts +0 -27
- package/dist/adapters/sandbox/inmemory/workflow.js +0 -34
- package/dist/adapters/sandbox/inmemory/workflow.js.map +0 -1
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import
|
|
2
|
-
import {
|
|
1
|
+
import { RedisClientType } from 'redis';
|
|
2
|
+
import { J as JsonValue, P as PersistedThreadState } from './types-DZnUqCAP.cjs';
|
|
3
3
|
|
|
4
4
|
interface ThreadManagerConfig<T> {
|
|
5
|
-
redis:
|
|
5
|
+
redis: RedisClientType;
|
|
6
6
|
threadId: string;
|
|
7
7
|
/** Thread key, defaults to 'messages' */
|
|
8
8
|
key?: string;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { au as ToolMap, _ as SandboxInit, ah as SubagentSandboxShutdown, a1 as SessionConfig, aF as ZeitlichSession, $ as SandboxShutdown, am as ThreadInit, u as JsonSerializable, B as BaseAgentState, p as AgentStateManager, aH as ToolRouterOptions, ax as ToolRouter, R as RouterContext, J as JsonValue, az as ToolWithHandler, w as ParsedToolCallUnion, av as ToolNames, ac as SubagentDefinition, af as SubagentHooks, ag as SubagentSandboxConfig, aa as SubagentConfig, ai as SubagentSessionInput, ad as SubagentFnResult, a7 as SessionStartHook, a2 as SessionEndHook, E as PostToolUseHook, z as PostToolUseFailureHook, a4 as SessionExitReason,
|
|
1
|
+
import { au as ToolMap, _ as SandboxInit, ah as SubagentSandboxShutdown, a1 as SessionConfig, aF as ZeitlichSession, $ as SandboxShutdown, an as TokenUsage, am as ThreadInit, u as JsonSerializable, B as BaseAgentState, p as AgentStateManager, aH as ToolRouterOptions, ax as ToolRouter, R as RouterContext, J as JsonValue, az as ToolWithHandler, w as ParsedToolCallUnion, av as ToolNames, ac as SubagentDefinition, af as SubagentHooks, ag as SubagentSandboxConfig, aa as SubagentConfig, ai as SubagentSessionInput, ad as SubagentFnResult, a7 as SessionStartHook, a2 as SessionEndHook, E as PostToolUseHook, z as PostToolUseFailureHook, a4 as SessionExitReason, e as RunAgentConfig, A as AgentResponse, F as FileEntryMetadata, aB as VirtualFileTree, k as TreeMutation, s as FileEntry, aC as VirtualFsOps, h as SkillMetadata, i as Skill, c as ToolHandlerResponse, as as ToolHandler, aE as WorkflowTask, d as ActivityToolHandler } from './types-DZnUqCAP.cjs';
|
|
2
|
+
import { g as SandboxSnapshot } from './types-D8W5TnSa.cjs';
|
|
2
3
|
import z$1, { z } from 'zod';
|
|
3
|
-
import './types-CJ7tCdl6.js';
|
|
4
4
|
import { Duration } from '@temporalio/common';
|
|
5
5
|
import { Sinks, proxyActivities } from '@temporalio/workflow';
|
|
6
6
|
|
|
@@ -53,6 +53,25 @@ interface WorkflowSessionInput {
|
|
|
53
53
|
sandbox?: SandboxInit;
|
|
54
54
|
/** Sandbox shutdown policy (default: "destroy") */
|
|
55
55
|
sandboxShutdown?: SandboxShutdown;
|
|
56
|
+
/**
|
|
57
|
+
* Called by the session right before `runSession` returns. Installed by
|
|
58
|
+
* `defineWorkflow` to capture sandbox / thread / usage outputs and forward
|
|
59
|
+
* them to the workflow's `onSessionExit` config hook. Spread into
|
|
60
|
+
* `createSession` via `...sessionInput`.
|
|
61
|
+
*/
|
|
62
|
+
onSessionExit?: (result: {
|
|
63
|
+
sandboxId?: string;
|
|
64
|
+
snapshot?: SandboxSnapshot;
|
|
65
|
+
threadId: string;
|
|
66
|
+
usage: {
|
|
67
|
+
totalInputTokens: number;
|
|
68
|
+
totalOutputTokens: number;
|
|
69
|
+
totalCachedWriteTokens: number;
|
|
70
|
+
totalCachedReadTokens: number;
|
|
71
|
+
totalReasonTokens: number;
|
|
72
|
+
turns: number;
|
|
73
|
+
};
|
|
74
|
+
}) => void;
|
|
56
75
|
}
|
|
57
76
|
/** Raw workflow input fields that map into `WorkflowSessionInput`. */
|
|
58
77
|
interface WorkflowInput {
|
|
@@ -72,6 +91,18 @@ interface WorkflowConfig {
|
|
|
72
91
|
* - `"keep"` — leave the sandbox running (no-op on exit).
|
|
73
92
|
*/
|
|
74
93
|
sandboxShutdown?: SandboxShutdown;
|
|
94
|
+
/**
|
|
95
|
+
* Called right before the underlying session exits, with the sandbox /
|
|
96
|
+
* thread outputs and normalized token usage. Mirrors the capture logic in
|
|
97
|
+
* `defineSubagentWorkflow`; useful for emitting metrics or persisting
|
|
98
|
+
* sandbox / thread ids without threading them through the handler result.
|
|
99
|
+
*/
|
|
100
|
+
onSessionExit?: (result: {
|
|
101
|
+
sandboxId?: string;
|
|
102
|
+
snapshot?: SandboxSnapshot;
|
|
103
|
+
threadId: string;
|
|
104
|
+
usage: TokenUsage;
|
|
105
|
+
}) => void;
|
|
75
106
|
}
|
|
76
107
|
/**
|
|
77
108
|
* Wraps a main workflow function, translating workflow input fields into
|
|
@@ -136,7 +167,7 @@ declare const THREAD_TTL_SECONDS: number;
|
|
|
136
167
|
* Build the Redis list key that holds a thread's serialized messages.
|
|
137
168
|
*
|
|
138
169
|
* Mirrors the exact key used internally by zeitlich's thread manager,
|
|
139
|
-
* so a consumer calling `redis.
|
|
170
|
+
* so a consumer calling `redis.lRange(getThreadListKey(key, id), 0, -1)`
|
|
140
171
|
* sees the same data the writer wrote.
|
|
141
172
|
*
|
|
142
173
|
* @param threadKey - Thread key (defaults to `"messages"` inside the
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { au as ToolMap, _ as SandboxInit, ah as SubagentSandboxShutdown, a1 as SessionConfig, aF as ZeitlichSession, $ as SandboxShutdown, am as ThreadInit, u as JsonSerializable, B as BaseAgentState, p as AgentStateManager, aH as ToolRouterOptions, ax as ToolRouter, R as RouterContext, J as JsonValue, az as ToolWithHandler, w as ParsedToolCallUnion, av as ToolNames, ac as SubagentDefinition, af as SubagentHooks, ag as SubagentSandboxConfig, aa as SubagentConfig, ai as SubagentSessionInput, ad as SubagentFnResult, a7 as SessionStartHook, a2 as SessionEndHook, E as PostToolUseHook, z as PostToolUseFailureHook, a4 as SessionExitReason,
|
|
1
|
+
import { au as ToolMap, _ as SandboxInit, ah as SubagentSandboxShutdown, a1 as SessionConfig, aF as ZeitlichSession, $ as SandboxShutdown, an as TokenUsage, am as ThreadInit, u as JsonSerializable, B as BaseAgentState, p as AgentStateManager, aH as ToolRouterOptions, ax as ToolRouter, R as RouterContext, J as JsonValue, az as ToolWithHandler, w as ParsedToolCallUnion, av as ToolNames, ac as SubagentDefinition, af as SubagentHooks, ag as SubagentSandboxConfig, aa as SubagentConfig, ai as SubagentSessionInput, ad as SubagentFnResult, a7 as SessionStartHook, a2 as SessionEndHook, E as PostToolUseHook, z as PostToolUseFailureHook, a4 as SessionExitReason, e as RunAgentConfig, A as AgentResponse, F as FileEntryMetadata, aB as VirtualFileTree, k as TreeMutation, s as FileEntry, aC as VirtualFsOps, h as SkillMetadata, i as Skill, c as ToolHandlerResponse, as as ToolHandler, aE as WorkflowTask, d as ActivityToolHandler } from './types-YNesmGKV.js';
|
|
2
|
+
import { g as SandboxSnapshot } from './types-D8W5TnSa.js';
|
|
2
3
|
import z$1, { z } from 'zod';
|
|
3
|
-
import './types-CJ7tCdl6.cjs';
|
|
4
4
|
import { Duration } from '@temporalio/common';
|
|
5
5
|
import { Sinks, proxyActivities } from '@temporalio/workflow';
|
|
6
6
|
|
|
@@ -53,6 +53,25 @@ interface WorkflowSessionInput {
|
|
|
53
53
|
sandbox?: SandboxInit;
|
|
54
54
|
/** Sandbox shutdown policy (default: "destroy") */
|
|
55
55
|
sandboxShutdown?: SandboxShutdown;
|
|
56
|
+
/**
|
|
57
|
+
* Called by the session right before `runSession` returns. Installed by
|
|
58
|
+
* `defineWorkflow` to capture sandbox / thread / usage outputs and forward
|
|
59
|
+
* them to the workflow's `onSessionExit` config hook. Spread into
|
|
60
|
+
* `createSession` via `...sessionInput`.
|
|
61
|
+
*/
|
|
62
|
+
onSessionExit?: (result: {
|
|
63
|
+
sandboxId?: string;
|
|
64
|
+
snapshot?: SandboxSnapshot;
|
|
65
|
+
threadId: string;
|
|
66
|
+
usage: {
|
|
67
|
+
totalInputTokens: number;
|
|
68
|
+
totalOutputTokens: number;
|
|
69
|
+
totalCachedWriteTokens: number;
|
|
70
|
+
totalCachedReadTokens: number;
|
|
71
|
+
totalReasonTokens: number;
|
|
72
|
+
turns: number;
|
|
73
|
+
};
|
|
74
|
+
}) => void;
|
|
56
75
|
}
|
|
57
76
|
/** Raw workflow input fields that map into `WorkflowSessionInput`. */
|
|
58
77
|
interface WorkflowInput {
|
|
@@ -72,6 +91,18 @@ interface WorkflowConfig {
|
|
|
72
91
|
* - `"keep"` — leave the sandbox running (no-op on exit).
|
|
73
92
|
*/
|
|
74
93
|
sandboxShutdown?: SandboxShutdown;
|
|
94
|
+
/**
|
|
95
|
+
* Called right before the underlying session exits, with the sandbox /
|
|
96
|
+
* thread outputs and normalized token usage. Mirrors the capture logic in
|
|
97
|
+
* `defineSubagentWorkflow`; useful for emitting metrics or persisting
|
|
98
|
+
* sandbox / thread ids without threading them through the handler result.
|
|
99
|
+
*/
|
|
100
|
+
onSessionExit?: (result: {
|
|
101
|
+
sandboxId?: string;
|
|
102
|
+
snapshot?: SandboxSnapshot;
|
|
103
|
+
threadId: string;
|
|
104
|
+
usage: TokenUsage;
|
|
105
|
+
}) => void;
|
|
75
106
|
}
|
|
76
107
|
/**
|
|
77
108
|
* Wraps a main workflow function, translating workflow input fields into
|
|
@@ -136,7 +167,7 @@ declare const THREAD_TTL_SECONDS: number;
|
|
|
136
167
|
* Build the Redis list key that holds a thread's serialized messages.
|
|
137
168
|
*
|
|
138
169
|
* Mirrors the exact key used internally by zeitlich's thread manager,
|
|
139
|
-
* so a consumer calling `redis.
|
|
170
|
+
* so a consumer calling `redis.lRange(getThreadListKey(key, id), 0, -1)`
|
|
140
171
|
* sees the same data the writer wrote.
|
|
141
172
|
*
|
|
142
173
|
* @param threadKey - Thread key (defaults to `"messages"` inside the
|