things-api 0.10.0 → 0.12.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 (239) hide show
  1. package/README.md +50 -13
  2. package/dist/audit/schema.d.ts +7 -0
  3. package/dist/audit/schema.js.map +1 -1
  4. package/dist/cli/clock.d.ts +8 -0
  5. package/dist/cli/clock.js +24 -0
  6. package/dist/cli/clock.js.map +1 -0
  7. package/dist/cli/commands/area.d.ts +18 -11
  8. package/dist/cli/commands/area.js +61 -74
  9. package/dist/cli/commands/area.js.map +1 -1
  10. package/dist/cli/commands/doctor.d.ts +1 -2
  11. package/dist/cli/commands/doctor.js +11 -1
  12. package/dist/cli/commands/doctor.js.map +1 -1
  13. package/dist/cli/commands/install-skill.d.ts +60 -0
  14. package/dist/cli/commands/install-skill.js +256 -0
  15. package/dist/cli/commands/install-skill.js.map +1 -0
  16. package/dist/cli/commands/mcp.js +9 -0
  17. package/dist/cli/commands/mcp.js.map +1 -1
  18. package/dist/cli/commands/project.d.ts +1 -0
  19. package/dist/cli/commands/project.js +27 -34
  20. package/dist/cli/commands/project.js.map +1 -1
  21. package/dist/cli/commands/reads.d.ts +15 -2
  22. package/dist/cli/commands/reads.js +144 -44
  23. package/dist/cli/commands/reads.js.map +1 -1
  24. package/dist/cli/commands/setup.js +7 -2
  25. package/dist/cli/commands/setup.js.map +1 -1
  26. package/dist/cli/commands/show.js +38 -14
  27. package/dist/cli/commands/show.js.map +1 -1
  28. package/dist/cli/commands/todo.js +15 -9
  29. package/dist/cli/commands/todo.js.map +1 -1
  30. package/dist/cli/commands/writes.js +797 -174
  31. package/dist/cli/commands/writes.js.map +1 -1
  32. package/dist/cli/did-you-mean.d.ts +14 -3
  33. package/dist/cli/did-you-mean.js +26 -3
  34. package/dist/cli/did-you-mean.js.map +1 -1
  35. package/dist/cli/glyphs.d.ts +32 -2
  36. package/dist/cli/glyphs.js +83 -12
  37. package/dist/cli/glyphs.js.map +1 -1
  38. package/dist/cli/help.js +121 -16
  39. package/dist/cli/help.js.map +1 -1
  40. package/dist/cli/main.js +33 -2
  41. package/dist/cli/main.js.map +1 -1
  42. package/dist/cli/move-hint.d.ts +46 -0
  43. package/dist/cli/move-hint.js +196 -0
  44. package/dist/cli/move-hint.js.map +1 -0
  45. package/dist/cli/period.d.ts +2 -8
  46. package/dist/cli/period.js +44 -30
  47. package/dist/cli/period.js.map +1 -1
  48. package/dist/cli/read-driver.d.ts +43 -5
  49. package/dist/cli/read-driver.js +91 -15
  50. package/dist/cli/read-driver.js.map +1 -1
  51. package/dist/cli/render.d.ts +19 -8
  52. package/dist/cli/render.js +70 -27
  53. package/dist/cli/render.js.map +1 -1
  54. package/dist/cli/resolve-invocation.d.ts +2 -2
  55. package/dist/cli/resolve-invocation.js +3 -3
  56. package/dist/cli/resolve-invocation.js.map +1 -1
  57. package/dist/cli/skill-check.d.ts +27 -0
  58. package/dist/cli/skill-check.js +99 -0
  59. package/dist/cli/skill-check.js.map +1 -0
  60. package/dist/cli/skill.d.ts +70 -0
  61. package/dist/cli/skill.js +152 -0
  62. package/dist/cli/skill.js.map +1 -0
  63. package/dist/cli/tag-filters.d.ts +6 -2
  64. package/dist/cli/tag-filters.js +8 -6
  65. package/dist/cli/tag-filters.js.map +1 -1
  66. package/dist/cli/verb-hint.js +28 -3
  67. package/dist/cli/verb-hint.js.map +1 -1
  68. package/dist/cli/version.d.ts +4 -0
  69. package/dist/cli/version.js +18 -0
  70. package/dist/cli/version.js.map +1 -0
  71. package/dist/client.d.ts +171 -27
  72. package/dist/client.js +279 -40
  73. package/dist/client.js.map +1 -1
  74. package/dist/config.d.ts +66 -2
  75. package/dist/config.js +120 -12
  76. package/dist/config.js.map +1 -1
  77. package/dist/contracts.d.ts +186 -28
  78. package/dist/contracts.js +22 -1
  79. package/dist/contracts.js.map +1 -1
  80. package/dist/diagnose.d.ts +34 -2
  81. package/dist/diagnose.js +36 -1
  82. package/dist/diagnose.js.map +1 -1
  83. package/dist/index.d.ts +25 -9
  84. package/dist/index.js +22 -3
  85. package/dist/index.js.map +1 -1
  86. package/dist/mcp/server.d.ts +9 -0
  87. package/dist/mcp/server.js +1157 -684
  88. package/dist/mcp/server.js.map +1 -1
  89. package/dist/model/clock.d.ts +61 -0
  90. package/dist/model/clock.js +71 -0
  91. package/dist/model/clock.js.map +1 -0
  92. package/dist/model/dates.d.ts +26 -3
  93. package/dist/model/dates.js +84 -3
  94. package/dist/model/dates.js.map +1 -1
  95. package/dist/model/entities.d.ts +60 -3
  96. package/dist/model/entities.js.map +1 -1
  97. package/dist/model/mappers.d.ts +4 -2
  98. package/dist/model/mappers.js +66 -9
  99. package/dist/model/mappers.js.map +1 -1
  100. package/dist/model/recurrence.d.ts +8 -1
  101. package/dist/model/recurrence.js.map +1 -1
  102. package/dist/read/area-filter.d.ts +76 -0
  103. package/dist/read/area-filter.js +59 -0
  104. package/dist/read/area-filter.js.map +1 -0
  105. package/dist/read/area-view.d.ts +12 -12
  106. package/dist/read/area-view.js +58 -34
  107. package/dist/read/area-view.js.map +1 -1
  108. package/dist/read/detail.d.ts +1 -1
  109. package/dist/read/detail.js +26 -12
  110. package/dist/read/detail.js.map +1 -1
  111. package/dist/read/log-boundary.d.ts +1 -1
  112. package/dist/read/log-boundary.js +13 -3
  113. package/dist/read/log-boundary.js.map +1 -1
  114. package/dist/read/predicates.d.ts +18 -0
  115. package/dist/read/predicates.js +19 -0
  116. package/dist/read/predicates.js.map +1 -1
  117. package/dist/read/project-view.d.ts +32 -16
  118. package/dist/read/project-view.js +80 -45
  119. package/dist/read/project-view.js.map +1 -1
  120. package/dist/read/pseudo-area.d.ts +29 -0
  121. package/dist/read/pseudo-area.js +27 -0
  122. package/dist/read/pseudo-area.js.map +1 -0
  123. package/dist/read/queries.d.ts +108 -19
  124. package/dist/read/queries.js +212 -35
  125. package/dist/read/queries.js.map +1 -1
  126. package/dist/read/scope.d.ts +126 -0
  127. package/dist/read/scope.js +162 -0
  128. package/dist/read/scope.js.map +1 -0
  129. package/dist/read/search-rank.d.ts +2 -5
  130. package/dist/read/shape.d.ts +162 -0
  131. package/dist/read/shape.js +686 -0
  132. package/dist/read/shape.js.map +1 -0
  133. package/dist/read/show-target.d.ts +9 -1
  134. package/dist/read/show-target.js +45 -4
  135. package/dist/read/show-target.js.map +1 -1
  136. package/dist/read/snapshot.d.ts +1 -1
  137. package/dist/read/snapshot.js +9 -2
  138. package/dist/read/snapshot.js.map +1 -1
  139. package/dist/read/stage.d.ts +199 -0
  140. package/dist/read/stage.js +125 -0
  141. package/dist/read/stage.js.map +1 -0
  142. package/dist/read/truncation.d.ts +8 -6
  143. package/dist/read/truncation.js +35 -10
  144. package/dist/read/truncation.js.map +1 -1
  145. package/dist/read/views.d.ts +61 -20
  146. package/dist/read/views.js +240 -82
  147. package/dist/read/views.js.map +1 -1
  148. package/dist/surface-copy.d.ts +9 -0
  149. package/dist/surface-copy.js +9 -0
  150. package/dist/surface-copy.js.map +1 -1
  151. package/dist/write/accessibility-probe.d.ts +1 -1
  152. package/dist/write/accessibility-probe.js +8 -0
  153. package/dist/write/accessibility-probe.js.map +1 -1
  154. package/dist/write/automation-probe.d.ts +1 -1
  155. package/dist/write/automation-probe.js +8 -0
  156. package/dist/write/automation-probe.js.map +1 -1
  157. package/dist/write/batch.d.ts +49 -10
  158. package/dist/write/batch.js +423 -70
  159. package/dist/write/batch.js.map +1 -1
  160. package/dist/write/commands.d.ts +1 -1
  161. package/dist/write/commands.js +316 -66
  162. package/dist/write/commands.js.map +1 -1
  163. package/dist/write/guards.d.ts +1 -1
  164. package/dist/write/guards.js +94 -10
  165. package/dist/write/guards.js.map +1 -1
  166. package/dist/write/heading.d.ts +10 -1
  167. package/dist/write/heading.js +35 -5
  168. package/dist/write/heading.js.map +1 -1
  169. package/dist/write/make-repeating-project.d.ts +2 -2
  170. package/dist/write/make-repeating-project.js +9 -9
  171. package/dist/write/make-repeating-project.js.map +1 -1
  172. package/dist/write/move.d.ts +130 -0
  173. package/dist/write/move.js +1533 -0
  174. package/dist/write/move.js.map +1 -0
  175. package/dist/write/operations.d.ts +105 -19
  176. package/dist/write/operations.js +56 -7
  177. package/dist/write/operations.js.map +1 -1
  178. package/dist/write/opid.d.ts +31 -0
  179. package/dist/write/opid.js +30 -0
  180. package/dist/write/opid.js.map +1 -0
  181. package/dist/write/pipeline.d.ts +122 -3
  182. package/dist/write/pipeline.js +309 -52
  183. package/dist/write/pipeline.js.map +1 -1
  184. package/dist/write/planner.js +8 -1
  185. package/dist/write/planner.js.map +1 -1
  186. package/dist/write/pre-state.d.ts +197 -6
  187. package/dist/write/pre-state.js +427 -20
  188. package/dist/write/pre-state.js.map +1 -1
  189. package/dist/write/recurrence-rule-blob.d.ts +65 -0
  190. package/dist/write/recurrence-rule-blob.js +150 -0
  191. package/dist/write/recurrence-rule-blob.js.map +1 -0
  192. package/dist/write/reorder.d.ts +23 -3
  193. package/dist/write/reorder.js +1871 -85
  194. package/dist/write/reorder.js.map +1 -1
  195. package/dist/write/reversibility.js +19 -7
  196. package/dist/write/reversibility.js.map +1 -1
  197. package/dist/write/scope-guard.d.ts +31 -0
  198. package/dist/write/scope-guard.js +162 -0
  199. package/dist/write/scope-guard.js.map +1 -0
  200. package/dist/write/undo.js +120 -13
  201. package/dist/write/undo.js.map +1 -1
  202. package/dist/write/vectors/applescript.js +16 -7
  203. package/dist/write/vectors/applescript.js.map +1 -1
  204. package/dist/write/vectors/registry.d.ts +5 -7
  205. package/dist/write/vectors/registry.js +49 -2
  206. package/dist/write/vectors/registry.js.map +1 -1
  207. package/dist/write/vectors/shortcuts.js +1 -1
  208. package/dist/write/vectors/shortcuts.js.map +1 -1
  209. package/dist/write/vectors/simulator.d.ts +44 -0
  210. package/dist/write/vectors/simulator.js +1192 -0
  211. package/dist/write/vectors/simulator.js.map +1 -0
  212. package/dist/write/vectors/types.d.ts +46 -0
  213. package/dist/write/vectors/ui-certification.d.ts +10 -4
  214. package/dist/write/vectors/ui-certification.js +43 -10
  215. package/dist/write/vectors/ui-certification.js.map +1 -1
  216. package/dist/write/vectors/ui-drag.d.ts +21 -1
  217. package/dist/write/vectors/ui-drag.js +138 -27
  218. package/dist/write/vectors/ui-drag.js.map +1 -1
  219. package/dist/write/vectors/ui-recipes.d.ts +34 -1
  220. package/dist/write/vectors/ui-recipes.js +217 -6
  221. package/dist/write/vectors/ui-recipes.js.map +1 -1
  222. package/dist/write/vectors/ui.d.ts +40 -1
  223. package/dist/write/vectors/ui.js +196 -39
  224. package/dist/write/vectors/ui.js.map +1 -1
  225. package/dist/write/verify/delta.d.ts +127 -2
  226. package/dist/write/verify/delta.js +255 -16
  227. package/dist/write/verify/delta.js.map +1 -1
  228. package/dist/write/verify/poller.d.ts +7 -1
  229. package/dist/write/verify/poller.js +20 -1
  230. package/dist/write/verify/poller.js.map +1 -1
  231. package/package.json +24 -3
  232. package/schema/envelope.schema.json +383 -0
  233. package/skills/things-cli/SKILL.md +70 -0
  234. package/skills/things-cli/references/banner.md +35 -0
  235. package/skills/things-cli/references/contracts.md +62 -0
  236. package/skills/things-cli/references/errors.md +49 -0
  237. package/skills/things-cli/references/gui.md +11 -0
  238. package/skills/things-cli/references/model.md +60 -0
  239. package/skills/things-cli/references/ordering.md +71 -0
@@ -9,22 +9,52 @@ import { Option } from "commander";
9
9
  import { execFileSync } from "node:child_process";
10
10
  import { runAreaShow } from "./area.js";
11
11
  import { runProjectShow } from "./project.js";
12
+ import { renderNow, renderZone } from "../clock.js";
12
13
  import { dim } from "../style.js";
13
14
  import { areaMark, LEGEND, shortDate } from "../glyphs.js";
14
15
  import { formatItem, disclosureHint, renderAnytimePreview, renderLegend, renderList, renderLogbook, renderProjectsSidebar, renderSearch, renderSections, renderSomedayPreview, renderToday, renderUpcoming, stripAnsi, uuidCol, uuidDisplayWidth, } from "../render.js";
15
16
  import { invocation, parseCap, parseLimit, runRead, shellQuote, truncationHint, usageError, withClient, } from "../read-driver.js";
16
17
  import { addTagFilterOptions, collectRef, CONTAINER_TAG_HINT, EXACT_TAG_DESC, hasTagPresence, TAG_DESC, UNTAGGED_DESC, tagFilterFields, tagFlagConflict, tagInvocationParts, } from "../tag-filters.js";
17
18
  import { doublePeriod, parsePeriodEnd, parsePeriodStart } from "../period.js";
18
- import { ALL_DESC, AREA_LIMIT_DESC, AREA_PREVIEW_LIMIT, ExitCode, FILTER_CONTRACT, GROUPED_ALL_DESC, LIMIT_DESC, localToday, okEnvelope, PERIOD_SINCE, PERIOD_UNTIL, PROJECT_LIMIT_DESC, PROJECT_PREVIEW_LIMIT, validateViewArgs, } from "../../index.js";
19
+ import { ALL_DESC, AREA_FILTER_DESC, AREA_LIMIT_DESC, AREA_PREVIEW_LIMIT, ExitCode, FILTER_CONTRACT, FULL_DESC, GROUPED_ALL_DESC, isLooseRef, LIMIT_DESC, localToday, looseShadowNotice, okEnvelope, PERIOD_SINCE, PERIOD_UNTIL, PROJECT_LIMIT_DESC, PROJECT_PREVIEW_LIMIT, dbCarriesBenchMarker, simFenceActive, validateViewArgs, } from "../../index.js";
20
+ /**
21
+ * The `--area loose` reserved-word disclosure, shared by every area-filtered
22
+ * read (today/anytime/someday/upcoming/logbook/search/projects). `loose` ALWAYS
23
+ * wins over a real area named "Loose"; when one shadows the reserved word, this
24
+ * names it (by uuid) so it stays targetable — the same semantics the composite
25
+ * loose view discloses (#333). Returns undefined when the ref is not the reserved
26
+ * word, or no real area shadows it.
27
+ */
28
+ function looseAreaWarnings(c, areaRef) {
29
+ if (areaRef === undefined || !isLooseRef(areaRef))
30
+ return undefined;
31
+ const shadow = c.read.areas().find((a) => isLooseRef(a.title));
32
+ return shadow !== undefined ? [looseShadowNotice(shadow.uuid)] : undefined;
33
+ }
19
34
  /**
20
35
  * Foreground the Things app on a resource via its share URI. A GUI action
21
36
  * on this Mac — NOT headless; the shared implementation behind every
22
- * `open` command. Returns the URI it launched.
37
+ * `open` command. The reveal is withheld (URI returned, app untouched)
38
+ * when the simulator fence is active OR when the database this command is
39
+ * reading — via `--db` or THINGS_DB — is a marked bench fixture: revealing
40
+ * a synthetic uuid in the operator's real app is always a bug (2026-07-17
41
+ * incident: a bare `--db <fixture>` invocation popped a "list does not
42
+ * exist" modal in the live app).
23
43
  */
24
- export function openInThings(uuid) {
44
+ export function openInThings(uuid, dbPath) {
25
45
  const uri = `things:///show?id=${uuid}`;
46
+ const fixtureCandidates = [dbPath, process.env["THINGS_DB"]].filter((p) => p !== undefined && p.trim() !== "");
47
+ if (simFenceActive() || fixtureCandidates.some((p) => dbCarriesBenchMarker(p))) {
48
+ return { uri, simulated: true };
49
+ }
26
50
  execFileSync("/usr/bin/open", [uri]);
27
- return uri;
51
+ return { uri, simulated: false };
52
+ }
53
+ /** One human-readable line describing an `open` result (simulated or real). */
54
+ export function revealLine(d) {
55
+ return d.simulated
56
+ ? `would open ${d.uri} (simulated; the app was not opened)`
57
+ : `opened ${d.uri}`;
28
58
  }
29
59
  /** Help copy for the `--overdue` content scope (open items past their deadline). */
30
60
  const OVERDUE_DESC = "only open items past their deadline (due today is not overdue)";
@@ -48,7 +78,7 @@ export function registerReadCommands(program) {
48
78
  fingerprint: "unknown",
49
79
  elapsedMs: Date.now() - started,
50
80
  };
51
- process.stdout.write(`${JSON.stringify(okEnvelope("legend", entries, meta))}\n`);
81
+ process.stdout.write(`${JSON.stringify(okEnvelope("legend", { items: entries }, meta))}\n`);
52
82
  }
53
83
  else {
54
84
  process.stdout.write(`${renderLegend().join("\n")}\n`);
@@ -63,8 +93,10 @@ export function registerReadCommands(program) {
63
93
  .option("--untagged", UNTAGGED_DESC)
64
94
  .option("--overdue", OVERDUE_DESC)
65
95
  .option("--evening", "show only the This Evening section")
96
+ .option("--area <ref>", AREA_FILTER_DESC)
66
97
  .option("--limit <n>", LIMIT_DESC)
67
98
  .option("--all", ALL_DESC)
99
+ .option("--full", FULL_DESC)
68
100
  .option("--json", "emit versioned JSON envelope on stdout")
69
101
  .option("--db <path>", "explicit database path")
70
102
  .action((opts) => {
@@ -78,20 +110,28 @@ export function registerReadCommands(program) {
78
110
  ...tagInvocationParts(opts),
79
111
  opts.overdue === true && "--overdue",
80
112
  eveningOnly && "--evening",
113
+ opts.area !== undefined && `--area ${shellQuote(opts.area)}`,
81
114
  ]);
82
115
  const filter = {
83
116
  ...tagFilterFields(opts),
84
117
  ...(opts.overdue === true && { overdue: true }),
85
118
  ...(eveningOnly && { eveningOnly: true }),
119
+ ...(opts.area !== undefined && { area: opts.area }),
86
120
  };
87
121
  runRead(opts, "today", (c) => {
88
- const { view, truncation } = c.read.today({ ...filter, limit: lim.limit });
122
+ const { view, truncation, filter: areaFilter, } = c.read.today({
123
+ ...filter,
124
+ limit: lim.limit,
125
+ });
89
126
  // The renderer keeps This Evening honest under truncation from the
90
127
  // metadata's per-section counts; the lines are precomputed here and
91
128
  // the global footer (whole-view remainder) is appended by the driver.
129
+ const warnings = looseAreaWarnings(c, opts.area);
92
130
  return {
93
131
  data: view,
94
132
  truncation,
133
+ ...(areaFilter !== undefined && { filter: areaFilter }),
134
+ ...(warnings !== undefined && { warnings }),
95
135
  lines: renderToday(view, truncation.sections, base, { eveningOnly }),
96
136
  };
97
137
  },
@@ -112,6 +152,7 @@ export function registerReadCommands(program) {
112
152
  .option("--until <when>", `only captures created on/before this bound: ${PERIOD_UNTIL}`)
113
153
  .option("--limit <n>", LIMIT_DESC)
114
154
  .option("--all", ALL_DESC)
155
+ .option("--full", FULL_DESC)
115
156
  .option("--json", "emit versioned JSON envelope on stdout")
116
157
  .option("--db <path>", "explicit database path")
117
158
  .action((opts) => {
@@ -120,8 +161,12 @@ export function registerReadCommands(program) {
120
161
  const lim = parseLimit(opts);
121
162
  if (!lim.ok)
122
163
  return;
123
- const since = opts.since !== undefined ? parsePeriodStart(opts.since) : undefined;
124
- const until = opts.until !== undefined ? parsePeriodEnd(opts.until) : undefined;
164
+ const since = opts.since !== undefined
165
+ ? parsePeriodStart(opts.since, renderNow(), renderZone())
166
+ : undefined;
167
+ const until = opts.until !== undefined
168
+ ? parsePeriodEnd(opts.until, renderNow(), renderZone())
169
+ : undefined;
125
170
  for (const [flag, value] of [
126
171
  ["--since", since],
127
172
  ["--until", until],
@@ -164,9 +209,9 @@ export function registerReadCommands(program) {
164
209
  // window in a dim footer note. Human output only — the precomputed
165
210
  // lines never ride --json.
166
211
  if (boundGiven) {
167
- const today = localToday();
168
- const sinceLabel = since !== undefined ? shortDate(localToday(since), today) : null;
169
- const untilLabel = until !== undefined ? shortDate(localToday(until), today) : null;
212
+ const today = localToday(renderNow(), renderZone());
213
+ const sinceLabel = since !== undefined ? shortDate(localToday(since, renderZone()), today) : null;
214
+ const untilLabel = until !== undefined ? shortDate(localToday(until, renderZone()), today) : null;
170
215
  const note = sinceLabel !== null && untilLabel !== null
171
216
  ? `(created ${sinceLabel} – ${untilLabel})`
172
217
  : sinceLabel !== null
@@ -189,9 +234,11 @@ export function registerReadCommands(program) {
189
234
  .option("--exact-tag", EXACT_TAG_DESC)
190
235
  .option("--untagged", UNTAGGED_DESC)
191
236
  .option("--overdue", OVERDUE_DESC)
237
+ .option("--area <ref>", AREA_FILTER_DESC)
192
238
  .option("--area-limit <n>", AREA_LIMIT_DESC)
193
239
  .option("--project-limit <n>", PROJECT_LIMIT_DESC)
194
240
  .option("--all", GROUPED_ALL_DESC)
241
+ .option("--full", FULL_DESC)
195
242
  .addOption(new Option("--limit <n>").hideHelp())
196
243
  .option("--json", "emit versioned JSON envelope on stdout")
197
244
  .option("--db <path>", "explicit database path")
@@ -212,6 +259,7 @@ export function registerReadCommands(program) {
212
259
  const base = invocation("anytime", [
213
260
  ...tagInvocationParts(opts),
214
261
  opts.overdue === true && "--overdue",
262
+ opts.area !== undefined && `--area ${shellQuote(opts.area)}`,
215
263
  ]);
216
264
  // Content scopes compose (AND): --overdue narrows a tagged/untagged
217
265
  // set, so the filter is built additively rather than one-or-the-other.
@@ -220,15 +268,19 @@ export function registerReadCommands(program) {
220
268
  ...(opts.overdue === true && { overdue: true }),
221
269
  };
222
270
  runRead(opts, "anytime", (c) => {
223
- const { view, grouped } = c.read.anytime({
271
+ const { view, truncation, filter: areaFilter, } = c.read.anytime({
224
272
  ...filter,
273
+ ...(opts.area !== undefined && { area: opts.area }),
225
274
  areaLimit: area.limit,
226
275
  projectLimit: project.limit,
227
276
  });
277
+ const warnings = looseAreaWarnings(c, opts.area);
228
278
  return {
229
279
  data: view,
230
- grouped,
231
- lines: renderAnytimePreview(view, grouped, limits, base),
280
+ truncation,
281
+ ...(areaFilter !== undefined && { filter: areaFilter }),
282
+ ...(warnings !== undefined && { warnings }),
283
+ lines: renderAnytimePreview(view, truncation, limits, base),
232
284
  };
233
285
  },
234
286
  // Grouped views hand back precomputed `lines`; renderSections is the
@@ -248,10 +300,12 @@ export function registerReadCommands(program) {
248
300
  .option("--exact-tag", EXACT_TAG_DESC)
249
301
  .option("--untagged", UNTAGGED_DESC)
250
302
  .option("--overdue", OVERDUE_DESC)
303
+ .option("--area <ref>", AREA_FILTER_DESC)
251
304
  .option("--area-limit <n>", AREA_LIMIT_DESC)
252
305
  .option("--show-active-project-items [n]", "append someday to-dos inside active projects, grouped under their project; " +
253
306
  "n caps each project's list (bare flag: every item)")
254
307
  .option("--all", GROUPED_ALL_DESC)
308
+ .option("--full", FULL_DESC)
255
309
  .addOption(new Option("--limit <n>").hideHelp())
256
310
  .option("--json", "emit versioned JSON envelope on stdout")
257
311
  .option("--db <path>", "explicit database path")
@@ -278,13 +332,15 @@ export function registerReadCommands(program) {
278
332
  const filter = {
279
333
  ...tagFilterFields(opts),
280
334
  ...(opts.overdue === true && { overdue: true }),
335
+ ...(opts.area !== undefined && { area: opts.area }),
281
336
  };
282
337
  const base = invocation("someday", [
283
338
  ...tagInvocationParts(opts),
284
339
  opts.overdue === true && "--overdue",
340
+ opts.area !== undefined && `--area ${shellQuote(opts.area)}`,
285
341
  ]);
286
342
  runRead(opts, "someday", (c) => {
287
- const { view, grouped } = c.read.someday({
343
+ const { view, truncation, filter: areaFilter, } = c.read.someday({
288
344
  ...filter,
289
345
  ...(showActive && { activeProjectItems: true }),
290
346
  areaLimit: area.limit,
@@ -297,14 +353,15 @@ export function registerReadCommands(program) {
297
353
  // item there, so each block's total is the full group size).
298
354
  const hiddenActiveItems = showActive
299
355
  ? 0
300
- : c.read
301
- .someday({ ...filter, activeProjectItems: true })
302
- .grouped.blocks.reduce((n, b) => n +
356
+ : (c.read.someday({ ...filter, activeProjectItems: true }).truncation.blocks ?? []).reduce((n, b) => n +
303
357
  (b.children?.reduce((m, child) => m + (child.kind === "project" ? child.total : 0), 0) ?? 0), 0);
358
+ const warnings = looseAreaWarnings(c, opts.area);
304
359
  return {
305
360
  data: view,
306
- grouped,
307
- lines: renderSomedayPreview(view, grouped, limits, base, showActive, hiddenActiveItems),
361
+ truncation,
362
+ ...(areaFilter !== undefined && { filter: areaFilter }),
363
+ ...(warnings !== undefined && { warnings }),
364
+ lines: renderSomedayPreview(view, truncation, limits, base, showActive, hiddenActiveItems),
308
365
  };
309
366
  },
310
367
  // Precomputed lines above; renderSections is the type-correct
@@ -328,6 +385,8 @@ export function registerReadCommands(program) {
328
385
  .option("--exact-tag", EXACT_TAG_DESC)
329
386
  .option("--untagged", UNTAGGED_DESC)
330
387
  .option("--horizon <n>", "occurrences per repeating item (default 1 = UI parity)")
388
+ .option("--area <ref>", AREA_FILTER_DESC)
389
+ .option("--full", FULL_DESC)
331
390
  .option("--json", "emit versioned JSON envelope on stdout")
332
391
  .option("--db <path>", "explicit database path")
333
392
  .action((opts, command) => {
@@ -351,18 +410,22 @@ export function registerReadCommands(program) {
351
410
  const dropWindowDefault = !untilGiven && (limitGiven || sinceGiven);
352
411
  const dropLimitDefault = !limitGiven && opts.all !== true && (untilGiven || sinceGiven);
353
412
  const effectiveLimit = dropLimitDefault ? null : lim.limit;
354
- const untilDate = opts.all === true || dropWindowDefault ? undefined : parsePeriodEnd(opts.until);
413
+ const untilDate = opts.all === true || dropWindowDefault
414
+ ? undefined
415
+ : parsePeriodEnd(opts.until, renderNow(), renderZone());
355
416
  if (untilDate !== undefined && Number.isNaN(untilDate.getTime())) {
356
417
  usageError(opts, `--until is not a parseable period: ${opts.until}`);
357
418
  return;
358
419
  }
359
- const sinceDate = sinceGiven ? parsePeriodStart(opts.since) : undefined;
420
+ const sinceDate = sinceGiven
421
+ ? parsePeriodStart(opts.since, renderNow(), renderZone())
422
+ : undefined;
360
423
  if (sinceDate !== undefined && Number.isNaN(sinceDate.getTime())) {
361
424
  usageError(opts, `--since is not a parseable period: ${opts.since}`);
362
425
  return;
363
426
  }
364
- const until = untilDate === undefined ? undefined : localToday(untilDate);
365
- const since = sinceDate === undefined ? undefined : localToday(sinceDate);
427
+ const until = untilDate === undefined ? undefined : localToday(untilDate, renderZone());
428
+ const since = sinceDate === undefined ? undefined : localToday(sinceDate, renderZone());
366
429
  // The default window is in force only for a bare invocation (no
367
430
  // explicit cap or bound); that is the one case whose footer names the
368
431
  // window itself alongside the levers.
@@ -372,18 +435,20 @@ export function registerReadCommands(program) {
372
435
  sinceGiven && `--since ${shellQuote(opts.since)}`,
373
436
  ...tagInvocationParts(opts),
374
437
  opts.horizon !== undefined && `--horizon ${shellQuote(opts.horizon)}`,
438
+ opts.area !== undefined && `--area ${shellQuote(opts.area)}`,
375
439
  ]);
376
440
  runRead(opts, "upcoming", (c) => {
377
- const { items: data, truncation } = c.read.upcoming({
441
+ const { items: data, truncation, filter: areaFilter, } = c.read.upcoming({
378
442
  ...(until !== undefined && { until }),
379
443
  ...(since !== undefined && { since }),
380
444
  ...tagFilterFields(opts),
381
445
  ...(opts.horizon !== undefined && { horizon: Number(opts.horizon) }),
446
+ ...(opts.area !== undefined && { area: opts.area }),
382
447
  limit: effectiveLimit,
383
448
  });
384
449
  const lines = renderUpcoming(data);
385
450
  if (defaultWindowActive && until !== undefined) {
386
- const windowLabel = shortDate(until, localToday());
451
+ const windowLabel = shortDate(until, localToday(renderNow(), renderZone()));
387
452
  if (truncation.truncated && truncation.limit !== null) {
388
453
  // Bare invocation, row cap biting inside the default window: one
389
454
  // line names BOTH the window and the two levers, so neither the
@@ -411,24 +476,35 @@ export function registerReadCommands(program) {
411
476
  lines.push("", dim(`── ${more} more item${more === 1 ? "" : "s"} — ` +
412
477
  `see more: \`${base} --limit ${truncation.limit * 2}\`${allLever} ──`));
413
478
  }
414
- return { data, truncation, lines };
479
+ const warnings = looseAreaWarnings(c, opts.area);
480
+ return {
481
+ data,
482
+ truncation,
483
+ ...(areaFilter !== undefined && { filter: areaFilter }),
484
+ ...(warnings !== undefined && { warnings }),
485
+ lines,
486
+ };
415
487
  }, (items) => renderUpcoming(items), undefined, "upcoming");
416
488
  });
417
489
  program
418
490
  .command("logbook")
419
- .description("Completed and canceled items, most recent first, grouped under month headings " +
420
- "(year appended beyond the current year). Scope with --area (direct items + its " +
421
- "projects' children, heading-nested included) / --project (all children, " +
491
+ .description("Completed and canceled items, most recent first (stopDate DESC), grouped under " +
492
+ "month headings (year appended beyond the current year). The logbook is FLAT and " +
493
+ "CHRONOLOGICAL — projects and to-dos are peer rows, so a logged project and its " +
494
+ "individually-logged children each get their own line. Scope with --area " +
495
+ "(SUBTREE-INCLUSIVE: the area's direct items AND the rows inside its projects, " +
496
+ "heading-nested included; `loose` = the area-less rows) / --project (all children, " +
422
497
  "heading-nested included) / --tag; bound the logged date with --since/--until.")
423
498
  .option("--limit <n>", LIMIT_DESC)
424
499
  .option("--all", ALL_DESC)
425
- .option("--area <ref>", "restrict to an area: direct items plus its projects' children")
500
+ .option("--area <ref>", AREA_FILTER_DESC)
426
501
  .option("--project <ref>", "restrict to one project's children (uuid or unique name)")
427
502
  .option("--since <when>", `only entries logged on/after this bound: ${PERIOD_SINCE}`)
428
503
  .option("--until <when>", `only entries logged on/before this bound: ${PERIOD_UNTIL}`)
429
504
  .option("--tag <ref>", TAG_DESC, collectRef, [])
430
505
  .option("--exact-tag", EXACT_TAG_DESC)
431
506
  .option("--untagged", UNTAGGED_DESC)
507
+ .option("--full", FULL_DESC)
432
508
  .option("--json", "emit versioned JSON envelope on stdout")
433
509
  .option("--db <path>", "explicit database path")
434
510
  .action((opts) => {
@@ -437,8 +513,12 @@ export function registerReadCommands(program) {
437
513
  const lim = parseLimit(opts);
438
514
  if (!lim.ok)
439
515
  return;
440
- const since = opts.since !== undefined ? parsePeriodStart(opts.since) : undefined;
441
- const until = opts.until !== undefined ? parsePeriodEnd(opts.until) : undefined;
516
+ const since = opts.since !== undefined
517
+ ? parsePeriodStart(opts.since, renderNow(), renderZone())
518
+ : undefined;
519
+ const until = opts.until !== undefined
520
+ ? parsePeriodEnd(opts.until, renderNow(), renderZone())
521
+ : undefined;
442
522
  for (const [flag, value] of [
443
523
  ["--since", since],
444
524
  ["--until", until],
@@ -461,7 +541,7 @@ export function registerReadCommands(program) {
461
541
  ...tagInvocationParts(opts),
462
542
  ]);
463
543
  runRead(opts, "logbook", (c) => {
464
- const { items, truncation } = c.read.logbook({
544
+ const { items, truncation, filter: areaFilter, } = c.read.logbook({
465
545
  ...(opts.area !== undefined && { area: opts.area }),
466
546
  ...(opts.project !== undefined && { project: opts.project }),
467
547
  ...(since !== undefined && { since }),
@@ -469,7 +549,13 @@ export function registerReadCommands(program) {
469
549
  ...tagFilterFields(opts),
470
550
  limit: effectiveLimit,
471
551
  });
472
- return { data: items, truncation };
552
+ const warnings = looseAreaWarnings(c, opts.area);
553
+ return {
554
+ data: items,
555
+ truncation,
556
+ ...(areaFilter !== undefined && { filter: areaFilter }),
557
+ ...(warnings !== undefined && { warnings }),
558
+ };
473
559
  }, (items) => renderLogbook(items), base, "logbook");
474
560
  });
475
561
  program
@@ -477,6 +563,7 @@ export function registerReadCommands(program) {
477
563
  .description("Trashed items (trashed=1 flag, any status), most recently modified first")
478
564
  .option("--limit <n>", LIMIT_DESC)
479
565
  .option("--all", ALL_DESC)
566
+ .option("--full", FULL_DESC)
480
567
  .option("--json", "emit versioned JSON envelope on stdout")
481
568
  .option("--db <path>", "explicit database path")
482
569
  .action((opts) => {
@@ -498,11 +585,12 @@ export function registerReadCommands(program) {
498
585
  "chip). Filter the listed projects by their own tags with --tag / --untagged — " +
499
586
  "inheritance-inclusive (a project inherits its area's tags), the same as the flat " +
500
587
  "views. --show-logged applies only when showing one project.")
501
- .option("--area <ref>", "filter by area (uuid or unique name)")
588
+ .option("--area <ref>", "filter by area (uuid or unique name, or `loose` for area-less)")
502
589
  .option("--show-later", "include someday/future-scheduled projects after each active block")
503
590
  .option("--show-logged [n]", "showing one project: include logged items (bare = all)")
504
591
  .option("--overdue", "only projects past their deadline (due today is not overdue)")
505
592
  .option("--all", "include someday/future-scheduled projects (same as --show-later)")
593
+ .option("--full", FULL_DESC)
506
594
  .option("--json", "emit versioned JSON envelope on stdout")
507
595
  .option("--db <path>", "explicit database path");
508
596
  addTagFilterOptions(projects).action((id, opts) => {
@@ -594,20 +682,25 @@ export function registerReadCommands(program) {
594
682
  lines.push("", disclosureHint(hidden, "later project", [{ command: reveal }]));
595
683
  }
596
684
  return lines;
597
- });
685
+ },
686
+ // Reserved-word disclosure: `--area loose` ALWAYS wins over a real area
687
+ // named "Loose"; when one shadows, name it (by uuid) for targeting.
688
+ (c) => looseAreaWarnings(c, opts.area));
598
689
  });
599
690
  const areas = program
600
691
  .command("areas [ref]")
601
692
  .description("List all areas with their direct tags, or — given a ref — show that one area " +
602
- "(exactly like `things area show <ref>`: its projects and direct to-dos). " +
603
- "--show-later / --show-logged / --area-limit / --project-limit / the tag filters " +
604
- "apply only when showing one area.")
693
+ "(exactly like `things area show <ref>`: its projects and direct to-dos). The " +
694
+ "reserved ref `loose` shows the area-less items (the null-area composite). " +
695
+ "--show-later / --area-limit / --project-limit / the tag filters " +
696
+ "apply only when showing one area. The area logbook is the bounded query " +
697
+ "`things logbook --area <ref>`, not a card section.")
605
698
  .option("--all", "show every area (no default restriction applies)")
606
699
  .option("--show-later", "showing one area: include its Upcoming and Someday sections")
607
- .option("--show-logged [n]", "showing one area: include the n most recent logged items")
608
700
  .option("--project-limit <n>", "showing one area: maximum project rows to show")
609
701
  .option("--area-limit <n>", "showing one area: maximum direct to-dos to show")
610
702
  .option("--overdue", "showing one area: only rows whose own deadline is past (due today is not overdue)")
703
+ .option("--full", FULL_DESC)
611
704
  .option("--json", "emit versioned JSON envelope on stdout")
612
705
  .option("--db <path>", "explicit database path");
613
706
  addTagFilterOptions(areas).addHelpText("after", CONTAINER_TAG_HINT);
@@ -681,13 +774,14 @@ export function registerReadCommands(program) {
681
774
  .requiredOption("--since <when>", `ISO date/datetime (e.g. 2026-07-05T14:30:00), or ${PERIOD_SINCE}`)
682
775
  .option("--limit <n>", LIMIT_DESC)
683
776
  .option("--all", ALL_DESC)
777
+ .option("--full", FULL_DESC)
684
778
  .option("--json", "emit versioned JSON envelope on stdout")
685
779
  .option("--db <path>", "explicit database path")
686
780
  .action((opts) => {
687
781
  const lim = parseLimit(opts);
688
782
  if (!lim.ok)
689
783
  return;
690
- const since = parsePeriodStart(opts.since);
784
+ const since = parsePeriodStart(opts.since, renderNow(), renderZone());
691
785
  if (Number.isNaN(since.getTime())) {
692
786
  usageError(opts, `--since is not a parseable date: ${opts.since}`);
693
787
  return;
@@ -709,7 +803,7 @@ export function registerReadCommands(program) {
709
803
  "--logged / --trashed / --all. Scope with --project / --area / --tag (tag matches " +
710
804
  "include hierarchy descendants) / --type / --overdue (open items past their deadline).")
711
805
  .option("--project <ref>", "restrict to one project's children (uuid or unique name)")
712
- .option("--area <ref>", "restrict to one area's direct members (uuid or unique name)")
806
+ .option("--area <ref>", "restrict to one area's subtree — its direct items plus its projects' children (uuid or unique name, or `loose` for area-less)")
713
807
  .option("--tag <ref>", TAG_DESC, collectRef, [])
714
808
  .option("--exact-tag", EXACT_TAG_DESC)
715
809
  .option("--untagged", UNTAGGED_DESC)
@@ -717,6 +811,7 @@ export function registerReadCommands(program) {
717
811
  .option("--type <kind>", "todo | project")
718
812
  .option("--logged", "include completed/canceled items")
719
813
  .option("--trashed", "include trashed items")
814
+ .option("--full", FULL_DESC)
720
815
  .option("--all", "everything, unbounded: open + logged + trashed, with no row limit (excludes --limit)")
721
816
  .option("--limit <n>", LIMIT_DESC)
722
817
  .option("--json", "emit versioned JSON envelope on stdout")
@@ -781,7 +876,8 @@ export function registerReadCommands(program) {
781
876
  ...(opts["trashed"] === true && { trashed: true }),
782
877
  ...(all && { all: true }),
783
878
  });
784
- return { data: items, truncation };
879
+ const warnings = looseAreaWarnings(c, opts["area"]);
880
+ return { data: items, truncation, ...(warnings !== undefined && { warnings }) };
785
881
  }, renderSearch, base);
786
882
  });
787
883
  // Every row-rendering view points at `things legend` for its glyph language.
@@ -799,6 +895,10 @@ export function registerReadCommands(program) {
799
895
  "search",
800
896
  ]);
801
897
  for (const c of program.commands) {
898
+ if (c.name() === "today") {
899
+ // The one Today-only glyph: the yellow `•` new-item pip.
900
+ c.addHelpText("after", "\n`•` marks a provisional Today item — shown until acknowledged in the app.");
901
+ }
802
902
  if (GLYPH_VIEWS.has(c.name())) {
803
903
  c.addHelpText("after", "\nsymbols & colors: run `things legend`");
804
904
  }
@@ -1 +1 @@
1
- {"version":3,"file":"reads.js","sourceRoot":"","sources":["../../../src/cli/commands/reads.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reads.js","sourceRoot":"","sources":["../../../src/cli/commands/reads.ts"],"names":[],"mappings":"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"}