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
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Active Accessibility-consent probe for the ui vector: ask System Events for
|
|
3
|
+
* one element of the Things process's UI tree and classify the outcome. This
|
|
4
|
+
* is a DIFFERENT permission from Automation (which automation-probe.ts covers)
|
|
5
|
+
* — driving the Accessibility tree needs the process running things-api to
|
|
6
|
+
* hold Accessibility (System Settings ▸ Privacy & Security ▸ Accessibility).
|
|
7
|
+
*
|
|
8
|
+
* OPT-IN, exactly like the Automation probe: the query itself is a
|
|
9
|
+
* consent-requiring call, so on an ungranted machine it makes macOS show the
|
|
10
|
+
* Accessibility prompt. Skipped when Things is not running so a diagnostic
|
|
11
|
+
* never launches the app. The probe doubles as a light recipe canary: it
|
|
12
|
+
* resolves the "Items" menu every recipe enters through, so a missing menu
|
|
13
|
+
* (a Things update, or a non-English app) surfaces here too.
|
|
14
|
+
*/
|
|
15
|
+
import { execFileSync } from "node:child_process";
|
|
16
|
+
import { isThingsRunning } from "./automation-probe.js";
|
|
17
|
+
import { simFenceActive } from "./vectors/simulator.js";
|
|
18
|
+
// Resolve the "Items" menu — the entry point of every ui recipe. Returns
|
|
19
|
+
// "true"/"false"; a permission failure throws before it can answer.
|
|
20
|
+
const PROBE_SCRIPT = 'tell application "System Events" to tell process "Things3" to return (exists menu "Items" of menu bar 1)';
|
|
21
|
+
function defaultRun(script, timeoutMs) {
|
|
22
|
+
return execFileSync("osascript", ["-e", script], { encoding: "utf8", timeout: timeoutMs });
|
|
23
|
+
}
|
|
24
|
+
export function probeAccessibility(deps = {}) {
|
|
25
|
+
if (simFenceActive()) {
|
|
26
|
+
return {
|
|
27
|
+
status: "simulated",
|
|
28
|
+
detail: "the simulator fence is active — the Accessibility probe was skipped so a bench run never " +
|
|
29
|
+
"queries the app's UI tree.",
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
if (!(deps.isAppRunning ?? isThingsRunning)()) {
|
|
33
|
+
return {
|
|
34
|
+
status: "app-not-running",
|
|
35
|
+
detail: "Things is not running — the probe was skipped so a diagnostic never launches the " +
|
|
36
|
+
"app. Launch Things and re-run with --probe-accessibility.",
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
try {
|
|
40
|
+
const out = (deps.run ?? defaultRun)(PROBE_SCRIPT, deps.timeoutMs ?? 8000).trim();
|
|
41
|
+
if (out === "true") {
|
|
42
|
+
return {
|
|
43
|
+
status: "granted",
|
|
44
|
+
detail: "Accessibility is granted and the Things 'Items' menu resolves.",
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
return {
|
|
48
|
+
status: "menu-missing",
|
|
49
|
+
detail: "Accessibility appears granted but the 'Items' menu did not resolve — a Things update " +
|
|
50
|
+
"may have changed the menu, or the app may not be in English. The ui recipes would " +
|
|
51
|
+
"refuse (fail-closed) until re-certified.",
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
catch (err) {
|
|
55
|
+
const e = err;
|
|
56
|
+
const stderr = typeof e.stderr === "string" ? e.stderr : err instanceof Error ? err.message : String(err);
|
|
57
|
+
if (/-25211|-1719|not allowed assistive access|accessibility/i.test(stderr)) {
|
|
58
|
+
return {
|
|
59
|
+
status: "denied",
|
|
60
|
+
detail: "macOS declined the Accessibility query: the process running things-api is not granted " +
|
|
61
|
+
"Accessibility. Grant it under System Settings > Privacy & Security > Accessibility " +
|
|
62
|
+
"(see docs/setup.md for the closet-mini setup).",
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
return {
|
|
66
|
+
status: "inconclusive",
|
|
67
|
+
detail: `the probe failed for another reason: ${stderr.trim() || "unknown error"}`,
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
//# sourceMappingURL=accessibility-probe.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"accessibility-probe.js","sourceRoot":"","sources":["../../src/write/accessibility-probe.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAsBxD,yEAAyE;AACzE,oEAAoE;AACpE,MAAM,YAAY,GAChB,0GAA0G,CAAC;AAE7G,SAAS,UAAU,CAAC,MAAc,EAAE,SAAiB;IACnD,OAAO,YAAY,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC;AAC7F,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,OAA+B,EAAE;IAClE,IAAI,cAAc,EAAE,EAAE,CAAC;QACrB,OAAO;YACL,MAAM,EAAE,WAAW;YACnB,MAAM,EACJ,2FAA2F;gBAC3F,4BAA4B;SAC/B,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,CAAC,IAAI,CAAC,YAAY,IAAI,eAAe,CAAC,EAAE,EAAE,CAAC;QAC9C,OAAO;YACL,MAAM,EAAE,iBAAiB;YACzB,MAAM,EACJ,mFAAmF;gBACnF,2DAA2D;SAC9D,CAAC;IACJ,CAAC;IACD,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,UAAU,CAAC,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;QAClF,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;YACnB,OAAO;gBACL,MAAM,EAAE,SAAS;gBACjB,MAAM,EAAE,gEAAgE;aACzE,CAAC;QACJ,CAAC;QACD,OAAO;YACL,MAAM,EAAE,cAAc;YACtB,MAAM,EACJ,uFAAuF;gBACvF,oFAAoF;gBACpF,0CAA0C;SAC7C,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,GAAG,GAA2B,CAAC;QACtC,MAAM,MAAM,GACV,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC7F,IAAI,0DAA0D,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YAC5E,OAAO;gBACL,MAAM,EAAE,QAAQ;gBAChB,MAAM,EACJ,wFAAwF;oBACxF,qFAAqF;oBACrF,gDAAgD;aACnD,CAAC;QACJ,CAAC;QACD,OAAO;YACL,MAAM,EAAE,cAAc;YACtB,MAAM,EAAE,wCAAwC,MAAM,CAAC,IAAI,EAAE,IAAI,eAAe,EAAE;SACnF,CAAC;IACJ,CAAC;AACH,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export type AutomationProbeStatus = "granted" | "denied" | "pending" | "app-not-running" | "inconclusive";
|
|
1
|
+
export type AutomationProbeStatus = "granted" | "denied" | "pending" | "app-not-running" | "inconclusive" | "simulated";
|
|
2
2
|
export interface AutomationProbeResult {
|
|
3
3
|
status: AutomationProbeStatus;
|
|
4
4
|
detail: string;
|
|
@@ -9,4 +9,11 @@ export interface AutomationProbeDeps {
|
|
|
9
9
|
run?: (script: string, timeoutMs: number) => string;
|
|
10
10
|
timeoutMs?: number;
|
|
11
11
|
}
|
|
12
|
+
/**
|
|
13
|
+
* Is the Things app process present? No app = a frozen database (there is no
|
|
14
|
+
* background sync daemon). The single stable process-check shape in this
|
|
15
|
+
* binary — reused by the sync-health section so macOS never sees a second
|
|
16
|
+
* command shape.
|
|
17
|
+
*/
|
|
18
|
+
export declare function isThingsRunning(): boolean;
|
|
12
19
|
export declare function probeAutomation(deps?: AutomationProbeDeps): AutomationProbeResult;
|
|
@@ -8,8 +8,15 @@
|
|
|
8
8
|
*/
|
|
9
9
|
import { execFileSync } from "node:child_process";
|
|
10
10
|
import { automationGrantee } from "./failure-hints.js";
|
|
11
|
+
import { simFenceActive } from "./vectors/simulator.js";
|
|
11
12
|
const PROBE_SCRIPT = 'tell application "Things3" to count of areas';
|
|
12
|
-
|
|
13
|
+
/**
|
|
14
|
+
* Is the Things app process present? No app = a frozen database (there is no
|
|
15
|
+
* background sync daemon). The single stable process-check shape in this
|
|
16
|
+
* binary — reused by the sync-health section so macOS never sees a second
|
|
17
|
+
* command shape.
|
|
18
|
+
*/
|
|
19
|
+
export function isThingsRunning() {
|
|
13
20
|
try {
|
|
14
21
|
execFileSync("pgrep", ["-x", "Things3"], { stdio: "ignore" });
|
|
15
22
|
return true;
|
|
@@ -18,10 +25,18 @@ function defaultIsAppRunning() {
|
|
|
18
25
|
return false;
|
|
19
26
|
}
|
|
20
27
|
}
|
|
28
|
+
const defaultIsAppRunning = isThingsRunning;
|
|
21
29
|
function defaultRun(script, timeoutMs) {
|
|
22
30
|
return execFileSync("osascript", ["-e", script], { encoding: "utf8", timeout: timeoutMs });
|
|
23
31
|
}
|
|
24
32
|
export function probeAutomation(deps = {}) {
|
|
33
|
+
if (simFenceActive()) {
|
|
34
|
+
return {
|
|
35
|
+
status: "simulated",
|
|
36
|
+
detail: "the simulator fence is active — the Automation probe was skipped so a bench run never " +
|
|
37
|
+
"sends an Apple Event to the app.",
|
|
38
|
+
};
|
|
39
|
+
}
|
|
25
40
|
if (!(deps.isAppRunning ?? defaultIsAppRunning)()) {
|
|
26
41
|
return {
|
|
27
42
|
status: "app-not-running",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"automation-probe.js","sourceRoot":"","sources":["../../src/write/automation-probe.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"automation-probe.js","sourceRoot":"","sources":["../../src/write/automation-probe.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAsBxD,MAAM,YAAY,GAAG,8CAA8C,CAAC;AAEpE;;;;;GAKG;AACH,MAAM,UAAU,eAAe;IAC7B,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,MAAM,mBAAmB,GAAG,eAAe,CAAC;AAE5C,SAAS,UAAU,CAAC,MAAc,EAAE,SAAiB;IACnD,OAAO,YAAY,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC;AAC7F,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,OAA4B,EAAE;IAC5D,IAAI,cAAc,EAAE,EAAE,CAAC;QACrB,OAAO;YACL,MAAM,EAAE,WAAW;YACnB,MAAM,EACJ,wFAAwF;gBACxF,kCAAkC;SACrC,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,CAAC,IAAI,CAAC,YAAY,IAAI,mBAAmB,CAAC,EAAE,EAAE,CAAC;QAClD,OAAO;YACL,MAAM,EAAE,iBAAiB;YACzB,MAAM,EACJ,mFAAmF;gBACnF,gCAAgC;SACnC,CAAC;IACJ,CAAC;IACD,IAAI,CAAC;QACH,CAAC,IAAI,CAAC,GAAG,IAAI,UAAU,CAAC,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,CAAC;QAC/D,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,sDAAsD,EAAE,CAAC;IAC/F,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,GAAG,GAAqE,CAAC;QAChF,MAAM,MAAM,GACV,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC7F,0EAA0E;QAC1E,0EAA0E;QAC1E,mEAAmE;QACnE,mEAAmE;QACnE,IAAI,CAAC,CAAC,MAAM,KAAK,IAAI,IAAI,CAAC,CAAC,MAAM,KAAK,SAAS,IAAI,wBAAwB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YACzF,OAAO;gBACL,MAAM,EAAE,SAAS;gBACjB,MAAM,EACJ,4EAA4E;oBAC5E,iDAAiD,iBAAiB,EAAE,aAAa;oBACjF,4EAA4E;oBAC5E,gFAAgF;oBAChF,kCAAkC;aACrC,CAAC;QACJ,CAAC;QACD,IAAI,+CAA+C,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YACjE,OAAO;gBACL,MAAM,EAAE,QAAQ;gBAChB,MAAM,EACJ,qEAAqE,iBAAiB,EAAE,GAAG;oBAC3F,kFAAkF;oBAClF,uDAAuD;aAC1D,CAAC;QACJ,CAAC;QACD,OAAO;YACL,MAAM,EAAE,cAAc;YACtB,MAAM,EAAE,wCAAwC,MAAM,CAAC,IAAI,EAAE,IAAI,eAAe,EAAE;SACnF,CAAC;IACJ,CAAC;AACH,CAAC"}
|
package/dist/write/batch.js
CHANGED
|
@@ -74,8 +74,11 @@ export async function runBatch(deps, ops, options = {}, onResult) {
|
|
|
74
74
|
// the runtime validators (loud on bad shapes), same as single ops.
|
|
75
75
|
outcome =
|
|
76
76
|
entry.op === "reorder"
|
|
77
|
-
?
|
|
78
|
-
|
|
77
|
+
? // batch ops run sequentially by design: the mutation lock serializes them and create-probe verification must never race
|
|
78
|
+
await runReorder(deps, entry.params, writeOptions)
|
|
79
|
+
: // same sequencing requirement as the reorder branch above; batch is
|
|
80
|
+
// a consumer entry point, so a consumer `when` normalizes to the zone
|
|
81
|
+
await runMutation(deps, entry.op, entry.params, { ...writeOptions, normalizeWhen: true });
|
|
79
82
|
}
|
|
80
83
|
catch (err) {
|
|
81
84
|
// Param-shape errors (exclusive combos etc.) surface per-op, not fatally.
|
package/dist/write/batch.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"batch.js","sourceRoot":"","sources":["../../src/write/batch.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAE,eAAe,EAA+C,MAAM,iBAAiB,CAAC;AAC/F,OAAO,EAAE,WAAW,EAAqC,MAAM,eAAe,CAAC;AAC/E,OAAO,EAAE,UAAU,EAAsB,MAAM,cAAc,CAAC;AAqC9D,MAAM,SAAS,GAAG,IAAI,GAAG,CAAS,eAAe,CAAC,CAAC;AAEnD,gFAAgF;AAChF,MAAM,UAAU,aAAa,CAAC,OAAyB;IACrD,OAAO,OAAO,CAAC,IAAI,KAAK,IAAI,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC;AAC7D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,QAAQ,CAC5B,IAAe,EACf,GAAc,EACd,UAAwB,EAAE,EAC1B,QAA4C;IAE5C,MAAM,OAAO,GAAsB,EAAE,CAAC;IACtC,IAAI,MAAM,GAAG,KAAK,CAAC;IAEnB,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;QAChD,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAY,CAAC;QACpC,IAAI,OAAyB,CAAC;QAE9B,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,GAAG;gBACR,IAAI,EAAE,SAAS;gBACf,EAAE,EAAE,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC;gBACrB,MAAM,EAAE,6CAA6C;aACtD,CAAC;QACJ,CAAC;aAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,CAAC,EAAE,KAAK,QAAQ,EAAE,CAAC;YACvF,OAAO,GAAG;gBACR,IAAI,EAAE,SAAS;gBACf,EAAE,EAAE,MAAM,CAAE,KAA0B,EAAE,EAAE,CAAC;gBAC3C,MAAM,EAAE,4BAA4B;aACrC,CAAC;QACJ,CAAC;aAAM,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC;YACpC,OAAO,GAAG;gBACR,IAAI,EAAE,SAAS;gBACf,EAAE,EAAE,KAAK,CAAC,EAAE;gBACZ,MAAM,EAAE,eAAe,KAAK,CAAC,EAAE,iCAAiC;aACjE,CAAC;QACJ,CAAC;aAAM,IAAI,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;YACrE,OAAO,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,MAAM,EAAE,0BAA0B,EAAE,CAAC;QAClF,CAAC;aAAM,CAAC;YACN,MAAM,YAAY,GAAiB;gBACjC,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,yBAAyB,KAAK,SAAS,IAAI;oBAC5D,yBAAyB,EAAE,KAAK,CAAC,OAAO,CAAC,yBAAyB;iBACnE,CAAC;gBACF,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,wBAAwB,KAAK,SAAS,IAAI;oBAC3D,wBAAwB,EAAE,KAAK,CAAC,OAAO,CAAC,wBAAwB;iBACjE,CAAC;gBACF,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,oBAAoB,KAAK,SAAS,IAAI;oBACvD,oBAAoB,EAAE,KAAK,CAAC,OAAO,CAAC,oBAAoB;iBACzD,CAAC;gBACF,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,qBAAqB,KAAK,SAAS,IAAI;oBACxD,qBAAqB,EAAE,KAAK,CAAC,OAAO,CAAC,qBAAqB;iBAC3D,CAAC;gBACF,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,KAAK,SAAS,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;gBAC5E,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,eAAe,KAAK,SAAS,IAAI;oBAClD,eAAe,EAAE,KAAK,CAAC,OAAO,CAAC,eAAe;iBAC/C,CAAC;gBACF,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,aAAa,KAAK,SAAS,IAAI;oBAChD,aAAa,EAAE,KAAK,CAAC,OAAO,CAAC,aAAa;iBAC3C,CAAC;gBACF,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,IAAI,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;gBAChD,GAAG,CAAC,OAAO,CAAC,KAAK,KAAK,SAAS,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC;aAC7D,CAAC;YACF,IAAI,CAAC;gBACH,qEAAqE;gBACrE,mEAAmE;gBACnE,OAAO;oBACL,KAAK,CAAC,EAAE,KAAK,SAAS;wBACpB,CAAC,CAAC,MAAM,UAAU,CACd,IAAI,EACJ,KAAK,CAAC,MAAkD,EACxD,YAAY,CACb;wBACH,CAAC,CAAC,MAAM,WAAW,CACf,IAAI,EACJ,KAAK,CAAC,EAAuC,EAC7C,KAAK,CAAC,MAAe,EACrB,YAAY,
|
|
1
|
+
{"version":3,"file":"batch.js","sourceRoot":"","sources":["../../src/write/batch.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import { type OperationKind } from "./operations.ts";
|
|
7
7
|
import { type ReversibilityEntry } from "./reversibility.ts";
|
|
8
|
+
import { type CertificationEntry } from "./vectors/ui-certification.ts";
|
|
8
9
|
import type { VectorId, VectorSupport } from "./vectors/types.ts";
|
|
9
10
|
export interface CapabilityEntry {
|
|
10
11
|
op: OperationKind;
|
|
@@ -15,5 +16,12 @@ export interface CapabilityEntry {
|
|
|
15
16
|
} & (VectorSupport | {
|
|
16
17
|
support: "no";
|
|
17
18
|
}))[];
|
|
19
|
+
/**
|
|
20
|
+
* ui-vector ops only: the on-device certification status. `uncertified`
|
|
21
|
+
* means the GUI recipe is wired but not yet confirmed on real hardware (see
|
|
22
|
+
* docs/lab/ui-certification-runbook.md); the op still runs, but a successful
|
|
23
|
+
* drive carries a warning to that effect.
|
|
24
|
+
*/
|
|
25
|
+
certification?: CertificationEntry;
|
|
18
26
|
}
|
|
19
27
|
export declare function capabilitiesTable(op?: OperationKind): CapabilityEntry[];
|
|
@@ -5,15 +5,22 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import { OPERATION_KINDS } from "./operations.js";
|
|
7
7
|
import { REVERSIBILITY } from "./reversibility.js";
|
|
8
|
+
import { certificationOf } from "./vectors/ui-certification.js";
|
|
8
9
|
import { defaultVectors } from "./vectors/registry.js";
|
|
9
10
|
export function capabilitiesTable(op) {
|
|
10
11
|
const vectors = defaultVectors();
|
|
11
12
|
const ops = op !== undefined ? [op] : [...OPERATION_KINDS];
|
|
12
|
-
return ops.map((kind) =>
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
13
|
+
return ops.map((kind) => {
|
|
14
|
+
const cert = certificationOf(kind);
|
|
15
|
+
const entry = {
|
|
16
|
+
op: kind,
|
|
17
|
+
undo: REVERSIBILITY[kind],
|
|
18
|
+
// oxlint-disable-next-line no-map-spread -- building fresh capability rows, not mutating
|
|
19
|
+
vectors: vectors.map((v) => ({ vector: v.id, ...(v.matrix[kind] ?? { support: "no" }) })),
|
|
20
|
+
};
|
|
21
|
+
if (cert !== undefined)
|
|
22
|
+
entry.certification = cert;
|
|
23
|
+
return entry;
|
|
24
|
+
});
|
|
18
25
|
}
|
|
19
26
|
//# sourceMappingURL=capabilities.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"capabilities.js","sourceRoot":"","sources":["../../src/write/capabilities.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,eAAe,EAAsB,MAAM,iBAAiB,CAAC;AACtE,OAAO,EAAE,aAAa,EAA2B,MAAM,oBAAoB,CAAC;AAC5E,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"capabilities.js","sourceRoot":"","sources":["../../src/write/capabilities.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,eAAe,EAAsB,MAAM,iBAAiB,CAAC;AACtE,OAAO,EAAE,aAAa,EAA2B,MAAM,oBAAoB,CAAC;AAC5E,OAAO,EAAE,eAAe,EAA2B,MAAM,+BAA+B,CAAC;AACzF,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAiBvD,MAAM,UAAU,iBAAiB,CAAC,EAAkB;IAClD,MAAM,OAAO,GAAG,cAAc,EAAE,CAAC;IACjC,MAAM,GAAG,GAAG,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,eAAe,CAAC,CAAC;IAC3D,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACtB,MAAM,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;QACnC,MAAM,KAAK,GAAoB;YAC7B,EAAE,EAAE,IAAI;YACR,IAAI,EAAE,aAAa,CAAC,IAAI,CAAC;YACzB,yFAAyF;YACzF,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;SAC1F,CAAC;QACF,IAAI,IAAI,KAAK,SAAS;YAAE,KAAK,CAAC,aAAa,GAAG,IAAI,CAAC;QACnD,OAAO,KAAK,CAAC;IACf,CAAC,CAAC,CAAC;AACL,CAAC"}
|
package/dist/write/commands.d.ts
CHANGED
|
@@ -9,8 +9,9 @@ import { type IsoDate } from "../model/dates.ts";
|
|
|
9
9
|
import type { HazardId } from "./guards.ts";
|
|
10
10
|
import type { OperationKind, OperationParamsMap } from "./operations.ts";
|
|
11
11
|
import { type PreState } from "./pre-state.ts";
|
|
12
|
+
import { assertRepeatRule } from "./repeat-rule.ts";
|
|
12
13
|
import type { CompiledInvocation, VectorId } from "./vectors/types.ts";
|
|
13
|
-
import type
|
|
14
|
+
import { type DeltaSpec } from "./verify/delta.ts";
|
|
14
15
|
export interface CompileCtx {
|
|
15
16
|
token: string | null;
|
|
16
17
|
}
|
|
@@ -27,6 +28,7 @@ export interface CommandSpec<K extends OperationKind = OperationKind> {
|
|
|
27
28
|
expectedDelta(pre: PreState, params: OperationParamsMap[K], ctx: DeltaCtx): DeltaSpec;
|
|
28
29
|
compile(params: OperationParamsMap[K], vector: VectorId, pre: PreState, ctx: CompileCtx): CompiledInvocation;
|
|
29
30
|
}
|
|
31
|
+
export { assertRepeatRule };
|
|
30
32
|
export declare const COMMANDS: {
|
|
31
33
|
[K in OperationKind]: CommandSpec<K>;
|
|
32
34
|
};
|