@openenthrium/oe-runtime 1.5.8 → 1.6.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 +226 -39
- package/bin.js +2 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,9 +1,12 @@
|
|
|
1
|
-
#
|
|
1
|
+
# Open Enthrium AI Agent Runtime · `@openenthrium/oe-runtime`
|
|
2
2
|
|
|
3
|
-
**
|
|
3
|
+
**OE Runtime · Standalone AI Agent Executor · Apache-2.0 · Windows · Linux · macOS**
|
|
4
|
+
|
|
5
|
+
Run AI agents against any enterprise data source — no cloud, no platform, just a single binary.
|
|
4
6
|
|
|
5
7
|
[](https://www.npmjs.com/package/@openenthrium/oe-runtime)
|
|
6
8
|
[](https://github.com/enthrium/open-enthrium-ai-agent-runtime/blob/main/LICENSE)
|
|
9
|
+
[](https://github.com/enthrium/open-enthrium-ai-agent-runtime/releases)
|
|
7
10
|
[](https://www.openenthrium.com/runtime.html)
|
|
8
11
|
[](https://discord.com/invite/vWsZ24Msn)
|
|
9
12
|
|
|
@@ -11,13 +14,29 @@
|
|
|
11
14
|
|
|
12
15
|
## What is OE Runtime?
|
|
13
16
|
|
|
14
|
-
OE Runtime is a standalone binary that reads a declarative YAML agent file, connects to your enterprise data sources, and runs an AI-powered workflow — locally or as an HTTP API server.
|
|
17
|
+
Open Enthrium AI Agent Runtime (OE Runtime) is a standalone, cross-platform binary that reads a declarative YAML agent file, connects to your enterprise data sources, and runs an AI-powered workflow — locally or as an HTTP API server.
|
|
18
|
+
|
|
19
|
+
- **No LangChain. No Python. No code.** Agents are plain YAML files.
|
|
20
|
+
- **No install.** Single binary for Windows, Linux, and macOS. No Node.js, no Docker on the target machine.
|
|
21
|
+
- **45+ connector categories.** PostgreSQL, MySQL, MongoDB, S3, Slack, GitHub, SSH, REST API, Kafka, and 2,600+ more — all built in.
|
|
22
|
+
- **HTTP server mode.** `--serve` turns the runtime into a persistent API server any app can call.
|
|
23
|
+
- **Self-hosted.** Runs entirely on your own machine. No call-home. Own your data.
|
|
24
|
+
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
## Sample Library
|
|
28
|
+
|
|
29
|
+
Download [oe-runtime-samples.zip](https://github.com/enthrium/open-enthrium-ai-agent-runtime/releases/latest/download/oe-runtime-samples.zip) for 21 ready-to-run starter kits — each with a complete `agent.yaml` + `oe-config.json`:
|
|
30
|
+
|
|
31
|
+
`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`
|
|
15
32
|
|
|
16
33
|
---
|
|
17
34
|
|
|
18
35
|
## Quick Start
|
|
19
36
|
|
|
20
|
-
|
|
37
|
+
No binary download needed — `npx` handles everything automatically.
|
|
38
|
+
|
|
39
|
+
**1. Edit `oe-config.json`** with your LLM key and connector credentials
|
|
21
40
|
|
|
22
41
|
```json
|
|
23
42
|
{
|
|
@@ -28,40 +47,70 @@ OE Runtime is a standalone binary that reads a declarative YAML agent file, conn
|
|
|
28
47
|
},
|
|
29
48
|
"connectors": [
|
|
30
49
|
{
|
|
31
|
-
"connection_name": "
|
|
50
|
+
"connection_name": "My Database",
|
|
32
51
|
"connection_type": "postgresql",
|
|
33
52
|
"host": "localhost",
|
|
34
53
|
"port": 5432,
|
|
35
54
|
"database": "mydb",
|
|
36
55
|
"user": "postgres",
|
|
37
|
-
"password": "
|
|
56
|
+
"password": "YOUR_DB_PASSWORD"
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
"connection_name": "My Telegram Bot",
|
|
60
|
+
"connection_type": "telegram",
|
|
61
|
+
"baseUrl": "https://api.telegram.org/botYOUR_BOT_TOKEN"
|
|
38
62
|
}
|
|
39
|
-
]
|
|
63
|
+
],
|
|
64
|
+
"server": {
|
|
65
|
+
"enabled": false,
|
|
66
|
+
"port": 3333,
|
|
67
|
+
"apiKey": "your-secret"
|
|
68
|
+
}
|
|
40
69
|
}
|
|
41
70
|
```
|
|
42
71
|
|
|
43
|
-
**2.
|
|
72
|
+
**2. Edit `agent.yaml`** if needed — adjust the instructions or steps for your use case
|
|
73
|
+
|
|
74
|
+
Agents are plain YAML files. No Python. No framework to learn.
|
|
44
75
|
|
|
45
76
|
```yaml
|
|
46
77
|
name: DB Summary Agent
|
|
47
|
-
description:
|
|
48
|
-
instructions:
|
|
78
|
+
description: Queries a database and sends a summary to Telegram
|
|
79
|
+
instructions: |
|
|
80
|
+
You are a data analyst. Query the database for key metrics,
|
|
81
|
+
summarise the findings clearly, and send the report to Telegram.
|
|
49
82
|
steps:
|
|
50
|
-
- name:
|
|
51
|
-
content:
|
|
83
|
+
- name: Query metrics
|
|
84
|
+
content: |
|
|
85
|
+
Run: SELECT table_name, table_rows
|
|
86
|
+
FROM information_schema.tables
|
|
87
|
+
WHERE table_schema = 'public'
|
|
88
|
+
ORDER BY table_rows DESC;
|
|
89
|
+
Summarise the top 10 tables by row count.
|
|
90
|
+
- name: Send report
|
|
91
|
+
content: |
|
|
92
|
+
Send a clean summary report to Telegram.
|
|
52
93
|
connectors:
|
|
53
|
-
- connection_name:
|
|
94
|
+
- connection_name: My Database
|
|
54
95
|
connection_type: postgresql
|
|
96
|
+
- connection_name: My Telegram Bot
|
|
97
|
+
connection_type: telegram
|
|
55
98
|
```
|
|
56
99
|
|
|
57
|
-
|
|
100
|
+
### YAML Agent Reference
|
|
58
101
|
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
102
|
+
| Field | Required | Description |
|
|
103
|
+
|---|---|---|
|
|
104
|
+
| `name` | No | Display name shown in terminal |
|
|
105
|
+
| `description` | No | Short description |
|
|
106
|
+
| `instructions` | Yes | System prompt — what the agent does and how |
|
|
107
|
+
| `params` | No | Named parameters; substituted via `{{name}}` in prompt and steps |
|
|
108
|
+
| `connectors` | No | Connector references matched to credentials in `oe-config.json` |
|
|
109
|
+
| `steps` | No | Named workflow steps injected sequentially into the system prompt |
|
|
110
|
+
| `maxRounds` | No | Max LLM tool-call iterations (default: 25) |
|
|
111
|
+
|
|
112
|
+
**3. Run it**
|
|
63
113
|
|
|
64
|
-
Windows:
|
|
65
114
|
```bash
|
|
66
115
|
npx -y @openenthrium/oe-runtime agent.yaml --config oe-config.json
|
|
67
116
|
```
|
|
@@ -77,41 +126,179 @@ npx -y @openenthrium/oe-runtime agent.yaml --config oe-config.json
|
|
|
77
126
|
| **CLI** | `npx -y @openenthrium/oe-runtime agent.yaml --config oe-config.json` | One-shot agent runs, scripts, CI/CD |
|
|
78
127
|
| **HTTP Server** | `npx -y @openenthrium/oe-runtime --serve --config oe-config.json` | Persistent API server any app can call |
|
|
79
128
|
|
|
129
|
+
> **Tip:** Set `"server": { "enabled": true }` in `oe-config.json` to auto-start as HTTP server without the `--serve` flag.
|
|
130
|
+
|
|
80
131
|
---
|
|
81
132
|
|
|
82
|
-
##
|
|
133
|
+
## HTTP Server Mode
|
|
134
|
+
|
|
135
|
+
Turn the runtime into a persistent HTTP API — call agents from mobile apps, web services, or any HTTP client.
|
|
136
|
+
|
|
137
|
+
**Step 1 — Enable server mode in `oe-config.json`:**
|
|
83
138
|
|
|
84
|
-
|
|
139
|
+
```json
|
|
140
|
+
{
|
|
141
|
+
"llm": { "provider": "openai", "apiKey": "sk-...", "model": "gpt-4o" },
|
|
142
|
+
"server": {
|
|
143
|
+
"enabled": true,
|
|
144
|
+
"port": 3333,
|
|
145
|
+
"apiKey": "your-secret-api-key"
|
|
146
|
+
},
|
|
147
|
+
"connectors": [ ... ]
|
|
148
|
+
}
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
> Set **`"enabled": true`** to activate server mode on startup.
|
|
152
|
+
|
|
153
|
+
**Step 2 — Start in serve mode:**
|
|
154
|
+
|
|
155
|
+
```bash
|
|
156
|
+
npx -y @openenthrium/oe-runtime --serve --config oe-config.json
|
|
157
|
+
# 🚀 OE Runtime Server v1.5.9
|
|
158
|
+
# Listening http://localhost:3333
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
### Endpoints
|
|
162
|
+
|
|
163
|
+
All endpoints require the `x-api-key` header when `server.apiKey` is set in your config.
|
|
164
|
+
|
|
165
|
+
| Method | Path | Description |
|
|
166
|
+
|---|---|---|
|
|
167
|
+
| `GET` | `/health` | Liveness check — returns `{ "status": "ok", "version": "..." }` |
|
|
168
|
+
| `POST` | `/run` | Run an agent from an inline YAML string |
|
|
169
|
+
| `POST` | `/run-file` | Run an agent from a YAML file path on disk |
|
|
170
|
+
|
|
171
|
+
**POST /run** — body:
|
|
172
|
+
```json
|
|
173
|
+
{
|
|
174
|
+
"yaml": "name: Hi\nsteps:\n - name: Greet\n content: Say hi!",
|
|
175
|
+
"params": {},
|
|
176
|
+
"input": "Run"
|
|
177
|
+
}
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
**POST /run-file** — body:
|
|
181
|
+
```json
|
|
182
|
+
{
|
|
183
|
+
"file": "/path/to/agent.yaml",
|
|
184
|
+
"params": { "topic": "AI trends" },
|
|
185
|
+
"input": "Run"
|
|
186
|
+
}
|
|
187
|
+
```
|
|
188
|
+
|
|
189
|
+
**Response** (both /run and /run-file):
|
|
190
|
+
```json
|
|
191
|
+
{ "success": true, "output": "...", "duration_ms": 1234 }
|
|
192
|
+
```
|
|
193
|
+
|
|
194
|
+
**Example curl:**
|
|
195
|
+
```bash
|
|
196
|
+
# Health check
|
|
197
|
+
curl http://localhost:3333/health -H "x-api-key: your-secret"
|
|
198
|
+
|
|
199
|
+
# Run inline agent
|
|
200
|
+
curl -X POST http://localhost:3333/run \
|
|
201
|
+
-H "x-api-key: your-secret" \
|
|
202
|
+
-H "Content-Type: application/json" \
|
|
203
|
+
-d '{"yaml":"name: Hi\nsteps:\n - name: Greet\n content: Say hi!","input":"Run"}'
|
|
204
|
+
|
|
205
|
+
# Run agent from file
|
|
206
|
+
curl -X POST http://localhost:3333/run-file \
|
|
207
|
+
-H "x-api-key: your-secret" \
|
|
208
|
+
-H "Content-Type: application/json" \
|
|
209
|
+
-d '{"file":"/path/to/agent.yaml","params":{"topic":"AI trends"},"input":"Run"}'
|
|
210
|
+
```
|
|
211
|
+
|
|
212
|
+
---
|
|
213
|
+
|
|
214
|
+
## Binary vs Node.js Mode
|
|
215
|
+
|
|
216
|
+
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.
|
|
217
|
+
|
|
218
|
+
If you need any of these four, run with Node.js directly instead:
|
|
219
|
+
```bash
|
|
220
|
+
git clone https://github.com/enthrium/open-enthrium-ai-agent-runtime.git
|
|
221
|
+
cd open-enthrium-ai-agent-runtime/server
|
|
222
|
+
yarn install
|
|
223
|
+
node cli/index.js agent.yaml --config oe-config.json
|
|
224
|
+
# or serve mode
|
|
225
|
+
node cli/index.js --serve --config oe-config.json
|
|
226
|
+
```
|
|
227
|
+
|
|
228
|
+
All other connectors (PostgreSQL, MySQL, MongoDB, Redis, S3, Slack, GitHub, REST API, SSH, etc.) work directly with npx — no Node.js clone required.
|
|
229
|
+
|
|
230
|
+
---
|
|
231
|
+
|
|
232
|
+
## Connector Catalog
|
|
233
|
+
|
|
234
|
+
**2,600+ connectors across 45+ categories** — built in, no custom code required.
|
|
85
235
|
|
|
86
236
|
| Category | Examples |
|
|
87
237
|
|---|---|
|
|
88
238
|
| **SQL Databases** | PostgreSQL, MySQL, MSSQL, Oracle, SQLite, Snowflake, BigQuery, Redshift |
|
|
89
|
-
| **NoSQL / Cache** | MongoDB, Redis, Elasticsearch, DynamoDB, Cassandra |
|
|
90
|
-
| **Object Storage** | AWS S3, GCS, Azure Blob, MinIO, Cloudflare R2 |
|
|
91
|
-
| **Cloud Drives** | Google Drive, OneDrive, Dropbox, Box |
|
|
92
|
-
| **Filesystem** | Local directories — list, read, write, search |
|
|
93
|
-
| **Email** | Gmail, Outlook, Zoho Mail, SMTP |
|
|
239
|
+
| **NoSQL / Cache** | MongoDB, Redis, Elasticsearch, DynamoDB, Cassandra, Couchbase |
|
|
240
|
+
| **Object Storage** | AWS S3, GCS, Azure Blob, MinIO, Cloudflare R2, Backblaze B2 |
|
|
241
|
+
| **Cloud Drives** | Google Drive, OneDrive, SharePoint, Dropbox, Box |
|
|
242
|
+
| **Filesystem** | Local directories — list, read, write, search files |
|
|
243
|
+
| **Email** | Gmail, Outlook, Zoho Mail, SMTP, IMAP, SendGrid |
|
|
94
244
|
| **Team Messaging** | Slack, Microsoft Teams, Discord, Telegram |
|
|
95
|
-
| **CRM** | HubSpot, Salesforce, Notion, Airtable |
|
|
245
|
+
| **CRM / Productivity** | HubSpot, Salesforce, Notion, Airtable, Confluence |
|
|
96
246
|
| **Issue Tracking** | GitHub, Jira, GitLab, Linear |
|
|
97
|
-
| **REST API** | Any HTTP/REST endpoint |
|
|
98
|
-
| **
|
|
99
|
-
| **
|
|
100
|
-
|
|
|
247
|
+
| **REST API** | Any HTTP/REST endpoint — bearer, API key, basic auth |
|
|
248
|
+
| **GraphQL** | Any GraphQL endpoint |
|
|
249
|
+
| **SSH / SFTP** | Remote command execution and file transfer |
|
|
250
|
+
| **Message Queues** | Kafka, AWS SQS, Azure Service Bus, Google Pub/Sub, RabbitMQ |
|
|
251
|
+
| **IoT / MQTT** | MQTT brokers, AWS IoT |
|
|
252
|
+
| **Search** | Perplexity, Google Custom Search, Bing |
|
|
253
|
+
| **LDAP / Directory** | Active Directory, OpenLDAP, Azure AD |
|
|
254
|
+
| **OCR / Vision** | Azure Vision, Google Vision, AWS Textract |
|
|
255
|
+
| **Image Generation** | OpenAI gpt-image-1, FLUX, Stable Diffusion, Ideogram |
|
|
256
|
+
| **Speech & Audio** | ElevenLabs, OpenAI TTS, Azure Speech, Google TTS |
|
|
257
|
+
| **Video Generation** | Runway, Kling, Pika |
|
|
258
|
+
| **Music Generation** | kie.ai, Udio |
|
|
259
|
+
| **Web3 / Blockchain** | Ethereum, Polygon, Solana via web3.js / ethers.js |
|
|
260
|
+
| **Helpdesk** | Zendesk, Freshdesk, Intercom |
|
|
261
|
+
| **ERP** | SAP, Oracle ERP, Microsoft Dynamics |
|
|
262
|
+
| **+ more** | Healthcare (FHIR), Marketing, Analytics, Finance, HR, E-commerce, ... |
|
|
263
|
+
|
|
264
|
+
---
|
|
265
|
+
|
|
266
|
+
## Supported LLM Providers
|
|
267
|
+
|
|
268
|
+
`openai` · `anthropic` · `azure` · `groq` · `gemini` · `ollama` · `mistral` · `deepseek` · `together` · `fireworks` · `bedrock` · and more
|
|
101
269
|
|
|
102
270
|
---
|
|
103
271
|
|
|
104
|
-
##
|
|
272
|
+
## Contributing
|
|
105
273
|
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
- [
|
|
109
|
-
-
|
|
110
|
-
-
|
|
111
|
-
- [
|
|
274
|
+
Contributions are welcome. Before opening a PR:
|
|
275
|
+
|
|
276
|
+
- [Open an issue](https://github.com/enthrium/open-enthrium-ai-agent-runtime/issues/new) to discuss the change — especially for new features
|
|
277
|
+
- Fork the repository and branch from `main`
|
|
278
|
+
- Test your changes locally
|
|
279
|
+
- [Open a PR](https://github.com/enthrium/open-enthrium-ai-agent-runtime/compare) with a clear description of what and why
|
|
280
|
+
|
|
281
|
+
Where contributions are most valuable:
|
|
282
|
+
|
|
283
|
+
- New connector adapters (`server/src/utils/tools/adapters/`)
|
|
284
|
+
- Agent YAML examples for the community marketplace
|
|
285
|
+
- Bug fixes with clear reproduction steps
|
|
286
|
+
|
|
287
|
+
---
|
|
288
|
+
|
|
289
|
+
## Part of Open Enthrium
|
|
290
|
+
|
|
291
|
+
OE Agent Runtime is the open-source standalone execution layer of the [Open Enthrium](https://openenthrium.com) platform.
|
|
292
|
+
|
|
293
|
+
| | |
|
|
294
|
+
|---|---|
|
|
295
|
+
| 🖥️ **Platform** | [open-enthrium-ai-platform](https://github.com/enthrium/open-enthrium-ai-platform) — full web app with workspaces, RAG, Agent Builder, DLP |
|
|
296
|
+
| 🔌 **MCP Server** | [open-enthrium-ai-mcp-server](https://github.com/enthrium/open-enthrium-ai-mcp-server) — connect Claude Code, Cursor, Windsurf to enterprise data |
|
|
297
|
+
| 🌐 **Website** | [openenthrium.com](https://openenthrium.com) |
|
|
112
298
|
|
|
113
299
|
---
|
|
114
300
|
|
|
115
301
|
## License
|
|
116
302
|
|
|
117
|
-
[Apache-2.0](https://github.com/enthrium/open-enthrium-ai-agent-runtime/blob/main/LICENSE) — free to use, modify, and deploy for any purpose including commercial use.
|
|
303
|
+
[Apache-2.0](https://github.com/enthrium/open-enthrium-ai-agent-runtime/blob/main/LICENSE) — free to use, modify, and deploy for any purpose, including commercial use.
|
|
304
|
+
No usage limits. No telemetry. No call-home.
|
package/bin.js
CHANGED
|
@@ -23,7 +23,8 @@ if (!fs.existsSync(BIN_PATH)) {
|
|
|
23
23
|
process.exit(1);
|
|
24
24
|
}
|
|
25
25
|
|
|
26
|
-
const
|
|
26
|
+
const cwd = process.env.INIT_CWD || process.cwd();
|
|
27
|
+
const child = spawn(BIN_PATH, process.argv.slice(2), { stdio: "inherit", cwd });
|
|
27
28
|
child.on("exit", (code) => process.exit(code ?? 0));
|
|
28
29
|
child.on("error", (err) => {
|
|
29
30
|
console.error("OE Runtime:", err.message);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@openenthrium/oe-runtime",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.6.0",
|
|
4
4
|
"description": "OE Runtime - run AI agents against 2,600+ enterprise data sources. One binary, one YAML agent, one config file.",
|
|
5
5
|
"homepage": "https://www.openenthrium.com/runtime.html",
|
|
6
6
|
"repository": {
|