zeitlich 0.2.25 → 0.2.26
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/activities-BEJRyDVU.d.cts +137 -0
- package/dist/activities-LVQdLF6I.d.ts +137 -0
- package/dist/adapters/sandbox/virtual/index.cjs.map +1 -1
- package/dist/adapters/sandbox/virtual/index.d.cts +8 -7
- package/dist/adapters/sandbox/virtual/index.d.ts +8 -7
- package/dist/adapters/sandbox/virtual/index.js.map +1 -1
- package/dist/adapters/sandbox/virtual/workflow.d.cts +3 -2
- package/dist/adapters/sandbox/virtual/workflow.d.ts +3 -2
- package/dist/adapters/thread/anthropic/index.cjs +356 -0
- package/dist/adapters/thread/anthropic/index.cjs.map +1 -0
- package/dist/adapters/thread/anthropic/index.d.cts +148 -0
- package/dist/adapters/thread/anthropic/index.d.ts +148 -0
- package/dist/adapters/thread/anthropic/index.js +351 -0
- package/dist/adapters/thread/anthropic/index.js.map +1 -0
- package/dist/adapters/thread/anthropic/workflow.cjs +38 -0
- package/dist/adapters/thread/anthropic/workflow.cjs.map +1 -0
- package/dist/adapters/thread/anthropic/workflow.d.cts +37 -0
- package/dist/adapters/thread/anthropic/workflow.d.ts +37 -0
- package/dist/adapters/thread/anthropic/workflow.js +36 -0
- package/dist/adapters/thread/anthropic/workflow.js.map +1 -0
- package/dist/adapters/thread/google-genai/index.cjs +95 -97
- package/dist/adapters/thread/google-genai/index.cjs.map +1 -1
- package/dist/adapters/thread/google-genai/index.d.cts +9 -111
- package/dist/adapters/thread/google-genai/index.d.ts +9 -111
- package/dist/adapters/thread/google-genai/index.js +96 -97
- package/dist/adapters/thread/google-genai/index.js.map +1 -1
- package/dist/adapters/thread/google-genai/workflow.cjs +9 -4
- package/dist/adapters/thread/google-genai/workflow.cjs.map +1 -1
- package/dist/adapters/thread/google-genai/workflow.d.cts +10 -5
- package/dist/adapters/thread/google-genai/workflow.d.ts +10 -5
- package/dist/adapters/thread/google-genai/workflow.js +9 -4
- package/dist/adapters/thread/google-genai/workflow.js.map +1 -1
- package/dist/adapters/thread/langchain/index.cjs +43 -60
- package/dist/adapters/thread/langchain/index.cjs.map +1 -1
- package/dist/adapters/thread/langchain/index.d.cts +24 -38
- package/dist/adapters/thread/langchain/index.d.ts +24 -38
- package/dist/adapters/thread/langchain/index.js +43 -60
- package/dist/adapters/thread/langchain/index.js.map +1 -1
- package/dist/adapters/thread/langchain/workflow.cjs +9 -4
- package/dist/adapters/thread/langchain/workflow.cjs.map +1 -1
- package/dist/adapters/thread/langchain/workflow.d.cts +10 -5
- package/dist/adapters/thread/langchain/workflow.d.ts +10 -5
- package/dist/adapters/thread/langchain/workflow.js +9 -4
- package/dist/adapters/thread/langchain/workflow.js.map +1 -1
- package/dist/index.cjs +27 -10
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +13 -12
- package/dist/index.d.ts +13 -12
- package/dist/index.js +28 -11
- package/dist/index.js.map +1 -1
- package/dist/proxy-BK1ydQt0.d.ts +24 -0
- package/dist/proxy-BMAsMHdp.d.cts +24 -0
- package/dist/{queries-DwBe2CAA.d.ts → queries-BCgJ9Sr5.d.ts} +1 -1
- package/dist/{queries-BYGBImeC.d.cts → queries-DwnE2bu3.d.cts} +1 -1
- package/dist/thread-manager-CH9krS3h.d.ts +37 -0
- package/dist/thread-manager-Czhpxbt6.d.ts +29 -0
- package/dist/thread-manager-DOnQzImf.d.cts +29 -0
- package/dist/thread-manager-b4DML-qu.d.cts +37 -0
- package/dist/{types-35POpVfa.d.ts → types-BDRDbm3h.d.cts} +22 -1
- package/dist/{types-hmferhc2.d.ts → types-CvJyXDYt.d.ts} +44 -123
- package/dist/{types-LVKmCNds.d.ts → types-DFUNSYbj.d.ts} +1 -1
- package/dist/{types-Bf8KV0Ci.d.cts → types-DRnz-OZp.d.cts} +1 -1
- package/dist/{types-7PeMi1bD.d.cts → types-DSOefLpY.d.cts} +44 -123
- package/dist/{types-35POpVfa.d.cts → types-WNSeZbWa.d.ts} +22 -1
- package/dist/{types-D_igp10o.d.cts → types-mCVxKIZb.d.cts} +233 -137
- package/dist/{types-D_igp10o.d.ts → types-mCVxKIZb.d.ts} +233 -137
- package/dist/workflow.cjs +25 -9
- package/dist/workflow.cjs.map +1 -1
- package/dist/workflow.d.cts +11 -11
- package/dist/workflow.d.ts +11 -11
- package/dist/workflow.js +26 -10
- package/dist/workflow.js.map +1 -1
- package/package.json +26 -1
- package/src/adapters/sandbox/virtual/with-virtual-sandbox.ts +8 -3
- package/src/adapters/thread/anthropic/activities.ts +223 -0
- package/src/adapters/thread/anthropic/index.ts +44 -0
- package/src/adapters/thread/anthropic/model-invoker.ts +124 -0
- package/src/adapters/thread/anthropic/proxy.ts +33 -0
- package/src/adapters/thread/anthropic/thread-manager.ts +191 -0
- package/src/adapters/thread/google-genai/activities.ts +107 -32
- package/src/adapters/thread/google-genai/index.ts +3 -1
- package/src/adapters/thread/google-genai/model-invoker.ts +7 -40
- package/src/adapters/thread/google-genai/proxy.ts +6 -34
- package/src/adapters/thread/google-genai/thread-manager.ts +84 -104
- package/src/adapters/thread/langchain/activities.ts +53 -20
- package/src/adapters/thread/langchain/index.ts +3 -1
- package/src/adapters/thread/langchain/model-invoker.ts +7 -9
- package/src/adapters/thread/langchain/proxy.ts +6 -34
- package/src/adapters/thread/langchain/thread-manager.ts +44 -98
- package/src/index.ts +5 -1
- package/src/lib/activity.ts +4 -3
- package/src/lib/hooks/types.ts +12 -12
- package/src/lib/model/types.ts +2 -0
- package/src/lib/session/session-edge-cases.integration.test.ts +24 -6
- package/src/lib/session/session.ts +18 -14
- package/src/lib/session/types.ts +31 -14
- package/src/lib/subagent/handler.ts +15 -8
- package/src/lib/subagent/types.ts +3 -2
- package/src/lib/thread/index.ts +2 -0
- package/src/lib/thread/manager.ts +4 -7
- package/src/lib/thread/proxy.ts +57 -0
- package/src/lib/thread/types.ts +31 -0
- package/src/lib/tool-router/auto-append-sandbox.integration.test.ts +54 -0
- package/src/lib/tool-router/auto-append.ts +5 -2
- package/src/lib/tool-router/router-edge-cases.integration.test.ts +9 -5
- package/src/lib/tool-router/router.ts +13 -7
- package/src/lib/tool-router/types.ts +20 -13
- package/src/lib/tool-router/with-sandbox.ts +4 -3
- package/src/lib/types.ts +7 -14
- package/src/workflow.ts +0 -4
- package/tsup.config.ts +5 -0
package/dist/index.d.cts
CHANGED
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
import { BashArgs, FileEditArgs, GlobArgs, FileReadArgs, FileWriteArgs } from './workflow.cjs';
|
|
2
2
|
export { AskUserQuestionArgs, GrepArgs, ReadSkillArgs, SubagentArgs, TaskCreateArgs, TaskGetArgs, TaskListArgs, TaskUpdateArgs, WorkflowConfig, WorkflowInput, WorkflowSessionInput, applyVirtualTreeMutations, askUserQuestionTool, bashTool, createAgentStateManager, createAskUserQuestionHandler, createBashToolDescription, createReadSkillHandler, createReadSkillTool, createSession, createTaskCreateHandler, createTaskGetHandler, createTaskListHandler, createTaskUpdateHandler, createToolRouter, defineSubagent, defineSubagentWorkflow, defineTool, defineWorkflow, editTool, formatVirtualFileTree, getShortId, globTool, grepTool, hasNoOtherToolCalls, parseSkillFile, readFileTool, taskCreateTool, taskGetTool, taskListTool, taskUpdateTool, writeFileTool } from './workflow.cjs';
|
|
3
|
-
import { b as SkillProvider, c as SkillMetadata, d as Skill } from './types-
|
|
4
|
-
export { A as AgentResponse,
|
|
5
|
-
import { R as RouterContext,
|
|
6
|
-
export {
|
|
3
|
+
import { b as SkillProvider, c as SkillMetadata, d as Skill } from './types-DSOefLpY.cjs';
|
|
4
|
+
export { A as AgentResponse, H as Hooks, a as ModelInvoker, M as ModelInvokerConfig, e as PostHumanMessageAppendHook, f as PostHumanMessageAppendHookContext, g as PreHumanMessageAppendHook, h as PreHumanMessageAppendHookContext, P as PrefixedThreadOps, R as RunAgentActivity, i as SandboxInit, j as SandboxShutdown, S as ScopedPrefix, k as SessionConfig, l as SessionEndHook, m as SessionEndHookContext, n as SessionResult, o as SessionStartHook, p as SessionStartHookContext, q as SubagentConfig, r as SubagentDefinition, s as SubagentFnResult, t as SubagentHandlerResponse, u as SubagentHooks, v as SubagentSandboxConfig, w as SubagentSandboxShutdown, x as SubagentSessionInput, y as SubagentWorkflow, z as SubagentWorkflowInput, B as ThreadInit, T as ThreadOps, Z as ZeitlichSession } from './types-DSOefLpY.cjs';
|
|
5
|
+
import { R as RouterContext, g as ToolResultConfig, A as ActivityToolHandler, J as JsonValue, T as ToolHandlerResponse, B as BaseAgentState, f as RunAgentConfig } from './types-mCVxKIZb.cjs';
|
|
6
|
+
export { k as AgentConfig, l as AgentFile, m as AgentState, j as AgentStateManager, n as AgentStatus, o as AppendToolResultFn, I as InferToolResults, p as JsonPrimitive, i as JsonSerializable, q as ParsedToolCall, r as ParsedToolCallUnion, s as PostToolUseFailureHook, t as PostToolUseFailureHookContext, c as PostToolUseFailureHookResult, u as PostToolUseHook, v as PostToolUseHookContext, w as PreToolUseHook, x as PreToolUseHookContext, P as PreToolUseHookResult, y as ProcessToolCallsContext, d as RawToolCall, z as SerializableToolDefinition, S as SessionExitReason, C as TaskStatus, e as TokenUsage, D as ToolArgs, E as ToolCallResult, h as ToolCallResultUnion, F as ToolDefinition, G as ToolHandler, H as ToolHooks, a as ToolMap, K as ToolNames, L as ToolResult, M as ToolRouter, b as ToolRouterHooks, N as ToolWithHandler, W as WorkflowTask, O as isTerminalStatus } from './types-mCVxKIZb.cjs';
|
|
7
7
|
import { S as Sandbox, a as SandboxFileSystem, d as SandboxCreateOptions, b as SandboxProvider, f as SandboxSnapshot, P as PrefixedSandboxOps, F as FileStat, D as DirentEntry, E as ExecResult } from './types-ChAMwU3q.cjs';
|
|
8
8
|
export { h as ExecOptions, c as SandboxCapabilities, e as SandboxCreateResult, i as SandboxNotFoundError, j as SandboxNotSupportedError, g as SandboxOps } from './types-ChAMwU3q.cjs';
|
|
9
9
|
import { WorkflowClient } from '@temporalio/client';
|
|
10
|
-
export { f as filesWithMimeType, h as hasDirectory, a as hasFileWithMimeType } from './queries-
|
|
11
|
-
export { F as FileEntry, a as FileEntryMetadata, b as FileResolver, T as TreeMutation, e as VirtualFileTree, g as VirtualSandboxState } from './types-
|
|
12
|
-
import { T as ThreadManagerConfig, B as BaseThreadManager } from './types-
|
|
10
|
+
export { f as filesWithMimeType, h as hasDirectory, a as hasFileWithMimeType } from './queries-DwnE2bu3.cjs';
|
|
11
|
+
export { F as FileEntry, a as FileEntryMetadata, b as FileResolver, T as TreeMutation, e as VirtualFileTree, g as VirtualSandboxState } from './types-DRnz-OZp.cjs';
|
|
12
|
+
import { T as ThreadManagerConfig, B as BaseThreadManager } from './types-BDRDbm3h.cjs';
|
|
13
|
+
export { P as ProviderThreadManager } from './types-BDRDbm3h.cjs';
|
|
13
14
|
import 'zod';
|
|
14
15
|
import '@temporalio/common';
|
|
15
16
|
import '@temporalio/workflow';
|
|
@@ -43,7 +44,7 @@ import 'ioredis';
|
|
|
43
44
|
* );
|
|
44
45
|
* ```
|
|
45
46
|
*/
|
|
46
|
-
declare function withAutoAppend<TArgs, TResult, TContext extends RouterContext = RouterContext>(threadHandler: (id: string, config: ToolResultConfig) => Promise<void>, handler: ActivityToolHandler<TArgs, TResult, TContext>): ActivityToolHandler<TArgs, TResult, TContext>;
|
|
47
|
+
declare function withAutoAppend<TArgs, TResult, TContext extends RouterContext = RouterContext, TToolResponse = unknown>(threadHandler: (id: string, config: ToolResultConfig) => Promise<void>, handler: ActivityToolHandler<TArgs, TResult, TContext, TToolResponse>): ActivityToolHandler<TArgs, TResult, TContext>;
|
|
47
48
|
|
|
48
49
|
/**
|
|
49
50
|
* Extended router context with a resolved {@link Sandbox} instance.
|
|
@@ -93,12 +94,12 @@ interface SandboxContext extends RouterContext {
|
|
|
93
94
|
* });
|
|
94
95
|
* ```
|
|
95
96
|
*/
|
|
96
|
-
declare function withSandbox<TArgs, TResult, TSandbox extends Sandbox = Sandbox>(manager: {
|
|
97
|
+
declare function withSandbox<TArgs, TResult, TSandbox extends Sandbox = Sandbox, TToolResponse = JsonValue>(manager: {
|
|
97
98
|
getSandbox(id: string): Promise<TSandbox>;
|
|
98
99
|
}, handler: (args: TArgs, context: RouterContext & {
|
|
99
100
|
sandbox: TSandbox;
|
|
100
101
|
sandboxId: string;
|
|
101
|
-
}) => Promise<ToolHandlerResponse<TResult>>): ActivityToolHandler<TArgs, TResult | null>;
|
|
102
|
+
}) => Promise<ToolHandlerResponse<TResult, TToolResponse>>): ActivityToolHandler<TArgs, TResult | null, RouterContext, TToolResponse | string>;
|
|
102
103
|
|
|
103
104
|
/**
|
|
104
105
|
* Query the parent workflow's state from within an activity.
|
|
@@ -148,7 +149,7 @@ interface AgentStateContext<S extends BaseAgentState = BaseAgentState> extends R
|
|
|
148
149
|
* );
|
|
149
150
|
* ```
|
|
150
151
|
*/
|
|
151
|
-
declare function withParentWorkflowState<TArgs, TResult, S extends BaseAgentState = BaseAgentState>(client: WorkflowClient, handler: (args: TArgs, context: AgentStateContext<S>) => Promise<ToolHandlerResponse<TResult>>): ActivityToolHandler<TArgs, TResult>;
|
|
152
|
+
declare function withParentWorkflowState<TArgs, TResult, S extends BaseAgentState = BaseAgentState, TToolResponse = JsonValue>(client: WorkflowClient, handler: (args: TArgs, context: AgentStateContext<S>) => Promise<ToolHandlerResponse<TResult, TToolResponse>>): ActivityToolHandler<TArgs, TResult, RouterContext, TToolResponse>;
|
|
152
153
|
|
|
153
154
|
/**
|
|
154
155
|
* Loads skills from a directory following the agentskills.io layout:
|
|
@@ -381,4 +382,4 @@ declare const toTree: (fs: SandboxFileSystem, opts?: {
|
|
|
381
382
|
sort?: boolean;
|
|
382
383
|
}) => Promise<string>;
|
|
383
384
|
|
|
384
|
-
export { ActivityToolHandler, type AgentStateContext, BaseAgentState, BaseThreadManager, BashArgs, ExecResult, FileEditArgs, FileReadArgs, FileSystemSkillProvider, FileWriteArgs, GlobArgs, NodeFsSandboxFileSystem, PrefixedSandboxOps, RouterContext, RunAgentConfig, Sandbox, type SandboxContext, SandboxCreateOptions, DirentEntry as SandboxDirentEntry, FileStat as SandboxFileStat, SandboxFileSystem, SandboxManager, SandboxProvider, SandboxSnapshot, Skill, SkillMetadata, SkillProvider, ThreadManagerConfig, ToolHandlerResponse, ToolResultConfig, bashHandler, createRunAgentActivity, createThreadManager, editHandler, globHandler, queryParentWorkflowState, readFileHandler, toTree, withAutoAppend, withParentWorkflowState, withSandbox, writeFileHandler };
|
|
385
|
+
export { ActivityToolHandler, type AgentStateContext, BaseAgentState, BaseThreadManager, BashArgs, ExecResult, FileEditArgs, FileReadArgs, FileSystemSkillProvider, FileWriteArgs, GlobArgs, JsonValue, NodeFsSandboxFileSystem, PrefixedSandboxOps, RouterContext, RunAgentConfig, Sandbox, type SandboxContext, SandboxCreateOptions, DirentEntry as SandboxDirentEntry, FileStat as SandboxFileStat, SandboxFileSystem, SandboxManager, SandboxProvider, SandboxSnapshot, Skill, SkillMetadata, SkillProvider, ThreadManagerConfig, ToolHandlerResponse, ToolResultConfig, bashHandler, createRunAgentActivity, createThreadManager, editHandler, globHandler, queryParentWorkflowState, readFileHandler, toTree, withAutoAppend, withParentWorkflowState, withSandbox, writeFileHandler };
|
package/dist/index.d.ts
CHANGED
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
import { BashArgs, FileEditArgs, GlobArgs, FileReadArgs, FileWriteArgs } from './workflow.js';
|
|
2
2
|
export { AskUserQuestionArgs, GrepArgs, ReadSkillArgs, SubagentArgs, TaskCreateArgs, TaskGetArgs, TaskListArgs, TaskUpdateArgs, WorkflowConfig, WorkflowInput, WorkflowSessionInput, applyVirtualTreeMutations, askUserQuestionTool, bashTool, createAgentStateManager, createAskUserQuestionHandler, createBashToolDescription, createReadSkillHandler, createReadSkillTool, createSession, createTaskCreateHandler, createTaskGetHandler, createTaskListHandler, createTaskUpdateHandler, createToolRouter, defineSubagent, defineSubagentWorkflow, defineTool, defineWorkflow, editTool, formatVirtualFileTree, getShortId, globTool, grepTool, hasNoOtherToolCalls, parseSkillFile, readFileTool, taskCreateTool, taskGetTool, taskListTool, taskUpdateTool, writeFileTool } from './workflow.js';
|
|
3
|
-
import { b as SkillProvider, c as SkillMetadata, d as Skill } from './types-
|
|
4
|
-
export { A as AgentResponse,
|
|
5
|
-
import { R as RouterContext,
|
|
6
|
-
export {
|
|
3
|
+
import { b as SkillProvider, c as SkillMetadata, d as Skill } from './types-CvJyXDYt.js';
|
|
4
|
+
export { A as AgentResponse, H as Hooks, a as ModelInvoker, M as ModelInvokerConfig, e as PostHumanMessageAppendHook, f as PostHumanMessageAppendHookContext, g as PreHumanMessageAppendHook, h as PreHumanMessageAppendHookContext, P as PrefixedThreadOps, R as RunAgentActivity, i as SandboxInit, j as SandboxShutdown, S as ScopedPrefix, k as SessionConfig, l as SessionEndHook, m as SessionEndHookContext, n as SessionResult, o as SessionStartHook, p as SessionStartHookContext, q as SubagentConfig, r as SubagentDefinition, s as SubagentFnResult, t as SubagentHandlerResponse, u as SubagentHooks, v as SubagentSandboxConfig, w as SubagentSandboxShutdown, x as SubagentSessionInput, y as SubagentWorkflow, z as SubagentWorkflowInput, B as ThreadInit, T as ThreadOps, Z as ZeitlichSession } from './types-CvJyXDYt.js';
|
|
5
|
+
import { R as RouterContext, g as ToolResultConfig, A as ActivityToolHandler, J as JsonValue, T as ToolHandlerResponse, B as BaseAgentState, f as RunAgentConfig } from './types-mCVxKIZb.js';
|
|
6
|
+
export { k as AgentConfig, l as AgentFile, m as AgentState, j as AgentStateManager, n as AgentStatus, o as AppendToolResultFn, I as InferToolResults, p as JsonPrimitive, i as JsonSerializable, q as ParsedToolCall, r as ParsedToolCallUnion, s as PostToolUseFailureHook, t as PostToolUseFailureHookContext, c as PostToolUseFailureHookResult, u as PostToolUseHook, v as PostToolUseHookContext, w as PreToolUseHook, x as PreToolUseHookContext, P as PreToolUseHookResult, y as ProcessToolCallsContext, d as RawToolCall, z as SerializableToolDefinition, S as SessionExitReason, C as TaskStatus, e as TokenUsage, D as ToolArgs, E as ToolCallResult, h as ToolCallResultUnion, F as ToolDefinition, G as ToolHandler, H as ToolHooks, a as ToolMap, K as ToolNames, L as ToolResult, M as ToolRouter, b as ToolRouterHooks, N as ToolWithHandler, W as WorkflowTask, O as isTerminalStatus } from './types-mCVxKIZb.js';
|
|
7
7
|
import { S as Sandbox, a as SandboxFileSystem, d as SandboxCreateOptions, b as SandboxProvider, f as SandboxSnapshot, P as PrefixedSandboxOps, F as FileStat, D as DirentEntry, E as ExecResult } from './types-ChAMwU3q.js';
|
|
8
8
|
export { h as ExecOptions, c as SandboxCapabilities, e as SandboxCreateResult, i as SandboxNotFoundError, j as SandboxNotSupportedError, g as SandboxOps } from './types-ChAMwU3q.js';
|
|
9
9
|
import { WorkflowClient } from '@temporalio/client';
|
|
10
|
-
export { f as filesWithMimeType, h as hasDirectory, a as hasFileWithMimeType } from './queries-
|
|
11
|
-
export { F as FileEntry, a as FileEntryMetadata, b as FileResolver, T as TreeMutation, e as VirtualFileTree, g as VirtualSandboxState } from './types-
|
|
12
|
-
import { T as ThreadManagerConfig, B as BaseThreadManager } from './types-
|
|
10
|
+
export { f as filesWithMimeType, h as hasDirectory, a as hasFileWithMimeType } from './queries-BCgJ9Sr5.js';
|
|
11
|
+
export { F as FileEntry, a as FileEntryMetadata, b as FileResolver, T as TreeMutation, e as VirtualFileTree, g as VirtualSandboxState } from './types-DFUNSYbj.js';
|
|
12
|
+
import { T as ThreadManagerConfig, B as BaseThreadManager } from './types-WNSeZbWa.js';
|
|
13
|
+
export { P as ProviderThreadManager } from './types-WNSeZbWa.js';
|
|
13
14
|
import 'zod';
|
|
14
15
|
import '@temporalio/common';
|
|
15
16
|
import '@temporalio/workflow';
|
|
@@ -43,7 +44,7 @@ import 'ioredis';
|
|
|
43
44
|
* );
|
|
44
45
|
* ```
|
|
45
46
|
*/
|
|
46
|
-
declare function withAutoAppend<TArgs, TResult, TContext extends RouterContext = RouterContext>(threadHandler: (id: string, config: ToolResultConfig) => Promise<void>, handler: ActivityToolHandler<TArgs, TResult, TContext>): ActivityToolHandler<TArgs, TResult, TContext>;
|
|
47
|
+
declare function withAutoAppend<TArgs, TResult, TContext extends RouterContext = RouterContext, TToolResponse = unknown>(threadHandler: (id: string, config: ToolResultConfig) => Promise<void>, handler: ActivityToolHandler<TArgs, TResult, TContext, TToolResponse>): ActivityToolHandler<TArgs, TResult, TContext>;
|
|
47
48
|
|
|
48
49
|
/**
|
|
49
50
|
* Extended router context with a resolved {@link Sandbox} instance.
|
|
@@ -93,12 +94,12 @@ interface SandboxContext extends RouterContext {
|
|
|
93
94
|
* });
|
|
94
95
|
* ```
|
|
95
96
|
*/
|
|
96
|
-
declare function withSandbox<TArgs, TResult, TSandbox extends Sandbox = Sandbox>(manager: {
|
|
97
|
+
declare function withSandbox<TArgs, TResult, TSandbox extends Sandbox = Sandbox, TToolResponse = JsonValue>(manager: {
|
|
97
98
|
getSandbox(id: string): Promise<TSandbox>;
|
|
98
99
|
}, handler: (args: TArgs, context: RouterContext & {
|
|
99
100
|
sandbox: TSandbox;
|
|
100
101
|
sandboxId: string;
|
|
101
|
-
}) => Promise<ToolHandlerResponse<TResult>>): ActivityToolHandler<TArgs, TResult | null>;
|
|
102
|
+
}) => Promise<ToolHandlerResponse<TResult, TToolResponse>>): ActivityToolHandler<TArgs, TResult | null, RouterContext, TToolResponse | string>;
|
|
102
103
|
|
|
103
104
|
/**
|
|
104
105
|
* Query the parent workflow's state from within an activity.
|
|
@@ -148,7 +149,7 @@ interface AgentStateContext<S extends BaseAgentState = BaseAgentState> extends R
|
|
|
148
149
|
* );
|
|
149
150
|
* ```
|
|
150
151
|
*/
|
|
151
|
-
declare function withParentWorkflowState<TArgs, TResult, S extends BaseAgentState = BaseAgentState>(client: WorkflowClient, handler: (args: TArgs, context: AgentStateContext<S>) => Promise<ToolHandlerResponse<TResult>>): ActivityToolHandler<TArgs, TResult>;
|
|
152
|
+
declare function withParentWorkflowState<TArgs, TResult, S extends BaseAgentState = BaseAgentState, TToolResponse = JsonValue>(client: WorkflowClient, handler: (args: TArgs, context: AgentStateContext<S>) => Promise<ToolHandlerResponse<TResult, TToolResponse>>): ActivityToolHandler<TArgs, TResult, RouterContext, TToolResponse>;
|
|
152
153
|
|
|
153
154
|
/**
|
|
154
155
|
* Loads skills from a directory following the agentskills.io layout:
|
|
@@ -381,4 +382,4 @@ declare const toTree: (fs: SandboxFileSystem, opts?: {
|
|
|
381
382
|
sort?: boolean;
|
|
382
383
|
}) => Promise<string>;
|
|
383
384
|
|
|
384
|
-
export { ActivityToolHandler, type AgentStateContext, BaseAgentState, BaseThreadManager, BashArgs, ExecResult, FileEditArgs, FileReadArgs, FileSystemSkillProvider, FileWriteArgs, GlobArgs, NodeFsSandboxFileSystem, PrefixedSandboxOps, RouterContext, RunAgentConfig, Sandbox, type SandboxContext, SandboxCreateOptions, DirentEntry as SandboxDirentEntry, FileStat as SandboxFileStat, SandboxFileSystem, SandboxManager, SandboxProvider, SandboxSnapshot, Skill, SkillMetadata, SkillProvider, ThreadManagerConfig, ToolHandlerResponse, ToolResultConfig, bashHandler, createRunAgentActivity, createThreadManager, editHandler, globHandler, queryParentWorkflowState, readFileHandler, toTree, withAutoAppend, withParentWorkflowState, withSandbox, writeFileHandler };
|
|
385
|
+
export { ActivityToolHandler, type AgentStateContext, BaseAgentState, BaseThreadManager, BashArgs, ExecResult, FileEditArgs, FileReadArgs, FileSystemSkillProvider, FileWriteArgs, GlobArgs, JsonValue, NodeFsSandboxFileSystem, PrefixedSandboxOps, RouterContext, RunAgentConfig, Sandbox, type SandboxContext, SandboxCreateOptions, DirentEntry as SandboxDirentEntry, FileStat as SandboxFileStat, SandboxFileSystem, SandboxManager, SandboxProvider, SandboxSnapshot, Skill, SkillMetadata, SkillProvider, ThreadManagerConfig, ToolHandlerResponse, ToolResultConfig, bashHandler, createRunAgentActivity, createThreadManager, editHandler, globHandler, queryParentWorkflowState, readFileHandler, toTree, withAutoAppend, withParentWorkflowState, withSandbox, writeFileHandler };
|
package/dist/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { defineSignal, uuid4, setHandler, defineUpdate, ApplicationFailure, condition, defineQuery, workflowInfo, getExternalWorkflowHandle, startChild } from '@temporalio/workflow';
|
|
1
|
+
import { defineSignal, uuid4, setHandler, defineUpdate, ApplicationFailure, condition, defineQuery, workflowInfo, getExternalWorkflowHandle, log, startChild } from '@temporalio/workflow';
|
|
2
2
|
import z14, { z } from 'zod';
|
|
3
3
|
import { randomUUID, randomFillSync } from 'crypto';
|
|
4
4
|
import { ApplicationFailure as ApplicationFailure$1 } from '@temporalio/common';
|
|
@@ -118,6 +118,7 @@ function createToolRouter(options) {
|
|
|
118
118
|
if (preResult.skip) {
|
|
119
119
|
await appendToolResult(uuid4(), {
|
|
120
120
|
threadId: options.threadId,
|
|
121
|
+
threadKey: options.threadKey,
|
|
121
122
|
toolCallId: toolCall.id,
|
|
122
123
|
toolName: toolCall.name,
|
|
123
124
|
content: JSON.stringify({
|
|
@@ -136,6 +137,7 @@ function createToolRouter(options) {
|
|
|
136
137
|
if (tool) {
|
|
137
138
|
const routerContext = {
|
|
138
139
|
threadId: options.threadId,
|
|
140
|
+
...options.threadKey && { threadKey: options.threadKey },
|
|
139
141
|
toolCallId: toolCall.id,
|
|
140
142
|
toolName: toolCall.name,
|
|
141
143
|
...sandboxId !== void 0 && { sandboxId },
|
|
@@ -167,6 +169,7 @@ function createToolRouter(options) {
|
|
|
167
169
|
if (!resultAppended) {
|
|
168
170
|
const config = {
|
|
169
171
|
threadId: options.threadId,
|
|
172
|
+
threadKey: options.threadKey,
|
|
170
173
|
toolCallId: toolCall.id,
|
|
171
174
|
toolName: toolCall.name,
|
|
172
175
|
content
|
|
@@ -258,6 +261,7 @@ function createToolRouter(options) {
|
|
|
258
261
|
const processOne = async (toolCall) => {
|
|
259
262
|
const routerContext = {
|
|
260
263
|
threadId: options.threadId,
|
|
264
|
+
...options.threadKey && { threadKey: options.threadKey },
|
|
261
265
|
toolCallId: toolCall.id,
|
|
262
266
|
toolName: toolCall.name,
|
|
263
267
|
...context?.sandboxId !== void 0 && {
|
|
@@ -277,6 +281,7 @@ function createToolRouter(options) {
|
|
|
277
281
|
uuid4(),
|
|
278
282
|
{
|
|
279
283
|
threadId: options.threadId,
|
|
284
|
+
threadKey: options.threadKey,
|
|
280
285
|
toolCallId: toolCall.id,
|
|
281
286
|
toolName: toolCall.name,
|
|
282
287
|
content: response.toolResponse
|
|
@@ -484,9 +489,10 @@ function createSubagentHandler(subagents) {
|
|
|
484
489
|
}
|
|
485
490
|
let finalToolResponse = toolResponse;
|
|
486
491
|
if (allowsContinuation && childThreadId) {
|
|
487
|
-
|
|
492
|
+
const responseStr = typeof toolResponse === "string" ? toolResponse : JSON.stringify(toolResponse);
|
|
493
|
+
finalToolResponse = `${responseStr}
|
|
488
494
|
|
|
489
|
-
[${config.agentName} Thread ID: ${childThreadId}]
|
|
495
|
+
[${config.agentName} Thread ID: ${childThreadId}]`;
|
|
490
496
|
}
|
|
491
497
|
return {
|
|
492
498
|
toolResponse: finalToolResponse,
|
|
@@ -501,8 +507,14 @@ function createSubagentHandler(subagents) {
|
|
|
501
507
|
pendingDestroys.clear();
|
|
502
508
|
await Promise.all(
|
|
503
509
|
handles.map(async (handle) => {
|
|
504
|
-
|
|
505
|
-
|
|
510
|
+
try {
|
|
511
|
+
await handle.signal(destroySandboxSignal);
|
|
512
|
+
await handle.result();
|
|
513
|
+
} catch (err) {
|
|
514
|
+
log.warn("Failed to signal destroySandbox to child workflow", {
|
|
515
|
+
error: err
|
|
516
|
+
});
|
|
517
|
+
}
|
|
506
518
|
})
|
|
507
519
|
);
|
|
508
520
|
};
|
|
@@ -655,6 +667,7 @@ async function createSession({
|
|
|
655
667
|
hooks = {},
|
|
656
668
|
appendSystemPrompt = true,
|
|
657
669
|
waitForInputTimeout = "48h",
|
|
670
|
+
threadKey,
|
|
658
671
|
sandboxOps,
|
|
659
672
|
thread: threadInit,
|
|
660
673
|
sandbox: sandboxInit,
|
|
@@ -699,6 +712,7 @@ async function createSession({
|
|
|
699
712
|
tools,
|
|
700
713
|
appendToolResult,
|
|
701
714
|
threadId,
|
|
715
|
+
threadKey,
|
|
702
716
|
hooks,
|
|
703
717
|
plugins,
|
|
704
718
|
parallel: processToolsInParallel
|
|
@@ -727,7 +741,7 @@ async function createSession({
|
|
|
727
741
|
threadId
|
|
728
742
|
});
|
|
729
743
|
}
|
|
730
|
-
await appendHumanMessage(threadId, uuid4(), message);
|
|
744
|
+
await appendHumanMessage(threadId, uuid4(), message, threadKey);
|
|
731
745
|
if (hooks.onPostHumanMessageAppend) {
|
|
732
746
|
await hooks.onPostHumanMessageAppend({
|
|
733
747
|
message,
|
|
@@ -795,7 +809,7 @@ async function createSession({
|
|
|
795
809
|
}
|
|
796
810
|
const systemPrompt = stateManager.getSystemPrompt();
|
|
797
811
|
if (threadMode === "fork" && sourceThreadId) {
|
|
798
|
-
await forkThread(sourceThreadId, threadId);
|
|
812
|
+
await forkThread(sourceThreadId, threadId, threadKey);
|
|
799
813
|
} else if (threadMode === "continue") ; else {
|
|
800
814
|
if (appendSystemPrompt) {
|
|
801
815
|
if (!systemPrompt || systemPrompt.trim() === "") {
|
|
@@ -804,12 +818,12 @@ async function createSession({
|
|
|
804
818
|
nonRetryable: true
|
|
805
819
|
});
|
|
806
820
|
}
|
|
807
|
-
await appendSystemMessage(threadId, uuid4(), systemPrompt);
|
|
821
|
+
await appendSystemMessage(threadId, uuid4(), systemPrompt, threadKey);
|
|
808
822
|
} else {
|
|
809
|
-
await initializeThread(threadId);
|
|
823
|
+
await initializeThread(threadId, threadKey);
|
|
810
824
|
}
|
|
811
825
|
}
|
|
812
|
-
await appendHumanMessage(threadId, uuid4(), await buildContextMessage());
|
|
826
|
+
await appendHumanMessage(threadId, uuid4(), await buildContextMessage(), threadKey);
|
|
813
827
|
let exitReason = "completed";
|
|
814
828
|
try {
|
|
815
829
|
while (stateManager.isRunning() && !stateManager.isTerminal() && stateManager.getTurns() < maxTurns) {
|
|
@@ -818,6 +832,7 @@ async function createSession({
|
|
|
818
832
|
stateManager.setTools(toolRouter.getToolDefinitions());
|
|
819
833
|
const { message, rawToolCalls, usage } = await runAgent({
|
|
820
834
|
threadId,
|
|
835
|
+
threadKey,
|
|
821
836
|
agentName,
|
|
822
837
|
metadata
|
|
823
838
|
});
|
|
@@ -842,6 +857,7 @@ async function createSession({
|
|
|
842
857
|
} catch (error) {
|
|
843
858
|
await appendToolResult(uuid4(), {
|
|
844
859
|
threadId,
|
|
860
|
+
threadKey,
|
|
845
861
|
toolCallId: tc.id ?? "",
|
|
846
862
|
toolName: tc.name,
|
|
847
863
|
content: JSON.stringify({
|
|
@@ -1137,6 +1153,7 @@ function withAutoAppend(threadHandler, handler) {
|
|
|
1137
1153
|
const response = await handler(args, context);
|
|
1138
1154
|
await threadHandler(v4_default(), {
|
|
1139
1155
|
threadId: context.threadId,
|
|
1156
|
+
...context.threadKey && { threadKey: context.threadKey },
|
|
1140
1157
|
toolCallId: context.toolCallId,
|
|
1141
1158
|
toolName: context.toolName,
|
|
1142
1159
|
content: response.toolResponse
|
|
@@ -1904,7 +1921,7 @@ redis.call('SET', KEYS[1], '1', 'EX', tonumber(ARGV[1]))
|
|
|
1904
1921
|
return 1
|
|
1905
1922
|
`;
|
|
1906
1923
|
function getThreadKey(threadId, key) {
|
|
1907
|
-
return
|
|
1924
|
+
return `${key}:thread:${threadId}`;
|
|
1908
1925
|
}
|
|
1909
1926
|
function createThreadManager(config) {
|
|
1910
1927
|
const {
|