@openenthrium/oe-runtime 1.6.9 → 1.7.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.
- package/README.md +105 -2
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -21,15 +21,19 @@ Open Enthrium AI Agent Runtime (OE Runtime) is a standalone, cross-platform bina
|
|
|
21
21
|
- **45+ connector categories.** PostgreSQL, MySQL, MongoDB, S3, Slack, GitHub, SSH, REST API, Kafka, and more — all built in.
|
|
22
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).
|
|
23
23
|
- **HTTP server mode.** `--serve` turns the runtime into a persistent API server any app can call.
|
|
24
|
+
- **Messaging platform integration.** Receive messages from Telegram, Slack, WhatsApp, Teams and run agents in response — same YAML agents, same connectors, universal command language (`/run`, `/agents`, `/approve`, `/status`).
|
|
25
|
+
- **Project system.** `oe-project.json` registers multiple agents by name, sets a default agent, and links projects together — one config, many agents.
|
|
24
26
|
- **Self-hosted.** Runs entirely on your own machine. No call-home. Own your data.
|
|
25
27
|
|
|
26
28
|
---
|
|
27
29
|
|
|
28
30
|
## Sample Library
|
|
29
31
|
|
|
30
|
-
Download [oe-runtime-samples.zip](https://github.com/enthrium/open-enthrium-ai-agent-runtime/releases/latest/download/oe-runtime-samples.zip) for
|
|
32
|
+
Download [oe-runtime-samples.zip](https://github.com/enthrium/open-enthrium-ai-agent-runtime/releases/latest/download/oe-runtime-samples.zip) for 24 ready-to-run starter kits — each with a complete `agent.yaml` + `oe-config.json`:
|
|
31
33
|
|
|
32
|
-
|
|
34
|
+
**Getting started** — `hello-world` · `chains` · `my-ai-project`
|
|
35
|
+
|
|
36
|
+
**By connector** — `sql-databases` · `nosql-cache` · `file-storage` · `cloud-drives` · `email` · `team-messaging` · `telegram` · `productivity-crm` · `rest-api` · `graphql` · `ssh` · `message-queues` · `iot-messaging` · `web-search` · `ocr-vision` · `image-generation` · `speech-audio` · `video-generation` · `music-generation` · `blockchain-web3` · `directory-identity`
|
|
33
37
|
|
|
34
38
|
---
|
|
35
39
|
|
|
@@ -189,9 +193,13 @@ All endpoints require the `x-api-key` header when `server.apiKey` is set in your
|
|
|
189
193
|
| Method | Path | Description |
|
|
190
194
|
|---|---|---|
|
|
191
195
|
| `GET` | `/health` | Liveness check — returns `{ "status": "ok", "version": "..." }` |
|
|
196
|
+
| `GET` | `/status` | Health + project info + connector list + uptime |
|
|
197
|
+
| `POST` | `/command` | Universal command endpoint — `{ text: "/run agent-name" }` |
|
|
192
198
|
| `POST` | `/run` | Run an agent from an inline YAML string |
|
|
193
199
|
| `POST` | `/run-file` | Run an agent from a YAML file path on disk |
|
|
194
200
|
| `POST` | `/approve-chain` | Approve or reject a pending manual chain |
|
|
201
|
+
| `POST` | `/webhook/telegram` | Telegram webhook receiver (enabled via `server.webhook`) |
|
|
202
|
+
| `POST` | `/webhook/slack` | Slack webhook receiver (enabled via `server.webhook`) |
|
|
195
203
|
|
|
196
204
|
**POST /run-file** — body:
|
|
197
205
|
```json
|
|
@@ -247,6 +255,101 @@ curl -X POST http://localhost:3333/approve-chain \
|
|
|
247
255
|
|
|
248
256
|
---
|
|
249
257
|
|
|
258
|
+
## Project System
|
|
259
|
+
|
|
260
|
+
`oe-project.json` sits alongside `oe-config.json` and registers multiple agents by name — so any interface (Telegram, Slack, HTTP, MCP) can invoke them by name rather than file path.
|
|
261
|
+
|
|
262
|
+
```json
|
|
263
|
+
{
|
|
264
|
+
"name": "Sales Pipeline",
|
|
265
|
+
"version": "1.0.0",
|
|
266
|
+
"description": "Outbound sales automation",
|
|
267
|
+
"author": "Your Name",
|
|
268
|
+
"tags": ["sales", "outbound"],
|
|
269
|
+
"agents": [
|
|
270
|
+
{ "name": "prospecting", "file": "./prospecting.yaml", "description": "Find and qualify leads" },
|
|
271
|
+
{ "name": "outreach", "file": "./outreach.yaml", "description": "Send personalised emails" },
|
|
272
|
+
{ "name": "chat", "file": "./chat-bot.yaml", "description": "Conversational assistant", "default": true }
|
|
273
|
+
],
|
|
274
|
+
"links": [
|
|
275
|
+
{ "name": "support", "project": "../support-project/oe-project.json" }
|
|
276
|
+
]
|
|
277
|
+
}
|
|
278
|
+
```
|
|
279
|
+
|
|
280
|
+
| Field | Description |
|
|
281
|
+
|---|---|
|
|
282
|
+
| `name`, `version`, `author`, `tags` | Project metadata |
|
|
283
|
+
| `agents[].name` | Short name used to invoke the agent (`/run prospecting`) |
|
|
284
|
+
| `agents[].file` | Path to the YAML agent file (relative to `oe-project.json`) |
|
|
285
|
+
| `agents[].default` | `true` — runs this agent when user sends a plain message (no command) |
|
|
286
|
+
| `links` | Cross-project references — run agents from linked projects |
|
|
287
|
+
|
|
288
|
+
---
|
|
289
|
+
|
|
290
|
+
## Messaging Platforms (Telegram, Slack, WhatsApp, Teams)
|
|
291
|
+
|
|
292
|
+
OE Runtime's HTTP server can receive messages from any webhook-based messaging platform and run agents in response — no separate bot framework needed.
|
|
293
|
+
|
|
294
|
+
**`oe-config.json` — enable webhook receiver:**
|
|
295
|
+
|
|
296
|
+
```json
|
|
297
|
+
{
|
|
298
|
+
"llm": { "provider": "openai", "apiKey": "sk-...", "model": "gpt-4o" },
|
|
299
|
+
"server": {
|
|
300
|
+
"enabled": true,
|
|
301
|
+
"port": 3333,
|
|
302
|
+
"publicUrl": "https://your-public-domain.com",
|
|
303
|
+
"webhook": {
|
|
304
|
+
"enabled": true,
|
|
305
|
+
"auto_reply": true
|
|
306
|
+
}
|
|
307
|
+
},
|
|
308
|
+
"connectors": [
|
|
309
|
+
{
|
|
310
|
+
"connection_name": "My Telegram Bot",
|
|
311
|
+
"connection_type": "telegram",
|
|
312
|
+
"baseUrl": "https://api.telegram.org/botYOUR_BOT_TOKEN"
|
|
313
|
+
}
|
|
314
|
+
]
|
|
315
|
+
}
|
|
316
|
+
```
|
|
317
|
+
|
|
318
|
+
OE Runtime automatically calls Telegram's `setWebhook` on startup. For Slack, paste the URL shown in the terminal into your Slack app's Event Subscriptions.
|
|
319
|
+
|
|
320
|
+
**Universal command language** — same commands work from Telegram, Slack, HTTP, or MCP:
|
|
321
|
+
|
|
322
|
+
| Command | Action |
|
|
323
|
+
|---|---|
|
|
324
|
+
| `/run <name>` | Run agent by name (from `oe-project.json`) |
|
|
325
|
+
| `/run <path>` | Run agent by file path |
|
|
326
|
+
| `/agents` | List all registered agents |
|
|
327
|
+
| `/approve` | Approve a pending manual chain |
|
|
328
|
+
| `/cancel` | Cancel a pending chain |
|
|
329
|
+
| `/status` | Health check — LLM, connectors, uptime |
|
|
330
|
+
| `/projects` | List linked projects |
|
|
331
|
+
| `/help` | Show all commands |
|
|
332
|
+
| Any message | Runs the `"default": true` agent |
|
|
333
|
+
|
|
334
|
+
**POST /command** — same commands from HTTP clients:
|
|
335
|
+
```bash
|
|
336
|
+
curl -X POST http://localhost:3333/command \
|
|
337
|
+
-H "x-api-key: your-secret" \
|
|
338
|
+
-H "Content-Type: application/json" \
|
|
339
|
+
-d '{"text": "/run prospecting"}'
|
|
340
|
+
```
|
|
341
|
+
|
|
342
|
+
**Supported platforms:**
|
|
343
|
+
|
|
344
|
+
| Platform | Webhook endpoint | Auto-registers |
|
|
345
|
+
|---|---|---|
|
|
346
|
+
| Telegram | `POST /webhook/telegram` | ✅ Yes — calls `setWebhook` on startup |
|
|
347
|
+
| Slack | `POST /webhook/slack` | No — paste URL in Slack Event Subscriptions |
|
|
348
|
+
| WhatsApp (Meta) | `POST /webhook/whatsapp` | No — paste URL in Meta Developer dashboard |
|
|
349
|
+
| GitHub | `POST /webhook/github` | No — paste URL in repo webhook settings |
|
|
350
|
+
|
|
351
|
+
---
|
|
352
|
+
|
|
250
353
|
## Binary vs Node.js Mode
|
|
251
354
|
|
|
252
355
|
Both **`npx @openenthrium/oe-runtime`** and the standalone binary exclude Oracle, MSSQL, SQLite, and Snowflake — these use native C++ addons that cannot be bundled into a single executable. npx downloads the same binary under the hood, so it has the same limitation.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@openenthrium/oe-runtime",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.7.0",
|
|
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": {
|