things-api 0.19.4 → 0.20.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 (117) hide show
  1. package/README.md +1 -1
  2. package/deputy/prebuilt/Things API Helper.app/Contents/CodeResources +0 -0
  3. package/deputy/prebuilt/Things API Helper.app/Contents/Helpers/things-reader.app/Contents/MacOS/things-reader +0 -0
  4. package/deputy/prebuilt/Things API Helper.app/Contents/MacOS/things-deputy +0 -0
  5. package/dist/audit/schema.d.ts +28 -10
  6. package/dist/audit/schema.js +21 -0
  7. package/dist/audit/schema.js.map +1 -1
  8. package/dist/cli/commands/doctor.js +3 -1
  9. package/dist/cli/commands/doctor.js.map +1 -1
  10. package/dist/cli/commands/op-result.js +15 -9
  11. package/dist/cli/commands/op-result.js.map +1 -1
  12. package/dist/cli/commands/repeat-flags.d.ts +19 -1
  13. package/dist/cli/commands/repeat-flags.js +71 -0
  14. package/dist/cli/commands/repeat-flags.js.map +1 -1
  15. package/dist/cli/commands/rescue.d.ts +12 -0
  16. package/dist/cli/commands/rescue.js +83 -0
  17. package/dist/cli/commands/rescue.js.map +1 -0
  18. package/dist/cli/commands/writes.js +35 -25
  19. package/dist/cli/commands/writes.js.map +1 -1
  20. package/dist/cli/help.js +25 -25
  21. package/dist/cli/help.js.map +1 -1
  22. package/dist/cli/main.js +12 -2
  23. package/dist/cli/main.js.map +1 -1
  24. package/dist/cli/resolve-invocation.d.ts +9 -1
  25. package/dist/cli/resolve-invocation.js +71 -0
  26. package/dist/cli/resolve-invocation.js.map +1 -1
  27. package/dist/cli/unknown-command.d.ts +26 -0
  28. package/dist/cli/unknown-command.js +135 -0
  29. package/dist/cli/unknown-command.js.map +1 -0
  30. package/dist/contracts.d.ts +4 -3
  31. package/dist/contracts.js +1 -1
  32. package/dist/index.d.ts +4 -2
  33. package/dist/index.js +1 -0
  34. package/dist/index.js.map +1 -1
  35. package/dist/mcp/server.js +55 -10
  36. package/dist/mcp/server.js.map +1 -1
  37. package/dist/model/entities.d.ts +11 -0
  38. package/dist/model/entities.js.map +1 -1
  39. package/dist/model/mappers.js +15 -0
  40. package/dist/model/mappers.js.map +1 -1
  41. package/dist/op-result.d.ts +15 -2
  42. package/dist/op-result.js +72 -20
  43. package/dist/op-result.js.map +1 -1
  44. package/dist/process-instance.d.ts +41 -0
  45. package/dist/process-instance.js +82 -0
  46. package/dist/process-instance.js.map +1 -0
  47. package/dist/rescue.d.ts +247 -0
  48. package/dist/rescue.js +811 -0
  49. package/dist/rescue.js.map +1 -0
  50. package/dist/session-grant.js +4 -15
  51. package/dist/session-grant.js.map +1 -1
  52. package/dist/ui-state.d.ts +8 -4
  53. package/dist/ui-state.js +8 -4
  54. package/dist/ui-state.js.map +1 -1
  55. package/dist/write/commands.d.ts +9 -0
  56. package/dist/write/commands.js +135 -50
  57. package/dist/write/commands.js.map +1 -1
  58. package/dist/write/disclosures.d.ts +12 -0
  59. package/dist/write/disclosures.js +12 -0
  60. package/dist/write/disclosures.js.map +1 -1
  61. package/dist/write/experimental.d.ts +16 -0
  62. package/dist/write/experimental.js +19 -0
  63. package/dist/write/experimental.js.map +1 -1
  64. package/dist/write/failure-hints.js +3 -2
  65. package/dist/write/failure-hints.js.map +1 -1
  66. package/dist/write/guards.d.ts +1 -1
  67. package/dist/write/guards.js +102 -3
  68. package/dist/write/guards.js.map +1 -1
  69. package/dist/write/lock.d.ts +85 -1
  70. package/dist/write/lock.js +121 -6
  71. package/dist/write/lock.js.map +1 -1
  72. package/dist/write/operations.d.ts +52 -6
  73. package/dist/write/operations.js +22 -0
  74. package/dist/write/operations.js.map +1 -1
  75. package/dist/write/opid.d.ts +69 -8
  76. package/dist/write/opid.js +111 -17
  77. package/dist/write/opid.js.map +1 -1
  78. package/dist/write/param-schema.js +14 -2
  79. package/dist/write/param-schema.js.map +1 -1
  80. package/dist/write/pipeline.d.ts +43 -2
  81. package/dist/write/pipeline.js +157 -39
  82. package/dist/write/pipeline.js.map +1 -1
  83. package/dist/write/planner.d.ts +7 -0
  84. package/dist/write/planner.js +12 -0
  85. package/dist/write/planner.js.map +1 -1
  86. package/dist/write/preserve-modified.d.ts +17 -8
  87. package/dist/write/preserve-modified.js.map +1 -1
  88. package/dist/write/promote-clone.js +60 -17
  89. package/dist/write/promote-clone.js.map +1 -1
  90. package/dist/write/repeat-rule.d.ts +25 -1
  91. package/dist/write/repeat-rule.js +69 -0
  92. package/dist/write/repeat-rule.js.map +1 -1
  93. package/dist/write/resolution-timestamps.js +103 -80
  94. package/dist/write/resolution-timestamps.js.map +1 -1
  95. package/dist/write/reversibility.js +2 -2
  96. package/dist/write/reversibility.js.map +1 -1
  97. package/dist/write/template-mutation.js +14 -2
  98. package/dist/write/template-mutation.js.map +1 -1
  99. package/dist/write/undo.js +45 -5
  100. package/dist/write/undo.js.map +1 -1
  101. package/dist/write/vectors/simulator.js +48 -2
  102. package/dist/write/vectors/simulator.js.map +1 -1
  103. package/dist/write/vectors/ui-state.d.ts +22 -6
  104. package/dist/write/vectors/ui-state.js +1 -1
  105. package/dist/write/vectors/ui-state.js.map +1 -1
  106. package/dist/write/vectors/ui.d.ts +23 -1
  107. package/dist/write/vectors/ui.js +24 -4
  108. package/dist/write/vectors/ui.js.map +1 -1
  109. package/dist/write/vectors/url-scheme.js +26 -0
  110. package/dist/write/vectors/url-scheme.js.map +1 -1
  111. package/package.json +1 -1
  112. package/schema/envelope.schema.json +1 -2
  113. package/skills/things-cli/SKILL.md +4 -2
  114. package/skills/things-cli/references/repeating.md +1 -1
  115. package/dist/cli/commands/ui-state.d.ts +0 -11
  116. package/dist/cli/commands/ui-state.js +0 -27
  117. package/dist/cli/commands/ui-state.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/cli/main.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/cli/main.ts"],"names":[],"mappings":"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"}
@@ -57,7 +57,15 @@ export type InvocationForm =
57
57
  * dedicated hint handler that suggests the namespaced write command instead
58
58
  * of emitting a confusing `show` usage error. `ref` carries the verb.
59
59
  */
60
- | "verb-hint";
60
+ | "verb-hint"
61
+ /**
62
+ * `things <token> <more…>` — an unmatched first token that CANNOT be a bare
63
+ * reference, because a reference occupies exactly one positional and this
64
+ * argv carries more. Dispatched to the unknown-command handler, which names
65
+ * the offending token and suggests the nearest command. `ref` carries the
66
+ * token.
67
+ */
68
+ | "unknown-command";
61
69
  /**
62
70
  * Write verbs that shadow the bare-noun sugar in first position (the
63
71
  * reserved-word rule extended to writes). The registered write-group
@@ -164,6 +164,67 @@ export function subcommandsOf(program, groupName) {
164
164
  }
165
165
  return names;
166
166
  }
167
+ /**
168
+ * The option flags a bare-noun invocation could legitimately carry, split by
169
+ * whether commander would swallow the NEXT token as their value. The vocabulary
170
+ * is the rewrite target's own — `show`'s options plus the program-level globals
171
+ * — because the bare-noun sugar normalizes to `things show <ref>`. Commander
172
+ * consumes the next non-option token for BOTH required (`<n>`) and optional
173
+ * (`[n]`) option-arguments, so both land in `withValue`.
174
+ */
175
+ function optionFlags(program) {
176
+ const known = new Set();
177
+ const withValue = new Set();
178
+ const show = program.commands.find((c) => c.name() === "show");
179
+ for (const opt of [...program.options, ...(show?.options ?? [])]) {
180
+ for (const flag of [opt.short, opt.long]) {
181
+ if (flag === undefined || flag === null)
182
+ continue;
183
+ known.add(flag);
184
+ if (opt.required || opt.optional)
185
+ withValue.add(flag);
186
+ }
187
+ }
188
+ return { known, withValue };
189
+ }
190
+ /**
191
+ * How many POSITIONAL tokens the argv carries from `from` onward, counted the
192
+ * way commander would parse them for `things show`: an option's value is not a
193
+ * positional, and everything after a `--` terminator is. An UNKNOWN option is
194
+ * assumed to take a value when a non-option token follows it — the conservative
195
+ * reading, since over-counting here would turn an ordinary unknown-option error
196
+ * into the unknown-command error and hide the real problem.
197
+ */
198
+ function positionalCount(program, args, from) {
199
+ const { known, withValue } = optionFlags(program);
200
+ let count = 0;
201
+ for (let i = from; i < args.length; i++) {
202
+ const tok = args[i] ?? "";
203
+ if (tok === "--")
204
+ return count + (args.length - i - 1);
205
+ if (!tok.startsWith("-") || tok === "-") {
206
+ count += 1;
207
+ continue;
208
+ }
209
+ if (tok.includes("="))
210
+ continue; // --flag=value carries its own value
211
+ const next = args[i + 1];
212
+ const followedByValue = next !== undefined && (!next.startsWith("-") || next === "-");
213
+ if (withValue.has(tok) || (!known.has(tok) && followedByValue))
214
+ i += 1;
215
+ }
216
+ return count;
217
+ }
218
+ /**
219
+ * True when an unmatched first token cannot be a bare reference: a reference
220
+ * occupies exactly ONE positional (`things show <ref>` takes one argument), so
221
+ * a second positional means the token was meant as a COMMAND. Rewriting it to
222
+ * `show <token> <more…>` would report an arity error against a command the user
223
+ * never typed, losing the command-vs-ref distinction.
224
+ */
225
+ function carriesExtraPositionals(program, args, at) {
226
+ return positionalCount(program, args, at) > 1;
227
+ }
167
228
  function classify(program, args) {
168
229
  const at = indexPastLeadingFlags(args);
169
230
  const first = at === null ? undefined : args[at];
@@ -191,6 +252,9 @@ function classify(program, args) {
191
252
  if (mutationVerbs(program).has(first.toLowerCase())) {
192
253
  return { form: "verb-hint", argv: args, canonical: null, ref: first };
193
254
  }
255
+ if (carriesExtraPositionals(program, args, at ?? 0)) {
256
+ return { form: "unknown-command", argv: args, canonical: null, ref: first };
257
+ }
194
258
  return { form: "bare-noun", argv: ["show", ...args], canonical: null, ref: first };
195
259
  }
196
260
  // Precedence 1: a registered command/alias always wins (names are reserved).
@@ -264,6 +328,13 @@ function classify(program, args) {
264
328
  if (mutationVerbs(program).has(first.toLowerCase())) {
265
329
  return { form: "verb-hint", argv: args, canonical: null, ref: first };
266
330
  }
331
+ // An unmatched token that carries FURTHER positionals is not a reference —
332
+ // a reference takes exactly one slot. It is answered by name, with a
333
+ // did-you-mean over the command vocabulary, instead of being rewritten into
334
+ // a `show` arity error (docs/design/cli-grammar.md).
335
+ if (carriesExtraPositionals(program, args, at)) {
336
+ return { form: "unknown-command", argv: args, canonical: null, ref: first };
337
+ }
267
338
  // Precedence 3: not a command — a bare-noun reference, routed through `show`.
268
339
  return { form: "bare-noun", argv: ["show", ...args], canonical: null, ref: first };
269
340
  }
@@ -1 +1 @@
1
- {"version":3,"file":"resolve-invocation.js","sourceRoot":"","sources":["../../src/cli/resolve-invocation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resolve-invocation.js","sourceRoot":"","sources":["../../src/cli/resolve-invocation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * The unknown-command handler (docs/design/cli-grammar.md). A top-level
3
+ * `things <token> <more…>` whose first token is neither a registered command
4
+ * nor a view keyword CANNOT be the bare-noun sugar: a reference occupies
5
+ * exactly one positional (`things show <ref>` takes one argument), so a second
6
+ * positional means the token was meant as a COMMAND. Rewriting it to
7
+ * `show <token> <more…>` reported an arity error against `things show` — a
8
+ * command the user never typed — which is what this replaces:
9
+ *
10
+ * $ things to-do Hobbies
11
+ * error: invalid command or ref: 'to-do'
12
+ * did you mean: things todo Hobbies
13
+ *
14
+ * The suggestion is the nearest command name by edit distance (transpositions
15
+ * counted as one edit), offered only within a small radius; beyond it the error
16
+ * stands alone. Exit class is Usage (exit 2), consistent with the other
17
+ * resolver errors; under `--json` the suggestions ride
18
+ * `error.detail.suggestions`.
19
+ */
20
+ import type { Command } from "commander";
21
+ /**
22
+ * Emit the unknown-command error and set the Usage exit code. Pure argv work —
23
+ * it never opens the database, so an unreadable or absent database still gets
24
+ * the routing error it deserves.
25
+ */
26
+ export declare function runUnknownCommand(program: Command, args: string[]): void;
@@ -0,0 +1,135 @@
1
+ import { errorEnvelope, ExitCode } from "../index.js";
2
+ import { indexPastLeadingFlags, SHOW_KEYWORDS } from "./resolve-invocation.js";
3
+ import { shellQuote } from "./shell-quote.js";
4
+ /** At most this many alternatives are offered (all tied at the best distance). */
5
+ const MAX_SUGGESTIONS = 3;
6
+ /**
7
+ * How far a token may sit from a command name and still be called a typo. A
8
+ * short token is held to a tighter radius — at three characters or fewer, two
9
+ * edits is most of the word.
10
+ */
11
+ function suggestionRadius(token) {
12
+ return token.length <= 3 ? 1 : 2;
13
+ }
14
+ /**
15
+ * Optimal string alignment distance: insertions, deletions, substitutions, and
16
+ * ADJACENT TRANSPOSITIONS each cost one, so `todya` sits one edit from `today`.
17
+ */
18
+ function editDistance(a, b) {
19
+ const cols = b.length + 1;
20
+ const grid = new Int32Array((a.length + 1) * cols);
21
+ const at = (i, j) => grid[i * cols + j] ?? 0;
22
+ const put = (i, j, v) => {
23
+ grid[i * cols + j] = v;
24
+ };
25
+ for (let i = 0; i <= a.length; i++)
26
+ put(i, 0, i);
27
+ for (let j = 0; j <= b.length; j++)
28
+ put(0, j, j);
29
+ for (let i = 1; i <= a.length; i++) {
30
+ for (let j = 1; j <= b.length; j++) {
31
+ const cost = a[i - 1] === b[j - 1] ? 0 : 1;
32
+ let best = Math.min(at(i - 1, j) + 1, at(i, j - 1) + 1, at(i - 1, j - 1) + cost);
33
+ // Adjacent transposition (`todya` → `today`) is ONE edit, not two.
34
+ if (i > 1 && j > 1 && a[i - 1] === b[j - 2] && a[i - 2] === b[j - 1]) {
35
+ best = Math.min(best, at(i - 2, j - 2) + cost);
36
+ }
37
+ put(i, j, best);
38
+ }
39
+ }
40
+ return at(a.length, b.length);
41
+ }
42
+ /**
43
+ * The command vocabulary a typo is measured against: every registered top-level
44
+ * command name and alias, plus the view keywords that route at the bare level
45
+ * without being commands of their own (the section sugars, e.g. `evening`).
46
+ */
47
+ function commandVocabulary(program) {
48
+ const names = new Set(SHOW_KEYWORDS);
49
+ names.add("help");
50
+ for (const c of program.commands) {
51
+ names.add(c.name());
52
+ for (const alias of c.aliases())
53
+ names.add(alias);
54
+ }
55
+ return [...names].toSorted();
56
+ }
57
+ /**
58
+ * The command names nearest `token`, all tied at the best distance within the
59
+ * radius (capped). Empty when nothing is close enough — a token that resembles
60
+ * no command gets the bare error rather than a misleading guess.
61
+ */
62
+ function nearestCommands(program, token) {
63
+ const needle = token.toLowerCase();
64
+ const radius = suggestionRadius(needle);
65
+ let best = Infinity;
66
+ let winners = [];
67
+ for (const name of commandVocabulary(program)) {
68
+ const distance = editDistance(needle, name.toLowerCase());
69
+ if (distance > radius || distance > best)
70
+ continue;
71
+ if (distance < best) {
72
+ best = distance;
73
+ winners = [];
74
+ }
75
+ winners.push(name);
76
+ }
77
+ return winners.slice(0, MAX_SUGGESTIONS);
78
+ }
79
+ /**
80
+ * The corrected invocation for one candidate command: the user's own argv with
81
+ * the offending token replaced. Every other token — trailing positionals and
82
+ * flags alike — is echoed verbatim, so the suggestion is the command the caller
83
+ * meant to type.
84
+ */
85
+ function correctedCommand(args, at, name) {
86
+ const parts = args.map((tok, i) => (i === at ? name : shellQuote(tok)));
87
+ return `things ${parts.join(" ")}`;
88
+ }
89
+ /** The error line naming the token that matched neither a command nor a ref. */
90
+ function leadLine(token) {
91
+ return `invalid command or ref: '${token}'`;
92
+ }
93
+ /** Human render: the error, the corrected command(s), and the grammar reminder. */
94
+ function renderHuman(token, suggestions) {
95
+ const lines = [`error: ${leadLine(token)}`];
96
+ if (suggestions.length === 1) {
97
+ lines.push(`did you mean: ${suggestions[0]}`);
98
+ }
99
+ else if (suggestions.length > 1) {
100
+ lines.push("did you mean:");
101
+ for (const s of suggestions)
102
+ lines.push(` ${s}`);
103
+ }
104
+ lines.push("", "A reference takes no further arguments — `things <ref>` shows one item. " +
105
+ "See `things help` for the command list.");
106
+ return lines.join("\n");
107
+ }
108
+ /** The one-line message the `--json` envelope carries (suggestions folded in). */
109
+ function jsonMessage(token, suggestions) {
110
+ if (suggestions.length === 0)
111
+ return leadLine(token);
112
+ const forms = suggestions.map((s) => `\`${s}\``).join(", ");
113
+ return suggestions.length === 1
114
+ ? `${leadLine(token)} — did you mean ${forms}`
115
+ : `${leadLine(token)} — did you mean one of: ${forms}`;
116
+ }
117
+ /**
118
+ * Emit the unknown-command error and set the Usage exit code. Pure argv work —
119
+ * it never opens the database, so an unreadable or absent database still gets
120
+ * the routing error it deserves.
121
+ */
122
+ export function runUnknownCommand(program, args) {
123
+ const at = indexPastLeadingFlags(args) ?? 0;
124
+ const token = args[at] ?? "";
125
+ const suggestions = nearestCommands(program, token).map((name) => correctedCommand(args, at, name));
126
+ if (args.includes("--json")) {
127
+ const meta = { dbVersion: null, fingerprint: "unknown", elapsedMs: 0 };
128
+ process.stdout.write(`${JSON.stringify(errorEnvelope({ code: "usage", message: jsonMessage(token, suggestions), detail: { suggestions } }, meta))}\n`);
129
+ }
130
+ else {
131
+ process.stderr.write(`${renderHuman(token, suggestions)}\n`);
132
+ }
133
+ process.exitCode = ExitCode.Usage;
134
+ }
135
+ //# sourceMappingURL=unknown-command.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unknown-command.js","sourceRoot":"","sources":["../../src/cli/unknown-command.ts"],"names":[],"mappings":"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"}
@@ -14,7 +14,7 @@ export declare const API_VERSION = 1;
14
14
  * Package version, surfaced by `things --version` and the MCP serverInfo.
15
15
  * Kept in lockstep with package.json by a contract test.
16
16
  */
17
- export declare const PKG_VERSION = "0.19.4";
17
+ export declare const PKG_VERSION = "0.20.0";
18
18
  /**
19
19
  * Stable exit-code contract for the `things` CLI (mirrored by MCP error
20
20
  * codes). Part of the public API surface consumed by agents and scripts —
@@ -214,7 +214,8 @@ export interface OkEnvelope<T> {
214
214
  * - `blocked:${suffix}` — a mutation refused before touching the app; the
215
215
  * suffix is the specific hazard id (`H-…`) when one is named, else the block
216
216
  * reason (`drift` | `disruption-tier` | `lock` | `environment` | `clock` |
217
- * `scope`). The bare `blocked` is a policy refusal from the move planner.
217
+ * `scope` | `reconcile` | `in-flight`). The bare `blocked` is a policy
218
+ * refusal from the move planner.
218
219
  *
219
220
  * `blocked:drift` maps to exit code 5 (DriftBlocked); every other `blocked:*`
220
221
  * maps to exit code 4 (Blocked).
@@ -300,7 +301,7 @@ export type Envelope<T> = OkEnvelope<T> | ErrorEnvelope;
300
301
  * complete — the JSON Schema pins it as an enum so drift is caught, but a
301
302
  * forward-compatible consumer routes on the wrapper it finds in `data`.
302
303
  */
303
- export type WireOkKind = "inbox" | "upcoming" | "logbook" | "trash" | "changes" | "search" | "deadlines" | "repeaters" | "projects" | "areas" | "tags" | "today" | "anytime" | "someday" | "area-view" | "project-view" | "detail" | "mutation-result" | "move-result" | "mutation-plan" | "move-plan" | "project-reopen" | "doctor" | "ui-state" | "capabilities" | "config" | "legend" | "setup" | "install-skill";
304
+ export type WireOkKind = "inbox" | "upcoming" | "logbook" | "trash" | "changes" | "search" | "deadlines" | "repeaters" | "projects" | "areas" | "tags" | "today" | "anytime" | "someday" | "area-view" | "project-view" | "detail" | "mutation-result" | "move-result" | "mutation-plan" | "move-plan" | "project-reopen" | "doctor" | "capabilities" | "config" | "legend" | "setup" | "install-skill";
304
305
  /**
305
306
  * The `data` payload of a successful envelope. Its CONCRETE shape is
306
307
  * command-specific — one of the R1/R2 read wrappers (`item` | `view` | `items` |
package/dist/contracts.js CHANGED
@@ -13,7 +13,7 @@ export const API_VERSION = 1;
13
13
  * Package version, surfaced by `things --version` and the MCP serverInfo.
14
14
  * Kept in lockstep with package.json by a contract test.
15
15
  */
16
- export const PKG_VERSION = "0.19.4";
16
+ export const PKG_VERSION = "0.20.0";
17
17
  /**
18
18
  * Stable exit-code contract for the `things` CLI (mirrored by MCP error
19
19
  * codes). Part of the public API surface consumed by agents and scripts —
package/dist/index.d.ts CHANGED
@@ -14,7 +14,9 @@ export type { DiagnoseOptions, DiagnoseReport, DiagnoseResult } from "./diagnose
14
14
  export { opResult } from "./op-result.ts";
15
15
  export { readUiStateReport, uiStateLines } from "./ui-state.ts";
16
16
  export type { UiFocusOwner, UiProbe, UiSheetForm, UiSheetKind, UiState, UiStateDeps, UiStateReport, } from "./ui-state.ts";
17
- export type { OpResultData, OpResultOptions, OpResultStatus } from "./op-result.ts";
17
+ export { rescueDismiss, rescueDismissLines, rescueRelaunch, rescueRelaunchLines, rescueStatus, rescueStatusLines, } from "./rescue.ts";
18
+ export type { RescueDeps, RescueDismissAck, RescueDismissOutcome, RescueDismissResult, RescueForeignModal, RescueLockView, RescueRelaunchAck, RescueRelaunchOutcome, RescueRelaunchResult, RescueSchemaVerdict, RescueStatusReport, } from "./rescue.ts";
19
+ export type { OpResultData, OpResultHolder, OpResultOptions, OpResultStatus } from "./op-result.ts";
18
20
  export { probeAutomation } from "./write/automation-probe.ts";
19
21
  export type { AutomationProbeDeps, AutomationProbeResult, AutomationProbeStatus, } from "./write/automation-probe.ts";
20
22
  export { createEnvironmentTracker, describeEnvironmentChanges, diffEnvironment, } from "./write/environment.ts";
@@ -105,7 +107,7 @@ export type { TagRef } from "./model/entities.ts";
105
107
  export { outcomeFailed } from "./write/batch.ts";
106
108
  export { OP_ID_RE } from "./write/opid.ts";
107
109
  export { BOUNCE_MAX_ITEMS } from "./write/reorder.ts";
108
- export type { AddRepeatingRuleFields, MonthlyAnchor, ProjectAddRepeatingParams, RepeatEnds, RepeatFrequency, RepeatRuleParams, TodoAddRepeatingParams, Weekday, WeekdayOrdinal, YearlyAnchor, } from "./write/operations.ts";
110
+ export type { AddRepeatingRuleFields, MonthlyAnchor, ProjectAddRepeatingParams, RepeatEnds, RepeatFrequency, RepeatReanchorParams, RepeatRuleParams, RescheduleRepeatParams, TodoAddRepeatingParams, Weekday, WeekdayOrdinal, YearlyAnchor, } from "./write/operations.ts";
109
111
  export { shortcutProxies } from "./diagnose.ts";
110
112
  export type { ShortcutsState } from "./write/availability.ts";
111
113
  export { fdaGranted, hostApp, hostDisplayName, readAllowed, readCapability, ReadCapabilityError, resetCapabilityForTests, tccDbPath, uiAllowed, uiCapability, UiCapabilityError, UI_DIRECT_ESCAPE_ENV, urlSchemeAllowed, urlSchemeCapability, UrlSchemeCapabilityError, writeAllowed, writeCapability, WriteCapabilityError, WRITE_DIRECT_ESCAPE_ENV, THINGS_BUNDLE_ID, } from "./capability.ts";
package/dist/index.js CHANGED
@@ -9,6 +9,7 @@ export { openThings } from "./client.js";
9
9
  export { diagnose } from "./diagnose.js";
10
10
  export { opResult } from "./op-result.js";
11
11
  export { readUiStateReport, uiStateLines } from "./ui-state.js";
12
+ export { rescueDismiss, rescueDismissLines, rescueRelaunch, rescueRelaunchLines, rescueStatus, rescueStatusLines, } from "./rescue.js";
12
13
  export { probeAutomation } from "./write/automation-probe.js";
13
14
  export { createEnvironmentTracker, describeEnvironmentChanges, diffEnvironment, } from "./write/environment.js";
14
15
  export { capabilitiesTable } from "./write/capabilities.js";
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -16,7 +16,7 @@
16
16
  */
17
17
  import { z } from "zod";
18
18
  import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
19
- import { ALL_DESC, AREA_FILTER_DESC, AREA_LIMIT_DESC, AREA_PREVIEW_LIMIT, blockedCode, buildUpdatePatch, capabilitiesTable, DATE_FORMAT, DEFAULT_LIST_LIMIT, diagnose, FILTER_CONTRACT, FULL_DESC, hasTagPresence, isLooseRef, isValidTimeZone, LIMIT_DESC, looseShadowNotice, MCP_UPDATE_LABELS, MCP_WHEN_LABELS, mutationWireData, NOTES_FORMAT, noUuidMatch, omitEmpty, OMIT_EMPTY_NOTE, OP_ID_RE, opResult, OPERATION_KINDS, openThings, readAllowed, readCapability, uiAllowed, uiCapability, writeAllowed, writeCapability, PKG_VERSION, PROJECT_LIMIT_DESC, PROJECT_PREVIEW_LIMIT, REF_FORMAT, REF_RULE_NOTE, ReferenceResolutionError, REMINDER_FORMAT, RESOLUTION_DATE_FORMAT, schemaWarnings, shapeReadPayload, withTodayBucketTotals, withAreaBucketTotals, withSectionTotals, withUpcomingBlockTotals, splitWhenSugar, tagFilterFields, tagFlagConflict, validateViewArgs, verifyFailedCode, WHEN_VALUES, } from "../index.js";
19
+ import { ALL_DESC, AREA_FILTER_DESC, AREA_LIMIT_DESC, AREA_PREVIEW_LIMIT, blockedCode, buildUpdatePatch, capabilitiesTable, DATE_FORMAT, DEFAULT_LIST_LIMIT, diagnose, FILTER_CONTRACT, FULL_DESC, hasTagPresence, isLooseRef, isValidTimeZone, LIMIT_DESC, looseShadowNotice, MCP_UPDATE_LABELS, MCP_WHEN_LABELS, mutationWireData, NOTES_FORMAT, noUuidMatch, omitEmpty, OMIT_EMPTY_NOTE, OP_ID_RE, opResult, rescueStatus, OPERATION_KINDS, openThings, readAllowed, readCapability, uiAllowed, uiCapability, writeAllowed, writeCapability, PKG_VERSION, PROJECT_LIMIT_DESC, PROJECT_PREVIEW_LIMIT, REF_FORMAT, REF_RULE_NOTE, ReferenceResolutionError, REMINDER_FORMAT, RESOLUTION_DATE_FORMAT, schemaWarnings, shapeReadPayload, withTodayBucketTotals, withAreaBucketTotals, withSectionTotals, withUpcomingBlockTotals, splitWhenSugar, tagFilterFields, tagFlagConflict, validateViewArgs, verifyFailedCode, WHEN_VALUES, } from "../index.js";
20
20
  /** Tools that mutate through the app. Everything unlisted is a plain read. */
21
21
  const WRITE_TOOLS = new Set([
22
22
  "add_todo",
@@ -49,7 +49,12 @@ const WRITE_TOOLS = new Set([
49
49
  */
50
50
  const UI_TOOLS = new Set(["repeat", "convert_to_project"]);
51
51
  /** The always-available diagnostics. */
52
- const DIAGNOSTIC_TOOLS = new Set(["doctor", "capabilities", "op_result"]);
52
+ // `rescue_status` is diagnostic rather than ui-class DELIBERATELY: it reports
53
+ // the GUI capability verdict as data instead of being refused by it, which is
54
+ // the only way it can answer the question it exists for — "why did that write
55
+ // fail, and can anything be done from here?" — on a machine whose GUI access is
56
+ // what broke. Its two ACTION siblings are CLI-only and appear on no MCP surface.
57
+ const DIAGNOSTIC_TOOLS = new Set(["doctor", "capabilities", "op_result", "rescue_status"]);
53
58
  function toolClass(name) {
54
59
  if (DIAGNOSTIC_TOOLS.has(name))
55
60
  return "none";
@@ -416,7 +421,10 @@ const opIdShape = {
416
421
  .string()
417
422
  .optional()
418
423
  .describe("Idempotency key: a resubmission with the same key is recognized as already applied " +
419
- "and not re-run (matches [A-Za-z0-9_-], 1-64 chars)"),
424
+ "and not re-run (matches [A-Za-z0-9_-], 1-64 chars). Pass one on any write you might " +
425
+ "retry. If the call times out, do NOT read the item and guess and do NOT re-send it — " +
426
+ "call op_result with this key. A resubmission sent while the first is still running is " +
427
+ "refused, not executed"),
420
428
  };
421
429
  /**
422
430
  * The per-call opt-in for the tools that reach a change only by driving the
@@ -2103,14 +2111,20 @@ export function createThingsMcpServer(options = {}) {
2103
2111
  };
2104
2112
  registerTool("repeat", {
2105
2113
  description: "Manage recurrence on a to-do or project (scope) by driving the local Things app's " +
2106
- "interface — every action needs dangerously_drive_gui. action start: turn a plain item " +
2114
+ "interface — every action needs dangerously_drive_gui EXCEPT reschedule with when alone " +
2115
+ "(see below). action start: turn a plain item " +
2107
2116
  "into a repeating one (promote-via-clone: a disposable copy is promoted and the ORIGINAL " +
2108
2117
  "is moved to the Trash, so undo reverses it — it removes the new series and restores the " +
2109
2118
  "original); give frequency + interval and optionally the weekday set, monthly/yearly day, " +
2110
2119
  "end bound, or per-occurrence deadline; returns a repeating block with instanceUuid (the " +
2111
2120
  "visible occurrence), templateUuid (the rule), and replacedUuid. A project holding a " +
2112
2121
  "nested repeating template is refused. action reschedule: change a repeating item's rule " +
2113
- "in place, keeping the same item (undoable — it restores the previous rule). action " +
2122
+ "in place, keeping the same item (undoable — it restores the previous rule) or, with " +
2123
+ "when alone and no frequency/interval, MOVE the series to that date keeping its rule: no " +
2124
+ "dangerously_drive_gui, but the whole series moves (a weekly item moved to a Thursday " +
2125
+ "repeats on Thursdays), occurrences due before that date never appear, and it cannot be " +
2126
+ "undone. Moving needs a date after today, a series that is not paused, does not repeat " +
2127
+ "after completion, and does not repeat on several weekdays; Things 3.23 or later. action " +
2114
2128
  "pause/resume: stop or restart its new occurrences, keeping the rule. action add: create " +
2115
2129
  "an item and make it repeating in one call — it is created first and PERSISTS even if the " +
2116
2130
  "promote refuses (give a title; for a project give an area to place it or omit it to " +
@@ -2158,6 +2172,12 @@ export function createThingsMcpServer(options = {}) {
2158
2172
  reminder: repeatRuleShape.reminder,
2159
2173
  deadline: repeatRuleShape.deadline,
2160
2174
  start_days_earlier: repeatRuleShape.start_days_earlier,
2175
+ when: z
2176
+ .string()
2177
+ .optional()
2178
+ .describe(`start/reschedule: ${DATE_FORMAT} — the first occurrence. Given WITH frequency and ` +
2179
+ "interval it starts the rule on that date; given ALONE (reschedule) it MOVES the " +
2180
+ "series to that date, keeping the rule and needing no dangerously_drive_gui"),
2161
2181
  ...driveGuiShape,
2162
2182
  ...dryRunShape,
2163
2183
  ...preserveModifiedShape,
@@ -2216,10 +2236,22 @@ export function createThingsMcpServer(options = {}) {
2216
2236
  return mutationResult(await c.write.run(op, { uuid: args.uuid }, opts));
2217
2237
  }
2218
2238
  // start | reschedule
2239
+ if (frequency === undefined && interval === undefined && args.action === "reschedule") {
2240
+ // The RE-ANCHOR spelling: a date alone moves the series and keeps its
2241
+ // rule (no GUI drive, so no acknowledgement). Every other rule field is
2242
+ // refused by the library — it cannot be expressed on this path.
2243
+ if (args.when === undefined) {
2244
+ return usage('action "reschedule" requires frequency and interval, or when');
2245
+ }
2246
+ return mutationResult(await c.write.run(args.scope === "todo" ? "todo.reschedule-repeat" : "project.reschedule-repeat", { uuid: args.uuid, next: args.when }, opts));
2247
+ }
2219
2248
  if (frequency === undefined || interval === undefined) {
2220
2249
  return usage(`action "${args.action}" requires frequency and interval`);
2221
2250
  }
2222
- const extras = repeatExtras(args, frequency);
2251
+ const extras = {
2252
+ ...repeatExtras(args, frequency),
2253
+ ...(args.when !== undefined && { next: args.when }),
2254
+ };
2223
2255
  if (args.scope === "todo") {
2224
2256
  if (args.action === "start") {
2225
2257
  return mutationResult(await c.write.makeRepeatingTodo(args.uuid, { frequency, interval, ...extras }, opts));
@@ -2697,13 +2729,26 @@ export function createThingsMcpServer(options = {}) {
2697
2729
  registerTool("op_result", {
2698
2730
  description: "Look up what happened to a write you dispatched with op_id, from the local change history " +
2699
2731
  "alone (opens no database, changes nothing). Use it to recover the outcome when the write " +
2700
- "call was interrupted before it returned: report FOUND (the final result + target + " +
2701
- "observation), INTENT-ONLY (the op started but no outcome was written still running or " +
2702
- "the process died mid-flight, outcome UNCERTAIN re-read the target, do not blind-retry), " +
2703
- "or UNKNOWN (no such op_id in history).",
2732
+ "call was interrupted before it returned call this instead of re-reading the item and " +
2733
+ "guessing. Reports FOUND (the final result + target + observation), IN-FLIGHT (still " +
2734
+ "running call again in a few seconds; do not re-send the write), ORPHANED (it started " +
2735
+ "and its process ended without recording an outcome, so the outcome is UNCERTAIN — " +
2736
+ "re-read the target, do not blind-retry), or UNKNOWN (no such op_id in history).",
2704
2737
  inputSchema: { op_id: z.string().describe("the op_id the original write carried") },
2705
2738
  annotations: READ_ONLY,
2706
2739
  }, async (args) => guard(() => readResult(opResult(assertOpId(args.op_id)))));
2740
+ registerTool("rescue_status", {
2741
+ description: "Report why Things is unresponsive to commands, when one is failing in a way the data " +
2742
+ "does not explain. A dialog left open in Things stops the app sending changes to Things " +
2743
+ "Cloud and makes it answer that items you can plainly see are not there, so writes fail " +
2744
+ "as if the item were missing. Reports whether a dialog is open and which one, how many " +
2745
+ "are stacked, which application owns the keyboard, and whether another command is " +
2746
+ "holding the change lock and for how long. Reads only — nothing is clicked, closed or " +
2747
+ "quit. Closing a dialog and restarting Things are available on the command line as " +
2748
+ "`things rescue dismiss` and `things rescue relaunch`; tell the user to run one of those.",
2749
+ inputSchema: {},
2750
+ annotations: READ_ONLY,
2751
+ }, async () => guard(async () => jsonResult(await rescueStatus())));
2707
2752
  return server;
2708
2753
  }
2709
2754
  //# sourceMappingURL=server.js.map