@openenthrium/oe-runtime 1.6.8 → 1.6.9

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 +39 -15
  2. package/package.json +1 -1
package/README.md CHANGED
@@ -19,6 +19,7 @@ Open Enthrium AI Agent Runtime (OE Runtime) is a standalone, cross-platform bina
19
19
  - **No LangChain. No Python. No code.** Agents are plain YAML files.
20
20
  - **No install.** Single binary for Windows, Linux, and macOS. No Node.js, no Docker on the target machine.
21
21
  - **45+ connector categories.** PostgreSQL, MySQL, MongoDB, S3, Slack, GitHub, SSH, REST API, Kafka, and more — all built in.
22
+ - **Agent chains.** Chain agents together in YAML — auto chains fire in sequence; manual chains pause for human approval in CLI (y/n prompt), HTTP (`/approve-chain`), or any MCP-enabled AI chat (`approve_chain` tool).
22
23
  - **HTTP server mode.** `--serve` turns the runtime into a persistent API server any app can call.
23
24
  - **Self-hosted.** Runs entirely on your own machine. No call-home. Own your data.
24
25
 
@@ -119,6 +120,17 @@ connectors:
119
120
  | `connectors` | No | Connector references matched to credentials in `oe-config.json` |
120
121
  | `steps` | No | Named workflow steps injected sequentially into the system prompt |
121
122
  | `maxRounds` | No | Max LLM tool-call iterations (default: 25) |
123
+ | `chains` | No | Agents to run after this one completes — see Agent Chains below |
124
+
125
+ **`chains` syntax:**
126
+ ```yaml
127
+ chains:
128
+ - next_agent: ./followup.yaml # relative path from this agent file
129
+ trigger_type: auto # fires immediately, output passed as context
130
+
131
+ - next_agent: ./notify.yaml
132
+ trigger_type: manual # CLI: y/n prompt · HTTP: /approve-chain · MCP: approve_chain tool
133
+ ```
122
134
 
123
135
  **3. Run it**
124
136
 
@@ -179,28 +191,40 @@ All endpoints require the `x-api-key` header when `server.apiKey` is set in your
179
191
  | `GET` | `/health` | Liveness check — returns `{ "status": "ok", "version": "..." }` |
180
192
  | `POST` | `/run` | Run an agent from an inline YAML string |
181
193
  | `POST` | `/run-file` | Run an agent from a YAML file path on disk |
194
+ | `POST` | `/approve-chain` | Approve or reject a pending manual chain |
182
195
 
183
- **POST /run** — body:
196
+ **POST /run-file** — body:
184
197
  ```json
185
198
  {
186
- "yaml": "name: Hi\nsteps:\n - name: Greet\n content: Say hi!",
187
- "params": {},
199
+ "file": "/path/to/agent.yaml",
200
+ "params": { "topic": "AI trends" },
188
201
  "input": "Run"
189
202
  }
190
203
  ```
191
204
 
192
- **POST /run-file** — body:
205
+ **Response** (both /run and /run-file):
193
206
  ```json
194
207
  {
195
- "file": "/path/to/agent.yaml",
196
- "params": { "topic": "AI trends" },
197
- "input": "Run"
208
+ "success": true,
209
+ "output": "Agent output...",
210
+ "chains": [
211
+ { "agent": "Follow-up Agent", "output": "Chain complete ✅", "chains": [], "pending_chains": [] }
212
+ ],
213
+ "pending_chains": [
214
+ { "chain_id": "abc123xyz", "next_agent": "./notify.yaml", "output_preview": "Agent output..." }
215
+ ],
216
+ "duration_ms": 1234
198
217
  }
199
218
  ```
200
219
 
201
- **Response** (both /run and /run-file):
220
+ **POST /approve-chain** approve or reject a manual chain:
202
221
  ```json
203
- { "success": true, "output": "...", "duration_ms": 1234 }
222
+ { "chain_id": "abc123xyz", "approved": true }
223
+ ```
224
+
225
+ Response:
226
+ ```json
227
+ { "success": true, "approved": true, "output": "...", "chains": [], "pending_chains": [], "duration_ms": 890 }
204
228
  ```
205
229
 
206
230
  **Example curl:**
@@ -208,17 +232,17 @@ All endpoints require the `x-api-key` header when `server.apiKey` is set in your
208
232
  # Health check
209
233
  curl http://localhost:3333/health -H "x-api-key: your-secret"
210
234
 
211
- # Run inline agent
212
- curl -X POST http://localhost:3333/run \
235
+ # Run agent from file (with chain support)
236
+ curl -X POST http://localhost:3333/run-file \
213
237
  -H "x-api-key: your-secret" \
214
238
  -H "Content-Type: application/json" \
215
- -d '{"yaml":"name: Hi\nsteps:\n - name: Greet\n content: Say hi!","input":"Run"}'
239
+ -d '{"file":"/path/to/agent.yaml"}'
216
240
 
217
- # Run agent from file
218
- curl -X POST http://localhost:3333/run-file \
241
+ # Approve a pending manual chain
242
+ curl -X POST http://localhost:3333/approve-chain \
219
243
  -H "x-api-key: your-secret" \
220
244
  -H "Content-Type: application/json" \
221
- -d '{"file":"/path/to/agent.yaml","params":{"topic":"AI trends"},"input":"Run"}'
245
+ -d '{"chain_id":"abc123xyz","approved":true}'
222
246
  ```
223
247
 
224
248
  ---
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openenthrium/oe-runtime",
3
- "version": "1.6.8",
3
+ "version": "1.6.9",
4
4
  "description": "OE Runtime - run AI agents against enterprise data sources. One binary, one YAML agent, one config file.",
5
5
  "homepage": "https://www.openenthrium.com/runtime.html",
6
6
  "repository": {