things-api 0.10.0 → 0.11.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 (151) hide show
  1. package/README.md +38 -12
  2. package/dist/cli/clock.d.ts +8 -0
  3. package/dist/cli/clock.js +24 -0
  4. package/dist/cli/clock.js.map +1 -0
  5. package/dist/cli/commands/area.js +8 -9
  6. package/dist/cli/commands/area.js.map +1 -1
  7. package/dist/cli/commands/install-skill.d.ts +45 -0
  8. package/dist/cli/commands/install-skill.js +207 -0
  9. package/dist/cli/commands/install-skill.js.map +1 -0
  10. package/dist/cli/commands/project.js +7 -6
  11. package/dist/cli/commands/project.js.map +1 -1
  12. package/dist/cli/commands/reads.d.ts +15 -2
  13. package/dist/cli/commands/reads.js +45 -17
  14. package/dist/cli/commands/reads.js.map +1 -1
  15. package/dist/cli/commands/setup.js +7 -2
  16. package/dist/cli/commands/setup.js.map +1 -1
  17. package/dist/cli/commands/show.js +6 -6
  18. package/dist/cli/commands/show.js.map +1 -1
  19. package/dist/cli/commands/todo.js +14 -8
  20. package/dist/cli/commands/todo.js.map +1 -1
  21. package/dist/cli/commands/writes.js +29 -32
  22. package/dist/cli/commands/writes.js.map +1 -1
  23. package/dist/cli/glyphs.d.ts +16 -0
  24. package/dist/cli/glyphs.js +23 -0
  25. package/dist/cli/glyphs.js.map +1 -1
  26. package/dist/cli/help.js +56 -6
  27. package/dist/cli/help.js.map +1 -1
  28. package/dist/cli/main.js +33 -2
  29. package/dist/cli/main.js.map +1 -1
  30. package/dist/cli/move-hint.d.ts +45 -0
  31. package/dist/cli/move-hint.js +196 -0
  32. package/dist/cli/move-hint.js.map +1 -0
  33. package/dist/cli/period.d.ts +2 -8
  34. package/dist/cli/period.js +44 -30
  35. package/dist/cli/period.js.map +1 -1
  36. package/dist/cli/read-driver.js +11 -1
  37. package/dist/cli/read-driver.js.map +1 -1
  38. package/dist/cli/render.js +16 -7
  39. package/dist/cli/render.js.map +1 -1
  40. package/dist/cli/skill-check.d.ts +21 -0
  41. package/dist/cli/skill-check.js +82 -0
  42. package/dist/cli/skill-check.js.map +1 -0
  43. package/dist/cli/skill.d.ts +62 -0
  44. package/dist/cli/skill.js +142 -0
  45. package/dist/cli/skill.js.map +1 -0
  46. package/dist/cli/tag-filters.d.ts +6 -2
  47. package/dist/cli/tag-filters.js +8 -6
  48. package/dist/cli/tag-filters.js.map +1 -1
  49. package/dist/cli/verb-hint.js +27 -2
  50. package/dist/cli/verb-hint.js.map +1 -1
  51. package/dist/cli/version.d.ts +4 -0
  52. package/dist/cli/version.js +18 -0
  53. package/dist/cli/version.js.map +1 -0
  54. package/dist/client.d.ts +35 -12
  55. package/dist/client.js +42 -18
  56. package/dist/client.js.map +1 -1
  57. package/dist/contracts.d.ts +11 -1
  58. package/dist/contracts.js +1 -1
  59. package/dist/contracts.js.map +1 -1
  60. package/dist/index.d.ts +6 -1
  61. package/dist/index.js +3 -0
  62. package/dist/index.js.map +1 -1
  63. package/dist/mcp/server.js +550 -506
  64. package/dist/mcp/server.js.map +1 -1
  65. package/dist/model/clock.d.ts +61 -0
  66. package/dist/model/clock.js +71 -0
  67. package/dist/model/clock.js.map +1 -0
  68. package/dist/model/dates.d.ts +26 -3
  69. package/dist/model/dates.js +84 -3
  70. package/dist/model/dates.js.map +1 -1
  71. package/dist/model/entities.d.ts +17 -3
  72. package/dist/model/entities.js.map +1 -1
  73. package/dist/model/mappers.d.ts +2 -2
  74. package/dist/model/mappers.js +25 -7
  75. package/dist/model/mappers.js.map +1 -1
  76. package/dist/read/area-view.d.ts +1 -1
  77. package/dist/read/area-view.js +8 -6
  78. package/dist/read/area-view.js.map +1 -1
  79. package/dist/read/detail.d.ts +1 -1
  80. package/dist/read/detail.js +11 -4
  81. package/dist/read/detail.js.map +1 -1
  82. package/dist/read/log-boundary.d.ts +1 -1
  83. package/dist/read/log-boundary.js +13 -3
  84. package/dist/read/log-boundary.js.map +1 -1
  85. package/dist/read/project-view.d.ts +1 -1
  86. package/dist/read/project-view.js +8 -6
  87. package/dist/read/project-view.js.map +1 -1
  88. package/dist/read/queries.d.ts +3 -1
  89. package/dist/read/queries.js +27 -5
  90. package/dist/read/queries.js.map +1 -1
  91. package/dist/read/snapshot.d.ts +1 -1
  92. package/dist/read/snapshot.js +9 -2
  93. package/dist/read/snapshot.js.map +1 -1
  94. package/dist/read/truncation.d.ts +1 -1
  95. package/dist/read/truncation.js +2 -2
  96. package/dist/read/truncation.js.map +1 -1
  97. package/dist/read/views.d.ts +12 -11
  98. package/dist/read/views.js +48 -43
  99. package/dist/read/views.js.map +1 -1
  100. package/dist/write/accessibility-probe.d.ts +1 -1
  101. package/dist/write/accessibility-probe.js +8 -0
  102. package/dist/write/accessibility-probe.js.map +1 -1
  103. package/dist/write/automation-probe.d.ts +1 -1
  104. package/dist/write/automation-probe.js +8 -0
  105. package/dist/write/automation-probe.js.map +1 -1
  106. package/dist/write/batch.js +3 -2
  107. package/dist/write/batch.js.map +1 -1
  108. package/dist/write/commands.d.ts +1 -1
  109. package/dist/write/commands.js +54 -15
  110. package/dist/write/commands.js.map +1 -1
  111. package/dist/write/guards.d.ts +1 -1
  112. package/dist/write/guards.js +23 -0
  113. package/dist/write/guards.js.map +1 -1
  114. package/dist/write/pipeline.d.ts +54 -2
  115. package/dist/write/pipeline.js +112 -20
  116. package/dist/write/pipeline.js.map +1 -1
  117. package/dist/write/planner.js +8 -1
  118. package/dist/write/planner.js.map +1 -1
  119. package/dist/write/pre-state.d.ts +37 -0
  120. package/dist/write/pre-state.js +42 -0
  121. package/dist/write/pre-state.js.map +1 -1
  122. package/dist/write/recurrence-rule-blob.d.ts +65 -0
  123. package/dist/write/recurrence-rule-blob.js +150 -0
  124. package/dist/write/recurrence-rule-blob.js.map +1 -0
  125. package/dist/write/vectors/registry.d.ts +5 -7
  126. package/dist/write/vectors/registry.js +49 -2
  127. package/dist/write/vectors/registry.js.map +1 -1
  128. package/dist/write/vectors/simulator.d.ts +44 -0
  129. package/dist/write/vectors/simulator.js +1136 -0
  130. package/dist/write/vectors/simulator.js.map +1 -0
  131. package/dist/write/vectors/types.d.ts +35 -0
  132. package/dist/write/vectors/ui-certification.d.ts +9 -3
  133. package/dist/write/vectors/ui-certification.js +3 -6
  134. package/dist/write/vectors/ui-certification.js.map +1 -1
  135. package/dist/write/vectors/ui-recipes.d.ts +13 -0
  136. package/dist/write/vectors/ui-recipes.js +52 -0
  137. package/dist/write/vectors/ui-recipes.js.map +1 -1
  138. package/dist/write/vectors/ui.d.ts +15 -0
  139. package/dist/write/vectors/ui.js +54 -6
  140. package/dist/write/vectors/ui.js.map +1 -1
  141. package/dist/write/verify/delta.d.ts +110 -1
  142. package/dist/write/verify/delta.js +177 -15
  143. package/dist/write/verify/delta.js.map +1 -1
  144. package/dist/write/verify/poller.d.ts +7 -1
  145. package/dist/write/verify/poller.js +20 -1
  146. package/dist/write/verify/poller.js.map +1 -1
  147. package/package.json +18 -3
  148. package/skills/things-cli/SKILL.md +53 -0
  149. package/skills/things-cli/references/contracts.md +41 -0
  150. package/skills/things-cli/references/gui.md +11 -0
  151. package/skills/things-cli/references/model.md +51 -0
@@ -8,6 +8,7 @@ import { isUiDriveOp } from "./operations.js";
8
8
  import { isRepeatingTemplate } from "./pre-state.js";
9
9
  export const HAZARD_IDS = [
10
10
  "H-REPEAT-SCHEDULE",
11
+ "H-TEMPLATE-CHILD-RESTORE",
11
12
  "H-PROJECT-COMPLETE-CHILDREN",
12
13
  "H-CHECKLIST-REPLACE",
13
14
  "H-REOPEN-RESOLVED-PROJECT",
@@ -54,6 +55,28 @@ const GUARDS = {
54
55
  "replacement remain allowed on templates",
55
56
  };
56
57
  },
58
+ "H-TEMPLATE-CHILD-RESTORE": ({ op, pre }) => {
59
+ // A trashed to-do that lives under a repeating-template project cannot be
60
+ // restored: our restore moves the item to the Inbox, and the app refuses to
61
+ // move a template child out to a list (S-R3). Fail before the write so the
62
+ // caller gets the fact and the working alternative, not a raw move failure.
63
+ if (op !== "todo.restore")
64
+ return null;
65
+ const target = pre.target;
66
+ if (target === null || target.type !== "to-do")
67
+ return null;
68
+ const container = target.project ?? target.headingProject ?? null;
69
+ if (container?.isRepeatingTemplate !== true)
70
+ return null;
71
+ return {
72
+ hazard: "H-TEMPLATE-CHILD-RESTORE",
73
+ detail: "this to-do is a child of a repeating template — the Things app does not support " +
74
+ "restoring it from the Trash (a template child cannot be moved back out to a list)",
75
+ remediation: "recreate the to-do inside the template project — adding to-dos there, and editing " +
76
+ "their title and notes, do take effect (each new occurrence copies the template's " +
77
+ "current children)",
78
+ };
79
+ },
57
80
  "H-PROJECT-COMPLETE-CHILDREN": ({ op, params, pre }) => {
58
81
  if (op !== "project.complete" && op !== "project.cancel")
59
82
  return null;
@@ -1 +1 @@
1
- {"version":3,"file":"guards.js","sourceRoot":"","sources":["../../src/write/guards.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"guards.js","sourceRoot":"","sources":["../../src/write/guards.ts"],"names":[],"mappings":"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"}
@@ -8,7 +8,7 @@ import { type LikelyCause } from "./failure-hints.ts";
8
8
  import { type HazardId } from "./guards.ts";
9
9
  import type { Acknowledgements, OperationKind, OperationParamsMap } from "./operations.ts";
10
10
  import type { VectorId, WriteVector } from "./vectors/types.ts";
11
- import { type DeltaSpec } from "./verify/delta.ts";
11
+ import { type DeltaSpec, type RepeatingDiscovery } from "./verify/delta.ts";
12
12
  import { type PollerDeps } from "./verify/poller.ts";
13
13
  export interface WriteOptions extends Acknowledgements {
14
14
  /** Caps vector selection; defaults from the config profile. */
@@ -38,6 +38,20 @@ export interface WriteOptions extends Acknowledgements {
38
38
  * already-undone mutation is distinguishable from a nonexistent one.
39
39
  */
40
40
  undoOf?: string;
41
+ /**
42
+ * Consumer IANA zone for THIS write, overriding the client's default zone.
43
+ * Only affects the clock-relative `when` tokens (today/evening) when
44
+ * {@link normalizeWhen} is set. Reminder times stay wall-clock and untranslated.
45
+ */
46
+ zone?: string;
47
+ /**
48
+ * Normalize a CONSUMER-provided clock-relative `when` (today/evening) to the
49
+ * effective consumer zone BEFORE dispatch — set by the consumer entry points
50
+ * (the client's `run`, batch), NEVER by the internal orchestrators (undo,
51
+ * reorder), whose when tokens converse with app-written host state and must
52
+ * stay on the host clock.
53
+ */
54
+ normalizeWhen?: boolean;
41
55
  }
42
56
  export interface MutationPlan {
43
57
  op: OperationKind;
@@ -60,6 +74,15 @@ export type MutationResult = {
60
74
  * unaffected by any other mutations made in between.
61
75
  */
62
76
  undoToken?: string;
77
+ /**
78
+ * Make-repeating conversions (todo/project make-repeating, and
79
+ * project.create-repeating via its promote leg): the discovered template
80
+ * uuid, the FK-derived current-occurrence instance (use this for the
81
+ * VISIBLE item), and the replaced original uuid — plus `childrenReplaced`
82
+ * for project conversions. `uuid` still equals `templateUuid` (use it to
83
+ * reschedule the repeat). Absent for every other op.
84
+ */
85
+ repeating?: RepeatingDiscovery;
63
86
  /** Advisory notes (e.g. a changed environment tuple — consent may re-prompt later). */
64
87
  warnings?: string[];
65
88
  } | {
@@ -75,7 +98,7 @@ export type MutationResult = {
75
98
  } | {
76
99
  kind: "blocked";
77
100
  op: OperationKind;
78
- reason: "hazard" | "disruption-tier" | "drift" | "lock" | "environment";
101
+ reason: "hazard" | "disruption-tier" | "drift" | "lock" | "environment" | "clock";
79
102
  hazard?: HazardId;
80
103
  detail: string;
81
104
  remediation: string;
@@ -111,9 +134,38 @@ export interface WriteDeps {
111
134
  /** Seam: installed Things proxy shortcuts, for the pre-dispatch availability gate (availability.ts). */
112
135
  shortcutProxies?: () => ShortcutsState;
113
136
  now?: () => Date;
137
+ /** Default consumer IANA zone (client-resolved from THINGS_TZ); normalizes consumer `when` tokens. */
138
+ zone?: string;
114
139
  poller?: PollerDeps;
115
140
  pkgVersion?: string;
116
141
  }
117
142
  export declare function readAuthToken(db: DatabaseSync): string | null;
143
+ /**
144
+ * Normalize a CONSUMER-provided clock-relative `when` for the effective zone,
145
+ * so the app (which would interpret the bare word on the HOST clock) never sees
146
+ * a relative token that means a different calendar date for the consumer.
147
+ *
148
+ * - `today` → the consumer-zone calendar date, dispatched as an explicit
149
+ * `when=YYYY-MM-DD` (with any reminder still appended) so verification agrees
150
+ * by construction. When the consumer's today already equals the app's today
151
+ * the token is left as-is (byte-identical dispatch). A consumer-today that is
152
+ * host-yesterday yields a past startDate — coherent (lands in Today with
153
+ * overdue-start semantics), documented, not special-cased.
154
+ * - `evening` → This Evening exists ONLY for the app machine's own current day
155
+ * (the startBucket=1 rows whose startDate is exactly the app's today; an
156
+ * "evening of another day" is not representable in Things' model, not even in
157
+ * the GUI — see src/read/views.ts). Refused fail-closed when the dates differ.
158
+ *
159
+ * Reminder times are wall-clock and tz-less in Things' own model — never
160
+ * translated here.
161
+ */
162
+ export declare function normalizeConsumerWhen(params: Record<string, unknown>, now: Date, zone: string): {
163
+ ok: true;
164
+ params: Record<string, unknown>;
165
+ } | {
166
+ ok: false;
167
+ detail: string;
168
+ remediation: string;
169
+ };
118
170
  export declare function runMutation<K extends OperationKind>(deps: WriteDeps, op: K, params: OperationParamsMap[K], options?: WriteOptions): Promise<MutationResult>;
119
171
  export declare function fingerprintLabel(fp: FingerprintStatus, config: ThingsApiConfig): "ok" | "drift" | "user-accepted" | "unknown";
@@ -19,6 +19,7 @@ import { classifyTransportFailure, classifyVerifyFailure, } from "./failure-hint
19
19
  import { evaluateGuards } from "./guards.js";
20
20
  import { acquireMutationLock, MutationLockError } from "./lock.js";
21
21
  import { planVector } from "./planner.js";
22
+ import { REVERSIBILITY } from "./reversibility.js";
22
23
  import { certificationOf } from "./vectors/ui-certification.js";
23
24
  import { createDbReader, evaluateDelta, getField, } from "./verify/delta.js";
24
25
  import { pollUntilVerified } from "./verify/poller.js";
@@ -61,7 +62,9 @@ async function defaultEnsureRunning(alreadyRunning) {
61
62
  }
62
63
  /** Capture pre-values of asserted fields + movement tripwires for the spec. */
63
64
  function capturePre(spec, deps, pre) {
64
- const reader = createDbReader(deps.db);
65
+ // Same injected clock the write planner rides — so a captured pre-value of
66
+ // `todaySection` is judged under the SAME Today the post-op read will be.
67
+ const reader = createDbReader(deps.db, deps.now?.() ?? new Date(), deps.zone);
65
68
  const modDates = {};
66
69
  const fields = {};
67
70
  const captureFor = (uuid, assertions) => {
@@ -107,6 +110,43 @@ function capturePre(spec, deps, pre) {
107
110
  function withHint(base, hint) {
108
111
  return hint === null ? base : { ...base, likelyCause: hint.likelyCause, hint: hint.hint };
109
112
  }
113
+ /**
114
+ * Normalize a CONSUMER-provided clock-relative `when` for the effective zone,
115
+ * so the app (which would interpret the bare word on the HOST clock) never sees
116
+ * a relative token that means a different calendar date for the consumer.
117
+ *
118
+ * - `today` → the consumer-zone calendar date, dispatched as an explicit
119
+ * `when=YYYY-MM-DD` (with any reminder still appended) so verification agrees
120
+ * by construction. When the consumer's today already equals the app's today
121
+ * the token is left as-is (byte-identical dispatch). A consumer-today that is
122
+ * host-yesterday yields a past startDate — coherent (lands in Today with
123
+ * overdue-start semantics), documented, not special-cased.
124
+ * - `evening` → This Evening exists ONLY for the app machine's own current day
125
+ * (the startBucket=1 rows whose startDate is exactly the app's today; an
126
+ * "evening of another day" is not representable in Things' model, not even in
127
+ * the GUI — see src/read/views.ts). Refused fail-closed when the dates differ.
128
+ *
129
+ * Reminder times are wall-clock and tz-less in Things' own model — never
130
+ * translated here.
131
+ */
132
+ export function normalizeConsumerWhen(params, now, zone) {
133
+ const when = params["when"];
134
+ if (when !== "today" && when !== "evening")
135
+ return { ok: true, params };
136
+ const consumerToday = localToday(now, zone);
137
+ const hostToday = localToday(now);
138
+ if (consumerToday === hostToday)
139
+ return { ok: true, params };
140
+ if (when === "today")
141
+ return { ok: true, params: { ...params, when: consumerToday } };
142
+ return {
143
+ ok: false,
144
+ detail: `This Evening exists only for the app machine's current day (${hostToday}), but the ` +
145
+ `requested time zone (${zone}) is on ${consumerToday}, so the item cannot be placed there`,
146
+ remediation: `schedule an explicit date (when=${consumerToday}; it lands in that day's section, not ` +
147
+ `This Evening), or set this host's system time zone to the consumer's so the calendars match`,
148
+ };
149
+ }
110
150
  export async function runMutation(deps, op, params, options = {}) {
111
151
  const startedAt = deps.now?.() ?? new Date();
112
152
  // Uuid params accept unique PREFIXES (>= 6 chars) — resolved to full uuids
@@ -237,6 +277,26 @@ export async function runMutation(deps, op, params, options = {}) {
237
277
  remediation: block.remediation,
238
278
  };
239
279
  }
280
+ // 3b. Consumer-zone `when` normalization (consumer entry points only —
281
+ // undo/reorder never set normalizeWhen, so their host-clock when tokens are
282
+ // untouched). Rewrites `today` to the consumer-zone date and refuses a
283
+ // cross-date `evening` fail-closed, BEFORE compile so the explicit-date
284
+ // branch of the delta verifies it.
285
+ const effectiveZone = options.zone ?? deps.zone;
286
+ if (options.normalizeWhen === true && effectiveZone !== undefined) {
287
+ const norm = normalizeConsumerWhen(params, deps.now?.() ?? new Date(), effectiveZone);
288
+ if (!norm.ok) {
289
+ audit({ result: blockedCode({ reason: "clock" }) });
290
+ return {
291
+ kind: "blocked",
292
+ op,
293
+ reason: "clock",
294
+ detail: norm.detail,
295
+ remediation: norm.remediation,
296
+ };
297
+ }
298
+ params = norm.params;
299
+ }
240
300
  // 4. Vector planning under the disruption policy.
241
301
  const appRunning = (deps.isAppRunning ?? defaultIsAppRunning)();
242
302
  const plan = planVector(op, deps.vectors, {
@@ -282,7 +342,26 @@ export async function runMutation(deps, op, params, options = {}) {
282
342
  // 5. Compile + expected delta.
283
343
  const nowEpoch = Math.floor((deps.now?.() ?? new Date()).getTime() / 1000);
284
344
  const token = readAuthToken(deps.db);
285
- const invocation = spec.compile(params, vector.id, pre, { token });
345
+ // The simulator vector applies mutations from STRUCTURED op/params via SQL,
346
+ // never from a compiled payload — and a single VectorId cannot satisfy the
347
+ // transport-specific `spec.compile` of every operation (url-scheme-only vs
348
+ // applescript/shortcuts). So skip compile for it and synthesize a redacted
349
+ // marker for the audit trail. Real transports compile as before, then carry
350
+ // the structured input additively (they ignore it).
351
+ const invocation = vector.simulates === true
352
+ ? {
353
+ vector: vector.id,
354
+ kind: "open-url",
355
+ payload: `simulated:${op}`,
356
+ redactedPayload: `simulated:${op}`,
357
+ op,
358
+ opParams: params,
359
+ }
360
+ : spec.compile(params, vector.id, pre, { token });
361
+ if (vector.simulates !== true) {
362
+ invocation.op = op;
363
+ invocation.opParams = params;
364
+ }
286
365
  const delta = spec.expectedDelta(pre, params, {
287
366
  nowEpoch,
288
367
  todayIso: localToday(deps.now?.() ?? new Date()),
@@ -325,16 +404,20 @@ export async function runMutation(deps, op, params, options = {}) {
325
404
  }
326
405
  // 6. Ensure the app is running in the BACKGROUND before dispatch —
327
406
  // plain opens and AppleEvents to a closed Things steal focus (A40/A41).
328
- const running = await (deps.ensureRunning ?? defaultEnsureRunning)(appRunning);
329
- if (!running) {
330
- audit({ result: blockedCode({ reason: "environment" }) });
331
- return {
332
- kind: "blocked",
333
- op,
334
- reason: "environment",
335
- detail: "Things did not become available after a background launch attempt",
336
- remediation: "launch Things manually and retry",
337
- };
407
+ // A simulating vector applies SQL to a fixture DB and never touches the
408
+ // real app, so it neither needs nor may trigger the background launch.
409
+ if (vector.simulates !== true) {
410
+ const running = await (deps.ensureRunning ?? defaultEnsureRunning)(appRunning);
411
+ if (!running) {
412
+ audit({ result: blockedCode({ reason: "environment" }) });
413
+ return {
414
+ kind: "blocked",
415
+ op,
416
+ reason: "environment",
417
+ detail: "Things did not become available after a background launch attempt",
418
+ remediation: "launch Things manually and retry",
419
+ };
420
+ }
338
421
  }
339
422
  // 7. Execute + verify. The environment tuple diff feeds failure
340
423
  // attribution (a changed tuple is the classic consent re-prompt trigger)
@@ -387,7 +470,11 @@ export async function runMutation(deps, op, params, options = {}) {
387
470
  environmentChanges: envChanges,
388
471
  }));
389
472
  }
390
- const reader = createDbReader(deps.db);
473
+ // Verify under the injected clock (deps.now/deps.zone), never the wall
474
+ // clock: an `evening`/`today` write dated pinned-today must read back IN
475
+ // Today at verify time, or its `todaySection` assertion fails under a
476
+ // pinned THINGS_NOW (bench-caught #211 regression).
477
+ const reader = createDbReader(deps.db, deps.now?.() ?? new Date(), deps.zone);
391
478
  const timeoutMs = options.verifyTimeoutMs ?? (appRunning ? 6000 : 10_000);
392
479
  const outcome = await pollUntilVerified(() => evaluateDelta(delta, reader, preCapture), timeoutMs, deps.poller ?? {});
393
480
  const auditCommon = {
@@ -411,8 +498,9 @@ export async function runMutation(deps, op, params, options = {}) {
411
498
  }
412
499
  // The undo token identifies THIS record on the trail (see undoToken); a
413
500
  // leg's token would be its shared txn id, but legs are never undone
414
- // directly, so we only surface it for non-leg writes.
415
- const resultToken = options.txn?.role === "leg"
501
+ // directly, so we only surface it for non-leg writes. Irreversible ops get
502
+ // NO token: `undo --txn` can only refuse it, so emitting one is misleading.
503
+ const resultToken = options.txn?.role === "leg" || REVERSIBILITY[op].class === "irreversible"
416
504
  ? undefined
417
505
  : undoToken({
418
506
  ts: startedAt.toISOString(),
@@ -423,6 +511,8 @@ export async function runMutation(deps, op, params, options = {}) {
423
511
  ...(options.txn !== undefined && { txn: options.txn }),
424
512
  });
425
513
  const warnings = [];
514
+ if (outcome.repeatingWarnings !== undefined)
515
+ warnings.push(...outcome.repeatingWarnings);
426
516
  if (vector.id === "ui") {
427
517
  warnings.push("this change was applied by driving the local Things app through the Accessibility API");
428
518
  // Surface the drive's own step summary (e.g. how a sidebar move was
@@ -450,6 +540,7 @@ export async function runMutation(deps, op, params, options = {}) {
450
540
  vector: vector.id,
451
541
  tier: effectiveTier,
452
542
  ...(resultToken !== undefined && { undoToken: resultToken }),
543
+ ...(outcome.repeating !== undefined && { repeating: outcome.repeating }),
453
544
  ...(warnings.length > 0 && { warnings }),
454
545
  };
455
546
  }
@@ -460,11 +551,12 @@ export async function runMutation(deps, op, params, options = {}) {
460
551
  reason: outcome.kind,
461
552
  expected: delta,
462
553
  observed: outcome.observed,
463
- detail: outcome.kind === "silent-noop"
464
- ? "no observable change in the database (the app accepted the command but did nothing)"
465
- : outcome.kind === "timeout"
466
- ? "something moved but the expected state never appeared within the timeout"
467
- : "the database reached a state contradicting the expected delta",
554
+ detail: outcome.detail ??
555
+ (outcome.kind === "silent-noop"
556
+ ? "no observable change in the database (the app accepted the command but did nothing)"
557
+ : outcome.kind === "timeout"
558
+ ? "something moved but the expected state never appeared within the timeout"
559
+ : "the database reached a state contradicting the expected delta"),
468
560
  }, classifyVerifyFailure({
469
561
  reason: outcome.kind,
470
562
  vector: vector.id,
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline.js","sourceRoot":"","sources":["../../src/write/pipeline.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pipeline.js","sourceRoot":"","sources":["../../src/write/pipeline.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAI5D,OAAO,EAAE,SAAS,EAAoB,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAGhE,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,yBAAyB,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AACtF,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAuB,MAAM,mBAAmB,CAAC;AACnG,OAAO,EAAE,QAAQ,EAAoB,MAAM,eAAe,CAAC;AAC3D,OAAO,EACL,0BAA0B,EAC1B,eAAe,GAGhB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,0BAA0B,EAAE,MAAM,mBAAmB,CAAC;AAC/D,OAAO,EACL,wBAAwB,EACxB,qBAAqB,GAGtB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,cAAc,EAAkC,MAAM,aAAa,CAAC;AAC7E,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAEnE,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAEhE,OAAO,EACL,cAAc,EACd,aAAa,EACb,QAAQ,GAIT,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,iBAAiB,EAAmB,MAAM,oBAAoB,CAAC;AAkIxE,MAAM,UAAU,aAAa,CAAC,EAAgB;IAC5C,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,0DAA0D,CAAC,CAAC,GAAG,EAEzE,CAAC;QACd,OAAO,GAAG,EAAE,CAAC,IAAI,IAAI,CAAC;IACxB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,mBAAmB;IAC1B,IAAI,CAAC;QACH,YAAY,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC9D,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,6EAA6E;AAC7E,KAAK,UAAU,oBAAoB,CAAC,cAAuB;IACzD,IAAI,cAAc;QAAE,OAAO,IAAI,CAAC;IAChC,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;QAClC,QAAQ,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;IAC7D,CAAC,CAAC,CAAC;IACH,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC;IACrC,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,EAAE,CAAC;QAC7B,IAAI,mBAAmB,EAAE,EAAE,CAAC;YAC1B,4GAA4G;YAC5G,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,qBAAqB;YACpE,OAAO,IAAI,CAAC;QACd,CAAC;QACD,uFAAuF;QACvF,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IAC/C,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,+EAA+E;AAC/E,SAAS,UAAU,CACjB,IAAe,EACf,IAAe,EACf,GAAa;IAMb,2EAA2E;IAC3E,0EAA0E;IAC1E,MAAM,MAAM,GAAG,cAAc,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,IAAI,IAAI,IAAI,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9E,MAAM,QAAQ,GAAgB,EAAE,CAAC;IACjC,MAAM,MAAM,GAA4C,EAAE,CAAC;IAC3D,MAAM,UAAU,GAAG,CAAC,IAAY,EAAE,UAA+B,EAAQ,EAAE;QACzE,QAAQ,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACxC,MAAM,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACvC,MAAM,QAAQ,GAA4B,EAAE,CAAC;QAC7C,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;YAC3B,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC;QACxF,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC;IAC1B,CAAC,CAAC;IACF,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QACpD,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACjE,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC;QAClD,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YACxD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,OAAO;gBAAE,UAAU,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;QAC7D,CAAC;IACH,CAAC;IACD,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QAC7B,MAAM,QAAQ,GAA4B,EAAE,CAAC;QAC7C,qEAAqE;QACrE,6DAA6D;QAC7D,2CAA2C;QAC3C,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YACjD,QAAQ,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;QACjD,CAAC;QACD,MAAM,CAAC,cAAc,CAAC,GAAG,QAAQ,CAAC;IACpC,CAAC;IACD,IAAI,IAAI,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;QACnC,MAAM,OAAO,GAAG,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5D,MAAM,QAAQ,GAA4B,EAAE,CAAC;QAC7C,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM;YAAE,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,OAAO,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC;QAC5E,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC;IAC/B,CAAC;IACD,IAAI,IAAI,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;QAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,CAAC,YAAY,EAAE,CAAC;IAC9D,CAAC;IACD,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;AAC9B,CAAC;AAED,6FAA6F;AAC7F,SAAS,QAAQ,CAAmB,IAAO,EAAE,IAAwB;IACnE,OAAO,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;AAC5F,CAAC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,qBAAqB,CACnC,MAA+B,EAC/B,GAAS,EACT,IAAY;IAIZ,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;IAC5B,IAAI,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IACxE,MAAM,aAAa,GAAG,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAC5C,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;IAClC,IAAI,aAAa,KAAK,SAAS;QAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAC7D,IAAI,IAAI,KAAK,OAAO;QAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,EAAE,CAAC;IACtF,OAAO;QACL,EAAE,EAAE,KAAK;QACT,MAAM,EACJ,+DAA+D,SAAS,aAAa;YACrF,wBAAwB,IAAI,WAAW,aAAa,sCAAsC;QAC5F,WAAW,EACT,mCAAmC,aAAa,wCAAwC;YACxF,6FAA6F;KAChG,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,IAAe,EACf,EAAK,EACL,MAA6B,EAC7B,UAAwB,EAAE;IAE1B,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,EAAE,IAAI,IAAI,IAAI,EAAE,CAAC;IAC7C,2EAA2E;IAC3E,2EAA2E;IAC3E,4EAA4E;IAC5E,0EAA0E;IAC1E,6EAA6E;IAC7E,iDAAiD;IACjD,MAAM,CAAC,GAAG,MAAiC,CAAC;IAC5C,IAAI,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,QAAQ,EAAE,CAAC;QAClC,MAAM,IAAI,GAAG,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC;YACpC,CAAC,CAAC,yBAAyB,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;YAC/C,CAAC,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QAC/F,MAAM,GAAG,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,CAAC;IAC/B,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;QAC9B,MAAM,GAAG;YACP,GAAG,MAAM;YACT,KAAK,EAAG,CAAC,CAAC,OAAO,CAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;SACtF,CAAC;IACJ,CAAC;IACD,MAAM,IAAI,GAAG,QAAQ,CAAC,EAAE,CAAmB,CAAC;IAC5C,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;IAC3B,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC;IAC5C,2EAA2E;IAC3E,0EAA0E;IAC1E,0EAA0E;IAC1E,+BAA+B;IAC/B,MAAM,aAAa,GACjB,OAAO,CAAC,mBAAmB,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,IAAI,MAAM,CAAC,aAAa,CAAC,CAAC;IAE7F,MAAM,KAAK,GAAG,CAAC,OAAiE,EAAQ,EAAE;QACxF,MAAM,EAAE,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAC9B,MAAM,MAAM,GAAgB;YAC1B,CAAC,EAAE,CAAC;YACJ,EAAE,EAAE,SAAS,CAAC,WAAW,EAAE;YAC3B,KAAK;YACL,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,EAAE;YACF,IAAI,EAAE,IAAI;YACV,MAAM,EAAE,IAAI;YACZ,UAAU,EAAE,IAAI;YAChB,UAAU,EAAE,IAAI;YAChB,SAAS,EAAE,MAAiC;YAC5C,GAAG,CAAC,OAAO,CAAC,GAAG,KAAK,SAAS,IAAI,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC;YACtD,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;YAC/D,GAAG,EAAE,IAAI;YACT,QAAQ,EAAE,IAAI;YACd,MAAM,EAAE,IAAI;YACZ,UAAU,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,IAAI,IAAI,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,GAAG,SAAS,CAAC,OAAO,EAAE;YACxE,GAAG,EAAE;gBACH,GAAG,EAAE,IAAI,CAAC,UAAU,IAAI,OAAO;gBAC/B,SAAS,EAAE,EAAE,CAAC,WAAW,CAAC,eAAe;gBACzC,WAAW,EAAE,gBAAgB,CAAC,EAAE,EAAE,MAAM,CAAC;aAC1C;YACD,GAAG,OAAO;SACX,CAAC;QACF,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC5B,CAAC,CAAC;IAEF,4DAA4D;IAC5D,MAAM,EAAE,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;IAC9B,MAAM,OAAO,GAAG,gBAAgB,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;IAC7C,IAAI,OAAO,KAAK,OAAO,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QACjD,MAAM,MAAM,GACV,EAAE,CAAC,IAAI,KAAK,iBAAiB;YAC3B,CAAC,CAAC,4BAA4B,EAAE,CAAC,WAAW,CAAC,eAAe,IAAI,GAAG,kBAAkB;YACrF,CAAC,CAAC,uDAAuD,CAAC;QAC9D,KAAK,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;QACpD,OAAO;YACL,IAAI,EAAE,SAAS;YACf,EAAE;YACF,MAAM,EAAE,OAAO;YACf,WAAW,EAAE,cAAc;YAC3B,MAAM;YACN,WAAW,EACT,iFAAiF;gBACjF,0FAA0F;SAC7F,CAAC;IACJ,CAAC;IAED,sEAAsE;IACtE,IAAI,IAAyB,CAAC;IAC9B,IAAI,CAAC;QACH,IAAI,GAAG,MAAM,mBAAmB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAClD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,GAAG,YAAY,iBAAiB,EAAE,CAAC;YACrC,KAAK,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;YACnD,OAAO;gBACL,IAAI,EAAE,SAAS;gBACf,EAAE;gBACF,MAAM,EAAE,MAAM;gBACd,MAAM,EAAE,GAAG,CAAC,OAAO;gBACnB,WAAW,EAAE,sDAAsD;aACpE,CAAC;QACJ,CAAC;QACD,MAAM,GAAG,CAAC;IACZ,CAAC;IAED,IAAI,CAAC;QACH,wBAAwB;QACxB,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,IAAI,IAAI,IAAI,EAAE,CAAC,CAAC;QACtE,MAAM,IAAI,GAAqB;YAC7B,GAAG,CAAC,OAAO,CAAC,yBAAyB,KAAK,SAAS,IAAI;gBACrD,yBAAyB,EAAE,OAAO,CAAC,yBAAyB;aAC7D,CAAC;YACF,GAAG,CAAC,OAAO,CAAC,wBAAwB,KAAK,SAAS,IAAI;gBACpD,wBAAwB,EAAE,OAAO,CAAC,wBAAwB;aAC3D,CAAC;YACF,GAAG,CAAC,OAAO,CAAC,oBAAoB,KAAK,SAAS,IAAI;gBAChD,oBAAoB,EAAE,OAAO,CAAC,oBAAoB;aACnD,CAAC;YACF,GAAG,CAAC,OAAO,CAAC,qBAAqB,KAAK,SAAS,IAAI;gBACjD,qBAAqB,EAAE,OAAO,CAAC,qBAAqB;aACrD,CAAC;YACF,GAAG,CAAC,OAAO,CAAC,mBAAmB,KAAK,SAAS,IAAI;gBAC/C,mBAAmB,EAAE,OAAO,CAAC,mBAAmB;aACjD,CAAC;SACH,CAAC;QACF,MAAM,KAAK,GAAsB,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE;YAC5D,EAAE;YACF,MAAM,EAAE,MAAiC;YACzC,GAAG;YACH,IAAI;SACL,CAAC,CAAC;QACH,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YACnB,KAAK,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC;YAC3E,OAAO;gBACL,IAAI,EAAE,SAAS;gBACf,EAAE;gBACF,MAAM,EAAE,QAAQ;gBAChB,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,WAAW,EAAE,KAAK,CAAC,WAAW;aAC/B,CAAC;QACJ,CAAC;QAED,uEAAuE;QACvE,4EAA4E;QAC5E,uEAAuE;QACvE,wEAAwE;QACxE,mCAAmC;QACnC,MAAM,aAAa,GAAG,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC;QAChD,IAAI,OAAO,CAAC,aAAa,KAAK,IAAI,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;YAClE,MAAM,IAAI,GAAG,qBAAqB,CAChC,MAAiC,EACjC,IAAI,CAAC,GAAG,EAAE,EAAE,IAAI,IAAI,IAAI,EAAE,EAC1B,aAAa,CACd,CAAC;YACF,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;gBACb,KAAK,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;gBACpD,OAAO;oBACL,IAAI,EAAE,SAAS;oBACf,EAAE;oBACF,MAAM,EAAE,OAAO;oBACf,MAAM,EAAE,IAAI,CAAC,MAAM;oBACnB,WAAW,EAAE,IAAI,CAAC,WAAW;iBAC9B,CAAC;YACJ,CAAC;YACD,MAAM,GAAG,IAAI,CAAC,MAA+B,CAAC;QAChD,CAAC;QAED,kDAAkD;QAClD,MAAM,UAAU,GAAG,CAAC,IAAI,CAAC,YAAY,IAAI,mBAAmB,CAAC,EAAE,CAAC;QAChE,MAAM,IAAI,GAAG,UAAU,CAAC,EAAE,EAAE,IAAI,CAAC,OAAO,EAAE;YACxC,aAAa;YACb,UAAU;YACV,iBAAiB,EAAE,MAAM,CAAC,iBAAiB;YAC3C,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS,IAAI,EAAE,YAAY,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;SACtE,CAAC,CAAC;QACH,IAAI,IAAI,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;YAChC,KAAK,CAAC,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC;YACjC,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;QAClE,CAAC;QACD,IAAI,IAAI,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;YACjC,KAAK,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,EAAE,iBAAiB,EAAE,CAAC,EAAE,CAAC,CAAC;YAC9D,OAAO;gBACL,IAAI,EAAE,SAAS;gBACf,EAAE;gBACF,MAAM,EAAE,iBAAiB;gBACzB,MAAM,EACJ,mCAAmC,IAAI,CAAC,YAAY,GAAG;oBACvD,QAAQ,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,0BAA0B,KAAK;oBAChE,iBAAiB,IAAI,CAAC,aAAa,EAAE;gBACvC,WAAW,EAAE,uEAAuE;aACrF,CAAC;QACJ,CAAC;QACD,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC;QAEjD,sEAAsE;QACtE,kEAAkE;QAClE,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,YAAY,KAAK,IAAI,EAAE,CAAC;YACjD,MAAM,QAAQ,GAAG,CAAC,IAAI,CAAC,SAAS,IAAI,0BAA0B,CAAC,EAAE,CAAC;YAClE,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,KAAK,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,EAAE,CAAC,CAAC;gBAC1D,OAAO;oBACL,IAAI,EAAE,SAAS;oBACf,EAAE;oBACF,MAAM,EAAE,aAAa;oBACrB,MAAM,EACJ,6EAA6E;wBAC7E,0EAA0E;oBAC5E,WAAW,EACT,4EAA4E;wBAC5E,0BAA0B;iBAC7B,CAAC;YACJ,CAAC;QACH,CAAC;QAED,+BAA+B;QAC/B,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,IAAI,IAAI,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;QAC3E,MAAM,KAAK,GAAG,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACrC,4EAA4E;QAC5E,2EAA2E;QAC3E,2EAA2E;QAC3E,2EAA2E;QAC3E,4EAA4E;QAC5E,oDAAoD;QACpD,MAAM,UAAU,GACd,MAAM,CAAC,SAAS,KAAK,IAAI;YACvB,CAAC,CAAC;gBACE,MAAM,EAAE,MAAM,CAAC,EAAE;gBACjB,IAAI,EAAE,UAAU;gBAChB,OAAO,EAAE,aAAa,EAAE,EAAE;gBAC1B,eAAe,EAAE,aAAa,EAAE,EAAE;gBAClC,EAAE;gBACF,QAAQ,EAAE,MAAM;aACjB;YACH,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QACtD,IAAI,MAAM,CAAC,SAAS,KAAK,IAAI,EAAE,CAAC;YAC9B,UAAU,CAAC,EAAE,GAAG,EAAE,CAAC;YACnB,UAAU,CAAC,QAAQ,GAAG,MAAM,CAAC;QAC/B,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE;YAC5C,QAAQ;YACR,QAAQ,EAAE,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,IAAI,IAAI,IAAI,EAAE,CAAC;SACjD,CAAC,CAAC;QAEH,IAAI,OAAO,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;YAC5B,OAAO;gBACL,IAAI,EAAE,SAAS;gBACf,EAAE;gBACF,IAAI,EAAE;oBACJ,EAAE;oBACF,MAAM,EAAE,MAAM,CAAC,EAAE;oBACjB,IAAI,EAAE,aAAa;oBACnB,UAAU,EAAE,UAAU,CAAC,eAAe;oBACtC,aAAa,EAAE,KAAK;oBACpB,cAAc,EAAE,IAAI,CAAC,OAAO;iBAC7B;aACF,CAAC;QACJ,CAAC;QAED,0EAA0E;QAC1E,0EAA0E;QAC1E,0EAA0E;QAC1E,IAAI,MAAM,CAAC,EAAE,KAAK,WAAW,IAAI,UAAU,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YACnE,MAAM,OAAO,GAAG,CAAC,IAAI,CAAC,eAAe,IAAI,CAAC,GAAG,EAAE,CAAC,mBAAmB,EAAE,CAAC,CAAC,EAAE,CAAC;YAC1E,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACnD,KAAK,CAAC;oBACJ,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC;oBAC9C,MAAM,EAAE,MAAM,CAAC,EAAE;oBACjB,UAAU,EAAE,aAAa;oBACzB,UAAU,EAAE,UAAU,CAAC,eAAe;iBACvC,CAAC,CAAC;gBACH,OAAO;oBACL,IAAI,EAAE,SAAS;oBACf,EAAE;oBACF,MAAM,EAAE,aAAa;oBACrB,MAAM,EACJ,8BAA8B,UAAU,CAAC,QAAQ,4BAA4B;wBAC7E,mCAAmC;oBACrC,WAAW,EAAE,yEAAyE;iBACvF,CAAC;YACJ,CAAC;QACH,CAAC;QAED,mEAAmE;QACnE,wEAAwE;QACxE,wEAAwE;QACxE,uEAAuE;QACvE,IAAI,MAAM,CAAC,SAAS,KAAK,IAAI,EAAE,CAAC;YAC9B,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,IAAI,oBAAoB,CAAC,CAAC,UAAU,CAAC,CAAC;YAC/E,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,KAAK,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,EAAE,CAAC,CAAC;gBAC1D,OAAO;oBACL,IAAI,EAAE,SAAS;oBACf,EAAE;oBACF,MAAM,EAAE,aAAa;oBACrB,MAAM,EAAE,mEAAmE;oBAC3E,WAAW,EAAE,kCAAkC;iBAChD,CAAC;YACJ,CAAC;QACH,CAAC;QAED,gEAAgE;QAChE,yEAAyE;QACzE,oDAAoD;QACpD,MAAM,UAAU,GACd,IAAI,CAAC,WAAW,KAAK,SAAS;YAC5B,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;YACtE,CAAC,CAAC,EAAE,CAAC;QAET,MAAM,UAAU,GAAG,UAAU,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;QAEhD,wEAAwE;QACxE,yEAAyE;QACzE,0EAA0E;QAC1E,yEAAyE;QACzE,0EAA0E;QAC1E,4EAA4E;QAC5E,sEAAsE;QACtE,8EAA8E;QAC9E,MAAM,UAAU,GACd,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO;YAC/C,CAAC,CAAC,KAAK,CAAC,IAAI;YACZ,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK,UAAU;gBACzB,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,IAAI,IAAI,CAAC;gBACzB,CAAC,CAAC,IAAI,CAAC;QACb,KAAK,CAAC;YACJ,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE,MAAM,CAAC,EAAE;YACjB,UAAU,EAAE,aAAa;YACzB,UAAU,EAAE,UAAU,CAAC,eAAe;YACtC,GAAG,EAAE,gBAAgB,CAAC,UAAU,CAAC,MAAM,CAAC;YACxC,IAAI,EAAE,UAAU;SACjB,CAAC,CAAC;QAEH,MAAM,aAAa,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QACvD,IAAI,aAAa,CAAC,QAAQ,KAAK,CAAC,IAAI,aAAa,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;YACpE,KAAK,CAAC;gBACJ,MAAM,EAAE,gBAAgB,CAAC,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC;gBACnD,MAAM,EAAE,MAAM,CAAC,EAAE;gBACjB,UAAU,EAAE,aAAa;gBACzB,UAAU,EAAE,UAAU,CAAC,eAAe;gBACtC,GAAG,EAAE,gBAAgB,CAAC,UAAU,CAAC,MAAM,CAAC;aACzC,CAAC,CAAC;YACH,OAAO,QAAQ,CACb;gBACE,IAAI,EAAE,eAAwB;gBAC9B,EAAE;gBACF,MAAM,EAAE,aAAsB;gBAC9B,QAAQ,EAAE,KAAK;gBACf,QAAQ,EAAE,IAAI;gBACd,MAAM,EAAE,0BAA0B,aAAa,CAAC,QAAQ,IAAI,GAAG,GAAG,aAAa,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,MAAM,aAAa,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE;aAC1J,EACD,wBAAwB,CAAC;gBACvB,MAAM,EAAE,MAAM,CAAC,EAAE;gBACjB,MAAM,EAAE,aAAa,CAAC,MAAM;gBAC5B,QAAQ,EAAE,aAAa,CAAC,QAAQ,KAAK,IAAI;gBACzC,kBAAkB,EAAE,UAAU;aAC/B,CAAC,CACH,CAAC;QACJ,CAAC;QAED,uEAAuE;QACvE,yEAAyE;QACzE,sEAAsE;QACtE,oDAAoD;QACpD,MAAM,MAAM,GAAG,cAAc,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,IAAI,IAAI,IAAI,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9E,MAAM,SAAS,GAAG,OAAO,CAAC,eAAe,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QAC1E,MAAM,OAAO,GAAG,MAAM,iBAAiB,CACrC,GAAG,EAAE,CAAC,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,CAAC,EAC9C,SAAS,EACT,IAAI,CAAC,MAAM,IAAI,EAAE,CAClB,CAAC;QAEF,MAAM,WAAW,GAAG;YAClB,MAAM,EAAE,MAAM,CAAC,EAAE;YACjB,UAAU,EAAE,aAAa;YACzB,UAAU,EAAE,UAAU,CAAC,eAAe;YACtC,GAAG,EAAE,gBAAgB,CAAC,UAAU,CAAC,MAAM,CAAC;YACxC,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,MAAM,EAAE,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE;SACrE,CAAC;QAEF,IAAI,OAAO,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;YAC1B,MAAM,IAAI,GACR,OAAO,CAAC,cAAc;gBACtB,CAAC,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO;oBAChD,CAAC,CAAC,KAAK,CAAC,IAAI;oBACZ,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK,UAAU;wBACzB,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,IAAI,IAAI,CAAC;wBACzB,CAAC,CAAC,IAAI,CAAC,CAAC;YACd,KAAK,CAAC,EAAE,GAAG,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;YAC9C,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;gBACnC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC;YACtD,CAAC;YACD,wEAAwE;YACxE,oEAAoE;YACpE,2EAA2E;YAC3E,4EAA4E;YAC5E,MAAM,WAAW,GACf,OAAO,CAAC,GAAG,EAAE,IAAI,KAAK,KAAK,IAAI,aAAa,CAAC,EAAE,CAAC,CAAC,KAAK,KAAK,cAAc;gBACvE,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,SAAS,CAAC;oBACR,EAAE,EAAE,SAAS,CAAC,WAAW,EAAE;oBAC3B,EAAE;oBACF,KAAK;oBACL,IAAI,EAAE,MAAM,CAAC,IAAI;oBACjB,IAAI;oBACJ,GAAG,CAAC,OAAO,CAAC,GAAG,KAAK,SAAS,IAAI,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC;iBACvD,CAAC,CAAC;YACT,MAAM,QAAQ,GAAa,EAAE,CAAC;YAC9B,IAAI,OAAO,CAAC,iBAAiB,KAAK,SAAS;gBAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;YACzF,IAAI,MAAM,CAAC,EAAE,KAAK,IAAI,EAAE,CAAC;gBACvB,QAAQ,CAAC,IAAI,CACX,uFAAuF,CACxF,CAAC;gBACF,oEAAoE;gBACpE,sEAAsE;gBACtE,4DAA4D;gBAC5D,MAAM,YAAY,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;gBACjD,IAAI,YAAY,KAAK,EAAE;oBAAE,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBACrD,MAAM,IAAI,GAAG,eAAe,CAAC,EAAE,CAAC,CAAC;gBACjC,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;oBACtD,QAAQ,CAAC,IAAI,CACX,qBAAqB,IAAI,CAAC,MAAM,kDAAkD;wBAChF,uEAAuE,CAC1E,CAAC;gBACJ,CAAC;YACH,CAAC;YACD,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC1B,QAAQ,CAAC,IAAI,CACX,qDAAqD;oBACnD,GAAG,0BAA0B,CAAC,UAAU,CAAC,8BAA8B;oBACvE,4CAA4C,CAC/C,CAAC;YACJ,CAAC;YACD,OAAO;gBACL,IAAI,EAAE,IAAI;gBACV,EAAE;gBACF,IAAI;gBACJ,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,MAAM,EAAE,MAAM,CAAC,EAAE;gBACjB,IAAI,EAAE,aAAa;gBACnB,GAAG,CAAC,WAAW,KAAK,SAAS,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC;gBAC5D,GAAG,CAAC,OAAO,CAAC,SAAS,KAAK,SAAS,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC;gBACxE,GAAG,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC;aACzC,CAAC;QACJ,CAAC;QAED,KAAK,CAAC,EAAE,GAAG,WAAW,EAAE,MAAM,EAAE,gBAAgB,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;QAC9E,OAAO,QAAQ,CACb;YACE,IAAI,EAAE,eAAwB;YAC9B,EAAE;YACF,MAAM,EAAE,OAAO,CAAC,IAAI;YACpB,QAAQ,EAAE,KAAK;YACf,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,MAAM,EACJ,OAAO,CAAC,MAAM;gBACd,CAAC,OAAO,CAAC,IAAI,KAAK,aAAa;oBAC7B,CAAC,CAAC,qFAAqF;oBACvF,CAAC,CAAC,OAAO,CAAC,IAAI,KAAK,SAAS;wBAC1B,CAAC,CAAC,0EAA0E;wBAC5E,CAAC,CAAC,+DAA+D,CAAC;SACzE,EACD,qBAAqB,CAAC;YACpB,MAAM,EAAE,OAAO,CAAC,IAAI;YACpB,MAAM,EAAE,MAAM,CAAC,EAAE;YACjB,gBAAgB,EAAE,CAAC,IAAI,CAAC,gBAAgB,IAAI,CAAC,GAAG,EAAE,CAAC,oBAAoB,EAAE,CAAC,OAAO,CAAC,CAAC,EAAE;YACrF,kBAAkB,EAAE,UAAU;SAC/B,CAAC,CACH,CAAC;IACJ,CAAC;YAAS,CAAC;QACT,IAAI,CAAC,OAAO,EAAE,CAAC;IACjB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC9B,EAAqB,EACrB,MAAuB;IAEvB,IAAI,EAAE,CAAC,IAAI,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAClC,IAAI,EAAE,CAAC,IAAI,KAAK,iBAAiB;QAAE,OAAO,SAAS,CAAC;IACpD,OAAO,MAAM,CAAC,mBAAmB,KAAK,EAAE,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,OAAO,CAAC;AAC/F,CAAC;AAED,SAAS,gBAAgB,CACvB,MAA+C;IAE/C,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAClC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACpC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACtB,OAAO,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC;IAC5D,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -2,8 +2,15 @@ export function planVector(op, vectors, options) {
2
2
  const considered = [];
3
3
  const viable = [];
4
4
  for (const vector of vectors) {
5
- if (options.forcedVector !== undefined && vector.id !== options.forcedVector)
5
+ // A simulating vector stands in for EVERY transport (it applies structured
6
+ // op/params as SQL, not a compiled payload), so a leg that forces a vector —
7
+ // e.g. the repeating-project orchestrators forcing `ui`, or a `url-scheme`
8
+ // coercion leg — must still resolve to the simulator under the bench fence.
9
+ if (options.forcedVector !== undefined &&
10
+ vector.id !== options.forcedVector &&
11
+ vector.simulates !== true) {
6
12
  continue;
13
+ }
7
14
  const support = vector.matrix[op];
8
15
  if (support === undefined) {
9
16
  considered.push({ vector: vector.id, why: "no matrix entry for this operation" });
@@ -1 +1 @@
1
- {"version":3,"file":"planner.js","sourceRoot":"","sources":["../../src/write/planner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"planner.js","sourceRoot":"","sources":["../../src/write/planner.ts"],"names":[],"mappings":"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"}
@@ -90,6 +90,14 @@ export interface PreState {
90
90
  areaOrder: string[] | null;
91
91
  /** project.make-repeating: the row-selection taxonomy (UIC4-f). */
92
92
  projectRepeat: ProjectRepeatTaxonomy | null;
93
+ /**
94
+ * project.make-repeating: the uuids of the source subtree rows (non-trashed
95
+ * to-dos + headings) captured pre-write — the result's `childrenReplaced`
96
+ * counts how many of these are dead post-op. Null for non-project ops.
97
+ */
98
+ repeatSubtreeUuids: string[] | null;
99
+ /** heading.convert-to-project: the project-reveal + heading-row ordinal (HEADCERT1). */
100
+ headingConvert: HeadingConvertTaxonomy | null;
93
101
  }
94
102
  /**
95
103
  * Row-selection taxonomy for `project.make-repeating` (UIC4-f). A project is
@@ -125,6 +133,35 @@ export type ProjectRepeatTaxonomy = {
125
133
  detail: string;
126
134
  };
127
135
  export declare function emptyPreState(): PreState;
136
+ /**
137
+ * The uuids of a project's source subtree rows (non-trashed to-dos AND
138
+ * headings, direct or heading-nested). `childrenReplaced` counts how many of
139
+ * these are dead post-op — the whole subtree in the delete-remint fate, just
140
+ * the flattened nested-template row in the nested-repeater preserve fate.
141
+ */
142
+ export declare function projectSubtreeUuids(db: DatabaseSync, projectUuid: string): string[];
143
+ /**
144
+ * Taxonomy for `heading.convert-to-project`'s pure-AX drive (HEADCERT1). A
145
+ * heading is not selectable via `things:///show` (the reveal URL selects to-dos
146
+ * only — the UIC1 blocker), but revealing the heading's PARENT PROJECT shows its
147
+ * content table, in which the heading renders as a selectable ROW. The row
148
+ * exposes no stable AX title handle (its title lives only in a hover-dependent
149
+ * "More" affordance), so identity is POSITIONAL: `ordinal` is the heading's
150
+ * 0-based position among the project's non-trashed headings in display (`index`)
151
+ * order, and the select-heading-row primitive walks the content table selecting
152
+ * the Nth row that is selectable AND has an empty `selected to dos` readback (a
153
+ * heading, not a to-do). Two same-titled headings are therefore unambiguous.
154
+ */
155
+ export type HeadingConvertTaxonomy = {
156
+ kind: "ok";
157
+ projectReveal: string;
158
+ ordinal: number;
159
+ } | {
160
+ kind: "refuse";
161
+ refusal: "not-a-heading" | "no-project" | "not-found";
162
+ detail: string;
163
+ };
164
+ export declare function classifyHeadingConvert(db: DatabaseSync, target: AnyTask | null): HeadingConvertTaxonomy;
128
165
  /**
129
166
  * Classify a project for `project.make-repeating`'s pure-AX row-selection
130
167
  * recipe (UIC4-f), or refuse. Reads DB truth (area / start / template / status)
@@ -24,8 +24,50 @@ export function emptyPreState() {
24
24
  reorder: null,
25
25
  areaOrder: null,
26
26
  projectRepeat: null,
27
+ repeatSubtreeUuids: null,
28
+ headingConvert: null,
27
29
  };
28
30
  }
31
+ /**
32
+ * The uuids of a project's source subtree rows (non-trashed to-dos AND
33
+ * headings, direct or heading-nested). `childrenReplaced` counts how many of
34
+ * these are dead post-op — the whole subtree in the delete-remint fate, just
35
+ * the flattened nested-template row in the nested-repeater preserve fate.
36
+ */
37
+ export function projectSubtreeUuids(db, projectUuid) {
38
+ return db
39
+ .prepare(`SELECT uuid FROM TMTask
40
+ WHERE trashed = 0 AND (
41
+ (type = 0 AND (project = ? OR heading IN
42
+ (SELECT uuid FROM TMTask WHERE type = 2 AND project = ?)))
43
+ OR (type = 2 AND project = ?))`)
44
+ .all(projectUuid, projectUuid, projectUuid).map((r) => r.uuid);
45
+ }
46
+ export function classifyHeadingConvert(db, target) {
47
+ if (target === null || target.type !== "heading") {
48
+ return { kind: "refuse", refusal: "not-a-heading", detail: "target is not a heading" };
49
+ }
50
+ const project = target.project;
51
+ if (project === null) {
52
+ return {
53
+ kind: "refuse",
54
+ refusal: "no-project",
55
+ detail: "the heading has no owning project — cannot reveal a project view to select its row",
56
+ };
57
+ }
58
+ const rows = db
59
+ .prepare(`SELECT uuid FROM TMTask WHERE type = 2 AND project = ? AND trashed = 0 ORDER BY "index"`)
60
+ .all(project.uuid);
61
+ const ordinal = rows.findIndex((r) => r.uuid === target.uuid);
62
+ if (ordinal < 0) {
63
+ return {
64
+ kind: "refuse",
65
+ refusal: "not-found",
66
+ detail: "the heading was not found among its project's non-trashed headings",
67
+ };
68
+ }
69
+ return { kind: "ok", projectReveal: project.uuid, ordinal };
70
+ }
29
71
  /**
30
72
  * Count non-trashed projects with the given title that share the target's
31
73
  * row-selection container, EXCLUDING the target itself. A non-zero count is a