things-api 0.13.0 → 0.15.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 (133) hide show
  1. package/README.md +3 -3
  2. package/dist/cli/commands/area.d.ts +5 -5
  3. package/dist/cli/commands/area.js +13 -8
  4. package/dist/cli/commands/area.js.map +1 -1
  5. package/dist/cli/commands/project.js +2 -2
  6. package/dist/cli/commands/project.js.map +1 -1
  7. package/dist/cli/commands/reads.js +94 -16
  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 +2 -2
  12. package/dist/cli/commands/todo.js.map +1 -1
  13. package/dist/cli/commands/writes.js +136 -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 +20 -15
  17. package/dist/cli/glyphs.js.map +1 -1
  18. package/dist/cli/help.js +4 -2
  19. package/dist/cli/help.js.map +1 -1
  20. package/dist/cli/read-driver.d.ts +45 -9
  21. package/dist/cli/read-driver.js +39 -16
  22. package/dist/cli/read-driver.js.map +1 -1
  23. package/dist/cli/render.d.ts +57 -27
  24. package/dist/cli/render.js +117 -65
  25. package/dist/cli/render.js.map +1 -1
  26. package/dist/client.d.ts +127 -38
  27. package/dist/client.js +86 -22
  28. package/dist/client.js.map +1 -1
  29. package/dist/contracts.d.ts +35 -34
  30. package/dist/contracts.js +1 -1
  31. package/dist/contracts.js.map +1 -1
  32. package/dist/index.d.ts +9 -7
  33. package/dist/index.js +3 -3
  34. package/dist/index.js.map +1 -1
  35. package/dist/mcp/server.js +212 -148
  36. package/dist/mcp/server.js.map +1 -1
  37. package/dist/model/dates.d.ts +26 -0
  38. package/dist/model/dates.js +46 -4
  39. package/dist/model/dates.js.map +1 -1
  40. package/dist/model/entities.d.ts +61 -39
  41. package/dist/model/entities.js +0 -4
  42. package/dist/model/entities.js.map +1 -1
  43. package/dist/model/mappers.js +24 -43
  44. package/dist/model/mappers.js.map +1 -1
  45. package/dist/read/area-filter.d.ts +1 -1
  46. package/dist/read/area-filter.js +5 -4
  47. package/dist/read/area-filter.js.map +1 -1
  48. package/dist/read/area-view.d.ts +0 -11
  49. package/dist/read/area-view.js +7 -11
  50. package/dist/read/area-view.js.map +1 -1
  51. package/dist/read/detail.js +2 -2
  52. package/dist/read/detail.js.map +1 -1
  53. package/dist/read/filter-contract.d.ts +1 -1
  54. package/dist/read/filter-contract.js +3 -0
  55. package/dist/read/filter-contract.js.map +1 -1
  56. package/dist/read/log-boundary.d.ts +46 -2
  57. package/dist/read/log-boundary.js +43 -2
  58. package/dist/read/log-boundary.js.map +1 -1
  59. package/dist/read/predicates.d.ts +13 -0
  60. package/dist/read/predicates.js +13 -0
  61. package/dist/read/predicates.js.map +1 -1
  62. package/dist/read/project-view.d.ts +34 -19
  63. package/dist/read/project-view.js +31 -25
  64. package/dist/read/project-view.js.map +1 -1
  65. package/dist/read/scope.d.ts +1 -1
  66. package/dist/read/scope.js +5 -4
  67. package/dist/read/scope.js.map +1 -1
  68. package/dist/read/search-rank.js +2 -2
  69. package/dist/read/search-rank.js.map +1 -1
  70. package/dist/read/shape.d.ts +78 -18
  71. package/dist/read/shape.js +496 -185
  72. package/dist/read/shape.js.map +1 -1
  73. package/dist/read/snapshot.js +2 -2
  74. package/dist/read/snapshot.js.map +1 -1
  75. package/dist/read/stage.d.ts +31 -13
  76. package/dist/read/stage.js +28 -11
  77. package/dist/read/stage.js.map +1 -1
  78. package/dist/read/truncation.d.ts +75 -2
  79. package/dist/read/truncation.js +69 -46
  80. package/dist/read/truncation.js.map +1 -1
  81. package/dist/read/views.d.ts +81 -18
  82. package/dist/read/views.js +136 -17
  83. package/dist/read/views.js.map +1 -1
  84. package/dist/surface-copy.d.ts +6 -0
  85. package/dist/surface-copy.js +6 -0
  86. package/dist/surface-copy.js.map +1 -1
  87. package/dist/write/batch.js +0 -1
  88. package/dist/write/batch.js.map +1 -1
  89. package/dist/write/clear-reminder.js +3 -1
  90. package/dist/write/clear-reminder.js.map +1 -1
  91. package/dist/write/commands.d.ts +25 -1
  92. package/dist/write/commands.js +350 -134
  93. package/dist/write/commands.js.map +1 -1
  94. package/dist/write/guards.js +36 -16
  95. package/dist/write/guards.js.map +1 -1
  96. package/dist/write/move.d.ts +26 -5
  97. package/dist/write/move.js +358 -2
  98. package/dist/write/move.js.map +1 -1
  99. package/dist/write/operations.d.ts +50 -19
  100. package/dist/write/operations.js +3 -2
  101. package/dist/write/operations.js.map +1 -1
  102. package/dist/write/pipeline.js +28 -7
  103. package/dist/write/pipeline.js.map +1 -1
  104. package/dist/write/pre-state.d.ts +89 -28
  105. package/dist/write/pre-state.js +197 -19
  106. package/dist/write/pre-state.js.map +1 -1
  107. package/dist/write/reorder.js +52 -5
  108. package/dist/write/reorder.js.map +1 -1
  109. package/dist/write/resolution-timestamps.d.ts +34 -0
  110. package/dist/write/resolution-timestamps.js +286 -0
  111. package/dist/write/resolution-timestamps.js.map +1 -0
  112. package/dist/write/reversibility.js +10 -5
  113. package/dist/write/reversibility.js.map +1 -1
  114. package/dist/write/scope-guard.js +2 -5
  115. package/dist/write/scope-guard.js.map +1 -1
  116. package/dist/write/undo.d.ts +1 -7
  117. package/dist/write/undo.js +63 -16
  118. package/dist/write/undo.js.map +1 -1
  119. package/dist/write/vectors/applescript.js +23 -4
  120. package/dist/write/vectors/applescript.js.map +1 -1
  121. package/dist/write/vectors/simulator.js +210 -9
  122. package/dist/write/vectors/simulator.js.map +1 -1
  123. package/dist/write/vectors/url-scheme.js +0 -8
  124. package/dist/write/vectors/url-scheme.js.map +1 -1
  125. package/dist/write/verify/delta.d.ts +71 -12
  126. package/dist/write/verify/delta.js +94 -12
  127. package/dist/write/verify/delta.js.map +1 -1
  128. package/package.json +1 -1
  129. package/schema/envelope.schema.json +19 -70
  130. package/skills/things-cli/SKILL.md +13 -9
  131. package/skills/things-cli/references/contracts.md +3 -4
  132. package/skills/things-cli/references/{model.md → data-model.md} +10 -8
  133. package/skills/things-cli/references/ordering.md +18 -7
@@ -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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"}
@@ -142,24 +142,41 @@ 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
181
  * The R13 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
@@ -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
@@ -62,19 +62,35 @@ 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
  });
@@ -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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"}
@@ -7,21 +7,88 @@
7
7
  * entirely past the cut so no empty header survives. `limit === null` means
8
8
  * "all rows" (the caller passed --all / all: true).
9
9
  */
10
- import type { Truncation } from "../contracts.ts";
10
+ import type { GroupBlock, Truncation } from "../contracts.ts";
11
11
  import { type AreaView } from "./area-view.ts";
12
12
  import { AREA_PREVIEW_LIMIT, DEFAULT_LIST_LIMIT, PROJECT_PREVIEW_LIMIT } from "../surface-copy.ts";
13
- import type { SidebarSection, TodayView } from "./views.ts";
13
+ import type { ListItem, SidebarSection, TodayView } from "./views.ts";
14
14
  import { partitionSomedaySection, splitSectionBlocks, type GroupedLimits } from "./sections.ts";
15
15
  export { AREA_PREVIEW_LIMIT, DEFAULT_LIST_LIMIT, PROJECT_PREVIEW_LIMIT };
16
16
  export { partitionSomedaySection, splitSectionBlocks, type GroupedLimits };
17
+ /**
18
+ * Pre-cap sidebar-section sizes (anytime/someday global catalogues), keyed by the
19
+ * section's area uuid (or `null` for the loose section), returned alongside the
20
+ * per-block-capped sections so {@link src/read/shape.ts} `withSectionTotals` can
21
+ * stamp each capped section's inline `total` (read-shape v2 R1, PR 5 — no
22
+ * `blocks[]` sidecar). Each value is the FULL (pre-cap) count of that section's
23
+ * flattened `items` (direct/own rows + project rows + shown-project children);
24
+ * `total` is emitted downstream iff `items.length < total`.
25
+ */
26
+ export type SectionTotals = ReadonlyMap<string | null, number>;
17
27
  /** Flat list: slice to the limit; total is the full filtered length. */
18
28
  export declare function truncateList<T>(items: T[], limit: number | null): {
19
29
  data: T[];
20
30
  truncation: Truncation;
21
31
  };
32
+ /**
33
+ * Pre-cap Today / This-Evening bucket sizes, returned alongside a truncated
34
+ * {@link TodayView} so a consumer can (a) render the This-Evening honesty hint
35
+ * without a pre-cap copy of the view and (b) emit each `children` bucket's inline
36
+ * `total` — present iff that bucket was capped (read-shape v2 R1, no sidecar
37
+ * join). These are the FULL bucket sizes; the returned `data.today`/`data.evening`
38
+ * are the shown (possibly sliced) rows.
39
+ */
40
+ export interface TodayBucketTotals {
41
+ today: number;
42
+ evening: number;
43
+ }
44
+ /**
45
+ * Pre-cap area-view bucket sizes, returned alongside a bounded {@link AreaView}
46
+ * so the wire can emit each capped scope's inline `total` (read-shape v2 R1, no
47
+ * `blocks[]` sidecar join — PR 3). `anytime` is the pre-cap count of the area's
48
+ * direct to-dos (the `--area-limit` scope, which map onto `children.anytime`);
49
+ * `projects` is the pre-cap count of ALL the area's project rows (the
50
+ * `--project-limit` scope caps the ACTIVE ones in place, so a capped active-rows
51
+ * slice makes `projects.items.length < projects.total`). The scheduled/someday
52
+ * direct to-dos and the scheduled/someday project rows are never capped, so their
53
+ * buckets carry no `total`.
54
+ */
55
+ export interface AreaBucketTotals {
56
+ /** Pre-cap count of the direct to-dos (the `children.anytime` scope). */
57
+ anytime: number;
58
+ /** Pre-cap count of ALL project rows (the `projects` record scope). */
59
+ projects: number;
60
+ }
61
+ /**
62
+ * Pre-cap global-`upcoming` day-block sizes, keyed by each block's `when` (an ISO
63
+ * date, or `null` for the trailing resting block), returned alongside the flat
64
+ * {@link truncateList} slice so the wire can stamp each capped day block's inline
65
+ * `total` (read-shape v2 R1, PR 4 — no `blocks[]` sidecar). The flat row cap cuts
66
+ * across the day-ordered stream, so at most one block is straddled (its shown rows
67
+ * fewer than its pre-cap `total`); blocks fully past the cut never appear. The key
68
+ * mirrors the emit-boundary {@link src/read/shape.ts} `upcomingBlockKey` and the
69
+ * renderer's `groupDate` so the counts line up block-for-block.
70
+ */
71
+ export type UpcomingBlockTotals = ReadonlyMap<string | null, number>;
72
+ /**
73
+ * Count the FULL (pre-cap) upcoming stream into per-day-block totals (R1, PR 4).
74
+ * Computed on the unbounded, in-scope, area-filtered stream BEFORE the flat row
75
+ * cap slices it, so {@link src/read/shape.ts} `withUpcomingBlockTotals` can mark
76
+ * the one straddled block's `total`. Resting templates aggregate under the `null`
77
+ * key.
78
+ */
79
+ export declare function upcomingBlockTotals(items: ListItem[]): UpcomingBlockTotals;
80
+ /**
81
+ * Today view: the cut runs across Today then This Evening in render order, so a
82
+ * limit smaller than the Today block trims Evening to nothing. The library keeps
83
+ * the internal Today/Evening grouping (the two reorder scopes); the whole-view
84
+ * `counts` aggregate is preserved unchanged. `totals` carries the pre-cap bucket
85
+ * sizes — the renderer keeps This Evening honest under the single global cap, and
86
+ * the wire emits each bucket's inline `total` when it was capped.
87
+ */
22
88
  export declare function truncateToday(view: TodayView, limit: number | null): {
23
89
  data: TodayView;
24
90
  truncation: Truncation;
91
+ totals: TodayBucketTotals;
25
92
  };
26
93
  /**
27
94
  * Anytime: the block skeleton is ALWAYS complete — every area header and
@@ -34,6 +101,8 @@ export declare function truncateToday(view: TodayView, limit: number | null): {
34
101
  export declare function previewSections(sections: SidebarSection[], limits: GroupedLimits): {
35
102
  data: SidebarSection[];
36
103
  truncation: Truncation;
104
+ blocks: GroupBlock[];
105
+ totals: SectionTotals;
37
106
  };
38
107
  /**
39
108
  * Someday preview: every group survives; `limits.area` (null = no cap)
@@ -45,6 +114,8 @@ export declare function previewSections(sections: SidebarSection[], limits: Grou
45
114
  export declare function previewSomedaySections(sections: SidebarSection[], limits: GroupedLimits): {
46
115
  data: SidebarSection[];
47
116
  truncation: Truncation;
117
+ blocks: GroupBlock[];
118
+ totals: SectionTotals;
48
119
  };
49
120
  /**
50
121
  * Sectioned cap for the `area show` detail view: its sections are containers,
@@ -63,4 +134,6 @@ export declare function previewSomedaySections(sections: SidebarSection[], limit
63
134
  export declare function capAreaSections(view: AreaView, limits: GroupedLimits, now?: Date, zone?: string): {
64
135
  data: AreaView;
65
136
  truncation: Truncation;
137
+ blocks: GroupBlock[];
138
+ totals: AreaBucketTotals;
66
139
  };
@@ -1,7 +1,6 @@
1
1
  import { localToday } from "../model/dates.js";
2
2
  import { isActiveProjectRow } from "./area-view.js";
3
3
  import { AREA_PREVIEW_LIMIT, DEFAULT_LIST_LIMIT, PROJECT_PREVIEW_LIMIT } from "../surface-copy.js";
4
- import { entityWhen } from "./stage.js";
5
4
  import { partitionSomedaySection, splitSectionBlocks } from "./sections.js";
6
5
  // The per-block cap shape and the structural section splitters live in
7
6
  // ./sections.ts (imported for capping here). Re-exported so existing importers
@@ -15,11 +14,13 @@ const whole = (total, limit) => ({
15
14
  truncated: false,
16
15
  });
17
16
  /**
18
- * Roll a grouped view's per-block counts up into the unified {@link Truncation}
19
- * envelope: `shown`/`total` sum every block's own rows plus its nested children,
17
+ * Roll a grouped view's per-block counts up into the WHOLE-VIEW {@link Truncation}
18
+ * rollup: `shown`/`total` sum every block's own rows plus its nested children,
20
19
  * `limit` is null (a grouped view's caps are per-block, not a single row cap),
21
- * and `blocks` carries the identity-bearing nesting for a consumer that wants
22
- * the detail. `truncated` is the OR across the blocks (computed by the caller).
20
+ * and `truncated` is the OR across the blocks (computed by the caller). The
21
+ * identity-bearing `blocks` are returned SEPARATELY (internal render plumbing)
22
+ * they never ride the wire `Truncation` (doctrine v2 PR 5: the sidecar retired;
23
+ * each bucket's completeness rides its inline `total`, R1).
23
24
  */
24
25
  function groupedTruncation(blocks, truncated) {
25
26
  let shown = 0;
@@ -32,8 +33,10 @@ function groupedTruncation(blocks, truncated) {
32
33
  total += c.total;
33
34
  }
34
35
  }
35
- return { shown, total, limit: null, truncated, blocks };
36
+ return { truncation: { shown, total, limit: null, truncated }, blocks };
36
37
  }
38
+ /** The area-uuid key (or `null` for the loose section) of one sidebar section. */
39
+ const sectionKey = (section) => section.area?.uuid ?? null;
37
40
  /** Flat list: slice to the limit; total is the full filtered length. */
38
41
  export function truncateList(items, limit) {
39
42
  const total = items.length;
@@ -45,41 +48,50 @@ export function truncateList(items, limit) {
45
48
  };
46
49
  }
47
50
  /**
48
- * Today view: the flat `items[]` is sliced in comparator order (Today-proper and
49
- * This-Evening members interleaved by their SQL position), so a limit smaller
50
- * than the Today-proper run trims the trailing This-Evening members. The
51
- * whole-view `counts` aggregate is preserved unchanged. The truncation carries a
52
- * per-render-section (`today`/`evening`) shown/total breakdown — derived per row
53
- * from `when` (the SAME axis the wire and the TTY split on) — so the renderer can
54
- * keep This Evening honest under the single global cap without a pre-cap copy.
51
+ * The pre-cap day-block key for one upcoming row: its `startDate`; else, for a
52
+ * NON-template, its `deadline` (a deadline-forecast row); else `null` (a date-less
53
+ * recurring template → the resting block). Identical to the emit-boundary
54
+ * `upcomingBlockKey` one grouping law, three call sites (wire, totals, render).
55
+ */
56
+ const upcomingBlockKey = (i) => i.startDate ?? (i.repeating.isTemplate ? null : (i.deadline ?? null));
57
+ /**
58
+ * Count the FULL (pre-cap) upcoming stream into per-day-block totals (R1, PR 4).
59
+ * Computed on the unbounded, in-scope, area-filtered stream BEFORE the flat row
60
+ * cap slices it, so {@link src/read/shape.ts} `withUpcomingBlockTotals` can mark
61
+ * the one straddled block's `total`. Resting templates aggregate under the `null`
62
+ * key.
63
+ */
64
+ export function upcomingBlockTotals(items) {
65
+ const totals = new Map();
66
+ for (const i of items) {
67
+ const key = upcomingBlockKey(i);
68
+ totals.set(key, (totals.get(key) ?? 0) + 1);
69
+ }
70
+ return totals;
71
+ }
72
+ /**
73
+ * Today view: the cut runs across Today then This Evening in render order, so a
74
+ * limit smaller than the Today block trims Evening to nothing. The library keeps
75
+ * the internal Today/Evening grouping (the two reorder scopes); the whole-view
76
+ * `counts` aggregate is preserved unchanged. `totals` carries the pre-cap bucket
77
+ * sizes — the renderer keeps This Evening honest under the single global cap, and
78
+ * the wire emits each bucket's inline `total` when it was capped.
55
79
  */
56
- const isEveningRow = (i) => entityWhen(i) === "evening";
57
80
  export function truncateToday(view, limit) {
58
- const eveningTotal = view.items.filter(isEveningRow).length;
59
- const total = view.items.length;
60
- const todayTotal = total - eveningTotal;
61
- const sections = (shownToday, shownEvening) => [
62
- { key: "today", shown: shownToday, total: todayTotal },
63
- { key: "evening", shown: shownEvening, total: eveningTotal },
64
- ];
81
+ const todayTotal = view.today.length;
82
+ const eveningTotal = view.evening.length;
83
+ const total = todayTotal + eveningTotal;
84
+ const totals = { today: todayTotal, evening: eveningTotal };
65
85
  if (limit === null || total <= limit) {
66
- return {
67
- data: view,
68
- truncation: { ...whole(total, limit), sections: sections(todayTotal, eveningTotal) },
69
- };
86
+ return { data: view, truncation: whole(total, limit), totals };
70
87
  }
71
- const items = view.items.slice(0, limit);
72
- const shownEvening = items.filter(isEveningRow).length;
73
- const shownToday = items.length - shownEvening;
88
+ const today = view.today.slice(0, limit);
89
+ const evening = view.evening.slice(0, Math.max(0, limit - today.length));
90
+ const shown = today.length + evening.length;
74
91
  return {
75
- data: { items, counts: view.counts },
76
- truncation: {
77
- shown: items.length,
78
- total,
79
- limit,
80
- truncated: true,
81
- sections: sections(shownToday, shownEvening),
82
- },
92
+ data: { today, evening, counts: view.counts },
93
+ truncation: { shown, total, limit, truncated: true },
94
+ totals,
83
95
  };
84
96
  }
85
97
  const takeUpTo = (items, limit) => limit === null ? items : items.slice(0, limit);
@@ -94,6 +106,7 @@ const takeUpTo = (items, limit) => limit === null ? items : items.slice(0, limit
94
106
  export function previewSections(sections, limits) {
95
107
  const outSections = [];
96
108
  const blocks = [];
109
+ const totals = new Map();
97
110
  let truncated = false;
98
111
  for (const section of sections) {
99
112
  const { direct, projects } = splitSectionBlocks(section);
@@ -103,8 +116,12 @@ export function previewSections(sections, limits) {
103
116
  // Project item-lists nest inside their area/loose block.
104
117
  const children = [];
105
118
  const items = [...shownDirect];
119
+ // The section's FULL (pre-cap) flattened size for its inline `total` (R1):
120
+ // direct rows + every project row + all its children.
121
+ let sectionTotal = direct.length;
106
122
  for (const { project, items: kids } of projects) {
107
123
  const shownChildren = takeUpTo(kids, limits.project);
124
+ sectionTotal += 1 + kids.length;
108
125
  if (kids.length > 0) {
109
126
  if (kids.length > shownChildren.length)
110
127
  truncated = true;
@@ -130,9 +147,10 @@ export function previewSections(sections, limits) {
130
147
  ...(children.length > 0 && { children }),
131
148
  });
132
149
  }
150
+ totals.set(sectionKey(section), sectionTotal);
133
151
  outSections.push({ area: section.area, items });
134
152
  }
135
- return { data: outSections, truncation: groupedTruncation(blocks, truncated) };
153
+ return { data: outSections, ...groupedTruncation(blocks, truncated), totals };
136
154
  }
137
155
  /**
138
156
  * Someday preview: every group survives; `limits.area` (null = no cap)
@@ -144,6 +162,7 @@ export function previewSections(sections, limits) {
144
162
  export function previewSomedaySections(sections, limits) {
145
163
  const outSections = [];
146
164
  const blocks = [];
165
+ const totals = new Map();
147
166
  let truncated = false;
148
167
  for (const section of sections) {
149
168
  const { own, children } = partitionSomedaySection(section);
@@ -153,8 +172,12 @@ export function previewSomedaySections(sections, limits) {
153
172
  // The active-project child groups nest inside this section's own block.
154
173
  const childBlocks = [];
155
174
  const items = [...shownOwn];
175
+ // The section's FULL (pre-cap) flattened size for its inline `total` (R1):
176
+ // the own rows plus every active-project child.
177
+ let sectionTotal = own.length;
156
178
  for (const group of children) {
157
179
  const shown = takeUpTo(group.items, limits.project);
180
+ sectionTotal += group.items.length;
158
181
  if (group.items.length > shown.length)
159
182
  truncated = true;
160
183
  childBlocks.push({
@@ -181,9 +204,10 @@ export function previewSomedaySections(sections, limits) {
181
204
  ...(childBlocks.length > 0 && { children: childBlocks }),
182
205
  });
183
206
  }
207
+ totals.set(sectionKey(section), sectionTotal);
184
208
  outSections.push({ area: section.area, items });
185
209
  }
186
- return { data: outSections, truncation: groupedTruncation(blocks, truncated) };
210
+ return { data: outSections, ...groupedTruncation(blocks, truncated), totals };
187
211
  }
188
212
  /**
189
213
  * Sectioned cap for the `area show` detail view: its sections are containers,
@@ -201,6 +225,10 @@ export function previewSomedaySections(sections, limits) {
201
225
  */
202
226
  export function capAreaSections(view, limits, now, zone) {
203
227
  const todayIso = localToday(now, zone);
228
+ // Pre-cap scope sizes for the wire's inline `total` (R1): the direct to-dos
229
+ // (`children.anytime`) and ALL project rows (`projects` record). Captured
230
+ // before the caps slice below.
231
+ const totals = { anytime: view.active.length, projects: view.projects.length };
204
232
  const blocks = [];
205
233
  let truncated = false;
206
234
  // Cap the ACTIVE project rows in place; scheduled/someday rows always survive.
@@ -238,15 +266,10 @@ export function capAreaSections(view, limits, now, zone) {
238
266
  limit: limits.area,
239
267
  });
240
268
  }
241
- // The flat wire `items[]` mirrors the same cut: drop exactly the open/current
242
- // direct to-dos the `active` cap removed (the "area" block reports them), so the
243
- // wire item list and the truncation agree. The scheduled/someday/repeating
244
- // direct to-dos always survive (they are the "later" rows the TTY toggles).
245
- const droppedActive = new Set(view.active.slice(active.length).map((t) => t.uuid));
246
- const items = view.items.filter((t) => !droppedActive.has(t.uuid));
247
269
  return {
248
- data: { ...view, projects, active, items },
249
- truncation: groupedTruncation(blocks, truncated),
270
+ data: { ...view, projects, active },
271
+ ...groupedTruncation(blocks, truncated),
272
+ totals,
250
273
  };
251
274
  }
252
275
  //# sourceMappingURL=truncation.js.map