things-api 0.19.4 → 0.20.1

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 (131) 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 +26 -9
  40. package/dist/model/mappers.js.map +1 -1
  41. package/dist/model/today-placement.d.ts +65 -0
  42. package/dist/model/today-placement.js +59 -0
  43. package/dist/model/today-placement.js.map +1 -0
  44. package/dist/op-result.d.ts +15 -2
  45. package/dist/op-result.js +72 -20
  46. package/dist/op-result.js.map +1 -1
  47. package/dist/process-instance.d.ts +41 -0
  48. package/dist/process-instance.js +82 -0
  49. package/dist/process-instance.js.map +1 -0
  50. package/dist/rescue.d.ts +247 -0
  51. package/dist/rescue.js +811 -0
  52. package/dist/rescue.js.map +1 -0
  53. package/dist/session-grant.js +4 -15
  54. package/dist/session-grant.js.map +1 -1
  55. package/dist/ui-state.d.ts +8 -4
  56. package/dist/ui-state.js +8 -4
  57. package/dist/ui-state.js.map +1 -1
  58. package/dist/write/commands.d.ts +9 -0
  59. package/dist/write/commands.js +138 -51
  60. package/dist/write/commands.js.map +1 -1
  61. package/dist/write/disclosures.d.ts +24 -0
  62. package/dist/write/disclosures.js +24 -0
  63. package/dist/write/disclosures.js.map +1 -1
  64. package/dist/write/experimental.d.ts +16 -0
  65. package/dist/write/experimental.js +19 -0
  66. package/dist/write/experimental.js.map +1 -1
  67. package/dist/write/failure-hints.js +3 -2
  68. package/dist/write/failure-hints.js.map +1 -1
  69. package/dist/write/guards.d.ts +1 -1
  70. package/dist/write/guards.js +130 -8
  71. package/dist/write/guards.js.map +1 -1
  72. package/dist/write/lock.d.ts +85 -1
  73. package/dist/write/lock.js +121 -6
  74. package/dist/write/lock.js.map +1 -1
  75. package/dist/write/move.js +33 -6
  76. package/dist/write/move.js.map +1 -1
  77. package/dist/write/operations.d.ts +52 -6
  78. package/dist/write/operations.js +22 -0
  79. package/dist/write/operations.js.map +1 -1
  80. package/dist/write/opid.d.ts +69 -8
  81. package/dist/write/opid.js +111 -17
  82. package/dist/write/opid.js.map +1 -1
  83. package/dist/write/param-schema.js +14 -2
  84. package/dist/write/param-schema.js.map +1 -1
  85. package/dist/write/pipeline.d.ts +43 -2
  86. package/dist/write/pipeline.js +206 -43
  87. package/dist/write/pipeline.js.map +1 -1
  88. package/dist/write/planner.d.ts +7 -0
  89. package/dist/write/planner.js +12 -0
  90. package/dist/write/planner.js.map +1 -1
  91. package/dist/write/pre-state.d.ts +9 -9
  92. package/dist/write/pre-state.js +44 -38
  93. package/dist/write/pre-state.js.map +1 -1
  94. package/dist/write/preserve-modified.d.ts +17 -8
  95. package/dist/write/preserve-modified.js.map +1 -1
  96. package/dist/write/promote-clone.js +60 -17
  97. package/dist/write/promote-clone.js.map +1 -1
  98. package/dist/write/reorder.js +28 -7
  99. package/dist/write/reorder.js.map +1 -1
  100. package/dist/write/repeat-rule.d.ts +25 -1
  101. package/dist/write/repeat-rule.js +69 -0
  102. package/dist/write/repeat-rule.js.map +1 -1
  103. package/dist/write/resolution-timestamps.js +103 -80
  104. package/dist/write/resolution-timestamps.js.map +1 -1
  105. package/dist/write/reversibility.js +2 -2
  106. package/dist/write/reversibility.js.map +1 -1
  107. package/dist/write/template-mutation.js +14 -2
  108. package/dist/write/template-mutation.js.map +1 -1
  109. package/dist/write/undo.js +45 -5
  110. package/dist/write/undo.js.map +1 -1
  111. package/dist/write/vectors/simulator.js +48 -2
  112. package/dist/write/vectors/simulator.js.map +1 -1
  113. package/dist/write/vectors/types.d.ts +10 -0
  114. package/dist/write/vectors/ui-drag.d.ts +102 -0
  115. package/dist/write/vectors/ui-drag.js +425 -11
  116. package/dist/write/vectors/ui-drag.js.map +1 -1
  117. package/dist/write/vectors/ui-state.d.ts +22 -6
  118. package/dist/write/vectors/ui-state.js +1 -1
  119. package/dist/write/vectors/ui-state.js.map +1 -1
  120. package/dist/write/vectors/ui.d.ts +29 -1
  121. package/dist/write/vectors/ui.js +57 -5
  122. package/dist/write/vectors/ui.js.map +1 -1
  123. package/dist/write/vectors/url-scheme.js +26 -0
  124. package/dist/write/vectors/url-scheme.js.map +1 -1
  125. package/package.json +1 -1
  126. package/schema/envelope.schema.json +1 -2
  127. package/skills/things-cli/SKILL.md +4 -2
  128. package/skills/things-cli/references/repeating.md +1 -1
  129. package/dist/cli/commands/ui-state.d.ts +0 -11
  130. package/dist/cli/commands/ui-state.js +0 -27
  131. package/dist/cli/commands/ui-state.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rescue.js","sourceRoot":"","sources":["../src/rescue.ts"],"names":[],"mappings":"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"}
@@ -37,6 +37,7 @@ import { execFileSync } from "node:child_process";
37
37
  import { mkdirSync, readFileSync, rmSync, writeFileSync } from "node:fs";
38
38
  import { join } from "node:path";
39
39
  import { stateDir } from "./paths.js";
40
+ import { processStart } from "./process-instance.js";
40
41
  /**
41
42
  * How far apart two `kern.boottime` readings may sit and still describe the
42
43
  * same boot. MEASURED 2026-08-24: macOS re-derives boot time from the current
@@ -77,21 +78,9 @@ function hostPidDefault(bundleId) {
77
78
  return null;
78
79
  }
79
80
  }
80
- function processStartDefault(pid) {
81
- try {
82
- const out = execFileSync("ps", ["-p", String(pid), "-o", "lstart="], {
83
- encoding: "utf8",
84
- timeout: 3000,
85
- stdio: ["ignore", "pipe", "ignore"],
86
- });
87
- const trimmed = out.trim();
88
- return trimmed === "" ? null : trimmed;
89
- }
90
- catch {
91
- // A dead pid exits nonzero — the instance is gone, which is an answer.
92
- return null;
93
- }
94
- }
81
+ // The pid + start-time pairing is stated once, in process-instance.ts — the
82
+ // audit trail's in-flight holder check reads liveness by the same rule.
83
+ const processStartDefault = processStart;
95
84
  function bootTimeDefault() {
96
85
  try {
97
86
  const out = execFileSync("sysctl", ["-n", "kern.boottime"], {
@@ -1 +1 @@
1
- {"version":3,"file":"session-grant.js","sourceRoot":"","sources":["../src/session-grant.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session-grant.js","sourceRoot":"","sources":["../src/session-grant.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,11 @@
1
1
  /**
2
- * The `ui-state` diagnostic (issue #620): a read-only answer to "what is on the
3
- * screen right now?", for the two questions a GUI drive and a sync problem both
4
- * end up asking — is a dialog open in Things, and who owns the keyboard?
2
+ * The window-state diagnostic (issue #620): a read-only answer to "what is on
3
+ * the screen right now?", for the two questions a GUI drive and a sync problem
4
+ * both end up asking — is a dialog open in Things, and who owns the keyboard?
5
+ *
6
+ * ITS CLI HOME IS `things doctor --ui-state`. The stand-alone `ui-state`
7
+ * command is gone: `things rescue status` (src/rescue.ts) answers the same
8
+ * questions and adds the change lock and the acting verbs beside them.
5
9
  *
6
10
  * It reads and reports; it never clicks, types, activates, or dismisses
7
11
  * anything. The census itself lives with the ui vector
@@ -42,5 +46,5 @@ export interface UiStateDeps {
42
46
  * wrong with the screen.
43
47
  */
44
48
  export declare function readUiStateReport(deps?: UiStateDeps): Promise<UiStateReport>;
45
- /** The human render, shared by `things ui-state` and `things doctor --ui-state`. */
49
+ /** The human render of the window-state section, for `things doctor --ui-state`. */
46
50
  export declare function uiStateLines(report: UiStateReport): string[];
package/dist/ui-state.js CHANGED
@@ -1,7 +1,11 @@
1
1
  /**
2
- * The `ui-state` diagnostic (issue #620): a read-only answer to "what is on the
3
- * screen right now?", for the two questions a GUI drive and a sync problem both
4
- * end up asking — is a dialog open in Things, and who owns the keyboard?
2
+ * The window-state diagnostic (issue #620): a read-only answer to "what is on
3
+ * the screen right now?", for the two questions a GUI drive and a sync problem
4
+ * both end up asking — is a dialog open in Things, and who owns the keyboard?
5
+ *
6
+ * ITS CLI HOME IS `things doctor --ui-state`. The stand-alone `ui-state`
7
+ * command is gone: `things rescue status` (src/rescue.ts) answers the same
8
+ * questions and adds the change lock and the acting verbs beside them.
5
9
  *
6
10
  * It reads and reports; it never clicks, types, activates, or dismisses
7
11
  * anything. The census itself lives with the ui vector
@@ -77,7 +81,7 @@ function probeLine(state) {
77
81
  const unprovenText = describeUnprovenProbes(state);
78
82
  return unprovenText === "" ? [] : [`unproven: ${unprovenText}`];
79
83
  }
80
- /** The human render, shared by `things ui-state` and `things doctor --ui-state`. */
84
+ /** The human render of the window-state section, for `things doctor --ui-state`. */
81
85
  export function uiStateLines(report) {
82
86
  const lines = ["── Window state ──", `summary: ${report.detail}`];
83
87
  const state = report.state;
@@ -1 +1 @@
1
- {"version":3,"file":"ui-state.js","sourceRoot":"","sources":["../src/ui-state.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ui-state.js","sourceRoot":"","sources":["../src/ui-state.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,EAAE,SAAS,EAAE,YAAY,IAAI,mBAAmB,EAAqB,MAAM,iBAAiB,CAAC;AACpG,OAAO,EACL,eAAe,EACf,sBAAsB,EACtB,iBAAiB,GAGlB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AA8BxD;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,OAAoB,EAAE;IAC5D,MAAM,UAAU,GAAG,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,GAAG,EAAE,CAAC,mBAAmB,EAAE,CAAC,CAAC,EAAE,CAAC;IACxE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC;QAC3B,OAAO;YACL,SAAS,EAAE,KAAK;YAChB,MAAM,EAAE,sDAAsD,UAAU,CAAC,MAAM,EAAE;YACjF,WAAW,EAAE,UAAU,CAAC,WAAW;YACnC,KAAK,EAAE,IAAI;YACX,QAAQ,EAAE,EAAE;SACb,CAAC;IACJ,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,eAAe,CAAC,EAAE,CAAC;IACrD,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QACnB,OAAO;YACL,SAAS,EAAE,IAAI;YACf,MAAM,EACJ,yFAAyF;gBACzF,sCAAsC;YACxC,WAAW,EAAE,CAAC,kEAAkE,CAAC;YACjF,KAAK,EAAE,IAAI;YACX,QAAQ,EAAE,EAAE;SACb,CAAC;IACJ,CAAC;IACD,MAAM,QAAQ,GAAG,KAAK,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC;IACjF,IAAI,CAAC,KAAK,CAAC,aAAa,IAAI,CAAC,QAAQ,EAAE,CAAC;QACtC,OAAO;YACL,SAAS,EAAE,IAAI;YACf,MAAM,EAAE,+DAA+D;YACvE,WAAW,EAAE,EAAE;YACf,KAAK;YACL,QAAQ,EAAE,EAAE;SACb,CAAC;IACJ,CAAC;IACD,OAAO;QACL,SAAS,EAAE,IAAI;QACf,MAAM,EAAE,eAAe,CAAC,KAAK,CAAC;QAC9B,4EAA4E;QAC5E,wEAAwE;QACxE,uEAAuE;QACvE,gDAAgD;QAChD,WAAW,EAAE,QAAQ;YACnB,CAAC,CAAC;gBACE,wFAAwF;oBACtF,gBAAgB;aACnB;YACH,CAAC,CAAC,EAAE;QACN,KAAK;QACL,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,EAAE;KACrD,CAAC;AACJ,CAAC;AAED,sEAAsE;AACtE,SAAS,SAAS,CAAC,KAAc;IAC/B,MAAM,YAAY,GAAG,sBAAsB,CAAC,KAAK,CAAC,CAAC;IACnD,OAAO,YAAY,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,eAAe,YAAY,EAAE,CAAC,CAAC;AACpE,CAAC;AAED,oFAAoF;AACpF,MAAM,UAAU,YAAY,CAAC,MAAqB;IAChD,MAAM,KAAK,GAAG,CAAC,oBAAoB,EAAE,gBAAgB,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IACtE,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;IAC3B,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QACnB,uEAAuE;QACvE,4EAA4E;QAC5E,oDAAoD;QACpD,MAAM,QAAQ,GAAG,CAAC,CAAU,EAAW,EAAE,CACvC,KAAK,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QACpE,KAAK,CAAC,IAAI,CACR,gBACE,QAAQ,CAAC,WAAW,CAAC;YACnB,CAAC,CAAC,iBAAiB;YACnB,CAAC,CAAC,GAAG,KAAK,CAAC,YAAY,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,SAAS,CAAC,GAC7E,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EACxC,EACN,EAAE,EACF,gBACE,QAAQ,CAAC,QAAQ,CAAC;YAChB,CAAC,CAAC,iBAAiB;YACnB,CAAC,CAAC,GAAG,KAAK,CAAC,SAAS,GAChB,KAAK,CAAC,SAAS,KAAK,MAAM;gBACxB,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,KAAK,KAAK,CAAC,SAAS,KAAK,KAAK,CAAC,aAAa,IAAI,WAAW,GACjE,EACN,EAAE,EACF,gBACE,QAAQ,CAAC,OAAO,CAAC;YACf,CAAC,CAAC,iBAAiB;YACnB,CAAC,CAAC,KAAK,CAAC,UAAU,KAAK,IAAI;gBACzB,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,GAAG,KAAK,CAAC,UAAU,CAAC,GAAG,MAAM,KAAK,CAAC,UAAU,CAAC,IAAI,IAAI,oBAAoB,GACxE,KAAK,CAAC,UAAU,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,UAAU,CAAC,OAAO,EACzE,EACR,EAAE,EACF,gBAAgB,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,4CAA4C,EAAE,EAC1F,GAAG,SAAS,CAAC,KAAK,CAAC,CACpB,CAAC;IACJ,CAAC;IACD,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,QAAQ;QAAE,KAAK,CAAC,IAAI,CAAC,gBAAgB,OAAO,EAAE,CAAC,CAAC;IAC7E,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,WAAW;QAAE,KAAK,CAAC,IAAI,CAAC,gBAAgB,IAAI,EAAE,CAAC,CAAC;IAC1E,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -33,6 +33,15 @@ export interface DeltaCtx {
33
33
  export interface CommandSpec<K extends OperationKind = OperationKind> {
34
34
  op: K;
35
35
  hazards: HazardId[];
36
+ /**
37
+ * The vectors THIS CALL may use, when the answer depends on the params rather
38
+ * than on the operation alone. The planner's matrix is per-op; a verb with two
39
+ * spellings that ride different transports (`reschedule-repeat`: a rule
40
+ * restatement drives the dialog, a bare re-anchor dispatches one url) narrows
41
+ * the candidate set here so the planner cannot pick a vector this call's params
42
+ * cannot be compiled for. Omitted = every matrix entry is a candidate.
43
+ */
44
+ vectorsFor?(params: OperationParamsMap[K]): VectorId[];
36
45
  preRead(db: DatabaseSync, params: OperationParamsMap[K], now: Date, zone?: string): PreState;
37
46
  expectedDelta(pre: PreState, params: OperationParamsMap[K], ctx: DeltaCtx): DeltaSpec;
38
47
  compile(params: OperationParamsMap[K], vector: VectorId, pre: PreState, ctx: CompileCtx): CompiledInvocation;
@@ -3,11 +3,12 @@ import { byUuid } from "../read/detail.js";
3
3
  import { manualLogDateEpoch, pendingLogCount } from "../read/log-boundary.js";
4
4
  import { isLooseRef } from "../read/pseudo-area.js";
5
5
  import { RESOLUTION_TIMESTAMP_EXPECTED } from "../surface-copy.js";
6
+ import { isRepeatReanchor } from "./operations.js";
6
7
  import { areaMemberCounts, childTagTitles, classifyHeadingConvert, classifyHeadingDissolve, classifyHeadingMoveToProject, classifyProjectRepeat, computeHeadingMovePre, computeReorderPre, emptyPreState, loadTarget, projectChildren, projectStatus, projectSubtreeUuids, resolveArea, resolveHeading, resolveProject, resolveTag, sameTitleTaskUuids, seriesRowUuids, trashedCount, } from "./pre-state.js";
7
8
  import { assertNotesModesExclusive, normalizeReminder, updateAssertions, updateWireParams, whenAssertions, whenWithReminder, } from "./update-fields.js";
8
9
  import { resolveTagRefs } from "./tag-refs.js";
9
10
  import { PRIVATE_REORDER_COMMAND } from "./experimental.js";
10
- import { assertRepeatRule } from "./repeat-rule.js";
11
+ import { assertRepeatRule, assertRescheduleRule, asRepeatRuleParams, ruleToInverseParams, } from "./repeat-rule.js";
11
12
  import { assessOffRuleFirst, deadlineDriveNext, deriveFixedAnchor } from "./repeat-anchor.js";
12
13
  import { expectedRuleAssertions } from "./repeat-asserts.js";
13
14
  import { escapeAppleScript } from "./vectors/applescript.js";
@@ -789,7 +790,9 @@ const projectSetTags = {
789
790
  };
790
791
  const projectMove = {
791
792
  op: "project.move",
792
- hazards: ["H-UNKNOWN-DESTINATION", "H-REPEAT-SCHEDULE"],
793
+ // No H-REPEAT-SCHEDULE: a repeating project's AREA is independently mutable
794
+ // (TMOV1 P1/P2), and a project has no built-in-list destination to fence.
795
+ hazards: ["H-UNKNOWN-DESTINATION"],
793
796
  preRead(db, params) {
794
797
  if ((params.noArea === true) === containerGiven(params.area)) {
795
798
  throw new RangeError("project.move needs exactly one of area / --no-area");
@@ -1873,6 +1876,22 @@ function requestedRuleKeys(params) {
1873
1876
  }
1874
1877
  /** ui ops all guard existence/type + the H-UI-DRIVE acknowledgement. */
1875
1878
  const UI_HAZARDS = ["H-UNKNOWN-DESTINATION", "H-UI-DRIVE"];
1879
+ /**
1880
+ * reschedule-repeat additionally guards the RE-ANCHOR spelling's preconditions
1881
+ * (H-REPEAT-REANCHOR), which run BEFORE the GUI-drive gate — a re-anchor that
1882
+ * cannot be dispatched safely should say why, not ask for an acknowledgement it
1883
+ * does not need.
1884
+ */
1885
+ const RESCHEDULE_HAZARDS = ["H-UNKNOWN-DESTINATION", "H-REPEAT-REANCHOR", "H-UI-DRIVE"];
1886
+ /**
1887
+ * reschedule-repeat's two spellings ride two transports: a bare re-anchor is ONE
1888
+ * `things:///update?when=` dispatch (tier 0, no GUI), a rule restatement is the
1889
+ * Repeat dialog. Neither is compilable for the other's vector, so the planner is
1890
+ * told which one this call is.
1891
+ */
1892
+ function rescheduleVectors(params) {
1893
+ return isRepeatReanchor(params) ? ["url-scheme"] : ["ui"];
1894
+ }
1876
1895
  const todoMakeRepeating = {
1877
1896
  op: "todo.make-repeating",
1878
1897
  hazards: UI_HAZARDS,
@@ -1921,16 +1940,103 @@ const todoMakeRepeating = {
1921
1940
  return uiDrive(makeRepeatingRecipe(params.uuid, params.frequency, params.interval, makeRuleExtras(params)));
1922
1941
  },
1923
1942
  };
1943
+ /**
1944
+ * A series RE-ANCHOR as ONE url dispatch: `things:///update?id=<template>&when=<date>`
1945
+ * (`update-project` for a project template). BARE by measurement — REANCH2 cells
1946
+ * D6/E1/E3/E4 found that ANY `deadline=` riding the same url voids the whole
1947
+ * write, re-anchor included, so this compile carries the date and nothing else.
1948
+ */
1949
+ function reanchorUrl(urlCommand, params, ctx) {
1950
+ return thingsUrl(urlCommand, { id: params.uuid, when: params.next }, ctx.token);
1951
+ }
1952
+ /**
1953
+ * What a landed RE-ANCHOR looks like: the PRIOR rule, re-anchored to the target
1954
+ * date. The write rewrites both cursor columns, `todayIndexReferenceDate` and the
1955
+ * rule blob — whose calendar anchor is recomputed FROM that date (a weekly Sunday
1956
+ * rule moved to a Thursday becomes a Thursday rule; monthly day-of-month and
1957
+ * yearly month+day move likewise, REANCH1 §2/§7) — while frequency, interval,
1958
+ * rule type, ends bound and deadline mode all survive untouched.
1959
+ *
1960
+ * Expressed in the SAME vocabulary a dialog reschedule uses: the prior rule read
1961
+ * back as params, plus the anchor DERIVED from the target date, handed to the one
1962
+ * expected-rule builder ({@link expectedRuleAssertions}). So the re-anchor is
1963
+ * verified at the same fidelity as a rule rewrite — a landing that moved anything
1964
+ * else (or nothing at all: a refused write and the app's `target == cursor`
1965
+ * short-circuit both exit 0 at the transport, REANCH1 §2.4/§8) is a
1966
+ * verify-failed, never a silent ok. Returns null when the prior rule cannot be
1967
+ * expressed as params — the guard has already refused those shapes, so a null
1968
+ * here means only the cursor pair is asserted.
1969
+ */
1970
+ function reanchorAssertions(pre, next) {
1971
+ // BOTH cursor columns (REANCH1 §8): `nextOccurrence` is the projection the app
1972
+ // maintains, `spawnCursor` the raw materialization cursor beside it. A partial
1973
+ // landing moves one and not the other.
1974
+ const cursors = [
1975
+ { field: "repeating.nextOccurrence", equals: next },
1976
+ { field: "repeating.spawnCursor", equals: next },
1977
+ ];
1978
+ const target = pre.target;
1979
+ if (target === null || target.type === "heading")
1980
+ return cursors;
1981
+ const rule = target.repeating.rule;
1982
+ if (rule === undefined)
1983
+ return cursors;
1984
+ const prior = ruleToInverseParams(rule, target.repeating.deadlined === true);
1985
+ if (prior === null)
1986
+ return cursors;
1987
+ // The anchor the app recomputes from the target date — derived by the SAME law
1988
+ // the dialog drives (deriveFixedAnchor), with any EXPLICIT prior anchor dropped
1989
+ // first so the derivation is not short-circuited by the one being replaced.
1990
+ const { weekdays: _w, monthly: _m, yearly: _y, ...unanchored } = prior;
1991
+ const eff = { ...unanchored, next, ...deriveFixedAnchor(unanchored, next) };
1992
+ return [...cursors, ...expectedRuleAssertions(eff, { includeCursor: false })];
1993
+ }
1924
1994
  const todoRescheduleRepeat = {
1925
1995
  op: "todo.reschedule-repeat",
1926
- hazards: UI_HAZARDS,
1927
- preRead(db, params) {
1928
- assertRepeatRule(params);
1996
+ hazards: RESCHEDULE_HAZARDS,
1997
+ vectorsFor: rescheduleVectors,
1998
+ preRead(db, params, now, zone) {
1999
+ assertRescheduleRule(params);
1929
2000
  const pre = emptyPreState();
1930
- pre.target = loadTarget(db, params.uuid);
2001
+ // The device's current day — the re-anchor's strictly-future check runs
2002
+ // against it (H-REPEAT-REANCHOR), under the SAME response clock the verify
2003
+ // uses.
2004
+ pre.todayIso = localToday(now, zone);
2005
+ pre.target = loadTarget(db, params.uuid, now, zone);
1931
2006
  return pre;
1932
2007
  },
1933
- expectedDelta(_pre, params) {
2008
+ expectedDelta(pre, params) {
2009
+ return rescheduleDelta(pre, params);
2010
+ },
2011
+ compile(params, vector, _pre, ctx) {
2012
+ if (isRepeatReanchor(params)) {
2013
+ if (vector !== "url-scheme")
2014
+ unsupportedVector(this.op, vector);
2015
+ return reanchorUrl("update", params, ctx);
2016
+ }
2017
+ if (vector !== "ui")
2018
+ unsupportedVector(this.op, vector);
2019
+ const rule = asRepeatRuleParams(params);
2020
+ return uiDrive(rescheduleRepeatRecipe(rule.uuid, rule.frequency, rule.interval, reschedRuleExtras(rule)));
2021
+ },
2022
+ };
2023
+ /**
2024
+ * The reschedule's expected delta, both spellings (to-do and project share it —
2025
+ * the DB delta is identical, UIC2-a).
2026
+ */
2027
+ function rescheduleDelta(pre, params) {
2028
+ if (isRepeatReanchor(params)) {
2029
+ return {
2030
+ mode: "update",
2031
+ uuid: params.uuid,
2032
+ assert: reanchorAssertions(pre, params.next),
2033
+ // The prior rule + deadline flag, so the change record holds what the
2034
+ // series looked like before its anchor moved (there is no headless inverse
2035
+ // — see reversibility.ts — but the record is still the evidence).
2036
+ capture: [{ field: "repeating.rule" }, { field: "repeating.deadlined" }],
2037
+ };
2038
+ }
2039
+ {
1934
2040
  // Identity PRESERVED (UI2-b): the same template uuid, rule mutated in place.
1935
2041
  // Assert the FULL requested rule (#491) — type + unit + interval + calendar
1936
2042
  // anchor + ends bound + deadline offset + the ANCH2 first-occurrence cursor —
@@ -1942,7 +2048,8 @@ const todoRescheduleRepeat = {
1942
2048
  // so the undo can re-drive it faithfully. The DERIVED-anchor effective params
1943
2049
  // (reschedEffParams) are asserted — the SAME bag the compile drives — so a
1944
2050
  // `--when`-only reschedule verifies the derived anchor the drive lands (RSPA1).
1945
- const eff = reschedEffParams(params);
2051
+ const rule = asRepeatRuleParams(params);
2052
+ const eff = reschedEffParams(rule);
1946
2053
  return {
1947
2054
  mode: "update",
1948
2055
  uuid: params.uuid,
@@ -1961,15 +2068,10 @@ const todoRescheduleRepeat = {
1961
2068
  // rewrites an EXISTING rule, so there is a full pre-state to diff against —
1962
2069
  // which is why make-repeating / add-repeating do not carry it: they mint the
1963
2070
  // rule, so every field is new by construction and there is nothing to compare.
1964
- collateral: { requested: requestedRuleKeys(params) },
2071
+ collateral: { requested: requestedRuleKeys(rule) },
1965
2072
  };
1966
- },
1967
- compile(params, vector) {
1968
- if (vector !== "ui")
1969
- unsupportedVector(this.op, vector);
1970
- return uiDrive(rescheduleRepeatRecipe(params.uuid, params.frequency, params.interval, reschedRuleExtras(params)));
1971
- },
1972
- };
2073
+ }
2074
+ }
1973
2075
  const todoPauseRepeat = {
1974
2076
  op: "todo.pause-repeat",
1975
2077
  hazards: UI_HAZARDS,
@@ -2072,47 +2174,32 @@ const todoResumeRepeat = {
2072
2174
  // (CRASH1 / oddities §7 C5).
2073
2175
  const projectRescheduleRepeat = {
2074
2176
  op: "project.reschedule-repeat",
2075
- hazards: UI_HAZARDS,
2076
- preRead(db, params) {
2077
- assertRepeatRule(params);
2177
+ hazards: RESCHEDULE_HAZARDS,
2178
+ vectorsFor: rescheduleVectors,
2179
+ preRead(db, params, now, zone) {
2180
+ assertRescheduleRule(params);
2078
2181
  const pre = emptyPreState();
2079
- pre.target = loadTarget(db, params.uuid);
2182
+ pre.todayIso = localToday(now, zone);
2183
+ pre.target = loadTarget(db, params.uuid, now, zone);
2080
2184
  return pre;
2081
2185
  },
2082
- expectedDelta(_pre, params) {
2083
- // Identity PRESERVED (UIC2-a): same project uuid, rule mutated in place;
2084
- // capture the prior rule (+ deadline flag) for the faithful undo. Assert the
2085
- // FULL requested rule (#491) via expectedRuleAssertions — same completeness as
2086
- // todo.reschedule-repeat (a shallow unit+interval subset false-noop'd an
2087
- // anchor/deadline/ends-only reschedule). The DERIVED-anchor effective params
2088
- // (reschedEffParams) are asserted — the SAME bag the compile drives — so a
2089
- // `--when`-only reschedule verifies the derived anchor the drive lands (RSPA1).
2090
- const eff = reschedEffParams(params);
2091
- return {
2092
- mode: "update",
2093
- uuid: params.uuid,
2094
- // includeCursor asserts the first-occurrence cursor == --when. For an OFF-RULE
2095
- // first (explicit anchor ≠ --when) the cursor lands on the next RULE-ALIGNED
2096
- // occurrence, not --when (DACON1 cell DC4: --when Oct 16 with an Oct-16 due
2097
- // anchor cursors to the next aligned start, 2029-10-02), so asserting it would
2098
- // false-fail an honored off-rule reschedule — drop the cursor assertion there
2099
- // and verify the rule anchor only.
2100
- assert: expectedRuleAssertions(eff, {
2101
- includeCursor: assessOffRuleFirst(eff)?.kind !== "honored",
2102
- }),
2103
- capture: [{ field: "repeating.rule" }, { field: "repeating.deadlined" }],
2104
- // UNEXPLAINED-DELTA DETECTION (CGRD1 guard 3). The assertions above prove
2105
- // the requested rule landed; this proves nothing ELSE did. A reschedule
2106
- // rewrites an EXISTING rule, so there is a full pre-state to diff against —
2107
- // which is why make-repeating / add-repeating do not carry it: they mint the
2108
- // rule, so every field is new by construction and there is nothing to compare.
2109
- collateral: { requested: requestedRuleKeys(params) },
2110
- };
2186
+ expectedDelta(pre, params) {
2187
+ return rescheduleDelta(pre, params);
2111
2188
  },
2112
- compile(params, vector) {
2189
+ compile(params, vector, _pre, ctx) {
2190
+ // The route must match the ROW TYPE: `update` aimed at a project template is
2191
+ // a silent no-op and vice versa (REANCH1 §4.1). The op namespace carries the
2192
+ // type (H-UNKNOWN-DESTINATION refuses a mismatched target), so the route is
2193
+ // simply the project one here.
2194
+ if (isRepeatReanchor(params)) {
2195
+ if (vector !== "url-scheme")
2196
+ unsupportedVector(this.op, vector);
2197
+ return reanchorUrl("update-project", params, ctx);
2198
+ }
2113
2199
  if (vector !== "ui")
2114
2200
  unsupportedVector(this.op, vector);
2115
- return uiDrive(projectRescheduleRepeatRecipe(params.uuid, params.frequency, params.interval, reschedRuleExtras(params)));
2201
+ const rule = asRepeatRuleParams(params);
2202
+ return uiDrive(projectRescheduleRepeatRecipe(rule.uuid, rule.frequency, rule.interval, reschedRuleExtras(rule)));
2116
2203
  },
2117
2204
  };
2118
2205
  const projectPauseRepeat = {