ente-cli 0.4.80 → 0.4.82
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 +29 -0
- package/dist/SKILL.md +36 -0
- package/dist/cli.mjs +634 -178
- package/dist/cli.mjs.map +4 -4
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -135,6 +135,7 @@ Every command supports `--json`. Run `ente --help` or `ente <group> --help`.
|
|
|
135
135
|
| `activity` | `list`, `create`, `search`, `get`, `transcript` (`--grep`, `--context`), `update`, `delete`, `restore`, `message add`, `attachment upload` |
|
|
136
136
|
| `agenda` | `create-point`, `link-task` |
|
|
137
137
|
| `task` | `list`, `get`, `create`, `update`, `done`, `assign`, `unassign`, `set-assignees`, `clear-assignees` |
|
|
138
|
+
| `list` | `create` (`--column`, `--pin`), `add` (`--key` upsert), `update` (`--attr`, `--title`), `import` (JSONL upsert by `--key`, `--dry-run`), `show` (`--all`, `--cursor`, `--where`, `--view`), `column add`, `column remove` |
|
|
138
139
|
| `pins` | `list` |
|
|
139
140
|
| `space` | `members` |
|
|
140
141
|
| `recording` | `list`, `show`, `inspect`, `rerun` (admin only) |
|
|
@@ -329,6 +330,25 @@ Never put secrets in chat, repositories, project `.env` files, or logs.
|
|
|
329
330
|
|
|
330
331
|
### Process a permitted user mailbox
|
|
331
332
|
|
|
333
|
+
Use `recipients` with an explicit permitted Gmail/IMAP `connectionId` and a
|
|
334
|
+
nonempty `query` to resolve a name or address fragment from cached non-draft
|
|
335
|
+
From/To/Cc/Bcc headers. A call scans at most 800 metadata records and returns
|
|
336
|
+
at most 20 address candidates with continuation. For example:
|
|
337
|
+
|
|
338
|
+
```sh
|
|
339
|
+
ente agent user-mailbox --request '{"operation":"recipients","connectionId":"<permitted-private-connection>","query":"Alex Morgan"}'
|
|
340
|
+
```
|
|
341
|
+
|
|
342
|
+
Follow every cursor. For name matches, repeat lookup with each candidate exact
|
|
343
|
+
email and follow those cursors too: newer headers may omit the name. Combine
|
|
344
|
+
exact-address results using maximum `lastContactAt` before preferring the most
|
|
345
|
+
recently contacted match. Results exclude unsynced
|
|
346
|
+
provider history and shared Ente inboxes. If `truncated` is true, refine the query;
|
|
347
|
+
a bounded subset does not establish uniqueness. Disclose alternatives and the
|
|
348
|
+
chosen address in the prepared draft. Ask for confirmation on ties or unresolved
|
|
349
|
+
matches. Lookup never sends and never authorizes inventing an address.
|
|
350
|
+
|
|
351
|
+
|
|
332
352
|
Existing provider drafts retain their attachments when edited or sent through
|
|
333
353
|
`user-mailbox`, including the web composer's 25 MB combined raw-file budget
|
|
334
354
|
(25,000,000 bytes, at most 24 files). The complete MIME message must fit 35 MiB;
|
|
@@ -461,3 +481,12 @@ the shipped skill for scope and citation details.
|
|
|
461
481
|
Explicit vector modes report the selected provider, model, region, embedding identity and generation in `retrieval.vector`. Optional OpenAI embeddings use `text-embedding-3-small` at 512 dimensions. A provider/model/region change requires renewed account consent and a new empty generation; it does not select history or future activities. No automatic provider fallback runs. Omitted/lexical query remains zero-egress.
|
|
462
482
|
|
|
463
483
|
Hybrid ordering uses RRF plus semantic branch coverage. Returned rank is authoritative; scores are not calibrated confidence or a pure sort contract.
|
|
484
|
+
|
|
485
|
+
Recipient lookup may explicitly use `"source":"provider"` to read bounded
|
|
486
|
+
native matching headers outside the synced cache. It imports no messages and
|
|
487
|
+
reads no bodies. Continue provider cursors separately from cached cursors, then
|
|
488
|
+
repeat each candidate exact address in the same source to rank actual dates.
|
|
489
|
+
Gmail applies native word/operator matching; arbitrary mid-name/address substring
|
|
490
|
+
and alias expansion are not guaranteed. IMAP applies native address-header
|
|
491
|
+
substring matching with UIDVALIDITY-bound continuation. Neither source proves
|
|
492
|
+
complete historical coverage; retain alternatives and ask on unresolved matches.
|
package/dist/SKILL.md
CHANGED
|
@@ -187,6 +187,14 @@ ente activity attachment upload <activityId> ./file.pdf [--name "Contract.pdf"]
|
|
|
187
187
|
ente activity delete <activityId> [--json]
|
|
188
188
|
ente activity restore <activityId> [--json]
|
|
189
189
|
|
|
190
|
+
# Database lists (entity + typed columns; each row is a note/task activity; no date column type)
|
|
191
|
+
ente list create "<name>" --space "<space>" [--column "key[=Label]:text|number|boolean|single-select|multi-select[:opt,opt]"] [--pin "<parent>" [--share-parents --parent-space-grant-fingerprint <token>]] [--json]
|
|
192
|
+
ente list add "<list>" --title "…" [--attr k=v ...] [--key <textColumn>] [--content-file ./row.md] [--json] # --key = upsert by that cell
|
|
193
|
+
ente list update "<list>" <rowId> [--attr k=v ...] [--title "…"] [--json] # empty value clears a cell
|
|
194
|
+
ente list import "<list>" --file rows.jsonl --key <textColumn> [--dry-run] [--concurrency 4] [--json] # {"title","attrs","content"} per line → created/updated/unchanged
|
|
195
|
+
ente list show "<list>" [--all | --cursor <nextCursor>] [--limit 100] [--where k=v ...] [--view] [--json] # all rows by default; --view = table's saved filters
|
|
196
|
+
# Rows are activities: trash with `ente activity delete <rowId>`, promote with `ente activity update <rowId> --entity-add "<entity>"`. Guide: playbooks/database-list-sync.md
|
|
197
|
+
|
|
190
198
|
# Activity agendas (all activity types)
|
|
191
199
|
# --meeting remains a compatibility alias for --activity.
|
|
192
200
|
ente agenda create-point --activity <activityId> --title "Decisions" [--content="…"] [--content-file ./decisions.md] [--parent <agendaPointId>] [--after <agendaPointId>] [--json]
|
|
@@ -493,6 +501,25 @@ Parent relationships are spaceless. Both entities must be accessible. Every acti
|
|
|
493
501
|
|
|
494
502
|
## User mailbox processing
|
|
495
503
|
|
|
504
|
+
Use `recipients` with an explicit permitted Gmail/IMAP `connectionId` and a
|
|
505
|
+
nonempty `query` to resolve a name or address fragment from cached non-draft
|
|
506
|
+
From/To/Cc/Bcc headers. A call scans at most 800 metadata records and returns
|
|
507
|
+
at most 20 address candidates with continuation. For example:
|
|
508
|
+
|
|
509
|
+
```sh
|
|
510
|
+
ente agent user-mailbox --request '{"operation":"recipients","connectionId":"<permitted-private-connection>","query":"Alex Morgan"}'
|
|
511
|
+
```
|
|
512
|
+
|
|
513
|
+
Follow every cursor. For name matches, repeat lookup with each candidate exact
|
|
514
|
+
email and follow those cursors too: newer headers may omit the name. Combine
|
|
515
|
+
exact-address results using maximum `lastContactAt` before preferring the most
|
|
516
|
+
recently contacted match. Results exclude unsynced
|
|
517
|
+
provider history and shared Ente inboxes. If `truncated` is true, refine the query;
|
|
518
|
+
a bounded subset does not establish uniqueness. Disclose alternatives and the
|
|
519
|
+
chosen address in the prepared draft. Ask for confirmation on ties or unresolved
|
|
520
|
+
matches. Lookup never sends and never authorizes inventing an address.
|
|
521
|
+
|
|
522
|
+
|
|
496
523
|
Existing provider drafts retain their attachments when edited or sent through
|
|
497
524
|
`user-mailbox`, including the web composer's 25 MB combined raw-file budget
|
|
498
525
|
(25,000,000 bytes, at most 24 files). The complete MIME message must fit 35 MiB;
|
|
@@ -656,3 +683,12 @@ accounts do not send data to the hosted embedding pilot.
|
|
|
656
683
|
Explicit vector modes report the selected provider, model, region, embedding identity and generation in `retrieval.vector`. Optional OpenAI embeddings use `text-embedding-3-small` at 512 dimensions. A provider/model/region change requires renewed account consent and a new empty generation; it does not select history or future activities. No automatic provider fallback runs. Omitted/lexical query remains zero-egress.
|
|
657
684
|
|
|
658
685
|
Hybrid ranking uses RRF plus early semantic branch coverage. Use returned `rank` for order; numeric scores are neither a pure sort contract nor calibrated confidence.
|
|
686
|
+
|
|
687
|
+
For older recipient correspondence, `user-mailbox` operation `recipients` accepts
|
|
688
|
+
`source: "provider"` for bounded native matching header reads without imports or
|
|
689
|
+
bodies. Keep provider and cached cursors separate. Continue pages, then repeat
|
|
690
|
+
candidate exact addresses in the same source before comparing actual dates.
|
|
691
|
+
Gmail uses native word/operator matching, without guaranteed arbitrary substring
|
|
692
|
+
or alias expansion. IMAP uses native address-header substring search and checks
|
|
693
|
+
UIDVALIDITY on continuation. Never claim complete historical coverage or send
|
|
694
|
+
from a recipient lookup; disclose choices and ask on unresolved alternatives.
|