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