ente-cli 0.4.68 → 0.4.70

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
@@ -401,3 +401,25 @@ Updating replaces agent assignees and preserves human assignees. Use
401
401
  `--clear-agent-assignees` to remove them. Only active agents with write access qualify.
402
402
 
403
403
  Scheduled runs also accept `runCondition: "new_chats"`: skip model execution unless this agent has new manual or recording chats since its previous scheduled check. Scheduled/reflection chats do not trigger it; explicit Run now bypasses the condition.
404
+
405
+ ## Bounded retrieval and machine failures
406
+
407
+ Use `query --space <name-or-id> --entity <name-or-id> --since <epoch-ms>
408
+ --until <epoch-ms> --limit 8 --json` for deterministic evidence without a model.
409
+ Time filters apply to activity evidence. Resolve entity identity globally first.
410
+
411
+ `activity list --entity <id> --compact --limit 10 --json` returns one compact
412
+ history page. Follow `nextCursor` with `--cursor` and the same entity/time
413
+ filters until `hasMore` is false. Compact pages retain the space/member envelope,
414
+ record IDs, time/assignment metadata and continuation. Long bodies become
415
+ 240-character excerpts; attributes, derived data, attachments and content hashes
416
+ are omitted. The `projection.fullDetail` references point to `activity get <id>`
417
+ (CLI), `activities_get` (MCP), and `getActivity` (internal tools). Defaults stay
418
+ unchanged. REST uses `compact=true`; MCP `activities_forEntity` and internal
419
+ `listRecentActivities` use `compact: true`. These options apply to active
420
+ entity-scoped pages, without client-side type/attribute/open/deadline filters.
421
+
422
+ JSON failures use stdout `{ "error": { "message": "..." } }` with a nonzero
423
+ exit. REST status and structured error fields survive. Check the exit before
424
+ parsing; see [Retrieve bounded context](playbooks/retrieve-bounded-context.md).
425
+ The unsupported `entity show` spelling gives a targeted `entity get` correction.
package/dist/SKILL.md CHANGED
@@ -98,6 +98,47 @@ npm i -g ente-cli --registry https://registry.npmjs.org
98
98
 
99
99
  ---
100
100
 
101
+ ## Retrieve a bounded page
102
+
103
+ Search entities globally first to resolve identity. Use the returned ID and an
104
+ explicit space for evidence when the task specifies a space. Preserve `spaces`,
105
+ record `spaceId`/`spaceIds`, scope, warnings and pagination when selecting fields;
106
+ access to a record is not permission to copy it into another space.
107
+
108
+ ```bash
109
+ # Deterministic evidence; no hosted model. Time filters constrain activities.
110
+ if ente query "launch decisions" --space "Work" --entity "Apollo" --since 1791763200000 --until 1792368000000 --limit 8 --json > evidence.json; then
111
+ jq '{data: {scope: .data.scope, evidence: [.data.evidence[] | {id, title, activityId, entityId, spaceIds, spaceNames}], warnings: .data.warnings, truncated: .data.truncated}, spaces: .data.spaces}' evidence.json
112
+ fi
113
+ # One entity-history page with body excerpts and an explicit full-detail path.
114
+ ente activity list --entity <entity-id> --after 1791763200000 --before 1792368000000 --min-count 0 --limit 10 --compact --json
115
+ # Continue with identical entity/time filters; never replace the cursor with a timestamp.
116
+ ente activity list --entity <entity-id> --after 1791763200000 --before 1792368000000 --min-count 0 --limit 10 --compact --cursor '<nextCursor>' --json
117
+ ente activity get <activity-id> --json
118
+ ```
119
+
120
+ `--compact` currently applies to active entity-scoped activity pages only. It
121
+ keeps space names, scopes, member emails, record IDs and `hasMore`/`nextCursor`.
122
+ It replaces long bodies with 240-character excerpts and omits attributes,
123
+ derived payloads, attachments and content hashes. `projection.fullDetail` names
124
+ the complete read on each interface. Omit `--compact` for the existing output.
125
+ Do not combine compact/cursor pages with client-side `--type`, `--attr`,
126
+ `--only-open` or deadline sorting. Those filters need full reads.
127
+
128
+ `--json` failures return `{ "error": { "message": "..." } }` on stdout and a
129
+ nonzero exit; REST failures also retain `statusCode` and structured error fields.
130
+ Check the exit before parsing. Do not append a successful help command and treat
131
+ its exit as the preceding command's result. `entity show` reports the supported
132
+ `entity get` command and fails without making a request.
133
+
134
+ For inbox coverage, page the unfiltered `agent mail threads` list to completion,
135
+ then inspect thread messages, including updates to older threads. `--unread`
136
+ and `--needs-reply` answer different questions; unread alone misses read but
137
+ unanswered mail. Keep each view's cursor separate and retain workflow versions.
138
+ An unfiltered list is not an atomic merged snapshot with internal agent chats.
139
+
140
+ ---
141
+
101
142
  ## Quick Reference
102
143
 
103
144
  ```bash
@@ -111,7 +152,7 @@ ente auth profiles
111
152
  # Search & ask
112
153
  ente search "Alice" [--type person] [--json]
113
154
  ente ask "What's open with Erik?" [--space <name>] [--entity <name>] [--evidence] [--json] # AI answer + citations
114
- ente query "QM system export" [--space <name>] [--entity <name>] [--verbose] [--json] # evidence only, no AI
155
+ ente query "QM system export" [--space <name>] [--entity <name>] [--since <epoch-ms>] [--until <epoch-ms>] [--limit 12] [--verbose] [--json] # evidence only, no AI
115
156
 
116
157
  # Entities
117
158
  ente entity list [--query <text>] [--type person|org|project|topic|place|object] [--space <name>] [--limit 50] [--archived] [--json]
@@ -128,12 +169,12 @@ ente entity archive "Old Project" [--json]
128
169
  ente entity restore <entity-id> [--share-parents --parent-space-grant-fingerprint <token>] [--json]
129
170
 
130
171
  # Activities
131
- ente activity list [--entity "Jane"] [--type note|conversation|meeting|call|message|task] [--attr k=v] [--only-open] [--hours 168] [--limit 20] [--sort deadline|created] [--json]
172
+ ente activity list [--entity "Jane"] [--compact] [--cursor <nextCursor>] [--min-count 0] [--type note|conversation|meeting|call|message|task] [--attr k=v] [--only-open] [--hours 168] [--limit 20] [--sort deadline|created] [--json]
132
173
  ente activity create --type meeting --title "Call with Jane" --entity "Jane Doe" --entity "Acme Corp" --space "Work" [--content "…"] [--content-file ./notes.md] [--auto-link --entity-space-grant-fingerprint <token>] [--json]
133
174
  ente activity search "quarterly review" [--entity "Acme"] [--type meeting] [--limit 10] [--json]
134
175
  ente activity get <activityId> [--json] # complete detail: body, full nested agenda, messages/replies, entities, attachments
135
176
  ente activity transcript <activityId> [--grep "Preis"] [--context 2] [--recording <id>] [--json] # transcript of the recording behind it
136
- ente activity update <activityId> [--title "…"] [--content "…"] [--entity-add "Bob"] [--entity-remove "Carol"] [--agent-assignee <agentId> ... | --clear-agent-assignees] [--json]
177
+ ente activity update <activityId> [--title "…"] [--content "…"] [--deadline "2026-05-26" | --clear-deadline] [--entity-add "Bob"] [--entity-remove "Carol"] [--agent-assignee <agentId> ... | --clear-agent-assignees] [--json]
137
178
  ente activity content read <activityId> [--cursor <cursor> --expected-version <version>] [--max-blocks 20] [--max-characters 12000] [--json]
138
179
  ente activity content edit <activityId> --expected-version <version> --operations-file ./operations.json [--json]
139
180
  ente activity message add <activityId> (--content "…" | --content-file ./update.md) [--json]
@@ -162,7 +203,7 @@ ente tasks [--json] # open tasks by deadline
162
203
  ente task list [--due today|overdue|all] [--entity "Jane"] [--json]
163
204
  ente task get 5 [--space "Work"] [--json]
164
205
  ente task create "Reply to Jane" --entity "Jane Doe" --space "Personal" [--deadline "2026-05-23 14:00"] [--content "…"] [--assignee <userId-or-email>] [--json]
165
- ente task update 5 [--title "…"] [--content "…"] [--deadline "2026-05-26"] [--attr k=v] [--json]
206
+ ente task update 5 [--title "…"] [--content "…"] [--deadline "2026-05-26" | --clear-deadline] [--attr k=v] [--json] # 5 = #N or activity ID
166
207
  ente task done 5 [--json]
167
208
  ente space members --space "Work" [--json]
168
209
  ente task assign 5 <userId-or-email> [--json]