things-api 0.9.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.
- package/README.md +57 -12
- package/dist/audit/log.js +56 -2
- package/dist/audit/log.js.map +1 -1
- package/dist/audit/schema.d.ts +26 -8
- package/dist/audit/schema.js +42 -1
- package/dist/audit/schema.js.map +1 -1
- package/dist/cli/clock.d.ts +8 -0
- package/dist/cli/clock.js +24 -0
- package/dist/cli/clock.js.map +1 -0
- package/dist/cli/commands/area.d.ts +26 -3
- package/dist/cli/commands/area.js +129 -75
- package/dist/cli/commands/area.js.map +1 -1
- package/dist/cli/commands/doctor.d.ts +1 -1
- package/dist/cli/commands/doctor.js +44 -5
- package/dist/cli/commands/doctor.js.map +1 -1
- package/dist/cli/commands/install-skill.d.ts +45 -0
- package/dist/cli/commands/install-skill.js +207 -0
- package/dist/cli/commands/install-skill.js.map +1 -0
- package/dist/cli/commands/mcp.js +23 -4
- package/dist/cli/commands/mcp.js.map +1 -1
- package/dist/cli/commands/project.d.ts +18 -1
- package/dist/cli/commands/project.js +74 -35
- package/dist/cli/commands/project.js.map +1 -1
- package/dist/cli/commands/reads.d.ts +15 -2
- package/dist/cli/commands/reads.js +459 -165
- package/dist/cli/commands/reads.js.map +1 -1
- package/dist/cli/commands/repeat-flags.d.ts +20 -0
- package/dist/cli/commands/repeat-flags.js +76 -0
- package/dist/cli/commands/repeat-flags.js.map +1 -0
- package/dist/cli/commands/setup.js +8 -4
- package/dist/cli/commands/setup.js.map +1 -1
- package/dist/cli/commands/show.js +53 -30
- package/dist/cli/commands/show.js.map +1 -1
- package/dist/cli/commands/todo.d.ts +1 -1
- package/dist/cli/commands/todo.js +20 -13
- package/dist/cli/commands/todo.js.map +1 -1
- package/dist/cli/commands/writes.js +388 -161
- package/dist/cli/commands/writes.js.map +1 -1
- package/dist/cli/did-you-mean.d.ts +1 -1
- package/dist/cli/excess-args.d.ts +15 -0
- package/dist/cli/excess-args.js +51 -0
- package/dist/cli/excess-args.js.map +1 -0
- package/dist/cli/glyphs.d.ts +55 -2
- package/dist/cli/glyphs.js +114 -21
- package/dist/cli/glyphs.js.map +1 -1
- package/dist/cli/help.d.ts +54 -0
- package/dist/cli/help.js +405 -0
- package/dist/cli/help.js.map +1 -0
- package/dist/cli/main.js +64 -26
- package/dist/cli/main.js.map +1 -1
- package/dist/cli/move-hint.d.ts +45 -0
- package/dist/cli/move-hint.js +196 -0
- package/dist/cli/move-hint.js.map +1 -0
- package/dist/cli/period.d.ts +9 -8
- package/dist/cli/period.js +56 -30
- package/dist/cli/period.js.map +1 -1
- package/dist/cli/read-driver.d.ts +26 -19
- package/dist/cli/read-driver.js +77 -33
- package/dist/cli/read-driver.js.map +1 -1
- package/dist/cli/render.d.ts +92 -28
- package/dist/cli/render.js +333 -103
- package/dist/cli/render.js.map +1 -1
- package/dist/cli/resolve-invocation.d.ts +42 -4
- package/dist/cli/resolve-invocation.js +97 -14
- package/dist/cli/resolve-invocation.js.map +1 -1
- package/dist/cli/skill-check.d.ts +21 -0
- package/dist/cli/skill-check.js +82 -0
- package/dist/cli/skill-check.js.map +1 -0
- package/dist/cli/skill.d.ts +62 -0
- package/dist/cli/skill.js +142 -0
- package/dist/cli/skill.js.map +1 -0
- package/dist/cli/tag-filters.d.ts +63 -0
- package/dist/cli/tag-filters.js +59 -0
- package/dist/cli/tag-filters.js.map +1 -0
- package/dist/cli/verb-hint.d.ts +25 -0
- package/dist/cli/verb-hint.js +163 -0
- package/dist/cli/verb-hint.js.map +1 -0
- package/dist/cli/version.d.ts +4 -0
- package/dist/cli/version.js +18 -0
- package/dist/cli/version.js.map +1 -0
- package/dist/cli/width.d.ts +135 -0
- package/dist/cli/width.js +313 -0
- package/dist/cli/width.js.map +1 -0
- package/dist/client.d.ts +160 -24
- package/dist/client.js +132 -19
- package/dist/client.js.map +1 -1
- package/dist/config.d.ts +11 -0
- package/dist/config.js +3 -0
- package/dist/config.js.map +1 -1
- package/dist/contracts.d.ts +97 -17
- package/dist/contracts.js +44 -1
- package/dist/contracts.js.map +1 -1
- package/dist/db/fingerprint.d.ts +12 -0
- package/dist/db/fingerprint.js +15 -1
- package/dist/db/fingerprint.js.map +1 -1
- package/dist/db/locate.js +1 -1
- package/dist/db/locate.js.map +1 -1
- package/dist/diagnose.d.ts +63 -0
- package/dist/diagnose.js +38 -1
- package/dist/diagnose.js.map +1 -1
- package/dist/index.d.ts +36 -5
- package/dist/index.js +38 -2
- package/dist/index.js.map +1 -1
- package/dist/mcp/server.d.ts +9 -1
- package/dist/mcp/server.js +1038 -436
- package/dist/mcp/server.js.map +1 -1
- package/dist/model/clock.d.ts +61 -0
- package/dist/model/clock.js +71 -0
- package/dist/model/clock.js.map +1 -0
- package/dist/model/dates.d.ts +26 -3
- package/dist/model/dates.js +84 -3
- package/dist/model/dates.js.map +1 -1
- package/dist/model/entities.d.ts +48 -10
- package/dist/model/entities.js.map +1 -1
- package/dist/model/mappers.d.ts +9 -2
- package/dist/model/mappers.js +32 -9
- package/dist/model/mappers.js.map +1 -1
- package/dist/model/serialize.d.ts +28 -0
- package/dist/model/serialize.js +80 -0
- package/dist/model/serialize.js.map +1 -0
- package/dist/model/when-sugar.d.ts +47 -0
- package/dist/model/when-sugar.js +45 -0
- package/dist/model/when-sugar.js.map +1 -0
- package/dist/read/area-view.d.ts +8 -1
- package/dist/read/area-view.js +55 -17
- package/dist/read/area-view.js.map +1 -1
- package/dist/read/detail.d.ts +1 -1
- package/dist/read/detail.js +11 -4
- package/dist/read/detail.js.map +1 -1
- package/dist/read/filter-contract.d.ts +117 -0
- package/dist/read/filter-contract.js +78 -0
- package/dist/read/filter-contract.js.map +1 -0
- package/dist/read/log-boundary.d.ts +1 -1
- package/dist/read/log-boundary.js +13 -3
- package/dist/read/log-boundary.js.map +1 -1
- package/dist/read/predicates.d.ts +30 -0
- package/dist/read/predicates.js +30 -0
- package/dist/read/predicates.js.map +1 -1
- package/dist/read/project-view.d.ts +12 -1
- package/dist/read/project-view.js +45 -12
- package/dist/read/project-view.js.map +1 -1
- package/dist/read/queries.d.ts +152 -7
- package/dist/read/queries.js +277 -36
- package/dist/read/queries.js.map +1 -1
- package/dist/read/sections.d.ts +51 -0
- package/dist/read/sections.js +37 -0
- package/dist/read/sections.js.map +1 -0
- package/dist/read/sidebar-order.js +2 -1
- package/dist/read/sidebar-order.js.map +1 -1
- package/dist/read/snapshot.d.ts +1 -1
- package/dist/read/snapshot.js +9 -2
- package/dist/read/snapshot.js.map +1 -1
- package/dist/read/tags.d.ts +27 -3
- package/dist/read/tags.js +83 -12
- package/dist/read/tags.js.map +1 -1
- package/dist/read/truncation.d.ts +71 -0
- package/dist/read/{pagination.js → truncation.js} +103 -94
- package/dist/read/truncation.js.map +1 -0
- package/dist/read/views.d.ts +147 -22
- package/dist/read/views.js +282 -80
- package/dist/read/views.js.map +1 -1
- package/dist/surface-copy.d.ts +19 -0
- package/dist/surface-copy.js +32 -0
- package/dist/surface-copy.js.map +1 -1
- package/dist/sync-health.d.ts +78 -0
- package/dist/sync-health.js +312 -0
- package/dist/sync-health.js.map +1 -0
- package/dist/write/accessibility-probe.d.ts +12 -0
- package/dist/write/accessibility-probe.js +71 -0
- package/dist/write/accessibility-probe.js.map +1 -0
- package/dist/write/automation-probe.d.ts +8 -1
- package/dist/write/automation-probe.js +16 -1
- package/dist/write/automation-probe.js.map +1 -1
- package/dist/write/batch.js +5 -2
- package/dist/write/batch.js.map +1 -1
- package/dist/write/capabilities.d.ts +8 -0
- package/dist/write/capabilities.js +13 -6
- package/dist/write/capabilities.js.map +1 -1
- package/dist/write/commands.d.ts +3 -1
- package/dist/write/commands.js +602 -49
- package/dist/write/commands.js.map +1 -1
- package/dist/write/edit-checklist.js +3 -2
- package/dist/write/edit-checklist.js.map +1 -1
- package/dist/write/guards.d.ts +2 -7
- package/dist/write/guards.js +87 -6
- package/dist/write/guards.js.map +1 -1
- package/dist/write/heading.js +2 -0
- package/dist/write/heading.js.map +1 -1
- package/dist/write/lock.d.ts +40 -2
- package/dist/write/lock.js +91 -14
- package/dist/write/lock.js.map +1 -1
- package/dist/write/make-repeating-project.d.ts +4 -0
- package/dist/write/make-repeating-project.js +253 -0
- package/dist/write/make-repeating-project.js.map +1 -0
- package/dist/write/operations.d.ts +145 -1
- package/dist/write/operations.js +48 -0
- package/dist/write/operations.js.map +1 -1
- package/dist/write/pipeline.d.ts +73 -2
- package/dist/write/pipeline.js +218 -43
- package/dist/write/pipeline.js.map +1 -1
- package/dist/write/planner.js +8 -1
- package/dist/write/planner.js.map +1 -1
- package/dist/write/pre-state.d.ts +105 -3
- package/dist/write/pre-state.js +144 -3
- package/dist/write/pre-state.js.map +1 -1
- package/dist/write/recurrence-rule-blob.d.ts +65 -0
- package/dist/write/recurrence-rule-blob.js +150 -0
- package/dist/write/recurrence-rule-blob.js.map +1 -0
- package/dist/write/reopen.js +3 -2
- package/dist/write/reopen.js.map +1 -1
- package/dist/write/reorder.js +27 -17
- package/dist/write/reorder.js.map +1 -1
- package/dist/write/repeat-rule.d.ts +22 -0
- package/dist/write/repeat-rule.js +258 -0
- package/dist/write/repeat-rule.js.map +1 -0
- package/dist/write/reversibility.js +49 -0
- package/dist/write/reversibility.js.map +1 -1
- package/dist/write/tag-refs.d.ts +47 -0
- package/dist/write/tag-refs.js +126 -0
- package/dist/write/tag-refs.js.map +1 -0
- package/dist/write/undo.d.ts +74 -5
- package/dist/write/undo.js +493 -80
- package/dist/write/undo.js.map +1 -1
- package/dist/write/vectors/registry.d.ts +15 -1
- package/dist/write/vectors/registry.js +65 -2
- package/dist/write/vectors/registry.js.map +1 -1
- package/dist/write/vectors/simulator.d.ts +44 -0
- package/dist/write/vectors/simulator.js +1136 -0
- package/dist/write/vectors/simulator.js.map +1 -0
- package/dist/write/vectors/types.d.ts +154 -3
- package/dist/write/vectors/ui-certification.d.ts +54 -0
- package/dist/write/vectors/ui-certification.js +43 -0
- package/dist/write/vectors/ui-certification.js.map +1 -0
- package/dist/write/vectors/ui-drag.d.ts +188 -0
- package/dist/write/vectors/ui-drag.js +1095 -0
- package/dist/write/vectors/ui-drag.js.map +1 -0
- package/dist/write/vectors/ui-recipes.d.ts +83 -0
- package/dist/write/vectors/ui-recipes.js +610 -0
- package/dist/write/vectors/ui-recipes.js.map +1 -0
- package/dist/write/vectors/ui.d.ts +152 -0
- package/dist/write/vectors/ui.js +704 -0
- package/dist/write/vectors/ui.js.map +1 -0
- package/dist/write/verify/delta.d.ts +141 -4
- package/dist/write/verify/delta.js +199 -21
- package/dist/write/verify/delta.js.map +1 -1
- package/dist/write/verify/poller.d.ts +7 -1
- package/dist/write/verify/poller.js +21 -1
- package/dist/write/verify/poller.js.map +1 -1
- package/package.json +18 -3
- package/skills/things-cli/SKILL.md +53 -0
- package/skills/things-cli/references/contracts.md +41 -0
- package/skills/things-cli/references/gui.md +11 -0
- package/skills/things-cli/references/model.md +51 -0
- package/dist/cli/exit-codes.d.ts +0 -26
- package/dist/cli/exit-codes.js +0 -26
- package/dist/cli/exit-codes.js.map +0 -1
- package/dist/cli/output.d.ts +0 -42
- package/dist/cli/output.js +0 -16
- package/dist/cli/output.js.map +0 -1
- package/dist/read/pagination.d.ts +0 -104
- package/dist/read/pagination.js.map +0 -1
package/dist/write/pipeline.js
CHANGED
|
@@ -1,11 +1,16 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* The mutation pipeline: fingerprint gate → lock → pre-read → guards →
|
|
3
3
|
* vector planning → ensure-running → execute → verified read-after-write →
|
|
4
|
-
* audit. Every mutation attempt is audited, including blocked decisions.
|
|
4
|
+
* audit. Every mutation attempt is audited, including blocked decisions. A
|
|
5
|
+
* write that reaches the app records TWICE: an `intent` marker right before
|
|
6
|
+
* execute (so a crash mid-write leaves evidence — M3) and the final outcome
|
|
7
|
+
* after verify.
|
|
5
8
|
*/
|
|
6
9
|
import { execFile, execFileSync } from "node:child_process";
|
|
10
|
+
import { undoToken } from "../audit/schema.js";
|
|
11
|
+
import { blockedCode, verifyFailedCode } from "../contracts.js";
|
|
7
12
|
import { localToday } from "../model/dates.js";
|
|
8
|
-
import { resolveTaskUuidPrefix } from "../read/queries.js";
|
|
13
|
+
import { resolveProjectWriteTarget, resolveTaskUuidPrefix } from "../read/queries.js";
|
|
9
14
|
import { readShortcutProxies, readUrlSchemeEnabled } from "./availability.js";
|
|
10
15
|
import { COMMANDS } from "./commands.js";
|
|
11
16
|
import { describeEnvironmentChanges, diffEnvironment, } from "./environment.js";
|
|
@@ -14,6 +19,8 @@ import { classifyTransportFailure, classifyVerifyFailure, } from "./failure-hint
|
|
|
14
19
|
import { evaluateGuards } from "./guards.js";
|
|
15
20
|
import { acquireMutationLock, MutationLockError } from "./lock.js";
|
|
16
21
|
import { planVector } from "./planner.js";
|
|
22
|
+
import { REVERSIBILITY } from "./reversibility.js";
|
|
23
|
+
import { certificationOf } from "./vectors/ui-certification.js";
|
|
17
24
|
import { createDbReader, evaluateDelta, getField, } from "./verify/delta.js";
|
|
18
25
|
import { pollUntilVerified } from "./verify/poller.js";
|
|
19
26
|
export function readAuthToken(db) {
|
|
@@ -44,16 +51,20 @@ async function defaultEnsureRunning(alreadyRunning) {
|
|
|
44
51
|
const deadline = Date.now() + 20_000;
|
|
45
52
|
while (Date.now() < deadline) {
|
|
46
53
|
if (defaultIsAppRunning()) {
|
|
54
|
+
// the post-launch settle wait must happen once, right after the process is first detected, before returning
|
|
47
55
|
await new Promise((r) => setTimeout(r, 2000)); // post-launch settle
|
|
48
56
|
return true;
|
|
49
57
|
}
|
|
58
|
+
// launch-detection retries are inherently sequential polling of the same process state
|
|
50
59
|
await new Promise((r) => setTimeout(r, 250));
|
|
51
60
|
}
|
|
52
61
|
return false;
|
|
53
62
|
}
|
|
54
63
|
/** Capture pre-values of asserted fields + movement tripwires for the spec. */
|
|
55
64
|
function capturePre(spec, deps, pre) {
|
|
56
|
-
|
|
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);
|
|
57
68
|
const modDates = {};
|
|
58
69
|
const fields = {};
|
|
59
70
|
const captureFor = (uuid, assertions) => {
|
|
@@ -66,7 +77,8 @@ function capturePre(spec, deps, pre) {
|
|
|
66
77
|
fields[uuid] = captured;
|
|
67
78
|
};
|
|
68
79
|
if (spec.mode === "update" || spec.mode === "state") {
|
|
69
|
-
|
|
80
|
+
const extra = spec.mode === "update" ? (spec.capture ?? []) : [];
|
|
81
|
+
captureFor(spec.uuid, [...spec.assert, ...extra]);
|
|
70
82
|
if (spec.mode === "state" && spec.cascade !== undefined) {
|
|
71
83
|
for (const c of spec.cascade)
|
|
72
84
|
captureFor(c.uuid, c.assert);
|
|
@@ -74,8 +86,12 @@ function capturePre(spec, deps, pre) {
|
|
|
74
86
|
}
|
|
75
87
|
if (spec.mode === "ordering") {
|
|
76
88
|
const preRanks = {};
|
|
77
|
-
|
|
89
|
+
// `capture` may list MORE uuids than the asserted sequence (the full
|
|
90
|
+
// area order for area.reorder) so undo can restore the exact
|
|
91
|
+
// previous position from the audit record.
|
|
92
|
+
for (const uuid of spec.capture ?? spec.sequence) {
|
|
78
93
|
preRanks[uuid] = reader.rankOf(uuid, spec.key);
|
|
94
|
+
}
|
|
79
95
|
fields["__ordering__"] = preRanks;
|
|
80
96
|
}
|
|
81
97
|
if (spec.mode === "entity-updated") {
|
|
@@ -90,25 +106,76 @@ function capturePre(spec, deps, pre) {
|
|
|
90
106
|
}
|
|
91
107
|
return { modDates, fields };
|
|
92
108
|
}
|
|
109
|
+
/** Attach failure-hint attribution (likelyCause/hint) to a result, if any was classified. */
|
|
110
|
+
function withHint(base, hint) {
|
|
111
|
+
return hint === null ? base : { ...base, likelyCause: hint.likelyCause, hint: hint.hint };
|
|
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
|
+
}
|
|
93
150
|
export async function runMutation(deps, op, params, options = {}) {
|
|
94
151
|
const startedAt = deps.now?.() ?? new Date();
|
|
95
152
|
// Uuid params accept unique PREFIXES (>= 6 chars) — resolved to full uuids
|
|
96
153
|
// here so guards/compiles/audit all see canonical ids. Throws (RangeError)
|
|
97
|
-
// on unknown or ambiguous prefixes, like the title resolvers.
|
|
154
|
+
// on unknown or ambiguous prefixes, like the title resolvers. PROJECT write
|
|
155
|
+
// targets additionally accept a unique NAME (project titles are addressed
|
|
156
|
+
// like areas/tags); to-do and heading targets stay uuid-only, differing only
|
|
157
|
+
// in the entity noun their not-found copy names.
|
|
98
158
|
const p = params;
|
|
99
159
|
if (typeof p["uuid"] === "string") {
|
|
100
|
-
|
|
160
|
+
const uuid = op.startsWith("project.")
|
|
161
|
+
? resolveProjectWriteTarget(deps.db, p["uuid"])
|
|
162
|
+
: resolveTaskUuidPrefix(deps.db, p["uuid"], op.startsWith("heading.") ? "heading" : "to-do");
|
|
163
|
+
params = { ...params, uuid };
|
|
101
164
|
}
|
|
102
165
|
if (Array.isArray(p["uuids"])) {
|
|
103
166
|
params = {
|
|
104
167
|
...params,
|
|
105
|
-
uuids: p["uuids"].map((u) => resolveTaskUuidPrefix(deps.db, u)),
|
|
168
|
+
uuids: p["uuids"].map((u) => resolveTaskUuidPrefix(deps.db, u, "item")),
|
|
106
169
|
};
|
|
107
170
|
}
|
|
108
171
|
const spec = COMMANDS[op];
|
|
109
172
|
const config = deps.config;
|
|
110
173
|
const actor = options.actor ?? config.actor;
|
|
111
|
-
|
|
174
|
+
// The GUI-drive acknowledgement is the second of the ui vector's two keys;
|
|
175
|
+
// it also lifts the disruption ceiling to the top tier so the caller does
|
|
176
|
+
// not additionally need --allow-very-disruptive for a change they already
|
|
177
|
+
// acknowledged drives the GUI.
|
|
178
|
+
const maxDisruption = options.dangerouslyDriveGui === true ? 3 : (options.maxDisruption ?? config.maxDisruption);
|
|
112
179
|
const audit = (partial) => {
|
|
113
180
|
const fp = deps.fingerprint();
|
|
114
181
|
const record = {
|
|
@@ -123,6 +190,7 @@ export async function runMutation(deps, op, params, options = {}) {
|
|
|
123
190
|
invocation: null,
|
|
124
191
|
requested: params,
|
|
125
192
|
...(options.txn !== undefined && { txn: options.txn }),
|
|
193
|
+
...(options.undoOf !== undefined && { undoOf: options.undoOf }),
|
|
126
194
|
pre: null,
|
|
127
195
|
observed: null,
|
|
128
196
|
verify: null,
|
|
@@ -143,7 +211,7 @@ export async function runMutation(deps, op, params, options = {}) {
|
|
|
143
211
|
const detail = fp.kind === "unknown-version"
|
|
144
212
|
? `unknown database version ${fp.observation.databaseVersion ?? "?"} (newer Things?)`
|
|
145
213
|
: "schema fingerprint deviates from the shipped baseline";
|
|
146
|
-
audit({ result: "
|
|
214
|
+
audit({ result: blockedCode({ reason: "drift" }) });
|
|
147
215
|
return {
|
|
148
216
|
kind: "blocked",
|
|
149
217
|
op,
|
|
@@ -161,7 +229,7 @@ export async function runMutation(deps, op, params, options = {}) {
|
|
|
161
229
|
}
|
|
162
230
|
catch (err) {
|
|
163
231
|
if (err instanceof MutationLockError) {
|
|
164
|
-
audit({ result: "
|
|
232
|
+
audit({ result: blockedCode({ reason: "lock" }) });
|
|
165
233
|
return {
|
|
166
234
|
kind: "blocked",
|
|
167
235
|
op,
|
|
@@ -188,6 +256,9 @@ export async function runMutation(deps, op, params, options = {}) {
|
|
|
188
256
|
...(options.acknowledgeTagSubtree !== undefined && {
|
|
189
257
|
acknowledgeTagSubtree: options.acknowledgeTagSubtree,
|
|
190
258
|
}),
|
|
259
|
+
...(options.dangerouslyDriveGui !== undefined && {
|
|
260
|
+
dangerouslyDriveGui: options.dangerouslyDriveGui,
|
|
261
|
+
}),
|
|
191
262
|
};
|
|
192
263
|
const block = evaluateGuards(spec.hazards, {
|
|
193
264
|
op,
|
|
@@ -196,7 +267,7 @@ export async function runMutation(deps, op, params, options = {}) {
|
|
|
196
267
|
acks,
|
|
197
268
|
});
|
|
198
269
|
if (block !== null) {
|
|
199
|
-
audit({ result:
|
|
270
|
+
audit({ result: blockedCode({ hazard: block.hazard, reason: "hazard" }) });
|
|
200
271
|
return {
|
|
201
272
|
kind: "blocked",
|
|
202
273
|
op,
|
|
@@ -206,6 +277,26 @@ export async function runMutation(deps, op, params, options = {}) {
|
|
|
206
277
|
remediation: block.remediation,
|
|
207
278
|
};
|
|
208
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
|
+
}
|
|
209
300
|
// 4. Vector planning under the disruption policy.
|
|
210
301
|
const appRunning = (deps.isAppRunning ?? defaultIsAppRunning)();
|
|
211
302
|
const plan = planVector(op, deps.vectors, {
|
|
@@ -219,7 +310,7 @@ export async function runMutation(deps, op, params, options = {}) {
|
|
|
219
310
|
return { kind: "unsupported", op, considered: plan.considered };
|
|
220
311
|
}
|
|
221
312
|
if (plan.kind === "tier-blocked") {
|
|
222
|
-
audit({ result: "
|
|
313
|
+
audit({ result: blockedCode({ reason: "disruption-tier" }) });
|
|
223
314
|
return {
|
|
224
315
|
kind: "blocked",
|
|
225
316
|
op,
|
|
@@ -236,7 +327,7 @@ export async function runMutation(deps, op, params, options = {}) {
|
|
|
236
327
|
if (plan.candidate.support.experimental === true) {
|
|
237
328
|
const declared = (deps.sdefProbe ?? sdefDeclaresPrivateReorder)();
|
|
238
329
|
if (!declared) {
|
|
239
|
-
audit({ result: "
|
|
330
|
+
audit({ result: blockedCode({ reason: "environment" }) });
|
|
240
331
|
return {
|
|
241
332
|
kind: "blocked",
|
|
242
333
|
op,
|
|
@@ -251,7 +342,26 @@ export async function runMutation(deps, op, params, options = {}) {
|
|
|
251
342
|
// 5. Compile + expected delta.
|
|
252
343
|
const nowEpoch = Math.floor((deps.now?.() ?? new Date()).getTime() / 1000);
|
|
253
344
|
const token = readAuthToken(deps.db);
|
|
254
|
-
|
|
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
|
+
}
|
|
255
365
|
const delta = spec.expectedDelta(pre, params, {
|
|
256
366
|
nowEpoch,
|
|
257
367
|
todayIso: localToday(deps.now?.() ?? new Date()),
|
|
@@ -277,7 +387,7 @@ export async function runMutation(deps, op, params, options = {}) {
|
|
|
277
387
|
const proxies = (deps.shortcutProxies ?? (() => readShortcutProxies()))();
|
|
278
388
|
if (!proxies.present.includes(invocation.shortcut)) {
|
|
279
389
|
audit({
|
|
280
|
-
result: "
|
|
390
|
+
result: blockedCode({ reason: "environment" }),
|
|
281
391
|
vector: vector.id,
|
|
282
392
|
disruption: effectiveTier,
|
|
283
393
|
invocation: invocation.redactedPayload,
|
|
@@ -294,16 +404,20 @@ export async function runMutation(deps, op, params, options = {}) {
|
|
|
294
404
|
}
|
|
295
405
|
// 6. Ensure the app is running in the BACKGROUND before dispatch —
|
|
296
406
|
// plain opens and AppleEvents to a closed Things steal focus (A40/A41).
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
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
|
+
}
|
|
307
421
|
}
|
|
308
422
|
// 7. Execute + verify. The environment tuple diff feeds failure
|
|
309
423
|
// attribution (a changed tuple is the classic consent re-prompt trigger)
|
|
@@ -311,12 +425,32 @@ export async function runMutation(deps, op, params, options = {}) {
|
|
|
311
425
|
const envChanges = deps.environment !== undefined
|
|
312
426
|
? diffEnvironment(deps.environment.load(), deps.environment.capture())
|
|
313
427
|
: [];
|
|
314
|
-
const withHint = (base, hint) => hint === null ? base : { ...base, likelyCause: hint.likelyCause, hint: hint.hint };
|
|
315
428
|
const preCapture = capturePre(delta, deps, pre);
|
|
429
|
+
// M3 durability: record the INTENT to mutate BEFORE the app is touched.
|
|
430
|
+
// The guards have passed and the invocation is compiled, so this carries
|
|
431
|
+
// op/uuid/actor/redacted invocation/startedAt (+ the captured pre-state).
|
|
432
|
+
// If the process dies between vector.execute and the final record below,
|
|
433
|
+
// this intent has no matching final sibling (same ts+op+actor+host) — the
|
|
434
|
+
// ONLY evidence the mutation may have landed. `things doctor` surfaces such
|
|
435
|
+
// orphans; the final record written after verify supersedes this one.
|
|
436
|
+
// (dry-run returned above, so nothing is recorded for a dry-run — preserved.)
|
|
437
|
+
const intentUuid = delta.mode === "update" || delta.mode === "state"
|
|
438
|
+
? delta.uuid
|
|
439
|
+
: delta.mode === "ordering"
|
|
440
|
+
? (delta.subject ?? null)
|
|
441
|
+
: null;
|
|
442
|
+
audit({
|
|
443
|
+
result: "intent",
|
|
444
|
+
vector: vector.id,
|
|
445
|
+
disruption: effectiveTier,
|
|
446
|
+
invocation: invocation.redactedPayload,
|
|
447
|
+
pre: flattenPreFields(preCapture.fields),
|
|
448
|
+
uuid: intentUuid,
|
|
449
|
+
});
|
|
316
450
|
const executeResult = await vector.execute(invocation);
|
|
317
451
|
if (executeResult.exitCode !== 0 || executeResult.timedOut === true) {
|
|
318
452
|
audit({
|
|
319
|
-
result: "
|
|
453
|
+
result: verifyFailedCode({ reason: "silent-noop" }),
|
|
320
454
|
vector: vector.id,
|
|
321
455
|
disruption: effectiveTier,
|
|
322
456
|
invocation: invocation.redactedPayload,
|
|
@@ -336,7 +470,11 @@ export async function runMutation(deps, op, params, options = {}) {
|
|
|
336
470
|
environmentChanges: envChanges,
|
|
337
471
|
}));
|
|
338
472
|
}
|
|
339
|
-
|
|
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);
|
|
340
478
|
const timeoutMs = options.verifyTimeoutMs ?? (appRunning ? 6000 : 10_000);
|
|
341
479
|
const outcome = await pollUntilVerified(() => evaluateDelta(delta, reader, preCapture), timeoutMs, deps.poller ?? {});
|
|
342
480
|
const auditCommon = {
|
|
@@ -349,11 +487,51 @@ export async function runMutation(deps, op, params, options = {}) {
|
|
|
349
487
|
};
|
|
350
488
|
if (outcome.kind === "ok") {
|
|
351
489
|
const uuid = outcome.discoveredUuid ??
|
|
352
|
-
(delta.mode === "update" || delta.mode === "state"
|
|
490
|
+
(delta.mode === "update" || delta.mode === "state"
|
|
491
|
+
? delta.uuid
|
|
492
|
+
: delta.mode === "ordering"
|
|
493
|
+
? (delta.subject ?? null)
|
|
494
|
+
: null);
|
|
353
495
|
audit({ ...auditCommon, result: "ok", uuid });
|
|
354
496
|
if (deps.environment !== undefined) {
|
|
355
497
|
deps.environment.record(deps.environment.capture());
|
|
356
498
|
}
|
|
499
|
+
// The undo token identifies THIS record on the trail (see undoToken); a
|
|
500
|
+
// leg's token would be its shared txn id, but legs are never undone
|
|
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"
|
|
504
|
+
? undefined
|
|
505
|
+
: undoToken({
|
|
506
|
+
ts: startedAt.toISOString(),
|
|
507
|
+
op,
|
|
508
|
+
actor,
|
|
509
|
+
host: config.host,
|
|
510
|
+
uuid,
|
|
511
|
+
...(options.txn !== undefined && { txn: options.txn }),
|
|
512
|
+
});
|
|
513
|
+
const warnings = [];
|
|
514
|
+
if (outcome.repeatingWarnings !== undefined)
|
|
515
|
+
warnings.push(...outcome.repeatingWarnings);
|
|
516
|
+
if (vector.id === "ui") {
|
|
517
|
+
warnings.push("this change was applied by driving the local Things app through the Accessibility API");
|
|
518
|
+
// Surface the drive's own step summary (e.g. how a sidebar move was
|
|
519
|
+
// performed: one drag / scroll-while-held / N hops) — behavior detail
|
|
520
|
+
// the caller can log, and the lab's certification evidence.
|
|
521
|
+
const driveSummary = executeResult.stdout.trim();
|
|
522
|
+
if (driveSummary !== "")
|
|
523
|
+
warnings.push(driveSummary);
|
|
524
|
+
const cert = certificationOf(op);
|
|
525
|
+
if (cert !== undefined && cert.status !== "certified") {
|
|
526
|
+
warnings.push(`this operation is ${cert.status}: its GUI recipe has not been confirmed on real ` +
|
|
527
|
+
"hardware (see `things doctor` / docs/lab/ui-certification-runbook.md)");
|
|
528
|
+
}
|
|
529
|
+
}
|
|
530
|
+
if (envChanges.length > 0) {
|
|
531
|
+
warnings.push(`environment changed since the last verified write: ` +
|
|
532
|
+
`${describeEnvironmentChanges(envChanges)} — the first use of another ` +
|
|
533
|
+
`capability may show a macOS consent prompt`);
|
|
534
|
+
}
|
|
357
535
|
return {
|
|
358
536
|
kind: "ok",
|
|
359
537
|
op,
|
|
@@ -361,27 +539,24 @@ export async function runMutation(deps, op, params, options = {}) {
|
|
|
361
539
|
observed: outcome.observed,
|
|
362
540
|
vector: vector.id,
|
|
363
541
|
tier: effectiveTier,
|
|
364
|
-
...(
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
`${describeEnvironmentChanges(envChanges)} — the first use of another ` +
|
|
368
|
-
`capability may show a macOS consent prompt`,
|
|
369
|
-
],
|
|
370
|
-
}),
|
|
542
|
+
...(resultToken !== undefined && { undoToken: resultToken }),
|
|
543
|
+
...(outcome.repeating !== undefined && { repeating: outcome.repeating }),
|
|
544
|
+
...(warnings.length > 0 && { warnings }),
|
|
371
545
|
};
|
|
372
546
|
}
|
|
373
|
-
audit({ ...auditCommon, result:
|
|
547
|
+
audit({ ...auditCommon, result: verifyFailedCode({ reason: outcome.kind }) });
|
|
374
548
|
return withHint({
|
|
375
549
|
kind: "verify-failed",
|
|
376
550
|
op,
|
|
377
551
|
reason: outcome.kind,
|
|
378
552
|
expected: delta,
|
|
379
553
|
observed: outcome.observed,
|
|
380
|
-
detail: outcome.
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
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"),
|
|
385
560
|
}, classifyVerifyFailure({
|
|
386
561
|
reason: outcome.kind,
|
|
387
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":"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"}
|
package/dist/write/planner.js
CHANGED
|
@@ -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
|
-
|
|
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":"AA2BA,MAAM,UAAU,UAAU,CACxB,EAAiB,EACjB,OAAsB,EACtB,OAMC;IAED,MAAM,UAAU,GAAwC,EAAE,CAAC;IAC3D,MAAM,MAAM,GAAoB,EAAE,CAAC;IAEnC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,
|
|
1
|
+
{"version":3,"file":"planner.js","sourceRoot":"","sources":["../../src/write/planner.ts"],"names":[],"mappings":"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"}
|