pando-ai 0.2.5 → 0.2.7
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
CHANGED
|
@@ -38,8 +38,10 @@ Two choke points, one ruleset:
|
|
|
38
38
|
|
|
39
39
|
- **Launch shim** (`~/.pando/bin` ahead of the real tools on PATH) — supervises
|
|
40
40
|
every `codex`/`claude` invocation. It disables the agent's native tools where
|
|
41
|
-
supported,
|
|
42
|
-
applies the MCP allow/deny policy via the agent's own launch
|
|
41
|
+
supported, dynamically injects the Pando MCP server (root-scoped to your
|
|
42
|
+
project), and applies the MCP allow/deny policy via the agent's own launch
|
|
43
|
+
flags. Pando does not permanently add itself to the user's MCP config files by
|
|
44
|
+
default; supervised launches pass generated config on each run.
|
|
43
45
|
- **Wire gateway** (a local reverse proxy speaking the OpenAI Responses API and
|
|
44
46
|
Anthropic Messages API) — sits inline on every supported request and forwards
|
|
45
47
|
it to the upstream you control, so traffic stays local. It blocks off-policy
|
|
@@ -74,7 +76,7 @@ Legacy completion APIs, including OpenAI chat/completions and Anthropic
|
|
|
74
76
|
| Capability | Claude Code | Codex |
|
|
75
77
|
| --- | --- | --- |
|
|
76
78
|
| Disable native tools | ✅ `--tools ""` (MCP stays available) + gateway/hook block | ⚠️ read-only sandbox + web search disabled + request/response gateway block |
|
|
77
|
-
| Install Pando MCP, root-scoped | ✅ `--mcp-config` | ✅ required `-c mcp_servers.pando.*` |
|
|
79
|
+
| Install Pando MCP, root-scoped | ✅ dynamic `--mcp-config` + `--strict-mcp-config` | ✅ dynamic required `-c mcp_servers.pando.*` with Pando tools pre-approved |
|
|
78
80
|
| `other_mcp: deny_all` | ✅ `--strict-mcp-config` (Pando only) + gateway/hook block | ✅ request/response gateway block |
|
|
79
81
|
| `other_mcp: allow_list` | ✅ strict config with Pando + named servers + gateway/hook block | ✅ request/response gateway block |
|
|
80
82
|
| `other_mcp: deny_list` | ✅ `--disallowedTools` removes denied names + gateway/hook block | ✅ request/response gateway block |
|
|
@@ -82,11 +84,12 @@ Legacy completion APIs, including OpenAI chat/completions and Anthropic
|
|
|
82
84
|
|
|
83
85
|
- **Codex** has no documented strict-MCP switch and no exact `--tools ""`
|
|
84
86
|
equivalent, so launch-time stripping is best-effort. Pando marks its MCP
|
|
85
|
-
server required,
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
87
|
+
server required, sets `default_tools_approval_mode="approve"` for Pando's own
|
|
88
|
+
MCP tools so non-interactive Codex launches can use them, disables Codex web
|
|
89
|
+
search when native tools are denied, strips off-policy tool definitions from
|
|
90
|
+
`/v1/responses` requests, blocks provider-bound off-policy tool call/result
|
|
91
|
+
transcript items before they reach the model provider, and blocks off-policy
|
|
92
|
+
tool calls in model responses before Codex can execute them.
|
|
90
93
|
- **Claude Code** always gets Pando hook settings for tool-call/tool-result
|
|
91
94
|
enforcement. API-key, auth-token, or Claude Code `apiKeyHelper` auth also
|
|
92
95
|
enables gateway mode through `ANTHROPIC_BASE_URL`. Subscription-only launches
|
|
@@ -182,11 +185,11 @@ provider-bound gateway enforcement is disabled.
|
|
|
182
185
|
## Surfaces
|
|
183
186
|
|
|
184
187
|
```bash
|
|
185
|
-
pando-ai # firewall console
|
|
188
|
+
pando-ai # firewall console: status, install, uninstall
|
|
186
189
|
pando-ai install # force a (re)install pass
|
|
187
190
|
pando-ai uninstall # remove Pando shims, managed PATH block, install state, and global npm install when detected
|
|
188
191
|
pando-ai serve [path] # stdio MCP server for MCP clients
|
|
189
|
-
pando-ai serve-http # HTTP MCP server
|
|
192
|
+
pando-ai serve-http # explicit HTTP MCP server for debugging/integrations
|
|
190
193
|
pando-ai gateway # run the firewall gateway in the foreground (debug)
|
|
191
194
|
pando-ai proxy status|enable|disable [codex|claude]
|
|
192
195
|
pando-ai login|logout|whoami
|
|
@@ -215,14 +218,30 @@ to remove in that case.
|
|
|
215
218
|
|
|
216
219
|
## MCP serve mode
|
|
217
220
|
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
+
MCP mode is explicit. Bare `pando-ai` always opens the firewall console; it does
|
|
222
|
+
not become an MCP server just because stdin/stdout are non-interactive.
|
|
223
|
+
|
|
224
|
+
Use stdio MCP for agents:
|
|
225
|
+
|
|
226
|
+
```bash
|
|
227
|
+
pando-ai serve /path/to/project
|
|
228
|
+
```
|
|
229
|
+
|
|
230
|
+
`serve-http` remains available as an explicit command for debugging or
|
|
231
|
+
integrations that need HTTP:
|
|
232
|
+
|
|
233
|
+
```bash
|
|
234
|
+
pando-ai serve-http /path/to/project --host 127.0.0.1 --port 5888
|
|
235
|
+
```
|
|
236
|
+
|
|
237
|
+
`pando-ai config set telemetry false` disables usage telemetry.
|
|
221
238
|
|
|
222
239
|
## Transport behavior
|
|
223
240
|
|
|
224
|
-
- MCP
|
|
225
|
-
-
|
|
241
|
+
- MCP does not run by default. Agents should use `pando-ai serve`.
|
|
242
|
+
- HTTP MCP does not run by default. It only starts through explicit
|
|
243
|
+
`pando-ai serve-http`.
|
|
244
|
+
- The CLI redirects incidental runtime logs to stderr so stdout stays valid JSON-RPC/MCP traffic in stdio mode.
|
|
226
245
|
|
|
227
246
|
## Agent setup
|
|
228
247
|
|