things-api 0.10.0 → 0.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (239) hide show
  1. package/README.md +50 -13
  2. package/dist/audit/schema.d.ts +7 -0
  3. package/dist/audit/schema.js.map +1 -1
  4. package/dist/cli/clock.d.ts +8 -0
  5. package/dist/cli/clock.js +24 -0
  6. package/dist/cli/clock.js.map +1 -0
  7. package/dist/cli/commands/area.d.ts +18 -11
  8. package/dist/cli/commands/area.js +61 -74
  9. package/dist/cli/commands/area.js.map +1 -1
  10. package/dist/cli/commands/doctor.d.ts +1 -2
  11. package/dist/cli/commands/doctor.js +11 -1
  12. package/dist/cli/commands/doctor.js.map +1 -1
  13. package/dist/cli/commands/install-skill.d.ts +60 -0
  14. package/dist/cli/commands/install-skill.js +256 -0
  15. package/dist/cli/commands/install-skill.js.map +1 -0
  16. package/dist/cli/commands/mcp.js +9 -0
  17. package/dist/cli/commands/mcp.js.map +1 -1
  18. package/dist/cli/commands/project.d.ts +1 -0
  19. package/dist/cli/commands/project.js +27 -34
  20. package/dist/cli/commands/project.js.map +1 -1
  21. package/dist/cli/commands/reads.d.ts +15 -2
  22. package/dist/cli/commands/reads.js +144 -44
  23. package/dist/cli/commands/reads.js.map +1 -1
  24. package/dist/cli/commands/setup.js +7 -2
  25. package/dist/cli/commands/setup.js.map +1 -1
  26. package/dist/cli/commands/show.js +38 -14
  27. package/dist/cli/commands/show.js.map +1 -1
  28. package/dist/cli/commands/todo.js +15 -9
  29. package/dist/cli/commands/todo.js.map +1 -1
  30. package/dist/cli/commands/writes.js +797 -174
  31. package/dist/cli/commands/writes.js.map +1 -1
  32. package/dist/cli/did-you-mean.d.ts +14 -3
  33. package/dist/cli/did-you-mean.js +26 -3
  34. package/dist/cli/did-you-mean.js.map +1 -1
  35. package/dist/cli/glyphs.d.ts +32 -2
  36. package/dist/cli/glyphs.js +83 -12
  37. package/dist/cli/glyphs.js.map +1 -1
  38. package/dist/cli/help.js +121 -16
  39. package/dist/cli/help.js.map +1 -1
  40. package/dist/cli/main.js +33 -2
  41. package/dist/cli/main.js.map +1 -1
  42. package/dist/cli/move-hint.d.ts +46 -0
  43. package/dist/cli/move-hint.js +196 -0
  44. package/dist/cli/move-hint.js.map +1 -0
  45. package/dist/cli/period.d.ts +2 -8
  46. package/dist/cli/period.js +44 -30
  47. package/dist/cli/period.js.map +1 -1
  48. package/dist/cli/read-driver.d.ts +43 -5
  49. package/dist/cli/read-driver.js +91 -15
  50. package/dist/cli/read-driver.js.map +1 -1
  51. package/dist/cli/render.d.ts +19 -8
  52. package/dist/cli/render.js +70 -27
  53. package/dist/cli/render.js.map +1 -1
  54. package/dist/cli/resolve-invocation.d.ts +2 -2
  55. package/dist/cli/resolve-invocation.js +3 -3
  56. package/dist/cli/resolve-invocation.js.map +1 -1
  57. package/dist/cli/skill-check.d.ts +27 -0
  58. package/dist/cli/skill-check.js +99 -0
  59. package/dist/cli/skill-check.js.map +1 -0
  60. package/dist/cli/skill.d.ts +70 -0
  61. package/dist/cli/skill.js +152 -0
  62. package/dist/cli/skill.js.map +1 -0
  63. package/dist/cli/tag-filters.d.ts +6 -2
  64. package/dist/cli/tag-filters.js +8 -6
  65. package/dist/cli/tag-filters.js.map +1 -1
  66. package/dist/cli/verb-hint.js +28 -3
  67. package/dist/cli/verb-hint.js.map +1 -1
  68. package/dist/cli/version.d.ts +4 -0
  69. package/dist/cli/version.js +18 -0
  70. package/dist/cli/version.js.map +1 -0
  71. package/dist/client.d.ts +171 -27
  72. package/dist/client.js +279 -40
  73. package/dist/client.js.map +1 -1
  74. package/dist/config.d.ts +66 -2
  75. package/dist/config.js +120 -12
  76. package/dist/config.js.map +1 -1
  77. package/dist/contracts.d.ts +186 -28
  78. package/dist/contracts.js +22 -1
  79. package/dist/contracts.js.map +1 -1
  80. package/dist/diagnose.d.ts +34 -2
  81. package/dist/diagnose.js +36 -1
  82. package/dist/diagnose.js.map +1 -1
  83. package/dist/index.d.ts +25 -9
  84. package/dist/index.js +22 -3
  85. package/dist/index.js.map +1 -1
  86. package/dist/mcp/server.d.ts +9 -0
  87. package/dist/mcp/server.js +1157 -684
  88. package/dist/mcp/server.js.map +1 -1
  89. package/dist/model/clock.d.ts +61 -0
  90. package/dist/model/clock.js +71 -0
  91. package/dist/model/clock.js.map +1 -0
  92. package/dist/model/dates.d.ts +26 -3
  93. package/dist/model/dates.js +84 -3
  94. package/dist/model/dates.js.map +1 -1
  95. package/dist/model/entities.d.ts +60 -3
  96. package/dist/model/entities.js.map +1 -1
  97. package/dist/model/mappers.d.ts +4 -2
  98. package/dist/model/mappers.js +66 -9
  99. package/dist/model/mappers.js.map +1 -1
  100. package/dist/model/recurrence.d.ts +8 -1
  101. package/dist/model/recurrence.js.map +1 -1
  102. package/dist/read/area-filter.d.ts +76 -0
  103. package/dist/read/area-filter.js +59 -0
  104. package/dist/read/area-filter.js.map +1 -0
  105. package/dist/read/area-view.d.ts +12 -12
  106. package/dist/read/area-view.js +58 -34
  107. package/dist/read/area-view.js.map +1 -1
  108. package/dist/read/detail.d.ts +1 -1
  109. package/dist/read/detail.js +26 -12
  110. package/dist/read/detail.js.map +1 -1
  111. package/dist/read/log-boundary.d.ts +1 -1
  112. package/dist/read/log-boundary.js +13 -3
  113. package/dist/read/log-boundary.js.map +1 -1
  114. package/dist/read/predicates.d.ts +18 -0
  115. package/dist/read/predicates.js +19 -0
  116. package/dist/read/predicates.js.map +1 -1
  117. package/dist/read/project-view.d.ts +32 -16
  118. package/dist/read/project-view.js +80 -45
  119. package/dist/read/project-view.js.map +1 -1
  120. package/dist/read/pseudo-area.d.ts +29 -0
  121. package/dist/read/pseudo-area.js +27 -0
  122. package/dist/read/pseudo-area.js.map +1 -0
  123. package/dist/read/queries.d.ts +108 -19
  124. package/dist/read/queries.js +212 -35
  125. package/dist/read/queries.js.map +1 -1
  126. package/dist/read/scope.d.ts +126 -0
  127. package/dist/read/scope.js +162 -0
  128. package/dist/read/scope.js.map +1 -0
  129. package/dist/read/search-rank.d.ts +2 -5
  130. package/dist/read/shape.d.ts +162 -0
  131. package/dist/read/shape.js +686 -0
  132. package/dist/read/shape.js.map +1 -0
  133. package/dist/read/show-target.d.ts +9 -1
  134. package/dist/read/show-target.js +45 -4
  135. package/dist/read/show-target.js.map +1 -1
  136. package/dist/read/snapshot.d.ts +1 -1
  137. package/dist/read/snapshot.js +9 -2
  138. package/dist/read/snapshot.js.map +1 -1
  139. package/dist/read/stage.d.ts +199 -0
  140. package/dist/read/stage.js +125 -0
  141. package/dist/read/stage.js.map +1 -0
  142. package/dist/read/truncation.d.ts +8 -6
  143. package/dist/read/truncation.js +35 -10
  144. package/dist/read/truncation.js.map +1 -1
  145. package/dist/read/views.d.ts +61 -20
  146. package/dist/read/views.js +240 -82
  147. package/dist/read/views.js.map +1 -1
  148. package/dist/surface-copy.d.ts +9 -0
  149. package/dist/surface-copy.js +9 -0
  150. package/dist/surface-copy.js.map +1 -1
  151. package/dist/write/accessibility-probe.d.ts +1 -1
  152. package/dist/write/accessibility-probe.js +8 -0
  153. package/dist/write/accessibility-probe.js.map +1 -1
  154. package/dist/write/automation-probe.d.ts +1 -1
  155. package/dist/write/automation-probe.js +8 -0
  156. package/dist/write/automation-probe.js.map +1 -1
  157. package/dist/write/batch.d.ts +49 -10
  158. package/dist/write/batch.js +423 -70
  159. package/dist/write/batch.js.map +1 -1
  160. package/dist/write/commands.d.ts +1 -1
  161. package/dist/write/commands.js +316 -66
  162. package/dist/write/commands.js.map +1 -1
  163. package/dist/write/guards.d.ts +1 -1
  164. package/dist/write/guards.js +94 -10
  165. package/dist/write/guards.js.map +1 -1
  166. package/dist/write/heading.d.ts +10 -1
  167. package/dist/write/heading.js +35 -5
  168. package/dist/write/heading.js.map +1 -1
  169. package/dist/write/make-repeating-project.d.ts +2 -2
  170. package/dist/write/make-repeating-project.js +9 -9
  171. package/dist/write/make-repeating-project.js.map +1 -1
  172. package/dist/write/move.d.ts +130 -0
  173. package/dist/write/move.js +1533 -0
  174. package/dist/write/move.js.map +1 -0
  175. package/dist/write/operations.d.ts +105 -19
  176. package/dist/write/operations.js +56 -7
  177. package/dist/write/operations.js.map +1 -1
  178. package/dist/write/opid.d.ts +31 -0
  179. package/dist/write/opid.js +30 -0
  180. package/dist/write/opid.js.map +1 -0
  181. package/dist/write/pipeline.d.ts +122 -3
  182. package/dist/write/pipeline.js +309 -52
  183. package/dist/write/pipeline.js.map +1 -1
  184. package/dist/write/planner.js +8 -1
  185. package/dist/write/planner.js.map +1 -1
  186. package/dist/write/pre-state.d.ts +197 -6
  187. package/dist/write/pre-state.js +427 -20
  188. package/dist/write/pre-state.js.map +1 -1
  189. package/dist/write/recurrence-rule-blob.d.ts +65 -0
  190. package/dist/write/recurrence-rule-blob.js +150 -0
  191. package/dist/write/recurrence-rule-blob.js.map +1 -0
  192. package/dist/write/reorder.d.ts +23 -3
  193. package/dist/write/reorder.js +1871 -85
  194. package/dist/write/reorder.js.map +1 -1
  195. package/dist/write/reversibility.js +19 -7
  196. package/dist/write/reversibility.js.map +1 -1
  197. package/dist/write/scope-guard.d.ts +31 -0
  198. package/dist/write/scope-guard.js +162 -0
  199. package/dist/write/scope-guard.js.map +1 -0
  200. package/dist/write/undo.js +120 -13
  201. package/dist/write/undo.js.map +1 -1
  202. package/dist/write/vectors/applescript.js +16 -7
  203. package/dist/write/vectors/applescript.js.map +1 -1
  204. package/dist/write/vectors/registry.d.ts +5 -7
  205. package/dist/write/vectors/registry.js +49 -2
  206. package/dist/write/vectors/registry.js.map +1 -1
  207. package/dist/write/vectors/shortcuts.js +1 -1
  208. package/dist/write/vectors/shortcuts.js.map +1 -1
  209. package/dist/write/vectors/simulator.d.ts +44 -0
  210. package/dist/write/vectors/simulator.js +1192 -0
  211. package/dist/write/vectors/simulator.js.map +1 -0
  212. package/dist/write/vectors/types.d.ts +46 -0
  213. package/dist/write/vectors/ui-certification.d.ts +10 -4
  214. package/dist/write/vectors/ui-certification.js +43 -10
  215. package/dist/write/vectors/ui-certification.js.map +1 -1
  216. package/dist/write/vectors/ui-drag.d.ts +21 -1
  217. package/dist/write/vectors/ui-drag.js +138 -27
  218. package/dist/write/vectors/ui-drag.js.map +1 -1
  219. package/dist/write/vectors/ui-recipes.d.ts +34 -1
  220. package/dist/write/vectors/ui-recipes.js +217 -6
  221. package/dist/write/vectors/ui-recipes.js.map +1 -1
  222. package/dist/write/vectors/ui.d.ts +40 -1
  223. package/dist/write/vectors/ui.js +196 -39
  224. package/dist/write/vectors/ui.js.map +1 -1
  225. package/dist/write/verify/delta.d.ts +127 -2
  226. package/dist/write/verify/delta.js +255 -16
  227. package/dist/write/verify/delta.js.map +1 -1
  228. package/dist/write/verify/poller.d.ts +7 -1
  229. package/dist/write/verify/poller.js +20 -1
  230. package/dist/write/verify/poller.js.map +1 -1
  231. package/package.json +24 -3
  232. package/schema/envelope.schema.json +383 -0
  233. package/skills/things-cli/SKILL.md +70 -0
  234. package/skills/things-cli/references/banner.md +35 -0
  235. package/skills/things-cli/references/contracts.md +62 -0
  236. package/skills/things-cli/references/errors.md +49 -0
  237. package/skills/things-cli/references/gui.md +11 -0
  238. package/skills/things-cli/references/model.md +60 -0
  239. package/skills/things-cli/references/ordering.md +71 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"move.js","sourceRoot":"","sources":["../../src/write/move.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@
4
4
  * per-vector matrices (data, produced by the lab), not here.
5
5
  */
6
6
  import type { IsoDate, ReminderTime } from "../model/dates.ts";
7
- export declare const OPERATION_KINDS: readonly ["todo.add", "todo.update", "todo.complete", "todo.cancel", "todo.reopen", "todo.move", "todo.set-tags", "todo.replace-checklist", "todo.edit-checklist-item", "todo.delete", "project.add", "project.update", "project.complete", "project.delete", "area.add", "area.delete", "tag.add", "tag.delete", "trash.empty", "reorder", "todo.duplicate", "area.update", "tag.update", "project.move", "todo.restore", "project.duplicate", "project.cancel", "project.reopen", "project.restore", "project.set-tags", "todo.backdate", "todo.add-logged", "heading.rename", "heading.archive", "heading.unarchive", "heading.create", "todo.clear-dated-reminder", "todo.make-repeating", "todo.reschedule-repeat", "todo.pause-repeat", "todo.resume-repeat", "todo.convert-to-project", "heading.convert-to-project", "project.reschedule-repeat", "project.pause-repeat", "project.resume-repeat", "area.reorder", "project.make-repeating", "project.create-repeating"];
7
+ export declare const OPERATION_KINDS: readonly ["todo.add", "todo.update", "todo.complete", "todo.cancel", "todo.reopen", "todo.move", "todo.set-tags", "todo.replace-checklist", "todo.edit-checklist-item", "todo.delete", "project.add", "project.update", "project.complete", "project.delete", "area.add", "area.delete", "tag.add", "tag.delete", "trash.empty", "reorder", "todo.duplicate", "area.update", "tag.update", "project.move", "todo.restore", "project.duplicate", "project.cancel", "project.reopen", "project.restore", "project.set-tags", "todo.backdate", "todo.add-logged", "project.add-heading", "project.rename-heading", "project.archive-heading", "project.unarchive-heading", "project.promote-heading", "project.move-heading", "project.move-heading-to-project", "project.dissolve-heading", "todo.clear-dated-reminder", "todo.make-repeating", "todo.reschedule-repeat", "todo.pause-repeat", "todo.resume-repeat", "todo.convert-to-project", "project.reschedule-repeat", "project.pause-repeat", "project.resume-repeat", "area.reorder", "project.make-repeating", "project.add-repeating"];
8
8
  export type OperationKind = (typeof OPERATION_KINDS)[number];
9
9
  /**
10
10
  * Operations delivered EXCLUSIVELY through the Accessibility GUI ("ui")
@@ -15,6 +15,34 @@ export type OperationKind = (typeof OPERATION_KINDS)[number];
15
15
  */
16
16
  export declare const UI_DRIVE_OPS: readonly OperationKind[];
17
17
  export declare function isUiDriveOp(op: OperationKind): boolean;
18
+ /**
19
+ * The project-scoped heading verbs (spec §2). Every one addresses a heading
20
+ * inside a project; none is a plain `project.*` op even though it shares the
21
+ * `project.` namespace, so guards/resolvers that key off the namespace must
22
+ * special-case them.
23
+ */
24
+ export declare const HEADING_OPS: readonly OperationKind[];
25
+ export declare function isHeadingOp(op: OperationKind): boolean;
26
+ /**
27
+ * Heading verbs whose `uuid` param addresses a HEADING row (not a project) —
28
+ * the pipeline resolves their target as a heading, and H-UNKNOWN-DESTINATION
29
+ * requires the target BE a heading. add-heading (project + title) and
30
+ * move-heading (project + heading list) carry no single heading `uuid`.
31
+ */
32
+ export declare const HEADING_TARGET_OPS: readonly OperationKind[];
33
+ export declare function isHeadingTargetOp(op: OperationKind): boolean;
34
+ /**
35
+ * Placement of a heading among its project's headings (spec §2). Anchors are
36
+ * resolved heading uuids (the consumer resolves the `--before-heading` /
37
+ * `--after-heading` selector before the op runs).
38
+ */
39
+ export type HeadingPlacement = {
40
+ position: "first" | "last";
41
+ } | {
42
+ before: string;
43
+ } | {
44
+ after: string;
45
+ };
18
46
  /** Recurrence frequency the minimal v1 GUI rule vocabulary supports. */
19
47
  export type RepeatFrequency = "daily" | "weekly" | "monthly" | "yearly";
20
48
  /** `when` scheduling value: list keyword or a concrete date. */
@@ -62,15 +90,43 @@ export interface TodoUpdateParams {
62
90
  export interface UuidParams {
63
91
  uuid: string;
64
92
  }
65
- export interface HeadingCreateParams {
93
+ export interface HeadingAddParams {
66
94
  /** Existing project to create the heading in (uuid or unique, case-insensitive title). */
67
95
  project: ContainerRef;
68
96
  title: string;
69
97
  }
98
+ /**
99
+ * project.move-heading — reposition one or more of a project's headings as an
100
+ * ordered block (spec §2/§4). `headings` are resolved heading uuids in the
101
+ * order they should land (selection order = resulting order); their children
102
+ * follow. Anchors in `placement` are resolved heading uuids too.
103
+ */
104
+ export interface MoveHeadingParams {
105
+ project: ContainerRef;
106
+ headings: string[];
107
+ placement: HeadingPlacement;
108
+ }
70
109
  export interface HeadingRenameParams {
71
110
  uuid: string;
72
111
  title: string;
73
112
  }
113
+ /**
114
+ * project.move-heading-to-project — relocate ONE heading (with its children) to a
115
+ * DIFFERENT project (spec §2 cross-project move; HEADXPROJ recipe). GUI-only: the
116
+ * heading row's `…` ellipsis → Move… → keyboard-driven project picker. `heading`
117
+ * is a selector (exact title or uuid) WITHIN `project`; `toProject` is the
118
+ * destination. Distinct from `project.move-heading` (a pure within-project
119
+ * reorder) — this is the cross-container relocation, kept a separate verb so the
120
+ * destructive-ish container change is never conflated with an in-project shuffle.
121
+ */
122
+ export interface MoveHeadingToProjectParams {
123
+ /** The source project the heading currently lives in. */
124
+ project: ContainerRef;
125
+ /** The heading to move: exact title or uuid, within `project`. */
126
+ heading: string;
127
+ /** The destination project the heading (and its children) relocate to. */
128
+ toProject: ContainerRef;
129
+ }
74
130
  export interface HeadingArchiveParams {
75
131
  uuid: string;
76
132
  /**
@@ -121,10 +177,18 @@ export interface TodoMoveParams {
121
177
  /** Move back to the Inbox — removes any schedule. Exclusive with the others. */
122
178
  inbox?: boolean;
123
179
  /**
124
- * Detach from the current project/area/heading, keeping the schedule and
125
- * everything else. Exclusive with the others.
180
+ * `--no-heading` (spec §5): leave the heading but STAY in the current
181
+ * project the to-do lands in the project's unheaded block. Exclusive with
182
+ * the others. Wire: re-assert the current project as the container with no
183
+ * heading param.
184
+ */
185
+ noHeading?: boolean;
186
+ /**
187
+ * `--loose` (spec §5): the total sever — leave heading, project, AND area,
188
+ * keeping the schedule. Exclusive with the others. (This is what the removed
189
+ * `--detach` did; the detach family renames it.)
126
190
  */
127
- detach?: boolean;
191
+ loose?: boolean;
128
192
  }
129
193
  export interface TodoSetTagsParams {
130
194
  uuid: string;
@@ -203,8 +267,12 @@ export interface ProjectMoveParams {
203
267
  uuid: string;
204
268
  /** Destination area (uuid or unique name). */
205
269
  area?: ContainerRef;
206
- /** Detach from the current area. Exclusive with area. */
207
- detach?: boolean;
270
+ /**
271
+ * `--no-area` (spec §5): leave the current area — a project's complete
272
+ * (single-level) detach. Exclusive with area. (Replaces the removed
273
+ * `--detach`.)
274
+ */
275
+ noArea?: boolean;
208
276
  }
209
277
  export interface ProjectCompleteParams {
210
278
  uuid: string;
@@ -255,25 +323,33 @@ export interface TagUpdateParams {
255
323
  /** Remove the tag's keyboard shortcut. Exclusive with shortcut. */
256
324
  clearShortcut?: boolean;
257
325
  }
258
- export type ReorderScope = "today" | "evening" | "project" | "area" | "inbox" | "headings" | "someday" | "projects";
326
+ export type ReorderScope = "today" | "evening" | "project" | "area" | "inbox" | "someday" | "projects" | "heading" | "area-someday" | "anytime" | "container-day" | "day" | "heading-someday" | "tomorrow";
259
327
  export type ReorderStrategy = "native" | "bounce";
260
328
  export interface ReorderParams {
261
329
  scope: ReorderScope;
262
330
  /**
263
- * Required for project/area/headings scopes (headings: the project whose
264
- * heading rows are being reordered); must be omitted for
331
+ * Required for the project/area scopes; must be omitted for
265
332
  * today/evening/inbox/someday/projects.
266
333
  */
267
334
  container?: ContainerRef;
268
335
  /**
269
336
  * Desired order, top-first. May be a SUBSET of the scope's members: the
270
337
  * requested uuids are placed at the top in this order and every remaining
271
- * member keeps its current relative order below them.
338
+ * member keeps its current relative order below them. For an ANCHORED bounce
339
+ * placement (--before/--after) the planner passes the FULL target order here
340
+ * with the block spliced at the anchor.
272
341
  */
273
342
  uuids: string[];
343
+ /**
344
+ * The explicitly-NAMED movees, a subset of {@link uuids}. Distinguishes the
345
+ * user's block from members that only ride along a bounce anchor placement
346
+ * (co-bounced siblings — disclosed in the result). Defaults to all of `uuids`
347
+ * when omitted (every uuid is a named movee). Only the bounce path reads it.
348
+ */
349
+ named?: string[];
274
350
  /**
275
351
  * Omit for the default per scope: native for today/project/area/inbox/
276
- * headings/someday (requires allowExperimental), bounce for evening and
352
+ * someday (requires allowExperimental), bounce for evening and
277
353
  * projects. Today accepts an explicit "bounce" fallback; evening is
278
354
  * bounce-only; "projects" (top-level sidebar order) is bounce-only — each
279
355
  * project takes a when=someday -> when=anytime round-trip, which
@@ -385,7 +461,7 @@ export interface RepeatRuleParams {
385
461
  * created in Someday — so the promote never needs a coercion. The two legs are
386
462
  * NOT atomic: the created project persists even if the promote refuses.
387
463
  */
388
- export interface ProjectCreateRepeatingParams {
464
+ export interface ProjectAddRepeatingParams {
389
465
  title: string;
390
466
  notes?: string;
391
467
  /** Destination area (uuid or unique name); when omitted the project is created in Someday. */
@@ -429,23 +505,26 @@ export interface OperationParamsMap {
429
505
  "project.set-tags": ProjectSetTagsParams;
430
506
  "todo.backdate": TodoBackdateParams;
431
507
  "todo.add-logged": TodoAddLoggedParams;
432
- "heading.rename": HeadingRenameParams;
433
- "heading.archive": HeadingArchiveParams;
434
- "heading.unarchive": HeadingUnarchiveParams;
435
- "heading.create": HeadingCreateParams;
508
+ "project.add-heading": HeadingAddParams;
509
+ "project.rename-heading": HeadingRenameParams;
510
+ "project.archive-heading": HeadingArchiveParams;
511
+ "project.unarchive-heading": HeadingUnarchiveParams;
512
+ "project.promote-heading": UuidParams;
513
+ "project.move-heading": MoveHeadingParams;
514
+ "project.move-heading-to-project": MoveHeadingToProjectParams;
515
+ "project.dissolve-heading": UuidParams;
436
516
  "todo.clear-dated-reminder": UuidParams;
437
517
  "todo.make-repeating": RepeatRuleParams;
438
518
  "todo.reschedule-repeat": RepeatRuleParams;
439
519
  "todo.pause-repeat": UuidParams;
440
520
  "todo.resume-repeat": UuidParams;
441
521
  "todo.convert-to-project": UuidParams;
442
- "heading.convert-to-project": UuidParams;
443
522
  "project.reschedule-repeat": RepeatRuleParams;
444
523
  "project.pause-repeat": UuidParams;
445
524
  "project.resume-repeat": UuidParams;
446
525
  "area.reorder": AreaReorderParams;
447
526
  "project.make-repeating": RepeatRuleParams;
448
- "project.create-repeating": ProjectCreateRepeatingParams;
527
+ "project.add-repeating": ProjectAddRepeatingParams;
449
528
  }
450
529
  /** Explicit confirmations for operations with cascading or permanent effects (never defaulted). */
451
530
  export interface Acknowledgements {
@@ -457,6 +536,13 @@ export interface Acknowledgements {
457
536
  dangerouslyPermanent?: boolean;
458
537
  /** Confirm that deleting a parent tag permanently deletes ALL of its descendant tags. */
459
538
  acknowledgeTagSubtree?: boolean;
539
+ /**
540
+ * Confirm deleting a NON-EMPTY area. Deleting an area sends its contained
541
+ * to-dos AND projects (with their children) to the Trash and permanently
542
+ * destroys the area itself; by default the delete refuses when the area still
543
+ * holds any project or to-do, so nothing is trashed by surprise.
544
+ */
545
+ allowNonEmptyArea?: boolean;
460
546
  /**
461
547
  * Confirm a GUI-driven ("ui" vector) operation: it drives the LOCAL Things
462
548
  * app through the Accessibility API, may foreground Things and briefly take
@@ -31,23 +31,26 @@ export const OPERATION_KINDS = [
31
31
  "project.set-tags",
32
32
  "todo.backdate",
33
33
  "todo.add-logged",
34
- "heading.rename",
35
- "heading.archive",
36
- "heading.unarchive",
37
- "heading.create",
34
+ "project.add-heading",
35
+ "project.rename-heading",
36
+ "project.archive-heading",
37
+ "project.unarchive-heading",
38
+ "project.promote-heading",
39
+ "project.move-heading",
40
+ "project.move-heading-to-project",
41
+ "project.dissolve-heading",
38
42
  "todo.clear-dated-reminder",
39
43
  "todo.make-repeating",
40
44
  "todo.reschedule-repeat",
41
45
  "todo.pause-repeat",
42
46
  "todo.resume-repeat",
43
47
  "todo.convert-to-project",
44
- "heading.convert-to-project",
45
48
  "project.reschedule-repeat",
46
49
  "project.pause-repeat",
47
50
  "project.resume-repeat",
48
51
  "area.reorder",
49
52
  "project.make-repeating",
50
- "project.create-repeating",
53
+ "project.add-repeating",
51
54
  ];
52
55
  /**
53
56
  * Operations delivered EXCLUSIVELY through the Accessibility GUI ("ui")
@@ -62,7 +65,7 @@ export const UI_DRIVE_OPS = [
62
65
  "todo.pause-repeat",
63
66
  "todo.resume-repeat",
64
67
  "todo.convert-to-project",
65
- "heading.convert-to-project",
68
+ "project.promote-heading",
66
69
  "project.reschedule-repeat",
67
70
  "project.pause-repeat",
68
71
  "project.resume-repeat",
@@ -72,10 +75,56 @@ export const UI_DRIVE_OPS = [
72
75
  // area-less-anytime taxonomy needs a Someday coercion first, orchestrated by
73
76
  // runMakeRepeatingProject — but the drive itself is a ui-vector op.
74
77
  "project.make-repeating",
78
+ // HEADXPROJ: the heading row's `…` ellipsis → Move… menu → keyboard-driven
79
+ // project picker (HID-click the title-carrying "More. <title>" button, then
80
+ // Move…, type the destination, Return). GUI-only — no headless spelling on any
81
+ // vector (AS move → project 301, URL list-id no-op, Shortcuts ⛔).
82
+ "project.move-heading-to-project",
83
+ // DISS1: the same `…` ellipsis popover's Delete — dissolves the heading (the
84
+ // row is hard-deleted) while its children become DIRECT project children
85
+ // (heading→NULL, project→parent, index preserved, NOT trashed). No confirm
86
+ // sheet. GUI-only. Contrast the Shortcuts delete cascade (P12), which TRASHES
87
+ // the children.
88
+ "project.dissolve-heading",
75
89
  ];
76
90
  export function isUiDriveOp(op) {
77
91
  return UI_DRIVE_OPS.includes(op);
78
92
  }
93
+ /**
94
+ * The project-scoped heading verbs (spec §2). Every one addresses a heading
95
+ * inside a project; none is a plain `project.*` op even though it shares the
96
+ * `project.` namespace, so guards/resolvers that key off the namespace must
97
+ * special-case them.
98
+ */
99
+ export const HEADING_OPS = [
100
+ "project.add-heading",
101
+ "project.rename-heading",
102
+ "project.archive-heading",
103
+ "project.unarchive-heading",
104
+ "project.promote-heading",
105
+ "project.move-heading",
106
+ "project.move-heading-to-project",
107
+ "project.dissolve-heading",
108
+ ];
109
+ export function isHeadingOp(op) {
110
+ return HEADING_OPS.includes(op);
111
+ }
112
+ /**
113
+ * Heading verbs whose `uuid` param addresses a HEADING row (not a project) —
114
+ * the pipeline resolves their target as a heading, and H-UNKNOWN-DESTINATION
115
+ * requires the target BE a heading. add-heading (project + title) and
116
+ * move-heading (project + heading list) carry no single heading `uuid`.
117
+ */
118
+ export const HEADING_TARGET_OPS = [
119
+ "project.rename-heading",
120
+ "project.archive-heading",
121
+ "project.unarchive-heading",
122
+ "project.promote-heading",
123
+ "project.dissolve-heading",
124
+ ];
125
+ export function isHeadingTargetOp(op) {
126
+ return HEADING_TARGET_OPS.includes(op);
127
+ }
79
128
  export const WEEKDAYS = [
80
129
  "sunday",
81
130
  "monday",
@@ -1 +1 @@
1
- {"version":3,"file":"operations.js","sourceRoot":"","sources":["../../src/write/operations.ts"],"names":[],"mappings":"AAOA,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,UAAU;IACV,aAAa;IACb,eAAe;IACf,aAAa;IACb,aAAa;IACb,WAAW;IACX,eAAe;IACf,wBAAwB;IACxB,0BAA0B;IAC1B,aAAa;IACb,aAAa;IACb,gBAAgB;IAChB,kBAAkB;IAClB,gBAAgB;IAChB,UAAU;IACV,aAAa;IACb,SAAS;IACT,YAAY;IACZ,aAAa;IACb,SAAS;IACT,gBAAgB;IAChB,aAAa;IACb,YAAY;IACZ,cAAc;IACd,cAAc;IACd,mBAAmB;IACnB,gBAAgB;IAChB,gBAAgB;IAChB,iBAAiB;IACjB,kBAAkB;IAClB,eAAe;IACf,iBAAiB;IACjB,gBAAgB;IAChB,iBAAiB;IACjB,mBAAmB;IACnB,gBAAgB;IAChB,2BAA2B;IAC3B,qBAAqB;IACrB,wBAAwB;IACxB,mBAAmB;IACnB,oBAAoB;IACpB,yBAAyB;IACzB,4BAA4B;IAC5B,2BAA2B;IAC3B,sBAAsB;IACtB,uBAAuB;IACvB,cAAc;IACd,wBAAwB;IACxB,0BAA0B;CAClB,CAAC;AAIX;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,YAAY,GAA6B;IACpD,qBAAqB;IACrB,wBAAwB;IACxB,mBAAmB;IACnB,oBAAoB;IACpB,yBAAyB;IACzB,4BAA4B;IAC5B,2BAA2B;IAC3B,sBAAsB;IACtB,uBAAuB;IACvB,cAAc;IACd,uEAAuE;IACvE,4EAA4E;IAC5E,6EAA6E;IAC7E,oEAAoE;IACpE,wBAAwB;CAChB,CAAC;AAEX,MAAM,UAAU,WAAW,CAAC,EAAiB;IAC3C,OAAO,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;AACnC,CAAC;AA+UD,MAAM,CAAC,MAAM,QAAQ,GAAuB;IAC1C,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,WAAW;IACX,UAAU;IACV,QAAQ;IACR,UAAU;CACF,CAAC"}
1
+ {"version":3,"file":"operations.js","sourceRoot":"","sources":["../../src/write/operations.ts"],"names":[],"mappings":"AAOA,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,UAAU;IACV,aAAa;IACb,eAAe;IACf,aAAa;IACb,aAAa;IACb,WAAW;IACX,eAAe;IACf,wBAAwB;IACxB,0BAA0B;IAC1B,aAAa;IACb,aAAa;IACb,gBAAgB;IAChB,kBAAkB;IAClB,gBAAgB;IAChB,UAAU;IACV,aAAa;IACb,SAAS;IACT,YAAY;IACZ,aAAa;IACb,SAAS;IACT,gBAAgB;IAChB,aAAa;IACb,YAAY;IACZ,cAAc;IACd,cAAc;IACd,mBAAmB;IACnB,gBAAgB;IAChB,gBAAgB;IAChB,iBAAiB;IACjB,kBAAkB;IAClB,eAAe;IACf,iBAAiB;IACjB,qBAAqB;IACrB,wBAAwB;IACxB,yBAAyB;IACzB,2BAA2B;IAC3B,yBAAyB;IACzB,sBAAsB;IACtB,iCAAiC;IACjC,0BAA0B;IAC1B,2BAA2B;IAC3B,qBAAqB;IACrB,wBAAwB;IACxB,mBAAmB;IACnB,oBAAoB;IACpB,yBAAyB;IACzB,2BAA2B;IAC3B,sBAAsB;IACtB,uBAAuB;IACvB,cAAc;IACd,wBAAwB;IACxB,uBAAuB;CACf,CAAC;AAIX;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,YAAY,GAA6B;IACpD,qBAAqB;IACrB,wBAAwB;IACxB,mBAAmB;IACnB,oBAAoB;IACpB,yBAAyB;IACzB,yBAAyB;IACzB,2BAA2B;IAC3B,sBAAsB;IACtB,uBAAuB;IACvB,cAAc;IACd,uEAAuE;IACvE,4EAA4E;IAC5E,6EAA6E;IAC7E,oEAAoE;IACpE,wBAAwB;IACxB,2EAA2E;IAC3E,4EAA4E;IAC5E,+EAA+E;IAC/E,kEAAkE;IAClE,iCAAiC;IACjC,6EAA6E;IAC7E,yEAAyE;IACzE,2EAA2E;IAC3E,8EAA8E;IAC9E,gBAAgB;IAChB,0BAA0B;CAClB,CAAC;AAEX,MAAM,UAAU,WAAW,CAAC,EAAiB;IAC3C,OAAO,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;AACnC,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,WAAW,GAA6B;IACnD,qBAAqB;IACrB,wBAAwB;IACxB,yBAAyB;IACzB,2BAA2B;IAC3B,yBAAyB;IACzB,sBAAsB;IACtB,iCAAiC;IACjC,0BAA0B;CAClB,CAAC;AAEX,MAAM,UAAU,WAAW,CAAC,EAAiB;IAC3C,OAAO,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;AAClC,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAA6B;IAC1D,wBAAwB;IACxB,yBAAyB;IACzB,2BAA2B;IAC3B,yBAAyB;IACzB,0BAA0B;CAClB,CAAC;AAEX,MAAM,UAAU,iBAAiB,CAAC,EAAiB;IACjD,OAAO,kBAAkB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;AACzC,CAAC;AA+bD,MAAM,CAAC,MAAM,QAAQ,GAAuB;IAC1C,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,WAAW;IACX,UAAU;IACV,QAAQ;IACR,UAAU;CACF,CAAC"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Shared client-idempotency (`opId`) machinery — the ONE place the lookback
3
+ * window and match rule live, so the batch path and the single-op path agree by
4
+ * construction rather than by two copies staying in sync.
5
+ *
6
+ * An `opId` is a caller-supplied idempotency key recorded on the audit record of
7
+ * the mutation it accompanied. Before a mutation that carries one is dispatched,
8
+ * the recent change history is scanned for an `ok` record bearing the SAME id;
9
+ * on a hit the mutation is SKIPPED (reported already-applied) rather than
10
+ * re-run. The id namespace is the whole trail — a batch leg and a single op that
11
+ * share an id match each other — so resubmitting an ambiguously-failed write
12
+ * (as a batch line OR a single `--op-id` invocation) is safe against a double.
13
+ */
14
+ import type { AuditRecord } from "../audit/schema.ts";
15
+ /** The idempotency-key charset/length, identical for a batch line and a single-op flag. */
16
+ export declare const OP_ID_RE: RegExp;
17
+ /**
18
+ * opId idempotency lookback: at most the last {@link OPID_LOOKBACK_RECORDS}
19
+ * records, AND only the last {@link OPID_LOOKBACK_MS} (whichever is more
20
+ * restrictive). Phase 1 matches VERIFIED-OK records only.
21
+ */
22
+ export declare const OPID_LOOKBACK_RECORDS = 1000;
23
+ export declare const OPID_LOOKBACK_MS: number;
24
+ /**
25
+ * The recent-history lookback for an opId: the most recent `ok` record carrying
26
+ * that id, within the last {@link OPID_LOOKBACK_RECORDS} records AND the last
27
+ * {@link OPID_LOOKBACK_MS} (whichever is more restrictive). Undo/intent/blocked
28
+ * records are naturally excluded — only `result === "ok"` matches (phase 1; the
29
+ * verify-failed:timeout reconciliation variant is a queued phase-2 round).
30
+ */
31
+ export declare function findAppliedOpId(records: AuditRecord[], opId: string, now: Date): AuditRecord | undefined;
@@ -0,0 +1,30 @@
1
+ /** The idempotency-key charset/length, identical for a batch line and a single-op flag. */
2
+ export const OP_ID_RE = /^[A-Za-z0-9_-]{1,64}$/;
3
+ /**
4
+ * opId idempotency lookback: at most the last {@link OPID_LOOKBACK_RECORDS}
5
+ * records, AND only the last {@link OPID_LOOKBACK_MS} (whichever is more
6
+ * restrictive). Phase 1 matches VERIFIED-OK records only.
7
+ */
8
+ export const OPID_LOOKBACK_RECORDS = 1000;
9
+ export const OPID_LOOKBACK_MS = 7 * 24 * 60 * 60 * 1000;
10
+ /**
11
+ * The recent-history lookback for an opId: the most recent `ok` record carrying
12
+ * that id, within the last {@link OPID_LOOKBACK_RECORDS} records AND the last
13
+ * {@link OPID_LOOKBACK_MS} (whichever is more restrictive). Undo/intent/blocked
14
+ * records are naturally excluded — only `result === "ok"` matches (phase 1; the
15
+ * verify-failed:timeout reconciliation variant is a queued phase-2 round).
16
+ */
17
+ export function findAppliedOpId(records, opId, now) {
18
+ const cutoff = now.getTime() - OPID_LOOKBACK_MS;
19
+ const window = records.slice(-OPID_LOOKBACK_RECORDS);
20
+ let match;
21
+ for (const r of window) {
22
+ if (r.opId !== opId || r.result !== "ok")
23
+ continue;
24
+ if (new Date(r.ts).getTime() < cutoff)
25
+ continue;
26
+ match = r; // records are oldest-first, so the last match is the newest
27
+ }
28
+ return match;
29
+ }
30
+ //# sourceMappingURL=opid.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"opid.js","sourceRoot":"","sources":["../../src/write/opid.ts"],"names":[],"mappings":"AAeA,2FAA2F;AAC3F,MAAM,CAAC,MAAM,QAAQ,GAAG,uBAAuB,CAAC;AAEhD;;;;GAIG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,IAAI,CAAC;AAC1C,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAExD;;;;;;GAMG;AACH,MAAM,UAAU,eAAe,CAC7B,OAAsB,EACtB,IAAY,EACZ,GAAS;IAET,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,EAAE,GAAG,gBAAgB,CAAC;IAChD,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,qBAAqB,CAAC,CAAC;IACrD,IAAI,KAA8B,CAAC;IACnC,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;QACvB,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,CAAC,MAAM,KAAK,IAAI;YAAE,SAAS;QACnD,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,GAAG,MAAM;YAAE,SAAS;QAChD,KAAK,GAAG,CAAC,CAAC,CAAC,4DAA4D;IACzE,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}