things-api 0.7.0 → 0.9.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 (154) hide show
  1. package/README.md +6 -3
  2. package/dist/cli/commands/area.d.ts +23 -0
  3. package/dist/cli/commands/area.js +164 -33
  4. package/dist/cli/commands/area.js.map +1 -1
  5. package/dist/cli/commands/project.d.ts +19 -0
  6. package/dist/cli/commands/project.js +142 -29
  7. package/dist/cli/commands/project.js.map +1 -1
  8. package/dist/cli/commands/reads.d.ts +10 -51
  9. package/dist/cli/commands/reads.js +454 -268
  10. package/dist/cli/commands/reads.js.map +1 -1
  11. package/dist/cli/commands/show.d.ts +9 -0
  12. package/dist/cli/commands/show.js +169 -0
  13. package/dist/cli/commands/show.js.map +1 -0
  14. package/dist/cli/commands/snapshot.js +1 -1
  15. package/dist/cli/commands/snapshot.js.map +1 -1
  16. package/dist/cli/commands/todo.d.ts +9 -0
  17. package/dist/cli/commands/todo.js +101 -16
  18. package/dist/cli/commands/todo.js.map +1 -1
  19. package/dist/cli/commands/writes.js +55 -1
  20. package/dist/cli/commands/writes.js.map +1 -1
  21. package/dist/cli/did-you-mean.d.ts +29 -0
  22. package/dist/cli/did-you-mean.js +53 -0
  23. package/dist/cli/did-you-mean.js.map +1 -0
  24. package/dist/cli/glyphs.d.ts +95 -0
  25. package/dist/cli/glyphs.js +282 -0
  26. package/dist/cli/glyphs.js.map +1 -0
  27. package/dist/cli/main.js +11 -1
  28. package/dist/cli/main.js.map +1 -1
  29. package/dist/cli/period.d.ts +32 -0
  30. package/dist/cli/period.js +129 -0
  31. package/dist/cli/period.js.map +1 -0
  32. package/dist/cli/read-driver.d.ts +76 -0
  33. package/dist/cli/read-driver.js +181 -0
  34. package/dist/cli/read-driver.js.map +1 -0
  35. package/dist/cli/render.d.ts +182 -0
  36. package/dist/cli/render.js +585 -0
  37. package/dist/cli/render.js.map +1 -0
  38. package/dist/cli/resolve-invocation.d.ts +78 -0
  39. package/dist/cli/resolve-invocation.js +178 -0
  40. package/dist/cli/resolve-invocation.js.map +1 -0
  41. package/dist/cli/shell-quote.d.ts +9 -0
  42. package/dist/cli/shell-quote.js +12 -0
  43. package/dist/cli/shell-quote.js.map +1 -0
  44. package/dist/cli/style.d.ts +5 -0
  45. package/dist/cli/style.js +5 -0
  46. package/dist/cli/style.js.map +1 -1
  47. package/dist/client.d.ts +45 -39
  48. package/dist/client.js +11 -74
  49. package/dist/client.js.map +1 -1
  50. package/dist/contracts.d.ts +66 -1
  51. package/dist/contracts.js +1 -1
  52. package/dist/contracts.js.map +1 -1
  53. package/dist/db/baselines/db-v26.js +7 -5
  54. package/dist/db/baselines/db-v26.js.map +1 -1
  55. package/dist/db/schema.d.ts +1 -1
  56. package/dist/db/schema.js +7 -1
  57. package/dist/db/schema.js.map +1 -1
  58. package/dist/mcp/server.js +227 -44
  59. package/dist/mcp/server.js.map +1 -1
  60. package/dist/model/entities.d.ts +21 -0
  61. package/dist/model/entities.js.map +1 -1
  62. package/dist/model/mappers.js +17 -1
  63. package/dist/model/mappers.js.map +1 -1
  64. package/dist/model/occurrences.d.ts +6 -1
  65. package/dist/model/occurrences.js +9 -2
  66. package/dist/model/occurrences.js.map +1 -1
  67. package/dist/model/recurrence.d.ts +30 -2
  68. package/dist/model/recurrence.js +20 -0
  69. package/dist/model/recurrence.js.map +1 -1
  70. package/dist/read/area-view.js +21 -5
  71. package/dist/read/area-view.js.map +1 -1
  72. package/dist/read/caps.d.ts +14 -0
  73. package/dist/read/caps.js +21 -0
  74. package/dist/read/caps.js.map +1 -0
  75. package/dist/read/detail.js +12 -2
  76. package/dist/read/detail.js.map +1 -1
  77. package/dist/read/log-boundary.d.ts +29 -0
  78. package/dist/read/log-boundary.js +38 -0
  79. package/dist/read/log-boundary.js.map +1 -0
  80. package/dist/read/pagination.d.ts +104 -0
  81. package/dist/read/pagination.js +208 -0
  82. package/dist/read/pagination.js.map +1 -0
  83. package/dist/read/predicates.d.ts +31 -0
  84. package/dist/read/predicates.js +48 -0
  85. package/dist/read/predicates.js.map +1 -0
  86. package/dist/read/project-view.js +28 -3
  87. package/dist/read/project-view.js.map +1 -1
  88. package/dist/read/queries.d.ts +21 -3
  89. package/dist/read/queries.js +35 -8
  90. package/dist/read/queries.js.map +1 -1
  91. package/dist/read/search-rank.d.ts +36 -0
  92. package/dist/read/search-rank.js +31 -0
  93. package/dist/read/search-rank.js.map +1 -0
  94. package/dist/read/show-target.d.ts +25 -0
  95. package/dist/read/show-target.js +41 -0
  96. package/dist/read/show-target.js.map +1 -0
  97. package/dist/read/sidebar-order.d.ts +19 -0
  98. package/dist/read/sidebar-order.js +92 -0
  99. package/dist/read/sidebar-order.js.map +1 -0
  100. package/dist/read/snapshot.js +2 -0
  101. package/dist/read/snapshot.js.map +1 -1
  102. package/dist/read/views.d.ts +64 -8
  103. package/dist/read/views.js +290 -155
  104. package/dist/read/views.js.map +1 -1
  105. package/dist/surface-copy.d.ts +23 -0
  106. package/dist/surface-copy.js +23 -0
  107. package/dist/surface-copy.js.map +1 -1
  108. package/dist/write/automation-probe.js +14 -6
  109. package/dist/write/automation-probe.js.map +1 -1
  110. package/dist/write/capabilities.d.ts +3 -0
  111. package/dist/write/capabilities.js +3 -0
  112. package/dist/write/capabilities.js.map +1 -1
  113. package/dist/write/checklist.d.ts +50 -0
  114. package/dist/write/checklist.js +61 -0
  115. package/dist/write/checklist.js.map +1 -0
  116. package/dist/write/clear-reminder.d.ts +3 -0
  117. package/dist/write/clear-reminder.js +205 -0
  118. package/dist/write/clear-reminder.js.map +1 -0
  119. package/dist/write/commands.js +122 -8
  120. package/dist/write/commands.js.map +1 -1
  121. package/dist/write/edit-checklist.d.ts +3 -0
  122. package/dist/write/edit-checklist.js +184 -0
  123. package/dist/write/edit-checklist.js.map +1 -0
  124. package/dist/write/failure-hints.d.ts +7 -0
  125. package/dist/write/failure-hints.js +25 -2
  126. package/dist/write/failure-hints.js.map +1 -1
  127. package/dist/write/guards.d.ts +1 -1
  128. package/dist/write/guards.js +16 -0
  129. package/dist/write/guards.js.map +1 -1
  130. package/dist/write/operations.d.ts +32 -1
  131. package/dist/write/operations.js +3 -0
  132. package/dist/write/operations.js.map +1 -1
  133. package/dist/write/pipeline.d.ts +3 -0
  134. package/dist/write/pipeline.js +23 -1
  135. package/dist/write/pipeline.js.map +1 -1
  136. package/dist/write/reversibility.d.ts +46 -0
  137. package/dist/write/reversibility.js +164 -0
  138. package/dist/write/reversibility.js.map +1 -0
  139. package/dist/write/undo.d.ts +29 -2
  140. package/dist/write/undo.js +357 -9
  141. package/dist/write/undo.js.map +1 -1
  142. package/dist/write/vectors/registry.js +2 -1
  143. package/dist/write/vectors/registry.js.map +1 -1
  144. package/dist/write/vectors/shortcuts.d.ts +9 -0
  145. package/dist/write/vectors/shortcuts.js +90 -0
  146. package/dist/write/vectors/shortcuts.js.map +1 -0
  147. package/dist/write/vectors/types.d.ts +11 -3
  148. package/dist/write/vectors/url-scheme.js +16 -0
  149. package/dist/write/vectors/url-scheme.js.map +1 -1
  150. package/dist/write/verify/delta.d.ts +1 -1
  151. package/dist/write/verify/delta.js +1 -1
  152. package/dist/write/verify/delta.js.map +1 -1
  153. package/package.json +1 -1
  154. package/shortcuts/things-proxy-find-items.shortcut +0 -0
@@ -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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"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * `things show <ref>` / `things open <ref>` — the loose routers: paste any
3
+ * uuid (full or >=6-char prefix), share link, or area name copied from any
4
+ * view, and get the right show view (or the Things GUI) without naming the
5
+ * resource class. Headings route to their containing project; tags and
6
+ * checklist items have no show view and are rejected.
7
+ */
8
+ import { type Command } from "commander";
9
+ export declare function registerShowCommands(program: Command): void;
@@ -0,0 +1,169 @@
1
+ /**
2
+ * `things show <ref>` / `things open <ref>` — the loose routers: paste any
3
+ * uuid (full or >=6-char prefix), share link, or area name copied from any
4
+ * view, and get the right show view (or the Things GUI) without naming the
5
+ * resource class. Headings route to their containing project; tags and
6
+ * checklist items have no show view and are rejected.
7
+ */
8
+ import { Option } from "commander";
9
+ import { ExitCode } from "../../contracts.js";
10
+ import { capAreaSections } from "../../read/pagination.js";
11
+ import { stripThingsUri } from "../../read/queries.js";
12
+ import { AREA_PREVIEW_LIMIT, GROUPED_ALL_DESC } from "../../surface-copy.js";
13
+ import { getInvocation, OPEN_KEYWORDS, setInvocationCanonical, SHOW_KEYWORDS, } from "../resolve-invocation.js";
14
+ import { renderAreaView } from "./area.js";
15
+ import { renderProjectView, showToggleFlags } from "./project.js";
16
+ import { renderDetail } from "./todo.js";
17
+ import { openInThings } from "./reads.js";
18
+ import { invocation, parseCap, runRead, shellQuote, withClient } from "../read-driver.js";
19
+ import { DidYouMeanError } from "../did-you-mean.js";
20
+ /**
21
+ * The canonical typed command a loose/bare reference resolved to, for the
22
+ * normalized-form echo. Uses the resolved TYPE plus the reference the user
23
+ * gave: a name stays a name (`things area show "Hobbies"`), a uuid prefix
24
+ * stays that prefix (every typed show accepts prefixes), a share link is
25
+ * stripped to its id, and a heading (resolved to its project) echoes the
26
+ * project uuid so the command is runnable.
27
+ */
28
+ function typedShowCommand(t, ref, opts) {
29
+ const cmd = t.kind === "area" ? "area show" : t.kind === "project" ? "project show" : "todo show";
30
+ const echoRef = t.viaHeading === true ? t.uuid : stripThingsUri(ref);
31
+ // The loose router's --show-later/--show-logged toggles only apply to the
32
+ // area/project cards — never echo them onto `todo show`, which lacks them.
33
+ const flags = t.kind === "to-do" ? [] : showToggleFlags(opts);
34
+ return invocation(cmd, [shellQuote(echoRef), ...flags]);
35
+ }
36
+ /**
37
+ * The routing sugars whose canonical form is worth echoing: a verb-omitted
38
+ * bare noun, or an opaque token (uuid prefix / share link) routed to a typed
39
+ * card. A loose `show` given a plain NAME is not echoed — the verb is already
40
+ * typed and the name is already on screen. A name that merely looks base-62
41
+ * ("Firmware") won't prefix a random uuid, so the uuid-route test stays honest.
42
+ */
43
+ function isRoutingSugar(t, ref) {
44
+ if (getInvocation()?.form === "bare-noun")
45
+ return true;
46
+ const stripped = stripThingsUri(ref);
47
+ if (stripped !== ref)
48
+ return true; // a things:/// share link
49
+ return /^[0-9A-Za-z]{6,}$/.test(stripped) && t.uuid.startsWith(stripped);
50
+ }
51
+ export function registerShowCommands(program) {
52
+ program
53
+ .command("show <ref>")
54
+ .description("Render whatever the reference points at: a to-do, a project (a heading reference " +
55
+ "shows its containing project), or an area. Accepts a uuid, a >=6-char uuid " +
56
+ "prefix (as printed in every list view), a things:/// share link, or an area " +
57
+ "name. Tags and checklist items have no show view. The word `show` may be " +
58
+ "omitted: `things <ref>` works whenever <ref> is not a command name (command " +
59
+ "names always win — `things area show <name>` targets an item that shares a " +
60
+ "view's name). A list-view name is that view: " +
61
+ "`things show inbox|today|anytime|upcoming|someday|logbook|trash|projects|areas|tags` " +
62
+ "IS the matching list command.")
63
+ .option("--show-later", "projects/areas: include scheduled, repeating, and someday rows")
64
+ .option("--show-logged [n]", "projects/areas: include logged items (optionally capped at n)")
65
+ .option("--project-limit <n>", `areas: maximum project rows to show (default ${AREA_PREVIEW_LIMIT})`)
66
+ .option("--area-limit <n>", `areas: maximum direct to-dos to show (default ${AREA_PREVIEW_LIMIT})`)
67
+ .option("--all", `areas: ${GROUPED_ALL_DESC}`)
68
+ .addOption(new Option("--limit <n>").hideHelp())
69
+ .option("--json", "emit versioned JSON envelope on stdout")
70
+ .option("--db <path>", "explicit database path")
71
+ .action((ref, opts) => {
72
+ if (opts.limit !== undefined) {
73
+ process.stderr.write("error: --limit is not available on show — areas cap per section with " +
74
+ "--area-limit / --project-limit; project and to-do cards are uncapped\n");
75
+ process.exitCode = ExitCode.Usage;
76
+ return;
77
+ }
78
+ const areaCap = parseCap("--area-limit", opts.areaLimit, AREA_PREVIEW_LIMIT, opts.all === true);
79
+ if (!areaCap.ok)
80
+ return;
81
+ const projectCap = parseCap("--project-limit", opts.projectLimit, AREA_PREVIEW_LIMIT, opts.all === true);
82
+ if (!projectCap.ok)
83
+ return;
84
+ const limits = { area: areaCap.limit, project: projectCap.limit };
85
+ const hintBase = invocation("show", [shellQuote(ref), ...showToggleFlags(opts)]);
86
+ runRead(opts, "show", (c) => {
87
+ let t;
88
+ try {
89
+ t = c.read.showTarget(ref);
90
+ }
91
+ catch (err) {
92
+ // An ambiguous reference lists its candidates — surface verbatim.
93
+ if (err instanceof RangeError && err.message.includes("ambiguous"))
94
+ throw err;
95
+ if (!(err instanceof Error))
96
+ throw err;
97
+ // Not-found: fall back to a lite title-search (did-you-mean),
98
+ // untyped/mixed for the loose forms. A bare-noun invocation
99
+ // (`things foo`) could equally be a mistyped command — say so.
100
+ const message = getInvocation()?.form === "bare-noun"
101
+ ? `no command or item named "${ref}" — ${err.message}`
102
+ : err.message;
103
+ throw new DidYouMeanError(message, ref, c.read.liteTitleSearch(ref));
104
+ }
105
+ // Record the canonical typed command for the echo + resolvedCommand,
106
+ // but only for the routing sugars (a loose show by name is not one).
107
+ if (isRoutingSugar(t, ref))
108
+ setInvocationCanonical(typedShowCommand(t, ref, opts));
109
+ // Projects and to-do cards are uncapped: headings are true
110
+ // containers, so no strict total limit applies.
111
+ if (t.kind === "project") {
112
+ const view = c.read.projectView(t.uuid);
113
+ // --all reveals the project card's hidden later rows (charter),
114
+ // matching `things project show … --all`.
115
+ const projectOpts = {
116
+ ...opts,
117
+ showLater: opts.showLater === true || opts.all === true,
118
+ };
119
+ return {
120
+ data: { type: "project", view },
121
+ lines: renderProjectView(view, projectOpts),
122
+ };
123
+ }
124
+ if (t.kind === "area") {
125
+ const view = c.read.areaView(t.uuid);
126
+ const { data, grouped } = capAreaSections(view, limits);
127
+ return {
128
+ data: { type: "area", view: data },
129
+ grouped,
130
+ lines: renderAreaView(view, { ...opts, limits, hintBase }),
131
+ };
132
+ }
133
+ const detail = c.read.byUuid(t.uuid);
134
+ return { data: { type: "to-do", detail }, lines: renderDetail(detail) };
135
+ }, () => []);
136
+ });
137
+ program
138
+ .command("open <ref>")
139
+ .description("Open the referenced resource in the Things app — foregrounds the GUI on this Mac " +
140
+ "(NOT headless). Resolves references exactly like `things show` (a heading " +
141
+ "reference opens its containing project), and the view keywords " +
142
+ "(inbox, today, anytime, upcoming, someday, logbook, trash) open that view — a " +
143
+ "keyword wins over a same-named project or area (open those by uuid). The app " +
144
+ "has no projects/areas/tags list screen, so those names are not openable — open " +
145
+ "a specific one by ref.")
146
+ .option("--json", "emit versioned JSON envelope on stdout")
147
+ .option("--db <path>", "explicit database path")
148
+ .action((ref, opts) => {
149
+ const lower = ref.toLowerCase();
150
+ // Open's vocabulary belongs to the app: only the seven URL-scheme ids
151
+ // launch directly. The plural list-view names (projects/areas/tags) are
152
+ // valid `show` keywords but have no app screen to open — reject them with
153
+ // the fix, rather than resolving an item that happens to share the name.
154
+ if (SHOW_KEYWORDS.has(lower) && !OPEN_KEYWORDS.has(lower)) {
155
+ const specific = lower === "projects" ? "project" : lower === "areas" ? "area" : "item";
156
+ withClient(opts, "open", () => {
157
+ throw new RangeError(`the app has no ${lower} list to open — open a specific ${specific}: \`things open <ref>\``);
158
+ }, () => []);
159
+ return;
160
+ }
161
+ // A view keyword launches things:///show?id=<keyword> directly (the URL
162
+ // scheme accepts these ids natively) — no reference resolution.
163
+ const keyword = OPEN_KEYWORDS.has(lower) ? lower : null;
164
+ withClient(opts, "open", (c) => ({
165
+ uri: keyword !== null ? openInThings(keyword) : openInThings(c.read.showTarget(ref).uuid),
166
+ }), (d) => [`opened ${d.uri}`]);
167
+ });
168
+ }
169
+ //# sourceMappingURL=show.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"show.js","sourceRoot":"","sources":["../../../src/cli/commands/show.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { withClient } from "./reads.js";
1
+ import { withClient } from "../read-driver.js";
2
2
  function renderCounts(snapshot) {
3
3
  const c = snapshot.counts;
4
4
  return [
@@ -1 +1 @@
1
- {"version":3,"file":"snapshot.js","sourceRoot":"","sources":["../../../src/cli/commands/snapshot.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAExC,SAAS,YAAY,CAAC,QAAkB;IACtC,MAAM,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC;IAC1B,OAAO;QACL,UAAU,CAAC,CAAC,KAAK,WAAW,CAAC,CAAC,IAAI,EAAE;QACpC,UAAU,CAAC,CAAC,KAAK,eAAe,CAAC,CAAC,QAAQ,eAAe,CAAC,CAAC,QAAQ,EAAE;QACrE,oBAAoB,CAAC,CAAC,cAAc,EAAE;QACtC,YAAY,CAAC,CAAC,OAAO,0BAA0B,CAAC,CAAC,kBAAkB,EAAE;QACrE,gCAAgC;KACjC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,OAAgB;IAC/C,OAAO;SACJ,OAAO,CAAC,UAAU,CAAC;SACnB,WAAW,CACV,4KAA4K,CAC7K;SACA,MAAM,CAAC,QAAQ,EAAE,wCAAwC,CAAC;SAC1D,MAAM,CAAC,aAAa,EAAE,wBAAwB,CAAC;SAC/C,MAAM,CAAC,CAAC,IAAqC,EAAE,EAAE;QAChD,UAAU,CACR,IAAI,EACJ,UAAU,EACV,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,EACxB,YAAsC,CACvC,CAAC;IACJ,CAAC,CAAC,CAAC;AACP,CAAC"}
1
+ {"version":3,"file":"snapshot.js","sourceRoot":"","sources":["../../../src/cli/commands/snapshot.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAE/C,SAAS,YAAY,CAAC,QAAkB;IACtC,MAAM,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC;IAC1B,OAAO;QACL,UAAU,CAAC,CAAC,KAAK,WAAW,CAAC,CAAC,IAAI,EAAE;QACpC,UAAU,CAAC,CAAC,KAAK,eAAe,CAAC,CAAC,QAAQ,eAAe,CAAC,CAAC,QAAQ,EAAE;QACrE,oBAAoB,CAAC,CAAC,cAAc,EAAE;QACtC,YAAY,CAAC,CAAC,OAAO,0BAA0B,CAAC,CAAC,kBAAkB,EAAE;QACrE,gCAAgC;KACjC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,OAAgB;IAC/C,OAAO;SACJ,OAAO,CAAC,UAAU,CAAC;SACnB,WAAW,CACV,4KAA4K,CAC7K;SACA,MAAM,CAAC,QAAQ,EAAE,wCAAwC,CAAC;SAC1D,MAAM,CAAC,aAAa,EAAE,wBAAwB,CAAC;SAC/C,MAAM,CAAC,CAAC,IAAqC,EAAE,EAAE;QAChD,UAAU,CAAC,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,YAAY,CAAC,CAAC;IACvE,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -3,4 +3,13 @@
3
3
  * inherited tags, and repeating flags (works on templates too).
4
4
  */
5
5
  import type { Command } from "commander";
6
+ import type { AnyTask } from "../../model/entities.ts";
7
+ /**
8
+ * The detail card, project-card grammar: type-labeled title row (the box
9
+ * carries open/completed/canceled; only `trashed` needs words), uri, then
10
+ * labeled meta lines with absent values HIDDEN, the full note as a block,
11
+ * and the checklist last. `status:`/`start:` lines are gone — the box, the
12
+ * `when:` collapse, and the `logged:` line carry those between them.
13
+ */
14
+ export declare function renderDetail(item: AnyTask | null): string[];
6
15
  export declare function registerTodoCommands(program: Command): void;
@@ -1,27 +1,90 @@
1
- import { withClient } from "./reads.js";
2
- function renderDetail(item) {
1
+ import { localToday } from "../../model/dates.js";
2
+ import { templateStatus } from "../../model/recurrence.js";
3
+ import { blue, bold, dim, green, red } from "../style.js";
4
+ import { deadlineDetail, loggedDate, projectCircle, shortDate, thingsLink, todoBox, whenValue, } from "../glyphs.js";
5
+ import { openInThings } from "./reads.js";
6
+ import { runRead, withClient } from "../read-driver.js";
7
+ import { DidYouMeanError } from "../did-you-mean.js";
8
+ /**
9
+ * The detail card, project-card grammar: type-labeled title row (the box
10
+ * carries open/completed/canceled; only `trashed` needs words), uri, then
11
+ * labeled meta lines with absent values HIDDEN, the full note as a block,
12
+ * and the checklist last. `status:`/`start:` lines are gone — the box, the
13
+ * `when:` collapse, and the `logged:` line carry those between them.
14
+ */
15
+ export function renderDetail(item) {
3
16
  if (!item)
4
17
  return ["(not found)"];
5
18
  if (item.type === "heading") {
6
- return [`${item.uuid} [heading] ${item.title}`, ` project: ${item.project?.title ?? "—"}`];
19
+ return [
20
+ `${bold("Heading:")} ${bold(item.title)}`,
21
+ ` ${dim("uri:")} ${thingsLink(item.uuid)}`,
22
+ ` ${dim("project:")} ${item.project?.title ?? "—"}`,
23
+ ];
7
24
  }
25
+ const todayIso = localToday();
26
+ const label = item.type === "to-do" ? "To-Do:" : "Project:";
27
+ const box = item.type === "to-do" ? todoBox(item) : projectCircle(item);
28
+ const trashed = item.trashed ? ` ${red("(trashed)")}` : "";
8
29
  const lines = [
9
- `${item.uuid} [${item.type}] ${item.title}`,
10
- ` status: ${item.status}${item.trashed ? " (trashed)" : ""} start: ${item.start}`,
11
- ` when: ${item.startDate ?? "—"}${item.todaySection === "evening" ? " (this evening)" : ""} deadline: ${item.deadline ?? "—"}`,
12
- ` area: ${item.area?.title ?? "—"}${item.type === "to-do" ? ` project: ${item.project?.title ?? "—"} heading: ${item.heading?.title ?? "—"}` : ""}`,
13
- ` tags: ${item.tags.map((t) => t.title).join(", ") || "—"} inherited: ${(item.inheritedTags ?? []).map((t) => t.title).join(", ") || "—"}`,
30
+ `${bold(label)} ${box} ${bold(item.title)}${trashed}`,
31
+ ` ${dim("uri:")} ${thingsLink(item.uuid)}`,
14
32
  ];
15
- if (item.repeating.isTemplate)
16
- lines.push(" repeating: TEMPLATE (invisible in list views)");
33
+ const meta = (name, value) => {
34
+ if (value != null && value !== "")
35
+ lines.push(` ${dim(`${name}:`)} ${value}`);
36
+ };
37
+ if (item.status === "open") {
38
+ if (item.repeating.isTemplate) {
39
+ // Templates: the stored start/deadline columns are app sentinels
40
+ // (start=someday, deadline=4001-01-01) — the real dates belong to
41
+ // spawned occurrences. Show the materialized next occurrence and,
42
+ // when the rule assigns deadlines, say so instead of the sentinel.
43
+ const next = item.repeating.nextOccurrence;
44
+ meta("when", next == null ? null : `↻ ${shortDate(next, todayIso)}`);
45
+ const rule = item.repeating.rule;
46
+ const deadlines = rule !== undefined && (rule.type === "fixed" || rule.startOffsetDays < 0);
47
+ meta("deadline", deadlines
48
+ ? `${bold(dim("⚑"))} ${dim(rule.startOffsetDays < 0
49
+ ? `set per occurrence (${-rule.startOffsetDays} days after its start)`
50
+ : "set per occurrence (due the day it appears)")}`
51
+ : null);
52
+ }
53
+ else {
54
+ meta("when", whenValue(item, todayIso));
55
+ meta("deadline", item.deadline !== null && item.deadline < "4000"
56
+ ? deadlineDetail(item.deadline, todayIso)
57
+ : null);
58
+ }
59
+ }
60
+ else if (item.stopped !== null) {
61
+ meta("logged", `${loggedDate(item.stopped, todayIso)} ${dim(`(${item.status})`)}`);
62
+ }
63
+ meta("area", item.area?.title);
64
+ if (item.type === "to-do") {
65
+ meta("project", (item.project ?? item.headingProject)?.title);
66
+ meta("heading", item.heading?.title);
67
+ }
68
+ // The opened resource shows its tags green (GUI: list pills are gray).
69
+ const tagList = (tags) => green(`#${tags.map((t) => t.title).join(" #")}`);
70
+ if (item.tags.length > 0)
71
+ meta("tags", tagList(item.tags));
72
+ if (item.inheritedTags !== undefined && item.inheritedTags.length > 0)
73
+ meta("inherited", tagList(item.inheritedTags));
74
+ if (item.repeating.isTemplate) {
75
+ const st = templateStatus(item.repeating, todayIso);
76
+ const state = item.repeating.nextOccurrence != null && st === "waiting" ? "scheduled" : st;
77
+ meta("repeating", `TEMPLATE, ${state} (occurrences appear in upcoming)`);
78
+ }
17
79
  if (item.repeating.isInstance)
18
- lines.push(` repeating: instance of ${item.repeating.templateUuid}`);
19
- if (item.notes)
20
- lines.push(` notes: ${item.notes.length > 200 ? `${item.notes.slice(0, 200)}…` : item.notes}`);
80
+ meta("repeating", `instance of ${item.repeating.templateUuid}`);
81
+ if (item.notes !== "")
82
+ lines.push("", item.notes);
21
83
  if (item.type === "to-do" && item.checklist && item.checklist.length > 0) {
22
- lines.push(" checklist:");
84
+ lines.push("", dim("checklist:"));
23
85
  for (const c of item.checklist) {
24
- lines.push(` [${c.status === "completed" ? "x" : c.status === "canceled" ? "~" : " "}] ${c.title}`);
86
+ const cbox = c.status === "completed" ? blue("[✓]") : c.status === "canceled" ? blue("[×]") : "[ ]";
87
+ lines.push(` ${cbox} ${c.title}`);
25
88
  }
26
89
  }
27
90
  return lines;
@@ -31,10 +94,32 @@ export function registerTodoCommands(program) {
31
94
  todo
32
95
  .command("show <uuid>")
33
96
  .description("Full detail for one record by UUID — includes checklist items, inherited tags, and repeating flags; finds records list views hide (templates, trashed)")
97
+ .option("--all", "show the full record (single-record card — no default restriction to lift)")
34
98
  .option("--json", "emit versioned JSON envelope on stdout")
35
99
  .option("--db <path>", "explicit database path")
36
100
  .action((uuid, opts) => {
37
- withClient(opts, "todo-detail", (c) => c.read.byUuid(uuid), renderDetail);
101
+ runRead(opts, "todo-detail", (c) => {
102
+ const detail = c.read.byUuid(uuid);
103
+ // A miss gets a type-scoped did-you-mean (to-dos only), not a bare
104
+ // "(not found)". Ambiguous prefixes still throw from byUuid verbatim.
105
+ if (detail === null) {
106
+ throw new DidYouMeanError(`no to-do matches "${uuid}"`, uuid, c.read.liteTitleSearch(uuid, { type: "to-do" }));
107
+ }
108
+ return { data: detail };
109
+ }, renderDetail);
110
+ });
111
+ todo
112
+ .command("open <ref>")
113
+ .description("Open the to-do in the Things app — foregrounds the GUI on this Mac (NOT headless). Errors when the reference is not a to-do.")
114
+ .option("--json", "emit versioned JSON envelope on stdout")
115
+ .option("--db <path>", "explicit database path")
116
+ .action((ref, opts) => {
117
+ withClient(opts, "open", (c) => {
118
+ const t = c.read.showTarget(ref);
119
+ if (t.kind !== "to-do")
120
+ throw new RangeError(`"${ref}" is a ${t.viaHeading === true ? "heading" : t.kind}, not a to-do (try \`things open\`)`);
121
+ return { uri: openInThings(t.uuid) };
122
+ }, (d) => [`opened ${d.uri}`]);
38
123
  });
39
124
  }
40
125
  //# sourceMappingURL=todo.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"todo.js","sourceRoot":"","sources":["../../../src/cli/commands/todo.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"todo.js","sourceRoot":"","sources":["../../../src/cli/commands/todo.ts"],"names":[],"mappings":"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"}
@@ -12,7 +12,7 @@ function addWriteFlags(cmd) {
12
12
  .option("--json", "emit versioned JSON envelope on stdout")
13
13
  .option("--db <path>", "explicit database path")
14
14
  .option("--dry-run", "preview the planned change and its expected effect; nothing executes")
15
- .option("--vector <id>", "force how the change is delivered: url-scheme | applescript")
15
+ .option("--vector <id>", "force how the change is delivered: url-scheme | applescript | shortcuts")
16
16
  .option("--allow-disruptive", "permit changes that briefly steal window focus")
17
17
  .option("--allow-very-disruptive", "permit changes that visibly drive the Things UI")
18
18
  .option("--verify-timeout <ms>", "how long to wait for the change to take effect")
@@ -36,6 +36,36 @@ function writeOptionsFrom(opts, extra = {}) {
36
36
  function collect(value, previous) {
37
37
  return [...previous, value];
38
38
  }
39
+ /**
40
+ * URL-style `--when DATE@TIME` sugar: splits into when + reminder for the
41
+ * ops that take both (an explicit --reminder alongside the suffix errors).
42
+ */
43
+ function applyWhenSugar(opts) {
44
+ const when = opts["when"];
45
+ if (typeof when !== "string" || !when.includes("@"))
46
+ return null;
47
+ const at = when.indexOf("@");
48
+ const date = when.slice(0, at);
49
+ const time = when.slice(at + 1);
50
+ if (date === "" || time === "" || time.includes("@")) {
51
+ return `invalid --when "${when}" — expected today | evening | anytime | someday | YYYY-MM-DD (set a reminder with --reminder HH:mm)`;
52
+ }
53
+ if (opts["reminder"] !== undefined) {
54
+ return `--when "${when}" carries an @time suffix and --reminder was also given — use one`;
55
+ }
56
+ opts["when"] = date;
57
+ opts["reminder"] = time;
58
+ return null;
59
+ }
60
+ /** Apply the sugar or print the usage error; false = caller returns. */
61
+ function whenSugarOk(opts) {
62
+ const err = applyWhenSugar(opts);
63
+ if (err === null)
64
+ return true;
65
+ process.stderr.write(`error: ${err}\n`);
66
+ process.exitCode = ExitCode.Usage;
67
+ return false;
68
+ }
39
69
  function splitCsv(value) {
40
70
  if (value === undefined)
41
71
  return undefined;
@@ -213,6 +243,8 @@ export function registerWriteCommands(program) {
213
243
  const tags = splitCsv(opts["tags"]);
214
244
  const project = containerRef(opts["project"]);
215
245
  const area = containerRef(opts["area"]);
246
+ if (!whenSugarOk(opts))
247
+ return;
216
248
  await runWrite(opts, (c) => c.write.addTodo({
217
249
  title,
218
250
  ...(opts["notes"] !== undefined && { notes: opts["notes"] }),
@@ -259,6 +291,8 @@ export function registerWriteCommands(program) {
259
291
  process.exitCode = ExitCode.Usage;
260
292
  return;
261
293
  }
294
+ if (!whenSugarOk(opts))
295
+ return;
262
296
  await runWrite(opts, (c) => c.write.updateTodo(uuid, {
263
297
  ...(opts["title"] !== undefined && { title: opts["title"] }),
264
298
  ...(opts["notes"] !== undefined && { notes: opts["notes"] }),
@@ -436,6 +470,16 @@ export function registerWriteCommands(program) {
436
470
  "use `things project restore`.")).action(async (uuid, opts) => {
437
471
  await runWrite(opts, (c) => c.write.restoreTodo(uuid, writeOptionsFrom(opts)));
438
472
  });
473
+ addWriteFlags(todo
474
+ .command("clear-reminder <uuid>")
475
+ .description("Clear a to-do's time-of-day reminder while keeping its scheduled date. When the " +
476
+ "Things proxy shortcuts are installed (`things setup shortcuts`) this happens in " +
477
+ "place, and it is the only way for a repeating to-do; otherwise a non-repeating " +
478
+ "date-scheduled to-do falls back to a URL re-schedule that briefly moves it to Today " +
479
+ "and back. Reversible with `things undo`. Force a delivery path with --vector " +
480
+ "shortcuts|url-scheme.")).action(async (uuid, opts) => {
481
+ await runWrite(opts, (c) => c.write.clearReminder(uuid, writeOptionsFrom(opts)));
482
+ });
439
483
  addWriteFlags(todo
440
484
  .command("backdate <uuid>")
441
485
  .description("Rewrite a to-do's completion and/or creation timestamp to noon (local) on the " +
@@ -466,6 +510,13 @@ export function registerWriteCommands(program) {
466
510
  }, writeOptionsFrom(opts)));
467
511
  });
468
512
  const heading = group(program, "heading", "Heading-scoped operations");
513
+ addWriteFlags(heading
514
+ .command("add <project> <title>")
515
+ .description("Create a heading inside an existing project; its uuid is printed on success. The " +
516
+ "project must name an existing project (uuid or unique name). This uses the Things " +
517
+ "proxy shortcuts — run `things setup shortcuts` once first.")).action(async (project, title, opts) => {
518
+ await runWrite(opts, (c) => c.write.createHeading({ uuid: project, title: project }, title, writeOptionsFrom(opts)));
519
+ });
469
520
  addWriteFlags(heading
470
521
  .command("rename <uuid> <title>")
471
522
  .description("Rename a heading in place (works on archived headings too).")).action(async (uuid, title, opts) => {
@@ -552,6 +603,8 @@ export function registerWriteCommands(program) {
552
603
  process.exitCode = ExitCode.Usage;
553
604
  return;
554
605
  }
606
+ if (!whenSugarOk(opts))
607
+ return;
555
608
  await runWrite(opts, (c) => c.write.updateProject(uuid, {
556
609
  ...(opts["title"] !== undefined && { title: opts["title"] }),
557
610
  ...(opts["notes"] !== undefined && { notes: opts["notes"] }),
@@ -980,6 +1033,7 @@ export function registerWriteCommands(program) {
980
1033
  }
981
1034
  for (const entry of data) {
982
1035
  process.stdout.write(`${entry.op}\n`);
1036
+ process.stdout.write(` undo: ${entry.undo.class}${entry.undo.ack !== undefined ? ` (ack: ${entry.undo.ack})` : ""} — ${entry.undo.note}\n`);
983
1037
  for (const v of entry.vectors) {
984
1038
  const s = v;
985
1039
  process.stdout.write(` ${v.vector}: ${s.support}${s.disruption !== undefined ? ` (tier ${s.disruption}, ${s.validation})` : ""}${s.notes !== undefined ? ` — ${s.notes}` : ""}\n`);