@studio-foundation/runner 0.3.0-beta.5 → 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.
- package/README.md +30 -10
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -1,18 +1,24 @@
|
|
|
1
1
|
# @studio-foundation/runner
|
|
2
2
|
|
|
3
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
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
|
-
##
|
|
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
|
+
"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.
|
|
25
|
-
"@studio-foundation/contracts": "0.
|
|
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",
|