@theokit/sdk 1.5.0 → 1.6.1
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/CHANGELOG.md +30 -1
- package/dist/server/auth/index.cjs +329 -0
- package/dist/server/auth/index.cjs.map +1 -0
- package/dist/server/auth/index.d.cts +176 -0
- package/dist/server/auth/index.d.ts +176 -0
- package/dist/server/auth/index.js +322 -0
- package/dist/server/auth/index.js.map +1 -0
- package/package.json +22 -12
- package/dist/eval.d.cts +0 -35
- package/dist/path-safety.d.cts +0 -15
- package/dist/task-store.d.cts +0 -8
- package/dist/tools/_path-scope.d.cts +0 -8
- package/dist/tools/_subprocess.d.cts +0 -28
- package/dist/tools/git-diff.d.cts +0 -22
- package/dist/tools/index.d.cts +0 -29
- package/dist/tools/list-dir.d.cts +0 -26
- package/dist/tools/read-file.d.cts +0 -31
- package/dist/tools/run-vitest.d.cts +0 -46
- package/dist/tools/search-text.d.cts +0 -32
- package/dist/workflow.d.cts +0 -97
package/dist/path-safety.d.cts
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Public path-safety primitives.
|
|
3
|
-
*
|
|
4
|
-
* Thin re-export of the canonical implementation in
|
|
5
|
-
* `internal/security/path-guard.ts`. Splitting this into its own
|
|
6
|
-
* top-level module gives `rollup-plugin-dts` a clean boundary when
|
|
7
|
-
* bundling declarations — without it, including the path-guard module
|
|
8
|
-
* via the main barrel propagates a cascade of transitive imports that
|
|
9
|
-
* surface a known-spurious "ForkOptions not exported" error from
|
|
10
|
-
* `types/agent.ts` (dynamic-import-type quirk in rollup-plugin-dts).
|
|
11
|
-
*
|
|
12
|
-
* See `docs.md → Security — path traversal + TOCTOU` for the full
|
|
13
|
-
* primitive reference. Public from v1.x.
|
|
14
|
-
*/
|
|
15
|
-
export { assertNoSymlinkEscape, ForbiddenPathError, isForbiddenPath, PathTraversalError, safePathJoin, } from "./internal/security/path-guard.js";
|
package/dist/task-store.d.cts
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Public sub-export for the Task store interface + JSON-backed
|
|
3
|
-
* implementation. Used by `@theokit/cli` to read the registry
|
|
4
|
-
* cross-process from disk (ADR D364 + EC-7 best-effort cancel).
|
|
5
|
-
*
|
|
6
|
-
* @public
|
|
7
|
-
*/
|
|
8
|
-
export { getTaskStoreFor, InMemoryTaskStore, JsonFileTaskStore, type TaskStore, } from "./internal/task/store.js";
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Shared `safePathJoin + assertNoSymlinkEscape` helper for built-in coding
|
|
3
|
-
* tools (git-diff, run-vitest, list-dir, read-file, search-text). Returns a
|
|
4
|
-
* pre-formatted `path_traversal` JSON string on failure or `null` on pass.
|
|
5
|
-
*
|
|
6
|
-
* @internal
|
|
7
|
-
*/
|
|
8
|
-
export declare function checkPathScope(path: string | undefined, projectRoot: string): string | null;
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Shared subprocess-watch helpers for built-in coding tools (git-diff,
|
|
3
|
-
* run-vitest). Wires the on(close)/on(error) settle pattern in a single
|
|
4
|
-
* place to eliminate the cross-file clone flagged by jscpd.
|
|
5
|
-
*
|
|
6
|
-
* @internal
|
|
7
|
-
*/
|
|
8
|
-
/**
|
|
9
|
-
* Settle gate — guarantees the supplied callback fires exactly once across
|
|
10
|
-
* the close/error/timeout race. Clears the timer on settle.
|
|
11
|
-
*/
|
|
12
|
-
interface SettleGate {
|
|
13
|
-
/** True after first settle; subsequent calls are no-ops. */
|
|
14
|
-
settled: () => boolean;
|
|
15
|
-
/** Settle the gate, clear the timer, and call `onSettle()`. */
|
|
16
|
-
fire: (onSettle: () => void) => void;
|
|
17
|
-
}
|
|
18
|
-
/**
|
|
19
|
-
* Wire SIGKILL-on-timeout for a detached process group. Returns the settle
|
|
20
|
-
* gate so caller listeners can short-circuit when the timeout already fired.
|
|
21
|
-
*/
|
|
22
|
-
export declare function armTimeoutKill<T>(child: ChildProcess, timeoutMs: number, onTimeout: () => T, resolve: (value: T) => void): SettleGate;
|
|
23
|
-
/**
|
|
24
|
-
* Attach a close+error pair of listeners that resolve via the supplied
|
|
25
|
-
* callbacks. Honors the gate so timeout-vs-close races settle exactly once.
|
|
26
|
-
*/
|
|
27
|
-
export declare function attachChildSettlers<T>(child: ChildProcess, gate: SettleGate, onClose: (code: number | null) => T, onError: (err: Error) => T, resolve: (value: T) => void): void;
|
|
28
|
-
export {};
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* `git_diff` — built-in tool for coding agents.
|
|
3
|
-
*
|
|
4
|
-
* Returns the unified diff of the working tree (or staged changes when
|
|
5
|
-
* `cached=true`). Implemented as a thin `git diff` subprocess wrapper
|
|
6
|
-
* with a couple of hard limits:
|
|
7
|
-
*
|
|
8
|
-
* - 30s wall clock timeout (kills the process group on expiry)
|
|
9
|
-
* - 5 MB stdout cap (truncate + flag `truncated=true`)
|
|
10
|
-
* - Path scope validated through `safePathJoin` + `assertNoSymlinkEscape`
|
|
11
|
-
*
|
|
12
|
-
* Result shape (always a JSON string):
|
|
13
|
-
* - `{ ok: true, diff: string, truncated?: boolean }`
|
|
14
|
-
* - `{ ok: false, error: 'not_a_repo' | 'path_traversal' | 'timeout' }`
|
|
15
|
-
*/
|
|
16
|
-
import type { CustomTool } from "../types/agent.js";
|
|
17
|
-
export interface CreateGitDiffToolOptions {
|
|
18
|
-
projectRoot: string;
|
|
19
|
-
timeoutMs?: number;
|
|
20
|
-
maxStdoutBytes?: number;
|
|
21
|
-
}
|
|
22
|
-
export declare function createGitDiffTool(opts: CreateGitDiffToolOptions): CustomTool;
|
package/dist/tools/index.d.cts
DELETED
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Built-in tools for `@theokit/sdk` agents (`@theokit/sdk/tools`).
|
|
3
|
-
*
|
|
4
|
-
* Each factory returns a `CustomTool` ready to drop into `Agent.create`
|
|
5
|
-
* or `createAgentFactory({ tools: [...] })`. All five share three
|
|
6
|
-
* design rules:
|
|
7
|
-
*
|
|
8
|
-
* 1. **Project-scoped**. Every factory takes `{ projectRoot }` and
|
|
9
|
-
* gates every I/O call against that boundary via the SDK's
|
|
10
|
-
* `safePathJoin` + `assertNoSymlinkEscape` primitives.
|
|
11
|
-
*
|
|
12
|
-
* 2. **Sensitive files refused**. `.env*` (except `.env.example`),
|
|
13
|
-
* `.git/`, `node_modules/`, `.theo/`, and lock files are blocked
|
|
14
|
-
* via `isForbiddenPath`.
|
|
15
|
-
*
|
|
16
|
-
* 3. **JSON returns, never throws on user mistakes**. Handlers return
|
|
17
|
-
* `{ ok: true, ... }` or `{ ok: false, error: '...' }`. Real
|
|
18
|
-
* exceptions are reserved for SDK-side bugs (input parse errors,
|
|
19
|
-
* unexpected fs failures).
|
|
20
|
-
*
|
|
21
|
-
* Consumers: TheoKit Studio (the embedded coding agent), `cli-bot`
|
|
22
|
-
* (the SDK's reference example), and any future coding-agent built on
|
|
23
|
-
* `@theokit/sdk`.
|
|
24
|
-
*/
|
|
25
|
-
export { type CreateGitDiffToolOptions, createGitDiffTool } from "./git-diff.js";
|
|
26
|
-
export { type CreateListDirToolOptions, createListDirTool } from "./list-dir.js";
|
|
27
|
-
export { type CreateReadFileToolOptions, createReadFileTool } from "./read-file.js";
|
|
28
|
-
export { type CreateRunVitestToolOptions, createRunVitestTool, type VitestSummary, } from "./run-vitest.js";
|
|
29
|
-
export { type CreateSearchTextToolOptions, createSearchTextTool } from "./search-text.js";
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* `list_dir` — built-in tool for coding agents.
|
|
3
|
-
*
|
|
4
|
-
* Returns the direct entries of a project-relative directory. Hardened
|
|
5
|
-
* against the same four bug families as `read_file` plus the
|
|
6
|
-
* **EC-6 unbounded output** failure mode: in a project with 10k files,
|
|
7
|
-
* a naive listing returns a 5 MB JSON payload that freezes the browser
|
|
8
|
-
* and (more importantly) blows past the LLM context window.
|
|
9
|
-
*
|
|
10
|
-
* Defaults:
|
|
11
|
-
* - `max = 500` entries (override via factory option `{ max }`)
|
|
12
|
-
* - Result includes `{ truncated: boolean, totalCount: number }` so the
|
|
13
|
-
* agent can decide whether to drill deeper or call `search_text` instead
|
|
14
|
-
*
|
|
15
|
-
* Result shape (always a JSON string):
|
|
16
|
-
* - `{ ok: true, entries: Array<{ name, type }>, truncated, totalCount }`
|
|
17
|
-
* - `{ ok: false, error: 'path_traversal' | 'forbidden_path' | 'not_found' }`
|
|
18
|
-
*/
|
|
19
|
-
import type { CustomTool } from "../types/agent.js";
|
|
20
|
-
export interface CreateListDirToolOptions {
|
|
21
|
-
/** Absolute path to the project root. Every listing is gated against this boundary. */
|
|
22
|
-
projectRoot: string;
|
|
23
|
-
/** Maximum number of entries returned per call. Default 500. */
|
|
24
|
-
max?: number;
|
|
25
|
-
}
|
|
26
|
-
export declare function createListDirTool(opts: CreateListDirToolOptions): CustomTool;
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* `read_file` — built-in tool for coding agents.
|
|
3
|
-
*
|
|
4
|
-
* Reads a project-relative file as UTF-8 and returns its contents.
|
|
5
|
-
* Hardened against the four bug families a coding agent normally hits:
|
|
6
|
-
*
|
|
7
|
-
* 1. **Path traversal** — `safePathJoin` rejects literal `..`,
|
|
8
|
-
* normalised escape, absolute segments, null-byte injection.
|
|
9
|
-
* 2. **Symlink escape** — `assertNoSymlinkEscape` follows the full
|
|
10
|
-
* chain (and any intermediate symlinks; defence-in-depth fix v1.x).
|
|
11
|
-
* 3. **Sensitive files** — `isForbiddenPath` blocks `.env*` (except
|
|
12
|
-
* `.env.example`), `.git/`, `node_modules/`, `.theo/`, lock files.
|
|
13
|
-
* 4. **Binary files** — null-byte check on the first 8 KB. PNG/JPEG/
|
|
14
|
-
* compiled binaries return a structured `binary_file` error
|
|
15
|
-
* instead of garbled UTF-8 (EC-5 from the TheoKit Studio review).
|
|
16
|
-
*
|
|
17
|
-
* Return shape (always a JSON string the LLM consumes):
|
|
18
|
-
* - `{ ok: true, content: string }` on success
|
|
19
|
-
* - `{ ok: false, error: 'path_traversal' | 'forbidden_path' |
|
|
20
|
-
* 'binary_file' | 'not_found' | 'too_large' }` on refusal
|
|
21
|
-
*
|
|
22
|
-
* The handler intentionally never throws on a "user mistake"
|
|
23
|
-
* (traversal / forbidden / not found). Throwing reserved for SDK-side
|
|
24
|
-
* mistakes that should crash the agent loop (input parse errors).
|
|
25
|
-
*/
|
|
26
|
-
import type { CustomTool } from "../types/agent.js";
|
|
27
|
-
export interface CreateReadFileToolOptions {
|
|
28
|
-
/** Absolute path to the project root. Every read is gated against this boundary. */
|
|
29
|
-
projectRoot: string;
|
|
30
|
-
}
|
|
31
|
-
export declare function createReadFileTool(opts: CreateReadFileToolOptions): CustomTool;
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* `run_vitest` — built-in tool for coding agents.
|
|
3
|
-
*
|
|
4
|
-
* Runs vitest against an optional file/pattern scope and returns the
|
|
5
|
-
* parsed JSON report. Hardened against the same subprocess failure
|
|
6
|
-
* modes as `git_diff`:
|
|
7
|
-
*
|
|
8
|
-
* - 120s wall clock timeout (vitest can be slow on first run)
|
|
9
|
-
* - Process group kill on timeout (EC-7 — defeats vitest workers as
|
|
10
|
-
* grandchildren of the spawned shell)
|
|
11
|
-
* - **EC-12**: vitest stdout may contain deprecation warnings BEFORE
|
|
12
|
-
* the JSON payload. The parser scans line-by-line and extracts the
|
|
13
|
-
* LAST valid JSON object, not the first.
|
|
14
|
-
*
|
|
15
|
-
* Result shape (always a JSON string):
|
|
16
|
-
* - `{ ok: true, summary: { numTotalTests, numPassedTests, numFailedTests, success } }`
|
|
17
|
-
* - `{ ok: false, error: 'path_traversal' | 'forbidden_path' | 'timeout' |
|
|
18
|
-
* 'no_vitest' | 'unparseable_output' }`
|
|
19
|
-
*
|
|
20
|
-
* Implementation note: invokes vitest via `npx --no-install vitest`. The
|
|
21
|
-
* `--no-install` avoids the agent triggering a multi-megabyte download
|
|
22
|
-
* mid-turn if vitest is missing — the tool fails cleanly with
|
|
23
|
-
* `no_vitest` instead.
|
|
24
|
-
*/
|
|
25
|
-
import type { CustomTool } from "../types/agent.js";
|
|
26
|
-
export interface CreateRunVitestToolOptions {
|
|
27
|
-
projectRoot: string;
|
|
28
|
-
timeoutMs?: number;
|
|
29
|
-
maxStdoutBytes?: number;
|
|
30
|
-
}
|
|
31
|
-
export interface VitestSummary {
|
|
32
|
-
numTotalTests?: number;
|
|
33
|
-
numPassedTests?: number;
|
|
34
|
-
numFailedTests?: number;
|
|
35
|
-
success?: boolean;
|
|
36
|
-
}
|
|
37
|
-
export declare function createRunVitestTool(opts: CreateRunVitestToolOptions): CustomTool;
|
|
38
|
-
/**
|
|
39
|
-
* Find the LAST line in `stdout` that parses as a JSON object. Vitest
|
|
40
|
-
* prepends node deprecation warnings to its JSON reporter output — if
|
|
41
|
-
* we naively `JSON.parse(stdout)` we get a SyntaxError. Workaround: walk
|
|
42
|
-
* lines bottom-up and return the first one that parses.
|
|
43
|
-
*
|
|
44
|
-
* Exported for direct unit testing without spawning vitest.
|
|
45
|
-
*/
|
|
46
|
-
export declare function extractTrailingJson(stdout: string): unknown;
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* `search_text` — built-in tool for coding agents.
|
|
3
|
-
*
|
|
4
|
-
* Literal text search across the project tree (recursive). Sensible
|
|
5
|
-
* defaults:
|
|
6
|
-
*
|
|
7
|
-
* - Skips forbidden directories (`.env`, `.git/`, `node_modules/`,
|
|
8
|
-
* `.theo/`) so the agent never wastes context on dependency soup
|
|
9
|
-
* or VCS internals.
|
|
10
|
-
* - Skips files larger than `maxFileSize` (default 1 MB) and binary
|
|
11
|
-
* files (null-byte detection on first 8 KB) so a megabyte of
|
|
12
|
-
* minified JS never blows up the result.
|
|
13
|
-
* - Caps total matches at `maxMatches` (default 100) — the agent
|
|
14
|
-
* should refine the query if it gets close to the cap.
|
|
15
|
-
*
|
|
16
|
-
* Result shape (always a JSON string):
|
|
17
|
-
* - `{ ok: true, matches: Array<{ file, line, preview }>, truncated, totalMatches }`
|
|
18
|
-
* - `{ ok: false, error: 'path_traversal' | 'forbidden_path' | 'not_found' }`
|
|
19
|
-
*
|
|
20
|
-
* Implementation note: this is a plain JS recursive walk. For very
|
|
21
|
-
* large repos a future iteration can shell out to `rg` (ripgrep) when
|
|
22
|
-
* present, but the JS path stays as the dependency-free fallback.
|
|
23
|
-
*/
|
|
24
|
-
import type { CustomTool } from "../types/agent.js";
|
|
25
|
-
export interface CreateSearchTextToolOptions {
|
|
26
|
-
projectRoot: string;
|
|
27
|
-
/** Cap on total matches returned. Default 100. */
|
|
28
|
-
maxMatches?: number;
|
|
29
|
-
/** Skip files larger than this (bytes). Default 1 MB. */
|
|
30
|
-
maxFileSize?: number;
|
|
31
|
-
}
|
|
32
|
-
export declare function createSearchTextTool(opts: CreateSearchTextToolOptions): CustomTool;
|
package/dist/workflow.d.cts
DELETED
|
@@ -1,97 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Public `Workflow` class — declarative multi-step orchestration over
|
|
3
|
-
* `Agent.send`, `Handoff`, `Agent.batch` and friends (Adoption Roadmap #5;
|
|
4
|
-
* ADRs D230-D248).
|
|
5
|
-
*
|
|
6
|
-
* Usage:
|
|
7
|
-
*
|
|
8
|
-
* import { Agent } from "@theokit/sdk";
|
|
9
|
-
* import { Workflow, fn, agentStep } from "@theokit/sdk/workflow";
|
|
10
|
-
*
|
|
11
|
-
* const classifier = await Agent.create({ ... });
|
|
12
|
-
* const wf = Workflow.create({ name: "demo" })
|
|
13
|
-
* .then(fn("validate", (input: { id: string }) => {
|
|
14
|
-
* if (!input.id) throw new Error("missing id");
|
|
15
|
-
* return input;
|
|
16
|
-
* }))
|
|
17
|
-
* .then(agentStep("classify", classifier, (i) => `Classify: ${JSON.stringify(i)}`))
|
|
18
|
-
* .commit();
|
|
19
|
-
*
|
|
20
|
-
* const run = await wf.run({ id: "x" });
|
|
21
|
-
* console.log(run.status, run.output);
|
|
22
|
-
*
|
|
23
|
-
* @public
|
|
24
|
-
*/
|
|
25
|
-
import type { ZodType } from "zod";
|
|
26
|
-
import type { SDKAgent } from "./types/agent.js";
|
|
27
|
-
import type { AgentStep, BranchStep, DowhileStep, FnStep, RetryPolicy, Step, StepContext, WorkflowOptions, WorkflowResumeOptions, WorkflowRun, WorkflowRunOptions } from "./types/workflow.js";
|
|
28
|
-
export declare class WorkflowBuilder<TInput = unknown, TOutput = unknown> {
|
|
29
|
-
private readonly options;
|
|
30
|
-
private readonly _steps;
|
|
31
|
-
private _committed;
|
|
32
|
-
then<TO = unknown>(step: Step): WorkflowBuilder<TInput, TO>;
|
|
33
|
-
parallel(branches: ReadonlyArray<ReadonlyArray<Step>>, opts?: {
|
|
34
|
-
id?: string;
|
|
35
|
-
concurrency?: number;
|
|
36
|
-
errorPolicy?: "fail-fast" | "collect";
|
|
37
|
-
}): WorkflowBuilder<TInput, unknown[]>;
|
|
38
|
-
branch(predicates: BranchStep["predicates"], opts?: {
|
|
39
|
-
id?: string;
|
|
40
|
-
fallback?: ReadonlyArray<Step>;
|
|
41
|
-
}): WorkflowBuilder<TInput, unknown>;
|
|
42
|
-
foreach(iterableFrom: string, step: Step, opts?: {
|
|
43
|
-
id?: string;
|
|
44
|
-
concurrency?: number;
|
|
45
|
-
}): WorkflowBuilder<TInput, unknown[]>;
|
|
46
|
-
dowhile(step: Step, condFn: DowhileStep["condFn"], opts?: {
|
|
47
|
-
id?: string;
|
|
48
|
-
maxIterations?: number;
|
|
49
|
-
}): WorkflowBuilder<TInput, unknown>;
|
|
50
|
-
sleep(durationMs: number, id?: string): WorkflowBuilder<TInput, TOutput>;
|
|
51
|
-
suspend(opts?: {
|
|
52
|
-
id?: string;
|
|
53
|
-
payloadSchema?: ZodType;
|
|
54
|
-
}): WorkflowBuilder<TInput, unknown>;
|
|
55
|
-
commit(): Workflow<TInput, TOutput>;
|
|
56
|
-
private validateUniqueIds;
|
|
57
|
-
private assertNotCommitted;
|
|
58
|
-
}
|
|
59
|
-
export declare class Workflow<TInput = unknown, TOutput = unknown> {
|
|
60
|
-
private readonly _options;
|
|
61
|
-
private readonly _steps;
|
|
62
|
-
/**
|
|
63
|
-
* Construct a workflow builder. Validate options via Zod and return a
|
|
64
|
-
* `WorkflowBuilder` for fluent chaining. Call `.commit()` to obtain the
|
|
65
|
-
* immutable `Workflow`.
|
|
66
|
-
*/
|
|
67
|
-
static create<TI = unknown, TO = unknown>(options: WorkflowOptions): WorkflowBuilder<TI, TO>;
|
|
68
|
-
/**
|
|
69
|
-
* Run this workflow with the given input. Returns a populated
|
|
70
|
-
* `WorkflowRun`. Errors inside a step DO NOT throw — they propagate via
|
|
71
|
-
* `run.status === "failed"`.
|
|
72
|
-
*/
|
|
73
|
-
run(input: TInput, opts?: WorkflowRunOptions): Promise<WorkflowRun<TOutput>>;
|
|
74
|
-
/**
|
|
75
|
-
* Resume a suspended workflow from its snapshot. Throws
|
|
76
|
-
* `WorkflowSnapshotNotFoundError` if `runId` is unknown.
|
|
77
|
-
*/
|
|
78
|
-
static resume<TO = unknown>(opts: WorkflowResumeOptions): Promise<WorkflowRun<TO>>;
|
|
79
|
-
}
|
|
80
|
-
/**
|
|
81
|
-
* Build a `FnStep`. `id` must match `^[a-z0-9][a-z0-9_-]*$`.
|
|
82
|
-
*/
|
|
83
|
-
export declare function fn<I = unknown, O = unknown>(id: string, step: (input: I, ctx: StepContext) => Promise<O> | O, opts?: {
|
|
84
|
-
inputSchema?: ZodType;
|
|
85
|
-
outputSchema?: ZodType;
|
|
86
|
-
retry?: RetryPolicy;
|
|
87
|
-
}): FnStep;
|
|
88
|
-
/**
|
|
89
|
-
* Build an `AgentStep`. The `promptTemplate` can be a static string or a
|
|
90
|
-
* function that receives the input and returns the prompt.
|
|
91
|
-
*/
|
|
92
|
-
export declare function agentStep(id: string, agent: SDKAgent, promptTemplate: string | ((input: unknown) => string), opts?: {
|
|
93
|
-
retry?: RetryPolicy;
|
|
94
|
-
}): AgentStep;
|
|
95
|
-
export { __resetSnapshotStoresForTests } from "./internal/workflow/snapshot-store.js";
|
|
96
|
-
export type * from "./types/workflow.js";
|
|
97
|
-
export { WorkflowAlreadyRunningError, WorkflowCompensateNotImplementedError, WorkflowDuplicateStepIdError, WorkflowMaxIterationsExceededError, WorkflowNotSerializableError, WorkflowParallelError, WorkflowResumeStepNotFoundError, WorkflowSnapshotNotFoundError, } from "./types/workflow.js";
|