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.
- package/README.md +4 -4
- package/dist/audit/schema.d.ts +8 -0
- package/dist/audit/schema.js.map +1 -1
- package/dist/cli/commands/area.js +1 -1
- package/dist/cli/commands/install-skill.js +9 -2
- package/dist/cli/commands/install-skill.js.map +1 -1
- package/dist/cli/commands/project.js +1 -1
- package/dist/cli/commands/project.js.map +1 -1
- package/dist/cli/commands/reads.js +73 -4
- package/dist/cli/commands/reads.js.map +1 -1
- package/dist/cli/commands/repeat-flags.d.ts +11 -1
- package/dist/cli/commands/repeat-flags.js +23 -0
- package/dist/cli/commands/repeat-flags.js.map +1 -1
- package/dist/cli/commands/todo.js +50 -3
- package/dist/cli/commands/todo.js.map +1 -1
- package/dist/cli/commands/writes.js +202 -61
- package/dist/cli/commands/writes.js.map +1 -1
- package/dist/cli/glyphs.js +9 -10
- package/dist/cli/glyphs.js.map +1 -1
- package/dist/cli/help.js +18 -13
- package/dist/cli/help.js.map +1 -1
- package/dist/cli/read-driver.d.ts +9 -3
- package/dist/cli/read-driver.js +3 -1
- package/dist/cli/read-driver.js.map +1 -1
- package/dist/cli/render.d.ts +33 -2
- package/dist/cli/render.js +60 -9
- package/dist/cli/render.js.map +1 -1
- package/dist/cli/skill.d.ts +24 -0
- package/dist/cli/skill.js +40 -0
- package/dist/cli/skill.js.map +1 -1
- package/dist/client.d.ts +88 -15
- package/dist/client.js +31 -5
- package/dist/client.js.map +1 -1
- package/dist/contracts.d.ts +13 -2
- package/dist/contracts.js +1 -1
- package/dist/contracts.js.map +1 -1
- package/dist/index.d.ts +5 -4
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/mcp/server.js +187 -36
- package/dist/mcp/server.js.map +1 -1
- package/dist/model/entities.d.ts +97 -40
- package/dist/model/entities.js +0 -4
- package/dist/model/entities.js.map +1 -1
- package/dist/model/mappers.js +24 -43
- package/dist/model/mappers.js.map +1 -1
- package/dist/read/area-view.js +6 -6
- package/dist/read/area-view.js.map +1 -1
- package/dist/read/detail.js +51 -3
- package/dist/read/detail.js.map +1 -1
- package/dist/read/filter-contract.d.ts +1 -1
- package/dist/read/filter-contract.js +3 -0
- package/dist/read/filter-contract.js.map +1 -1
- package/dist/read/log-boundary.d.ts +46 -2
- package/dist/read/log-boundary.js +43 -2
- package/dist/read/log-boundary.js.map +1 -1
- package/dist/read/predicates.d.ts +13 -0
- package/dist/read/predicates.js +13 -0
- package/dist/read/predicates.js.map +1 -1
- package/dist/read/project-view.js +5 -5
- package/dist/read/project-view.js.map +1 -1
- package/dist/read/queries.d.ts +12 -0
- package/dist/read/queries.js +14 -0
- package/dist/read/queries.js.map +1 -1
- package/dist/read/search-rank.js +2 -2
- package/dist/read/search-rank.js.map +1 -1
- package/dist/read/shape.d.ts +30 -26
- package/dist/read/shape.js +130 -101
- package/dist/read/shape.js.map +1 -1
- package/dist/read/snapshot.js +2 -2
- package/dist/read/snapshot.js.map +1 -1
- package/dist/read/stage.d.ts +36 -18
- package/dist/read/stage.js +30 -13
- package/dist/read/stage.js.map +1 -1
- package/dist/read/views.d.ts +62 -0
- package/dist/read/views.js +134 -14
- package/dist/read/views.js.map +1 -1
- package/dist/surface-copy.d.ts +2 -2
- package/dist/surface-copy.js +2 -2
- package/dist/write/batch.d.ts +28 -3
- package/dist/write/batch.js +162 -46
- package/dist/write/batch.js.map +1 -1
- package/dist/write/clear-reminder.js +3 -1
- package/dist/write/clear-reminder.js.map +1 -1
- package/dist/write/clone.d.ts +4 -0
- package/dist/write/clone.js +531 -0
- package/dist/write/clone.js.map +1 -0
- package/dist/write/commands.js +196 -29
- package/dist/write/commands.js.map +1 -1
- package/dist/write/guards.d.ts +1 -1
- package/dist/write/guards.js +44 -12
- package/dist/write/guards.js.map +1 -1
- package/dist/write/make-repeating-project.d.ts +2 -3
- package/dist/write/make-repeating-project.js +2 -73
- package/dist/write/make-repeating-project.js.map +1 -1
- package/dist/write/move.js +53 -1
- package/dist/write/move.js.map +1 -1
- package/dist/write/operations.d.ts +134 -11
- package/dist/write/operations.js +5 -1
- package/dist/write/operations.js.map +1 -1
- package/dist/write/pipeline.d.ts +38 -0
- package/dist/write/pipeline.js +71 -6
- package/dist/write/pipeline.js.map +1 -1
- package/dist/write/pre-state.d.ts +41 -0
- package/dist/write/pre-state.js +71 -8
- package/dist/write/pre-state.js.map +1 -1
- package/dist/write/preserve-modified.d.ts +55 -0
- package/dist/write/preserve-modified.js +106 -0
- package/dist/write/preserve-modified.js.map +1 -0
- package/dist/write/promote-clone.d.ts +32 -0
- package/dist/write/promote-clone.js +620 -0
- package/dist/write/promote-clone.js.map +1 -0
- package/dist/write/reorder.js +49 -2
- package/dist/write/reorder.js.map +1 -1
- package/dist/write/resolution-timestamps.js +29 -7
- package/dist/write/resolution-timestamps.js.map +1 -1
- package/dist/write/reversibility.js +32 -14
- package/dist/write/reversibility.js.map +1 -1
- package/dist/write/scope-guard.js +2 -0
- package/dist/write/scope-guard.js.map +1 -1
- package/dist/write/undo.d.ts +12 -2
- package/dist/write/undo.js +145 -22
- package/dist/write/undo.js.map +1 -1
- package/dist/write/vectors/applescript.js +9 -0
- package/dist/write/vectors/applescript.js.map +1 -1
- package/dist/write/vectors/simulator.js +242 -10
- package/dist/write/vectors/simulator.js.map +1 -1
- package/dist/write/vectors/ui-certification.d.ts +1 -1
- package/dist/write/vectors/ui-certification.js +10 -3
- package/dist/write/vectors/ui-certification.js.map +1 -1
- package/dist/write/verify/delta.d.ts +55 -10
- package/dist/write/verify/delta.js +73 -10
- package/dist/write/verify/delta.js.map +1 -1
- package/package.json +1 -1
- package/schema/envelope.schema.json +25 -0
- package/skills/things-cli/SKILL.md +10 -7
- package/skills/things-cli/references/banner.md +1 -1
- package/skills/things-cli/references/contracts.md +17 -9
- package/skills/things-cli/references/{model.md → data-model.md} +5 -2
- package/skills/things-cli/references/ordering.md +2 -0
package/dist/read/shape.js.map
CHANGED
|
@@ -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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"}
|
package/dist/read/snapshot.js
CHANGED
|
@@ -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
|
|
8
|
-
//
|
|
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":"AAQA,OAAO,EAAE,CAAC,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAEhD,OAAO,EACL,gBAAgB,EAChB,UAAU,EACV,UAAU,EACV,OAAO,GAER,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACjF,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAmBhD,
|
|
1
|
+
{"version":3,"file":"snapshot.js","sourceRoot":"","sources":["../../src/read/snapshot.ts"],"names":[],"mappings":"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"}
|
package/dist/read/stage.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* The
|
|
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` —
|
|
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
|
-
* (
|
|
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 (
|
|
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
|
-
/**
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
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
|
|
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
|
-
*
|
|
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:
|
|
179
|
+
export declare function entityWhen(item: EntityDerivable): When | undefined;
|
|
163
180
|
/**
|
|
164
|
-
* The
|
|
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:
|
|
195
|
+
export declare function entityProvisional(item: EntityDerivable): boolean;
|
|
179
196
|
/**
|
|
180
|
-
* The §9n stale-reminder LAW — the ONE liveness predicate the read
|
|
181
|
-
*
|
|
182
|
-
* auto-preserve ({@link src/write/commands.ts}
|
|
183
|
-
* reminder is reported/preserved iff the GUI
|
|
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
|
package/dist/read/stage.js
CHANGED
|
@@ -7,7 +7,7 @@ export function deriveStage(item) {
|
|
|
7
7
|
return "trash";
|
|
8
8
|
if (item.logged)
|
|
9
9
|
return "logbook";
|
|
10
|
-
//
|
|
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
|
|
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
|
-
*
|
|
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:
|
|
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
|
|
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
|
|
104
|
-
*
|
|
105
|
-
* auto-preserve ({@link src/write/commands.ts}
|
|
106
|
-
* reminder is reported/preserved iff the GUI
|
|
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
|
package/dist/read/stage.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stage.js","sourceRoot":"","sources":["../../src/read/stage.ts"],"names":[],"mappings":"AAqGA;;;GAGG;AACH,MAAM,UAAU,WAAW,CAAC,IAAgB;IAC1C,IAAI,IAAI,CAAC,OAAO;QAAE,OAAO,OAAO,CAAC;IACjC,IAAI,IAAI,CAAC,MAAM;QAAE,OAAO,SAAS,CAAC;IAClC,6EAA6E;IAC7E,2EAA2E;IAC3E,+EAA+E;IAC/E,8EAA8E;IAC9E,0EAA0E;IAC1E,8EAA8E;IAC9E,4EAA4E;IAC5E,4EAA4E;IAC5E,6EAA6E;IAC7E,0EAA0E;IAC1E,+EAA+E;IAC/E,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI;QAAE,OAAO,SAAS,CAAC;IACrE,IAAI,IAAI,CAAC,KAAK,KAAK,OAAO;QAAE,OAAO,OAAO,CAAC;IAC3C,IAAI,IAAI,CAAC,SAAS,CAAC,UAAU;QAAE,OAAO,UAAU,CAAC;IACjD,0EAA0E;IAC1E,0EAA0E;IAC1E,uEAAuE;IACvE,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC;IACjF,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC/C,OAAO,SAAS,CAAC;AACnB,CAAC;AAiCD;;;;;GAKG;AACH,MAAM,UAAU,UAAU,CAAC,IAAe;IACxC,gFAAgF;IAChF,+EAA+E;IAC/E,+EAA+E;IAC/E,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,KAAK,KAAK,OAAO;QAAE,OAAO,SAAS,CAAC;IACzE,gFAAgF;IAChF,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI;QAAE,OAAO,SAAS,CAAC;IAC5C,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI;QAAE,OAAO,OAAO,CAAC;IACxC,iFAAiF;IACjF,iEAAiE;IACjE,IAAI,IAAI,CAAC,SAAS,CAAC,UAAU;QAAE,OAAO,IAAI,CAAC,SAAS,CAAC,cAAc,IAAI,SAAS,CAAC;IACjF,kFAAkF;IAClF,kFAAkF;IAClF,gFAAgF;IAChF,SAAS;IACT,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC,SAAS,CAAC;IACnD,OAAO,SAAS,CAAC;AACnB,CAAC;
|
|
1
|
+
{"version":3,"file":"stage.js","sourceRoot":"","sources":["../../src/read/stage.ts"],"names":[],"mappings":"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"}
|
package/dist/read/views.d.ts
CHANGED
|
@@ -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[];
|
package/dist/read/views.js
CHANGED
|
@@ -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
|
|
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.
|
|
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
|
-
//
|
|
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
|
-
//
|
|
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
|
-
//
|
|
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
|