workflowskill 0.2.1 → 0.3.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/README.md CHANGED
@@ -20,33 +20,30 @@ inputs:
20
20
  type: string
21
21
 
22
22
  outputs:
23
- summary:
24
- type: string
25
- value: $steps.summarize.output.summary
23
+ results:
24
+ type: array
25
+ value: $steps.fetch.output.results
26
26
 
27
27
  steps:
28
- - id: scrape
28
+ - id: fetch
29
29
  type: tool
30
- tool: web.scrape
30
+ tool: web.fetch
31
31
  inputs:
32
32
  url:
33
33
  type: string
34
34
  value: $inputs.url
35
- selector:
36
- type: string
37
- value: "p"
38
35
  outputs:
39
- text:
36
+ results:
40
37
  type: array
41
- value: $result.results
42
-
43
- - id: summarize
44
- type: llm
45
- prompt: "Summarize this content: $steps.scrape.output.text"
46
- outputs:
47
- summary:
48
- type: string
49
- value: $result
38
+ value: $result.items
39
+
40
+ - id: guard_empty
41
+ type: exit
42
+ condition: $steps.fetch.output.results.length == 0
43
+ status: success
44
+ output: { results: [] }
45
+ inputs: {}
46
+ outputs: {}
50
47
  ```
51
48
 
52
49
  ## Install
@@ -55,21 +52,6 @@ steps:
55
52
  npm install workflowskill
56
53
  ```
57
54
 
58
- ## CLI
59
-
60
- ```bash
61
- # Validate a workflow (no API keys needed)
62
- workflowskill validate path/to/workflow.md
63
-
64
- # Run a workflow
65
- workflowskill run path/to/workflow.md
66
-
67
- # Pass inputs as JSON
68
- workflowskill run path/to/workflow.md --input '{"keywords": "rust developer"}'
69
- ```
70
-
71
- The CLI shows live progress on stderr and writes a structured [run log](#run-log) as JSON to stdout and to `runs/<name>-<timestamp>.json`.
72
-
73
55
  ## Authoring
74
56
 
75
57
  A WorkflowSkill is authored via natural conversation with any agent system that supports the [Agent Skills](https://agentskills.io/home) format.
@@ -77,144 +59,203 @@ A WorkflowSkill is authored via natural conversation with any agent system that
77
59
  1. Prompt your agent to create a workflow: "I want to check this website daily"
78
60
  - For Claude Code, this package ships `skill/SKILL.md` which teaches it to author valid WorkflowSkill YAML. For other agent tools, provide the contents of `node_modules/workflowskill/skill/SKILL.md` as context.
79
61
  2. Your agent writes a WorkflowSkill.
80
- 3. Run it deterministically: `workflowskill run <workflow.md>`
81
-
82
- Your agent will research the task, write the workflow file, and validate it with the CLI. The bundled tools available to generated workflows are:
83
-
84
- | Tool | What it does |
85
- | ------------- | ------------------------------------------------ |
86
- | `web.scrape` | Fetch a URL and extract data via CSS selectors |
87
-
88
- Works with no setup or credentials.
62
+ 3. Integrate it with your host using the [Library API](#library-api).
89
63
 
90
64
  **Evaluate the output:** Check `status` for overall success. If a step failed, its `error` field explains why. For `each` steps, `iterations` shows per-item results. Compare per-step `inputs` and `output` values against your expectations to find where the data flow broke down.
91
65
 
92
66
  ## Language overview
93
67
 
94
- WorkflowSkill workflows are YAML documents with five step types:
68
+ WorkflowSkill workflows are YAML documents with four step types:
95
69
 
96
70
  | Step type | Description |
97
71
  | ------------- | ------------------------------------------------------------------------------------ |
98
- | `tool` | Invoke a builtin tool (`web.scrape`), MCP server endpoint, or any registered adapter |
99
- | `llm` | Call a language model with a templated prompt |
72
+ | `tool` | Invoke any tool via the host's `ToolAdapter` (APIs, functions, LLM calls, etc.) |
100
73
  | `transform` | Filter, map, or sort data without side effects |
101
74
  | `conditional` | Branch execution based on an expression |
102
75
  | `exit` | Terminate early with a status and output |
103
76
 
77
+ All external calls — including LLM inference — go through `tool` steps. The runtime itself has no LLM dependency. The host registers whatever tools are available in the deployment context.
78
+
104
79
  Steps are connected by `$steps.<id>.output.<field>` references. Loops use `each`. Error handling uses `on_error: fail | ignore` (retries are a separate `retry:` field).
105
80
 
106
81
  See the [full language specification](https://github.com/matthew-h-cromer/workflowskill/blob/main/SPEC.md) for details.
107
82
 
108
- ## Library API
109
-
110
- Two entry points collapse parse → validate → run into single calls that accept raw content and never throw.
83
+ ## Quick start
111
84
 
112
85
  ```typescript
113
- import {
114
- runWorkflowSkill,
115
- validateWorkflowSkill,
116
- } from "workflowskill";
117
-
118
- // Validate a workflow (synchronous, never throws)
119
- const result = validateWorkflowSkill({
120
- content, // SKILL.md with frontmatter or bare workflow YAML
121
- toolAdapter, // optional — skips tool availability checks if absent
122
- });
86
+ import { runWorkflowSkill, MockToolAdapter } from "workflowskill";
123
87
 
124
- if (!result.valid) {
125
- console.error(result.errors);
126
- }
88
+ const adapter = new MockToolAdapter();
89
+ adapter.register("classify", async (args) => ({
90
+ output: { label: String(args.text).includes("urgent") ? "high" : "normal" },
91
+ }));
92
+
93
+ const content = `
94
+ inputs:
95
+ message:
96
+ type: string
97
+ outputs:
98
+ label:
99
+ type: string
100
+ value: $steps.classify.output.label
101
+ steps:
102
+ - id: classify
103
+ type: tool
104
+ tool: classify
105
+ inputs:
106
+ text:
107
+ type: string
108
+ value: $inputs.message
109
+ outputs:
110
+ label:
111
+ type: string
112
+ value: $result.label
113
+ `;
127
114
 
128
- // Run a workflow (async, never throws — always returns a RunLog)
129
115
  const log = await runWorkflowSkill({
130
- content, // SKILL.md with frontmatter or bare workflow YAML
131
- inputs: { ... },
132
- toolAdapter, // implements ToolAdapter
133
- llmAdapter, // implements LLMAdapter
116
+ content,
117
+ inputs: { message: "Urgent: server is down" },
118
+ toolAdapter: adapter,
119
+ onEvent: (event) => console.log(event.type),
134
120
  });
135
121
 
136
122
  if (log.status === "success") {
137
- console.log(log.outputs);
123
+ console.log(log.outputs); // { label: "high" }
124
+ const step = log.steps.find((s) => s.id === "classify");
125
+ console.log(step?.output); // { label: "high" }
126
+ } else {
127
+ console.error(log.error); // { phase, message, details? }
138
128
  }
139
129
  ```
140
130
 
141
- Key ergonomic properties:
142
-
143
- - **Accepts raw content** — SKILL.md with frontmatter or bare workflow YAML, no parsing step needed
144
- - **Never throws** — parse, validation, and execution failures are encoded in the return value
145
- - **`RunLog` is always returned**, with `error?: { phase, message, details }` on failure
131
+ - **Accepts raw content** — SKILL.md with frontmatter or bare workflow YAML, no pre-parsing needed
132
+ - **Never throws** — parse, validation, and execution failures are encoded in `RunLog.error`
133
+ - **Pre-flight validation** — `validateWorkflowSkill({ content, toolAdapter? })` returns `{ valid, errors }` without running the workflow
146
134
 
147
- ## Adapters
135
+ ## ToolAdapter
148
136
 
149
- `ToolAdapter` and `LLMAdapter` are the integration boundaries:
137
+ `ToolAdapter` is the only integration boundary between the runtime and the host:
150
138
 
151
139
  ```typescript
140
+ interface ToolResult {
141
+ output: unknown;
142
+ error?: string;
143
+ }
144
+
152
145
  interface ToolAdapter {
153
146
  invoke(toolName: string, args: Record<string, unknown>): Promise<ToolResult>;
154
147
  has(toolName: string): boolean;
155
148
  list?(): ToolDescriptor[];
156
149
  }
150
+ ```
157
151
 
158
- interface LLMAdapter {
159
- call(
160
- model: string | undefined,
161
- prompt: string,
162
- responseFormat?: Record<string, unknown>,
163
- ): Promise<LLMResult>;
164
- }
152
+ | Method | Called when | Contract |
153
+ | --- | --- | --- |
154
+ | `invoke(name, args)` | Step execution | Return `{ output }` on success. Set `error` to signal failure — the runtime throws a retriable `StepExecutionError`, triggering the step's `retry` policy if configured. |
155
+ | `has(name)` | Validation | Return `true` if the tool is available. Used to report missing tools before execution starts. |
156
+ | `list()` | Host introspection | Optional. Not called by the runtime — provided for hosts that want to present tool catalogs. |
157
+
158
+ Wrap any tool source behind this interface: MCP clients, function registries, LLM-as-a-tool, or external APIs. For testing, **`MockToolAdapter`** lets you supply inline handlers without any external dependencies:
159
+
160
+ ```typescript
161
+ import { MockToolAdapter } from "workflowskill";
162
+
163
+ const adapter = new MockToolAdapter();
164
+ adapter.register("my_tool", async (args) => ({ output: "result" }));
165
165
  ```
166
166
 
167
- Built-in implementations:
167
+ ## Events
168
+
169
+ Pass an `onEvent` callback to `runWorkflowSkill` or `runWorkflow` to receive live progress events during execution:
170
+
171
+ ```typescript
172
+ const log = await runWorkflowSkill({
173
+ content,
174
+ inputs,
175
+ toolAdapter,
176
+ onEvent(event: RuntimeEvent) {
177
+ if (event.type === "step_complete") {
178
+ console.log(event.stepId, event.status, `${event.duration_ms}ms`);
179
+ }
180
+ },
181
+ });
182
+ ```
168
183
 
169
- - **`BuiltinToolAdapter`**provides `web.scrape` for standalone use
170
- - **`AnthropicLLMAdapter`** — wraps the Anthropic SDK; reads `ANTHROPIC_API_KEY` from the environment
184
+ `RuntimeEvent` is a discriminated union narrow on `event.type` to access type-specific fields:
171
185
 
172
- For testing, **`MockToolAdapter`** and **`MockLLMAdapter`** let you supply handler functions without any external dependencies.
186
+ | Event type | When it fires | Key fields |
187
+ | --- | --- | --- |
188
+ | `workflow_start` | Before the first step executes | `workflow`, `totalSteps` |
189
+ | `step_start` | After guard passes, before inputs are resolved | `stepId`, `stepType`, `tool?` |
190
+ | `step_complete` | After a step finishes (success or failure) | `stepId`, `status`, `duration_ms`, `iterations?` |
191
+ | `step_skip` | When a step is skipped | `stepId`, `reason` |
192
+ | `step_retry` | Before each retry attempt | `stepId`, `attempt`, `error` |
193
+ | `step_error` | When a step fails, before halt/ignore decision | `stepId`, `error`, `onError` |
194
+ | `each_progress` | After each iteration of an `each` step | `stepId`, `current`, `total` |
195
+ | `workflow_complete` | After the last step or early exit | `status`, `duration_ms`, `summary` |
173
196
 
174
197
  ## Run log
175
198
 
176
- Every call to `runWorkflowSkill` returns a `RunLog`:
199
+ Every call to `runWorkflowSkill` returns a `RunLog`. On failure, `error` describes the phase and cause; on success, `outputs` contains the workflow's declared outputs.
177
200
 
178
201
  ```typescript
179
202
  interface RunLog {
180
203
  id: string;
181
204
  workflow: string;
182
205
  status: "success" | "failed";
183
- summary: {
184
- steps_executed: number;
185
- steps_skipped: number;
186
- total_tokens: number;
187
- total_duration_ms: number;
188
- };
189
- started_at: string; // ISO 8601
190
- completed_at: string; // ISO 8601
206
+ summary: { steps_executed: number; steps_skipped: number; total_duration_ms: number };
207
+ started_at: string; // ISO 8601
208
+ completed_at: string; // ISO 8601
191
209
  duration_ms: number;
192
210
  inputs: Record<string, unknown>;
193
211
  steps: StepRecord[];
194
212
  outputs: Record<string, unknown>;
195
- error?: {
196
- phase: "parse" | "validate" | "execute";
197
- message: string;
198
- details?: unknown;
199
- };
213
+ error?: { phase: "parse" | "validate" | "execute"; message: string; details?: unknown };
214
+ }
215
+
216
+ interface StepRecord {
217
+ id: string;
218
+ executor: "tool" | "transform" | "conditional" | "exit";
219
+ status: "success" | "failed" | "skipped";
220
+ reason?: string; // why skipped
221
+ duration_ms: number;
222
+ inputs?: Record<string, unknown>;
223
+ output?: unknown;
224
+ iterations?: number; // each steps only
225
+ error?: string; // failed steps only
226
+ retries?: { attempts: number; errors: string[] }; // when retries occurred
200
227
  }
201
228
  ```
202
229
 
203
- `error` is present only when the run failed. `outputs` is populated on success (and on `exit` steps with `status: failed`).
230
+ - `error` is present only when the run failed; `phase` indicates where it failed
231
+ - `output` holds the step's mapped output after `$result` expressions are applied
232
+ - `iterations` is set for `each` steps; `retries` is only present when retry attempts were made
204
233
 
205
- ## Low-level API
234
+ ## Agent integration
206
235
 
207
- `parseWorkflowFromMd`, `validateWorkflow`, and `runWorkflow` are still exported for consumers who need fine-grained control over each phase.
236
+ ### AUTHORING_SKILL
208
237
 
209
- ## Configuration
238
+ `AUTHORING_SKILL` is a string constant containing full authoring instructions for the WorkflowSkill language. Inject it as system context to enable any LLM to author valid workflows:
210
239
 
211
- Create a `.env` file in your project directory (or export env vars in your shell):
240
+ ```typescript
241
+ import { AUTHORING_SKILL } from "workflowskill";
212
242
 
243
+ const systemPrompt = `${AUTHORING_SKILL}\n\nYour task: ${userRequest}`;
213
244
  ```
214
- ANTHROPIC_API_KEY=sk-ant-... # Required for LLM steps in workflows
245
+
246
+ ### Low-level API
247
+
248
+ `parseWorkflowFromMd`, `validateWorkflow`, and `runWorkflow` are exported for consumers who need fine-grained control over each phase:
249
+
250
+ ```typescript
251
+ import { parseWorkflowFromMd, validateWorkflow, runWorkflow } from "workflowskill";
252
+
253
+ const workflow = parseWorkflowFromMd(content); // throws ParseError on failure
254
+ const result = validateWorkflow(workflow, toolAdapter); // returns { valid, errors }
255
+ const log = await runWorkflow({ workflow, inputs, toolAdapter, onEvent });
215
256
  ```
216
257
 
217
- Missing `ANTHROPIC_API_KEY` causes LLM steps to fail with a clear error (no silent fallback).
258
+ Use these when caching parsed workflows across multiple runs, running validation separately from execution, or building custom pipelines around the runtime.
218
259
 
219
260
  ## Documentation
220
261
 
package/dist/index.d.mts CHANGED
@@ -38,7 +38,7 @@ interface RetryPolicy {
38
38
  }
39
39
  /** Error handling strategy for a step. */
40
40
  type OnError = 'fail' | 'ignore';
41
- type StepType = 'tool' | 'llm' | 'transform' | 'conditional' | 'exit';
41
+ type StepType = 'tool' | 'transform' | 'conditional' | 'exit';
42
42
  /** Transform operation kinds. */
43
43
  type TransformOperation = 'filter' | 'map' | 'sort';
44
44
  /** Sort direction. */
@@ -74,16 +74,6 @@ interface ToolStep extends StepBase {
74
74
  /** Registered tool name. */
75
75
  tool: string;
76
76
  }
77
- /** LLM step: calls a language model. */
78
- interface LLMStep extends StepBase {
79
- type: 'llm';
80
- /** Model identifier (optional, falls back to platform default). */
81
- model?: string;
82
- /** Prompt template with $-expression interpolation. */
83
- prompt: string;
84
- /** Structured output hint (optional). */
85
- response_format?: Record<string, unknown>;
86
- }
87
77
  /** Transform step: filter, map, or sort data. */
88
78
  interface TransformFilterStep extends StepBase {
89
79
  type: 'transform';
@@ -125,7 +115,7 @@ interface ExitStep extends StepBase {
125
115
  output?: string | Record<string, unknown>;
126
116
  }
127
117
  /** Union of all step types. */
128
- type Step = ToolStep | LLMStep | TransformStep | ConditionalStep | ExitStep;
118
+ type Step = ToolStep | TransformStep | ConditionalStep | ExitStep;
129
119
  /** The complete parsed workflow definition. */
130
120
  interface WorkflowDefinition {
131
121
  inputs: Record<string, WorkflowInput>;
@@ -143,11 +133,6 @@ interface ParsedSkill {
143
133
  frontmatter: SkillFrontmatter;
144
134
  workflow: WorkflowDefinition;
145
135
  }
146
- /** Token usage for an LLM step. */
147
- interface TokenUsage {
148
- input: number;
149
- output: number;
150
- }
151
136
  /** Retry tracking for a step that was retried. */
152
137
  interface RetryRecord {
153
138
  /** Number of retry attempts (not counting the initial try). */
@@ -173,8 +158,6 @@ interface StepRecord {
173
158
  inputs?: Record<string, unknown>;
174
159
  /** Number of iterations (if each was used). */
175
160
  iterations?: number;
176
- /** Token counts (LLM steps only). */
177
- tokens?: TokenUsage;
178
161
  /** The step's output (may be truncated in logs). */
179
162
  output?: unknown;
180
163
  /** Error details if the step failed. */
@@ -186,7 +169,6 @@ interface StepRecord {
186
169
  interface RunSummary {
187
170
  steps_executed: number;
188
171
  steps_skipped: number;
189
- total_tokens: number;
190
172
  total_duration_ms: number;
191
173
  }
192
174
  /** Final status of a workflow run. */
@@ -238,17 +220,18 @@ type RuntimeEvent = {
238
220
  stepId: string;
239
221
  stepType: StepType;
240
222
  tool?: string;
223
+ description?: string;
241
224
  } | {
242
225
  type: 'step_complete';
243
226
  stepId: string;
244
227
  status: StepRunStatus;
245
228
  duration_ms: number;
246
- tokens?: TokenUsage;
247
229
  iterations?: number;
248
230
  } | {
249
231
  type: 'step_skip';
250
232
  stepId: string;
251
233
  reason: string;
234
+ description?: string;
252
235
  } | {
253
236
  type: 'step_retry';
254
237
  stepId: string;
@@ -300,15 +283,6 @@ interface ToolAdapter {
300
283
  /** List all available tools with their metadata. Optional for backward compatibility. */
301
284
  list?(): ToolDescriptor[];
302
285
  }
303
- /** Result from an LLM call. */
304
- interface LLMResult {
305
- text: string;
306
- tokens: TokenUsage;
307
- }
308
- /** LLM adapter interface for calling language models. */
309
- interface LLMAdapter {
310
- call(model: string | undefined, prompt: string, responseFormat?: Record<string, unknown>): Promise<LLMResult>;
311
- }
312
286
  /** Runtime context available during step execution. */
313
287
  interface RuntimeContext {
314
288
  /** Workflow-level inputs. */
@@ -388,13 +362,26 @@ declare class EvalError extends Error {
388
362
  */
389
363
  declare function resolveExpression(expr: string, context: RuntimeContext): unknown;
390
364
  /**
391
- * Interpolate $-references in a prompt template string.
392
- * Only resolves references and property access (no operators).
393
- * Objects/arrays are serialized as JSON. Null → empty string.
365
+ * Returns true if the string contains at least one ${...} template block.
366
+ */
367
+ declare function containsTemplate(value: string): boolean;
368
+ /**
369
+ * Resolve a ${...} template string against a runtime context.
370
+ *
371
+ * Two modes:
372
+ * - Whole-value `${ref}` (nothing else) — type is preserved (not coerced to string).
373
+ * - Multi-block — each `${ref}` is evaluated and spliced into the surrounding string.
374
+ * Use `$${` to produce a literal `${` inside a template.
394
375
  *
395
- * Example: "Score this email: $steps.fetch.output.subject"
376
+ * Inside `${...}`, references omit the leading `$` (the `$` is part of the delimiter).
377
+ * Example: `"https://example.com?q=${inputs.query}"` → resolves `$inputs.query`.
378
+ */
379
+ declare function resolveTemplate(template: string, context: RuntimeContext): unknown;
380
+ /**
381
+ * Coerce a value to its string representation for prompt interpolation.
382
+ * Per the spec: objects/arrays → JSON, null → empty string.
396
383
  */
397
- declare function interpolatePrompt(template: string, context: RuntimeContext): string;
384
+ declare function stringify(value: unknown): string;
398
385
  //#endregion
399
386
  //#region src/validator/index.d.ts
400
387
  /**
@@ -436,39 +423,9 @@ declare class MockToolAdapter implements ToolAdapter {
436
423
  invoke(toolName: string, args: Record<string, unknown>): Promise<ToolResult>;
437
424
  }
438
425
  //#endregion
439
- //#region src/adapters/mock-llm-adapter.d.ts
440
- type LLMHandler = (model: string | undefined, prompt: string, responseFormat?: Record<string, unknown>) => LLMResult | Promise<LLMResult>;
441
- declare class MockLLMAdapter implements LLMAdapter {
442
- private handler;
443
- constructor(handler?: LLMHandler);
444
- call(model: string | undefined, prompt: string, responseFormat?: Record<string, unknown>): Promise<LLMResult>;
445
- }
446
- //#endregion
447
- //#region src/adapters/anthropic-llm-adapter.d.ts
448
- declare class AnthropicLLMAdapter implements LLMAdapter {
449
- private client;
450
- constructor(apiKey: string);
451
- call(model: string | undefined, prompt: string, responseFormat?: Record<string, unknown>): Promise<LLMResult>;
452
- }
453
- //#endregion
454
- //#region src/tools/builtin-tool-adapter.d.ts
455
- declare class BuiltinToolAdapter implements ToolAdapter {
456
- private tools;
457
- private register;
458
- has(toolName: string): boolean;
459
- list(): ToolDescriptor[];
460
- invoke(toolName: string, args: Record<string, unknown>): Promise<ToolResult>;
461
- /**
462
- * Create a BuiltinToolAdapter with all bundled tools registered.
463
- */
464
- static create(): Promise<BuiltinToolAdapter>;
465
- }
466
- //#endregion
467
426
  //#region src/config/index.d.ts
468
- /** WorkflowSkill configuration. */
469
- interface WorkflowSkillConfig {
470
- anthropicApiKey?: string;
471
- }
427
+ /** WorkflowSkill configuration. Reserved for future host-level configuration. */
428
+ interface WorkflowSkillConfig {}
472
429
  /**
473
430
  * Load configuration from environment variables, with .env fallback.
474
431
  * Environment variables take precedence over .env file values.
@@ -500,10 +457,9 @@ declare class StepExecutionError extends Error {
500
457
 
501
458
  context?: StepErrorContext | undefined);
502
459
  }
503
- /** Result from a standard step execution (tool, llm, transform). */
460
+ /** Result from a standard step execution (tool, transform). */
504
461
  interface StepOutput {
505
462
  output: unknown;
506
- tokens?: TokenUsage;
507
463
  }
508
464
  /** Result from a conditional step execution. */
509
465
  interface ConditionalOutput {
@@ -549,21 +505,11 @@ declare function executeExit(step: ExitStep, context: RuntimeContext): ExitOutpu
549
505
  */
550
506
  declare function executeTool(step: ToolStep, resolvedInputs: Record<string, unknown>, toolAdapter: ToolAdapter): Promise<StepOutput>;
551
507
  //#endregion
552
- //#region src/executor/llm.d.ts
553
- /**
554
- * Execute an LLM step.
555
- * Interpolates $-references in the prompt, calls the model, and returns the response.
556
- * The response_format field is passed as a hint but not enforced (per spec).
557
- * If the response is valid JSON, it's parsed; otherwise returned as text.
558
- */
559
- declare function executeLLM(step: LLMStep, _resolvedInputs: Record<string, unknown>, context: RuntimeContext, llmAdapter: LLMAdapter): Promise<StepOutput>;
560
- //#endregion
561
508
  //#region src/executor/index.d.ts
562
509
  /** Discriminated result from dispatching a step. */
563
510
  type DispatchResult = {
564
511
  kind: 'output';
565
512
  output: unknown;
566
- tokens?: TokenUsage;
567
513
  } | {
568
514
  kind: 'branch';
569
515
  branch: 'then' | 'else' | null;
@@ -577,7 +523,7 @@ type DispatchResult = {
577
523
  * Dispatch a step to the appropriate executor.
578
524
  * The runtime calls this for each step in the execution loop.
579
525
  */
580
- declare function dispatch(step: Step, resolvedInputs: Record<string, unknown>, context: RuntimeContext, toolAdapter: ToolAdapter, llmAdapter: LLMAdapter): Promise<DispatchResult>;
526
+ declare function dispatch(step: Step, resolvedInputs: Record<string, unknown>, context: RuntimeContext, toolAdapter: ToolAdapter): Promise<DispatchResult>;
581
527
  //#endregion
582
528
  //#region src/runtime/index.d.ts
583
529
  declare class WorkflowExecutionError extends Error {
@@ -593,7 +539,6 @@ interface RunOptions {
593
539
  workflow: WorkflowDefinition;
594
540
  inputs?: Record<string, unknown>;
595
541
  toolAdapter: ToolAdapter;
596
- llmAdapter: LLMAdapter;
597
542
  workflowName?: string;
598
543
  /** Optional callback for live progress events during execution. */
599
544
  onEvent?: (event: RuntimeEvent) => void;
@@ -601,7 +546,7 @@ interface RunOptions {
601
546
  /**
602
547
  * Execute a workflow and produce a run log.
603
548
  * Phase 1: Validate the workflow definition.
604
- * Phase 2: Execute steps in declaration order following the 8-step lifecycle.
549
+ * Phase 2: Execute steps in declaration order following the 9-step lifecycle.
605
550
  */
606
551
  declare function runWorkflow(options: RunOptions): Promise<RunLog>;
607
552
  interface RunWorkflowSkillOptions {
@@ -609,7 +554,6 @@ interface RunWorkflowSkillOptions {
609
554
  content: string;
610
555
  inputs?: Record<string, unknown>;
611
556
  toolAdapter: ToolAdapter;
612
- llmAdapter: LLMAdapter;
613
557
  /** Fallback name used when content has no frontmatter. Defaults to 'inline'. */
614
558
  workflowName?: string;
615
559
  onEvent?: (event: RuntimeEvent) => void;
@@ -625,5 +569,5 @@ declare function runWorkflowSkill(options: RunWorkflowSkillOptions): Promise<Run
625
569
  //#region src/skill/index.d.ts
626
570
  declare const AUTHORING_SKILL: string;
627
571
  //#endregion
628
- export { AUTHORING_SKILL, AnthropicLLMAdapter, BuiltinToolAdapter, type ConditionalOutput, ConditionalStep, type DispatchResult, EvalError, type ExitOutput, ExitStatus, ExitStep, FieldSchema, JsonSchema, LLMAdapter, type LLMHandler, LLMResult, LLMStep, LexError, MockLLMAdapter, MockToolAdapter, OnError, ParseError, type ParseErrorDetail, ParseExprError, ParsedSkill, RetryPolicy, RetryRecord, RunLog, RunLogError, type RunOptions, RunStatus, RunSummary, type RunWorkflowSkillOptions, RuntimeContext, RuntimeEvent, SchemaType, SkillFrontmatter, SortDirection, Step, StepBase, type StepErrorContext, StepExecutionError, StepInput, type StepOutput, StepRecord, StepRunStatus, StepType, TokenUsage, ToolAdapter, ToolDescriptor, type ToolHandler, ToolResult, ToolStep, TransformFilterStep, TransformMapStep, TransformOperation, TransformSortStep, TransformStep, type ValidateWorkflowSkillOptions, type ValidateWorkflowSkillResult, ValidationError, ValidationResult, WorkflowDefinition, WorkflowExecutionError, WorkflowInput, WorkflowOutput, type WorkflowSkillConfig, buildFailedRunLog, dispatch, executeConditional, executeExit, executeLLM, executeTool, executeTransform, interpolatePrompt, loadConfig, parseSkillMd, parseWorkflowFromMd, parseWorkflowYaml, resolveExpression, runWorkflow, runWorkflowSkill, validateWorkflow, validateWorkflowSkill };
572
+ export { AUTHORING_SKILL, type ConditionalOutput, ConditionalStep, type DispatchResult, EvalError, type ExitOutput, ExitStatus, ExitStep, FieldSchema, JsonSchema, LexError, MockToolAdapter, OnError, ParseError, type ParseErrorDetail, ParseExprError, ParsedSkill, RetryPolicy, RetryRecord, RunLog, RunLogError, type RunOptions, RunStatus, RunSummary, type RunWorkflowSkillOptions, RuntimeContext, RuntimeEvent, SchemaType, SkillFrontmatter, SortDirection, Step, StepBase, type StepErrorContext, StepExecutionError, StepInput, type StepOutput, StepRecord, StepRunStatus, StepType, ToolAdapter, ToolDescriptor, type ToolHandler, ToolResult, ToolStep, TransformFilterStep, TransformMapStep, TransformOperation, TransformSortStep, TransformStep, type ValidateWorkflowSkillOptions, type ValidateWorkflowSkillResult, ValidationError, ValidationResult, WorkflowDefinition, WorkflowExecutionError, WorkflowInput, WorkflowOutput, type WorkflowSkillConfig, buildFailedRunLog, containsTemplate, dispatch, executeConditional, executeExit, executeTool, executeTransform, loadConfig, parseSkillMd, parseWorkflowFromMd, parseWorkflowYaml, resolveExpression, resolveTemplate, runWorkflow, runWorkflowSkill, stringify, validateWorkflow, validateWorkflowSkill };
629
573
  //# sourceMappingURL=index.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.mts","names":[],"sources":["../src/types/index.ts","../src/parser/index.ts","../src/expression/lexer.ts","../src/expression/parser.ts","../src/expression/evaluator.ts","../src/expression/index.ts","../src/validator/index.ts","../src/adapters/mock-tool-adapter.ts","../src/adapters/mock-llm-adapter.ts","../src/adapters/anthropic-llm-adapter.ts","../src/tools/builtin-tool-adapter.ts","../src/config/index.ts","../src/executor/types.ts","../src/executor/transform.ts","../src/executor/conditional.ts","../src/executor/exit.ts","../src/executor/tool.ts","../src/executor/llm.ts","../src/executor/index.ts","../src/runtime/index.ts","../src/skill/index.ts"],"mappings":"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"}
1
+ {"version":3,"file":"index.d.mts","names":[],"sources":["../src/types/index.ts","../src/parser/index.ts","../src/expression/lexer.ts","../src/expression/parser.ts","../src/expression/evaluator.ts","../src/expression/index.ts","../src/validator/index.ts","../src/adapters/mock-tool-adapter.ts","../src/config/index.ts","../src/executor/types.ts","../src/executor/transform.ts","../src/executor/conditional.ts","../src/executor/exit.ts","../src/executor/tool.ts","../src/executor/index.ts","../src/runtime/index.ts","../src/skill/index.ts"],"mappings":"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"}