things-api 0.18.0 → 0.19.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 +18 -9
- package/deputy/AppIcon.icns +0 -0
- package/deputy/VERSION +1 -1
- package/deputy/helpers-Info.plist +4 -0
- package/deputy/prebuilt/Things API Helper.app/Contents/CodeResources +0 -0
- package/deputy/prebuilt/Things API Helper.app/Contents/Helpers/things-reader.app/Contents/Info.plist +3 -1
- 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/Helpers/things-reader.app/Contents/Resources/AppIcon.icns +0 -0
- package/deputy/prebuilt/Things API Helper.app/Contents/Helpers/things-reader.app/Contents/_CodeSignature/CodeResources +15 -2
- package/deputy/prebuilt/Things API Helper.app/Contents/Info.plist +5 -1
- package/deputy/prebuilt/Things API Helper.app/Contents/MacOS/things-deputy +0 -0
- package/deputy/prebuilt/Things API Helper.app/Contents/Resources/AppIcon.icns +0 -0
- package/deputy/prebuilt/Things API Helper.app/Contents/_CodeSignature/CodeResources +14 -2
- package/deputy/reader/Info.plist +2 -0
- package/deputy/reader/entitlements.plist +30 -0
- package/deputy/reader/main.swift +129 -40
- package/deputy/src/server.swift +25 -2
- package/deputy/src/tcc.swift +58 -0
- package/dist/audit/schema.d.ts +30 -1
- package/dist/audit/schema.js.map +1 -1
- package/dist/capability.d.ts +322 -0
- package/dist/capability.js +706 -0
- package/dist/capability.js.map +1 -0
- package/dist/cli/commands/doctor.d.ts +13 -1
- package/dist/cli/commands/doctor.js +141 -5
- package/dist/cli/commands/doctor.js.map +1 -1
- package/dist/cli/commands/helpers.js +189 -51
- package/dist/cli/commands/helpers.js.map +1 -1
- package/dist/cli/commands/mcp.js +8 -0
- package/dist/cli/commands/mcp.js.map +1 -1
- package/dist/cli/commands/op-result.js +6 -0
- package/dist/cli/commands/op-result.js.map +1 -1
- package/dist/cli/commands/reads.js +47 -1
- package/dist/cli/commands/reads.js.map +1 -1
- package/dist/cli/commands/repeat-flags.js +34 -2
- package/dist/cli/commands/repeat-flags.js.map +1 -1
- package/dist/cli/commands/setup.d.ts +9 -0
- package/dist/cli/commands/setup.js +76 -83
- package/dist/cli/commands/setup.js.map +1 -1
- package/dist/cli/commands/writes.d.ts +1 -1
- package/dist/cli/commands/writes.js +311 -142
- package/dist/cli/commands/writes.js.map +1 -1
- package/dist/cli/dry-run.d.ts +1 -1
- package/dist/cli/dry-run.js +1 -1
- package/dist/cli/glyphs.d.ts +23 -4
- package/dist/cli/glyphs.js +46 -19
- package/dist/cli/glyphs.js.map +1 -1
- package/dist/cli/help.d.ts +1 -1
- package/dist/cli/help.js +49 -27
- package/dist/cli/help.js.map +1 -1
- package/dist/cli/interrupt.d.ts +54 -6
- package/dist/cli/interrupt.js +78 -12
- package/dist/cli/interrupt.js.map +1 -1
- package/dist/cli/main.js +8 -5
- package/dist/cli/main.js.map +1 -1
- package/dist/cli/period.d.ts +3 -1
- package/dist/cli/period.js +1 -1
- package/dist/cli/period.js.map +1 -1
- package/dist/cli/read-driver.js +26 -1
- package/dist/cli/read-driver.js.map +1 -1
- package/dist/cli/render.d.ts +31 -4
- package/dist/cli/render.js +127 -15
- package/dist/cli/render.js.map +1 -1
- package/dist/client.d.ts +23 -3
- package/dist/client.js +36 -13
- package/dist/client.js.map +1 -1
- package/dist/contracts.d.ts +8 -4
- package/dist/contracts.js +1 -1
- package/dist/contracts.js.map +1 -1
- package/dist/deputy/install.d.ts +234 -6
- package/dist/deputy/install.js +843 -31
- package/dist/deputy/install.js.map +1 -1
- package/dist/deputy/notices.js +2 -2
- package/dist/deputy/notices.js.map +1 -1
- package/dist/deputy/protocol.d.ts +59 -5
- package/dist/deputy/protocol.js +48 -11
- package/dist/deputy/protocol.js.map +1 -1
- package/dist/deputy/routing.d.ts +37 -0
- package/dist/deputy/routing.js +181 -27
- package/dist/deputy/routing.js.map +1 -1
- package/dist/deputy/wake.d.ts +61 -0
- package/dist/deputy/wake.js +149 -0
- package/dist/deputy/wake.js.map +1 -0
- package/dist/diagnose.d.ts +19 -4
- package/dist/diagnose.js +64 -8
- package/dist/diagnose.js.map +1 -1
- package/dist/direct-setup.d.ts +104 -0
- package/dist/direct-setup.js +658 -0
- package/dist/direct-setup.js.map +1 -0
- package/dist/host-access.d.ts +75 -0
- package/dist/host-access.js +177 -0
- package/dist/host-access.js.map +1 -0
- package/dist/index.d.ts +20 -5
- package/dist/index.js +14 -1
- package/dist/index.js.map +1 -1
- package/dist/mcp/server.d.ts +27 -1
- package/dist/mcp/server.js +308 -109
- package/dist/mcp/server.js.map +1 -1
- package/dist/op-result.d.ts +9 -0
- package/dist/op-result.js +13 -1
- package/dist/op-result.js.map +1 -1
- package/dist/read/filter-contract.d.ts +1 -1
- package/dist/read/filter-contract.js +4 -0
- package/dist/read/filter-contract.js.map +1 -1
- package/dist/read/shape.js +4 -0
- package/dist/read/shape.js.map +1 -1
- package/dist/read/views.d.ts +29 -0
- package/dist/read/views.js +60 -0
- package/dist/read/views.js.map +1 -1
- package/dist/session-grant.d.ts +48 -0
- package/dist/session-grant.js +185 -0
- package/dist/session-grant.js.map +1 -0
- package/dist/surface-copy.d.ts +19 -3
- package/dist/surface-copy.js +19 -3
- package/dist/surface-copy.js.map +1 -1
- package/dist/wizard.d.ts +58 -0
- package/dist/wizard.js +174 -0
- package/dist/wizard.js.map +1 -0
- package/dist/write/availability.d.ts +1 -16
- package/dist/write/availability.js +10 -65
- package/dist/write/availability.js.map +1 -1
- package/dist/write/batch.d.ts +20 -0
- package/dist/write/batch.js +111 -21
- package/dist/write/batch.js.map +1 -1
- package/dist/write/capabilities.d.ts +9 -0
- package/dist/write/capabilities.js +2 -0
- package/dist/write/capabilities.js.map +1 -1
- package/dist/write/clear-reminder.js +1 -1
- package/dist/write/clear-reminder.js.map +1 -1
- package/dist/write/commands.d.ts +22 -7
- package/dist/write/commands.js +231 -254
- package/dist/write/commands.js.map +1 -1
- package/dist/write/failure-hints.d.ts +32 -7
- package/dist/write/failure-hints.js +9 -14
- package/dist/write/failure-hints.js.map +1 -1
- package/dist/write/guards.js +22 -4
- package/dist/write/guards.js.map +1 -1
- package/dist/write/lock.d.ts +16 -13
- package/dist/write/lock.js +55 -0
- package/dist/write/lock.js.map +1 -1
- package/dist/write/make-repeating-project.js +9 -13
- package/dist/write/make-repeating-project.js.map +1 -1
- package/dist/write/move.js +9 -12
- package/dist/write/move.js.map +1 -1
- package/dist/write/operations.d.ts +51 -29
- package/dist/write/operations.js +16 -0
- package/dist/write/operations.js.map +1 -1
- package/dist/write/opid.d.ts +72 -14
- package/dist/write/opid.js +152 -8
- package/dist/write/opid.js.map +1 -1
- package/dist/write/param-schema.d.ts +80 -0
- package/dist/write/param-schema.js +754 -0
- package/dist/write/param-schema.js.map +1 -0
- package/dist/write/pipeline.d.ts +110 -5
- package/dist/write/pipeline.js +288 -14
- package/dist/write/pipeline.js.map +1 -1
- package/dist/write/pre-state.d.ts +38 -16
- package/dist/write/pre-state.js +117 -22
- package/dist/write/pre-state.js.map +1 -1
- package/dist/write/promote-clone.js +658 -444
- package/dist/write/promote-clone.js.map +1 -1
- package/dist/write/reorder.js +25 -8
- package/dist/write/reorder.js.map +1 -1
- package/dist/write/repeat-collateral.d.ts +31 -0
- package/dist/write/repeat-collateral.js +153 -0
- package/dist/write/repeat-collateral.js.map +1 -0
- package/dist/write/repeat-rule.d.ts +28 -1
- package/dist/write/repeat-rule.js +54 -4
- package/dist/write/repeat-rule.js.map +1 -1
- package/dist/write/resolution-timestamps.d.ts +11 -0
- package/dist/write/resolution-timestamps.js +108 -40
- package/dist/write/resolution-timestamps.js.map +1 -1
- package/dist/write/reversibility.js +4 -0
- package/dist/write/reversibility.js.map +1 -1
- package/dist/write/template-mutation.d.ts +137 -0
- package/dist/write/template-mutation.js +598 -0
- package/dist/write/template-mutation.js.map +1 -0
- package/dist/write/undo.js +10 -20
- package/dist/write/undo.js.map +1 -1
- package/dist/write/update-fields.d.ts +151 -0
- package/dist/write/update-fields.js +427 -0
- package/dist/write/update-fields.js.map +1 -0
- package/dist/write/vectors/applescript.js +6 -10
- package/dist/write/vectors/applescript.js.map +1 -1
- package/dist/write/vectors/registry.d.ts +1 -1
- package/dist/write/vectors/registry.js +10 -2
- package/dist/write/vectors/registry.js.map +1 -1
- package/dist/write/vectors/shortcuts.js +2 -2
- package/dist/write/vectors/shortcuts.js.map +1 -1
- package/dist/write/vectors/simulator.js +15 -4
- package/dist/write/vectors/simulator.js.map +1 -1
- package/dist/write/vectors/types.d.ts +268 -1
- package/dist/write/vectors/ui-certification.js +63 -13
- package/dist/write/vectors/ui-certification.js.map +1 -1
- package/dist/write/vectors/ui-chord.d.ts +144 -0
- package/dist/write/vectors/ui-chord.js +428 -0
- package/dist/write/vectors/ui-chord.js.map +1 -0
- package/dist/write/vectors/ui-drag.d.ts +8 -4
- package/dist/write/vectors/ui-drag.js +2 -0
- package/dist/write/vectors/ui-drag.js.map +1 -1
- package/dist/write/vectors/ui-recipes.d.ts +70 -3
- package/dist/write/vectors/ui-recipes.js +482 -44
- package/dist/write/vectors/ui-recipes.js.map +1 -1
- package/dist/write/vectors/ui.d.ts +280 -10
- package/dist/write/vectors/ui.js +1068 -77
- package/dist/write/vectors/ui.js.map +1 -1
- package/dist/write/vectors/url-scheme.js +3 -0
- package/dist/write/vectors/url-scheme.js.map +1 -1
- package/dist/write/verify/delta.d.ts +62 -0
- package/dist/write/verify/delta.js +36 -2
- package/dist/write/verify/delta.js.map +1 -1
- package/dist/write/verify/poller.d.ts +4 -1
- package/dist/write/verify/poller.js +14 -0
- package/dist/write/verify/poller.js.map +1 -1
- package/package.json +2 -1
- package/schema/envelope.schema.json +6 -4
- package/scripts/build-helpers.sh +5 -0
- package/skills/things-cli/SKILL.md +5 -3
- package/skills/things-cli/references/contracts.md +1 -0
- package/skills/things-cli/references/data-model.md +3 -0
- package/skills/things-cli/references/errors.md +1 -1
- package/skills/things-cli/references/gui.md +1 -0
- package/skills/things-cli/references/repeating.md +6 -0
- package/skills/things-cli/references/tag-cleanup.md +64 -0
package/dist/diagnose.d.ts
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { type HelpersMode } from "./config.ts";
|
|
2
2
|
import { type HelpersStatus } from "./deputy/install.ts";
|
|
3
3
|
import { type HelpersRouting } from "./deputy/routing.ts";
|
|
4
|
+
import { type CapabilityDeps, type ReadCapability, type UiCapability, type UrlSchemeCapability, type WriteCapability } from "./capability.ts";
|
|
4
5
|
import { type AutomationProbeDeps, type AutomationProbeStatus } from "./write/automation-probe.ts";
|
|
5
6
|
import { type AccessibilityProbeDeps, type AccessibilityProbeStatus } from "./write/accessibility-probe.ts";
|
|
6
7
|
import { type CertificationStatus } from "./write/vectors/ui-certification.ts";
|
|
7
|
-
import { type AvailabilityDeps, type ShortcutsState
|
|
8
|
+
import { type AvailabilityDeps, type ShortcutsState } from "./write/availability.ts";
|
|
8
9
|
import { type EnvironmentChange, type EnvironmentTracker, type EnvironmentTuple } from "./write/environment.ts";
|
|
9
10
|
import { type SyncHealth, type SyncHealthDeps } from "./sync-health.ts";
|
|
10
11
|
import { ExitCode, type EnvelopeMeta, type ErrorCode } from "./contracts.ts";
|
|
@@ -34,6 +35,18 @@ export interface HelpersReportDeps {
|
|
|
34
35
|
routing?: HelpersRouting;
|
|
35
36
|
}
|
|
36
37
|
export interface DiagnoseReport {
|
|
38
|
+
/**
|
|
39
|
+
* What this process is permitted to do, and on whose authority
|
|
40
|
+
* (docs/design/permissions-doctrine.md, Article II). Detected prompt-free, so
|
|
41
|
+
* asking `doctor` never costs a consent dialog — which matters most on
|
|
42
|
+
* exactly the broken machine where someone runs it.
|
|
43
|
+
*/
|
|
44
|
+
capability: {
|
|
45
|
+
read: ReadCapability;
|
|
46
|
+
write: WriteCapability;
|
|
47
|
+
/** GUI-driving standing — helpers-only by Article IV. */
|
|
48
|
+
ui: UiCapability;
|
|
49
|
+
};
|
|
37
50
|
db: {
|
|
38
51
|
path: string;
|
|
39
52
|
source: "option" | "env" | "container" | "deputy";
|
|
@@ -129,8 +142,8 @@ export interface DiagnoseReport {
|
|
|
129
142
|
reason: string;
|
|
130
143
|
};
|
|
131
144
|
availability: {
|
|
132
|
-
/**
|
|
133
|
-
urlScheme:
|
|
145
|
+
/** Things' own 'Enable Things URLs' authorization (capability.ts; URLEN1). */
|
|
146
|
+
urlScheme: UrlSchemeCapability;
|
|
134
147
|
/** Which proxy shortcuts are installed (the Shortcuts surface's prerequisites). */
|
|
135
148
|
shortcuts: ShortcutsState;
|
|
136
149
|
};
|
|
@@ -192,6 +205,8 @@ export interface DiagnoseOptions {
|
|
|
192
205
|
accessibilityProbeDeps?: AccessibilityProbeDeps;
|
|
193
206
|
environment?: EnvironmentTracker;
|
|
194
207
|
availability?: AvailabilityDeps;
|
|
208
|
+
/** Test seams for the prompt-free capability verdicts (capability.ts). */
|
|
209
|
+
capability?: CapabilityDeps;
|
|
195
210
|
/** Test seams for the sync-health section (clock, process check, WAL/plist readers). */
|
|
196
211
|
syncHealth?: SyncHealthDeps;
|
|
197
212
|
/**
|
|
@@ -216,7 +231,7 @@ export interface DiagnoseResult {
|
|
|
216
231
|
/**
|
|
217
232
|
* Which bundled Apple Shortcuts proxies are installed — a standalone
|
|
218
233
|
* environment accessor that needs no database (the shortcuts probe is a pure
|
|
219
|
-
* host check). The public capability behind `things setup
|
|
234
|
+
* host check). The public capability behind `things setup`; the full
|
|
220
235
|
* {@link diagnose} report carries the same state under `availability.shortcuts`.
|
|
221
236
|
*/
|
|
222
237
|
export declare function shortcutProxies(deps?: AvailabilityDeps): ShortcutsState;
|
package/dist/diagnose.js
CHANGED
|
@@ -15,12 +15,13 @@ import { createDeputyDbFacade } from "./deputy/db-facade.js";
|
|
|
15
15
|
import { helpersStatus } from "./deputy/install.js";
|
|
16
16
|
import { EXPECTED_HELPERS_VERSION } from "./deputy/protocol.js";
|
|
17
17
|
import { deputyDbPath, deputyRoutesDb, helpersRouting, } from "./deputy/routing.js";
|
|
18
|
+
import { readAllowed, readCapability, uiCapability, urlSchemeCapability, writeCapability, } from "./capability.js";
|
|
18
19
|
import { compareToBaseline, observeSchema } from "./db/fingerprint.js";
|
|
19
20
|
import { locateThingsDb, ThingsDbNotFoundError } from "./db/locate.js";
|
|
20
21
|
import { isThingsRunning, probeAutomation, } from "./write/automation-probe.js";
|
|
21
22
|
import { probeAccessibility, } from "./write/accessibility-probe.js";
|
|
22
23
|
import { allCertifications, UI_CERTIFICATION_PROFILE, } from "./write/vectors/ui-certification.js";
|
|
23
|
-
import { readShortcutProxies,
|
|
24
|
+
import { readShortcutProxies, } from "./write/availability.js";
|
|
24
25
|
import { createEnvironmentTracker, diffEnvironment, } from "./write/environment.js";
|
|
25
26
|
import { sdefDeclaresPrivateReorder } from "./write/experimental.js";
|
|
26
27
|
import { computeSyncHealth } from "./sync-health.js";
|
|
@@ -61,6 +62,30 @@ function scanRecurrenceRules(db) {
|
|
|
61
62
|
"templates are unavailable",
|
|
62
63
|
};
|
|
63
64
|
}
|
|
65
|
+
/**
|
|
66
|
+
* Does the deputy still owe macOS a consent it can only collect with a human
|
|
67
|
+
* present? Reads the TCC standing its handshake carries (helpers v1.2.0+);
|
|
68
|
+
* an older deputy reports nothing here, so nothing is claimed about it.
|
|
69
|
+
*/
|
|
70
|
+
function outstandingConsent(hello) {
|
|
71
|
+
if (hello === null)
|
|
72
|
+
return false;
|
|
73
|
+
if (hello.axTrusted === false)
|
|
74
|
+
return true;
|
|
75
|
+
const automation = hello.automation;
|
|
76
|
+
if (automation === undefined)
|
|
77
|
+
return false;
|
|
78
|
+
return consentOwed(automation.things) || consentOwed(automation.systemEvents);
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* `not-running` is the one value that is NOT a standing: with the target down
|
|
82
|
+
* the ask-false determination has no answer to give, so nothing is owed and no
|
|
83
|
+
* sitting would settle anything (#610 for System Events, #617 for Things).
|
|
84
|
+
* Steering a human to a ceremony on it is the false-onboarding loop itself.
|
|
85
|
+
*/
|
|
86
|
+
function consentOwed(standing) {
|
|
87
|
+
return standing !== "granted" && standing !== "not-running";
|
|
88
|
+
}
|
|
64
89
|
function buildHelpersReport(configMode, deps = {}) {
|
|
65
90
|
// The routing resolution carries the mode it resolved (helpersRouting reads
|
|
66
91
|
// the same config), so the section has ONE source for it.
|
|
@@ -71,18 +96,20 @@ function buildHelpersReport(configMode, deps = {}) {
|
|
|
71
96
|
const versionSkew = installedVersion !== null && installedVersion !== EXPECTED_HELPERS_VERSION;
|
|
72
97
|
const hungSocket = status.deputy.hungSocket || status.reader.hungSocket;
|
|
73
98
|
const remedy = versionSkew
|
|
74
|
-
? "rebuild the bundle (`bash scripts/build-helpers.sh`) and rerun `things helpers
|
|
99
|
+
? "rebuild the bundle (`bash scripts/build-helpers.sh`) and rerun `things helpers setup`"
|
|
75
100
|
: hungSocket
|
|
76
101
|
? "`things helpers restart` — a socket is present but no handshake comes back"
|
|
77
102
|
: !status.bundleInstalled
|
|
78
103
|
? mode === "false"
|
|
79
104
|
? null
|
|
80
|
-
: "`things helpers
|
|
105
|
+
: "`things helpers setup` to move macOS permission grants onto the helpers"
|
|
81
106
|
: status.reader.installed && status.reader.running && !status.reader.granted
|
|
82
|
-
? "`things helpers
|
|
107
|
+
? "`things helpers setup` once, at the machine, to give the reader durable read access"
|
|
83
108
|
: status.bundleInstalled && !status.deputy.running
|
|
84
|
-
? "`things helpers
|
|
85
|
-
:
|
|
109
|
+
? "`things helpers setup` (re-registers both helpers with launchd and starts them)"
|
|
110
|
+
: outstandingConsent(status.deputy.hello)
|
|
111
|
+
? "`things helpers setup` once, at the machine — one sitting settles every macOS permission the helpers still need"
|
|
112
|
+
: null;
|
|
86
113
|
const detail = mode === "false"
|
|
87
114
|
? "routing off — every primitive runs in this process (`things config set helpers-enabled auto` to use an installed helper)"
|
|
88
115
|
: routing.automation && routing.files
|
|
@@ -110,13 +137,36 @@ function buildHelpersReport(configMode, deps = {}) {
|
|
|
110
137
|
/**
|
|
111
138
|
* Which bundled Apple Shortcuts proxies are installed — a standalone
|
|
112
139
|
* environment accessor that needs no database (the shortcuts probe is a pure
|
|
113
|
-
* host check). The public capability behind `things setup
|
|
140
|
+
* host check). The public capability behind `things setup`; the full
|
|
114
141
|
* {@link diagnose} report carries the same state under `availability.shortcuts`.
|
|
115
142
|
*/
|
|
116
143
|
export function shortcutProxies(deps = {}) {
|
|
117
144
|
return readShortcutProxies(deps);
|
|
118
145
|
}
|
|
119
146
|
export function diagnose(dbPath, options = {}) {
|
|
147
|
+
// The capability verdict comes FIRST and prompt-free (permissions doctrine,
|
|
148
|
+
// Articles I–III). Doctor is the command people run when access is broken, so
|
|
149
|
+
// it must be able to say "you hold nothing, here is how to fix it" without
|
|
150
|
+
// itself opening the container and raising the dialog it is diagnosing.
|
|
151
|
+
const capability = {
|
|
152
|
+
read: readCapability(dbPath !== undefined ? { dbPath } : {}),
|
|
153
|
+
// SURVEY, so a closed Things is REPORTED (`deputy-target-dormant`) and
|
|
154
|
+
// never started: doctor diagnoses the machine, it does not rearrange it.
|
|
155
|
+
write: writeCapability(),
|
|
156
|
+
ui: uiCapability(),
|
|
157
|
+
};
|
|
158
|
+
if (!readAllowed(capability.read)) {
|
|
159
|
+
return {
|
|
160
|
+
report: null,
|
|
161
|
+
error: {
|
|
162
|
+
code: "environment",
|
|
163
|
+
message: `the Things database cannot be read: ${capability.read.detail}`,
|
|
164
|
+
remediation: capability.read.remediation.join("; "),
|
|
165
|
+
},
|
|
166
|
+
exitCode: ExitCode.Environment,
|
|
167
|
+
meta: { dbVersion: null, fingerprint: "unknown" },
|
|
168
|
+
};
|
|
169
|
+
}
|
|
120
170
|
// Mirror openThings: deputy-brokered database access for the default
|
|
121
171
|
// container db, local open for explicit paths (src/deputy/routing.ts).
|
|
122
172
|
const routedDbPath = deputyRoutesDb(dbPath !== undefined ? { dbPath } : undefined)
|
|
@@ -217,6 +267,7 @@ export function diagnose(dbPath, options = {}) {
|
|
|
217
267
|
}
|
|
218
268
|
})();
|
|
219
269
|
const report = {
|
|
270
|
+
capability,
|
|
220
271
|
db: {
|
|
221
272
|
path: located.path,
|
|
222
273
|
source: located.source,
|
|
@@ -294,7 +345,12 @@ export function diagnose(dbPath, options = {}) {
|
|
|
294
345
|
"intended for a dedicated always-on Mac, see docs/setup.md)",
|
|
295
346
|
},
|
|
296
347
|
availability: {
|
|
297
|
-
|
|
348
|
+
// Reuses the read standing already established above rather than
|
|
349
|
+
// re-deriving it, so doctor asks the machine once.
|
|
350
|
+
urlScheme: urlSchemeCapability({
|
|
351
|
+
readStanding: () => capability.read,
|
|
352
|
+
...options.capability,
|
|
353
|
+
}),
|
|
298
354
|
shortcuts: readShortcutProxies(options.availability),
|
|
299
355
|
},
|
|
300
356
|
recurrence: scanRecurrenceRules(conn.db),
|
package/dist/diagnose.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diagnose.js","sourceRoot":"","sources":["../src/diagnose.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"diagnose.js","sourceRoot":"","sources":["../src/diagnose.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
import { writeCapability, type CapabilityDeps, type ReadCapability, type UrlSchemeCapability, type WriteCapabilityOptions } from "./capability.ts";
|
|
2
|
+
import { type Wizard } from "./wizard.ts";
|
|
3
|
+
import { type ShortcutsState } from "./write/availability.ts";
|
|
4
|
+
/**
|
|
5
|
+
* The deadline passed with the app-data dialog still unanswered. Distinct from
|
|
6
|
+
* a refusal: nothing was decided, the dialog is still on screen, and answering
|
|
7
|
+
* it later still lands the grant on the host app (APDP1 stage A).
|
|
8
|
+
*/
|
|
9
|
+
export declare class ContainerOpenTimedOut extends Error {
|
|
10
|
+
readonly timeoutMs: number;
|
|
11
|
+
constructor(timeoutMs: number);
|
|
12
|
+
}
|
|
13
|
+
export type SetupLeg = "read-access" | "app-control" | "shortcuts" | "url-scheme";
|
|
14
|
+
/**
|
|
15
|
+
* Where a leg stands. `pending` is a HUMAN-pace outcome (a toggle not yet
|
|
16
|
+
* flipped, a sheet not yet clicked) and resumes on a rerun; `denied` means
|
|
17
|
+
* macOS or the user refused and only the human can undo it.
|
|
18
|
+
*/
|
|
19
|
+
export type SetupState = "granted" | "denied" | "pending" | "skipped";
|
|
20
|
+
export interface SetupStep {
|
|
21
|
+
leg: SetupLeg;
|
|
22
|
+
label: string;
|
|
23
|
+
state: SetupState;
|
|
24
|
+
/** True when the leg was already satisfied, detected without raising anything. */
|
|
25
|
+
alreadySatisfied: boolean;
|
|
26
|
+
detail: string;
|
|
27
|
+
}
|
|
28
|
+
export interface DirectSetupResult {
|
|
29
|
+
/** The host app every direct grant in this run attaches to. */
|
|
30
|
+
host: {
|
|
31
|
+
bundleId: string | null;
|
|
32
|
+
name: string;
|
|
33
|
+
};
|
|
34
|
+
steps: SetupStep[];
|
|
35
|
+
/** The legs that were going to put something on screen, surveyed BEFORE the first ran. */
|
|
36
|
+
outstanding: SetupLeg[];
|
|
37
|
+
denied: boolean;
|
|
38
|
+
pending: boolean;
|
|
39
|
+
/** The single closing line printed under the report. */
|
|
40
|
+
closing: string;
|
|
41
|
+
}
|
|
42
|
+
export interface DirectSetupDeps extends CapabilityDeps {
|
|
43
|
+
progress?: (line: string) => void;
|
|
44
|
+
/**
|
|
45
|
+
* The Article V wizard (./wizard.ts). At a TTY it explains each dialog before
|
|
46
|
+
* the leg raises it and waits for the human; off a TTY every method is inert
|
|
47
|
+
* and this ceremony behaves exactly as strict mode always has.
|
|
48
|
+
*/
|
|
49
|
+
wizard?: Wizard;
|
|
50
|
+
openUrl?: (url: string) => void;
|
|
51
|
+
/** Send the real Apple Event that mints an Automation grant. Throws on failure. */
|
|
52
|
+
sendAutomationProbe?: (timeoutMs: number) => void;
|
|
53
|
+
/**
|
|
54
|
+
* Open the container database once, deliberately, to provoke the app-data
|
|
55
|
+
* modal, waiting no longer than `timeoutMs` for it to be answered. Throws
|
|
56
|
+
* {@link ContainerOpenTimedOut} at the deadline and any other error when the
|
|
57
|
+
* open itself failed.
|
|
58
|
+
*/
|
|
59
|
+
openContainer?: (timeoutMs: number) => void;
|
|
60
|
+
/** How long the read leg waits for the app-data dialog (default 60s). */
|
|
61
|
+
containerOpenTimeoutMs?: number;
|
|
62
|
+
/** Open one shortcut's install sheet. */
|
|
63
|
+
openShortcut?: (file: string) => void;
|
|
64
|
+
/** The installed proxy-shortcut census (availability.ts). */
|
|
65
|
+
shortcutProxies?: () => ShortcutsState;
|
|
66
|
+
/** Things' own 'Enable Things URLs' standing, for leg (d) (capability.ts). */
|
|
67
|
+
urlSchemeStanding?: () => UrlSchemeCapability;
|
|
68
|
+
automationTimeoutMs?: number;
|
|
69
|
+
}
|
|
70
|
+
export interface SetupSurvey {
|
|
71
|
+
host: {
|
|
72
|
+
bundleId: string | null;
|
|
73
|
+
name: string;
|
|
74
|
+
};
|
|
75
|
+
read: ReadCapability;
|
|
76
|
+
write: ReturnType<typeof writeCapability>;
|
|
77
|
+
urlScheme: UrlSchemeCapability;
|
|
78
|
+
shortcutsMissing: string[];
|
|
79
|
+
/** The legs that WOULD put something on screen. Empty means a rerun asks nothing. */
|
|
80
|
+
outstanding: SetupLeg[];
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* What the ceremony would do, established entirely prompt-free. This is the
|
|
84
|
+
* idempotence check (Article V): it is what lets a rerun skip settled legs, and
|
|
85
|
+
* it is what `--dry-run` reports. Raises nothing, ever.
|
|
86
|
+
*
|
|
87
|
+
* `purpose` is the one side effect the survey can be asked for: the ceremony
|
|
88
|
+
* itself passes `dispatch` so a dormant Things is started before the dialogs
|
|
89
|
+
* are COUNTED (#617) — otherwise a machine whose app happens to be closed is
|
|
90
|
+
* told "nothing to raise" and then shown a dialog anyway. `--dry-run` keeps the
|
|
91
|
+
* default and starts nothing at all, at the cost of not knowing where a closed
|
|
92
|
+
* app's grant stands; it says so through the write verdict it reports.
|
|
93
|
+
*/
|
|
94
|
+
export declare function surveySetup(deps?: DirectSetupDeps, options?: WriteCapabilityOptions): SetupSurvey;
|
|
95
|
+
/**
|
|
96
|
+
* Run the direct-path ceremony. Strict mode: the banner counts what is about
|
|
97
|
+
* to appear, waits are bounded, and an unanswered leg leaves the run nonzero.
|
|
98
|
+
*
|
|
99
|
+
* Runs under {@link withDefaultInterrupts} for its whole synchronous span, so
|
|
100
|
+
* a Ctrl-C at a gate — or during a leg's bounded wait — actually stops it
|
|
101
|
+
* (./wizard.ts, "Why a ceremony runs with the DEFAULT signal disposition").
|
|
102
|
+
* Throws {@link CeremonyStopped} when the human stops at a gate.
|
|
103
|
+
*/
|
|
104
|
+
export declare function directSetup(deps?: DirectSetupDeps): DirectSetupResult;
|