@studio-foundation/runner 0.3.0-beta.6 → 0.4.0-beta

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.
Files changed (2) hide show
  1. package/README.md +30 -10
  2. package/package.json +3 -3
package/README.md CHANGED
@@ -1,18 +1,24 @@
1
1
  # @studio-foundation/runner
2
2
 
3
- Multi-provider LLM agent runner with tool plugin execution, streaming support, and PII anonymization.
3
+ **Studio** is an agentic pipeline runtime that executes multi-stage LLM workflows with structural validation and automatic retry. This package is the **runner**: a multi-provider LLM agent runner with tool plugin execution, streaming support, and PII anonymization.
4
4
 
5
- ## Role
5
+ It's the only package that knows about Anthropic, OpenAI, or what `repo_manager-write_file` does. Give it an agent config and a task, it builds the prompt, calls the LLM, executes tool calls, and returns the result. It doesn't validate, it doesn't retry — [`ralph`](https://www.npmjs.com/package/@studio-foundation/ralph) handles that loop.
6
6
 
7
- runner handles everything that touches external services: LLM API calls and tool execution. It's the only package that knows about Anthropic, OpenAI, or what `repo_manager-write_file` does.
7
+ - Homepage: https://github.com/studio-foundation/studio
8
+ - Full docs: [README](https://github.com/studio-foundation/studio#readme) · [CONCEPTS](https://github.com/studio-foundation/studio/blob/main/CONCEPTS.md) · [INVARIANTS](https://github.com/studio-foundation/studio/blob/main/INVARIANTS.md)
9
+ - Use via the CLI: [`@studio-foundation/cli`](https://www.npmjs.com/package/@studio-foundation/cli)
8
10
 
11
+ ## Install
12
+
13
+ ```bash
14
+ npm install @studio-foundation/runner
15
+ # or
16
+ pnpm add @studio-foundation/runner
9
17
  ```
10
- engine → runner.runAgent(config) → AgentRunResult
11
-
12
- [builds prompt] → [calls LLM] → [executes tool calls] → [returns result]
13
- ```
14
18
 
15
- ## Key exports
19
+ Most users don't consume `runner` directly — they use the [`studio`](https://www.npmjs.com/package/@studio-foundation/cli) CLI, which wraps it. Install this package if you're embedding Studio into your own runtime.
20
+
21
+ ## Quick start
16
22
 
17
23
  ```typescript
18
24
  import { runAgent, createDefaultRegistry, ToolRegistry, AnonymizationMiddleware } from '@studio-foundation/runner';
@@ -40,6 +46,14 @@ const result = await runAgent({
40
46
  });
41
47
  ```
42
48
 
49
+ ## Architecture
50
+
51
+ ```
52
+ engine → runner.runAgent(config) → AgentRunResult
53
+
54
+ [builds prompt] → [calls LLM] → [executes tool calls] → [returns result]
55
+ ```
56
+
43
57
  ## Providers
44
58
 
45
59
  | Provider | Class | Notes |
@@ -47,7 +61,7 @@ const result = await runAgent({
47
61
  | Anthropic | `AnthropicProvider` | Claude models, prompt caching (90% cost reduction on retries) |
48
62
  | OpenAI | `OpenAIProvider` | Chat completions API |
49
63
  | OpenAI Responses | `OpenAIResponsesProvider` | Responses API |
50
- | Mock | `MockProvider` | For tests reads from `mock.yaml`, no API calls |
64
+ | Mock | `MockProvider` | For tests: reads from `mock.yaml`, no API calls |
51
65
 
52
66
  Use `createDefaultRegistry()` to get all providers wired up. Use `--provider mock` in the CLI for testing without API keys.
53
67
 
@@ -118,8 +132,14 @@ callbacks: {
118
132
 
119
133
  These callbacks are wired by the engine from the stage's `hooks` YAML configuration.
120
134
 
121
- ## Rules
135
+ ## For contributors
136
+
137
+ Internal rules that govern this package:
122
138
 
123
139
  - **runner doesn't validate, doesn't retry.** It executes one agent turn and returns `AgentRunResult`. ralph handles the loop.
124
140
  - **runner doesn't know engine.** No pipeline state, no events, no stage concepts.
125
141
  - Prompt assembly lives in `prompt-builder.ts`. Provider abstractions in `providers/`.
142
+
143
+ ## License
144
+
145
+ AGPL-3.0-only
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@studio-foundation/runner",
3
- "version": "0.3.0-beta.6",
3
+ "version": "0.4.0-beta",
4
4
  "description": "Multi-provider LLM agent runner with tool execution",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -21,8 +21,8 @@
21
21
  "@modelcontextprotocol/sdk": "^1.26.0",
22
22
  "js-yaml": "^4.1.0",
23
23
  "openai": "^4.77.0",
24
- "@studio-foundation/anonymizer": "0.3.0-beta.6",
25
- "@studio-foundation/contracts": "0.3.0-beta.6"
24
+ "@studio-foundation/anonymizer": "0.4.0-beta",
25
+ "@studio-foundation/contracts": "0.4.0-beta"
26
26
  },
27
27
  "devDependencies": {
28
28
  "@types/js-yaml": "^4.0.9",