ente-cli 0.4.100 → 0.4.102

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
@@ -92,12 +92,46 @@ fallback. CLI pairing without `--agent`
92
92
  creates a named connection agent. MCP authorization creates a connection agent
93
93
  named for the client.
94
94
 
95
- Named profiles are optional. Use one only when a person or process deliberately
96
- switches between several credentials. `--profile` overrides `ENTE_PROFILE`.
97
- Profiles do not activate from the current directory and are not a security
98
- boundary. Use a separate OS account or container when operators on the same
99
- machine must not read each other's keys. Never commit a key or put it in a
100
- project `.env` file.
95
+ Named profiles are optional when one global default is sufficient.
96
+ Profile selection uses `--profile`, then `ENTE_PROFILE`, then the nearest bound
97
+ ancestor of the current directory, then the global `config.toml` default.
98
+ Folder bindings are machine-local in the Ente config directory's `bindings.json`;
99
+ no repository file selects an identity. Paths resolve symlinks before matching.
100
+ A selected missing profile fails instead of falling back to another identity.
101
+ Complete `ENTE_API_URL` / `ENTE_API_KEY` overrides still replace file credentials;
102
+ partial overrides fail closed. `auth status` reports credential source separately
103
+ from `profileSource` and `boundDirectory`.
104
+
105
+ ```bash
106
+ ente auth bind /absolute/operator/folder operator-name
107
+ ente auth bindings --json
108
+ ente auth status --profile operator-name --json
109
+ ente auth unbind /absolute/operator/folder
110
+ ```
111
+
112
+ Bind an existing authenticated profile. Nested bindings override their parents.
113
+ Platform administration credentials stay separate and ignore folder bindings.
114
+ Bindings are defaults, not a security boundary. Use a separate OS account or
115
+ container when operators must not read each other's keys. Never commit a key
116
+ or put it in a project `.env` file.
117
+
118
+ Inspect the selected credential before work:
119
+
120
+ ```bash
121
+ ente auth whoami --json
122
+ ente agent permissions --json
123
+ ente agent permissions --check "Work" --action write --json
124
+ ```
125
+
126
+ `whoami` reports the selected profile and its resolution `source`, the agent ID,
127
+ name, icon, mailbox, active state, home space, and live scopes. The permission
128
+ list includes account-visible spaces denied to the key, with `access` of `none`,
129
+ `read`, or `write`, and server-derived `canRead`/`canWrite` flags. Scopes and OAuth
130
+ consent can restrict those flags independently. Account panel visibility is
131
+ separate from operational access. `--check` accepts an exact space name or ID
132
+ and `--action read|write`; denial exits nonzero and names the web app's
133
+ **Agent actions** and Connections scope settings. These commands never grant
134
+ rights, invoke a provider, or print keys.
101
135
 
102
136
  ## Usage
103
137
 
@@ -142,7 +176,7 @@ Every command supports `--json`. Run `ente --help` or `ente <group> --help`.
142
176
 
143
177
  | Group | Commands |
144
178
  |---|---|
145
- | `auth` | `pair`, `login`, `status`, `logout`, `profiles` |
179
+ | `auth` | `pair`, `login`, `status`, `whoami`, `logout`, `profiles`, `bind`, `unbind`, `bindings` |
146
180
  | `entity` | `list`, `create`, `get`, `update` (`--name`, `--tag`, `--description`), `rename`, `archive`, `restore` (`--share-parents` plus the returned grant fingerprint), `pin` (`--role`, optional confirmed parent grants), `unpin`, `add-to-space`, `remove-from-space` (`--remove-from-activities` optional) |
147
181
  | `activity` | `list`, `create`, `search`, `get`, `transcript` (`--grep`, `--context`), `update`, `delete`, `restore`, `message add`, `attachment upload` |
148
182
  | `agenda` | `create-point`, `link-task` |
@@ -155,7 +189,7 @@ Every command supports `--json`. Run `ente --help` or `ente <group> --help`.
155
189
  | `canvas` | `boards`, `html list`, `html get`, `html create`, `html update`, `html delete` |
156
190
  | `files` | `list`, `upload` (local file at most 10 MiB, or an activity attachment), `link`, `create-folder` — the entity's Nextcloud folder via your own connection; personal agent key only (MCP: `entity_files_list`, `entity_file_upload`, `entity_folder_link`, `entity_folder_create`) |
157
191
  | `notification` | `send` (emails only your own Ente account address; optional HTML, file attachments, and CID inline images) |
158
- | `agent` | `list`, `threads`, `show`, `new`, `send`, `config show`, `config set-prompt`, `schedules configure` |
192
+ | `agent` | `permissions`, `list`, `threads`, `show`, `new`, `send`, `config show`, `config set-prompt`, `schedules configure` |
159
193
  | `agent mail` | `address`, `threads`, `show`, `send`, `reply`, `mark` |
160
194
  | top-level | `search`, `ask`, `query`, `tasks`, `guide` |
161
195
 
package/dist/SKILL.md CHANGED
@@ -68,12 +68,43 @@ including cached JWT calls. There is no unrestricted user-key fallback. Create
68
68
  and manage keys from the agent’s Connections settings in `/agents`; several
69
69
  credentials can belong to the same agent.
70
70
 
71
- Named profiles are optional and only needed to switch deliberately between
72
- credentials. `--profile` overrides `ENTE_PROFILE`. Profiles do not activate
73
- from the current directory and do not isolate secrets from other processes
74
- running as the same operating-system user. Use a separate OS account or
75
- container when that isolation matters. Never store a key in the repository or
76
- a project `.env` file.
71
+ Named profiles are optional when one global default is sufficient.
72
+ Resolve the profile in this order: `--profile`, `ENTE_PROFILE`, the nearest
73
+ bound canonical ancestor of the current directory, then the global default.
74
+ Machine-local `bindings.json` in the Ente config directory stores folder bindings;
75
+ repositories carry no binding file. Symlinked folders resolve to their real path.
76
+ A selected missing profile fails closed. Complete API URL/key environment overrides
77
+ still replace stored credentials; check these separately from profile selection.
78
+ `auth status --json` reports `profileSource` and `boundDirectory` separately from
79
+ credential `source`. Bind only an existing authenticated profile:
80
+
81
+ ```bash
82
+ ente auth bind /absolute/operator/folder operator-name
83
+ ente auth bindings --json
84
+ ente auth unbind /absolute/operator/folder
85
+ ```
86
+
87
+ Bindings do not isolate secrets from other processes under the same OS user.
88
+ Use separate OS accounts or containers for that isolation. Platform keys ignore
89
+ folder bindings. Never store a key in a repository or project `.env` file.
90
+
91
+ Inspect the selected credential before work:
92
+
93
+ ```bash
94
+ ente auth whoami --json
95
+ ente agent permissions --json
96
+ ente agent permissions --check "Work" --action write --json
97
+ ```
98
+
99
+ `whoami` reports the selected profile and its resolution `source`, the agent ID,
100
+ name, icon, mailbox, active state, home space, and live scopes. The permission
101
+ list includes account-visible spaces denied to the key, with `access` of `none`,
102
+ `read`, or `write`, and server-derived `canRead`/`canWrite` flags. Scopes and OAuth
103
+ consent can restrict those flags independently. Account panel visibility is
104
+ separate from operational access. `--check` accepts an exact space name or ID
105
+ and `--action read|write`; denial exits nonzero and names the web app's
106
+ **Agent actions** and Connections scope settings. These commands never grant
107
+ rights, invoke a provider, or print keys.
77
108
 
78
109
  Verify server access with `ente entity list --limit 1 --json`.
79
110
 
@@ -150,6 +181,9 @@ ente auth login --url <convex-site-url> --key-stdin
150
181
  ente auth status
151
182
  ente auth logout
152
183
  ente auth profiles
184
+ ente auth bind <path> <profile>
185
+ ente auth unbind <path>
186
+ ente auth bindings [--json]
153
187
 
154
188
  # Search & ask
155
189
  # Ask is an experimental opt-in beta, not a general AI chat or included-model execution API.
@@ -738,6 +772,8 @@ access to diagnostics, and diagnostic reads do not append to chat history.
738
772
 
739
773
  ### Identify this connection
740
774
 
775
+ Use `ente agent set-icon --file /absolute/path/icon.png --profile ente-operator` to upload a static PNG up to 512 × 512 pixels and 130 KB. The server validates the PNG signature, complete chunk structure and checksums. SVG and remote image URLs are refused. The icon is shared across Ente identity displays.
776
+
741
777
  Use `ente agent set-icon fish` to change only this credential’s own Ente agent
742
778
  icon, then find it in `/agents`. Use `ente agent set-icon --reset` to restore the
743
779
  default. Run `ente agent set-icon --help` for curated IDs. Write scope is required;
@@ -812,3 +848,5 @@ If unavailable, use `ente search`, `ente entity get`, `ente activity search`,
812
848
  with your agent. Default/lexical `ente query` remains available without AI.
813
849
  `ask` returns a nonzero exit unless synthesisStatus is answered. Do not request
814
850
  a Bedrock key, provider access or model change to repair beta unavailability.
851
+
852
+ Agent platform inspection uses `ente admin tables|get|page --profile <profile>`. The agent owner must have platform admin rights and explicitly enable Platform access → Read in the agent panel. It is off by default and optional expiry is enforced on every request. Revocation applies to cached CLI sessions. Reads record agent/key, table/record or page size/order and timestamp, never row contents. Other admin commands still require standalone platform keys. `auth whoami` and `agent permissions` show the platform level and expiry. Space rights never imply platform rights.