@withone/cli 2.4.0 → 2.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 CHANGED
@@ -185,7 +185,7 @@ Opens your browser, you authorize, done. The CLI polls until the connection is l
185
185
 
186
186
  ### `one list`
187
187
 
188
- List your active connections with their status, connection keys, and what your access config lets you run on each.
188
+ List your active connections with their status, connection keys, and the access this key has on each.
189
189
 
190
190
  ```bash
191
191
  one list
@@ -199,15 +199,15 @@ one list
199
199
 
200
200
  You need the connection key (rightmost column) when executing actions.
201
201
 
202
- **Access reporting.** Every connection carries an `access` field describing what the current [access control](#one-config) config permits — so an agent knows its reach up front instead of discovering it as a failure mid-workflow. Three policies:
202
+ **Access reporting.** Every connection carries an `access` field: what this key may run there. The CLI reads it from One (`GET /v1/access/me`, the access chosen on the consent page or later in the dashboard) and narrows it by any limits you set with [`one config`](#one-config) — the server's answer is the ceiling, local settings can only lower it.
203
203
 
204
- | Policy | Means | Shown when |
205
- |--------|-------|-----------|
206
- | `{"policy": "full"}` | Every action on the connection | Default (admin, no action allowlist) |
207
- | `{"policy": "methods", "methods": ["GET"]}` | Only actions with those HTTP methods | Permission level is `read` or `write` |
208
- | `{"policy": "actions", "actions": [{"actionId": "...", "title": "...", "method": "..."}]}` | Only these specific actions | An action allowlist is configured |
204
+ | Policy | Means | `level` |
205
+ |--------|-------|---------|
206
+ | `{"policy": "full"}` | Every action on the connection | `full` (Full access) |
207
+ | `{"policy": "methods", "methods": ["GET"]}` | Only actions with those methods | `read-only`, `read-write` (GET, POST, PUT, PATCH), or `custom` |
208
+ | `{"policy": "actions", "actions": [{"actionId": "...", "title": "...", "method": "..."}]}` | Only these specific actions | `custom`, or `none` when empty |
209
209
 
210
- An action allowlist wins over the permission level (and is then method-filtered by it). When the policy is `actions`, those actions are exactly what may run — `actions load <actionId>` reads their docs, no find needed.
210
+ A connection the key does not reach is not listed. When the policy is `actions`, those actions are exactly what may run — `actions load <actionId>` reads their docs, no find needed.
211
211
 
212
212
  ```jsonc
213
213
  // one --agent list
@@ -219,14 +219,14 @@ An action allowlist wins over the permission level (and is then method-filtered
219
219
  "platform": "gmail",
220
220
  "state": "operational",
221
221
  "key": "live::gmail::default::abc123",
222
- "access": { "policy": "methods", "methods": ["GET"] }
222
+ "access": { "policy": "methods", "methods": ["GET"], "level": "read-only" }
223
223
  }
224
224
  ],
225
- "accessHint": "Permission level \"read\": only GET actions will execute."
225
+ "accessSource": "server"
226
226
  }
227
227
  ```
228
228
 
229
- `knowledgeOnly: true` appears when knowledge-only mode is on (execution disabled), and `unresolvedActionIds` lists any allowlisted action ids that could not be looked up. In human output, an `Access` column and a summary note appear only when access is actually scoped.
229
+ `accessSource` is `"server"` when One reported the key's access and `"local"` when it could not (an older API); then `access` shows only the CLI's own settings, the human table labels the column "Access (CLI settings only)", and `accessHint` says One may allow less. `knowledgeOnly: true` appears when knowledge-only mode is on (execution disabled), and `unresolvedActionIds` lists action ids that could not be looked up.
230
230
 
231
231
  This mirrors the `access` field on the One MCP server's `list_one_integrations` tool, so both surfaces report access the same way.
232
232
 
@@ -701,6 +701,8 @@ Run `one update` manually whenever you want to upgrade.
701
701
 
702
702
  ### Telemetry
703
703
 
704
+ Every `actions execute` call also tells One which surface and harness made it (`x-one-source: cli`, and `x-one-agent: claude-code` or whichever agent launched the CLI), so the dashboard's Logs page can show which agent ran each action. This is the call's own record in your account, not analytics, and it is sent whether or not telemetry is on. No version, arguments or data ride with it.
705
+
704
706
  The CLI collects **usage analytics** — which command was run, the CLI version, OS/arch, and whether it ran in `--agent` mode — to help us prioritize improvements. Events are linked to your One account (user id, email, name, org) so they line up with your dashboard activity. **Command arguments, inputs, connection data, and secrets are never collected** (only the command name, e.g. `actions execute`). A one-time notice is shown on first run. Commands are aggregated locally and sent as periodic, batched roll-ups in the background, so telemetry never slows down or blocks a command (and stays lightweight even under heavy automation).
705
707
 
706
708
  To opt out, set any of: