@pumped-fn/agent-sdk 1.0.0

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.
@@ -0,0 +1,478 @@
1
+ import { Lite } from "@pumped-fn/lite";
2
+ import { SuspendSignal, SuspenseEventLog, SuspenseExecEvent, SuspenseSignal, SuspenseStepCounter, SuspenseStepEntry, SuspenseStepKey } from "@pumped-fn/lite-extension-suspense";
3
+
4
+ //#region src/index.d.ts
5
+ type WorkerKind = "code" | "llm" | "cli" | string;
6
+ type MaterialKind = "json" | "text" | "binary" | "reference";
7
+ type StepCounter = SuspenseStepCounter;
8
+ type WorkflowStepKey = SuspenseStepKey;
9
+ type WorkflowStepEntry = SuspenseStepEntry;
10
+ type WorkflowEventLog = SuspenseEventLog;
11
+ type WorkflowExecEvent = SuspenseExecEvent;
12
+ interface ExecEvent {
13
+ readonly key?: WorkflowStepKey;
14
+ readonly target: Lite.ExecTarget;
15
+ readonly ctx: Lite.ExecutionContext;
16
+ readonly targetName: string;
17
+ readonly input: unknown;
18
+ }
19
+ interface Step {
20
+ workflow?: boolean;
21
+ remote?: boolean;
22
+ durable?: boolean;
23
+ kind?: WorkerKind;
24
+ timeoutMs?: number;
25
+ }
26
+ interface RemoteRunner {
27
+ run(event: ExecEvent, next: () => Promise<unknown>): Promise<unknown>;
28
+ }
29
+ interface WorkflowExtensionOptions {
30
+ log: WorkflowEventLog;
31
+ defaultTaskId?: string;
32
+ defaultRunId?: string;
33
+ }
34
+ interface ExtensionOptions {
35
+ remoteRunner?: RemoteRunner;
36
+ }
37
+ declare const step: Lite.Tag<Step, true>;
38
+ declare const materialKind: Lite.Tag<MaterialKind, false>;
39
+ declare const workers: Lite.Tag<WorkerRegistry, false>;
40
+ type WorkerFlow = Lite.AnyFlow;
41
+ declare class WorkerRegistry {
42
+ private readonly flows;
43
+ register(flow: WorkerFlow, name?: string | undefined): this;
44
+ get(name: string): WorkerFlow;
45
+ list(): string[];
46
+ }
47
+ declare function workerRegistry(flows?: readonly WorkerFlow[]): WorkerRegistry;
48
+ declare function formatStepKey(key: WorkflowStepKey): string;
49
+ interface WorkflowRunOptions {
50
+ taskId: string;
51
+ runId: string;
52
+ }
53
+ interface WorkflowContext {
54
+ readonly taskId: string;
55
+ readonly runId: string;
56
+ }
57
+ interface Runtime {
58
+ readonly taskId: string;
59
+ readonly runId: string;
60
+ delegate<Output = unknown, Input = unknown>(name: string, input: Input): Promise<Output>;
61
+ }
62
+ declare const workflowRun: Lite.Tag<WorkflowRunOptions, false>;
63
+ declare const workflow: Lite.Tag<WorkflowContext, false>;
64
+ declare const runtime: Lite.Tag<Runtime, false>;
65
+ declare const abortSignal: Lite.Tag<AbortSignal, false>;
66
+ declare function workflowExtension(options: WorkflowExtensionOptions): Lite.Extension;
67
+ declare function extension(options?: ExtensionOptions): Lite.Extension;
68
+ type JsonPatchOperation = {
69
+ op: "add";
70
+ path: string;
71
+ value: Lite.JsonValue;
72
+ } | {
73
+ op: "replace";
74
+ path: string;
75
+ value: Lite.JsonValue;
76
+ } | {
77
+ op: "remove";
78
+ path: string;
79
+ };
80
+ interface MaterialState<T> {
81
+ name: string;
82
+ kind: MaterialKind;
83
+ revision: number;
84
+ state: T;
85
+ }
86
+ interface MaterialOptions<T> {
87
+ kind: MaterialKind;
88
+ initialState: T;
89
+ tags?: Lite.Tagged<any>[];
90
+ keepAlive?: boolean;
91
+ }
92
+ declare class MaterialConflictError extends Error {
93
+ readonly expectedRevision: number;
94
+ readonly currentRevision: number;
95
+ readonly name = "MaterialConflictError";
96
+ constructor(expectedRevision: number, currentRevision: number);
97
+ }
98
+ declare function material<T>(name: string, options: MaterialOptions<T>): Lite.Atom<MaterialState<T>>;
99
+ declare function patchMaterial<T>(ctx: Lite.ExecutionContext, target: Lite.Atom<MaterialState<T>>, ops: JsonPatchOperation[], options?: {
100
+ expectedRevision?: number;
101
+ }): Promise<MaterialState<T>>;
102
+ declare function derivedMaterial<TSource, TOutput>(name: string, source: Lite.Atom<MaterialState<TSource>>, derive: (state: TSource) => TOutput, options: {
103
+ kind: MaterialKind;
104
+ tags?: Lite.Tagged<any>[];
105
+ keepAlive?: boolean;
106
+ }): Lite.Atom<MaterialState<TOutput>>;
107
+ type Resolvable<Input, T> = T | ((input: Input, ctx: Lite.ExecutionContext) => T);
108
+ interface CliBind {
109
+ source: string;
110
+ target?: string;
111
+ mode?: "ro" | "rw";
112
+ }
113
+ interface CliIsolateOptions {
114
+ bwrap?: string;
115
+ workdir?: string;
116
+ home?: string;
117
+ codexHome?: string;
118
+ writable?: boolean;
119
+ network?: boolean;
120
+ bind?: readonly CliBind[];
121
+ env?: Record<string, string | undefined>;
122
+ }
123
+ interface CliResult {
124
+ stdout: string;
125
+ stderr: string;
126
+ exitCode: number | null;
127
+ signal: string | null;
128
+ }
129
+ interface CliWorkerOptions<Input, Output> {
130
+ name: string;
131
+ parse?: ((raw: unknown) => Input) | Lite.Typed<Input>;
132
+ command: Resolvable<Input, string>;
133
+ args?: Resolvable<Input, readonly string[]>;
134
+ stdin?: Resolvable<Input, string | undefined>;
135
+ cwd?: Resolvable<Input, string | undefined>;
136
+ env?: Resolvable<Input, Record<string, string | undefined> | undefined>;
137
+ isolate?: Resolvable<Input, boolean | CliIsolateOptions | undefined>;
138
+ timeoutMs?: number;
139
+ kind?: WorkerKind;
140
+ parseOutput?: (result: CliResult, input: Input) => Output;
141
+ tags?: Lite.Tagged<any>[];
142
+ }
143
+ declare class CliWorkerError extends Error {
144
+ readonly result: CliResult;
145
+ readonly name = "CliWorkerError";
146
+ constructor(message: string, result: CliResult);
147
+ }
148
+ declare function cliWorker<Input = {
149
+ prompt: string;
150
+ }, Output = string>(options: CliWorkerOptions<Input, Output>): Lite.Flow<Output, Input>;
151
+ interface RunCliOptions {
152
+ command: string;
153
+ args?: readonly string[];
154
+ stdin?: string;
155
+ cwd?: string;
156
+ env?: Record<string, string | undefined>;
157
+ isolate?: boolean | CliIsolateOptions;
158
+ timeoutMs?: number;
159
+ signal?: AbortSignal;
160
+ }
161
+ declare function runCli(options: RunCliOptions): Promise<CliResult>;
162
+ interface PromptInput {
163
+ prompt: string;
164
+ }
165
+ interface GuardState {
166
+ text: string;
167
+ }
168
+ declare function guard(name: string, text?: string): Lite.Atom<MaterialState<GuardState>>;
169
+ interface ClaudeCliWorkerOptions {
170
+ name?: string;
171
+ command?: string;
172
+ extraArgs?: readonly string[];
173
+ isolate?: boolean | CliIsolateOptions;
174
+ timeoutMs?: number;
175
+ tags?: Lite.Tagged<any>[];
176
+ }
177
+ declare function claudeCliWorker(options?: ClaudeCliWorkerOptions): Lite.Flow<string, PromptInput>;
178
+ interface CodexCliWorkerOptions {
179
+ name?: string;
180
+ command?: string;
181
+ sandbox?: "read-only" | "workspace-write" | "danger-full-access";
182
+ extraArgs?: readonly string[];
183
+ isolate?: boolean | CliIsolateOptions;
184
+ timeoutMs?: number;
185
+ tags?: Lite.Tagged<any>[];
186
+ }
187
+ declare function codexCliWorker(options?: CodexCliWorkerOptions): Lite.Flow<string, PromptInput>;
188
+ interface CliHarnessOptions {
189
+ name?: string;
190
+ command?: string;
191
+ extraArgs?: readonly string[];
192
+ isolate?: boolean | CliIsolateOptions;
193
+ timeoutMs?: number;
194
+ guard?: Lite.Atom<MaterialState<GuardState>> | false;
195
+ prompt?: (request: ModelRequest, guard: GuardState) => string;
196
+ parse?: (output: string) => ModelResponse;
197
+ tags?: Lite.Tagged<any>[];
198
+ }
199
+ interface CodexHarnessOptions extends CliHarnessOptions {
200
+ sandbox?: "read-only" | "workspace-write" | "danger-full-access";
201
+ }
202
+ declare function claudeHarness(options?: CliHarnessOptions): Model;
203
+ declare function codexHarness(options?: CodexHarnessOptions): Model;
204
+ type MaybePromise<T> = T | Promise<T>;
205
+ type Role = "system" | "user" | "assistant" | "tool" | "subagent" | "skill";
206
+ interface Message {
207
+ role: Role;
208
+ content: string;
209
+ name?: string;
210
+ }
211
+ interface ToolCall {
212
+ name: string;
213
+ input: unknown;
214
+ id?: string;
215
+ }
216
+ interface SubCall {
217
+ name: string;
218
+ input: TurnInput;
219
+ id?: string;
220
+ }
221
+ interface SkillCall {
222
+ name: string;
223
+ id?: string;
224
+ }
225
+ interface ModelResponse {
226
+ content: string;
227
+ guard?: string;
228
+ skillCalls?: readonly SkillCall[];
229
+ toolCalls?: readonly ToolCall[];
230
+ subagentCalls?: readonly SubCall[];
231
+ stop?: boolean;
232
+ }
233
+ interface ModelRequest {
234
+ agentName: string;
235
+ instructions: string;
236
+ messages: readonly Message[];
237
+ tools: readonly Capability[];
238
+ skills: readonly Capability[];
239
+ loadedSkills: readonly LoadedSkill[];
240
+ subagents: readonly Capability[];
241
+ round: number;
242
+ }
243
+ interface Model {
244
+ complete(ctx: Lite.ExecutionContext, request: ModelRequest): MaybePromise<ModelResponse>;
245
+ }
246
+ interface SandboxExecResult {
247
+ stdout: string;
248
+ stderr: string;
249
+ exitCode: number;
250
+ }
251
+ interface Sandbox {
252
+ readFile(path: string): MaybePromise<string>;
253
+ writeFile(path: string, content: string): MaybePromise<void>;
254
+ exec(command: string, args?: readonly string[]): MaybePromise<SandboxExecResult>;
255
+ }
256
+ interface TurnInput {
257
+ messages?: readonly Message[];
258
+ prompt?: string;
259
+ maxRounds?: number;
260
+ metadata?: Lite.JsonValue;
261
+ }
262
+ interface Capability {
263
+ name: string;
264
+ description: string;
265
+ }
266
+ interface Tool<Output = unknown, Input = unknown> extends Capability {
267
+ flow: Lite.Flow<Output, Input>;
268
+ }
269
+ type AnyTool = Tool<any, any>;
270
+ interface Skill {
271
+ name: string;
272
+ description?: string;
273
+ load(ctx: Lite.ExecutionContext): MaybePromise<string>;
274
+ }
275
+ interface LoadedSkill {
276
+ name: string;
277
+ description?: string;
278
+ content: string;
279
+ }
280
+ interface Sub extends Capability {
281
+ agent: Agent;
282
+ }
283
+ interface Agent {
284
+ name: string;
285
+ description?: string;
286
+ instructions: string;
287
+ tools: readonly AnyTool[];
288
+ skills: readonly Skill[];
289
+ subagents: readonly Sub[];
290
+ turn: Lite.Flow<TurnResult, TurnInput>;
291
+ maxRounds: number;
292
+ }
293
+ interface AgentOptions {
294
+ name: string;
295
+ description?: string;
296
+ instructions?: string;
297
+ tools?: readonly AnyTool[];
298
+ skills?: readonly Skill[];
299
+ subagents?: readonly Sub[];
300
+ maxRounds?: number;
301
+ tags?: Lite.Tagged<any>[];
302
+ }
303
+ interface ChannelOptions<Input> {
304
+ name: string;
305
+ parse: ((raw: unknown) => MaybePromise<Input>) | Lite.Typed<Input>;
306
+ agent: Agent;
307
+ input(ctx: Lite.ExecutionContext & {
308
+ readonly input: Input;
309
+ }): MaybePromise<TurnInput>;
310
+ tags?: Lite.Tagged<any>[];
311
+ }
312
+ interface ScheduleOptions {
313
+ name: string;
314
+ agent: Agent;
315
+ input(ctx: Lite.ExecutionContext): MaybePromise<TurnInput>;
316
+ tags?: Lite.Tagged<any>[];
317
+ }
318
+ interface ToolResult {
319
+ name: string;
320
+ id?: string;
321
+ input: unknown;
322
+ output: unknown;
323
+ }
324
+ interface SkillResult {
325
+ name: string;
326
+ id?: string;
327
+ content: string;
328
+ }
329
+ interface SubResult {
330
+ name: string;
331
+ id?: string;
332
+ input: TurnInput;
333
+ output: TurnResult;
334
+ }
335
+ interface TurnResult {
336
+ agentName: string;
337
+ content: string;
338
+ messages: readonly Message[];
339
+ skillResults: readonly SkillResult[];
340
+ toolResults: readonly ToolResult[];
341
+ subagentResults: readonly SubResult[];
342
+ rounds: number;
343
+ events: readonly Event[];
344
+ }
345
+ interface SessionState {
346
+ messages: readonly Message[];
347
+ }
348
+ interface SessionOptions {
349
+ messages?: readonly Message[];
350
+ tags?: Lite.Tagged<any>[];
351
+ keepAlive?: boolean;
352
+ }
353
+ type EventType = "agent_start" | "agent_model_start" | "agent_model_end" | "agent_skill_start" | "agent_skill_end" | "agent_tool_start" | "agent_tool_end" | "agent_subagent_start" | "agent_subagent_end" | "agent_end";
354
+ interface Event {
355
+ index: number;
356
+ type: EventType;
357
+ agentName: string;
358
+ targetName?: string;
359
+ round?: number;
360
+ input?: unknown;
361
+ output?: unknown;
362
+ }
363
+ interface EventBuffer {
364
+ readonly events: readonly Event[];
365
+ record(event: Omit<Event, "index">): Event;
366
+ }
367
+ declare const events: Lite.Resource<EventBuffer, Record<string, Lite.Dependency>>;
368
+ declare const model: Lite.Tag<Model, false>;
369
+ declare const sandbox: Lite.Tag<Sandbox, false>;
370
+ declare function session(name: string, options?: SessionOptions): Lite.Atom<MaterialState<SessionState>>;
371
+ interface ToolOptions<Output, Input> {
372
+ name?: string;
373
+ description: string;
374
+ flow: Lite.Flow<Output, Input>;
375
+ }
376
+ declare function tool<Output, Input>(options: ToolOptions<Output, Input>): Tool<Output, Input>;
377
+ interface SkillOptions {
378
+ name: string;
379
+ description?: string;
380
+ content?: string;
381
+ load?: (ctx: Lite.ExecutionContext) => MaybePromise<string>;
382
+ }
383
+ declare function skill(options: SkillOptions): Skill;
384
+ interface SubOptions {
385
+ name?: string;
386
+ description: string;
387
+ agent: Agent;
388
+ }
389
+ declare function sub(options: SubOptions): Sub;
390
+ declare function agent(options: AgentOptions): Agent;
391
+ declare function send(ctx: Lite.ExecutionContext, session: Lite.Atom<MaterialState<SessionState>>, agent: Agent, input: TurnInput): Promise<TurnResult>;
392
+ declare function channel<Input>(options: ChannelOptions<Input>): Lite.Flow<TurnResult, Input>;
393
+ declare function schedule(options: ScheduleOptions): Lite.Flow<TurnResult, void>;
394
+ interface EvalCheckResult {
395
+ name: string;
396
+ passed: boolean;
397
+ details?: string;
398
+ }
399
+ type EvalCheck = (result: TurnResult) => MaybePromise<EvalCheckResult>;
400
+ interface JudgeResult {
401
+ name: string;
402
+ passed: boolean;
403
+ score?: number;
404
+ reason?: string;
405
+ }
406
+ interface Judge {
407
+ name: string;
408
+ evaluate(ctx: Lite.ExecutionContext, result: TurnResult): MaybePromise<JudgeResult>;
409
+ }
410
+ interface EvalCase {
411
+ name: string;
412
+ input: TurnInput;
413
+ checks?: readonly EvalCheck[];
414
+ }
415
+ interface Suite {
416
+ name: string;
417
+ agent: Agent;
418
+ cases: readonly EvalCase[];
419
+ judges: readonly Judge[];
420
+ }
421
+ interface SuiteOptions {
422
+ name: string;
423
+ agent: Agent;
424
+ cases: readonly EvalCase[];
425
+ judges?: readonly Judge[];
426
+ }
427
+ interface EvalCaseReport {
428
+ name: string;
429
+ result: TurnResult;
430
+ checks: readonly EvalCheckResult[];
431
+ judges: readonly JudgeResult[];
432
+ passed: boolean;
433
+ }
434
+ interface EvalReport {
435
+ name: string;
436
+ cases: readonly EvalCaseReport[];
437
+ passed: boolean;
438
+ }
439
+ interface RunQuery {
440
+ taskId: string;
441
+ runId: string;
442
+ }
443
+ interface RunStep {
444
+ key: WorkflowStepKey;
445
+ status: WorkflowStepEntry["status"];
446
+ targetName: string;
447
+ input?: unknown;
448
+ output?: unknown;
449
+ kind?: string;
450
+ }
451
+ interface RunRecord {
452
+ taskId: string;
453
+ runId: string;
454
+ status: "pending" | "completed";
455
+ steps: readonly RunStep[];
456
+ }
457
+ interface RunLog extends WorkflowEventLog {
458
+ entries(query?: Partial<RunQuery>): MaybePromise<readonly WorkflowStepEntry[]>;
459
+ }
460
+ interface HttpOptions {
461
+ name?: string;
462
+ agent: Agent;
463
+ input?: (request: Request) => MaybePromise<TurnInput>;
464
+ tags?: (request: Request) => MaybePromise<Lite.Tagged<any>[]>;
465
+ }
466
+ declare function judge(options: Judge): Judge;
467
+ declare function suite(options: SuiteOptions): Suite;
468
+ declare function includes(text: string): EvalCheck;
469
+ declare function used(name: string): EvalCheck;
470
+ declare function loaded(name: string): EvalCheck;
471
+ declare function delegated(name: string): EvalCheck;
472
+ declare function runEval(ctx: Lite.ExecutionContext, target: Suite): Promise<EvalReport>;
473
+ declare function inspect(log: RunLog, query: RunQuery): Promise<RunRecord>;
474
+ declare function summary(report: EvalReport): Lite.JsonValue;
475
+ declare function http(options: HttpOptions): Lite.Flow<Response, Request>;
476
+ //#endregion
477
+ export { Agent, AgentOptions, Capability, ChannelOptions, ClaudeCliWorkerOptions, CliBind, CliHarnessOptions, CliIsolateOptions, CliResult, CliWorkerError, CliWorkerOptions, CodexCliWorkerOptions, CodexHarnessOptions, EvalCase, EvalCaseReport, EvalCheck, EvalCheckResult, EvalReport, Event, EventBuffer, EventType, ExecEvent, ExtensionOptions, GuardState, HttpOptions, JsonPatchOperation, Judge, JudgeResult, LoadedSkill, MaterialConflictError, MaterialKind, MaterialOptions, MaterialState, Message, Model, ModelRequest, ModelResponse, PromptInput, RemoteRunner, Role, RunCliOptions, RunLog, RunQuery, RunRecord, RunStep, Runtime, Sandbox, SandboxExecResult, ScheduleOptions, SessionOptions, SessionState, Skill, SkillCall, SkillOptions, SkillResult, Step, StepCounter, Sub, SubCall, SubOptions, SubResult, Suite, SuiteOptions, SuspendSignal, SuspenseSignal, Tool, ToolCall, ToolOptions, ToolResult, TurnInput, TurnResult, WorkerKind, WorkerRegistry, WorkflowContext, WorkflowEventLog, WorkflowExecEvent, WorkflowExtensionOptions, WorkflowRunOptions, WorkflowStepEntry, WorkflowStepKey, abortSignal, agent, channel, claudeCliWorker, claudeHarness, cliWorker, codexCliWorker, codexHarness, delegated, derivedMaterial, events, extension, formatStepKey, guard, http, includes, inspect, judge, loaded, material, materialKind, model, patchMaterial, runCli, runEval, runtime, sandbox, schedule, send, session, skill, step, sub, suite, summary, tool, used, workerRegistry, workers, workflow, workflowExtension, workflowRun };
478
+ //# sourceMappingURL=index.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.cts","names":[],"sources":["../src/index.ts"],"mappings":"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"}