things-api 0.18.0 → 0.19.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 (191) hide show
  1. package/README.md +16 -9
  2. package/deputy/AppIcon.icns +0 -0
  3. package/deputy/VERSION +1 -1
  4. package/deputy/helpers-Info.plist +4 -0
  5. package/deputy/prebuilt/Things API Helper.app/Contents/CodeResources +0 -0
  6. package/deputy/prebuilt/Things API Helper.app/Contents/Helpers/things-reader.app/Contents/Info.plist +3 -1
  7. package/deputy/prebuilt/Things API Helper.app/Contents/Helpers/things-reader.app/Contents/MacOS/things-reader +0 -0
  8. package/deputy/prebuilt/Things API Helper.app/Contents/Helpers/things-reader.app/Contents/Resources/AppIcon.icns +0 -0
  9. package/deputy/prebuilt/Things API Helper.app/Contents/Helpers/things-reader.app/Contents/_CodeSignature/CodeResources +15 -2
  10. package/deputy/prebuilt/Things API Helper.app/Contents/Info.plist +5 -1
  11. package/deputy/prebuilt/Things API Helper.app/Contents/MacOS/things-deputy +0 -0
  12. package/deputy/prebuilt/Things API Helper.app/Contents/Resources/AppIcon.icns +0 -0
  13. package/deputy/prebuilt/Things API Helper.app/Contents/_CodeSignature/CodeResources +14 -2
  14. package/deputy/reader/Info.plist +2 -0
  15. package/deputy/reader/entitlements.plist +30 -0
  16. package/deputy/reader/main.swift +129 -40
  17. package/deputy/src/server.swift +25 -2
  18. package/deputy/src/tcc.swift +58 -0
  19. package/dist/audit/schema.d.ts +13 -1
  20. package/dist/audit/schema.js.map +1 -1
  21. package/dist/capability.d.ts +160 -0
  22. package/dist/capability.js +416 -0
  23. package/dist/capability.js.map +1 -0
  24. package/dist/cli/commands/doctor.js +127 -1
  25. package/dist/cli/commands/doctor.js.map +1 -1
  26. package/dist/cli/commands/helpers.js +178 -51
  27. package/dist/cli/commands/helpers.js.map +1 -1
  28. package/dist/cli/commands/op-result.js +6 -0
  29. package/dist/cli/commands/op-result.js.map +1 -1
  30. package/dist/cli/commands/reads.js +47 -1
  31. package/dist/cli/commands/reads.js.map +1 -1
  32. package/dist/cli/commands/setup.d.ts +9 -0
  33. package/dist/cli/commands/setup.js +63 -83
  34. package/dist/cli/commands/setup.js.map +1 -1
  35. package/dist/cli/commands/writes.d.ts +1 -1
  36. package/dist/cli/commands/writes.js +241 -107
  37. package/dist/cli/commands/writes.js.map +1 -1
  38. package/dist/cli/dry-run.d.ts +1 -1
  39. package/dist/cli/dry-run.js +1 -1
  40. package/dist/cli/glyphs.d.ts +23 -4
  41. package/dist/cli/glyphs.js +46 -19
  42. package/dist/cli/glyphs.js.map +1 -1
  43. package/dist/cli/help.d.ts +1 -1
  44. package/dist/cli/help.js +49 -27
  45. package/dist/cli/help.js.map +1 -1
  46. package/dist/cli/period.d.ts +3 -1
  47. package/dist/cli/period.js +1 -1
  48. package/dist/cli/period.js.map +1 -1
  49. package/dist/cli/read-driver.js +26 -1
  50. package/dist/cli/read-driver.js.map +1 -1
  51. package/dist/cli/render.d.ts +31 -4
  52. package/dist/cli/render.js +127 -15
  53. package/dist/cli/render.js.map +1 -1
  54. package/dist/client.d.ts +22 -2
  55. package/dist/client.js +36 -13
  56. package/dist/client.js.map +1 -1
  57. package/dist/contracts.d.ts +6 -2
  58. package/dist/contracts.js +1 -1
  59. package/dist/contracts.js.map +1 -1
  60. package/dist/deputy/install.d.ts +219 -5
  61. package/dist/deputy/install.js +803 -31
  62. package/dist/deputy/install.js.map +1 -1
  63. package/dist/deputy/notices.js +2 -2
  64. package/dist/deputy/notices.js.map +1 -1
  65. package/dist/deputy/protocol.d.ts +59 -5
  66. package/dist/deputy/protocol.js +48 -11
  67. package/dist/deputy/protocol.js.map +1 -1
  68. package/dist/deputy/routing.d.ts +21 -0
  69. package/dist/deputy/routing.js +111 -27
  70. package/dist/deputy/routing.js.map +1 -1
  71. package/dist/diagnose.d.ts +14 -1
  72. package/dist/diagnose.js +46 -6
  73. package/dist/diagnose.js.map +1 -1
  74. package/dist/direct-setup.d.ts +78 -0
  75. package/dist/direct-setup.js +484 -0
  76. package/dist/direct-setup.js.map +1 -0
  77. package/dist/host-access.d.ts +63 -0
  78. package/dist/host-access.js +165 -0
  79. package/dist/host-access.js.map +1 -0
  80. package/dist/index.d.ts +20 -5
  81. package/dist/index.js +14 -1
  82. package/dist/index.js.map +1 -1
  83. package/dist/mcp/server.d.ts +27 -1
  84. package/dist/mcp/server.js +285 -100
  85. package/dist/mcp/server.js.map +1 -1
  86. package/dist/op-result.d.ts +9 -0
  87. package/dist/op-result.js +5 -0
  88. package/dist/op-result.js.map +1 -1
  89. package/dist/read/filter-contract.d.ts +1 -1
  90. package/dist/read/filter-contract.js +4 -0
  91. package/dist/read/filter-contract.js.map +1 -1
  92. package/dist/read/shape.js +4 -0
  93. package/dist/read/shape.js.map +1 -1
  94. package/dist/read/views.d.ts +29 -0
  95. package/dist/read/views.js +60 -0
  96. package/dist/read/views.js.map +1 -1
  97. package/dist/session-grant.d.ts +48 -0
  98. package/dist/session-grant.js +170 -0
  99. package/dist/session-grant.js.map +1 -0
  100. package/dist/surface-copy.d.ts +8 -0
  101. package/dist/surface-copy.js +8 -0
  102. package/dist/surface-copy.js.map +1 -1
  103. package/dist/wizard.d.ts +58 -0
  104. package/dist/wizard.js +167 -0
  105. package/dist/wizard.js.map +1 -0
  106. package/dist/write/availability.d.ts +1 -1
  107. package/dist/write/availability.js +3 -3
  108. package/dist/write/availability.js.map +1 -1
  109. package/dist/write/batch.d.ts +20 -0
  110. package/dist/write/batch.js +94 -15
  111. package/dist/write/batch.js.map +1 -1
  112. package/dist/write/capabilities.d.ts +9 -0
  113. package/dist/write/capabilities.js +2 -0
  114. package/dist/write/capabilities.js.map +1 -1
  115. package/dist/write/clear-reminder.js +1 -1
  116. package/dist/write/clear-reminder.js.map +1 -1
  117. package/dist/write/commands.d.ts +12 -1
  118. package/dist/write/commands.js +112 -224
  119. package/dist/write/commands.js.map +1 -1
  120. package/dist/write/failure-hints.d.ts +3 -1
  121. package/dist/write/failure-hints.js.map +1 -1
  122. package/dist/write/guards.js +19 -2
  123. package/dist/write/guards.js.map +1 -1
  124. package/dist/write/lock.d.ts +16 -13
  125. package/dist/write/lock.js +55 -0
  126. package/dist/write/lock.js.map +1 -1
  127. package/dist/write/make-repeating-project.js +9 -13
  128. package/dist/write/make-repeating-project.js.map +1 -1
  129. package/dist/write/operations.d.ts +36 -21
  130. package/dist/write/operations.js +7 -0
  131. package/dist/write/operations.js.map +1 -1
  132. package/dist/write/opid.d.ts +14 -0
  133. package/dist/write/opid.js +22 -0
  134. package/dist/write/opid.js.map +1 -1
  135. package/dist/write/param-schema.d.ts +124 -0
  136. package/dist/write/param-schema.js +747 -0
  137. package/dist/write/param-schema.js.map +1 -0
  138. package/dist/write/pipeline.d.ts +76 -2
  139. package/dist/write/pipeline.js +190 -2
  140. package/dist/write/pipeline.js.map +1 -1
  141. package/dist/write/pre-state.d.ts +8 -0
  142. package/dist/write/pre-state.js +29 -2
  143. package/dist/write/pre-state.js.map +1 -1
  144. package/dist/write/promote-clone.js +539 -439
  145. package/dist/write/promote-clone.js.map +1 -1
  146. package/dist/write/reorder.js +25 -8
  147. package/dist/write/reorder.js.map +1 -1
  148. package/dist/write/repeat-rule.d.ts +28 -1
  149. package/dist/write/repeat-rule.js +54 -4
  150. package/dist/write/repeat-rule.js.map +1 -1
  151. package/dist/write/resolution-timestamps.d.ts +11 -0
  152. package/dist/write/resolution-timestamps.js +83 -38
  153. package/dist/write/resolution-timestamps.js.map +1 -1
  154. package/dist/write/reversibility.js +4 -0
  155. package/dist/write/reversibility.js.map +1 -1
  156. package/dist/write/template-mutation.d.ts +137 -0
  157. package/dist/write/template-mutation.js +451 -0
  158. package/dist/write/template-mutation.js.map +1 -0
  159. package/dist/write/undo.js +10 -20
  160. package/dist/write/undo.js.map +1 -1
  161. package/dist/write/update-fields.d.ts +151 -0
  162. package/dist/write/update-fields.js +427 -0
  163. package/dist/write/update-fields.js.map +1 -0
  164. package/dist/write/vectors/applescript.js +3 -0
  165. package/dist/write/vectors/applescript.js.map +1 -1
  166. package/dist/write/vectors/registry.d.ts +1 -1
  167. package/dist/write/vectors/registry.js +10 -2
  168. package/dist/write/vectors/registry.js.map +1 -1
  169. package/dist/write/vectors/shortcuts.js +2 -2
  170. package/dist/write/vectors/shortcuts.js.map +1 -1
  171. package/dist/write/vectors/simulator.js +7 -2
  172. package/dist/write/vectors/simulator.js.map +1 -1
  173. package/dist/write/vectors/types.d.ts +57 -0
  174. package/dist/write/vectors/ui-recipes.d.ts +19 -0
  175. package/dist/write/vectors/ui-recipes.js +30 -0
  176. package/dist/write/vectors/ui-recipes.js.map +1 -1
  177. package/dist/write/vectors/ui.d.ts +13 -0
  178. package/dist/write/vectors/ui.js +62 -13
  179. package/dist/write/vectors/ui.js.map +1 -1
  180. package/dist/write/verify/delta.d.ts +21 -0
  181. package/dist/write/verify/delta.js.map +1 -1
  182. package/package.json +2 -1
  183. package/schema/envelope.schema.json +5 -3
  184. package/scripts/build-helpers.sh +5 -0
  185. package/skills/things-cli/SKILL.md +5 -3
  186. package/skills/things-cli/references/contracts.md +1 -0
  187. package/skills/things-cli/references/data-model.md +3 -0
  188. package/skills/things-cli/references/errors.md +1 -1
  189. package/skills/things-cli/references/gui.md +1 -0
  190. package/skills/things-cli/references/repeating.md +6 -0
  191. package/skills/things-cli/references/tag-cleanup.md +64 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-grant.js","sourceRoot":"","sources":["../src/session-grant.ts"],"names":[],"mappings":"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"}
@@ -19,6 +19,14 @@ export declare const REMINDER_FORMAT = "HH:mm (24-hour)";
19
19
  export declare const RESOLUTION_DATE_FORMAT = "ISO date or datetime; a date is noon in the effective zone";
20
20
  /** How projects, areas, and tags may be referenced. */
21
21
  export declare const REF_FORMAT = "uuid or unique name";
22
+ /**
23
+ * The notes-field format, shared by every `--notes`/`notes` surface: notes is a
24
+ * markdown field with multi-line support, not a plain text blob. Things renders
25
+ * the common markdown constructs while leaving the syntax characters in place,
26
+ * and links a bare URL on its own — so `[label](url)` stays literal text.
27
+ * Evidence: docs/lab/notesmd-results.md.
28
+ */
29
+ export declare const NOTES_FORMAT = "markdown, multi-line; a bare URL becomes a link, [label](url) stays literal";
22
30
  /**
23
31
  * Time-window bound grammar shared by `--since`/`--until` flags: relative
24
32
  * periods counted from today (`2w`/`3m`/`1y`) or whole calendar periods
@@ -19,6 +19,14 @@ export const REMINDER_FORMAT = "HH:mm (24-hour)";
19
19
  export const RESOLUTION_DATE_FORMAT = "ISO date or datetime; a date is noon in the effective zone";
20
20
  /** How projects, areas, and tags may be referenced. */
21
21
  export const REF_FORMAT = "uuid or unique name";
22
+ /**
23
+ * The notes-field format, shared by every `--notes`/`notes` surface: notes is a
24
+ * markdown field with multi-line support, not a plain text blob. Things renders
25
+ * the common markdown constructs while leaving the syntax characters in place,
26
+ * and links a bare URL on its own — so `[label](url)` stays literal text.
27
+ * Evidence: docs/lab/notesmd-results.md.
28
+ */
29
+ export const NOTES_FORMAT = "markdown, multi-line; a bare URL becomes a link, [label](url) stays literal";
22
30
  /**
23
31
  * Time-window bound grammar shared by `--since`/`--until` flags: relative
24
32
  * periods counted from today (`2w`/`3m`/`1y`) or whole calendar periods
@@ -1 +1 @@
1
- {"version":3,"file":"surface-copy.js","sourceRoot":"","sources":["../src/surface-copy.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,yCAAyC;AACzC,MAAM,CAAC,MAAM,WAAW,GAAG,kDAAkD,CAAC;AAE9E,gEAAgE;AAChE,MAAM,CAAC,MAAM,WAAW,GAAG,YAAY,CAAC;AAExC,6CAA6C;AAC7C,MAAM,CAAC,MAAM,eAAe,GAAG,iBAAiB,CAAC;AAEjD;;;;GAIG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,4DAA4D,CAAC;AAEnG,uDAAuD;AACvD,MAAM,CAAC,MAAM,UAAU,GAAG,qBAAqB,CAAC;AAEhD;;;;GAIG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,oEAAoE,CAAC;AACjG,MAAM,CAAC,MAAM,YAAY,GAAG,+DAA+D,CAAC;AAE5F,sEAAsE;AACtE,MAAM,CAAC,MAAM,kBAAkB,GAAG,EAAE,CAAC;AAErC,2EAA2E;AAC3E,MAAM,CAAC,MAAM,UAAU,GAAG,kCAAkC,kBAAkB,GAAG,CAAC;AAElF,6DAA6D;AAC7D,MAAM,CAAC,MAAM,QAAQ,GAAG,oCAAoC,CAAC;AAE7D;;;;;GAKG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,sDAAsD,CAAC;AAEhF,2EAA2E;AAC3E,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC;AAEvC,8EAA8E;AAC9E,MAAM,CAAC,MAAM,kBAAkB,GAAG,EAAE,CAAC;AAErC,+DAA+D;AAC/D,MAAM,CAAC,MAAM,eAAe,GAAG,mGAAmG,kBAAkB,gCAAgC,CAAC;AAErL,+DAA+D;AAC/D,MAAM,CAAC,MAAM,kBAAkB,GAAG,4DAA4D,qBAAqB,sCAAsC,CAAC;AAE1J,kFAAkF;AAClF,MAAM,CAAC,MAAM,gBAAgB,GAAG,oDAAoD,CAAC;AAErF,oFAAoF;AACpF,MAAM,CAAC,MAAM,gBAAgB,GAAG,sEAAsE,UAAU,yCAAyC,CAAC;AAE1J;;;;;GAKG;AACH,MAAM,CAAC,MAAM,eAAe,GAC1B,qJAAqJ,CAAC;AAExJ;;;;;GAKG;AACH,MAAM,CAAC,MAAM,aAAa,GACxB,obAAob,CAAC;AAEvb;;;;;;;;GAQG;AACH,MAAM,UAAU,cAAc,CAAC,MAAsD;IACnF,QAAQ,MAAM,CAAC,MAAM,EAAE,CAAC;QACtB,KAAK,IAAI;YACP,OAAO,EAAE,CAAC;QACZ,KAAK,OAAO;YACV,OAAO;gBACL,wEAAwE;oBACtE,8CAA8C;aACjD,CAAC;QACJ,KAAK,iBAAiB;YACpB,OAAO;gBACL,6EAA6E;oBAC3E,8CAA8C;aACjD,CAAC;IACN,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"surface-copy.js","sourceRoot":"","sources":["../src/surface-copy.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,yCAAyC;AACzC,MAAM,CAAC,MAAM,WAAW,GAAG,kDAAkD,CAAC;AAE9E,gEAAgE;AAChE,MAAM,CAAC,MAAM,WAAW,GAAG,YAAY,CAAC;AAExC,6CAA6C;AAC7C,MAAM,CAAC,MAAM,eAAe,GAAG,iBAAiB,CAAC;AAEjD;;;;GAIG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,4DAA4D,CAAC;AAEnG,uDAAuD;AACvD,MAAM,CAAC,MAAM,UAAU,GAAG,qBAAqB,CAAC;AAEhD;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,YAAY,GACvB,6EAA6E,CAAC;AAEhF;;;;GAIG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,oEAAoE,CAAC;AACjG,MAAM,CAAC,MAAM,YAAY,GAAG,+DAA+D,CAAC;AAE5F,sEAAsE;AACtE,MAAM,CAAC,MAAM,kBAAkB,GAAG,EAAE,CAAC;AAErC,2EAA2E;AAC3E,MAAM,CAAC,MAAM,UAAU,GAAG,kCAAkC,kBAAkB,GAAG,CAAC;AAElF,6DAA6D;AAC7D,MAAM,CAAC,MAAM,QAAQ,GAAG,oCAAoC,CAAC;AAE7D;;;;;GAKG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,sDAAsD,CAAC;AAEhF,2EAA2E;AAC3E,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC;AAEvC,8EAA8E;AAC9E,MAAM,CAAC,MAAM,kBAAkB,GAAG,EAAE,CAAC;AAErC,+DAA+D;AAC/D,MAAM,CAAC,MAAM,eAAe,GAAG,mGAAmG,kBAAkB,gCAAgC,CAAC;AAErL,+DAA+D;AAC/D,MAAM,CAAC,MAAM,kBAAkB,GAAG,4DAA4D,qBAAqB,sCAAsC,CAAC;AAE1J,kFAAkF;AAClF,MAAM,CAAC,MAAM,gBAAgB,GAAG,oDAAoD,CAAC;AAErF,oFAAoF;AACpF,MAAM,CAAC,MAAM,gBAAgB,GAAG,sEAAsE,UAAU,yCAAyC,CAAC;AAE1J;;;;;GAKG;AACH,MAAM,CAAC,MAAM,eAAe,GAC1B,qJAAqJ,CAAC;AAExJ;;;;;GAKG;AACH,MAAM,CAAC,MAAM,aAAa,GACxB,obAAob,CAAC;AAEvb;;;;;;;;GAQG;AACH,MAAM,UAAU,cAAc,CAAC,MAAsD;IACnF,QAAQ,MAAM,CAAC,MAAM,EAAE,CAAC;QACtB,KAAK,IAAI;YACP,OAAO,EAAE,CAAC;QACZ,KAAK,OAAO;YACV,OAAO;gBACL,wEAAwE;oBACtE,8CAA8C;aACjD,CAAC;QACJ,KAAK,iBAAiB;YACpB,OAAO;gBACL,6EAA6E;oBAC3E,8CAA8C;aACjD,CAAC;IACN,CAAC;AACH,CAAC"}
@@ -0,0 +1,58 @@
1
+ /**
2
+ * The human stopped the ceremony — Ctrl-D at a gate, a `\x03`/`\x04` arriving
3
+ * as data, or a closed terminal. Every leg is resumable, so this is a clean
4
+ * stop and not a failure: the CLI prints the stopped line and exits nonzero.
5
+ */
6
+ export declare class CeremonyStopped extends Error {
7
+ constructor(why?: string);
8
+ }
9
+ /**
10
+ * Run a ceremony's synchronous span with the process's DEFAULT SIGINT/SIGTERM
11
+ * disposition, so Ctrl-C really does stop it (see the module note above).
12
+ *
13
+ * The lifted listeners are restored on the way out. A `once` listener comes
14
+ * back as a plain one — the CLI's handler exits the process, so it cannot fire
15
+ * twice, and a ceremony that returns normally never reaches it at all.
16
+ */
17
+ export declare function withDefaultInterrupts<T>(run: () => T): T;
18
+ export interface WizardDeps {
19
+ /**
20
+ * Is a human sitting here? Default: stdin AND stderr are both terminals —
21
+ * stdin because the gate has to be answerable, stderr because the explainers
22
+ * have to be visible even when stdout is a pipe carrying `--json`.
23
+ */
24
+ interactive?: boolean;
25
+ /** Where explainers and questions are printed. Default: stderr. */
26
+ say?: (line: string) => void;
27
+ /**
28
+ * Read one line from the human. Default: one line off /dev/tty. `null` means
29
+ * end of input — Ctrl-D, or a terminal that went away — and stops the
30
+ * ceremony rather than reading as a bare Enter.
31
+ */
32
+ readLine?: () => string | null;
33
+ }
34
+ export interface Wizard {
35
+ /** True when this run is a guided sitting rather than strict mode. */
36
+ readonly interactive: boolean;
37
+ /**
38
+ * Explain a dialog that is about to be raised, then wait for the human to say
39
+ * they are ready. A no-op in strict mode — there the upfront banner has
40
+ * already counted the dialogs and nobody is here to pace them.
41
+ */
42
+ explain(lines: string[]): void;
43
+ /**
44
+ * Ask a yes/no question. `fallback` is the answer in strict mode (and the
45
+ * answer a bare Enter gives), so a non-interactive run is never blocked on
46
+ * one; the flag that decides it non-interactively is the caller's business.
47
+ */
48
+ ask(question: string, fallback: boolean): boolean;
49
+ /**
50
+ * Offer a leg's alternatives: `lines` describes them, Enter takes the first
51
+ * one, and typing any of `keys` takes that one. Returns the chosen key, or
52
+ * `""` for Enter — which is also strict mode's silent answer, so the default
53
+ * has to be the choice an absent human would want.
54
+ */
55
+ choose(lines: string[], keys: string[]): string;
56
+ }
57
+ /** Build the wizard for one ceremony run. Fully injectable for tests. */
58
+ export declare function createWizard(deps?: WizardDeps): Wizard;
package/dist/wizard.js ADDED
@@ -0,0 +1,167 @@
1
+ /**
2
+ * The ceremony wizard — Article V's mode-aware half
3
+ * (docs/design/permissions-doctrine.md).
4
+ *
5
+ * Both setup ceremonies (`things setup` and `things helpers setup`) share this
6
+ * machinery, because a human sitting at either one needs the same two things:
7
+ * to be told what is about to appear on screen BEFORE it appears, and to be
8
+ * allowed to get there at their own pace.
9
+ *
10
+ * At a TTY the ceremony is a WIZARD: each prompt-raising leg is preceded by one
11
+ * plain-language explainer naming the dialog by its actual words and the button
12
+ * to click, and then the ceremony waits for Enter. Off a TTY it is STRICT mode,
13
+ * exactly as before: the upfront banner counts the dialogs, waits are bounded,
14
+ * and an unanswered leg fails the run. The tier question is asked interactively
15
+ * when nothing else decided it, and answered by the flag when it did.
16
+ *
17
+ * TTY-ness is the ONLY signal used, and it selects wizard-vs-strict *inside* a
18
+ * ceremony only — never behavior anywhere else. There is deliberately no
19
+ * env-based agent sniffing anywhere in the package (Article V): Article I makes
20
+ * it unnecessary, because no ordinary command can raise a dialog for an agent
21
+ * to hang on in the first place.
22
+ *
23
+ * ## Why a ceremony runs with the DEFAULT signal disposition
24
+ *
25
+ * MEASURED 2026-08-24 (macOS 24.6, node under a pty): a ceremony's gates and
26
+ * bounded waits are SYNCHRONOUS — a blocking `read(2)` on /dev/tty, or
27
+ * `Atomics.wait` between polls — so they hold the event loop for their whole
28
+ * duration. The CLI installs `process.once("SIGINT", …)` at startup
29
+ * (../cli/interrupt.ts), and a registered JS listener replaces the kernel's
30
+ * default disposition with a libuv watcher that can only run a handler ON the
31
+ * event loop. With the loop held, the signal is queued and never dispatched,
32
+ * libuv restarts the EINTR'd read, and — because the line discipline keeps
33
+ * ISIG on, so ^C is consumed as a signal and never arrives as a byte — Ctrl-C
34
+ * is swallowed COMPLETELY: no handler, no exit, no input. Reproduced both at a
35
+ * gate and inside a poll; without the listener the same ^C kills node at once.
36
+ *
37
+ * The fix is {@link withDefaultInterrupts}: for the span of the ceremony the JS
38
+ * listeners are lifted, so the kernel terminates the process on ^C exactly as
39
+ * the copy promises, at the conventional 130. Deliberately NOT fixed by putting
40
+ * the terminal in raw mode to read ^C as `\x03`: raw mode is what would disable
41
+ * ISIG and *cause* this class of bug, and it leaves a terminal to restore on
42
+ * every exit path — including the ones a signal never lets us reach. The gate
43
+ * stays in canonical mode, so there is no terminal state to restore, and a
44
+ * `\x03`/`\x04` that does arrive as data (a harness feeding the gate, or
45
+ * Ctrl-D) is treated as a stop.
46
+ */
47
+ import { closeSync, openSync, readSync } from "node:fs";
48
+ /** The controlling terminal, so a piped stdout/stdin cannot swallow the gate. */
49
+ const TTY_DEVICE = "/dev/tty";
50
+ /** Signals whose default disposition a ceremony restores while it blocks. */
51
+ const CEREMONY_SIGNALS = ["SIGINT", "SIGTERM"];
52
+ /**
53
+ * The human stopped the ceremony — Ctrl-D at a gate, a `\x03`/`\x04` arriving
54
+ * as data, or a closed terminal. Every leg is resumable, so this is a clean
55
+ * stop and not a failure: the CLI prints the stopped line and exits nonzero.
56
+ */
57
+ export class CeremonyStopped extends Error {
58
+ constructor(why = "stopped at the keyboard") {
59
+ super(`the setup ceremony was ${why}`);
60
+ this.name = "CeremonyStopped";
61
+ }
62
+ }
63
+ /**
64
+ * Run a ceremony's synchronous span with the process's DEFAULT SIGINT/SIGTERM
65
+ * disposition, so Ctrl-C really does stop it (see the module note above).
66
+ *
67
+ * The lifted listeners are restored on the way out. A `once` listener comes
68
+ * back as a plain one — the CLI's handler exits the process, so it cannot fire
69
+ * twice, and a ceremony that returns normally never reaches it at all.
70
+ */
71
+ export function withDefaultInterrupts(run) {
72
+ const lifted = CEREMONY_SIGNALS.map((signal) => {
73
+ const listeners = process.listeners(signal);
74
+ for (const listener of listeners)
75
+ process.removeListener(signal, listener);
76
+ return { signal, listeners };
77
+ });
78
+ try {
79
+ return run();
80
+ }
81
+ finally {
82
+ for (const { signal, listeners } of lifted) {
83
+ for (const listener of listeners)
84
+ process.on(signal, listener);
85
+ }
86
+ }
87
+ }
88
+ function readLineDefault() {
89
+ let fd;
90
+ try {
91
+ fd = openSync(TTY_DEVICE, "r");
92
+ const buffer = Buffer.alloc(256);
93
+ const read = readSync(fd, buffer, 0, buffer.length, null);
94
+ // A zero-byte read is EOF, not an empty answer.
95
+ return read === 0 ? null : buffer.toString("utf8", 0, read).trim();
96
+ }
97
+ catch {
98
+ // No controlling terminal after all (a ceremony started under a harness
99
+ // that reported isTTY and then detached). Nobody can answer, so stop.
100
+ return null;
101
+ }
102
+ finally {
103
+ if (fd !== undefined) {
104
+ try {
105
+ closeSync(fd);
106
+ }
107
+ catch {
108
+ // Nothing here can change the answer we already have.
109
+ }
110
+ }
111
+ }
112
+ }
113
+ function interactiveDefault() {
114
+ return process.stdin.isTTY === true && process.stderr.isTTY === true;
115
+ }
116
+ /** Build the wizard for one ceremony run. Fully injectable for tests. */
117
+ export function createWizard(deps = {}) {
118
+ const interactive = deps.interactive ?? interactiveDefault();
119
+ const say = deps.say ?? ((line) => process.stderr.write(`${line}\n`));
120
+ const readLine = deps.readLine ?? readLineDefault;
121
+ /**
122
+ * One gate: block for the human, with the default signal disposition in
123
+ * force so Ctrl-C stops the ceremony. Throws {@link CeremonyStopped} on end
124
+ * of input, or on a `\x03`/`\x04` that reached us as data.
125
+ */
126
+ const gate = () => {
127
+ const answer = withDefaultInterrupts(readLine);
128
+ if (answer === null)
129
+ throw new CeremonyStopped("stopped — no more input");
130
+ if (answer.includes("\u0003") || answer.includes("\u0004"))
131
+ throw new CeremonyStopped();
132
+ return answer.trim();
133
+ };
134
+ return {
135
+ interactive,
136
+ explain(lines) {
137
+ if (!interactive)
138
+ return;
139
+ say("");
140
+ for (const line of lines)
141
+ say(line);
142
+ say(" press Enter when you are ready — Ctrl-C stops here, and rerunning resumes here");
143
+ gate();
144
+ },
145
+ ask(question, fallback) {
146
+ if (!interactive)
147
+ return fallback;
148
+ say("");
149
+ say(`${question} [${fallback ? "Y/n" : "y/N"}]`);
150
+ const answer = gate().toLowerCase();
151
+ if (answer === "")
152
+ return fallback;
153
+ return answer.startsWith("y");
154
+ },
155
+ choose(lines, keys) {
156
+ if (!interactive)
157
+ return "";
158
+ say("");
159
+ for (const line of lines)
160
+ say(line);
161
+ say(` press Enter, or type ${keys.join(" / ")} then Enter — Ctrl-C stops here, and rerunning resumes here`);
162
+ const answer = gate().toLowerCase();
163
+ return keys.find((key) => answer.startsWith(key)) ?? "";
164
+ },
165
+ };
166
+ }
167
+ //# sourceMappingURL=wizard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wizard.js","sourceRoot":"","sources":["../src/wizard.ts"],"names":[],"mappings":"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"}
@@ -24,5 +24,5 @@ export interface AvailabilityDeps {
24
24
  * holds the first URL write behind an enable dialog).
25
25
  */
26
26
  export declare function readUrlSchemeEnabled(deps?: AvailabilityDeps): UrlSchemeState;
27
- /** Which proxy shortcuts are installed (drives the Shortcuts surface + `setup shortcuts`). */
27
+ /** Which proxy shortcuts are installed (drives the Shortcuts surface + `setup`). */
28
28
  export declare function readShortcutProxies(deps?: AvailabilityDeps): ShortcutsState;
@@ -76,7 +76,7 @@ export function readUrlSchemeEnabled(deps = {}) {
76
76
  }
77
77
  return { enabled: null, detail: `unexpected uriSchemeEnabled value: ${raw}` };
78
78
  }
79
- /** Which proxy shortcuts are installed (drives the Shortcuts surface + `setup shortcuts`). */
79
+ /** Which proxy shortcuts are installed (drives the Shortcuts surface + `setup`). */
80
80
  export function readShortcutProxies(deps = {}) {
81
81
  let listing;
82
82
  try {
@@ -102,8 +102,8 @@ export function readShortcutProxies(deps = {}) {
102
102
  ? "all proxy shortcuts are installed"
103
103
  : present.length === 0
104
104
  ? "no proxy shortcuts are installed — heading creation and dated-reminder clearing " +
105
- "need them (run `things setup shortcuts`)"
106
- : `missing: ${missing.join(", ")} (run \`things setup shortcuts\`)`,
105
+ "need them (run `things setup`)"
106
+ : `missing: ${missing.join(", ")} (run \`things setup\`)`,
107
107
  };
108
108
  }
109
109
  //# sourceMappingURL=availability.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"availability.js","sourceRoot":"","sources":["../../src/write/availability.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"availability.js","sourceRoot":"","sources":["../../src/write/availability.ts"],"names":[],"mappings":"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"}
@@ -35,6 +35,18 @@ export interface BatchOp {
35
35
  dangerouslyDriveGui?: boolean;
36
36
  /** Create any missing tag (mkdir-p for parent/child) instead of failing on an unknown tag. */
37
37
  createTags?: boolean;
38
+ /**
39
+ * Keep THIS line's change off the modification-date timeline (the universal
40
+ * write flag): the leg captures each pre-existing edited row's
41
+ * `userModificationDate` and restores it after the change verifies, so a
42
+ * `changes`/watch query keyed on it does not surface the edit. Best-effort —
43
+ * a failed restore is disclosed on the line's result
44
+ * (`preservedModified`/`preserveFailures`), never fatal. A no-op on a pure
45
+ * create. An explicit value here OUTRANKS the run-level
46
+ * {@link BatchOptions.preserveModified} default (including an explicit
47
+ * `false`, which opts this one line out of a preserving run).
48
+ */
49
+ preserveModified?: boolean;
38
50
  vector?: WriteOptions["vector"];
39
51
  verifyTimeoutMs?: number;
40
52
  maxDisruption?: WriteOptions["maxDisruption"];
@@ -108,6 +120,14 @@ export interface BatchOptions {
108
120
  continueOnError?: boolean;
109
121
  /** Plan every op without executing (each result is its dry-run plan). */
110
122
  dryRun?: boolean;
123
+ /**
124
+ * Run-level DEFAULT for the universal `--preserve-modified` flag: every line
125
+ * that does not set `options.preserveModified` itself runs with this value, so
126
+ * a whole bulk submission stays off the modification-date timeline in one
127
+ * flag. A line's own explicit value always outranks this (an explicit `false`
128
+ * opts that line back onto the timeline).
129
+ */
130
+ preserveModified?: boolean;
111
131
  actor?: string;
112
132
  }
113
133
  /** True when an outcome should be treated as a failure (halt / exit code). */
@@ -1,5 +1,6 @@
1
1
  import { OPERATION_KINDS } from "./operations.js";
2
2
  import { findAppliedOpId, OP_ID_RE } from "./opid.js";
3
+ import { validateOperationParams } from "./param-schema.js";
3
4
  import { fingerprintLabel, runMutation } from "./pipeline.js";
4
5
  import { runReorder } from "./reorder.js";
5
6
  import { readAuditRecords } from "./undo.js";
@@ -58,9 +59,19 @@ const REF_KEYS = new Set([
58
59
  "project",
59
60
  "area",
60
61
  "container",
62
+ "toProject",
61
63
  "heading",
62
64
  "headings",
63
65
  ]);
66
+ /**
67
+ * The subset of {@link REF_KEYS} whose value is a CONTAINER REFERENCE OBJECT.
68
+ * Their `$ref` lives INSIDE the object (`{"uuid": "$proj"}`) — a bare `"$proj"`
69
+ * string is a malformed container, refused by the parameter schema at preflight
70
+ * (#580), so the resolver never writes a bare uuid string back into one of these
71
+ * fields (which is exactly how a resolved temp ref used to vanish: the string
72
+ * failed the destination duck-test and the placement was silently dropped).
73
+ */
74
+ const CONTAINER_REF_KEYS = new Set(["project", "area", "container", "toProject"]);
64
75
  /** True when an outcome should be treated as a failure (halt / exit code). */
65
76
  export function outcomeFailed(outcome) {
66
77
  return outcome.kind !== "ok" && outcome.kind !== "dry-run" && outcome.kind !== "already-applied";
@@ -70,7 +81,10 @@ export function outcomeFailed(outcome) {
70
81
  * name→line index of valid tempId declarations and, per statically-invalid line,
71
82
  * the usage detail. "Statically detectable" means checkable with NO DB/app state:
72
83
  * a torn/non-object line, missing/unknown op, a BATCH_UNSUPPORTED_COMPOUND op,
73
- * non-object params, a malformed opId, a malformed/misplaced/duplicate tempId
84
+ * non-object params, a malformed opId, an unrecognized line/option key, ANY
85
+ * violation of the op's PARAMETER SCHEMA (param-schema.ts — wrong type, unknown
86
+ * key, a bare string where a container reference belongs, #580), a
87
+ * malformed/misplaced/duplicate tempId
74
88
  * declaration, and a `$ref` naming a tempId that NO EARLIER line declares
75
89
  * (unresolved or forward). ANY hit rejects the WHOLE batch (nothing executes) —
76
90
  * a script with a structural error is refused as a unit. RUNTIME failures
@@ -138,8 +152,59 @@ function staticLineError(entry, index, declIndex) {
138
152
  if (entry.opId !== undefined && !OP_ID_RE.test(entry.opId)) {
139
153
  return "opId must match [A-Za-z0-9_-] and be 1–64 characters";
140
154
  }
155
+ const lineKey = unknownLineKey(entry);
156
+ if (lineKey !== undefined)
157
+ return lineKey;
158
+ // The per-op PARAMETER schema (#580): a malformed field — a bare string where
159
+ // a container reference belongs, a wrong primitive, an unknown key — is a
160
+ // STRUCTURAL error, refusing the whole batch before anything is dispatched,
161
+ // instead of degrading into a silently-absent value at compile time.
162
+ const shape = validateOperationParams(entry.op, entry.params);
163
+ if (shape !== null)
164
+ return shape;
141
165
  return staticRefError(entry.params, declIndex, index);
142
166
  }
167
+ /** The LINE-level keys a batch entry may carry (anything else is a typo, not a silent no-op). */
168
+ const LINE_KEYS = ["op", "params", "tempId", "opId", "options"];
169
+ /** The per-line `options` keys (a safe subset of WriteOptions — see {@link BatchOp.options}). */
170
+ const LINE_OPTION_KEYS = [
171
+ "acknowledgeChecklistReset",
172
+ "acknowledgeProjectReopen",
173
+ "dangerouslyPermanent",
174
+ "acknowledgeTagSubtree",
175
+ "allowNonEmptyArea",
176
+ "dangerouslyDriveGui",
177
+ "createTags",
178
+ "preserveModified",
179
+ "vector",
180
+ "verifyTimeoutMs",
181
+ "maxDisruption",
182
+ ];
183
+ /** An unrecognized key on the LINE (or inside its `options`), or undefined when clean. */
184
+ function unknownLineKey(entry) {
185
+ const line = entry;
186
+ for (const key of Object.keys(line)) {
187
+ if (line[key] === undefined)
188
+ continue;
189
+ if (!LINE_KEYS.includes(key)) {
190
+ return `"${key}" is not a recognized field on a batch operation — accepted fields are ${LINE_KEYS.join(", ")}`;
191
+ }
192
+ }
193
+ if (entry.options === undefined)
194
+ return undefined;
195
+ if (typeof entry.options !== "object" || entry.options === null || Array.isArray(entry.options)) {
196
+ return "options must be an object";
197
+ }
198
+ const options = entry.options;
199
+ for (const key of Object.keys(options)) {
200
+ if (options[key] === undefined)
201
+ continue;
202
+ if (!LINE_OPTION_KEYS.includes(key)) {
203
+ return `options.${key} is not a recognized per-operation option — accepted options are ${LINE_OPTION_KEYS.join(", ")}`;
204
+ }
205
+ }
206
+ return undefined;
207
+ }
143
208
  /**
144
209
  * STATIC `$ref` check for one line's ref-accepting params: a `$name` that names
145
210
  * a tempId NO EARLIER line declares — either declared nowhere (unresolved) or
@@ -251,6 +316,21 @@ function resolveRefs(params, declIndex, bindings, currentIndex) {
251
316
  if (!REF_KEYS.has(key))
252
317
  continue;
253
318
  const value = out[key];
319
+ if (CONTAINER_REF_KEYS.has(key)) {
320
+ // A container field's ref lives INSIDE the object; the schema has already
321
+ // refused every other shape here, so there is no bare-string branch to
322
+ // fall into (that branch is what dropped the destination in #580).
323
+ if (typeof value !== "object" || value === null || Array.isArray(value))
324
+ continue;
325
+ const ref = value;
326
+ if (isRef(ref["uuid"])) {
327
+ const r = resolveOne(ref["uuid"]);
328
+ if (!r.ok)
329
+ return r;
330
+ out[key] = { ...ref, uuid: r.uuid };
331
+ }
332
+ continue;
333
+ }
254
334
  if (isRef(value)) {
255
335
  const r = resolveOne(value);
256
336
  if (!r.ok)
@@ -269,16 +349,6 @@ function resolveRefs(params, declIndex, bindings, currentIndex) {
269
349
  }
270
350
  out[key] = next;
271
351
  }
272
- else if (typeof value === "object" && value !== null) {
273
- // Container ref: resolve a `$` uuid sub-field, leave title/others alone.
274
- const ref = value;
275
- if (isRef(ref["uuid"])) {
276
- const r = resolveOne(ref["uuid"]);
277
- if (!r.ok)
278
- return r;
279
- out[key] = { ...ref, uuid: r.uuid };
280
- }
281
- }
282
352
  }
283
353
  return { ok: true, params: out };
284
354
  }
@@ -288,14 +358,18 @@ function usesRef(params) {
288
358
  if (!REF_KEYS.has(key))
289
359
  continue;
290
360
  const value = params[key];
361
+ if (CONTAINER_REF_KEYS.has(key)) {
362
+ if (typeof value === "object" &&
363
+ value !== null &&
364
+ !Array.isArray(value) &&
365
+ isRef(value["uuid"]))
366
+ return true;
367
+ continue;
368
+ }
291
369
  if (isRef(value))
292
370
  return true;
293
371
  if (Array.isArray(value) && value.some(isRef))
294
372
  return true;
295
- if (typeof value === "object" &&
296
- value !== null &&
297
- isRef(value["uuid"]))
298
- return true;
299
373
  }
300
374
  return false;
301
375
  }
@@ -419,6 +493,7 @@ export async function runBatch(deps, ops, options = {}, onResult) {
419
493
  if (!resolved.ok) {
420
494
  return { outcome: { kind: "invalid", op: entry.op, detail: resolved.detail } };
421
495
  }
496
+ const preserveModified = entry.options?.preserveModified ?? options.preserveModified;
422
497
  const writeOptions = {
423
498
  ...(entry.options?.acknowledgeChecklistReset !== undefined && {
424
499
  acknowledgeChecklistReset: entry.options.acknowledgeChecklistReset,
@@ -439,6 +514,10 @@ export async function runBatch(deps, ops, options = {}, onResult) {
439
514
  dangerouslyDriveGui: entry.options.dangerouslyDriveGui,
440
515
  }),
441
516
  ...(entry.options?.createTags !== undefined && { createTags: entry.options.createTags }),
517
+ // --preserve-modified: the line's own explicit value wins; otherwise the
518
+ // run-level default applies. `??` (not `||`) so an explicit per-line
519
+ // `false` opts one line out of an otherwise-preserving submission.
520
+ ...(preserveModified !== undefined && { preserveModified }),
442
521
  ...(entry.options?.vector !== undefined && { vector: entry.options.vector }),
443
522
  ...(entry.options?.verifyTimeoutMs !== undefined && {
444
523
  verifyTimeoutMs: entry.options.verifyTimeoutMs,
@@ -1 +1 @@
1
- {"version":3,"file":"batch.js","sourceRoot":"","sources":["../../src/write/batch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"batch.js","sourceRoot":"","sources":["../../src/write/batch.ts"],"names":[],"mappings":"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"}