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.
- package/README.md +1 -1
- package/dist/cli/commands/repeat-flags.d.ts +3 -3
- package/dist/cli/commands/repeat-flags.js +90 -33
- package/dist/cli/commands/repeat-flags.js.map +1 -1
- package/dist/cli/commands/writes.js +59 -5
- package/dist/cli/commands/writes.js.map +1 -1
- package/dist/cli/help.js +9 -2
- package/dist/cli/help.js.map +1 -1
- package/dist/cli/interrupt.d.ts +42 -0
- package/dist/cli/interrupt.js +105 -0
- package/dist/cli/interrupt.js.map +1 -0
- package/dist/cli/main.js +5 -0
- package/dist/cli/main.js.map +1 -1
- package/dist/client.js +3 -0
- package/dist/client.js.map +1 -1
- package/dist/config.d.ts +39 -0
- package/dist/config.js +16 -1
- package/dist/config.js.map +1 -1
- package/dist/contracts.d.ts +9 -2
- package/dist/contracts.js +1 -1
- package/dist/contracts.js.map +1 -1
- package/dist/index.d.ts +3 -0
- package/dist/index.js +7 -0
- package/dist/index.js.map +1 -1
- package/dist/model/occurrences.d.ts +14 -1
- package/dist/model/occurrences.js +20 -4
- package/dist/model/occurrences.js.map +1 -1
- package/dist/model/recurrence.d.ts +60 -9
- package/dist/model/recurrence.js +76 -19
- package/dist/model/recurrence.js.map +1 -1
- package/dist/paths.d.ts +8 -0
- package/dist/paths.js +10 -0
- package/dist/paths.js.map +1 -1
- package/dist/sync-health.js +2 -1
- package/dist/sync-health.js.map +1 -1
- package/dist/trace/tracer.d.ts +87 -0
- package/dist/trace/tracer.js +167 -0
- package/dist/trace/tracer.js.map +1 -0
- package/dist/write/clear-reminder.js +24 -21
- package/dist/write/clear-reminder.js.map +1 -1
- package/dist/write/commands.js +50 -45
- package/dist/write/commands.js.map +1 -1
- package/dist/write/completion-context.d.ts +57 -0
- package/dist/write/completion-context.js +49 -0
- package/dist/write/completion-context.js.map +1 -0
- package/dist/write/failure-hints.d.ts +10 -1
- package/dist/write/failure-hints.js +8 -0
- package/dist/write/failure-hints.js.map +1 -1
- package/dist/write/guards.d.ts +1 -1
- package/dist/write/guards.js +10 -0
- package/dist/write/guards.js.map +1 -1
- package/dist/write/operations.d.ts +12 -3
- package/dist/write/pipeline.d.ts +39 -0
- package/dist/write/pipeline.js +230 -17
- package/dist/write/pipeline.js.map +1 -1
- package/dist/write/pre-state.d.ts +1 -1
- package/dist/write/pre-state.js +2 -2
- package/dist/write/pre-state.js.map +1 -1
- package/dist/write/promote-clone.js +260 -13
- package/dist/write/promote-clone.js.map +1 -1
- package/dist/write/repeat-anchor.d.ts +110 -0
- package/dist/write/repeat-anchor.js +238 -0
- package/dist/write/repeat-anchor.js.map +1 -0
- package/dist/write/repeat-asserts.d.ts +28 -0
- package/dist/write/repeat-asserts.js +169 -0
- package/dist/write/repeat-asserts.js.map +1 -0
- package/dist/write/repeat-rule.js +27 -12
- package/dist/write/repeat-rule.js.map +1 -1
- package/dist/write/vectors/session-reachability.d.ts +78 -0
- package/dist/write/vectors/session-reachability.js +103 -0
- package/dist/write/vectors/session-reachability.js.map +1 -0
- package/dist/write/vectors/simulator.js +68 -29
- package/dist/write/vectors/simulator.js.map +1 -1
- package/dist/write/vectors/types.d.ts +117 -10
- package/dist/write/vectors/ui-recipes.d.ts +8 -0
- package/dist/write/vectors/ui-recipes.js +120 -22
- package/dist/write/vectors/ui-recipes.js.map +1 -1
- package/dist/write/vectors/ui.d.ts +79 -13
- package/dist/write/vectors/ui.js +415 -59
- package/dist/write/vectors/ui.js.map +1 -1
- package/dist/write/verify/delta.d.ts +12 -14
- package/dist/write/verify/delta.js +35 -34
- package/dist/write/verify/delta.js.map +1 -1
- package/package.json +1 -1
- package/schema/envelope.schema.json +22 -0
- package/skills/things-cli/SKILL.md +5 -2
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
* the lab (url-scheme.matrix / applescript.matrix), never hardcoded logic.
|
|
5
5
|
*/
|
|
6
6
|
import type { DisruptionTier } from "../../config.ts";
|
|
7
|
+
import type { HazardId } from "../guards.ts";
|
|
7
8
|
import type { OperationKind } from "../operations.ts";
|
|
8
9
|
export type VectorId = "url-scheme" | "applescript" | "shortcuts" | "ui";
|
|
9
10
|
export interface CompiledInvocation {
|
|
@@ -46,6 +47,18 @@ export interface UiRecipe {
|
|
|
46
47
|
/** The item the recipe acts on (revealed/selected via things:///show?id=). */
|
|
47
48
|
targetUuid: string;
|
|
48
49
|
steps: UiStep[];
|
|
50
|
+
/**
|
|
51
|
+
* DIALOG-class recipe: it opens a SHEET on the main Things window (the Repeat
|
|
52
|
+
* editor, the Convert confirm, the Move picker) and waits for it through the
|
|
53
|
+
* Accessibility tree. Such a recipe needs a Things window that is AX-reachable
|
|
54
|
+
* on the current Space — on a locked screen or in a full-screen app's Space
|
|
55
|
+
* the sheet opens on an unreachable window and the wait times out (SESSGATE,
|
|
56
|
+
* #480). The driver runs a session-reachability probe after the reveal and
|
|
57
|
+
* refuses (`blocked`) when the window is unreachable. Menu-only recipes (todo
|
|
58
|
+
* pause/resume — a pure menu-item press that works even under lock, AXVM1) do
|
|
59
|
+
* NOT set this and are never gated.
|
|
60
|
+
*/
|
|
61
|
+
needsWindowReachability?: boolean;
|
|
49
62
|
}
|
|
50
63
|
export type UiPrimitive = "reveal" | "activate" | "resolve" | "press" | "set-value" | "select-popup" | "wait" | "key"
|
|
51
64
|
/**
|
|
@@ -94,17 +107,56 @@ export type UiPrimitive = "reveal" | "activate" | "resolve" | "press" | "set-val
|
|
|
94
107
|
*/
|
|
95
108
|
| "select-heading-row"
|
|
96
109
|
/**
|
|
97
|
-
*
|
|
98
|
-
*
|
|
99
|
-
*
|
|
100
|
-
*
|
|
101
|
-
*
|
|
102
|
-
*
|
|
103
|
-
*
|
|
104
|
-
*
|
|
105
|
-
*
|
|
110
|
+
* Assert the reveal actually landed an ELIGIBLE selection before a menu press
|
|
111
|
+
* (ADR1, issue #480). A `things:///show?id=<uuid>` reveal is assumed to select
|
|
112
|
+
* the to-do row, but on some surfaces (a future-scheduled to-do in Upcoming, an
|
|
113
|
+
* area view) it may navigate without leaving the row selected — and an AXPress
|
|
114
|
+
* on the resulting DISABLED `Items ▸ Repeat…` "succeeds" as a silent no-op, so
|
|
115
|
+
* the dialog never opens and the drive dies at the dialog-wait timeout with no
|
|
116
|
+
* hint of the real cause. This step closes that gap fail-closed: it reads back
|
|
117
|
+
* `Things3 → id of selected to dos` and requires EXACTLY the target uuid to be
|
|
118
|
+
* selected, then reads the addressed menu item's `AXEnabled`. It returns "OK"
|
|
119
|
+
* only when the target is the sole selection AND the menu item is enabled;
|
|
120
|
+
* otherwise it returns a diagnostic (`NOTSEL…`/`WRONGSEL…`/`DISABLED…`) the
|
|
121
|
+
* driver surfaces as an EARLY, named failure. `value` is the target uuid; `path`
|
|
122
|
+
* the menu item to enabled-check. Pure System Events, background-capable.
|
|
123
|
+
*/
|
|
124
|
+
| "assert-eligible"
|
|
125
|
+
/**
|
|
126
|
+
* Set one of the Repeat dialog's date/time controls — each an `AXDateTimeArea`
|
|
127
|
+
* whose value is an NSDate, NOT a text field (UIC6). System Events cannot set
|
|
128
|
+
* it (`set value … to <date>` errors -10000), so the driver sets `AXValue` to
|
|
129
|
+
* an NSDate through the ObjC bridge (JXA), the same bridge the mouse-synthesis
|
|
130
|
+
* primitive rides. `value` is the spec: `time:HH:mm` (keep the control's date,
|
|
131
|
+
* set the time-of-day) or `date:YYYY-MM-DD` (set the calendar date).
|
|
132
|
+
*
|
|
133
|
+
* A fixed rule can expose up to THREE date areas at once — "Next:" (the first
|
|
134
|
+
* occurrence), the "Ends: on date" bound, and the reminder time (ANCH2 census,
|
|
135
|
+
* docs/lab/anch2-next-field.md) — so the target is chosen DETERMINISTICALLY by
|
|
136
|
+
* {@link UiStep.dtTarget}, never "the first AXDateTimeArea by role" (that
|
|
137
|
+
* ambiguity was the §8v collapse + the UIC6-g reminder mis-verdict). The
|
|
138
|
+
* reminder is the only time-bearing area; among the midnight date pickers the
|
|
139
|
+
* "Next" field is the top row and the "Ends" field the bottom row. Fails
|
|
140
|
+
* closed if the addressed control is absent.
|
|
106
141
|
*/
|
|
107
|
-
| "set-datetime"
|
|
142
|
+
| "set-datetime"
|
|
143
|
+
/**
|
|
144
|
+
* Converge a dialog CHECKBOX to a target state via a deterministic closed loop
|
|
145
|
+
* (RRD1): read the checkbox's `AXValue` (0/1), press ONLY when the observed
|
|
146
|
+
* state differs from the requested {@link UiStep.checkboxTarget}, then re-read to
|
|
147
|
+
* confirm it landed — never a blind toggle. This is what makes the Repeat
|
|
148
|
+
* dialog's "Add deadlines" / "Add reminders" checkboxes safe on a PRE-POPULATED
|
|
149
|
+
* reschedule dialog: the dialog opens with the item's CURRENT deadline/reminder
|
|
150
|
+
* state already reflected, so an unconditional press flips an already-correct box
|
|
151
|
+
* the wrong way (the live bug — a blind "Add deadlines" press UNCHECKED an
|
|
152
|
+
* already-deadlined rule, hiding the "start N days earlier" field it had already
|
|
153
|
+
* revealed). Only fields the caller actually requested emit a step; an
|
|
154
|
+
* unspecified `--deadline` / `--reminder` on reschedule emits NO step, so the
|
|
155
|
+
* pre-populated state is PRESERVED (requested-fields-only law, #492). Fails
|
|
156
|
+
* closed (an `error` the pipeline re-verifies) if the box will not converge
|
|
157
|
+
* within the bounded retries.
|
|
158
|
+
*/
|
|
159
|
+
| "ensure-checkbox";
|
|
108
160
|
export interface UiStep {
|
|
109
161
|
primitive: UiPrimitive;
|
|
110
162
|
/** Human-readable step label — surfaced in the partial-state report. */
|
|
@@ -173,6 +225,19 @@ export interface UiStep {
|
|
|
173
225
|
activateFallback?: boolean;
|
|
174
226
|
/** drag-reorder only: the sidebar move the drag driver performs. */
|
|
175
227
|
drag?: import("./ui-drag.ts").SidebarDragSpec;
|
|
228
|
+
/**
|
|
229
|
+
* set-datetime only: WHICH of the dialog's date areas to drive (ANCH2). The
|
|
230
|
+
* driver selects deterministically — `reminder` = the only time-bearing area;
|
|
231
|
+
* `next` = the top (smaller-y) midnight date picker; `ends` = the bottom
|
|
232
|
+
* (larger-y) midnight date picker. Required for every set-datetime step.
|
|
233
|
+
*/
|
|
234
|
+
dtTarget?: "next" | "ends" | "reminder";
|
|
235
|
+
/**
|
|
236
|
+
* ensure-checkbox only: the desired checkbox state. The driver reads the
|
|
237
|
+
* control's `AXValue` and presses ONLY when it differs from this target, then
|
|
238
|
+
* confirms convergence (RRD1 closed loop). Required for every ensure-checkbox step.
|
|
239
|
+
*/
|
|
240
|
+
checkboxTarget?: boolean;
|
|
176
241
|
}
|
|
177
242
|
export interface VectorSupport {
|
|
178
243
|
support: "yes" | "partial" | "no";
|
|
@@ -200,11 +265,53 @@ export interface ExecuteResult {
|
|
|
200
265
|
stderr: string;
|
|
201
266
|
/** The transport was killed by its own deadline — the signature of an unanswered consent dialog. */
|
|
202
267
|
timedOut?: boolean;
|
|
268
|
+
/**
|
|
269
|
+
* The vector REFUSED at runtime BEFORE touching the app — a precondition it
|
|
270
|
+
* can only check live (the ui vector's session-reachability gate: a locked
|
|
271
|
+
* screen / full-screen Space leaves no AX-reachable Things window for the
|
|
272
|
+
* dialog, SESSGATE #480). The pipeline maps this to a `blocked` outcome
|
|
273
|
+
* (exit 4), never a transport failure — nothing was mutated.
|
|
274
|
+
*/
|
|
275
|
+
blocked?: {
|
|
276
|
+
hazard: HazardId;
|
|
277
|
+
detail: string;
|
|
278
|
+
remediation: string;
|
|
279
|
+
};
|
|
280
|
+
/**
|
|
281
|
+
* The ui vector's overall-drive WATCHDOG fired: the drive exceeded its budget
|
|
282
|
+
* so the CLI — not the caller — gave up first, cleared any open dialog, and
|
|
283
|
+
* returned (TRACE1, #487). Carried alongside a nonzero `exitCode` + `timedOut`
|
|
284
|
+
* so the pipeline routes it through the existing transport-failure re-verify
|
|
285
|
+
* (a mid-commit OK may still have landed), then shapes an HONEST timeout:
|
|
286
|
+
* confirmed-landed → ok with a disclosure; not-confirmed → verify-failed with
|
|
287
|
+
* `uncertain` set and the trace path, since a drive aborted mid-commit cannot
|
|
288
|
+
* promise the app is untouched. See {@link drive}.
|
|
289
|
+
*/
|
|
290
|
+
watchdog?: {
|
|
291
|
+
budgetMs: number;
|
|
292
|
+
elapsedMs: number;
|
|
293
|
+
/** The step the drive was about to run (or running) when the budget blew. */
|
|
294
|
+
lastStep: string;
|
|
295
|
+
/** How the open dialog was cleaned up (SESSGATE clearDialog outcome). */
|
|
296
|
+
clear: "dismissed" | "cleared-blind" | "may-remain";
|
|
297
|
+
/** The local trace file reconstructing the timeline, when tracing is on. */
|
|
298
|
+
tracePath?: string | null;
|
|
299
|
+
};
|
|
203
300
|
}
|
|
204
301
|
export interface WriteVector {
|
|
205
302
|
id: VectorId;
|
|
206
303
|
matrix: VectorMatrix;
|
|
207
304
|
execute(invocation: CompiledInvocation): Promise<ExecuteResult>;
|
|
305
|
+
/**
|
|
306
|
+
* ui vector ONLY: probe whether a Things window is AX-reachable on the current
|
|
307
|
+
* Space, so a promote ORCHESTRATOR can gate BEFORE it seeds a row (SESSGATE
|
|
308
|
+
* #480). It returns a not-reachable verdict scoped "session" (locked screen /
|
|
309
|
+
* full-screen — the certain-failure case the orchestrator refuses on, zero
|
|
310
|
+
* mutation) or "window" (only Things' window is off-Space — the orchestrator
|
|
311
|
+
* proceeds; the in-drive gate relocates it). Absent on the real transport
|
|
312
|
+
* vectors and the simulator, so a caller with no ui vector simply skips the gate.
|
|
313
|
+
*/
|
|
314
|
+
probeReachability?: () => Promise<import("./session-reachability.ts").ReachabilityVerdict>;
|
|
208
315
|
/**
|
|
209
316
|
* The bench-harness SIMULATOR vector (src/write/vectors/simulator.ts). It
|
|
210
317
|
* presents under a real {@link VectorId} but applies mutations via SQL from
|
|
@@ -38,6 +38,14 @@ export interface RepeatDialogRule {
|
|
|
38
38
|
reminder?: string;
|
|
39
39
|
deadline?: boolean;
|
|
40
40
|
startDaysEarlier?: number;
|
|
41
|
+
/**
|
|
42
|
+
* The requested FIRST occurrence (ISO `YYYY-MM-DD`), driven into the dialog's
|
|
43
|
+
* "Next:" date field (ANCH2, issue #476). The default value of Next is the
|
|
44
|
+
* app's today-anchored first match; overwriting it makes the series start on
|
|
45
|
+
* the requested date verbatim (subsequent occurrences follow the rule). Omit
|
|
46
|
+
* to accept the app default. Not applicable to after-completion (no calendar).
|
|
47
|
+
*/
|
|
48
|
+
next?: string;
|
|
41
49
|
}
|
|
42
50
|
export declare function pauseRepeatRecipe(targetUuid: string): UiRecipe;
|
|
43
51
|
export declare function resumeRepeatRecipe(targetUuid: string): UiRecipe;
|
|
@@ -32,6 +32,23 @@ function menuPress(label, path, canaryPath) {
|
|
|
32
32
|
};
|
|
33
33
|
}
|
|
34
34
|
const REPEAT_SUBMENU_ANCHOR = `menu item "Repeat" of ${ITEMS_MENU}`;
|
|
35
|
+
/**
|
|
36
|
+
* Assert the reveal landed an eligible selection before pressing a menu item
|
|
37
|
+
* (ADR1, issue #480). `menuItemPath` is the item whose `AXEnabled` gates the
|
|
38
|
+
* action. Dynamic (its verdict depends on the runtime selection the reveal
|
|
39
|
+
* produced), so it is never canaried; the driver surfaces a non-OK verdict as an
|
|
40
|
+
* early, named failure instead of a downstream dialog-wait timeout.
|
|
41
|
+
*/
|
|
42
|
+
function assertEligible(targetUuid, menuItemPath) {
|
|
43
|
+
return {
|
|
44
|
+
primitive: "assert-eligible",
|
|
45
|
+
label: "confirm the target to-do is selected and Items ▸ Repeat… is enabled",
|
|
46
|
+
value: targetUuid,
|
|
47
|
+
path: menuItemPath,
|
|
48
|
+
dynamic: true,
|
|
49
|
+
addressing: "title",
|
|
50
|
+
};
|
|
51
|
+
}
|
|
35
52
|
/** Wait for a dynamic element (sheet/popover) to appear, then abort on timeout. */
|
|
36
53
|
function waitFor(label, path, timeoutMs = 5000) {
|
|
37
54
|
return { primitive: "wait", label, path, timeoutMs, dynamic: true, addressing: "title" };
|
|
@@ -61,6 +78,7 @@ export function convertToProjectRecipe(op, targetUuid) {
|
|
|
61
78
|
return {
|
|
62
79
|
op,
|
|
63
80
|
targetUuid,
|
|
81
|
+
needsWindowReachability: true,
|
|
64
82
|
steps: [
|
|
65
83
|
...preamble(targetUuid),
|
|
66
84
|
menuPress("Items ▸ Convert to Project…", `menu item "Convert to Project…" of ${ITEMS_MENU}`),
|
|
@@ -93,6 +111,7 @@ export function headingConvertToProjectRecipe(projectUuid, ordinal) {
|
|
|
93
111
|
return {
|
|
94
112
|
op: "project.promote-heading",
|
|
95
113
|
targetUuid: projectUuid,
|
|
114
|
+
needsWindowReachability: true,
|
|
96
115
|
steps: [
|
|
97
116
|
{
|
|
98
117
|
primitive: "reveal",
|
|
@@ -288,13 +307,41 @@ function pressControl(label, pathCandidates) {
|
|
|
288
307
|
return { primitive: "press", label, pathCandidates, dynamic: true, addressing: "title" };
|
|
289
308
|
}
|
|
290
309
|
/**
|
|
291
|
-
*
|
|
292
|
-
*
|
|
293
|
-
*
|
|
294
|
-
*
|
|
310
|
+
* Converge a dialog checkbox to `target` via the deterministic closed-loop
|
|
311
|
+
* ensure-checkbox primitive (RRD1) — read, press only on a mismatch, confirm.
|
|
312
|
+
* Replaces the old blind `pressControl`, which flipped an already-correct box on a
|
|
313
|
+
* PRE-POPULATED reschedule dialog (the live bug: a blind "Add deadlines" press
|
|
314
|
+
* unchecked an already-deadlined rule, hiding the start-earlier field). Emitted
|
|
315
|
+
* ONLY for a checkbox the caller actually addressed; an unspecified deadline/
|
|
316
|
+
* reminder emits no step, so the pre-populated state is preserved (#492).
|
|
317
|
+
*/
|
|
318
|
+
function ensureCheckbox(label, pathCandidates, target) {
|
|
319
|
+
return {
|
|
320
|
+
primitive: "ensure-checkbox",
|
|
321
|
+
label,
|
|
322
|
+
pathCandidates,
|
|
323
|
+
checkboxTarget: target,
|
|
324
|
+
dynamic: true,
|
|
325
|
+
addressing: "title",
|
|
326
|
+
};
|
|
327
|
+
}
|
|
328
|
+
/**
|
|
329
|
+
* Set ONE of the dialog's date/time pickers (Next first-occurrence / end-date
|
|
330
|
+
* bound / reminder time). Each is an `AXDateTimeArea` located by role within the
|
|
331
|
+
* front dialog, so it carries no element path — the driver's set-datetime
|
|
332
|
+
* primitive selects DETERMINISTICALLY by `target` (ANCH2: reminder = the
|
|
333
|
+
* time-bearing area; next = top midnight picker; ends = bottom midnight picker),
|
|
334
|
+
* never "the first area by role". `spec` is `time:HH:mm` or `date:YYYY-MM-DD`.
|
|
295
335
|
*/
|
|
296
|
-
function setDateTime(label, spec) {
|
|
297
|
-
return {
|
|
336
|
+
function setDateTime(label, spec, target) {
|
|
337
|
+
return {
|
|
338
|
+
primitive: "set-datetime",
|
|
339
|
+
label,
|
|
340
|
+
value: spec,
|
|
341
|
+
dtTarget: target,
|
|
342
|
+
dynamic: true,
|
|
343
|
+
addressing: "title",
|
|
344
|
+
};
|
|
298
345
|
}
|
|
299
346
|
/** Steps that drive the day anchor of a monthly rule into the mode + ordinal pop-ups. */
|
|
300
347
|
function monthlyAnchorSteps(anchor, mode, ordinal) {
|
|
@@ -374,25 +421,65 @@ function repeatDialogEntry(rule) {
|
|
|
374
421
|
steps.push(selectPopup(`yearly month = ${y.month}`, DIALOG_YEAR_MONTH, MONTH_TITLE[y.month - 1] ?? ""));
|
|
375
422
|
steps.push(...monthlyAnchorSteps(y, DIALOG_YEAR_MODE, DIALOG_YEAR_ORDINAL));
|
|
376
423
|
}
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
424
|
+
// "Add deadlines" / "start N days earlier" — DEADLINE MODE, converged (RRD1)
|
|
425
|
+
// BEFORE the "Next:" field is driven below. In deadline mode the "Next:" field IS
|
|
426
|
+
// the deadline date and the instance start = deadline − startDaysEarlier (YANCH1
|
|
427
|
+
// #493), so the deadline-date shift `deadlineDriveNext` computes must be applied
|
|
428
|
+
// against the CONVERGED checkbox state; a box flipped AFTER Next was driven (the
|
|
429
|
+
// old order) changed Next's meaning under an already-committed value — the live
|
|
430
|
+
// bug where a blind press on an already-deadlined reschedule dialog UNCHECKED the
|
|
431
|
+
// box and hid the start-earlier field. Converging the checkbox reveals only a
|
|
432
|
+
// NUMBER field ("start N days earlier"), never a date area (YANCH1 census), so it
|
|
433
|
+
// does not perturb the date-area targeting the ends/Next drives below rely on.
|
|
434
|
+
//
|
|
435
|
+
// Target (requested-fields-only, #492): an explicit `deadline` converges to it; a
|
|
436
|
+
// bare `startDaysEarlier > 0` implies deadline:true; an UNSPECIFIED deadline emits
|
|
437
|
+
// NO step, PRESERVING the pre-populated checkbox state (a reschedule that does not
|
|
438
|
+
// address the deadline leaves it exactly as it was).
|
|
439
|
+
const deadlineTarget = rule.deadline !== undefined
|
|
440
|
+
? rule.deadline
|
|
441
|
+
: (rule.startDaysEarlier ?? 0) > 0
|
|
442
|
+
? true
|
|
443
|
+
: undefined;
|
|
444
|
+
if (deadlineTarget !== undefined) {
|
|
445
|
+
steps.push(ensureCheckbox("Add deadlines", DIALOG_ADD_DEADLINES, deadlineTarget));
|
|
446
|
+
// startDaysEarlier is requested-fields-only too: drive the offset field only
|
|
447
|
+
// when it was given (>0), else leave it at its pre-populated value.
|
|
448
|
+
if (deadlineTarget && (rule.startDaysEarlier ?? 0) > 0) {
|
|
449
|
+
steps.push(setField(`start ${rule.startDaysEarlier} days earlier`, DIALOG_START_EARLIER, String(rule.startDaysEarlier)));
|
|
385
450
|
}
|
|
386
451
|
}
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
452
|
+
// Ends bound + "Next:" first-occurrence field (ANCH2, issue #476). ORDER MATTERS:
|
|
453
|
+
// select "Ends: on date" FIRST (revealing its date area) BEFORE driving Next, so
|
|
454
|
+
// both date areas already exist when each is set through its own deterministic
|
|
455
|
+
// target. Driving Next while it is the SOLE date area and THEN adding the ends
|
|
456
|
+
// area collapses the whole series to the ends date (ANCH2 RC4); selecting the
|
|
457
|
+
// ends bound first — the proven-clean order (cell d) — keeps them distinct.
|
|
458
|
+
const endsOnDate = rule.ends !== undefined && rule.ends.kind === "on-date" ? rule.ends : null;
|
|
459
|
+
if (rule.ends !== undefined && rule.ends.kind === "after") {
|
|
460
|
+
steps.push(selectPopup("ends = after", DIALOG_ENDS, "after"));
|
|
461
|
+
steps.push(setField(`ends after = ${rule.ends.count}`, DIALOG_ENDS_COUNT, String(rule.ends.count)));
|
|
390
462
|
}
|
|
391
|
-
if (
|
|
392
|
-
steps.push(
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
463
|
+
else if (endsOnDate !== null) {
|
|
464
|
+
steps.push(selectPopup("ends = on date", DIALOG_ENDS, "on date"));
|
|
465
|
+
}
|
|
466
|
+
// After-completion has no calendar, so no Next.
|
|
467
|
+
if (rule.next !== undefined && rule.afterCompletion !== true) {
|
|
468
|
+
steps.push(setDateTime(`Next (first occurrence) = ${rule.next}`, `date:${rule.next}`, "next"));
|
|
469
|
+
}
|
|
470
|
+
if (endsOnDate !== null) {
|
|
471
|
+
steps.push(setDateTime(`ends on = ${endsOnDate.date}`, `date:${endsOnDate.date}`, "ends"));
|
|
472
|
+
}
|
|
473
|
+
// "Add reminders" — converged (RRD1), then its time driven. Kept AFTER the Next/
|
|
474
|
+
// ends date drives (its ANCH2-certified position): a freshly-checked reminder
|
|
475
|
+
// area defaults to a NON-midnight 12:00 (ANCH2 census), so the set-datetime
|
|
476
|
+
// tod discriminator never confuses it with the midnight Next/ends pickers,
|
|
477
|
+
// whatever the creation order. Requested-fields-only (#492): an unspecified
|
|
478
|
+
// reminder emits NO step, PRESERVING the pre-populated checkbox + time. (The rule
|
|
479
|
+
// vocabulary carries no "reminder off", so the only requested target is checked.)
|
|
480
|
+
if (rule.reminder !== undefined) {
|
|
481
|
+
steps.push(ensureCheckbox("Add reminders", DIALOG_ADD_REMINDERS, true));
|
|
482
|
+
steps.push(setDateTime(`reminder = ${rule.reminder}`, `time:${rule.reminder}`, "reminder"));
|
|
396
483
|
}
|
|
397
484
|
steps.push(pressControl('press "OK"', DIALOG_OK));
|
|
398
485
|
return steps;
|
|
@@ -401,8 +488,15 @@ export function makeRepeatingRecipe(targetUuid, frequency, interval, extras = {}
|
|
|
401
488
|
return {
|
|
402
489
|
op: "todo.make-repeating",
|
|
403
490
|
targetUuid,
|
|
491
|
+
needsWindowReachability: true,
|
|
404
492
|
steps: [
|
|
405
493
|
...preamble(targetUuid),
|
|
494
|
+
// ADR1 (#480): the reveal is assumed to select the to-do row, but on some
|
|
495
|
+
// surfaces it can navigate without selecting — and an AXPress on the
|
|
496
|
+
// resulting DISABLED Repeat… item silently no-ops, so the dialog never
|
|
497
|
+
// opens and the drive died opaquely at the dialog-wait timeout. Assert the
|
|
498
|
+
// eligible selection FIRST, failing early + named on a miss.
|
|
499
|
+
assertEligible(targetUuid, `menu item "Repeat…" of ${ITEMS_MENU}`),
|
|
406
500
|
menuPress("Items ▸ Repeat…", `menu item "Repeat…" of ${ITEMS_MENU}`),
|
|
407
501
|
...repeatDialogEntry({ frequency, interval, ...extras }),
|
|
408
502
|
],
|
|
@@ -430,6 +524,7 @@ export function projectMakeRepeatingRecipe(containerReveal, projectUuid, title,
|
|
|
430
524
|
return {
|
|
431
525
|
op: "project.make-repeating",
|
|
432
526
|
targetUuid: projectUuid,
|
|
527
|
+
needsWindowReachability: true,
|
|
433
528
|
steps: [
|
|
434
529
|
{
|
|
435
530
|
primitive: "reveal",
|
|
@@ -474,6 +569,7 @@ export function rescheduleRepeatRecipe(targetUuid, frequency, interval, extras =
|
|
|
474
569
|
return {
|
|
475
570
|
op: "todo.reschedule-repeat",
|
|
476
571
|
targetUuid,
|
|
572
|
+
needsWindowReachability: true,
|
|
477
573
|
steps: [
|
|
478
574
|
...preamble(targetUuid),
|
|
479
575
|
menuPress("Items ▸ Repeat ▸ Reschedule…", `menu item "Reschedule…" of menu 1 of menu item "Repeat" of ${ITEMS_MENU}`, REPEAT_SUBMENU_ANCHOR),
|
|
@@ -584,6 +680,7 @@ export function projectRescheduleRepeatRecipe(targetUuid, frequency, interval, e
|
|
|
584
680
|
return {
|
|
585
681
|
op: "project.reschedule-repeat",
|
|
586
682
|
targetUuid,
|
|
683
|
+
needsWindowReachability: true,
|
|
587
684
|
steps: [
|
|
588
685
|
...projectPreamble(targetUuid),
|
|
589
686
|
openProjectRepeatPopover(),
|
|
@@ -633,6 +730,7 @@ export function moveHeadingToProjectRecipe(sourceProjectUuid, headingTitle, dest
|
|
|
633
730
|
return {
|
|
634
731
|
op: "project.move-heading-to-project",
|
|
635
732
|
targetUuid: sourceProjectUuid,
|
|
733
|
+
needsWindowReachability: true,
|
|
636
734
|
steps: [
|
|
637
735
|
{
|
|
638
736
|
primitive: "reveal",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ui-recipes.js","sourceRoot":"","sources":["../../../src/write/vectors/ui-recipes.ts"],"names":[],"mappings":"AAkDA,MAAM,UAAU,GAAG,4BAA4B,CAAC;AAEhD;;;;;GAKG;AACH,MAAM,WAAW,GAAG,oDAAoD,CAAC;AAEzE,0EAA0E;AAC1E,SAAS,QAAQ,CAAC,UAAkB;IAClC,OAAO;QACL;YACE,SAAS,EAAE,QAAQ;YACnB,KAAK,EAAE,kDAAkD;YACzD,KAAK,EAAE,UAAU;SAClB;QACD;YACE,SAAS,EAAE,UAAU;YACrB,KAAK,EAAE,6EAA6E;YACpF,gBAAgB,EAAE,IAAI;SACvB;KACF,CAAC;AACJ,CAAC;AAED,6DAA6D;AAC7D,SAAS,SAAS,CAAC,KAAa,EAAE,IAAY,EAAE,UAAmB;IACjE,OAAO;QACL,SAAS,EAAE,OAAO;QAClB,KAAK;QACL,IAAI;QACJ,GAAG,CAAC,UAAU,KAAK,SAAS,IAAI,EAAE,UAAU,EAAE,CAAC;QAC/C,UAAU,EAAE,OAAO;KACpB,CAAC;AACJ,CAAC;AAED,MAAM,qBAAqB,GAAG,yBAAyB,UAAU,EAAE,CAAC;AAEpE,mFAAmF;AACnF,SAAS,OAAO,CAAC,KAAa,EAAE,IAAY,EAAE,SAAS,GAAG,IAAI;IAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC;AAC3F,CAAC;AAED,yEAAyE;AAEzE,MAAM,UAAU,iBAAiB,CAAC,UAAkB;IAClD,OAAO;QACL,EAAE,EAAE,mBAAmB;QACvB,UAAU;QACV,KAAK,EAAE;YACL,GAAG,QAAQ,CAAC,UAAU,CAAC;YACvB,SAAS,CACP,wBAAwB,EACxB,wDAAwD,UAAU,EAAE,EACpE,qBAAqB,CACtB;SACF;KACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,UAAkB;IACnD,OAAO;QACL,EAAE,EAAE,oBAAoB;QACxB,UAAU;QACV,KAAK,EAAE;YACL,GAAG,QAAQ,CAAC,UAAU,CAAC;YACvB,SAAS,CACP,yBAAyB,EACzB,yDAAyD,UAAU,EAAE,EACrE,qBAAqB,CACtB;SACF;KACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,sBAAsB,CACpC,EAAyD,EACzD,UAAkB;IAElB,OAAO;QACL,EAAE;QACF,UAAU;QACV,KAAK,EAAE;YACL,GAAG,QAAQ,CAAC,UAAU,CAAC;YACvB,SAAS,CAAC,6BAA6B,EAAE,sCAAsC,UAAU,EAAE,CAAC;YAC5F,OAAO,CAAC,wBAAwB,EAAE,cAAc,WAAW,EAAE,CAAC;YAC9D;gBACE,4DAA4D;gBAC5D,2EAA2E;gBAC3E,SAAS,EAAE,OAAO;gBAClB,KAAK,EAAE,2BAA2B;gBAClC,IAAI,EAAE,+BAA+B,WAAW,gEAAgE;gBAChH,OAAO,EAAE,IAAI;gBACb,UAAU,EAAE,cAAc;aAC3B;SACF;KACF,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,6BAA6B,CAAC,WAAmB,EAAE,OAAe;IAChF,OAAO;QACL,EAAE,EAAE,yBAAyB;QAC7B,UAAU,EAAE,WAAW;QACvB,KAAK,EAAE;YACL;gBACE,SAAS,EAAE,QAAQ;gBACnB,KAAK,EAAE,sEAAsE;gBAC7E,KAAK,EAAE,WAAW;aACnB;YACD;gBACE,kEAAkE;gBAClE,yDAAyD;gBACzD,SAAS,EAAE,UAAU;gBACrB,KAAK,EAAE,0EAA0E;gBACjF,gBAAgB,EAAE,IAAI;aACvB;YACD;gBACE,SAAS,EAAE,oBAAoB;gBAC/B,KAAK,EAAE,oCAAoC,OAAO,GAAG,CAAC,gCAAgC;gBACtF,IAAI,EAAE,qBAAqB;gBAC3B,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC;gBACtB,UAAU,EAAE,OAAO;aACpB;YACD,uEAAuE;YACvE,0EAA0E;YAC1E,SAAS,CAAC,6BAA6B,EAAE,sCAAsC,UAAU,EAAE,CAAC;YAC5F,OAAO,CAAC,wBAAwB,EAAE,cAAc,WAAW,EAAE,CAAC;YAC9D;gBACE,mEAAmE;gBACnE,8DAA8D;gBAC9D,SAAS,EAAE,OAAO;gBAClB,KAAK,EAAE,2BAA2B;gBAClC,IAAI,EAAE,+BAA+B,WAAW,gEAAgE;gBAChH,OAAO,EAAE,IAAI;gBACb,UAAU,EAAE,cAAc;aAC3B;SACF;KACF,CAAC;AACJ,CAAC;AAED,4EAA4E;AAC5E,+EAA+E;AAC/E,+EAA+E;AAC/E,+EAA+E;AAC/E,oFAAoF;AAEpF,yEAAyE;AACzE,EAAE;AACF,yEAAyE;AACzE,+EAA+E;AAC/E,iFAAiF;AACjF,wEAAwE;AACxE,gFAAgF;AAChF,6EAA6E;AAC7E,8EAA8E;AAC9E,iFAAiF;AACjF,0EAA0E;AAC1E,wFAAwF;AACxF,kFAAkF;AAClF,8EAA8E;AAC9E,4BAA4B;AAE5B,oGAAoG;AACpG,MAAM,qBAAqB,GAAG,+BAA+B,WAAW,EAAE,CAAC;AAC3E,yGAAyG;AACzG,MAAM,YAAY,GAAG,cAAc,WAAW,EAAE,CAAC;AACjD;8GAC8G;AAC9G,MAAM,eAAe,GAAG,sEAAsE,CAAC;AAE/F,0EAA0E;AAC1E,MAAM,aAAa,GAAG,CAAC,YAAY,EAAE,eAAe,CAAC,CAAC;AAEtD,wEAAwE;AACxE,SAAS,QAAQ,CAAC,KAAa;IAC7B,OAAO,aAAa,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,KAAK,OAAO,KAAK,EAAE,CAAC,CAAC;AAC9D,CAAC;AAED,4EAA4E;AAC5E,uDAAuD;AACvD,MAAM,gBAAgB,GAAG,QAAQ,CAAC,iBAAiB,CAAC,CAAC;AACrD,mDAAmD;AACnD,MAAM,eAAe,GAAG,QAAQ,CAAC,yBAAyB,CAAC,CAAC;AAC5D,iBAAiB;AACjB,MAAM,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAC,CAAC;AAE1C,4EAA4E;AAC5E,gFAAgF;AAChF,wEAAwE;AACxE,4EAA4E;AAC5E,iFAAiF;AACjF,iFAAiF;AACjF,iEAAiE;AACjE,iEAAiE;AACjE,iFAAiF;AACjF,MAAM,cAAc,GAAG,QAAQ,CAAC,4BAA4B,CAAC,CAAC;AAC9D,6EAA6E;AAC7E,MAAM,cAAc,GAAG,QAAQ,CAAC,4BAA4B,CAAC,CAAC;AAC9D,+FAA+F;AAC/F,MAAM,kBAAkB,GAAG,QAAQ,CAAC,qBAAqB,CAAC,CAAC;AAC3D,uEAAuE;AACvE,MAAM,iBAAiB,GAAG,QAAQ,CAAC,4BAA4B,CAAC,CAAC;AACjE,oEAAoE;AACpE,MAAM,oBAAoB,GAAG,QAAQ,CAAC,4BAA4B,CAAC,CAAC;AACpE,+EAA+E;AAC/E,MAAM,iBAAiB,GAAG,QAAQ,CAAC,4BAA4B,CAAC,CAAC;AACjE,MAAM,gBAAgB,GAAG,QAAQ,CAAC,4BAA4B,CAAC,CAAC;AAChE,MAAM,mBAAmB,GAAG,QAAQ,CAAC,4BAA4B,CAAC,CAAC;AACnE,iGAAiG;AACjG,MAAM,WAAW,GAAG,QAAQ,CAAC,4BAA4B,CAAC,CAAC;AAC3D,0IAA0I;AAC1I,MAAM,iBAAiB,GAAG,QAAQ,CAAC,yBAAyB,CAAC,CAAC;AAC9D,kHAAkH;AAClH,MAAM,oBAAoB,GAAG,QAAQ,CAAC,0BAA0B,CAAC,CAAC;AAClE,kIAAkI;AAClI,MAAM,oBAAoB,GAAG,QAAQ,CAAC,0BAA0B,CAAC,CAAC;AAClE,MAAM,oBAAoB,GAAG,QAAQ,CAAC,cAAc,CAAC,CAAC;AAEtD;;;;;;;;;GASG;AACH,MAAM,eAAe,GAA8C;IACjE,KAAK,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,OAAO,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC;IAC5B,MAAM,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;CAC1B,CAAC;AAEF,2GAA2G;AAC3G,MAAM,aAAa,GAA4B;IAC7C,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,SAAS;IAClB,SAAS,EAAE,WAAW;IACtB,QAAQ,EAAE,UAAU;IACpB,MAAM,EAAE,QAAQ;IAChB,QAAQ,EAAE,UAAU;CACrB,CAAC;AACF,MAAM,aAAa,GAAoD;IACrE,CAAC,EAAE,KAAK;IACR,CAAC,EAAE,KAAK;IACR,CAAC,EAAE,KAAK;IACR,CAAC,EAAE,KAAK;IACR,CAAC,EAAE,KAAK;CACT,CAAC;AACF,MAAM,WAAW,GAAG;IAClB,SAAS;IACT,UAAU;IACV,OAAO;IACP,OAAO;IACP,KAAK;IACL,MAAM;IACN,MAAM;IACN,QAAQ;IACR,WAAW;IACX,SAAS;IACT,UAAU;IACV,UAAU;CACX,CAAC;AAEF,SAAS,YAAY,CAAC,OAAuB;IAC3C,OAAO,OAAO,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;AAC9D,CAAC;AAED,SAAS,WAAW,CAAC,KAAa,EAAE,cAAwB,EAAE,KAAa;IACzE,OAAO;QACL,SAAS,EAAE,cAAc;QACzB,KAAK;QACL,cAAc;QACd,KAAK;QACL,OAAO,EAAE,IAAI;QACb,UAAU,EAAE,OAAO;KACpB,CAAC;AACJ,CAAC;AACD;;;GAGG;AACH,SAAS,cAAc,CACrB,KAAa,EACb,cAAwB,EACxB,eAAyB;IAEzB,OAAO;QACL,SAAS,EAAE,cAAc;QACzB,KAAK;QACL,cAAc;QACd,eAAe;QACf,OAAO,EAAE,IAAI;QACb,UAAU,EAAE,OAAO;KACpB,CAAC;AACJ,CAAC;AACD,SAAS,QAAQ,CAAC,KAAa,EAAE,cAAwB,EAAE,KAAa;IACtE,OAAO;QACL,SAAS,EAAE,WAAW;QACtB,KAAK;QACL,cAAc;QACd,KAAK;QACL,OAAO,EAAE,IAAI;QACb,UAAU,EAAE,OAAO;KACpB,CAAC;AACJ,CAAC;AACD,SAAS,YAAY,CAAC,KAAa,EAAE,cAAwB;IAC3D,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC;AAC3F,CAAC;AACD;;;;;GAKG;AACH,SAAS,WAAW,CAAC,KAAa,EAAE,IAAY;IAC9C,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC;AAC/F,CAAC;AAED,yFAAyF;AACzF,SAAS,kBAAkB,CAAC,MAAqB,EAAE,IAAc,EAAE,OAAiB;IAClF,IAAI,KAAK,IAAI,MAAM,EAAE,CAAC;QACpB,4DAA4D;QAC5D,OAAO;YACL,WAAW,CAAC,oBAAoB,EAAE,IAAI,EAAE,KAAK,CAAC;YAC9C,WAAW,CACT,iBAAiB,MAAM,CAAC,GAAG,EAAE,EAC7B,OAAO,EACP,MAAM,CAAC,GAAG,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,iBAAiB,CAAC,MAAM,CAAC,GAAG,CAAC,CAC/D;SACF,CAAC;IACJ,CAAC;IACD,OAAO;QACL,WAAW,CAAC,qBAAqB,MAAM,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACvF,WAAW,CAAC,qBAAqB,MAAM,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;KAC1F,CAAC;AACJ,CAAC;AAED,+CAA+C;AAC/C,SAAS,iBAAiB,CAAC,GAAW;IACpC,MAAM,MAAM,GAAG,GAAG,GAAG,GAAG,CAAC;IACzB,IAAI,MAAM,IAAI,EAAE,IAAI,MAAM,IAAI,EAAE;QAAE,OAAO,GAAG,GAAG,IAAI,CAAC;IACpD,QAAQ,GAAG,GAAG,EAAE,EAAE,CAAC;QACjB,KAAK,CAAC;YACJ,OAAO,GAAG,GAAG,IAAI,CAAC;QACpB,KAAK,CAAC;YACJ,OAAO,GAAG,GAAG,IAAI,CAAC;QACpB,KAAK,CAAC;YACJ,OAAO,GAAG,GAAG,IAAI,CAAC;QACpB;YACE,OAAO,GAAG,GAAG,IAAI,CAAC;IACtB,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,SAAS,iBAAiB,CAAC,IAAsB;IAC/C,MAAM,KAAK,GAAa;QACtB;YACE,SAAS,EAAE,MAAM;YACjB,KAAK,EAAE,mBAAmB;YAC1B,cAAc,EAAE,gBAAgB;YAChC,OAAO,EAAE,IAAI;YACb,SAAS,EAAE,IAAI;YACf,UAAU,EAAE,OAAO;SACpB;KACF,CAAC;IAEF,IAAI,IAAI,CAAC,eAAe,KAAK,IAAI,EAAE,CAAC;QAClC,8EAA8E;QAC9E,gEAAgE;QAChE,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,8BAA8B,EAAE,gBAAgB,EAAE,kBAAkB,CAAC,CAAC,CAAC;QAC9F,KAAK,CAAC,IAAI,CACR,cAAc,CACZ,2BAA2B,IAAI,CAAC,SAAS,EAAE,EAC3C,cAAc,EACd,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,CAChC,CACF,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,eAAe,IAAI,CAAC,SAAS,EAAE,EAAE,gBAAgB,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;IAC7F,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,IAAI,CAAC,QAAQ,EAAE,EAAE,eAAe,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAE5F,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5D,MAAM,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;QACvC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,KAAK,EAAE,EAAE,cAAc,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACtF,CAAC;QACD,4EAA4E;QAC5E,4EAA4E;QAC5E,wEAAwE;QACxE,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,oBAAoB,GAAG,GAAG,EAAE,kBAAkB,CAAC,CAAC,CAAC;YACzE,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,cAAc,GAAG,EAAE,EAAE,cAAc,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACnF,CAAC;IACH,CAAC;IAED,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QAC/B,KAAK,CAAC,IAAI,CAAC,GAAG,kBAAkB,CAAC,IAAI,CAAC,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,CAAC,CAAC,CAAC;IAC3F,CAAC;IAED,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAC9B,MAAM,CAAC,GAAiB,IAAI,CAAC,MAAM,CAAC;QACpC,KAAK,CAAC,IAAI,CACR,WAAW,CAAC,kBAAkB,CAAC,CAAC,KAAK,EAAE,EAAE,iBAAiB,EAAE,WAAW,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAC5F,CAAC;QACF,KAAK,CAAC,IAAI,CAAC,GAAG,kBAAkB,CAAC,CAAC,EAAE,gBAAgB,EAAE,mBAAmB,CAAC,CAAC,CAAC;IAC9E,CAAC;IAED,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC1D,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAC/B,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC;YAC9D,KAAK,CAAC,IAAI,CACR,QAAQ,CAAC,gBAAgB,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,iBAAiB,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CACxF,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,gBAAgB,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC,CAAC;YAClE,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,QAAQ,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QACnF,CAAC;IACH,CAAC;IAED,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QAChC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,qBAAqB,EAAE,oBAAoB,CAAC,CAAC,CAAC;QACtE,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,cAAc,IAAI,CAAC,QAAQ,EAAE,EAAE,QAAQ,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;IAClF,CAAC;IAED,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,gBAAgB,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;QAC/D,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,qBAAqB,EAAE,oBAAoB,CAAC,CAAC,CAAC;QACtE,IAAI,CAAC,IAAI,CAAC,gBAAgB,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;YACrC,KAAK,CAAC,IAAI,CACR,QAAQ,CACN,SAAS,IAAI,CAAC,gBAAgB,eAAe,EAC7C,oBAAoB,EACpB,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAC9B,CACF,CAAC;QACJ,CAAC;IACH,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC,CAAC;IAClD,OAAO,KAAK,CAAC;AACf,CAAC;AAKD,MAAM,UAAU,mBAAmB,CACjC,UAAkB,EAClB,SAA0B,EAC1B,QAAgB,EAChB,SAA2B,EAAE;IAE7B,OAAO;QACL,EAAE,EAAE,qBAAqB;QACzB,UAAU;QACV,KAAK,EAAE;YACL,GAAG,QAAQ,CAAC,UAAU,CAAC;YACvB,SAAS,CAAC,iBAAiB,EAAE,0BAA0B,UAAU,EAAE,CAAC;YACpE,GAAG,iBAAiB,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,MAAM,EAAE,CAAC;SACzD;KACF,CAAC;AACJ,CAAC;AAED,6EAA6E;AAC7E,EAAE;AACF,gFAAgF;AAChF,0EAA0E;AAC1E,2EAA2E;AAC3E,8EAA8E;AAC9E,8EAA8E;AAC9E,iFAAiF;AACjF,gFAAgF;AAChF,gFAAgF;AAChF,8CAA8C;AAE9C;;;;;;GAMG;AACH,MAAM,UAAU,0BAA0B,CACxC,eAAuB,EACvB,WAAmB,EACnB,KAAa,EACb,SAA0B,EAC1B,QAAgB,EAChB,SAA2B,EAAE;IAE7B,OAAO;QACL,EAAE,EAAE,wBAAwB;QAC5B,UAAU,EAAE,WAAW;QACvB,KAAK,EAAE;YACL;gBACE,SAAS,EAAE,QAAQ;gBACnB,KAAK,EAAE,qDAAqD,eAAe,GAAG;gBAC9E,KAAK,EAAE,eAAe;aACvB;YACD;gBACE,+EAA+E;gBAC/E,SAAS,EAAE,UAAU;gBACrB,KAAK,EAAE,0EAA0E;gBACjF,gBAAgB,EAAE,IAAI;aACvB;YACD;gBACE,SAAS,EAAE,YAAY;gBACvB,KAAK,EAAE,+BAA+B,KAAK,oBAAoB;gBAC/D,IAAI,EAAE,qBAAqB;gBAC3B,KAAK,EAAE,KAAK;gBACZ,UAAU,EAAE,OAAO;aACpB;YACD,4EAA4E;YAC5E,mEAAmE;YACnE;gBACE,SAAS,EAAE,MAAM;gBACjB,KAAK,EAAE,4DAA4D;gBACnE,IAAI,EAAE,0BAA0B,UAAU,EAAE;gBAC5C,OAAO,EAAE,IAAI;gBACb,SAAS,EAAE,IAAI;gBACf,UAAU,EAAE,OAAO;aACpB;YACD;gBACE,SAAS,EAAE,OAAO;gBAClB,KAAK,EAAE,iBAAiB;gBACxB,IAAI,EAAE,0BAA0B,UAAU,EAAE;gBAC5C,OAAO,EAAE,IAAI;gBACb,UAAU,EAAE,OAAO;aACpB;YACD,GAAG,iBAAiB,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,MAAM,EAAE,CAAC;SACzD;KACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,sBAAsB,CACpC,UAAkB,EAClB,SAA0B,EAC1B,QAAgB,EAChB,SAA2B,EAAE;IAE7B,OAAO;QACL,EAAE,EAAE,wBAAwB;QAC5B,UAAU;QACV,KAAK,EAAE;YACL,GAAG,QAAQ,CAAC,UAAU,CAAC;YACvB,SAAS,CACP,8BAA8B,EAC9B,8DAA8D,UAAU,EAAE,EAC1E,qBAAqB,CACtB;YACD,GAAG,iBAAiB,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,MAAM,EAAE,CAAC;SACzD;KACF,CAAC;AACJ,CAAC;AAED,4EAA4E;AAC5E,EAAE;AACF,8EAA8E;AAC9E,gFAAgF;AAChF,yEAAyE;AACzE,8EAA8E;AAC9E,6EAA6E;AAC7E,0EAA0E;AAC1E,yEAAyE;AACzE,4EAA4E;AAC5E,6EAA6E;AAC7E,4EAA4E;AAC5E,6BAA6B;AAC7B,EAAE;AACF,+EAA+E;AAC/E,2EAA2E;AAC3E,+EAA+E;AAC/E,qEAAqE;AAErE,wEAAwE;AACxE,MAAM,mBAAmB,GAAG,wDAAwD,WAAW,EAAE,CAAC;AAClG,qFAAqF;AACrF,MAAM,kBAAkB,GAAG,kBAAkB,mBAAmB,EAAE,CAAC;AACnE;;;;;;;GAOG;AACH,MAAM,sBAAsB,GAAG,sEAAsE,CAAC;AACtG,MAAM,4BAA4B,GAAG,oBAAoB,sBAAsB,EAAE,CAAC;AAElF,uFAAuF;AACvF,SAAS,eAAe,CAAC,UAAkB;IACzC,OAAO;QACL;YACE,SAAS,EAAE,QAAQ;YACnB,KAAK,EAAE,mDAAmD;YAC1D,KAAK,EAAE,UAAU;SAClB;QACD;YACE,2EAA2E;YAC3E,6DAA6D;YAC7D,SAAS,EAAE,UAAU;YACrB,KAAK,EAAE,wEAAwE;SAChF;KACF,CAAC;AACJ,CAAC;AAED,sFAAsF;AACtF,SAAS,wBAAwB;IAC/B,OAAO;QACL,SAAS,EAAE,eAAe;QAC1B,KAAK,EAAE,uDAAuD;QAC9D,IAAI,EAAE,kBAAkB;QACxB,UAAU,EAAE,sBAAsB;QAClC,WAAW,EAAE,iBAAiB;QAC9B,eAAe,EAAE,IAAI;QACrB,UAAU,EAAE,OAAO;KACpB,CAAC;AACJ,CAAC;AAED,qFAAqF;AACrF,SAAS,gBAAgB,CACvB,KAAa,EACb,WAAmB,EACnB,MAAwC;IAExC,OAAO;QACL,SAAS,EAAE,eAAe;QAC1B,KAAK;QACL,IAAI,EAAE,wBAAwB,4BAA4B,0BAA0B,WAAW,IAAI;QACnG,6EAA6E;QAC7E,+EAA+E;QAC/E,OAAO,EAAE,IAAI;QACb,GAAG,CAAC,MAAM,KAAK,SAAS,IAAI;YAC1B,UAAU,EAAE,MAAM,CAAC,IAAI;YACvB,WAAW,EAAE,MAAM,CAAC,KAAK;YACzB,eAAe,EAAE,IAAI;SACtB,CAAC;QACF,UAAU,EAAE,OAAO;KACpB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,UAAkB;IACzD,OAAO;QACL,EAAE,EAAE,sBAAsB;QAC1B,UAAU;QACV,KAAK,EAAE;YACL,GAAG,eAAe,CAAC,UAAU,CAAC;YAC9B,wBAAwB,EAAE;YAC1B,gBAAgB,CAAC,qBAAqB,EAAE,OAAO,CAAC;SACjD;KACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,UAAkB;IAC1D,OAAO;QACL,EAAE,EAAE,uBAAuB;QAC3B,UAAU;QACV,KAAK,EAAE;YACL,GAAG,eAAe,CAAC,UAAU,CAAC;YAC9B,wBAAwB,EAAE;YAC1B,gBAAgB,CAAC,sBAAsB,EAAE,QAAQ,CAAC;SACnD;KACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,6BAA6B,CAC3C,UAAkB,EAClB,SAA0B,EAC1B,QAAgB,EAChB,SAA2B,EAAE;IAE7B,OAAO;QACL,EAAE,EAAE,2BAA2B;QAC/B,UAAU;QACV,KAAK,EAAE;YACL,GAAG,eAAe,CAAC,UAAU,CAAC;YAC9B,wBAAwB,EAAE;YAC1B,gBAAgB,CAAC,uBAAuB,EAAE,SAAS,EAAE;gBACnD,IAAI,EAAE,cAAc,WAAW,EAAE;gBACjC,KAAK,EAAE,mBAAmB;aAC3B,CAAC;YACF,GAAG,iBAAiB,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,MAAM,EAAE,CAAC;SACzD;KACF,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,EAAE;AACF,iFAAiF;AACjF,iFAAiF;AACjF,gFAAgF;AAChF,mEAAmE;AACnE,+EAA+E;AAC/E,2EAA2E;AAC3E,kFAAkF;AAClF,kFAAkF;AAClF,gEAAgE;AAChE,EAAE;AACF,4EAA4E;AAC5E,kFAAkF;AAClF,iFAAiF;AACjF,+EAA+E;AAE/E,mFAAmF;AACnF,SAAS,iBAAiB,CAAC,YAAoB;IAC7C,OAAO,wBAAwB,qBAAqB,gCAAgC,YAAY,IAAI,CAAC;AACvG,CAAC;AACD,2FAA2F;AAC3F,MAAM,wBAAwB,GAAG,sEAAsE,CAAC;AACxG,MAAM,qBAAqB,GAAG,oBAAoB,wBAAwB,EAAE,CAAC;AAC7E,8FAA8F;AAC9F,MAAM,mBAAmB,GAAG,cAAc,WAAW,EAAE,CAAC;AACxD,MAAM,yBAAyB,GAAG,mBAAmB,mBAAmB,EAAE,CAAC;AAE3E;;;;;;;GAOG;AACH,MAAM,UAAU,0BAA0B,CACxC,iBAAyB,EACzB,YAAoB,EACpB,gBAAwB;IAExB,OAAO;QACL,EAAE,EAAE,iCAAiC;QACrC,UAAU,EAAE,iBAAiB;QAC7B,KAAK,EAAE;YACL;gBACE,SAAS,EAAE,QAAQ;gBACnB,KAAK,EAAE,0DAA0D;gBACjE,KAAK,EAAE,iBAAiB;aACzB;YACD;gBACE,sEAAsE;gBACtE,6DAA6D;gBAC7D,SAAS,EAAE,UAAU;gBACrB,KAAK,EAAE,yEAAyE;aACjF;YACD;gBACE,SAAS,EAAE,eAAe;gBAC1B,KAAK,EAAE,4CAA4C,YAAY,IAAI;gBACnE,IAAI,EAAE,iBAAiB,CAAC,YAAY,CAAC;gBACrC,UAAU,EAAE,wBAAwB;gBACpC,WAAW,EAAE,2BAA2B;gBACxC,eAAe,EAAE,IAAI;gBACrB,OAAO,EAAE,IAAI;gBACb,UAAU,EAAE,OAAO;aACpB;YACD;gBACE,SAAS,EAAE,eAAe;gBAC1B,KAAK,EAAE,uBAAuB;gBAC9B,IAAI,EAAE,wBAAwB,qBAAqB,gCAAgC;gBACnF,UAAU,EAAE,mBAAmB;gBAC/B,WAAW,EAAE,0BAA0B;gBACvC,eAAe,EAAE,IAAI;gBACrB,OAAO,EAAE,IAAI;gBACb,UAAU,EAAE,OAAO;aACpB;YACD;gBACE,SAAS,EAAE,WAAW;gBACtB,KAAK,EAAE,yBAAyB,gBAAgB,yBAAyB;gBACzE,IAAI,EAAE,yBAAyB;gBAC/B,KAAK,EAAE,gBAAgB;gBACvB,OAAO,EAAE,IAAI;gBACb,UAAU,EAAE,OAAO;aACpB;YACD;gBACE,SAAS,EAAE,KAAK;gBAChB,KAAK,EAAE,yDAAyD;gBAChE,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,IAAI;gBACb,UAAU,EAAE,OAAO;aACpB;SACF;KACF,CAAC;AACJ,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,qBAAqB,CAAC,aAAqB,EAAE,YAAoB;IAC/E,OAAO;QACL,EAAE,EAAE,0BAA0B;QAC9B,UAAU,EAAE,aAAa;QACzB,KAAK,EAAE;YACL;gBACE,SAAS,EAAE,QAAQ;gBACnB,KAAK,EAAE,6DAA6D;gBACpE,KAAK,EAAE,aAAa;aACrB;YACD;gBACE,sEAAsE;gBACtE,6DAA6D;gBAC7D,SAAS,EAAE,UAAU;gBACrB,KAAK,EAAE,yEAAyE;aACjF;YACD;gBACE,SAAS,EAAE,eAAe;gBAC1B,KAAK,EAAE,4CAA4C,YAAY,IAAI;gBACnE,IAAI,EAAE,iBAAiB,CAAC,YAAY,CAAC;gBACrC,UAAU,EAAE,wBAAwB;gBACpC,WAAW,EAAE,2BAA2B;gBACxC,eAAe,EAAE,IAAI;gBACrB,OAAO,EAAE,IAAI;gBACb,UAAU,EAAE,OAAO;aACpB;YACD;gBACE,sEAAsE;gBACtE,uEAAuE;gBACvE,SAAS,EAAE,eAAe;gBAC1B,KAAK,EAAE,6EAA6E;gBACpF,IAAI,EAAE,wBAAwB,qBAAqB,iCAAiC;gBACpF,OAAO,EAAE,IAAI;gBACb,UAAU,EAAE,OAAO;aACpB;SACF;KACF,CAAC;AACJ,CAAC;AAED,yEAAyE;AAEzE;;;;;;GAMG;AACH,MAAM,UAAU,wBAAwB,CACtC,MAAuC,EACvC,SAA2B;IAE3B,MAAM,WAAW,GACf,SAAS,CAAC,IAAI,KAAK,QAAQ;QACzB,CAAC,CAAC,UAAU,SAAS,CAAC,KAAK,GAAG;QAC9B,CAAC,CAAC,SAAS,CAAC,IAAI,KAAK,OAAO;YAC1B,CAAC,CAAC,UAAU,SAAS,CAAC,KAAK,GAAG;YAC9B,CAAC,CAAC,SAAS,CAAC,IAAI,KAAK,OAAO;gBAC1B,CAAC,CAAC,6BAA6B;gBAC/B,CAAC,CAAC,gCAAgC,CAAC;IAC3C,OAAO;QACL,EAAE,EAAE,cAAc;QAClB,UAAU,EAAE,MAAM,CAAC,IAAI;QACvB,KAAK,EAAE;YACL;gBACE,mEAAmE;gBACnE,0CAA0C;gBAC1C,SAAS,EAAE,UAAU;gBACrB,KAAK,EAAE,qEAAqE;aAC7E;YACD;gBACE,SAAS,EAAE,cAAc;gBACzB,KAAK,EAAE,kBAAkB,MAAM,CAAC,KAAK,KAAK,WAAW,EAAE;gBACvD,OAAO,EAAE,IAAI;gBACb,IAAI,EAAE,EAAE,UAAU,EAAE,MAAM,CAAC,IAAI,EAAE,WAAW,EAAE,MAAM,CAAC,KAAK,EAAE,SAAS,EAAE;aACxE;SACF;KACF,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"ui-recipes.js","sourceRoot":"","sources":["../../../src/write/vectors/ui-recipes.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type ThingsApiConfig } from "../../config.ts";
|
|
2
2
|
import { type UiDriveAux } from "./ui-drag.ts";
|
|
3
3
|
import type { UiPrimitive, UiStep, WriteVector } from "./types.ts";
|
|
4
4
|
/**
|
|
@@ -53,6 +53,24 @@ export declare function axPressScript(path: string): string;
|
|
|
53
53
|
* reveal/activate preamble puts Things there. One stable command shape.
|
|
54
54
|
*/
|
|
55
55
|
export declare function axSetValueScript(path: string, value: string, attempts?: number): string;
|
|
56
|
+
/**
|
|
57
|
+
* ensure-checkbox: converge a dialog checkbox to a target state through a
|
|
58
|
+
* DETERMINISTIC CLOSED LOOP (RRD1, determinism doctrine) — never a blind toggle.
|
|
59
|
+
* It reads the checkbox's `AXValue` (0 = unchecked, 1 = checked), presses it ONLY
|
|
60
|
+
* when the observed value differs from `target`, then RE-READS to confirm the new
|
|
61
|
+
* value equals `target`. A press that did not register (or a value that has not
|
|
62
|
+
* settled) is retried a bounded number of times; if it never converges the script
|
|
63
|
+
* FAILS CLOSED (an `error`, i.e. a transport failure the pipeline re-verifies).
|
|
64
|
+
*
|
|
65
|
+
* This is what makes the "Add deadlines" / "Add reminders" checkboxes safe on a
|
|
66
|
+
* PRE-POPULATED reschedule dialog: the dialog opens with the item's CURRENT
|
|
67
|
+
* deadline/reminder state already ticked, so the old unconditional `click`
|
|
68
|
+
* FLIPPED an already-correct box the wrong way — the live #493-adjacent bug where
|
|
69
|
+
* a blind "Add deadlines" press UNCHECKED an already-deadlined rule and hid the
|
|
70
|
+
* "start N days earlier" field, collapsing the drive. Reading before pressing
|
|
71
|
+
* makes an already-correct box a no-op. One stable command shape per primitive.
|
|
72
|
+
*/
|
|
73
|
+
export declare function axEnsureCheckboxScript(path: string, target: boolean, attempts?: number): string;
|
|
56
74
|
/**
|
|
57
75
|
* select-popup: choose an item in a pop-up button by NAME. Setting `value` on a
|
|
58
76
|
* Things pop-up button is a silent no-op (UIC1 / UI2-i) — the control must be
|
|
@@ -112,12 +130,41 @@ export declare function axSelectRowScript(tablePath: string, title: string): str
|
|
|
112
130
|
* One stable command shape per primitive.
|
|
113
131
|
*/
|
|
114
132
|
export declare function axSelectHeadingRowScript(tablePath: string, ordinal: number): string;
|
|
133
|
+
/**
|
|
134
|
+
* assert-eligible: after a `things:///show?id=` reveal, VERIFY the target to-do
|
|
135
|
+
* is genuinely the sole selection AND that the menu item that acts on it is
|
|
136
|
+
* enabled — before the menu is pressed (ADR1, issue #480). The reveal is assumed
|
|
137
|
+
* to select the row, but on some surfaces it can navigate without selecting; an
|
|
138
|
+
* AXPress on the resulting DISABLED `Items ▸ Repeat…` is a silent no-op, so the
|
|
139
|
+
* dialog never opens and the drive dies far downstream at the dialog-wait timeout
|
|
140
|
+
* with no hint of the real cause. Reading `Things3 → id of selected to dos` is
|
|
141
|
+
* uuid-precise (never a fuzzy title match), so a match GUARANTEES the intended row
|
|
142
|
+
* is selected. Returns "OK" only when exactly the target is selected and the menu
|
|
143
|
+
* item is enabled; otherwise a diagnostic (`NOTSEL…`/`WRONGSEL…`/`DISABLED…`)
|
|
144
|
+
* naming expected vs observed. Pure System Events + Things scripting, background-
|
|
145
|
+
* capable. One stable command shape per primitive.
|
|
146
|
+
*/
|
|
147
|
+
export declare function axAssertEligibleScript(targetUuid: string, menuItemPath: string): string;
|
|
115
148
|
/** activate: foreground Things (the fallback preamble step). */
|
|
116
149
|
export declare function axActivateScript(): string;
|
|
117
150
|
/** key: a space-separated keystroke spec (e.g. "down down return"). */
|
|
118
151
|
export declare function axKeyScript(keys: string): string;
|
|
119
152
|
/** The abort keystroke sent to dismiss a half-open sheet/popover on failure. */
|
|
120
153
|
export declare function axAbortScript(): string;
|
|
154
|
+
/**
|
|
155
|
+
* The PROVEN app-level clearance / relocation maneuver (SESSGATE, #480, live-host
|
|
156
|
+
* recovery): close the front Things window — which takes an attached modal sheet
|
|
157
|
+
* with it — then reopen and activate. Runs entirely through Things' own
|
|
158
|
+
* AppleScript dictionary, so it works WITHOUT the Accessibility tree (the exact
|
|
159
|
+
* property needed when the session is AX-blind). Two uses:
|
|
160
|
+
* - CLEANUP: clear a stuck modal sheet a failed drive left open (unblocks the
|
|
161
|
+
* app-wide AppleScript-mutation freeze that sheet imposes);
|
|
162
|
+
* - RELOCATION: pull a window that was on another Space back to the current one
|
|
163
|
+
* so its dialog can open AX-reachably (the wrong-Space recovery branch).
|
|
164
|
+
* `reopen` restores the default window on the CURRENT Space; `activate` foregrounds
|
|
165
|
+
* it. Returns "OK".
|
|
166
|
+
*/
|
|
167
|
+
export declare function axCloseReopenActivateScript(): string;
|
|
121
168
|
/**
|
|
122
169
|
* sheet-open probe: is a modal SHEET attached to the Things standard window, OR
|
|
123
170
|
* a detached repeat-editor / popover window (an `AXUnknown` that is not the
|
|
@@ -147,19 +194,38 @@ export declare function axFrameScript(path: string): string;
|
|
|
147
194
|
*/
|
|
148
195
|
export declare function jxaClickScript(x: number, y: number): string;
|
|
149
196
|
/**
|
|
150
|
-
* set-datetime: set the Repeat dialog's `AXDateTimeArea`
|
|
151
|
-
*
|
|
152
|
-
*
|
|
153
|
-
*
|
|
154
|
-
* `AXUIElementSetAttributeValue(…, AXValue, <NSDate>)` directly.
|
|
155
|
-
*
|
|
156
|
-
*
|
|
157
|
-
*
|
|
158
|
-
*
|
|
159
|
-
* `
|
|
160
|
-
*
|
|
197
|
+
* set-datetime: set ONE of the Repeat dialog's `AXDateTimeArea` controls via the
|
|
198
|
+
* ObjC AX bridge. Things' date/time controls hold an NSDate, and System Events
|
|
199
|
+
* cannot write them (`set value … to <date>` → -10000, UIC6), so — like the
|
|
200
|
+
* mouse-synthesis primitive — this runs in JXA and calls
|
|
201
|
+
* `AXUIElementSetAttributeValue(…, AXValue, <NSDate>)` directly.
|
|
202
|
+
*
|
|
203
|
+
* A fixed rule can expose up to THREE date areas at once — "Next:" (first
|
|
204
|
+
* occurrence), "Ends: on date", and the reminder time (ANCH2 census). Targeting
|
|
205
|
+
* "the first AXDateTimeArea by role" is therefore AMBIGUOUS — that ambiguity
|
|
206
|
+
* collapsed the series when `--ends-on` added a second area (oddities §8v, now
|
|
207
|
+
* retracted) and made the reminder look undrivable (UIC6-g, now retracted). This
|
|
208
|
+
* driver selects DETERMINISTICALLY by `target` (ANCH2, docs/lab/anch2-next-field.md):
|
|
209
|
+
* - `reminder` — the only area carrying a time-of-day (the date pickers sit at
|
|
210
|
+
* midnight); falls back to the bottom-most area if none carry a time.
|
|
211
|
+
* - `next` — the TOP (smallest-y) midnight date picker.
|
|
212
|
+
* - `ends` — the BOTTOM (largest-y) midnight date picker (present only once
|
|
213
|
+
* "Ends: on date" is selected).
|
|
214
|
+
* The areas are polled briefly (revealed a beat after the checkbox/pop-up), and
|
|
215
|
+
* the script THROWS a NAMED, structured error when the addressed control is
|
|
216
|
+
* absent — reporting which target was sought and the FULL date-area inventory of
|
|
217
|
+
* the current dialog state (count + per-area y / time-of-day) — so a dialog shape
|
|
218
|
+
* that does not present the target (e.g. the deadline-mode variant, YANCH1 #493)
|
|
219
|
+
* fails closed with an actionable message, never an uncaught `-[__NSArray0
|
|
220
|
+
* objectAtIndex:]` (-2700) from indexing an empty collection. It then READS THE
|
|
221
|
+
* CONTROL BACK after the write and throws if the committed value differs from the
|
|
222
|
+
* request: a control that silently rejects the write (the macOS error beep the
|
|
223
|
+
* user hears) must fail the step loudly, never leave a garbled/default value to be
|
|
224
|
+
* verified as ok (YANCH1; UIC6-g refuse-rather-than-commit precedent). `spec` is
|
|
225
|
+
* `time:HH:mm` (keep the date, set the time-of-day) or `date:YYYY-MM-DD` (set the
|
|
226
|
+
* calendar date at midnight). One stable JXA shape.
|
|
161
227
|
*/
|
|
162
|
-
export declare function axSetDateTimeScript(spec: string): string;
|
|
228
|
+
export declare function axSetDateTimeScript(spec: string, target: "next" | "ends" | "reminder"): string;
|
|
163
229
|
/** Parse a resolve-frame "x y w h" line into the frame's center point. */
|
|
164
230
|
export declare function parseFrameCenter(stdout: string): {
|
|
165
231
|
x: number;
|