things-api 0.8.0 → 0.10.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 +31 -11
- package/dist/audit/log.js +56 -2
- package/dist/audit/log.js.map +1 -1
- package/dist/audit/schema.d.ts +26 -8
- package/dist/audit/schema.js +42 -1
- package/dist/audit/schema.js.map +1 -1
- package/dist/cli/commands/area.d.ts +34 -2
- package/dist/cli/commands/area.js +140 -28
- package/dist/cli/commands/area.js.map +1 -1
- package/dist/cli/commands/doctor.d.ts +1 -1
- package/dist/cli/commands/doctor.js +44 -5
- package/dist/cli/commands/doctor.js.map +1 -1
- package/dist/cli/commands/mcp.js +23 -4
- package/dist/cli/commands/mcp.js.map +1 -1
- package/dist/cli/commands/project.d.ts +23 -1
- package/dist/cli/commands/project.js +82 -15
- package/dist/cli/commands/project.js.map +1 -1
- package/dist/cli/commands/reads.d.ts +6 -125
- package/dist/cli/commands/reads.js +649 -657
- package/dist/cli/commands/reads.js.map +1 -1
- package/dist/cli/commands/repeat-flags.d.ts +20 -0
- package/dist/cli/commands/repeat-flags.js +76 -0
- package/dist/cli/commands/repeat-flags.js.map +1 -0
- package/dist/cli/commands/setup.js +2 -3
- package/dist/cli/commands/setup.js.map +1 -1
- package/dist/cli/commands/show.d.ts +1 -1
- package/dist/cli/commands/show.js +169 -18
- package/dist/cli/commands/show.js.map +1 -1
- package/dist/cli/commands/snapshot.js +1 -1
- package/dist/cli/commands/snapshot.js.map +1 -1
- package/dist/cli/commands/todo.d.ts +1 -1
- package/dist/cli/commands/todo.js +21 -9
- package/dist/cli/commands/todo.js.map +1 -1
- package/dist/cli/commands/writes.js +378 -148
- package/dist/cli/commands/writes.js.map +1 -1
- package/dist/cli/did-you-mean.d.ts +29 -0
- package/dist/cli/did-you-mean.js +53 -0
- package/dist/cli/did-you-mean.js.map +1 -0
- package/dist/cli/excess-args.d.ts +15 -0
- package/dist/cli/excess-args.js +51 -0
- package/dist/cli/excess-args.js.map +1 -0
- package/dist/cli/glyphs.d.ts +67 -7
- package/dist/cli/glyphs.js +202 -19
- package/dist/cli/glyphs.js.map +1 -1
- package/dist/cli/help.d.ts +54 -0
- package/dist/cli/help.js +355 -0
- package/dist/cli/help.js.map +1 -0
- package/dist/cli/main.js +36 -21
- package/dist/cli/main.js.map +1 -1
- package/dist/cli/period.d.ts +39 -0
- package/dist/cli/period.js +141 -0
- package/dist/cli/period.js.map +1 -0
- package/dist/cli/read-driver.d.ts +83 -0
- package/dist/cli/read-driver.js +215 -0
- package/dist/cli/read-driver.js.map +1 -0
- package/dist/cli/render.d.ts +246 -0
- package/dist/cli/render.js +806 -0
- package/dist/cli/render.js.map +1 -0
- package/dist/cli/resolve-invocation.d.ts +116 -0
- package/dist/cli/resolve-invocation.js +261 -0
- package/dist/cli/resolve-invocation.js.map +1 -0
- package/dist/cli/shell-quote.d.ts +9 -0
- package/dist/cli/shell-quote.js +12 -0
- package/dist/cli/shell-quote.js.map +1 -0
- package/dist/cli/tag-filters.d.ts +59 -0
- package/dist/cli/tag-filters.js +57 -0
- package/dist/cli/tag-filters.js.map +1 -0
- package/dist/cli/verb-hint.d.ts +25 -0
- package/dist/cli/verb-hint.js +138 -0
- package/dist/cli/verb-hint.js.map +1 -0
- package/dist/cli/width.d.ts +135 -0
- package/dist/cli/width.js +313 -0
- package/dist/cli/width.js.map +1 -0
- package/dist/client.d.ts +146 -24
- package/dist/client.js +106 -16
- package/dist/client.js.map +1 -1
- package/dist/config.d.ts +11 -0
- package/dist/config.js +3 -0
- package/dist/config.js.map +1 -1
- package/dist/contracts.d.ts +136 -1
- package/dist/contracts.js +44 -1
- package/dist/contracts.js.map +1 -1
- package/dist/db/fingerprint.d.ts +12 -0
- package/dist/db/fingerprint.js +15 -1
- package/dist/db/fingerprint.js.map +1 -1
- package/dist/db/locate.js +1 -1
- package/dist/db/locate.js.map +1 -1
- package/dist/diagnose.d.ts +63 -0
- package/dist/diagnose.js +38 -1
- package/dist/diagnose.js.map +1 -1
- package/dist/index.d.ts +30 -4
- package/dist/index.js +35 -2
- package/dist/index.js.map +1 -1
- package/dist/mcp/server.d.ts +9 -1
- package/dist/mcp/server.js +850 -128
- package/dist/mcp/server.js.map +1 -1
- package/dist/model/entities.d.ts +40 -7
- package/dist/model/entities.js.map +1 -1
- package/dist/model/mappers.d.ts +7 -0
- package/dist/model/mappers.js +20 -3
- package/dist/model/mappers.js.map +1 -1
- package/dist/model/occurrences.d.ts +6 -1
- package/dist/model/occurrences.js +9 -5
- package/dist/model/occurrences.js.map +1 -1
- package/dist/model/recurrence.d.ts +17 -8
- package/dist/model/recurrence.js.map +1 -1
- package/dist/model/serialize.d.ts +28 -0
- package/dist/model/serialize.js +80 -0
- package/dist/model/serialize.js.map +1 -0
- package/dist/model/when-sugar.d.ts +47 -0
- package/dist/model/when-sugar.js +45 -0
- package/dist/model/when-sugar.js.map +1 -0
- package/dist/read/area-view.d.ts +8 -1
- package/dist/read/area-view.js +49 -13
- package/dist/read/area-view.js.map +1 -1
- package/dist/read/caps.d.ts +14 -0
- package/dist/read/caps.js +21 -0
- package/dist/read/caps.js.map +1 -0
- package/dist/read/filter-contract.d.ts +117 -0
- package/dist/read/filter-contract.js +78 -0
- package/dist/read/filter-contract.js.map +1 -0
- package/dist/read/log-boundary.d.ts +9 -4
- package/dist/read/log-boundary.js.map +1 -1
- package/dist/read/predicates.d.ts +61 -0
- package/dist/read/predicates.js +78 -0
- package/dist/read/predicates.js.map +1 -0
- package/dist/read/project-view.d.ts +12 -1
- package/dist/read/project-view.js +39 -8
- package/dist/read/project-view.js.map +1 -1
- package/dist/read/queries.d.ts +156 -8
- package/dist/read/queries.js +261 -38
- package/dist/read/queries.js.map +1 -1
- package/dist/read/search-rank.d.ts +36 -0
- package/dist/read/search-rank.js +31 -0
- package/dist/read/search-rank.js.map +1 -0
- package/dist/read/sections.d.ts +51 -0
- package/dist/read/sections.js +37 -0
- package/dist/read/sections.js.map +1 -0
- package/dist/read/show-target.d.ts +13 -4
- package/dist/read/show-target.js +11 -2
- package/dist/read/show-target.js.map +1 -1
- package/dist/read/sidebar-order.d.ts +19 -0
- package/dist/read/sidebar-order.js +93 -0
- package/dist/read/sidebar-order.js.map +1 -0
- package/dist/read/tags.d.ts +27 -3
- package/dist/read/tags.js +83 -12
- package/dist/read/tags.js.map +1 -1
- package/dist/read/truncation.d.ts +71 -0
- package/dist/read/truncation.js +217 -0
- package/dist/read/truncation.js.map +1 -0
- package/dist/read/views.d.ts +177 -19
- package/dist/read/views.js +390 -213
- package/dist/read/views.js.map +1 -1
- package/dist/surface-copy.d.ts +42 -0
- package/dist/surface-copy.js +55 -0
- package/dist/surface-copy.js.map +1 -1
- package/dist/sync-health.d.ts +78 -0
- package/dist/sync-health.js +312 -0
- package/dist/sync-health.js.map +1 -0
- package/dist/write/accessibility-probe.d.ts +12 -0
- package/dist/write/accessibility-probe.js +63 -0
- package/dist/write/accessibility-probe.js.map +1 -0
- package/dist/write/automation-probe.d.ts +7 -0
- package/dist/write/automation-probe.js +8 -1
- package/dist/write/automation-probe.js.map +1 -1
- package/dist/write/batch.js +4 -2
- package/dist/write/batch.js.map +1 -1
- package/dist/write/capabilities.d.ts +8 -0
- package/dist/write/capabilities.js +13 -5
- package/dist/write/capabilities.js.map +1 -1
- package/dist/write/commands.d.ts +2 -0
- package/dist/write/commands.js +562 -48
- package/dist/write/commands.js.map +1 -1
- package/dist/write/edit-checklist.js +3 -2
- package/dist/write/edit-checklist.js.map +1 -1
- package/dist/write/guards.d.ts +2 -7
- package/dist/write/guards.js +64 -6
- package/dist/write/guards.js.map +1 -1
- package/dist/write/heading.js +2 -0
- package/dist/write/heading.js.map +1 -1
- package/dist/write/lock.d.ts +40 -2
- package/dist/write/lock.js +91 -14
- package/dist/write/lock.js.map +1 -1
- package/dist/write/make-repeating-project.d.ts +4 -0
- package/dist/write/make-repeating-project.js +253 -0
- package/dist/write/make-repeating-project.js.map +1 -0
- package/dist/write/operations.d.ts +145 -1
- package/dist/write/operations.js +48 -0
- package/dist/write/operations.js.map +1 -1
- package/dist/write/pipeline.d.ts +19 -0
- package/dist/write/pipeline.js +109 -26
- package/dist/write/pipeline.js.map +1 -1
- package/dist/write/pre-state.d.ts +68 -3
- package/dist/write/pre-state.js +102 -3
- package/dist/write/pre-state.js.map +1 -1
- package/dist/write/reopen.js +3 -2
- package/dist/write/reopen.js.map +1 -1
- package/dist/write/reorder.js +27 -17
- package/dist/write/reorder.js.map +1 -1
- package/dist/write/repeat-rule.d.ts +22 -0
- package/dist/write/repeat-rule.js +258 -0
- package/dist/write/repeat-rule.js.map +1 -0
- package/dist/write/reversibility.js +49 -0
- package/dist/write/reversibility.js.map +1 -1
- package/dist/write/tag-refs.d.ts +47 -0
- package/dist/write/tag-refs.js +126 -0
- package/dist/write/tag-refs.js.map +1 -0
- package/dist/write/undo.d.ts +74 -5
- package/dist/write/undo.js +494 -80
- package/dist/write/undo.js.map +1 -1
- package/dist/write/vectors/registry.d.ts +17 -1
- package/dist/write/vectors/registry.js +18 -2
- package/dist/write/vectors/registry.js.map +1 -1
- package/dist/write/vectors/types.d.ts +119 -3
- package/dist/write/vectors/ui-certification.d.ts +48 -0
- package/dist/write/vectors/ui-certification.js +46 -0
- package/dist/write/vectors/ui-certification.js.map +1 -0
- package/dist/write/vectors/ui-drag.d.ts +188 -0
- package/dist/write/vectors/ui-drag.js +1095 -0
- package/dist/write/vectors/ui-drag.js.map +1 -0
- package/dist/write/vectors/ui-recipes.d.ts +70 -0
- package/dist/write/vectors/ui-recipes.js +558 -0
- package/dist/write/vectors/ui-recipes.js.map +1 -0
- package/dist/write/vectors/ui.d.ts +137 -0
- package/dist/write/vectors/ui.js +656 -0
- package/dist/write/vectors/ui.js.map +1 -0
- package/dist/write/verify/delta.d.ts +31 -3
- package/dist/write/verify/delta.js +22 -6
- package/dist/write/verify/delta.js.map +1 -1
- package/dist/write/verify/poller.js +1 -0
- package/dist/write/verify/poller.js.map +1 -1
- package/package.json +1 -1
- package/dist/cli/exit-codes.d.ts +0 -26
- package/dist/cli/exit-codes.js +0 -26
- package/dist/cli/exit-codes.js.map +0 -1
- package/dist/cli/output.d.ts +0 -42
- package/dist/cli/output.js +0 -16
- package/dist/cli/output.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"truncation.js","sourceRoot":"","sources":["../../src/read/truncation.ts"],"names":[],"mappings":"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"}
|
package/dist/read/views.d.ts
CHANGED
|
@@ -20,7 +20,18 @@
|
|
|
20
20
|
* overdue bucket=1 items roll back into Today proper (live-
|
|
21
21
|
* verified against the UI, 2026-07-02).
|
|
22
22
|
* Sidebar badge split: red = items with deadline <= today,
|
|
23
|
-
* gray = the rest (exact 270/122 reconciliation on live data).
|
|
23
|
+
* gray = the rest (exact 270/122 reconciliation on live data). The
|
|
24
|
+
* badge counts OPEN members only — a checked-but-unswept row is in
|
|
25
|
+
* the list but out of the count (the GUI badge is remaining work).
|
|
26
|
+
* CHECKED-BUT-UNSWEPT (GUI-parity ruling 2026-07-14, Mike — "this
|
|
27
|
+
* is the behavior of the Things GUI and I like it"): membership is
|
|
28
|
+
* OPEN_OR_UNSWEPT, not OPEN — a completed/canceled row the log-move
|
|
29
|
+
* sweep has NOT yet passed (completion ≠ logged; see
|
|
30
|
+
* log-boundary.ts) stays in Today IN PLACE, keeping the exact
|
|
31
|
+
* comparator slot (startBucket / referenceDate / todayIndex) it held
|
|
32
|
+
* open. It leaves when the sweep boundary advances past its stopDate
|
|
33
|
+
* (boundary-relative, no new state). Mixed-context resolved styling
|
|
34
|
+
* (dim / dim+strike) applies automatically in formatItem.
|
|
24
35
|
* - anytime: ALL active items — unscheduled PLUS Today members (the UI
|
|
25
36
|
* renders Today members with a star; live-verified via screenshot
|
|
26
37
|
* 2026-07-02: starred = in Today, unstarred = unscheduled).
|
|
@@ -29,7 +40,29 @@
|
|
|
29
40
|
* project that is not itself anytime-visible (someday/future/
|
|
30
41
|
* logged/trashed) are excluded — the project row represents
|
|
31
42
|
* them. Result is grouped in sidebar order (SidebarSection[]).
|
|
32
|
-
* -
|
|
43
|
+
* CHECKED-BUT-UNSWEPT (GUI-parity ruling 2026-07-14, Mike): like
|
|
44
|
+
* Today, membership is OPEN_OR_UNSWEPT — a closed row the sweep has
|
|
45
|
+
* not passed keeps its index slot until the boundary moves past its
|
|
46
|
+
* stopDate. A closed-but-unswept PROJECT row shows in place and its
|
|
47
|
+
* children stay cascade-excluded (PROJECT_ANYTIME_ACTIVE still tests
|
|
48
|
+
* p.status = 0): the checked project row represents its children,
|
|
49
|
+
* the same precedent as a logged/someday container.
|
|
50
|
+
* - upcoming: TWO cohorts merged, grouped/sorted by COALESCE(startDate,
|
|
51
|
+
* deadline) (UPC1, GUI-verified, docs/lab/upcoming-research.md):
|
|
52
|
+
* (1) SCHEDULED — start=2 AND startDate > today, grouped under its
|
|
53
|
+
* when-date (a deadline it also carries rides along as a flag);
|
|
54
|
+
* (2) DEADLINE-FORECAST — startDate IS NULL AND start IN (1, 2)
|
|
55
|
+
* AND deadline > today AND (deadlineSuppressionDate IS NULL OR
|
|
56
|
+
* deadlineSuppressionDate < deadline), grouped under its DEADLINE
|
|
57
|
+
* date (both to-dos and projects). INBOX (start=0) is EXCLUDED — a
|
|
58
|
+
* future deadline does not forecast an Inbox item into Upcoming,
|
|
59
|
+
* though a DUE one still pulls it into Today. The suppression guard
|
|
60
|
+
* drops a dismissed-nag deadline (supp == deadline) and lets a
|
|
61
|
+
* re-armed one (supp < deadline) reappear — the todayView clause
|
|
62
|
+
* one step earlier (deadline > today). A when+deadline row appears
|
|
63
|
+
* ONCE under its when-date, never double-emitted (the forecast
|
|
64
|
+
* cohort requires startDate IS NULL). Forecast rows keep
|
|
65
|
+
* startDate=null (no faked when-date). PLUS each fixed repeating
|
|
33
66
|
* template's next occurrence synthesized from
|
|
34
67
|
* rt1_nextInstanceStartDate (UI parity; opt out via
|
|
35
68
|
* repeats:false). Occurrence deadline = start − rule.ts
|
|
@@ -48,22 +81,81 @@
|
|
|
48
81
|
import type { DatabaseSync } from "node:sqlite";
|
|
49
82
|
import { type IsoDate } from "../model/dates.ts";
|
|
50
83
|
import type { Project, Ref, Todo } from "../model/entities.ts";
|
|
84
|
+
import type { Area } from "../model/entities.ts";
|
|
51
85
|
export type ListItem = Todo | Project;
|
|
52
86
|
/** Optional list-view filters. */
|
|
53
87
|
export interface ViewFilter {
|
|
54
88
|
/**
|
|
55
|
-
*
|
|
56
|
-
*
|
|
57
|
-
*
|
|
58
|
-
* child-tagged items; not lab-oracled).
|
|
89
|
+
* Convenience shorthand for a single-element {@link tags} — a lone
|
|
90
|
+
* inheritance-inclusive tag ref. Production surfaces (CLI `--tag`, MCP
|
|
91
|
+
* `tag`) always pass the array form; this exists for internal/test callers.
|
|
59
92
|
*/
|
|
60
93
|
tag?: string;
|
|
61
94
|
/**
|
|
62
|
-
*
|
|
95
|
+
* Tag refs (uuid or unique title). In FLAT views (today/inbox/anytime/
|
|
96
|
+
* someday/upcoming/search/logbook) this is direct OR inherited membership (UI
|
|
97
|
+
* semantics), INCLUDING items tagged with a hierarchy descendant of each
|
|
98
|
+
* given tag (documented app behavior — the UI's tag filter matches
|
|
99
|
+
* child-tagged items; not lab-oracled). In CONTAINER views (`project show`,
|
|
100
|
+
* `area show`, the `projects` list) the same ref instead matches rows carrying
|
|
101
|
+
* the tag DIRECTLY (still with descendant expansion) — the view's own
|
|
102
|
+
* container-inheritance hop is suppressed, since every child inherits the
|
|
103
|
+
* container's tags and an inheritance-inclusive filter there is vacuous. The
|
|
104
|
+
* host view selects the behavior via {@link tagFilter}'s `container` option.
|
|
105
|
+
* Multiple refs AND together — an item must match EVERY ref (each
|
|
106
|
+
* independently expanded to its descendant set, OR-matched within,
|
|
107
|
+
* AND-combined across).
|
|
108
|
+
*/
|
|
109
|
+
tags?: string[];
|
|
110
|
+
/**
|
|
111
|
+
* Match each given tag ref ONLY — no hierarchy descendants. Useful when a
|
|
63
112
|
* parent tag has its own direct assignments distinct from its children's.
|
|
64
113
|
*/
|
|
65
114
|
exactTag?: boolean;
|
|
115
|
+
/**
|
|
116
|
+
* Only items with NO tag (the GUI's "No Tag"). In FLAT views this negates the
|
|
117
|
+
* WHOLE direct+inherited membership relation — an item is untagged iff no
|
|
118
|
+
* possible `tag` value could ever match it. In CONTAINER views it instead
|
|
119
|
+
* means "no DIRECT tag" (the container's own inherited tags are suppressed,
|
|
120
|
+
* matching the container `tag` semantics). Mutually exclusive with
|
|
121
|
+
* `tag`/`exactTag` (the surfaces reject the combination).
|
|
122
|
+
*/
|
|
123
|
+
untagged?: boolean;
|
|
124
|
+
/**
|
|
125
|
+
* Only OPEN items whose deadline is strictly BEFORE today (due-today is NOT
|
|
126
|
+
* overdue — it mirrors the app's Today badge, where an equal-to-today
|
|
127
|
+
* deadline is "due" and only an earlier one is "overdue"). A content scope
|
|
128
|
+
* like `tag`: it narrows, never lifts a default, and composes as AND with
|
|
129
|
+
* `tag`/`untagged`. The boundary rides the view's injected clock (see
|
|
130
|
+
* {@link OVERDUE}). Honored by the current-work views (today, inbox, anytime,
|
|
131
|
+
* someday, search); the forward-looking `upcoming` and the closed-item
|
|
132
|
+
* `logbook` deliberately do not accept it (see docs/design/cli-grammar.md).
|
|
133
|
+
*/
|
|
134
|
+
overdue?: boolean;
|
|
66
135
|
}
|
|
136
|
+
/**
|
|
137
|
+
* Compose the tag scope for a filter into an AND-chained SQL fragment plus its
|
|
138
|
+
* binds. Every clause AND-combines: the `untagged` negation and each `--tag`
|
|
139
|
+
* ref (each ref independently resolved and descendant-expanded per `exactTag`).
|
|
140
|
+
* The mutually-exclusive combination (`untagged` with a tag-presence flag) is
|
|
141
|
+
* refused at the CLI/MCP surfaces; here it would simply AND to an empty result.
|
|
142
|
+
* Splices in before {@link overdueFilter} so the tag binds precede the overdue
|
|
143
|
+
* bind.
|
|
144
|
+
*
|
|
145
|
+
* `options.container` selects the CONTAINER semantics (`project show` /
|
|
146
|
+
* `area show` / the `projects` list): the view's own inheritance hop is dropped,
|
|
147
|
+
* so `--tag` matches a DIRECT assignment (still descendant-expanded) and
|
|
148
|
+
* `--untagged` means "no direct tag". Every child inherits its container's tags,
|
|
149
|
+
* so an inheritance-inclusive filter there is vacuous — direct-on-the-row is the
|
|
150
|
+
* useful, GUI-faithful behavior. FLAT views omit the option and keep the
|
|
151
|
+
* inheritance-inclusive relation.
|
|
152
|
+
*/
|
|
153
|
+
export declare function tagFilter(db: DatabaseSync, filter: ViewFilter | undefined, options?: {
|
|
154
|
+
container?: boolean;
|
|
155
|
+
}): {
|
|
156
|
+
sql: string;
|
|
157
|
+
binds: string[];
|
|
158
|
+
};
|
|
67
159
|
export interface TodayView {
|
|
68
160
|
today: ListItem[];
|
|
69
161
|
evening: ListItem[];
|
|
@@ -73,8 +165,28 @@ export interface TodayView {
|
|
|
73
165
|
other: number;
|
|
74
166
|
};
|
|
75
167
|
}
|
|
76
|
-
export
|
|
77
|
-
|
|
168
|
+
export interface TodayFilter extends ViewFilter {
|
|
169
|
+
/**
|
|
170
|
+
* Restrict to the This-Evening section: the Today section is filtered out
|
|
171
|
+
* (returned empty) and the badge counts only the evening members. A section
|
|
172
|
+
* visibility toggle, not a volume change — the row limit still applies.
|
|
173
|
+
*/
|
|
174
|
+
eveningOnly?: boolean;
|
|
175
|
+
}
|
|
176
|
+
export declare function todayView(db: DatabaseSync, now?: Date, filter?: TodayFilter): TodayView;
|
|
177
|
+
export interface InboxFilter extends ViewFilter {
|
|
178
|
+
/**
|
|
179
|
+
* Only captures created at/after this instant. Keyed on the item's CREATION
|
|
180
|
+
* timestamp (the raw Cocoa/Unix-epoch creationDate, compared like
|
|
181
|
+
* `changes`/`logbook` do their epoch columns — NOT the packed startDate
|
|
182
|
+
* encoding). A demoted item keeps its original creation date, so this is
|
|
183
|
+
* arrival-into-Things, not arrival-into-the-Inbox.
|
|
184
|
+
*/
|
|
185
|
+
since?: Date;
|
|
186
|
+
/** Only captures created at/before this instant (creation timestamp). */
|
|
187
|
+
until?: Date;
|
|
188
|
+
}
|
|
189
|
+
export declare function inboxView(db: DatabaseSync, now?: Date, filter?: InboxFilter): ListItem[];
|
|
78
190
|
/**
|
|
79
191
|
* One sidebar-ordered block of a grouped view (anytime/someday): the area
|
|
80
192
|
* (null = the top-level, area-less block, which the UI renders first) and its
|
|
@@ -86,7 +198,19 @@ export interface SidebarSection {
|
|
|
86
198
|
items: ListItem[];
|
|
87
199
|
}
|
|
88
200
|
export declare function anytimeView(db: DatabaseSync, now?: Date, filter?: ViewFilter): SidebarSection[];
|
|
89
|
-
/**
|
|
201
|
+
/**
|
|
202
|
+
* The UI's star marker in Anytime: the item is also a Today member. Mirrors
|
|
203
|
+
* {@link todayView}'s two membership arms so an unscheduled item pulled into
|
|
204
|
+
* Today by a due deadline stars exactly like a scheduled one:
|
|
205
|
+
* - SCHEDULED — a When-date that has arrived (startDate <= today); or
|
|
206
|
+
* - DEADLINE-DRIVEN — no When-date, but a due/overdue deadline (deadline <=
|
|
207
|
+
* today) pulls it into Today (the todayView arm that lets a bare deadline
|
|
208
|
+
* surface an item). Only reached for anytime-visible rows (start=1,
|
|
209
|
+
* startDate NULL), so it never over-stars someday/inbox rows.
|
|
210
|
+
* KNOWN LIMITATION: todayView's deadline arm also drops a DISMISSED-nag
|
|
211
|
+
* deadline (deadlineSuppressionDate >= deadline); that column is not surfaced
|
|
212
|
+
* on the entity, so a suppressed unscheduled overdue row is over-starred here.
|
|
213
|
+
*/
|
|
90
214
|
export declare function isTodayMember(item: ListItem, now?: Date): boolean;
|
|
91
215
|
export interface UpcomingFilter extends ViewFilter {
|
|
92
216
|
/** Include repeating templates' next occurrences (UI parity; default true). */
|
|
@@ -105,6 +229,12 @@ export interface UpcomingFilter extends ViewFilter {
|
|
|
105
229
|
* a date bound cannot apply to rows with no date.
|
|
106
230
|
*/
|
|
107
231
|
until?: IsoDate;
|
|
232
|
+
/**
|
|
233
|
+
* Only rows scheduled on/after this date (inclusive) — skip occurrences
|
|
234
|
+
* before it. The dateless resting templates always survive, as with
|
|
235
|
+
* `until` (a date bound cannot apply to rows with no date).
|
|
236
|
+
*/
|
|
237
|
+
since?: IsoDate;
|
|
108
238
|
}
|
|
109
239
|
export declare function upcomingView(db: DatabaseSync, now?: Date, filter?: UpcomingFilter): ListItem[];
|
|
110
240
|
export interface SomedayFilter extends ViewFilter {
|
|
@@ -118,7 +248,8 @@ export interface SomedayFilter extends ViewFilter {
|
|
|
118
248
|
}
|
|
119
249
|
export declare function somedayView(db: DatabaseSync, now?: Date, filter?: SomedayFilter): SidebarSection[];
|
|
120
250
|
export interface LogbookFilter extends ViewFilter {
|
|
121
|
-
|
|
251
|
+
/** Row cap; `null` returns every match (surfaces slice for display). */
|
|
252
|
+
limit?: number | null;
|
|
122
253
|
/**
|
|
123
254
|
* Area scope: the area's direct items, its project rows, and every to-do
|
|
124
255
|
* of its projects — INCLUDING heading-nested ones (heading → project →
|
|
@@ -132,17 +263,19 @@ export interface LogbookFilter extends ViewFilter {
|
|
|
132
263
|
/** Only entries logged at/before this instant. */
|
|
133
264
|
until?: Date;
|
|
134
265
|
}
|
|
135
|
-
export declare function logbookView(db: DatabaseSync, options?: LogbookFilter): ListItem[];
|
|
136
|
-
export declare function trashView(db: DatabaseSync, options?: {
|
|
137
|
-
limit?: number;
|
|
266
|
+
export declare function logbookView(db: DatabaseSync, now?: Date, options?: LogbookFilter): ListItem[];
|
|
267
|
+
export declare function trashView(db: DatabaseSync, now?: Date, options?: {
|
|
268
|
+
limit?: number | null;
|
|
138
269
|
}): ListItem[];
|
|
139
270
|
export declare function projectsView(db: DatabaseSync, options?: {
|
|
140
271
|
areaUuid?: string;
|
|
141
272
|
later?: boolean;
|
|
273
|
+
overdue?: boolean;
|
|
142
274
|
now?: Date;
|
|
143
|
-
}): Project[];
|
|
275
|
+
} & ViewFilter): Project[];
|
|
144
276
|
export interface SearchOptions extends ViewFilter {
|
|
145
|
-
|
|
277
|
+
/** Row cap; `null` returns every match (surfaces slice for display). */
|
|
278
|
+
limit?: number | null;
|
|
146
279
|
/** Restrict to one project's children (headed children included). */
|
|
147
280
|
project?: string;
|
|
148
281
|
/** Restrict to one area's direct members. */
|
|
@@ -167,8 +300,33 @@ export type ChangedItem = ListItem & {
|
|
|
167
300
|
* carry no modification dates, and checklist-item edits do not bump the
|
|
168
301
|
* parent task — those changes are invisible here.
|
|
169
302
|
*/
|
|
170
|
-
export declare function changesView(db: DatabaseSync, options: {
|
|
303
|
+
export declare function changesView(db: DatabaseSync, now: Date | undefined, options: {
|
|
171
304
|
since: Date;
|
|
172
|
-
limit?: number;
|
|
305
|
+
limit?: number | null;
|
|
173
306
|
}): ChangedItem[];
|
|
174
|
-
|
|
307
|
+
/** One did-you-mean candidate: an area, or a task (project / to-do). */
|
|
308
|
+
export type LiteCandidate = {
|
|
309
|
+
kind: "area";
|
|
310
|
+
area: Area;
|
|
311
|
+
} | {
|
|
312
|
+
kind: "task";
|
|
313
|
+
task: ListItem;
|
|
314
|
+
};
|
|
315
|
+
export interface LiteSearchResult {
|
|
316
|
+
/** Ordered (containers first, then to-dos; within a group: active before someday, then most-recently-modified) and capped. */
|
|
317
|
+
candidates: LiteCandidate[];
|
|
318
|
+
/** Total matches before the cap. */
|
|
319
|
+
total: number;
|
|
320
|
+
}
|
|
321
|
+
export declare function liteTitleSearch(db: DatabaseSync, query: string, options?: {
|
|
322
|
+
type?: "to-do" | "project" | "area";
|
|
323
|
+
limit?: number;
|
|
324
|
+
}, now?: Date): LiteSearchResult;
|
|
325
|
+
/** A search result annotated with WHY it surfaced (additive; `matchedVia` present only for heading-credited projects). */
|
|
326
|
+
export type SearchResultItem = ListItem & {
|
|
327
|
+
matchedVia?: {
|
|
328
|
+
kind: "heading";
|
|
329
|
+
title: string;
|
|
330
|
+
};
|
|
331
|
+
};
|
|
332
|
+
export declare function searchView(db: DatabaseSync, query: string, options?: SearchOptions, now?: Date): SearchResultItem[];
|