things-api 0.16.0 → 0.17.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 (86) hide show
  1. package/README.md +1 -1
  2. package/dist/cli/commands/repeat-flags.d.ts +3 -3
  3. package/dist/cli/commands/repeat-flags.js +90 -33
  4. package/dist/cli/commands/repeat-flags.js.map +1 -1
  5. package/dist/cli/commands/writes.js +59 -5
  6. package/dist/cli/commands/writes.js.map +1 -1
  7. package/dist/cli/help.js +9 -2
  8. package/dist/cli/help.js.map +1 -1
  9. package/dist/cli/interrupt.d.ts +42 -0
  10. package/dist/cli/interrupt.js +105 -0
  11. package/dist/cli/interrupt.js.map +1 -0
  12. package/dist/cli/main.js +5 -0
  13. package/dist/cli/main.js.map +1 -1
  14. package/dist/client.js +3 -0
  15. package/dist/client.js.map +1 -1
  16. package/dist/config.d.ts +39 -0
  17. package/dist/config.js +16 -1
  18. package/dist/config.js.map +1 -1
  19. package/dist/contracts.d.ts +9 -2
  20. package/dist/contracts.js +1 -1
  21. package/dist/contracts.js.map +1 -1
  22. package/dist/index.d.ts +3 -0
  23. package/dist/index.js +7 -0
  24. package/dist/index.js.map +1 -1
  25. package/dist/model/occurrences.d.ts +14 -1
  26. package/dist/model/occurrences.js +20 -4
  27. package/dist/model/occurrences.js.map +1 -1
  28. package/dist/model/recurrence.d.ts +60 -9
  29. package/dist/model/recurrence.js +76 -19
  30. package/dist/model/recurrence.js.map +1 -1
  31. package/dist/paths.d.ts +8 -0
  32. package/dist/paths.js +10 -0
  33. package/dist/paths.js.map +1 -1
  34. package/dist/sync-health.js +2 -1
  35. package/dist/sync-health.js.map +1 -1
  36. package/dist/trace/tracer.d.ts +87 -0
  37. package/dist/trace/tracer.js +167 -0
  38. package/dist/trace/tracer.js.map +1 -0
  39. package/dist/write/clear-reminder.js +24 -21
  40. package/dist/write/clear-reminder.js.map +1 -1
  41. package/dist/write/commands.js +50 -45
  42. package/dist/write/commands.js.map +1 -1
  43. package/dist/write/completion-context.d.ts +57 -0
  44. package/dist/write/completion-context.js +49 -0
  45. package/dist/write/completion-context.js.map +1 -0
  46. package/dist/write/failure-hints.d.ts +10 -1
  47. package/dist/write/failure-hints.js +8 -0
  48. package/dist/write/failure-hints.js.map +1 -1
  49. package/dist/write/guards.d.ts +1 -1
  50. package/dist/write/guards.js +10 -0
  51. package/dist/write/guards.js.map +1 -1
  52. package/dist/write/operations.d.ts +12 -3
  53. package/dist/write/pipeline.d.ts +39 -0
  54. package/dist/write/pipeline.js +230 -17
  55. package/dist/write/pipeline.js.map +1 -1
  56. package/dist/write/pre-state.d.ts +1 -1
  57. package/dist/write/pre-state.js +2 -2
  58. package/dist/write/pre-state.js.map +1 -1
  59. package/dist/write/promote-clone.js +260 -13
  60. package/dist/write/promote-clone.js.map +1 -1
  61. package/dist/write/repeat-anchor.d.ts +110 -0
  62. package/dist/write/repeat-anchor.js +238 -0
  63. package/dist/write/repeat-anchor.js.map +1 -0
  64. package/dist/write/repeat-asserts.d.ts +28 -0
  65. package/dist/write/repeat-asserts.js +169 -0
  66. package/dist/write/repeat-asserts.js.map +1 -0
  67. package/dist/write/repeat-rule.js +27 -12
  68. package/dist/write/repeat-rule.js.map +1 -1
  69. package/dist/write/vectors/session-reachability.d.ts +78 -0
  70. package/dist/write/vectors/session-reachability.js +103 -0
  71. package/dist/write/vectors/session-reachability.js.map +1 -0
  72. package/dist/write/vectors/simulator.js +68 -29
  73. package/dist/write/vectors/simulator.js.map +1 -1
  74. package/dist/write/vectors/types.d.ts +117 -10
  75. package/dist/write/vectors/ui-recipes.d.ts +8 -0
  76. package/dist/write/vectors/ui-recipes.js +120 -22
  77. package/dist/write/vectors/ui-recipes.js.map +1 -1
  78. package/dist/write/vectors/ui.d.ts +79 -13
  79. package/dist/write/vectors/ui.js +415 -59
  80. package/dist/write/vectors/ui.js.map +1 -1
  81. package/dist/write/verify/delta.d.ts +12 -14
  82. package/dist/write/verify/delta.js +35 -34
  83. package/dist/write/verify/delta.js.map +1 -1
  84. package/package.json +1 -1
  85. package/schema/envelope.schema.json +22 -0
  86. package/skills/things-cli/SKILL.md +5 -2
@@ -0,0 +1,78 @@
1
+ /**
2
+ * Session-reachability preflight for the dialog-class ui-drive ops (SESSGATE,
3
+ * issue #480). A dialog-class op (make/reschedule a repeat, convert a to-do or
4
+ * heading to a project, move a heading) opens a SHEET on the main Things window
5
+ * and then waits for that sheet through the Accessibility tree. When the Mac's
6
+ * screen is LOCKED, or the user is in a FULL-SCREEN app whose Space hides all
7
+ * ordinary windows, System Events enumerates ZERO windows for every process
8
+ * (it sees only the current Space) — so the sheet opens on an AX-UNREACHABLE
9
+ * window and the dialog-wait times out. Worse, the still-open modal sheet then
10
+ * blocks AppleScript mutations app-wide (a seed auto-trash silently no-ops), and
11
+ * the AX-blind Escape cleanup cannot even confirm the sheet is gone.
12
+ *
13
+ * Proven live on the maintainer's host (2026-08-16): System Events reported 0
14
+ * windows for Things, Finder, AND Safari while Things' own AppleScript dictionary
15
+ * reported 1 visible normal window. This module reproduces that discriminator
16
+ * cheaply BEFORE any mutation, so a locked/fullscreen session refuses fast
17
+ * (`blocked`, exit 4) with zero side effects instead of cascading.
18
+ *
19
+ * The signals (one stable osascript shape):
20
+ * - `thingsAs` — Things' own AppleScript window count (`count windows`);
21
+ * - `thingsAx` — the System Events (AX) window count for the Things process;
22
+ * - `allAx` — the AX window count summed across every foreground app.
23
+ *
24
+ * The discriminator (interpretReachability):
25
+ * - thingsAx >= 1 -> reachable (a Things window is AX-visible);
26
+ * - thingsAx = 0 AND allAx = 0 -> "session": the screen is locked or a
27
+ * full-screen app hides every window;
28
+ * - thingsAx = 0 AND allAx > 0 -> "window": Things' window is on another
29
+ * Space (thingsAs >= 1) or there is none
30
+ * (thingsAs <= 0);
31
+ * - anything unparseable (probe error) -> reachable (fail-OPEN: the gate is an
32
+ * EARLY guard, never a replacement for the
33
+ * drive's own fail-closed canary/waits —
34
+ * a flaky probe must not block valid ops).
35
+ */
36
+ import type { HazardId } from "../guards.ts";
37
+ import type { UiCommand, UiRunResult } from "./ui.ts";
38
+ /** Runtime signal from a live probe (or a test seam). -1 = the count could not be read. */
39
+ export interface ReachabilityCounts {
40
+ thingsAs: number;
41
+ thingsAx: number;
42
+ allAx: number;
43
+ }
44
+ export type ReachabilityVerdict = {
45
+ reachable: true;
46
+ } | {
47
+ reachable: false;
48
+ /**
49
+ * "session" — the whole session is AX-blind (locked screen / full-screen
50
+ * app): the HIGH-CONFIDENCE certain-failure case, blocked by BOTH the
51
+ * orchestrator pre-seed gate and the ui-vector in-drive gate. "window" —
52
+ * only Things' window is unreachable (another Space / no window): blocked
53
+ * by the in-drive gate (after the reveal, which would have surfaced a
54
+ * window in a healthy session), but NOT by the pre-seed gate (the reveal
55
+ * may still resolve it, so refusing before seeding would be a false
56
+ * positive).
57
+ */
58
+ scope: "session" | "window";
59
+ detail: string;
60
+ remediation: string;
61
+ };
62
+ /** The runtime hazard the gate reports (enforced in the ui vector / orchestrators, not a pre-read guard). */
63
+ export declare const H_UI_SESSION_UNREACHABLE: HazardId;
64
+ /**
65
+ * One stable osascript shape returning the three window counts as "AS AX ALL".
66
+ * Every count is wrapped so a lock-time error (a window lookup that throws on an
67
+ * AX-blind session) degrades to -1 rather than failing the whole script.
68
+ */
69
+ export declare function axSessionReachabilityScript(): string;
70
+ /** Parse the "AS AX ALL" line into counts; null when the shape is unrecognizable (probe error). */
71
+ export declare function parseReachabilityCounts(stdout: string): ReachabilityCounts | null;
72
+ /**
73
+ * Turn raw counts (or a probe error, `null`) into a verdict. Fail-OPEN on an
74
+ * unreadable probe: the gate is an early guard, not the sole line of defense.
75
+ */
76
+ export declare function interpretReachability(counts: ReachabilityCounts | null): ReachabilityVerdict;
77
+ /** Run the probe through the injected runner and interpret it (fail-open on transport error). */
78
+ export declare function probeSessionReachability(run: (command: UiCommand, timeoutMs: number) => Promise<UiRunResult>, timeoutMs: number): Promise<ReachabilityVerdict>;
@@ -0,0 +1,103 @@
1
+ /** The runtime hazard the gate reports (enforced in the ui vector / orchestrators, not a pre-read guard). */
2
+ export const H_UI_SESSION_UNREACHABLE = "H-UI-SESSION-UNREACHABLE";
3
+ /** A recognizable token in the probe script so a test runner can key off the reachability command. */
4
+ const PROBE_MARKER = "-- sessgate-reachability probe";
5
+ /**
6
+ * One stable osascript shape returning the three window counts as "AS AX ALL".
7
+ * Every count is wrapped so a lock-time error (a window lookup that throws on an
8
+ * AX-blind session) degrades to -1 rather than failing the whole script.
9
+ */
10
+ export function axSessionReachabilityScript() {
11
+ return `${PROBE_MARKER}
12
+ set thingsAs to -1
13
+ try
14
+ tell application "Things3" to set thingsAs to count windows
15
+ end try
16
+ set thingsAx to -1
17
+ set allAx to -1
18
+ tell application "System Events"
19
+ try
20
+ set thingsAx to count (windows of process "Things3")
21
+ end try
22
+ try
23
+ set allAx to 0
24
+ repeat with proc in (application processes whose background only is false)
25
+ try
26
+ set allAx to allAx + (count (windows of proc))
27
+ end try
28
+ end repeat
29
+ end try
30
+ end tell
31
+ return ((thingsAs as integer) as text) & " " & ((thingsAx as integer) as text) & " " & ((allAx as integer) as text)`;
32
+ }
33
+ /** Parse the "AS AX ALL" line into counts; null when the shape is unrecognizable (probe error). */
34
+ export function parseReachabilityCounts(stdout) {
35
+ const parts = stdout.trim().split(/\s+/).map(Number);
36
+ if (parts.length !== 3 || parts.some((n) => !Number.isFinite(n)))
37
+ return null;
38
+ const [thingsAs, thingsAx, allAx] = parts;
39
+ return { thingsAs, thingsAx, allAx };
40
+ }
41
+ const SESSION_DETAIL = "Things has no window available on the screen you're viewing — the Mac's screen is locked, or a " +
42
+ "full-screen app is covering the desktop. This operation opens a dialog in Things, which cannot " +
43
+ "appear in that state.";
44
+ const SESSION_REMEDIATION = "Unlock the Mac, or leave the full-screen app so a Things window is visible on the current " +
45
+ "desktop, then run this again.";
46
+ const OTHER_SPACE_DETAIL = "The Things window is on another desktop. This operation opens a dialog in Things, which cannot " +
47
+ "appear on the screen you're viewing.";
48
+ const OTHER_SPACE_REMEDIATION = "Switch to the desktop showing Things (or move its window to the current desktop), then run this " +
49
+ "again.";
50
+ const NO_WINDOW_DETAIL = "Things has no open window. This operation opens a dialog in Things, which has nowhere to appear.";
51
+ const NO_WINDOW_REMEDIATION = "Open a Things window (click Things so a list is showing), then run this again.";
52
+ /**
53
+ * Turn raw counts (or a probe error, `null`) into a verdict. Fail-OPEN on an
54
+ * unreadable probe: the gate is an early guard, not the sole line of defense.
55
+ */
56
+ export function interpretReachability(counts) {
57
+ // Probe error, or the AX count itself could not be read (Accessibility not
58
+ // granted / System Events hiccup) — do not block; the drive's own canary and
59
+ // dialog-wait remain fail-closed downstream.
60
+ if (counts === null || counts.thingsAx < 0)
61
+ return { reachable: true };
62
+ if (counts.thingsAx >= 1)
63
+ return { reachable: true };
64
+ // thingsAx === 0: no Things window is AX-visible on the current Space.
65
+ if (counts.allAx === 0) {
66
+ // Every foreground app reports zero windows -> the whole session is AX-blind
67
+ // (locked screen or a full-screen Space hiding all windows).
68
+ return {
69
+ reachable: false,
70
+ scope: "session",
71
+ detail: SESSION_DETAIL,
72
+ remediation: SESSION_REMEDIATION,
73
+ };
74
+ }
75
+ // Other apps DO have windows, so the session is not locked — only Things'
76
+ // window is unreachable: it is on another Space (thingsAs >= 1) or absent.
77
+ if (counts.thingsAs >= 1) {
78
+ return {
79
+ reachable: false,
80
+ scope: "window",
81
+ detail: OTHER_SPACE_DETAIL,
82
+ remediation: OTHER_SPACE_REMEDIATION,
83
+ };
84
+ }
85
+ return {
86
+ reachable: false,
87
+ scope: "window",
88
+ detail: NO_WINDOW_DETAIL,
89
+ remediation: NO_WINDOW_REMEDIATION,
90
+ };
91
+ }
92
+ /** Run the probe through the injected runner and interpret it (fail-open on transport error). */
93
+ export async function probeSessionReachability(run, timeoutMs) {
94
+ const res = await run({
95
+ primitive: "resolve",
96
+ label: "session-reachability probe",
97
+ script: axSessionReachabilityScript(),
98
+ }, timeoutMs);
99
+ if (!res.ok)
100
+ return { reachable: true }; // fail-open: a probe transport error never blocks
101
+ return interpretReachability(parseReachabilityCounts(res.stdout));
102
+ }
103
+ //# sourceMappingURL=session-reachability.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-reachability.js","sourceRoot":"","sources":["../../../src/write/vectors/session-reachability.ts"],"names":[],"mappings":"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"}
@@ -28,6 +28,7 @@ import { addDaysIso, decodePackedDate, encodePackedDate, encodeReminderTime, loc
28
28
  import { decodeRecurrenceRule } from "../../model/recurrence.js";
29
29
  import { resolveResolutionInstant } from "../commands.js";
30
30
  import { computeReorderPre, resolveArea, resolveHeading, resolveProject, resolveTag, } from "../pre-state.js";
31
+ import { fixedSpawnPlan, isIsoDate } from "../repeat-anchor.js";
31
32
  import { composeRepeatRuleSpec, ruleXml } from "../recurrence-rule-blob.js";
32
33
  import { resolveTagRefs } from "../tag-refs.js";
33
34
  // Enum encodings mirror test/fixtures/seed.ts / docs/atlas/schema-v26.md.
@@ -740,10 +741,36 @@ function applyMakeRepeatingFixed(sim, type, params, ctx) {
740
741
  // hidden template and the instance each receive a plain copy. To-dos have none.
741
742
  const subtree = type === 1 ? readProjectSubtree(sim, params.uuid) : null;
742
743
  const todayIso = ctx.todayIso;
743
- const nextIso = addUnitsIso(todayIso, params.frequency, params.interval);
744
744
  const deadlined = params.deadline === true || (params.startDaysEarlier ?? 0) > 0;
745
745
  const startEarlier = params.startDaysEarlier ?? 0;
746
- const spec = composeRepeatRuleSpec(params, todayIso, epochOfIso(nextIso));
746
+ // ANCH2 (issue #476, docs/lab/anch2-next-field.md): the app's "Next:" field
747
+ // fixes the first occurrence. When the promote drives it (params.next), the
748
+ // series anchors there verbatim — the instance materializes only when that date
749
+ // is today. Left to its DEFAULT (no params.next), a FIXED rule anchors to the
750
+ // next calendar match ≥ today (ANCH1 fixedSpawnPlan for daily/weekly; monthly/
751
+ // yearly keep the today+interval model, their default-anchor law being unprobed).
752
+ const nextIso = isIsoDate(params.next) ? params.next : null;
753
+ const plan = nextIso !== null
754
+ ? {
755
+ refIso: nextIso,
756
+ instanceStartIso: (nextIso === todayIso ? todayIso : null),
757
+ cursorIso: nextIso,
758
+ instanceCount: (nextIso === todayIso ? 1 : 0),
759
+ }
760
+ : params.frequency === "daily" || params.frequency === "weekly"
761
+ ? fixedSpawnPlan(params, todayIso)
762
+ : {
763
+ refIso: todayIso,
764
+ instanceStartIso: todayIso,
765
+ cursorIso: addUnitsIso(todayIso, params.frequency, params.interval),
766
+ instanceCount: 1,
767
+ };
768
+ // A PRESERVED source is relinked as the current-occurrence instance (count 1); a
769
+ // DELETE-fate source spawns a fresh instance only when today is an occurrence.
770
+ const sourceBecomesInstance = (type === 0 && src.deadline !== null) ||
771
+ (subtree !== null && fixedProjectPreservesSource(subtree));
772
+ const instanceCount = sourceBecomesInstance ? 1 : plan.instanceCount;
773
+ const spec = composeRepeatRuleSpec(params, plan.refIso, epochOfIso(plan.refIso));
747
774
  const templateUuid = genUuid();
748
775
  // The hidden template row is identical in both fixed-project fates.
749
776
  insertRecurrenceRow(sim, ctx, {
@@ -756,15 +783,16 @@ function applyMakeRepeatingFixed(sim, type, params, ctx) {
756
783
  startDate: null,
757
784
  deadline: deadlined ? encodePackedDate(DEADLINE_SENTINEL_ISO) : null,
758
785
  recurrenceRuleXml: ruleXml(spec),
759
- instanceCreationCount: 1,
760
- instanceCreationStartDate: encodePackedDate(nextIso),
761
- nextInstanceStartDate: encodePackedDate(nextIso),
786
+ instanceCreationCount: instanceCount,
787
+ instanceCreationStartDate: encodePackedDate(plan.cursorIso),
788
+ nextInstanceStartDate: encodePackedDate(plan.cursorIso),
762
789
  });
763
790
  copyTaskTags(sim, params.uuid, templateUuid);
764
- // The current occurrence's start (deadlined series back off `startDaysEarlier`;
765
- // decode identity deadline = startDate ts; deadlined creation is not itself
766
- // RSIM-drive-proven).
767
- const instStartIso = deadlined ? addDaysIso(todayIso, -startEarlier) : todayIso;
791
+ // The current occurrence date (the app dates the instance here; a preserved
792
+ // source is relinked at this date). Deadlined series back off `startDaysEarlier`
793
+ // (decode identity deadline = startDate − ts).
794
+ const occIso = plan.instanceStartIso ?? plan.refIso;
795
+ const instStartIso = deadlined ? addDaysIso(occIso, -startEarlier) : occIso;
768
796
  // §RSIM-T: a fixed TO-DO carrying a deadline PRESERVES its source — relink it in
769
797
  // place as the current-occurrence instance; only the template was minted above.
770
798
  // The source keeps its own deadline (the template row already dropped it).
@@ -783,24 +811,29 @@ function applyMakeRepeatingFixed(sim, type, params, ctx) {
783
811
  // RSIM-P P1: template-side children are completely PLAIN (no per-child link).
784
812
  if (subtree !== null)
785
813
  materializeSubtreeCopy(sim, ctx, subtree, templateUuid);
786
- // ONE instance at the current occurrence (start=someday pending maintenance
787
- // promotion). A deadlined series dates the instance's deadline at the occurrence.
788
- const instanceUuid = genUuid();
789
- insertRecurrenceRow(sim, ctx, {
790
- uuid: instanceUuid,
791
- type,
792
- title: src.title,
793
- notes: src.notes,
794
- area: src.area,
795
- start: START.someday,
796
- startDate: encodePackedDate(instStartIso),
797
- deadline: deadlined ? encodePackedDate(todayIso) : null,
798
- repeatingTemplate: templateUuid,
799
- });
800
- copyTaskTags(sim, params.uuid, instanceUuid);
801
- // RSIM-P P1: FIXED instance-side children are ALSO plain — no per-child link.
802
- if (subtree !== null)
803
- materializeSubtreeCopy(sim, ctx, subtree, instanceUuid);
814
+ // ANCH1: a fixed rule materializes its current-occurrence instance ONLY when
815
+ // today is itself an occurrence (plan.instanceStartIso non-null). When the first
816
+ // occurrence is in the future, NO instance spawns — the template + cursor stand
817
+ // alone until that date (A2). (start=someday pending maintenance promotion; a
818
+ // deadlined series dates the instance's deadline at the occurrence.)
819
+ if (plan.instanceStartIso !== null) {
820
+ const instanceUuid = genUuid();
821
+ insertRecurrenceRow(sim, ctx, {
822
+ uuid: instanceUuid,
823
+ type,
824
+ title: src.title,
825
+ notes: src.notes,
826
+ area: src.area,
827
+ start: START.someday,
828
+ startDate: encodePackedDate(instStartIso),
829
+ deadline: deadlined ? encodePackedDate(occIso) : null,
830
+ repeatingTemplate: templateUuid,
831
+ });
832
+ copyTaskTags(sim, params.uuid, instanceUuid);
833
+ // RSIM-P P1: FIXED instance-side children are ALSO plain — no per-child link.
834
+ if (subtree !== null)
835
+ materializeSubtreeCopy(sim, ctx, subtree, instanceUuid);
836
+ }
804
837
  // RSIM-P P1: hard-delete the whole source subtree, then the source project.
805
838
  if (subtree !== null)
806
839
  deleteProjectSubtree(sim, subtree);
@@ -993,8 +1026,14 @@ function applyReschedule(sim, params, ctx) {
993
1026
  if (preserveAfterCompletion)
994
1027
  effective.afterCompletion = true;
995
1028
  const todayIso = ctx.todayIso;
996
- const nextIso = addUnitsIso(todayIso, params.frequency, params.interval);
997
- const spec = composeRepeatRuleSpec(effective, todayIso, epochOfIso(nextIso));
1029
+ // ANCH2 (#476/#491): an explicit --when fixes the first occurrence (the
1030
+ // template cursor); otherwise the app re-anchors to the next calendar match,
1031
+ // modeled here as today + one interval. The calendar-anchor reference is the
1032
+ // requested first occurrence when given, so a weekday-less weekly reschedule
1033
+ // anchors on --when's weekday rather than today's.
1034
+ const refIso = params.next ?? todayIso;
1035
+ const nextIso = params.next ?? addUnitsIso(todayIso, params.frequency, params.interval);
1036
+ const spec = composeRepeatRuleSpec(effective, refIso, epochOfIso(nextIso));
998
1037
  const setsDeadline = params.deadline !== undefined || params.startDaysEarlier !== undefined;
999
1038
  if (!setsDeadline)
1000
1039
  spec.ts = existing.startOffsetDays; // preserve the prior start offset
@@ -1 +1 @@
1
- {"version":3,"file":"simulator.js","sourceRoot":"","sources":["../../../src/write/vectors/simulator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"simulator.js","sourceRoot":"","sources":["../../../src/write/vectors/simulator.ts"],"names":[],"mappings":"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"}