zeitlich 0.2.15 → 0.2.17
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 +125 -64
- package/dist/adapters/sandbox/daytona/index.cjs +52 -23
- package/dist/adapters/sandbox/daytona/index.cjs.map +1 -1
- package/dist/adapters/sandbox/daytona/index.d.cts +10 -2
- package/dist/adapters/sandbox/daytona/index.d.ts +10 -2
- package/dist/adapters/sandbox/daytona/index.js +52 -23
- package/dist/adapters/sandbox/daytona/index.js.map +1 -1
- package/dist/adapters/sandbox/inmemory/index.cjs +21 -16
- package/dist/adapters/sandbox/inmemory/index.cjs.map +1 -1
- package/dist/adapters/sandbox/inmemory/index.d.cts +1 -1
- package/dist/adapters/sandbox/inmemory/index.d.ts +1 -1
- package/dist/adapters/sandbox/inmemory/index.js +21 -16
- package/dist/adapters/sandbox/inmemory/index.js.map +1 -1
- package/dist/adapters/sandbox/virtual/index.cjs +83 -38
- package/dist/adapters/sandbox/virtual/index.cjs.map +1 -1
- package/dist/adapters/sandbox/virtual/index.d.cts +6 -6
- package/dist/adapters/sandbox/virtual/index.d.ts +6 -6
- package/dist/adapters/sandbox/virtual/index.js +80 -38
- package/dist/adapters/sandbox/virtual/index.js.map +1 -1
- package/dist/adapters/thread/google-genai/index.d.cts +2 -2
- package/dist/adapters/thread/google-genai/index.d.ts +2 -2
- package/dist/adapters/thread/langchain/index.cjs +2 -2
- package/dist/adapters/thread/langchain/index.cjs.map +1 -1
- package/dist/adapters/thread/langchain/index.d.cts +2 -2
- package/dist/adapters/thread/langchain/index.d.ts +2 -2
- package/dist/adapters/thread/langchain/index.js +2 -2
- package/dist/adapters/thread/langchain/index.js.map +1 -1
- package/dist/index.cjs +102 -10
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +6 -6
- package/dist/index.d.ts +6 -6
- package/dist/index.js +98 -11
- package/dist/index.js.map +1 -1
- package/dist/{types-CwwgQ_9H.d.ts → queries-BlC1I3DK.d.ts} +48 -3
- package/dist/{types-BVP87m_W.d.cts → queries-DlJ3jE48.d.cts} +48 -3
- package/dist/{types-CDubRtad.d.cts → types-BMRzfELQ.d.cts} +2 -0
- package/dist/{types-CDubRtad.d.ts → types-BMRzfELQ.d.ts} +2 -0
- package/dist/{types-Dje1TdH6.d.cts → types-Bh-BbfCp.d.cts} +31 -12
- package/dist/{types-BWvIYK28.d.ts → types-NkiAxU4t.d.ts} +31 -12
- package/dist/workflow.cjs +102 -10
- package/dist/workflow.cjs.map +1 -1
- package/dist/workflow.d.cts +114 -40
- package/dist/workflow.d.ts +114 -40
- package/dist/workflow.js +98 -11
- package/dist/workflow.js.map +1 -1
- package/package.json +1 -1
- package/src/adapters/sandbox/daytona/filesystem.ts +43 -19
- package/src/adapters/sandbox/daytona/index.ts +16 -3
- package/src/adapters/sandbox/daytona/types.ts +4 -0
- package/src/adapters/sandbox/inmemory/index.ts +22 -16
- package/src/adapters/sandbox/virtual/filesystem.ts +29 -31
- package/src/adapters/sandbox/virtual/index.ts +7 -3
- package/src/adapters/sandbox/virtual/provider.ts +5 -2
- package/src/adapters/sandbox/virtual/queries.ts +97 -0
- package/src/adapters/sandbox/virtual/types.ts +3 -0
- package/src/adapters/sandbox/virtual/with-virtual-sandbox.ts +4 -3
- package/src/adapters/thread/langchain/activities.ts +7 -5
- package/src/lib/sandbox/tree.integration.test.ts +153 -0
- package/src/lib/sandbox/types.ts +2 -0
- package/src/lib/session/session-edge-cases.integration.test.ts +962 -0
- package/src/lib/session/session.integration.test.ts +853 -0
- package/src/lib/session/session.ts +5 -4
- package/src/lib/skills/skills.integration.test.ts +308 -0
- package/src/lib/state/manager.integration.test.ts +342 -0
- package/src/lib/subagent/define.ts +34 -47
- package/src/lib/subagent/handler.ts +9 -6
- package/src/lib/subagent/index.ts +4 -1
- package/src/lib/subagent/subagent.integration.test.ts +573 -0
- package/src/lib/subagent/types.ts +40 -10
- package/src/lib/subagent/workflow.ts +114 -0
- package/src/lib/thread/id.test.ts +50 -0
- package/src/lib/tool-router/auto-append-sandbox.integration.test.ts +344 -0
- package/src/lib/tool-router/router-edge-cases.integration.test.ts +623 -0
- package/src/lib/tool-router/router.integration.test.ts +699 -0
- package/src/lib/types.test.ts +29 -0
- package/src/lib/workflow.test.ts +131 -0
- package/src/lib/workflow.ts +45 -0
- package/src/workflow.ts +12 -2
|
@@ -1,71 +1,58 @@
|
|
|
1
1
|
import type { z } from "zod";
|
|
2
2
|
import type {
|
|
3
3
|
SubagentConfig,
|
|
4
|
-
|
|
4
|
+
SubagentDefinition,
|
|
5
5
|
SubagentHooks,
|
|
6
|
+
SubagentWorkflow,
|
|
6
7
|
} from "./types";
|
|
7
8
|
import type { SubagentArgs } from "./tool";
|
|
8
9
|
|
|
9
10
|
/**
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
11
|
+
* Creates a `SubagentConfig` from a `SubagentDefinition` (returned by `defineSubagentWorkflow`).
|
|
12
|
+
* Metadata (name, description, resultSchema) is read from the definition — only configure
|
|
13
|
+
* what's specific to this usage in the parent workflow.
|
|
13
14
|
*
|
|
14
15
|
* @example
|
|
15
16
|
* ```ts
|
|
16
|
-
* //
|
|
17
|
-
* const researcher = defineSubagent(
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
*
|
|
17
|
+
* // Minimal — all metadata comes from the definition
|
|
18
|
+
* export const researcher = defineSubagent(researcherWorkflow);
|
|
19
|
+
*
|
|
20
|
+
* // With parent-specific overrides
|
|
21
|
+
* export const researcher = defineSubagent(researcherWorkflow, {
|
|
22
|
+
* allowThreadContinuation: true,
|
|
23
|
+
* sandbox: "own",
|
|
23
24
|
* hooks: {
|
|
24
|
-
* onPostExecution: ({ result }) =>
|
|
25
|
-
* // result is typed as { findings: string }
|
|
26
|
-
* },
|
|
25
|
+
* onPostExecution: ({ result }) => console.log(result),
|
|
27
26
|
* },
|
|
28
27
|
* });
|
|
29
28
|
*
|
|
30
|
-
* //
|
|
31
|
-
* const
|
|
32
|
-
*
|
|
33
|
-
* description: "Writes content",
|
|
34
|
-
* workflow: writerWorkflow, // (input: { prompt: string }) => Promise<...>
|
|
35
|
-
* resultSchema: z.object({ content: z.string() }),
|
|
29
|
+
* // With typed context
|
|
30
|
+
* export const researcher = defineSubagent(researcherWorkflow, {
|
|
31
|
+
* context: { apiKey: "..." },
|
|
36
32
|
* });
|
|
37
33
|
* ```
|
|
38
34
|
*/
|
|
39
|
-
// With context — verifies workflow accepts { prompt, context: TContext }
|
|
40
35
|
export function defineSubagent<
|
|
41
36
|
TResult extends z.ZodType = z.ZodType,
|
|
42
37
|
TContext extends Record<string, unknown> = Record<string, unknown>,
|
|
43
38
|
>(
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
| ((input: {
|
|
48
|
-
prompt: string;
|
|
49
|
-
previousThreadId?: string;
|
|
50
|
-
context: TContext;
|
|
51
|
-
}) => Promise<SubagentHandlerResponse<z.infer<TResult> | null>>);
|
|
52
|
-
context: TContext;
|
|
53
|
-
hooks?: SubagentHooks<SubagentArgs, z.infer<TResult>>;
|
|
54
|
-
}
|
|
55
|
-
): SubagentConfig<TResult>;
|
|
56
|
-
// Without context — verifies workflow accepts { prompt }
|
|
57
|
-
export function defineSubagent<TResult extends z.ZodType = z.ZodType>(
|
|
58
|
-
config: Omit<SubagentConfig<TResult>, "hooks" | "workflow"> & {
|
|
59
|
-
workflow:
|
|
60
|
-
| string
|
|
61
|
-
| ((input: {
|
|
62
|
-
prompt: string;
|
|
63
|
-
previousThreadId?: string;
|
|
64
|
-
}) => Promise<SubagentHandlerResponse<z.infer<TResult> | null>>);
|
|
39
|
+
definition: SubagentDefinition<TResult, TContext>,
|
|
40
|
+
overrides?: {
|
|
41
|
+
context?: TContext;
|
|
65
42
|
hooks?: SubagentHooks<SubagentArgs, z.infer<TResult>>;
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
43
|
+
enabled?: boolean;
|
|
44
|
+
taskQueue?: string;
|
|
45
|
+
allowThreadContinuation?: boolean;
|
|
46
|
+
sandbox?: "inherit" | "own";
|
|
47
|
+
},
|
|
48
|
+
): SubagentConfig<TResult> {
|
|
49
|
+
return {
|
|
50
|
+
agentName: definition.agentName,
|
|
51
|
+
description: definition.description,
|
|
52
|
+
workflow: definition as SubagentWorkflow<TResult>,
|
|
53
|
+
...(definition.resultSchema !== undefined && {
|
|
54
|
+
resultSchema: definition.resultSchema,
|
|
55
|
+
}),
|
|
56
|
+
...overrides,
|
|
57
|
+
} as SubagentConfig<TResult>;
|
|
71
58
|
}
|
|
@@ -5,7 +5,7 @@ import type { ToolMessageContent } from "../types";
|
|
|
5
5
|
import type {
|
|
6
6
|
InferSubagentResult,
|
|
7
7
|
SubagentConfig,
|
|
8
|
-
|
|
8
|
+
SubagentWorkflowInput,
|
|
9
9
|
} from "./types";
|
|
10
10
|
import type { SubagentArgs } from "./tool";
|
|
11
11
|
import type { z } from "zod";
|
|
@@ -38,18 +38,21 @@ export function createSubagentHandler<
|
|
|
38
38
|
const { sandboxId: parentSandboxId } = context;
|
|
39
39
|
const inheritSandbox = config.sandbox !== "own" && !!parentSandboxId;
|
|
40
40
|
|
|
41
|
-
const
|
|
42
|
-
prompt: args.prompt,
|
|
43
|
-
...(config.context && { context: config.context }),
|
|
41
|
+
const workflowInput: SubagentWorkflowInput = {
|
|
44
42
|
...(args.threadId &&
|
|
45
43
|
args.threadId !== null &&
|
|
46
|
-
config.allowThreadContinuation && {
|
|
44
|
+
config.allowThreadContinuation && {
|
|
45
|
+
previousThreadId: args.threadId,
|
|
46
|
+
}),
|
|
47
47
|
...(inheritSandbox && { sandboxId: parentSandboxId }),
|
|
48
48
|
};
|
|
49
49
|
|
|
50
50
|
const childOpts = {
|
|
51
51
|
workflowId: childWorkflowId,
|
|
52
|
-
args:
|
|
52
|
+
args:
|
|
53
|
+
config.context === undefined
|
|
54
|
+
? ([args.prompt, workflowInput] as const)
|
|
55
|
+
: ([args.prompt, workflowInput, config.context] as const),
|
|
53
56
|
taskQueue: config.taskQueue ?? parentTaskQueue,
|
|
54
57
|
};
|
|
55
58
|
|
|
@@ -1,13 +1,16 @@
|
|
|
1
1
|
export type {
|
|
2
2
|
SubagentConfig,
|
|
3
|
+
SubagentDefinition,
|
|
3
4
|
SubagentHooks,
|
|
4
|
-
SubagentInput,
|
|
5
5
|
SubagentHandlerResponse,
|
|
6
6
|
SubagentWorkflow,
|
|
7
|
+
SubagentWorkflowInput,
|
|
8
|
+
SubagentSessionInput,
|
|
7
9
|
InferSubagentResult,
|
|
8
10
|
} from "./types";
|
|
9
11
|
export { createSubagentTool, SUBAGENT_TOOL_NAME } from "./tool";
|
|
10
12
|
export type { SubagentArgs } from "./tool";
|
|
11
13
|
export { createSubagentHandler } from "./handler";
|
|
12
14
|
export { defineSubagent } from "./define";
|
|
15
|
+
export { defineSubagentWorkflow } from "./workflow";
|
|
13
16
|
export { buildSubagentRegistration } from "./register";
|