things-api 0.14.0 → 0.16.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 (140) hide show
  1. package/README.md +4 -4
  2. package/dist/audit/schema.d.ts +8 -0
  3. package/dist/audit/schema.js.map +1 -1
  4. package/dist/cli/commands/area.js +1 -1
  5. package/dist/cli/commands/install-skill.js +9 -2
  6. package/dist/cli/commands/install-skill.js.map +1 -1
  7. package/dist/cli/commands/project.js +1 -1
  8. package/dist/cli/commands/project.js.map +1 -1
  9. package/dist/cli/commands/reads.js +73 -4
  10. package/dist/cli/commands/reads.js.map +1 -1
  11. package/dist/cli/commands/repeat-flags.d.ts +11 -1
  12. package/dist/cli/commands/repeat-flags.js +23 -0
  13. package/dist/cli/commands/repeat-flags.js.map +1 -1
  14. package/dist/cli/commands/todo.js +50 -3
  15. package/dist/cli/commands/todo.js.map +1 -1
  16. package/dist/cli/commands/writes.js +202 -61
  17. package/dist/cli/commands/writes.js.map +1 -1
  18. package/dist/cli/glyphs.js +9 -10
  19. package/dist/cli/glyphs.js.map +1 -1
  20. package/dist/cli/help.js +18 -13
  21. package/dist/cli/help.js.map +1 -1
  22. package/dist/cli/read-driver.d.ts +9 -3
  23. package/dist/cli/read-driver.js +3 -1
  24. package/dist/cli/read-driver.js.map +1 -1
  25. package/dist/cli/render.d.ts +33 -2
  26. package/dist/cli/render.js +60 -9
  27. package/dist/cli/render.js.map +1 -1
  28. package/dist/cli/skill.d.ts +24 -0
  29. package/dist/cli/skill.js +40 -0
  30. package/dist/cli/skill.js.map +1 -1
  31. package/dist/client.d.ts +88 -15
  32. package/dist/client.js +31 -5
  33. package/dist/client.js.map +1 -1
  34. package/dist/contracts.d.ts +13 -2
  35. package/dist/contracts.js +1 -1
  36. package/dist/contracts.js.map +1 -1
  37. package/dist/index.d.ts +5 -4
  38. package/dist/index.js +1 -1
  39. package/dist/index.js.map +1 -1
  40. package/dist/mcp/server.js +187 -36
  41. package/dist/mcp/server.js.map +1 -1
  42. package/dist/model/entities.d.ts +97 -40
  43. package/dist/model/entities.js +0 -4
  44. package/dist/model/entities.js.map +1 -1
  45. package/dist/model/mappers.js +24 -43
  46. package/dist/model/mappers.js.map +1 -1
  47. package/dist/read/area-view.js +6 -6
  48. package/dist/read/area-view.js.map +1 -1
  49. package/dist/read/detail.js +51 -3
  50. package/dist/read/detail.js.map +1 -1
  51. package/dist/read/filter-contract.d.ts +1 -1
  52. package/dist/read/filter-contract.js +3 -0
  53. package/dist/read/filter-contract.js.map +1 -1
  54. package/dist/read/log-boundary.d.ts +46 -2
  55. package/dist/read/log-boundary.js +43 -2
  56. package/dist/read/log-boundary.js.map +1 -1
  57. package/dist/read/predicates.d.ts +13 -0
  58. package/dist/read/predicates.js +13 -0
  59. package/dist/read/predicates.js.map +1 -1
  60. package/dist/read/project-view.js +5 -5
  61. package/dist/read/project-view.js.map +1 -1
  62. package/dist/read/queries.d.ts +12 -0
  63. package/dist/read/queries.js +14 -0
  64. package/dist/read/queries.js.map +1 -1
  65. package/dist/read/search-rank.js +2 -2
  66. package/dist/read/search-rank.js.map +1 -1
  67. package/dist/read/shape.d.ts +30 -26
  68. package/dist/read/shape.js +130 -101
  69. package/dist/read/shape.js.map +1 -1
  70. package/dist/read/snapshot.js +2 -2
  71. package/dist/read/snapshot.js.map +1 -1
  72. package/dist/read/stage.d.ts +36 -18
  73. package/dist/read/stage.js +30 -13
  74. package/dist/read/stage.js.map +1 -1
  75. package/dist/read/views.d.ts +62 -0
  76. package/dist/read/views.js +134 -14
  77. package/dist/read/views.js.map +1 -1
  78. package/dist/surface-copy.d.ts +2 -2
  79. package/dist/surface-copy.js +2 -2
  80. package/dist/write/batch.d.ts +28 -3
  81. package/dist/write/batch.js +162 -46
  82. package/dist/write/batch.js.map +1 -1
  83. package/dist/write/clear-reminder.js +3 -1
  84. package/dist/write/clear-reminder.js.map +1 -1
  85. package/dist/write/clone.d.ts +4 -0
  86. package/dist/write/clone.js +531 -0
  87. package/dist/write/clone.js.map +1 -0
  88. package/dist/write/commands.js +196 -29
  89. package/dist/write/commands.js.map +1 -1
  90. package/dist/write/guards.d.ts +1 -1
  91. package/dist/write/guards.js +44 -12
  92. package/dist/write/guards.js.map +1 -1
  93. package/dist/write/make-repeating-project.d.ts +2 -3
  94. package/dist/write/make-repeating-project.js +2 -73
  95. package/dist/write/make-repeating-project.js.map +1 -1
  96. package/dist/write/move.js +53 -1
  97. package/dist/write/move.js.map +1 -1
  98. package/dist/write/operations.d.ts +134 -11
  99. package/dist/write/operations.js +5 -1
  100. package/dist/write/operations.js.map +1 -1
  101. package/dist/write/pipeline.d.ts +38 -0
  102. package/dist/write/pipeline.js +71 -6
  103. package/dist/write/pipeline.js.map +1 -1
  104. package/dist/write/pre-state.d.ts +41 -0
  105. package/dist/write/pre-state.js +71 -8
  106. package/dist/write/pre-state.js.map +1 -1
  107. package/dist/write/preserve-modified.d.ts +55 -0
  108. package/dist/write/preserve-modified.js +106 -0
  109. package/dist/write/preserve-modified.js.map +1 -0
  110. package/dist/write/promote-clone.d.ts +32 -0
  111. package/dist/write/promote-clone.js +620 -0
  112. package/dist/write/promote-clone.js.map +1 -0
  113. package/dist/write/reorder.js +49 -2
  114. package/dist/write/reorder.js.map +1 -1
  115. package/dist/write/resolution-timestamps.js +29 -7
  116. package/dist/write/resolution-timestamps.js.map +1 -1
  117. package/dist/write/reversibility.js +32 -14
  118. package/dist/write/reversibility.js.map +1 -1
  119. package/dist/write/scope-guard.js +2 -0
  120. package/dist/write/scope-guard.js.map +1 -1
  121. package/dist/write/undo.d.ts +12 -2
  122. package/dist/write/undo.js +145 -22
  123. package/dist/write/undo.js.map +1 -1
  124. package/dist/write/vectors/applescript.js +9 -0
  125. package/dist/write/vectors/applescript.js.map +1 -1
  126. package/dist/write/vectors/simulator.js +242 -10
  127. package/dist/write/vectors/simulator.js.map +1 -1
  128. package/dist/write/vectors/ui-certification.d.ts +1 -1
  129. package/dist/write/vectors/ui-certification.js +10 -3
  130. package/dist/write/vectors/ui-certification.js.map +1 -1
  131. package/dist/write/verify/delta.d.ts +55 -10
  132. package/dist/write/verify/delta.js +73 -10
  133. package/dist/write/verify/delta.js.map +1 -1
  134. package/package.json +1 -1
  135. package/schema/envelope.schema.json +25 -0
  136. package/skills/things-cli/SKILL.md +10 -7
  137. package/skills/things-cli/references/banner.md +1 -1
  138. package/skills/things-cli/references/contracts.md +17 -9
  139. package/skills/things-cli/references/{model.md → data-model.md} +5 -2
  140. package/skills/things-cli/references/ordering.md +2 -0
@@ -1 +1 @@
1
- {"version":3,"file":"shape.js","sourceRoot":"","sources":["../../src/read/shape.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shape.js","sourceRoot":"","sources":["../../src/read/shape.ts"],"names":[],"mappings":"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"}
@@ -4,8 +4,8 @@ import { encodePackedDate, localToday } from "../model/dates.js";
4
4
  import { fetchTagsForTasks, fetchTaskRows, makeRefResolver } from "./queries.js";
5
5
  import { logBoundary, markLogged } from "./log-boundary.js";
6
6
  import { areasView, tagsView } from "./tags.js";
7
- // `now`/`zone` supply the evaluation clock used to gate `todaySection` to Today
8
- // members (mappers.mapTodaySection); they default to the host clock, matching
7
+ // `now`/`zone` supply the evaluation clock used to gate the today/evening markers
8
+ // (and reminder liveness) in the mapper; they default to the host clock, matching
9
9
  // this module's existing logBoundary default.
10
10
  export function snapshotView(db, now = new Date(), zone) {
11
11
  const areas = areasView(db);
@@ -1 +1 @@
1
- {"version":3,"file":"snapshot.js","sourceRoot":"","sources":["../../src/read/snapshot.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"snapshot.js","sourceRoot":"","sources":["../../src/read/snapshot.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  /**
2
- * The R10 lifecycle taxonomy: ONE derived per-item field, `stage`, that replaces
2
+ * The RS5 lifecycle taxonomy: ONE derived per-item field, `stage`, that replaces
3
3
  * the three former wire fields `start` / `logged` / `trashed`. It names an item's
4
4
  * primary lifecycle bucket in the same six words the sidebar and the view cards
5
5
  * use, so a consumer reads one word instead of cross-referencing three.
@@ -24,7 +24,7 @@
24
24
  * A completed/canceled row NOT yet past the boundary has `logged=false` here,
25
25
  * so it FALLS THROUGH and keeps its live stage below (Mike's explicit ruling).
26
26
  * 2½. a DEADLINE-PULLED undated row (`today` marker set ∧ `startDate IS NULL`) →
27
- * `anytime` — R13 (BANNER1 / BANNER1b, law L-A): a due-deadline pull re-files
27
+ * `anytime` — RS8 (BANNER1 / BANNER1b, law L-A): a due-deadline pull re-files
28
28
  * an undated Inbox/Someday row into ANYTIME (the GUI removes it from
29
29
  * Someday/Inbox and adds it to Anytime at pull time, even while raw `start`
30
30
  * still reads 0/2). It derives its DESTINATION, not its origin. Ordered ABOVE
@@ -62,7 +62,7 @@
62
62
  * docs/lab/upcoming-research.md, summarized in docs/things-app-oddities.md
63
63
  * §8d–8e). A SOMEDAY or INBOX item with a due/overdue UNsuppressed deadline is
64
64
  * PULLED into Today+Anytime, so it too reads `stage: "anytime"` AND `today: true`
65
- * (R13 / BANNER1b — the GUI files a pulled row under Anytime, out of its origin
65
+ * (RS8 / BANNER1b — the GUI files a pulled row under Anytime, out of its origin
66
66
  * bucket, §8s); the same item once its deadline is SUPPRESSED
67
67
  * (`deadlineSuppressionDate` stamped — a side effect of rescheduling an
68
68
  * overdue-deadline item, oddities §8e) is NOT pulled: no today marker, so it
@@ -104,7 +104,7 @@ export interface StageInput {
104
104
  */
105
105
  export declare function deriveStage(item: StageInput): Stage;
106
106
  /**
107
- * An item's TIME-AXIS POSITION (R12) — a presence-keyed value complementary to
107
+ * An item's TIME-AXIS POSITION (RS7) — a presence-keyed value complementary to
108
108
  * {@link Stage}. The doctrine line: **`stage` enumerates the sidebar BUCKETS an
109
109
  * item lives in; `when` enumerates its TIME POSITIONS (today | evening | a future
110
110
  * date).** Someday is deliberately NOT a `when` value — it is a bucket, so it
@@ -142,26 +142,43 @@ export interface WhenInput {
142
142
  * fact the star renders). See the type doc for the four positions.
143
143
  */
144
144
  export declare function deriveWhen(item: WhenInput): When | undefined;
145
- /** The materialized-entity shape {@link entityWhen} reads (a superset of both inputs). */
146
- export interface WhenStageInput extends StageInput {
147
- /** The presence-keyed This-Evening marker (implies today). */
148
- evening?: boolean;
145
+ /**
146
+ * The materialized-ENTITY shape the entity-level derivations read: the raw
147
+ * lifecycle substrate lives in the nested `derived` bag ({@link
148
+ * DerivedSubstrate}); `startDate` and `repeating` stay flat (consumer fields).
149
+ */
150
+ export interface EntityDerivable {
151
+ startDate: IsoDate | null;
149
152
  repeating: {
150
153
  isTemplate: boolean;
151
154
  nextOccurrence?: IsoDate | null;
152
155
  };
156
+ derived: {
157
+ start: StartState;
158
+ logged: boolean;
159
+ trashed: boolean;
160
+ today?: boolean;
161
+ evening?: boolean;
162
+ };
153
163
  }
164
+ /**
165
+ * The ONE {@link Stage} derivation for a materialized ENTITY — composes {@link
166
+ * deriveStage} off the entity's `derived` substrate. Exported for programmatic-
167
+ * API ergonomics: a TS consumer gets the wire's lifecycle word from an entity +
168
+ * clock without reaching into `entity.derived` itself.
169
+ */
170
+ export declare function entityStage(item: EntityDerivable): Stage;
154
171
  /**
155
172
  * The ONE time-axis derivation for a materialized ENTITY — the SINGLE SOURCE the
156
173
  * wire emit boundary (`shape.ts` `whenOf`) and the human/TTY renderers
157
- * (`whenValue`, `todayMark`) share. Composes {@link deriveStage} → {@link
174
+ * (`whenValue`, `todayMark`) share. Composes {@link entityStage} → {@link
158
175
  * deriveWhen} off the entity's own presence-keyed markers, so a TTY when/pip can
159
- * NEVER disagree with the emitted `when` (never re-derived from `startBucket` /
160
- * `todaySection`). Returns the same {@link When} the wire carries.
176
+ * NEVER disagree with the emitted `when` (never re-derived from `startBucket`).
177
+ * Returns the same {@link When} the wire carries.
161
178
  */
162
- export declare function entityWhen(item: WhenStageInput): When | undefined;
179
+ export declare function entityWhen(item: EntityDerivable): When | undefined;
163
180
  /**
164
- * The R13 provisional-marker LAW (BANNER1 L-B) — the ONE predicate the wire emit
181
+ * The RS8 provisional-marker LAW (BANNER1 L-B) — the ONE predicate the wire emit
165
182
  * boundary (`shape.ts`) and the TTY pip (`render.ts` renderToday) share, so a
166
183
  * rendered `•` can NEVER disagree with the emitted `provisional`. A Today member
167
184
  * (a today/evening `when`) the app has not yet MATERIALIZED: `start != active OR
@@ -175,12 +192,13 @@ export declare function whenIsProvisional(when: When | undefined, start: StartSt
175
192
  * {@link entityWhen} (the same value the wire emits), so the TTY provisional pip
176
193
  * shares the wire's derivation end to end.
177
194
  */
178
- export declare function entityProvisional(item: WhenStageInput): boolean;
195
+ export declare function entityProvisional(item: EntityDerivable): boolean;
179
196
  /**
180
- * The §9n stale-reminder LAW — the ONE liveness predicate the read-emit boundary
181
- * (its precomputed `reminderLive` marker, mappers) and the write-side reminder
182
- * auto-preserve ({@link src/write/commands.ts} `effectiveReminder`) share, so a
183
- * reminder is reported/preserved iff the GUI would still render its bell.
197
+ * The §9n stale-reminder LAW — the ONE liveness predicate the read side (the
198
+ * mapper's live-gating of the top-level `reminder`, which is null once stale) and
199
+ * the write-side reminder auto-preserve ({@link src/write/commands.ts}
200
+ * `effectiveReminder`) share, so a reminder is reported/preserved iff the GUI
201
+ * would still render its bell.
184
202
  *
185
203
  * A time-of-day reminder renders in the GUI ONLY while its row's `startDate` is
186
204
  * the current day or FUTURE (a future-scheduled row's reminder is a live
@@ -7,7 +7,7 @@ export function deriveStage(item) {
7
7
  return "trash";
8
8
  if (item.logged)
9
9
  return "logbook";
10
- // R13 (BANNER1 / BANNER1b, law L-A): a due-deadline PULL re-files an undated
10
+ // RS8 (BANNER1 / BANNER1b, law L-A): a due-deadline PULL re-files an undated
11
11
  // row (Inbox or Someday origin) into ANYTIME — the GUI removes it from the
12
12
  // Someday/Inbox lists and adds it to the Anytime list at pull time, even while
13
13
  // its raw `start` still reads 0/2 (Anytime ⊇ Today's to-dos). The row carries
@@ -62,25 +62,41 @@ export function deriveWhen(item) {
62
62
  return item.startDate;
63
63
  return undefined;
64
64
  }
65
+ /**
66
+ * The ONE {@link Stage} derivation for a materialized ENTITY — composes {@link
67
+ * deriveStage} off the entity's `derived` substrate. Exported for programmatic-
68
+ * API ergonomics: a TS consumer gets the wire's lifecycle word from an entity +
69
+ * clock without reaching into `entity.derived` itself.
70
+ */
71
+ export function entityStage(item) {
72
+ return deriveStage({
73
+ trashed: item.derived.trashed,
74
+ logged: item.derived.logged,
75
+ start: item.derived.start,
76
+ startDate: item.startDate,
77
+ repeating: item.repeating,
78
+ ...(item.derived.today !== undefined && { today: item.derived.today }),
79
+ });
80
+ }
65
81
  /**
66
82
  * The ONE time-axis derivation for a materialized ENTITY — the SINGLE SOURCE the
67
83
  * wire emit boundary (`shape.ts` `whenOf`) and the human/TTY renderers
68
- * (`whenValue`, `todayMark`) share. Composes {@link deriveStage} → {@link
84
+ * (`whenValue`, `todayMark`) share. Composes {@link entityStage} → {@link
69
85
  * deriveWhen} off the entity's own presence-keyed markers, so a TTY when/pip can
70
- * NEVER disagree with the emitted `when` (never re-derived from `startBucket` /
71
- * `todaySection`). Returns the same {@link When} the wire carries.
86
+ * NEVER disagree with the emitted `when` (never re-derived from `startBucket`).
87
+ * Returns the same {@link When} the wire carries.
72
88
  */
73
89
  export function entityWhen(item) {
74
90
  return deriveWhen({
75
- stage: deriveStage(item),
76
- ...(item.today !== undefined && { today: item.today }),
77
- ...(item.evening !== undefined && { evening: item.evening }),
91
+ stage: entityStage(item),
92
+ ...(item.derived.today !== undefined && { today: item.derived.today }),
93
+ ...(item.derived.evening !== undefined && { evening: item.derived.evening }),
78
94
  startDate: item.startDate,
79
95
  repeating: item.repeating,
80
96
  });
81
97
  }
82
98
  /**
83
- * The R13 provisional-marker LAW (BANNER1 L-B) — the ONE predicate the wire emit
99
+ * The RS8 provisional-marker LAW (BANNER1 L-B) — the ONE predicate the wire emit
84
100
  * boundary (`shape.ts`) and the TTY pip (`render.ts` renderToday) share, so a
85
101
  * rendered `•` can NEVER disagree with the emitted `provisional`. A Today member
86
102
  * (a today/evening `when`) the app has not yet MATERIALIZED: `start != active OR
@@ -97,13 +113,14 @@ export function whenIsProvisional(when, start, startDate) {
97
113
  * shares the wire's derivation end to end.
98
114
  */
99
115
  export function entityProvisional(item) {
100
- return whenIsProvisional(entityWhen(item), item.start, item.startDate);
116
+ return whenIsProvisional(entityWhen(item), item.derived.start, item.startDate);
101
117
  }
102
118
  /**
103
- * The §9n stale-reminder LAW — the ONE liveness predicate the read-emit boundary
104
- * (its precomputed `reminderLive` marker, mappers) and the write-side reminder
105
- * auto-preserve ({@link src/write/commands.ts} `effectiveReminder`) share, so a
106
- * reminder is reported/preserved iff the GUI would still render its bell.
119
+ * The §9n stale-reminder LAW — the ONE liveness predicate the read side (the
120
+ * mapper's live-gating of the top-level `reminder`, which is null once stale) and
121
+ * the write-side reminder auto-preserve ({@link src/write/commands.ts}
122
+ * `effectiveReminder`) share, so a reminder is reported/preserved iff the GUI
123
+ * would still render its bell.
107
124
  *
108
125
  * A time-of-day reminder renders in the GUI ONLY while its row's `startDate` is
109
126
  * the current day or FUTURE (a future-scheduled row's reminder is a live
@@ -1 +1 @@
1
- {"version":3,"file":"stage.js","sourceRoot":"","sources":["../../src/read/stage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stage.js","sourceRoot":"","sources":["../../src/read/stage.ts"],"names":[],"mappings":"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"}
@@ -384,3 +384,65 @@ export type SearchResultItem = ListItem & {
384
384
  match?: SearchMatchAnnotation;
385
385
  };
386
386
  export declare function searchView(db: DatabaseSync, query: string, options?: SearchOptions, now?: Date, zone?: string): SearchResultItem[];
387
+ export interface DeadlinesFilter extends ViewFilter {
388
+ /**
389
+ * Restrict to CURRENT Today members (evening-INCLUSIVE) — the same membership
390
+ * predicate {@link todayView} uses ({@link isTodayMember}: an arrived
391
+ * `startDate <= today`, or an undated due/overdue deadline). Composes as AND
392
+ * with the other filters; a template projection is never a Today member, so
393
+ * this arm also drops the projected rows by construction.
394
+ */
395
+ todayOnly?: boolean;
396
+ /**
397
+ * Scope to one PROJECT's children (uuid or unique title) — its direct
398
+ * children plus its headed ones (heading rows carry the project link),
399
+ * mirroring `search --project`.
400
+ */
401
+ project?: string;
402
+ /**
403
+ * Scope to one AREA's subtree (uuid, unique title, or `loose` for the
404
+ * area-less rows) — its direct items plus its projects' children, the same
405
+ * subtree-inclusive shape `search --area` / `logbook --area` use.
406
+ */
407
+ area?: string;
408
+ /**
409
+ * Include repeating-template PROJECTIONS (the app-materialized next
410
+ * occurrence's projected deadline). Default true; the CLI/MCP surfaces never
411
+ * turn it off — it exists so tests can isolate the concrete rows. `--overdue`
412
+ * already excludes projections by construction (a projection is never past).
413
+ */
414
+ repeats?: boolean;
415
+ }
416
+ /**
417
+ * The DEADLINE-HORIZON query view (R9 family — flat, non-scope,
418
+ * presentation-ordered, like {@link searchView} / {@link changesView}): every
419
+ * LIVE (open, untrashed, container-untrashed) to-do AND project that carries a
420
+ * deadline, ordered `deadline ASC` (most-overdue first), tie-broken
421
+ * `todayIndex ASC` then `uuid ASC`. That comparator is the certified
422
+ * global-`upcoming` comparator (COALESCE(startDate, deadline) ASC, todayIndex
423
+ * ASC, uuid) RESTRICTED to deadlined rows — ONE ordering law, two views. The
424
+ * output is ONE flat `items[]`, never day-block sub-arrays.
425
+ *
426
+ * Membership KEEPS `stage` (mixed to-dos + projects, like search/changes). A
427
+ * deadline-nag DISMISSAL does NOT filter this view — suppression governs the
428
+ * Today PULL, not deadline existence, so a dismissed-nag row still lists here
429
+ * with its deadline.
430
+ *
431
+ * REPEATING-TEMPLATE PROJECTION (ratified 2026-08-11): a deadline-bearing
432
+ * template is projected at its next occurrence's deadline using the SAME
433
+ * certified machinery global `upcoming` uses — the app-materialized next
434
+ * occurrence (`rt1_nextInstanceStartDate` → `repeating.nextOccurrence`) with the
435
+ * instance-validated deadline anchor `deadline = nextOccurrence −
436
+ * rule.startOffsetDays` (oddities §8a; the exact horizon-1 derivation
437
+ * upcomingView applies). GUARD RAIL ("unsupported beats guessed"): a template is
438
+ * projected ONLY when its rule DECODES and it is DEADLINED and the derived
439
+ * deadline is strictly future; a deadline-less template, an undecodable rule, an
440
+ * after-completion/paused template with no set next occurrence, and any
441
+ * non-future derived deadline are EXCLUDED (never a guessed date). A projected
442
+ * row discloses its projection-ness through the RS6 `repeating` presence (it IS
443
+ * the template row, carrying the projected value in `deadline`). No double count:
444
+ * the already-materialized instance is a concrete row under the base query and
445
+ * the next-instance cursor points PAST it, so the projection lands on a strictly
446
+ * later occurrence.
447
+ */
448
+ export declare function deadlinesView(db: DatabaseSync, now?: Date, filter?: DeadlinesFilter, zone?: string): ListItem[];
@@ -4,7 +4,7 @@ import { mapProject, mapTodo } from "../model/mappers.js";
4
4
  import { projectOccurrences } from "../model/occurrences.js";
5
5
  import { decodeRecurrenceRule } from "../model/recurrence.js";
6
6
  import { directTagScopeSql, directUntaggedScopeSql, fetchTagsForTasks, fetchTaskRows, makeHeadingProjectResolver, makeRefResolver, NOT_TEMPLATE, resolveAreaUuid, resolveProjectUuid, resolveTagUuid, tagScopeBinds, tagScopeSql, tagWithDescendants, untaggedScopeSql, } from "./queries.js";
7
- import { ANYTIME_SELF, CONTAINER_UNTRASHED, DEADLINE_PULLED, EFF_PROJECT, LIVE, OPEN, OPEN_OR_UNSWEPT, OVERDUE, PROJECT_ANYTIME_ACTIVE, } from "./predicates.js";
7
+ import { ANYTIME_SELF, CONTAINER_UNTRASHED, DEADLINE_PULLED, EFF_PROJECT, LIVE, OPEN, OPEN_OR_UNSWEPT, OVERDUE, PROJECT_ANYTIME_ACTIVE, todayOrderBy, } from "./predicates.js";
8
8
  import { isLooseRef } from "./pseudo-area.js";
9
9
  import { CANDIDATE_CAP } from "./shape.js";
10
10
  import { groupBySidebar } from "./sidebar-order.js";
@@ -83,8 +83,8 @@ function overdueFilter(filter, packedToday) {
83
83
  // honors the same clock as the SQL membership filter (a pinned test clock, a
84
84
  // lab run) — nothing here silently reaches for real time.
85
85
  // `packedToday` (the view's injected clock, encodePackedDate(localToday(now)))
86
- // is threaded so the mapper can gate `todaySection` to Today members only —
87
- // the same clock the SQL membership filter uses.
86
+ // is threaded so the mapper can gate the today/evening markers (and reminder
87
+ // liveness) — the same clock the SQL membership filter uses.
88
88
  function materialize(db, rows, boundary, packedToday) {
89
89
  const refs = makeRefResolver(db);
90
90
  const headingProject = makeHeadingProjectResolver(db);
@@ -107,6 +107,12 @@ function materialize(db, rows, boundary, packedToday) {
107
107
  }
108
108
  /** Counts cover OPEN members only (the sidebar count reflects remaining work). */
109
109
  const isOpen = (i) => i.status === "open";
110
+ // Evening membership expires daily: the presence-keyed `evening` marker is set
111
+ // ONLY when startBucket=1 AND startDate is exactly today (mappers todayMarkers),
112
+ // so it already excludes stale evening items (which belong to Today proper) —
113
+ // exactly what the retired `todaySection === "evening" && startDate === today`
114
+ // test expressed.
115
+ const isEvening = (i) => i.derived.evening === true;
110
116
  export function todayView(db, now, filter, zone) {
111
117
  const todayIso = localToday(now, zone);
112
118
  const packedToday = encodePackedDate(todayIso);
@@ -132,13 +138,8 @@ export function todayView(db, now, filter, zone) {
132
138
  (t.startDate IS NOT NULL AND t.startDate <= ? AND t.start IN (1, 2))
133
139
  OR ${DEADLINE_PULLED}
134
140
  )${tf.sql}${of.sql}
135
- ORDER BY t.startBucket ASC,
136
- COALESCE(t.todayIndexReferenceDate, t.startDate, t.deadline) DESC,
137
- t.todayIndex ASC, t.uuid ASC`, [boundary.getTime() / 1000, packedToday, packedToday, ...tf.binds, ...of.binds]);
141
+ ORDER BY ${todayOrderBy("t.")}`, [boundary.getTime() / 1000, packedToday, packedToday, ...tf.binds, ...of.binds]);
138
142
  const items = materialize(db, rows, boundary, packedToday);
139
- // Evening membership expires daily: raw startBucket=1 counts only while
140
- // startDate is exactly today; stale evening items belong to Today proper.
141
- const isEvening = (i) => i.todaySection === "evening" && i.startDate === todayIso;
142
143
  const evening = items.filter(isEvening);
143
144
  const dueIn = (list) => list.filter((i) => i.deadline !== null && i.deadline <= todayIso).length;
144
145
  // Counts cover OPEN members only (the sidebar count reflects remaining work).
@@ -182,7 +183,7 @@ export function inboxView(db, now, filter, zone) {
182
183
  where.push("t.creationDate <= ?");
183
184
  binds.push(filter.until.getTime() / 1000);
184
185
  }
185
- // R13 (BANNER1 Q1b, law L-A): a due/overdue un-dismissed deadline pulls an
186
+ // RS8 (BANNER1 Q1b, law L-A): a due/overdue un-dismissed deadline pulls an
186
187
  // undated Inbox row into Today AND removes it from the GUI Inbox list — even
187
188
  // while its raw `start` still reads 0. EXCLUDE the pulled rows so the flat
188
189
  // inbox view stays GUI-faithful; reuse the Today deadline arm verbatim so the
@@ -206,7 +207,7 @@ export function anytimeView(db, now, filter, zone) {
206
207
  // cascade-excluded — the checked project row represents them. The boundary is
207
208
  // threaded into the SQL filter and materialize so presence and `logged` agree.
208
209
  //
209
- // R13 (BANNER1b, law L-A): Anytime is a SUPERSET of Today's to-dos — a
210
+ // RS8 (BANNER1b, law L-A): Anytime is a SUPERSET of Today's to-dos — a
210
211
  // due-deadline pull re-files an undated Inbox/Someday row into Anytime (out of
211
212
  // its origin bucket) even while its raw `start` still reads 0/2. So the
212
213
  // membership arm is ANYTIME_SELF *OR* the Today deadline-pull arm (reused
@@ -393,7 +394,7 @@ export function somedayView(db, now, filter, zone) {
393
394
  ? `EXISTS (SELECT 1 FROM TMTask p WHERE p.uuid = ${EFF_PROJECT}
394
395
  AND p.trashed = 0 AND p.status = 0 AND ${ANYTIME_SELF("p")})`
395
396
  : "0";
396
- // R13 (BANNER1 Q1b, law L-A): a due/overdue un-dismissed deadline pulls an
397
+ // RS8 (BANNER1 Q1b, law L-A): a due/overdue un-dismissed deadline pulls an
397
398
  // undated Someday row into Today AND removes it from the GUI Someday list —
398
399
  // even while its raw `start` still reads 2. EXCLUDE the pulled rows so the flat
399
400
  // someday view stays GUI-faithful; reuse the Today deadline arm verbatim so the
@@ -543,7 +544,7 @@ export function projectsView(db, options) {
543
544
  // so only the later runs are re-sorted (stable within someday).
544
545
  const todayIso = localToday(options?.now, options?.zone);
545
546
  const ti = new Map(rows.map((r) => [r.uuid, r.todayIndex ?? 0]));
546
- const isLater = (p) => p.startDate !== null ? p.startDate > todayIso : p.start === "someday";
547
+ const isLater = (p) => p.startDate !== null ? p.startDate > todayIso : p.derived.start === "someday";
547
548
  const out = [];
548
549
  let run = [];
549
550
  let runArea;
@@ -609,7 +610,7 @@ export function changesView(db, now, options, zone) {
609
610
  * (default {@link CANDIDATE_CAP}); `total` reports the pre-cap match count so the
610
611
  * caller can append a "… n more" tail.
611
612
  */
612
- const somedayRank = (i) => (i.start === "someday" ? 1 : 0);
613
+ const somedayRank = (i) => (i.derived.start === "someday" ? 1 : 0);
613
614
  /** Lite-search order within a task group: active before someday, then most-recently-modified. */
614
615
  function byStatusThenRecent(a, b) {
615
616
  return somedayRank(a) - somedayRank(b) || b.modified.getTime() - a.modified.getTime();
@@ -817,4 +818,123 @@ export function searchView(db, query, options, now, zone) {
817
818
  const sliced = cap === null ? ranked : ranked.slice(0, cap);
818
819
  return sliced.map((m) => m.item);
819
820
  }
821
+ /**
822
+ * The DEADLINE-HORIZON query view (R9 family — flat, non-scope,
823
+ * presentation-ordered, like {@link searchView} / {@link changesView}): every
824
+ * LIVE (open, untrashed, container-untrashed) to-do AND project that carries a
825
+ * deadline, ordered `deadline ASC` (most-overdue first), tie-broken
826
+ * `todayIndex ASC` then `uuid ASC`. That comparator is the certified
827
+ * global-`upcoming` comparator (COALESCE(startDate, deadline) ASC, todayIndex
828
+ * ASC, uuid) RESTRICTED to deadlined rows — ONE ordering law, two views. The
829
+ * output is ONE flat `items[]`, never day-block sub-arrays.
830
+ *
831
+ * Membership KEEPS `stage` (mixed to-dos + projects, like search/changes). A
832
+ * deadline-nag DISMISSAL does NOT filter this view — suppression governs the
833
+ * Today PULL, not deadline existence, so a dismissed-nag row still lists here
834
+ * with its deadline.
835
+ *
836
+ * REPEATING-TEMPLATE PROJECTION (ratified 2026-08-11): a deadline-bearing
837
+ * template is projected at its next occurrence's deadline using the SAME
838
+ * certified machinery global `upcoming` uses — the app-materialized next
839
+ * occurrence (`rt1_nextInstanceStartDate` → `repeating.nextOccurrence`) with the
840
+ * instance-validated deadline anchor `deadline = nextOccurrence −
841
+ * rule.startOffsetDays` (oddities §8a; the exact horizon-1 derivation
842
+ * upcomingView applies). GUARD RAIL ("unsupported beats guessed"): a template is
843
+ * projected ONLY when its rule DECODES and it is DEADLINED and the derived
844
+ * deadline is strictly future; a deadline-less template, an undecodable rule, an
845
+ * after-completion/paused template with no set next occurrence, and any
846
+ * non-future derived deadline are EXCLUDED (never a guessed date). A projected
847
+ * row discloses its projection-ness through the RS6 `repeating` presence (it IS
848
+ * the template row, carrying the projected value in `deadline`). No double count:
849
+ * the already-materialized instance is a concrete row under the base query and
850
+ * the next-instance cursor points PAST it, so the projection lands on a strictly
851
+ * later occurrence.
852
+ */
853
+ export function deadlinesView(db, now, filter, zone) {
854
+ const todayIso = localToday(now, zone);
855
+ const packedToday = encodePackedDate(todayIso);
856
+ const boundary = logBoundary(db, now, zone);
857
+ const tf = tagFilter(db, filter);
858
+ const of = overdueFilter(filter, packedToday);
859
+ // Container scope (mirrors searchView): `--project` matches a project's own
860
+ // children plus its headed ones; `--area` is subtree-inclusive (own area OR
861
+ // the containing project's area), or the area-less rows for `loose`.
862
+ const scope = [];
863
+ const scopeBinds = [];
864
+ if (filter?.project !== undefined) {
865
+ const uuid = resolveProjectUuid(db, filter.project);
866
+ scope.push("(t.project = ? OR t.heading IN (SELECT uuid FROM TMTask WHERE type = 2 AND project = ?))");
867
+ scopeBinds.push(uuid, uuid);
868
+ }
869
+ if (filter?.area !== undefined) {
870
+ if (isLooseRef(filter.area)) {
871
+ scope.push(`t.area IS NULL AND (${EFF_PROJECT} IS NULL OR NOT EXISTS (SELECT 1 FROM TMTask p WHERE p.uuid = ${EFF_PROJECT} AND p.area IS NOT NULL))`);
872
+ }
873
+ else {
874
+ const uuid = resolveAreaUuid(db, filter.area);
875
+ scope.push(`(t.area = ? OR EXISTS (SELECT 1 FROM TMTask p WHERE p.uuid = ${EFF_PROJECT} AND p.area = ?))`);
876
+ scopeBinds.push(uuid, uuid);
877
+ }
878
+ }
879
+ const scopeSql = scope.length > 0 ? ` AND ${scope.join(" AND ")}` : "";
880
+ // Concrete rows: open, untrashed (row AND container chain — the derived-trash
881
+ // exclusion matters here too), non-template, carrying a deadline. `--overdue`
882
+ // (open, deadline strictly before today) and the tag scope compose as AND.
883
+ const rows = fetchTaskRows(db, `${OPEN} AND ${CONTAINER_UNTRASHED} AND t.deadline IS NOT NULL${scopeSql}${tf.sql}${of.sql}`, [...scopeBinds, ...tf.binds, ...of.binds]);
884
+ let items = materialize(db, rows, boundary, packedToday);
885
+ // The comparator's tiebreak keys on the row's stored `todayIndex` (mirroring
886
+ // global-upcoming's within-day drag order), built from the fetched rows.
887
+ const todayIndexOf = new Map(rows.map((r) => [r.uuid, r.todayIndex ?? 0]));
888
+ // Repeating-template projections. Skipped entirely under `--overdue` (a
889
+ // projection is strictly future, so it never matches an overdue scope) — this
890
+ // is the by-construction exclusion the guard rail promises.
891
+ if (filter?.repeats !== false && filter?.overdue !== true) {
892
+ const templateRows = fetchTaskRows(db, `t.type IN (0, 1) AND t.trashed = 0 AND t.status = 0 AND ${CONTAINER_UNTRASHED}
893
+ AND (t.rt1_recurrenceRule IS NOT NULL OR t.repeater IS NOT NULL)
894
+ AND t.rt1_instanceCreationPaused = 0
895
+ AND t.rt1_nextInstanceStartDate IS NOT NULL AND t.rt1_nextInstanceStartDate > ?
896
+ AND t.deadline IS NOT NULL${scopeSql}${tf.sql}`, [packedToday, ...scopeBinds, ...tf.binds]);
897
+ const rawByUuid = new Map(templateRows.map((r) => [r.uuid, r.rt1_recurrenceRule]));
898
+ for (const r of templateRows)
899
+ todayIndexOf.set(r.uuid, r.todayIndex ?? 0);
900
+ const projections = materialize(db, templateRows, boundary, packedToday).flatMap((template) => {
901
+ const startDate = template.repeating.nextOccurrence ?? null;
902
+ // Deadline-bearing rules only; a deadline-less template spawns undeadlined
903
+ // instances (its own `deadline` column is byte-identical to a deadlined
904
+ // ts=0 rule — oddities §8a), so it never projects here.
905
+ if (startDate === null || template.repeating.deadlined !== true)
906
+ return [];
907
+ const raw = rawByUuid.get(template.uuid);
908
+ if (raw === null || raw === undefined)
909
+ return [];
910
+ let rule;
911
+ try {
912
+ rule = decodeRecurrenceRule(raw);
913
+ }
914
+ catch {
915
+ return []; // undecodable rule (future Things build) — exclude, never guess a deadline
916
+ }
917
+ // The instance-validated occurrence deadline: startDate − rule.startOffsetDays.
918
+ const deadline = addDaysIso(startDate, -rule.startOffsetDays);
919
+ // Guard rail: a projection is a FUTURE spawn — a non-future derived deadline
920
+ // is nonsensical (the instance would already have materialized), so exclude
921
+ // it. This is what makes the `--overdue` exclusion hold by construction.
922
+ if (deadline <= todayIso)
923
+ return [];
924
+ return [{ ...template, deadline }];
925
+ });
926
+ items = [...items, ...projections];
927
+ }
928
+ // `--today`: restrict to current Today members (evening-inclusive). A template
929
+ // projection is never a Today member (undated + future deadline), so this also
930
+ // drops the projections.
931
+ if (filter?.todayOnly === true) {
932
+ items = items.filter((i) => isTodayMember(i, now, zone));
933
+ }
934
+ // deadline ASC (most-overdue first), then todayIndex ASC, then uuid ASC —
935
+ // the certified global-upcoming comparator restricted to deadlined rows.
936
+ return items.toSorted((a, b) => (a.deadline ?? "").localeCompare(b.deadline ?? "") ||
937
+ (todayIndexOf.get(a.uuid) ?? 0) - (todayIndexOf.get(b.uuid) ?? 0) ||
938
+ a.uuid.localeCompare(b.uuid));
939
+ }
820
940
  //# sourceMappingURL=views.js.map