things-api 0.13.0 → 0.14.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.
Files changed (104) hide show
  1. package/README.md +2 -2
  2. package/dist/cli/commands/area.d.ts +5 -5
  3. package/dist/cli/commands/area.js +12 -7
  4. package/dist/cli/commands/area.js.map +1 -1
  5. package/dist/cli/commands/project.js +1 -1
  6. package/dist/cli/commands/project.js.map +1 -1
  7. package/dist/cli/commands/reads.js +21 -12
  8. package/dist/cli/commands/reads.js.map +1 -1
  9. package/dist/cli/commands/show.js +6 -2
  10. package/dist/cli/commands/show.js.map +1 -1
  11. package/dist/cli/commands/todo.js +1 -1
  12. package/dist/cli/commands/todo.js.map +1 -1
  13. package/dist/cli/commands/writes.js +116 -70
  14. package/dist/cli/commands/writes.js.map +1 -1
  15. package/dist/cli/glyphs.d.ts +9 -2
  16. package/dist/cli/glyphs.js +11 -5
  17. package/dist/cli/glyphs.js.map +1 -1
  18. package/dist/cli/read-driver.d.ts +39 -9
  19. package/dist/cli/read-driver.js +37 -16
  20. package/dist/cli/read-driver.js.map +1 -1
  21. package/dist/cli/render.d.ts +25 -26
  22. package/dist/cli/render.js +57 -56
  23. package/dist/cli/render.js.map +1 -1
  24. package/dist/client.d.ts +92 -35
  25. package/dist/client.js +61 -18
  26. package/dist/client.js.map +1 -1
  27. package/dist/contracts.d.ts +23 -33
  28. package/dist/contracts.js +1 -1
  29. package/dist/contracts.js.map +1 -1
  30. package/dist/index.d.ts +5 -4
  31. package/dist/index.js +2 -2
  32. package/dist/index.js.map +1 -1
  33. package/dist/mcp/server.js +158 -144
  34. package/dist/mcp/server.js.map +1 -1
  35. package/dist/model/dates.d.ts +26 -0
  36. package/dist/model/dates.js +46 -4
  37. package/dist/model/dates.js.map +1 -1
  38. package/dist/read/area-filter.d.ts +1 -1
  39. package/dist/read/area-filter.js +5 -4
  40. package/dist/read/area-filter.js.map +1 -1
  41. package/dist/read/area-view.d.ts +0 -11
  42. package/dist/read/area-view.js +1 -5
  43. package/dist/read/area-view.js.map +1 -1
  44. package/dist/read/project-view.d.ts +34 -19
  45. package/dist/read/project-view.js +26 -20
  46. package/dist/read/project-view.js.map +1 -1
  47. package/dist/read/scope.d.ts +1 -1
  48. package/dist/read/scope.js +5 -4
  49. package/dist/read/scope.js.map +1 -1
  50. package/dist/read/shape.d.ts +73 -14
  51. package/dist/read/shape.js +459 -151
  52. package/dist/read/shape.js.map +1 -1
  53. package/dist/read/truncation.d.ts +75 -2
  54. package/dist/read/truncation.js +69 -46
  55. package/dist/read/truncation.js.map +1 -1
  56. package/dist/read/views.d.ts +19 -18
  57. package/dist/read/views.js +5 -6
  58. package/dist/read/views.js.map +1 -1
  59. package/dist/surface-copy.d.ts +6 -0
  60. package/dist/surface-copy.js +6 -0
  61. package/dist/surface-copy.js.map +1 -1
  62. package/dist/write/batch.js +0 -1
  63. package/dist/write/batch.js.map +1 -1
  64. package/dist/write/commands.d.ts +25 -1
  65. package/dist/write/commands.js +256 -121
  66. package/dist/write/commands.js.map +1 -1
  67. package/dist/write/guards.js +27 -11
  68. package/dist/write/guards.js.map +1 -1
  69. package/dist/write/move.d.ts +26 -5
  70. package/dist/write/move.js +313 -2
  71. package/dist/write/move.js.map +1 -1
  72. package/dist/write/operations.d.ts +49 -19
  73. package/dist/write/operations.js +2 -2
  74. package/dist/write/operations.js.map +1 -1
  75. package/dist/write/pipeline.js +25 -4
  76. package/dist/write/pipeline.js.map +1 -1
  77. package/dist/write/pre-state.d.ts +48 -28
  78. package/dist/write/pre-state.js +134 -13
  79. package/dist/write/pre-state.js.map +1 -1
  80. package/dist/write/reorder.js +3 -3
  81. package/dist/write/reorder.js.map +1 -1
  82. package/dist/write/resolution-timestamps.d.ts +34 -0
  83. package/dist/write/resolution-timestamps.js +286 -0
  84. package/dist/write/resolution-timestamps.js.map +1 -0
  85. package/dist/write/reversibility.js +5 -5
  86. package/dist/write/reversibility.js.map +1 -1
  87. package/dist/write/scope-guard.js +0 -5
  88. package/dist/write/scope-guard.js.map +1 -1
  89. package/dist/write/undo.d.ts +0 -6
  90. package/dist/write/undo.js +44 -4
  91. package/dist/write/undo.js.map +1 -1
  92. package/dist/write/vectors/applescript.js +14 -4
  93. package/dist/write/vectors/applescript.js.map +1 -1
  94. package/dist/write/vectors/url-scheme.js +0 -8
  95. package/dist/write/vectors/url-scheme.js.map +1 -1
  96. package/dist/write/verify/delta.d.ts +16 -2
  97. package/dist/write/verify/delta.js +21 -2
  98. package/dist/write/verify/delta.js.map +1 -1
  99. package/package.json +1 -1
  100. package/schema/envelope.schema.json +2 -78
  101. package/skills/things-cli/SKILL.md +7 -5
  102. package/skills/things-cli/references/contracts.md +3 -4
  103. package/skills/things-cli/references/model.md +8 -8
  104. package/skills/things-cli/references/ordering.md +16 -7
package/dist/client.d.ts CHANGED
@@ -5,7 +5,7 @@
5
5
  import type { AuditWriter } from "./audit/log.ts";
6
6
  import { type ThingsApiConfig } from "./config.ts";
7
7
  import { type ClockMeta } from "./model/clock.ts";
8
- import { type Truncation } from "./contracts.ts";
8
+ import { type GroupBlock, type Truncation } from "./contracts.ts";
9
9
  import { type FingerprintStatus, type SchemaStatus } from "./db/fingerprint.ts";
10
10
  import type { AnyTask, Area, Project, Tag } from "./model/entities.ts";
11
11
  import type { RefPromoter } from "./read/shape.ts";
@@ -14,9 +14,10 @@ import { type ProjectView } from "./read/project-view.ts";
14
14
  import { type Snapshot } from "./read/snapshot.ts";
15
15
  import { type ShowTarget } from "./read/show-target.ts";
16
16
  import { type ChangedItem, type InboxFilter, type LiteSearchResult, type ListItem, type LogbookFilter, type SearchOptions, type SearchResultItem, type SidebarSection, type SomedayFilter, type TodayFilter, type TodayView, type UpcomingFilter, type ViewFilter } from "./read/views.ts";
17
+ import { type TodayBucketTotals, type AreaBucketTotals, type SectionTotals, type UpcomingBlockTotals } from "./read/truncation.ts";
17
18
  import { type AreaScopedRead, type ViewFilterMeta } from "./read/area-filter.ts";
18
19
  import { type ScopeMeta } from "./read/scope.ts";
19
- import type { AreaAddParams, AreaUpdateParams, ContainerRef, ProjectCancelParams, OperationKind, OperationParamsMap, ProjectAddParams, ProjectCompleteParams, ProjectAddRepeatingParams, ProjectUpdateParams, RepeatRuleParams, ReorderParams, TagAddParams, TagUpdateParams, HeadingArchiveParams, HeadingUnarchiveParams, HeadingPlacement, TodoAddLoggedParams, TodoAddParams, TodoBackdateParams, TodoMoveParams, TodoUpdateParams } from "./write/operations.ts";
20
+ import type { AreaAddParams, AreaUpdateParams, ContainerRef, ProjectCancelParams, OperationKind, OperationParamsMap, ProjectAddParams, ProjectCompleteParams, ProjectAddRepeatingParams, ProjectUpdateParams, RepeatRuleParams, ReorderParams, TagAddParams, TagUpdateParams, HeadingArchiveParams, HeadingUnarchiveParams, HeadingPlacement, TodoAddParams, TodoMoveParams, TodoUpdateParams } from "./write/operations.ts";
20
21
  import { type MutationResult, type WriteOptions } from "./write/pipeline.ts";
21
22
  import { type BatchItemResult, type BatchOp, type BatchOptions, type BatchResult } from "./write/batch.ts";
22
23
  import { type EnvironmentTracker } from "./write/environment.ts";
@@ -99,33 +100,66 @@ export interface BoundedList<T> {
99
100
  filter?: ViewFilterMeta;
100
101
  }
101
102
  /**
102
- * A bounded today view: `view` is the shown flat `items[]` (capped in comparator
103
- * order) plus the whole-view `counts`, and `truncation` the exact counts,
104
- * including the per-render-section (`today`/`evening`) breakdown derived per row
105
- * from `when` a renderer needs to stay honest.
103
+ * A bounded global `upcoming` list: the flat {@link truncateList} slice (rendered
104
+ * as-is, grouped by day in the renderer) plus `upcomingTotals` the PRE-cap
105
+ * per-day-block sizes keyed by `when`, from which each `data.sections` day block's
106
+ * inline `total` derives (present iff the flat row cap straddled that day, R1).
107
+ */
108
+ export interface BoundedUpcomingList extends BoundedList<ListItem> {
109
+ /** Pre-cap day-block sizes for the wire's inline `total` (see {@link UpcomingBlockTotals}). */
110
+ upcomingTotals: UpcomingBlockTotals;
111
+ }
112
+ /**
113
+ * A bounded Today view: `view` is the shown split (capped in render order —
114
+ * Today, then This Evening), `truncation` the exact global counts, and `totals`
115
+ * the PRE-cap Today/This-Evening bucket sizes — the renderer keeps This Evening
116
+ * honest under the single global cap, and each `children` bucket's inline `total`
117
+ * (present iff capped, read-shape v2 R1) derives from them.
106
118
  */
107
119
  export interface BoundedTodayView {
108
120
  view: TodayView;
109
121
  truncation: Truncation;
122
+ /** Pre-cap Today / This-Evening bucket sizes (see {@link TodayBucketTotals}). */
123
+ totals: TodayBucketTotals;
110
124
  /** The active `area` scope, when one was applied (surfaced as `meta.filter`). */
111
125
  filter?: ViewFilterMeta;
112
126
  }
113
127
  /**
114
128
  * A bounded sidebar catalogue (anytime/someday): `view` is the
115
- * per-block-capped sections and `truncation` the unified completeness metadata
116
- * whose `blocks` carry the identity-bearing per-block counts (project blocks
117
- * nested under their area/loose block).
129
+ * per-block-capped sections and `truncation` the WHOLE-VIEW completeness rollup
130
+ * (`{shown,total,limit,truncated}`). Per-section completeness rides its inline
131
+ * `total` on the wire (stamped from `sectionTotals`, R1); `blocks` carries the
132
+ * identity-bearing per-block counts (project blocks nested under their area/loose
133
+ * block) as INTERNAL render plumbing only — the grouped renderers' "… N more"
134
+ * drill-downs — never on the wire (doctrine v2 PR 5: the sidecar retired).
118
135
  */
119
136
  export interface BoundedSectionsView {
120
137
  view: SidebarSection[];
121
138
  truncation: Truncation;
139
+ /** Per-block render detail (TTY drill-downs); never serialized. */
140
+ blocks: GroupBlock[];
141
+ /**
142
+ * Pre-cap per-section sizes keyed by area uuid (`null` = loose) — the inline
143
+ * `total` a consumer stamps on each capped section ({@link withSectionTotals},
144
+ * R1), so completeness is answerable locally with no `blocks[]` sidecar.
145
+ */
146
+ sectionTotals: SectionTotals;
122
147
  /** The active `area` scope, when one was applied (surfaced as `meta.filter`). */
123
148
  filter?: ViewFilterMeta;
124
149
  }
125
- /** A bounded composite area card: the per-section-capped view and the per-block truncation. */
150
+ /** A bounded composite area card: the per-section-capped view and the whole-view rollup. */
126
151
  export interface BoundedAreaView {
127
152
  view: AreaView;
128
153
  truncation: Truncation;
154
+ /** Per-block render detail (the `area show` "… N more" footers); never serialized. */
155
+ blocks: GroupBlock[];
156
+ /**
157
+ * Pre-cap scope sizes (read-shape v2 R1, PR 3) — the direct-to-dos and
158
+ * project-rows counts a consumer stamps as each capped scope's inline `total`
159
+ * ({@link withAreaBucketTotals}), so completeness is answerable locally with no
160
+ * `meta.truncation.blocks[]` sidecar.
161
+ */
162
+ totals: AreaBucketTotals;
129
163
  /**
130
164
  * A resolution disclosure — present ONLY on the `loose` pseudo-area read when
131
165
  * a real area shadows the reserved word (names it, by uuid, for targeting).
@@ -141,6 +175,16 @@ export interface BoundedAreaView {
141
175
  */
142
176
  loggedCount?: number;
143
177
  }
178
+ /**
179
+ * Resolution-timestamp flags (plan §2): an ISO date (`2025-01-15`) or datetime
180
+ * (`2025-01-15T09:30`). `completedAt` sets the completion timestamp (also the
181
+ * "Completed on" stamp for canceled items); `createdAt` backdates creation. A
182
+ * date-only value normalizes to noon in the effective zone (§5).
183
+ */
184
+ export interface ResolutionDates {
185
+ createdAt?: string;
186
+ completedAt?: string;
187
+ }
144
188
  export interface ThingsClient {
145
189
  dbPath: string;
146
190
  config: ThingsApiConfig;
@@ -192,11 +236,11 @@ export interface ThingsClient {
192
236
  refPromoter(): RefPromoter;
193
237
  read: {
194
238
  /**
195
- * The Today list one flat `items[]` of Today members (Today-proper and
196
- * This-Evening interleaved in comparator order, each row's `when` carrying
197
- * which) plus the whole-view `counts` aggregate, bounded to `limit` rows
198
- * (default 50). `all`/`limit: null` returns every row; the `truncation`
199
- * metadata carries the per-render-section (`today`/`evening`) counts.
239
+ * The Today list (Today + This Evening split) plus the whole-view `counts`
240
+ * aggregate (the app's sidebar count), bounded to `limit` rows (default 50)
241
+ * counted in render order Today first, then This Evening. `all`/`limit:
242
+ * null` returns every row; `totals` carries the pre-cap Today/This-Evening
243
+ * bucket sizes (the two `children` bucket records project from the split).
200
244
  */
201
245
  today(options?: TodayFilter & ListBound & ClockScopedRead & AreaScopedRead): BoundedTodayView;
202
246
  /** Inbox captures, bounded (default 50). */
@@ -208,8 +252,8 @@ export interface ThingsClient {
208
252
  * catalogue to one area (its rows survive; the rest drop).
209
253
  */
210
254
  anytime(options?: ViewFilter & GroupedBound & ClockScopedRead & AreaScopedRead): BoundedSectionsView;
211
- /** Future-scheduled items in date order, bounded (default 50). */
212
- upcoming(options?: UpcomingFilter & ListBound & ClockScopedRead & AreaScopedRead): BoundedList<ListItem>;
255
+ /** Future-scheduled items in date order, bounded (default 50); day-block totals for R1. */
256
+ upcoming(options?: UpcomingFilter & ListBound & ClockScopedRead & AreaScopedRead): BoundedUpcomingList;
213
257
  /**
214
258
  * Someday catalogue: `areaLimit` (default 30) caps each group; with
215
259
  * `activeProjectItems`, `projectLimit` (default: every item) caps each
@@ -281,9 +325,20 @@ export interface ThingsClient {
281
325
  /** Generic entry: run any cataloged operation. */
282
326
  run<K extends OperationKind>(op: K, params: OperationParamsMap[K], options?: WriteOptions): Promise<MutationResult>;
283
327
  addTodo(params: TodoAddParams, options?: WriteOptions): Promise<MutationResult>;
284
- updateTodo(uuid: string, patch: Omit<TodoUpdateParams, "uuid">, options?: WriteOptions): Promise<MutationResult>;
285
- completeTodo(uuid: string, options?: WriteOptions): Promise<MutationResult>;
286
- cancelTodo(uuid: string, options?: WriteOptions): Promise<MutationResult>;
328
+ updateTodo(uuid: string, patch: Omit<TodoUpdateParams, "uuid"> & ResolutionDates, options?: WriteOptions): Promise<MutationResult>;
329
+ /**
330
+ * Complete a to-do. With `resolution.completedAt` (ISO date or datetime) the
331
+ * to-do lands completed and BACKDATED — resolving it first if needed, then
332
+ * an AppleScript completion-date write; a date-only value normalizes to noon
333
+ * in the effective zone (§5). Multi-leg, disclosed in the result / dry-run.
334
+ */
335
+ completeTodo(uuid: string, resolution?: ResolutionDates, options?: WriteOptions): Promise<MutationResult>;
336
+ /**
337
+ * Cancel a to-do. With `resolution.completedAt` it lands canceled and
338
+ * BACKDATED via the certified flip-dance (→completed · AS backdate · →canceled)
339
+ * — the only headless path that keeps a canceled item canceled.
340
+ */
341
+ cancelTodo(uuid: string, resolution?: ResolutionDates, options?: WriteOptions): Promise<MutationResult>;
287
342
  reopenTodo(uuid: string, options?: WriteOptions): Promise<MutationResult>;
288
343
  moveTodo(uuid: string, dest: Omit<TodoMoveParams, "uuid">, options?: WriteOptions): Promise<MutationResult>;
289
344
  /**
@@ -303,6 +358,18 @@ export interface ThingsClient {
303
358
  * fail closed.
304
359
  */
305
360
  reorderTodos(request: ReorderRequest, options?: WriteOptions): Promise<MoveResult>;
361
+ /**
362
+ * The ONE reorder verb (`things reorder`). Rearranges a single-KIND set IN
363
+ * PLACE — to-dos, projects, headings, OR sidebar areas — dispatching the
364
+ * protocol by kind: the index/day/view engine for to-dos and projects (a
365
+ * to-do+project set intermixes only on the shared Today/Evening/day axes), the
366
+ * certified heading-block wire for a project's headings (archived headings
367
+ * reorderable, reopens disclosed — #V11), and the sidebar-drag driver for
368
+ * areas. A mixed-kind set, a cross-container set, and a non-member anchor each
369
+ * get one precise refusal. Bare (no position) assembles the block at the
370
+ * earliest movee's slot; --start/--end/--before/--after position it.
371
+ */
372
+ reorderAny(request: ReorderRequest, options?: WriteOptions): Promise<MoveResult>;
306
373
  /** Replace the full tag set (an empty list clears all tags). */
307
374
  setTags(uuid: string, tags: string[], options?: WriteOptions): Promise<MutationResult>;
308
375
  /** Merge: current direct tags + new ones, then replace. */
@@ -321,17 +388,6 @@ export interface ThingsClient {
321
388
  * Reversible with `undo`. Force a path with `vector: "shortcuts" | "url-scheme"`.
322
389
  */
323
390
  clearReminder(uuid: string, options?: WriteOptions): Promise<MutationResult>;
324
- /**
325
- * Rewrite a to-do's completion and/or creation timestamp to noon (local)
326
- * on the given date. Completion requires the to-do to be completed or
327
- * canceled already.
328
- */
329
- backdateTodo(uuid: string, dates: Omit<TodoBackdateParams, "uuid">, options?: WriteOptions): Promise<MutationResult>;
330
- /**
331
- * Create a to-do directly in the Logbook, completed, with backdated
332
- * completion (and optionally creation) timestamps.
333
- */
334
- addLoggedTodo(params: TodoAddLoggedParams, options?: WriteOptions): Promise<MutationResult>;
335
391
  /**
336
392
  * Create a heading inside an EXISTING project; the new heading's uuid is
337
393
  * on the result. Delivered through the Things proxy shortcuts (run
@@ -391,8 +447,9 @@ export interface ThingsClient {
391
447
  */
392
448
  editChecklist(uuid: string, edit: ChecklistEdit, options?: WriteOptions): Promise<MutationResult>;
393
449
  addProject(params: ProjectAddParams, options?: WriteOptions): Promise<MutationResult>;
394
- updateProject(uuid: string, patch: Omit<ProjectUpdateParams, "uuid">, options?: WriteOptions): Promise<MutationResult>;
395
- completeProject(uuid: string, policy: Pick<ProjectCompleteParams, "children">, options?: WriteOptions): Promise<MutationResult>;
450
+ updateProject(uuid: string, patch: Omit<ProjectUpdateParams, "uuid"> & ResolutionDates, options?: WriteOptions): Promise<MutationResult>;
451
+ /** Complete a project; `resolution.completedAt` backdates it (see completeTodo). */
452
+ completeProject(uuid: string, policy: Pick<ProjectCompleteParams, "children"> & ResolutionDates, options?: WriteOptions): Promise<MutationResult>;
396
453
  /** Move a project to another area. */
397
454
  moveProject(uuid: string, area: ContainerRef, options?: WriteOptions): Promise<MutationResult>;
398
455
  /** Detach a project from its current area. */
@@ -405,8 +462,8 @@ export interface ThingsClient {
405
462
  moveProjects(request: ProjectMoveRequest, options?: WriteOptions): Promise<MoveResult>;
406
463
  /** Reorder projects IN PLACE among their siblings (spec §4). */
407
464
  reorderProjects(request: ReorderRequest, options?: WriteOptions): Promise<MoveResult>;
408
- /** Cancel a project — open children are canceled with it, so the children policy is mandatory. */
409
- cancelProject(uuid: string, policy: Pick<ProjectCancelParams, "children">, options?: WriteOptions): Promise<MutationResult>;
465
+ /** Cancel a project — open children are canceled with it, so the children policy is mandatory. `resolution.completedAt` backdates it (flip-dance). */
466
+ cancelProject(uuid: string, policy: Pick<ProjectCancelParams, "children"> & ResolutionDates, options?: WriteOptions): Promise<MutationResult>;
410
467
  /**
411
468
  * Reopen a completed/canceled project. Children stay resolved unless
412
469
  * restoreChildren reopens the ones resolved together with the project.
package/dist/client.js CHANGED
@@ -16,7 +16,7 @@ import { snapshotView } from "./read/snapshot.js";
16
16
  import { classifyShowTarget } from "./read/show-target.js";
17
17
  import { areasView, tagsView } from "./read/tags.js";
18
18
  import { anytimeView, areaLoggedCount, changesView, inboxView, liteTitleSearch, logbookView, projectsView, searchView, somedayView, todayView, trashView, upcomingView, } from "./read/views.js";
19
- import { capAreaSections, previewSections, previewSomedaySections, truncateList, truncateToday, } from "./read/truncation.js";
19
+ import { capAreaSections, previewSections, previewSomedaySections, truncateList, truncateToday, upcomingBlockTotals, } from "./read/truncation.js";
20
20
  import { filterListByArea, filterSectionsByArea, filterTodayByArea, resolveAreaFilter, } from "./read/area-filter.js";
21
21
  import { filterListByScope, filterSectionsByScope, filterTodayByScope, inScopeItem, namedAreaClause, namedProjectClause, resolveScope, scopeMeta, taskMembershipClause, } from "./read/scope.js";
22
22
  import { localToday } from "./model/dates.js";
@@ -31,8 +31,9 @@ import { runAddHeading, runHeadingArchive, runHeadingUnarchive, } from "./write/
31
31
  import { runClearReminder } from "./write/clear-reminder.js";
32
32
  import { runEditChecklist } from "./write/edit-checklist.js";
33
33
  import { runAddRepeatingProject, runMakeRepeatingProject } from "./write/make-repeating-project.js";
34
+ import { runCancelWithDate, runCompleteWithDate, runUpdateDates, } from "./write/resolution-timestamps.js";
34
35
  import { runReorder } from "./write/reorder.js";
35
- import { runInPlaceReorder, runProjectMove, runTodoMove, } from "./write/move.js";
36
+ import { runInPlaceReorder, runProjectMove, runTodoMove, runUniversalReorder, } from "./write/move.js";
36
37
  import { readAuditRecords, runUndo } from "./write/undo.js";
37
38
  import { runProjectReopen, } from "./write/reopen.js";
38
39
  import { defaultVectors } from "./write/vectors/registry.js";
@@ -182,6 +183,26 @@ export function openThings(options = {}) {
182
183
  // to the effective zone before dispatch (a no-op without a zone).
183
184
  return runMutation(writeDeps, op, params, { ...writeOptions, normalizeWhen: true });
184
185
  };
186
+ // update dispatcher: the resolution-timestamp flags route through the
187
+ // multi-leg orchestrator; plain attribute edits stay on `todo/project.update`.
188
+ // When BOTH are present the attribute edit lands first (its own undo), then
189
+ // the timestamp legs — two independently-undoable changes.
190
+ const runUpdate = async (kind, uuid, patch, o) => {
191
+ const { createdAt, completedAt, ...attrs } = patch;
192
+ const op = kind === "project" ? "project.update" : "todo.update";
193
+ if (createdAt === undefined && completedAt === undefined) {
194
+ return run(op, { uuid, ...attrs }, o);
195
+ }
196
+ if (Object.keys(attrs).length > 0) {
197
+ const attrResult = await run(op, { uuid, ...attrs }, o);
198
+ if (attrResult.kind !== "ok" && attrResult.kind !== "dry-run")
199
+ return attrResult;
200
+ }
201
+ return runUpdateDates(writeDeps, kind, uuid, {
202
+ ...(createdAt !== undefined && { createdAt }),
203
+ ...(completedAt !== undefined && { completedAt }),
204
+ }, o ?? {});
205
+ };
185
206
  return {
186
207
  dbPath: located.path,
187
208
  config,
@@ -227,8 +248,8 @@ export function openThings(options = {}) {
227
248
  view = filterTodayByArea(view, target.uuid, localToday(now(), zoneOf(o)));
228
249
  filter = { area: target };
229
250
  }
230
- const { data, truncation } = truncateToday(view, listCap(o));
231
- return { view: data, truncation, ...(filter !== undefined && { filter }) };
251
+ const { data, truncation, totals } = truncateToday(view, listCap(o));
252
+ return { view: data, truncation, totals, ...(filter !== undefined && { filter }) };
232
253
  },
233
254
  inbox: (o) => {
234
255
  let items = inboxView(conn.db, now(), o, zoneOf(o));
@@ -249,8 +270,14 @@ export function openThings(options = {}) {
249
270
  sections = filterSectionsByArea(sections, target.uuid);
250
271
  filter = { area: target };
251
272
  }
252
- const { data, truncation } = previewSections(sections, groupedCaps(o, AREA_PREVIEW_LIMIT, PROJECT_PREVIEW_LIMIT));
253
- return { view: data, truncation, ...(filter !== undefined && { filter }) };
273
+ const { data, truncation, blocks, totals } = previewSections(sections, groupedCaps(o, AREA_PREVIEW_LIMIT, PROJECT_PREVIEW_LIMIT));
274
+ return {
275
+ view: data,
276
+ truncation,
277
+ blocks,
278
+ sectionTotals: totals,
279
+ ...(filter !== undefined && { filter }),
280
+ };
254
281
  },
255
282
  upcoming: (o) => {
256
283
  let items = upcomingView(conn.db, now(), o, zoneOf(o));
@@ -262,8 +289,11 @@ export function openThings(options = {}) {
262
289
  items = filterListByArea(items, target.uuid);
263
290
  filter = { area: target };
264
291
  }
292
+ // Pre-cap per-day-block sizes for the wire's inline `total` (R1): counted
293
+ // over the in-scope, area-filtered stream BEFORE the flat row cap slices it.
294
+ const upcomingTotals = upcomingBlockTotals(items);
265
295
  const { data, truncation } = truncateList(items, listCap(o));
266
- return { items: data, truncation, ...(filter !== undefined && { filter }) };
296
+ return { items: data, truncation, upcomingTotals, ...(filter !== undefined && { filter }) };
267
297
  },
268
298
  someday: (o) => {
269
299
  let sections = somedayView(conn.db, now(), o, zoneOf(o));
@@ -275,8 +305,14 @@ export function openThings(options = {}) {
275
305
  sections = filterSectionsByArea(sections, target.uuid);
276
306
  filter = { area: target };
277
307
  }
278
- const { data, truncation } = previewSomedaySections(sections, groupedCaps(o, AREA_PREVIEW_LIMIT, null));
279
- return { view: data, truncation, ...(filter !== undefined && { filter }) };
308
+ const { data, truncation, blocks, totals } = previewSomedaySections(sections, groupedCaps(o, AREA_PREVIEW_LIMIT, null));
309
+ return {
310
+ view: data,
311
+ truncation,
312
+ blocks,
313
+ sectionTotals: totals,
314
+ ...(filter !== undefined && { filter }),
315
+ };
280
316
  },
281
317
  logbook: (o) => {
282
318
  // The bound is the truncation cap; the underlying query stays unbounded
@@ -340,7 +376,7 @@ export function openThings(options = {}) {
340
376
  : { where: "0", binds: [] };
341
377
  resolveAreaUuid(conn.db, ref, { scopeWhere: clause.where, scopeBinds: clause.binds });
342
378
  }
343
- const { data, truncation } = capAreaSections(areaView(conn.db, ref, now(), o ?? {}, zoneOf(o)), groupedCaps(o, AREA_PREVIEW_LIMIT, AREA_PREVIEW_LIMIT), now(), zoneOf(o));
379
+ const { data, truncation, blocks, totals } = capAreaSections(areaView(conn.db, ref, now(), o ?? {}, zoneOf(o)), groupedCaps(o, AREA_PREVIEW_LIMIT, AREA_PREVIEW_LIMIT), now(), zoneOf(o));
344
380
  // Reserved-word disclosure: `loose` ALWAYS wins over a real area named
345
381
  // "Loose"; when one shadows, name it (by uuid) so it stays targetable.
346
382
  const shadow = isLooseRef(ref) ? shadowingLooseArea(conn.db) : undefined;
@@ -353,6 +389,8 @@ export function openThings(options = {}) {
353
389
  return {
354
390
  view: data,
355
391
  truncation,
392
+ blocks,
393
+ totals,
356
394
  ...(shadow !== undefined && { notice: looseShadowNotice(shadow) }),
357
395
  ...(loggedCount !== undefined && { loggedCount }),
358
396
  };
@@ -423,13 +461,14 @@ export function openThings(options = {}) {
423
461
  write: {
424
462
  run,
425
463
  addTodo: (params, o) => run("todo.add", params, o),
426
- updateTodo: (uuid, patch, o) => run("todo.update", { uuid, ...patch }, o),
427
- completeTodo: (uuid, o) => run("todo.complete", { uuid }, o),
428
- cancelTodo: (uuid, o) => run("todo.cancel", { uuid }, o),
464
+ updateTodo: (uuid, patch, o) => runUpdate("todo", uuid, patch, o),
465
+ completeTodo: (uuid, resolution, o) => runCompleteWithDate(writeDeps, "todo", uuid, resolution ?? {}, o ?? {}),
466
+ cancelTodo: (uuid, resolution, o) => runCancelWithDate(writeDeps, "todo", uuid, resolution ?? {}, o ?? {}),
429
467
  reopenTodo: (uuid, o) => run("todo.reopen", { uuid }, o),
430
468
  moveTodo: (uuid, dest, o) => run("todo.move", { uuid, ...dest }, o),
431
469
  moveTodos: (request, o) => runTodoMove(writeDeps, request, o ?? {}),
432
470
  reorderTodos: (request, o) => runInPlaceReorder(writeDeps, "todo.move", request, o ?? {}),
471
+ reorderAny: (request, o) => runUniversalReorder(writeDeps, request, o ?? {}),
433
472
  setTags: (uuid, tags, o) => run("todo.set-tags", { uuid, tags }, o),
434
473
  addTags(uuid, tags, o) {
435
474
  const current = byUuid(conn.db, uuid);
@@ -441,8 +480,6 @@ export function openThings(options = {}) {
441
480
  deleteTodo: (uuid, o) => run("todo.delete", { uuid }, o),
442
481
  duplicateTodo: (uuid, o) => run("todo.duplicate", { uuid }, o),
443
482
  restoreTodo: (uuid, o) => run("todo.restore", { uuid }, o),
444
- backdateTodo: (uuid, dates, o) => run("todo.backdate", { uuid, ...dates }, o),
445
- addLoggedTodo: (params, o) => run("todo.add-logged", params, o),
446
483
  addHeading: (project, title, placement, o) => runAddHeading(writeDeps, project, title, placement, o ?? {}),
447
484
  renameHeading: (uuid, title, o) => run("project.rename-heading", { uuid, title }, o),
448
485
  moveHeading: (project, headings, placement, o) => run("project.move-heading", { project, headings, placement }, o),
@@ -454,13 +491,19 @@ export function openThings(options = {}) {
454
491
  detachTodo: (uuid, o) => run("todo.move", { uuid, loose: true }, o),
455
492
  editChecklist: (uuid, edit, o) => runEditChecklist(writeDeps, uuid, edit, o ?? {}),
456
493
  addProject: (params, o) => run("project.add", params, o),
457
- updateProject: (uuid, patch, o) => run("project.update", { uuid, ...patch }, o),
458
- completeProject: (uuid, policy, o) => run("project.complete", { uuid, children: policy.children }, o),
494
+ updateProject: (uuid, patch, o) => runUpdate("project", uuid, patch, o),
495
+ completeProject: (uuid, policy, o) => runCompleteWithDate(writeDeps, "project", uuid, {
496
+ children: policy.children,
497
+ ...(policy.completedAt !== undefined && { completedAt: policy.completedAt }),
498
+ }, o ?? {}),
459
499
  moveProject: (uuid, area, o) => run("project.move", { uuid, area }, o),
460
500
  detachProject: (uuid, o) => run("project.move", { uuid, noArea: true }, o),
461
501
  moveProjects: (request, o) => runProjectMove(writeDeps, request, o ?? {}),
462
502
  reorderProjects: (request, o) => runInPlaceReorder(writeDeps, "project.move", request, o ?? {}),
463
- cancelProject: (uuid, policy, o) => run("project.cancel", { uuid, children: policy.children }, o),
503
+ cancelProject: (uuid, policy, o) => runCancelWithDate(writeDeps, "project", uuid, {
504
+ children: policy.children,
505
+ ...(policy.completedAt !== undefined && { completedAt: policy.completedAt }),
506
+ }, o ?? {}),
464
507
  reopenProject: (uuid, o) => runProjectReopen(writeDeps, uuid, o ?? {}),
465
508
  restoreProject: (uuid, o) => run("project.restore", { uuid }, o),
466
509
  duplicateProject: (uuid, o) => run("project.duplicate", { uuid }, o),
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
@@ -13,7 +13,7 @@ export declare const API_VERSION = 1;
13
13
  * Package version, surfaced by `things --version` and the MCP serverInfo.
14
14
  * Kept in lockstep with package.json by a contract test.
15
15
  */
16
- export declare const PKG_VERSION = "0.13.0";
16
+ export declare const PKG_VERSION = "0.14.0";
17
17
  /**
18
18
  * Stable exit-code contract for the `things` CLI (mirrored by MCP error
19
19
  * codes). Part of the public API surface consumed by agents and scripts —
@@ -38,18 +38,6 @@ export declare const ExitCode: {
38
38
  readonly Environment: 7;
39
39
  };
40
40
  export type ExitCode = (typeof ExitCode)[keyof typeof ExitCode];
41
- /**
42
- * Per-section counts for a SPLIT flat view — currently only `today`'s
43
- * Today / This-Evening split. One entry per section IN RENDER ORDER, each
44
- * reporting the rows `shown` of the `total` that matched after all filters.
45
- * Lets a renderer keep a downstream section (This Evening) honest under a
46
- * single global cap without a pre-truncation copy of the view.
47
- */
48
- export interface SectionCount {
49
- key: "today" | "evening";
50
- shown: number;
51
- total: number;
52
- }
53
41
  /**
54
42
  * The single truncation-metadata shape for every read (the `meta.truncation`
55
43
  * field). `shown` items were returned of `total` that matched after all
@@ -59,31 +47,31 @@ export interface SectionCount {
59
47
  * (`shown < total`, or any block hid rows). The dropped remainder is
60
48
  * `total - shown`.
61
49
  *
62
- * Two optional per-shape breakdowns hang off it: `sections` for a split flat
63
- * view (the Today split — per render-section shown/total), and `blocks` for a
64
- * grouped view (anytime/someday/`area show` the identity-carrying per-block
65
- * nesting). Exactly one of them is present on the shapes that have it; both are
66
- * absent on a plain flat view.
50
+ * This is the WHOLE-VIEW rollup only. Per-bucket completeness rides INLINE on the
51
+ * data records (read-shape v2 R1): each `children`/`sections`/`projects` bucket
52
+ * carries its own `total`, present iff it was capped. The pre-v2 `blocks[]`
53
+ * descriptor-join sidecar is RETIRED from the wire entirely (doctrine v2 PR 5) —
54
+ * the per-block detail the TTY renderers need is internal render plumbing
55
+ * ({@link GroupBlock}), never serialized.
67
56
  */
68
57
  export interface Truncation {
69
58
  shown: number;
70
59
  total: number;
71
60
  limit: number | null;
72
61
  truncated: boolean;
73
- /** Per-section shown/total breakdown for a split flat view (Today); absent otherwise. */
74
- sections?: SectionCount[];
75
- /** Per-block nesting for a grouped view (anytime/someday/area card); absent otherwise. */
76
- blocks?: GroupBlock[];
77
62
  }
78
63
  /**
79
64
  * One identity-carrying block of a grouped catalogue (anytime/someday) or a
80
- * sectioned detail view (`area show`). Every header/section is always rendered;
81
- * only the innermost item lists are capped. Emitted for every block that has
82
- * rows to cap (`total > 0`) including a block whose rows were ALL dropped
83
- * (`shown: 0`), so no truncated header is untraceable. A block with no
84
- * cappable rows of its own (`total: 0`) is omitted UNLESS it wraps truncated
85
- * `children` an area whose only capped content is its project item-lists
86
- * still appears as their container.
65
+ * sectioned detail view (`area show`) INTERNAL render plumbing only, NEVER on
66
+ * the wire (the `blocks[]` truncation sidecar retired in doctrine v2 PR 5; each
67
+ * bucket's completeness now rides its inline `total`, R1). The grouped renderers
68
+ * consume these to draw per-block "… N more" drill-down footers. Every
69
+ * header/section is always rendered; only the innermost item lists are capped.
70
+ * Emitted for every block that has rows to cap (`total > 0`) — including a block
71
+ * whose rows were ALL dropped (`shown: 0`), so no truncated header is
72
+ * untraceable. A block with no cappable rows of its own (`total: 0`) is omitted
73
+ * UNLESS it wraps truncated `children` — an area whose only capped content is its
74
+ * project item-lists still appears as their container.
87
75
  *
88
76
  * Blocks are NESTED: an area/loose block carries its project blocks in
89
77
  * `children` — in anytime the project item-lists inside the area, in someday
@@ -119,10 +107,12 @@ export interface EnvelopeMeta {
119
107
  /** Wall-clock duration of the command in milliseconds. */
120
108
  elapsedMs: number;
121
109
  /**
122
- * The read's completeness metadata (the single truncation shape). Present on
123
- * any read that could drop rows — flat views (row `limit`), the Today split
124
- * (`sections`), and grouped views (anytime/someday/`area show`, `blocks`).
125
- * `meta.truncation.truncated` is the universal "did I see everything" check.
110
+ * The read's completeness metadata (the single truncation shape) the
111
+ * WHOLE-VIEW rollup. Present on any read that could drop rows — flat views (row
112
+ * `limit`), the `today` view, and grouped views (anytime/someday/`area show`).
113
+ * Per-bucket completeness rides INLINE on the data records' own `total` (R1),
114
+ * never on this envelope. `meta.truncation.truncated` is the universal "did I
115
+ * see everything" check.
126
116
  */
127
117
  truncation?: Truncation;
128
118
  /**
package/dist/contracts.js CHANGED
@@ -13,7 +13,7 @@ export const API_VERSION = 1;
13
13
  * Package version, surfaced by `things --version` and the MCP serverInfo.
14
14
  * Kept in lockstep with package.json by a contract test.
15
15
  */
16
- export const PKG_VERSION = "0.13.0";
16
+ export const PKG_VERSION = "0.14.0";
17
17
  /**
18
18
  * Stable exit-code contract for the `things` CLI (mirrored by MCP error
19
19
  * codes). Part of the public API surface consumed by agents and scripts —