@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.
Files changed (3) hide show
  1. package/README.md +226 -39
  2. package/bin.js +2 -1
  3. package/package.json +1 -1
package/README.md CHANGED
@@ -1,9 +1,12 @@
1
- # OE Runtime · `@openenthrium/oe-runtime`
1
+ # Open Enthrium AI Agent Runtime · `@openenthrium/oe-runtime`
2
2
 
3
- **Run AI agents against 2,600+ enterprise data sources — databases, APIs, files, SSH, messaging, and more. One binary. One YAML agent. One config file.**
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
  [![npm](https://img.shields.io/npm/v/@openenthrium/oe-runtime?color=4f46e5)](https://www.npmjs.com/package/@openenthrium/oe-runtime)
6
8
  [![License: Apache 2.0](https://img.shields.io/badge/License-Apache%202.0-4f46e5.svg)](https://github.com/enthrium/open-enthrium-ai-agent-runtime/blob/main/LICENSE)
9
+ [![GitHub Release](https://img.shields.io/github/v/release/enthrium/open-enthrium-ai-agent-runtime?color=4f46e5&label=latest)](https://github.com/enthrium/open-enthrium-ai-agent-runtime/releases)
7
10
  [![Website](https://img.shields.io/badge/Website-openenthrium.com-4f46e5)](https://www.openenthrium.com/runtime.html)
8
11
  [![Discord](https://img.shields.io/badge/Discord-Community-5865F2?logo=discord&logoColor=white)](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. No Python, no LangChain, no code.
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
- **1. Create your config file** (`oe-config.json`)
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": "my-db",
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": "secret"
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. Create your agent file** (`agent.yaml`)
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: Summarises recent activity in the database
48
- instructions: You are a data analyst. Use the available tools to answer questions about the database.
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: Check recent orders
51
- content: Query the last 10 orders and summarise the results.
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: my-db
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
- **3. Run it**
100
+ ### YAML Agent Reference
58
101
 
59
- macOS / Linux:
60
- ```bash
61
- npx -y @openenthrium/oe-runtime agent.yaml --config oe-config.json
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
- ## Supported Connectors
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
- **2,600+ connectors across 45+ categories:**
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
- | **SSH / SFTP** | Remote command execution, file transfer |
99
- | **Message Queues** | Kafka, AWS SQS, Google Pub/Sub, RabbitMQ |
100
- | **+ more** | LDAP, OCR, Image Generation, Healthcare, ERP, Web3, ... |
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
- ## Links
272
+ ## Contributing
105
273
 
106
- - [Full Documentation](https://www.openenthrium.com/runtime.html)
107
- - [GitHub Repository](https://github.com/enthrium/open-enthrium-ai-agent-runtime)
108
- - [Sample Agents](https://github.com/enthrium/open-enthrium-ai-agent-runtime/releases/latest/download/oe-runtime-samples.zip) — 20 ready-to-use agent YAML files
109
- - [Discord Community](https://discord.com/invite/vWsZ24Msn)
110
- - [OE Platform](https://www.openenthrium.com/platform.html) full web app with Agent Builder, RAG, workspaces
111
- - [OE MCP Server](https://www.openenthrium.com/mcp.html) connect Claude Code, Cursor & Windsurf to enterprise data
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 child = spawn(BIN_PATH, process.argv.slice(2), { stdio: "inherit" });
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.5.8",
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": {