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, installs the Pando MCP server (root-scoped to your project), and
42
- applies the MCP allow/deny policy via the agent's own launch flags.
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, disables Codex web search when native tools are denied,
86
- strips off-policy tool definitions from `/v1/responses` requests, blocks
87
- provider-bound off-policy tool call/result transcript items before they reach
88
- the model provider, and blocks off-policy tool calls in model responses before
89
- Codex can execute them.
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 (TTY): status, install, uninstall
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
- When invoked without a TTY (e.g. spawned by an MCP client) `pando-ai` starts the
219
- engine over stdio for the given path, or the current working directory, exactly
220
- as before. `pando-ai config set telemetry false` disables usage telemetry.
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 runs over stdio only.
225
- - The CLI redirects incidental runtime logs to stderr so stdout stays valid JSON-RPC/MCP traffic.
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