@gethelio/proxy 0.12.0 → 0.13.1
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 +7 -4
- package/dist/cli.js +1508 -753
- package/dist/dashboard-assets/assets/index-BRvkMXWl.js +128 -0
- package/dist/dashboard-assets/assets/index-DtnT1Y9r.css +1 -0
- package/dist/dashboard-assets/index.html +2 -2
- package/dist/index.d.ts +490 -24
- package/dist/index.js +1221 -693
- package/package.json +2 -2
- package/dist/dashboard-assets/assets/index-BBYXsIig.css +0 -1
- package/dist/dashboard-assets/assets/index-uJng9NyO.js +0 -128
package/README.md
CHANGED
|
@@ -46,10 +46,12 @@ Two integration paths:
|
|
|
46
46
|
|
|
47
47
|
Helio governs at the strongest grade each path physically allows, and records it per call:
|
|
48
48
|
|
|
49
|
-
- **Structural** (stdio MCP) — Helio owns the
|
|
49
|
+
- **Structural** (stdio MCP) — Helio owns the child process it spawned, so nothing on the MCP path routes around it; a co-located process that can run the same command line is outside this grade (see the note below).
|
|
50
50
|
- **Network** (HTTP MCP) — structural given you control the upstream's egress.
|
|
51
51
|
- **Host-enforced** (hook adapters via the [adapter API](https://github.com/gethelio/helio/blob/main/docs/adapter-api.md), e.g. OpenClaw) — for frameworks that run tools in-process and expose hooks rather than an MCP transport. The framework's hook gate enforces; Helio decides. This is a cooperative, lower grade than the proxy path, and Helio labels it as such rather than overclaiming. Helio's decisions still cannot be evicted from the agent's context or prompt-injected, and any attempt to route around them is visible in the audit trail.
|
|
52
52
|
|
|
53
|
+
All three grades assume the proxy's config, secret, and audit store are outside the agent's reach. In the default local install they are not: the proxy runs as the same user as the agent. [SECURITY.md](https://github.com/gethelio/helio/blob/main/SECURITY.md#process-and-filesystem-boundaries) states the boundary and the deployments that close it.
|
|
54
|
+
|
|
53
55
|
## Quick Start (5 minutes)
|
|
54
56
|
|
|
55
57
|
### 1. Install
|
|
@@ -62,7 +64,7 @@ This single package includes the built-in dashboard UI bundle.
|
|
|
62
64
|
|
|
63
65
|
### 2. Configure
|
|
64
66
|
|
|
65
|
-
`npx @gethelio/proxy init` already created a `helio.yaml` in your project root. Open it (e.g. `nano helio.yaml`, or in your editor) and point `upstream.url` at your existing MCP server.
|
|
67
|
+
`npx @gethelio/proxy init` already created a `helio.yaml` in your project root. Open it (e.g. `nano helio.yaml`, or in your editor) and point `upstream.url` at your existing MCP server. The singular `upstream:` form stays fully supported; to govern more than one MCP server, declare a named `upstreams:` list in its place (set exactly one of the two). Tool sets are never merged: each named upstream is served at its own `/mcp/<name>` door. See the [Configuration Reference](https://github.com/gethelio/helio/blob/main/docs/configuration.md#upstreams).
|
|
66
68
|
|
|
67
69
|
> **Heads up — Helio starts in audit-only mode.** `init` scaffolds the `policies` section **commented out**, so out of the box Helio runs with `default: allow` and **zero rules**: it records every tool call to the audit trail but **blocks nothing**. Uncomment and edit `policies` (or paste your own rules) to start enforcing. See the [Policy Guide](https://github.com/gethelio/helio/blob/main/docs/policies.md) for rule syntax.
|
|
68
70
|
|
|
@@ -152,7 +154,7 @@ No MCP server to test against? Helio ships a zero-dependency echo server you can
|
|
|
152
154
|
|
|
153
155
|
About `dashboard.api_secret`:
|
|
154
156
|
|
|
155
|
-
- **If you ran `npx @gethelio/proxy init`**, your `helio.yaml` already contains a generated `
|
|
157
|
+
- **If you ran `npx @gethelio/proxy init`**, your `helio.yaml` already contains the SHA-256 digest of a generated secret, and `init` printed the secret itself once. Keep the printed value; it is what you log in with. Skip this step.
|
|
156
158
|
- **If you authored `helio.yaml` by hand** using the `${HELIO_DASHBOARD_SECRET}` placeholder shown above, set the variable before `start`:
|
|
157
159
|
|
|
158
160
|
```bash
|
|
@@ -193,7 +195,7 @@ Either way the call appears in the dashboard with its policy decision. (`get_wea
|
|
|
193
195
|
http://localhost:3100
|
|
194
196
|
```
|
|
195
197
|
|
|
196
|
-
If prompted, log in with the
|
|
198
|
+
If prompted, log in with the dashboard secret that `init` printed (the file holds only its digest).
|
|
197
199
|
|
|
198
200
|
That's it. Every tool call now passes through Helio with a full audit trail, rate limits, and spend controls.
|
|
199
201
|
|
|
@@ -365,6 +367,7 @@ Ready-made configurations for common patterns:
|
|
|
365
367
|
- **[Slack Approvals](https://github.com/gethelio/helio/tree/main/examples/slack-approvals)**: Route destructive actions to Slack
|
|
366
368
|
- **[Spend Limits](https://github.com/gethelio/helio/tree/main/examples/spend-limits)**: Govern payment tool usage
|
|
367
369
|
- **[Budgets](https://github.com/gethelio/helio/tree/main/examples/budgets)**: A cross-tool budget across Stripe and PayPal tools with break-glass overage approvals, paired with a category cap that only charges calls declaring their spend category
|
|
370
|
+
- **[Multi-Upstream](https://github.com/gethelio/helio/tree/main/examples/multi-upstream)**: Two named upstreams behind one proxy, with a door-scoped rate limit and budget
|
|
368
371
|
|
|
369
372
|
## Contributing
|
|
370
373
|
|