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
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"capability.js","sourceRoot":"","sources":["../src/capability.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,18 @@
|
|
|
3
3
|
* Exit codes: 0 healthy; 5 drift/unknown-version; 7 environment problems.
|
|
4
4
|
*/
|
|
5
5
|
import type { Command } from "commander";
|
|
6
|
-
import { type DiagnoseResult } from "../../index.ts";
|
|
6
|
+
import { type DiagnoseReport, type DiagnoseResult } from "../../index.ts";
|
|
7
7
|
export declare const runDoctor: (dbPath?: string) => DiagnoseResult;
|
|
8
|
+
/**
|
|
9
|
+
* The `── Permissions ──` section: one row per vector, and for each the STATE,
|
|
10
|
+
* the PROVENANCE (which identity actually holds the grant — the question the
|
|
11
|
+
* three summary rows above cannot answer), and the remediation when it is
|
|
12
|
+
* missing (docs/design/permissions-doctrine.md, Article II).
|
|
13
|
+
*
|
|
14
|
+
* Every value here comes from the prompt-free verdict `diagnose` already took.
|
|
15
|
+
* Doctor was an Article I violation once — it opened the container to find out
|
|
16
|
+
* whether it could — and this section must never regress that: it renders, it
|
|
17
|
+
* does not probe.
|
|
18
|
+
*/
|
|
19
|
+
export declare function permissionLines(report: DiagnoseReport): string[];
|
|
8
20
|
export declare function registerDoctor(program: Command): void;
|
|
@@ -1,6 +1,131 @@
|
|
|
1
1
|
import { describeEnvironmentChanges, diagnose, errorEnvelope, okEnvelope, } from "../../index.js";
|
|
2
2
|
// Back-compat alias for pre-seam consumers of the CLI module.
|
|
3
3
|
export const runDoctor = diagnose;
|
|
4
|
+
/**
|
|
5
|
+
* What this process may do and who holds the grant that lets it
|
|
6
|
+
* (docs/design/permissions-doctrine.md, Article II). Two lines, always first:
|
|
7
|
+
* every other row below is downstream of these two answers.
|
|
8
|
+
*/
|
|
9
|
+
function capabilityLines(capability) {
|
|
10
|
+
const { read, write } = capability;
|
|
11
|
+
const host = read.host.bundleId !== null ? `${read.host.name} (${read.host.bundleId})` : read.host.name;
|
|
12
|
+
const lines = [
|
|
13
|
+
`host app: ${host}`,
|
|
14
|
+
`read access: ${read.mode} — ${read.detail}`,
|
|
15
|
+
`app control: ${write.mode} — ${write.detail}`,
|
|
16
|
+
];
|
|
17
|
+
for (const line of [...read.remediation, ...write.remediation]) {
|
|
18
|
+
lines.push(` next: ${line}`);
|
|
19
|
+
}
|
|
20
|
+
return lines;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* The `── Permissions ──` section: one row per vector, and for each the STATE,
|
|
24
|
+
* the PROVENANCE (which identity actually holds the grant — the question the
|
|
25
|
+
* three summary rows above cannot answer), and the remediation when it is
|
|
26
|
+
* missing (docs/design/permissions-doctrine.md, Article II).
|
|
27
|
+
*
|
|
28
|
+
* Every value here comes from the prompt-free verdict `diagnose` already took.
|
|
29
|
+
* Doctor was an Article I violation once — it opened the container to find out
|
|
30
|
+
* whether it could — and this section must never regress that: it renders, it
|
|
31
|
+
* does not probe.
|
|
32
|
+
*/
|
|
33
|
+
export function permissionLines(report) {
|
|
34
|
+
const { read, write, ui } = report.capability;
|
|
35
|
+
const hostLabel = read.host.bundleId !== null ? `${read.host.name} (${read.host.bundleId})` : read.host.name;
|
|
36
|
+
const readProvenance = () => {
|
|
37
|
+
switch (read.mode) {
|
|
38
|
+
case "helpers":
|
|
39
|
+
return "reader bookmark (things-reader)";
|
|
40
|
+
case "direct-fda":
|
|
41
|
+
return `host Full Disk Access (${hostLabel})`;
|
|
42
|
+
case "session-grant":
|
|
43
|
+
return `session marker (${hostLabel} and everything under it, until it quits)`;
|
|
44
|
+
case "explicit-db":
|
|
45
|
+
return "none needed (an explicit --db path)";
|
|
46
|
+
default:
|
|
47
|
+
return "none";
|
|
48
|
+
}
|
|
49
|
+
};
|
|
50
|
+
const writeProvenance = () => {
|
|
51
|
+
switch (write.mode) {
|
|
52
|
+
case "deputy":
|
|
53
|
+
return "deputy TCC Automation (Things API Helper)";
|
|
54
|
+
case "direct-granted":
|
|
55
|
+
return `host TCC Automation (${hostLabel})`;
|
|
56
|
+
// The helpers may well hold it — a closed app is simply not a target
|
|
57
|
+
// macOS will answer for, so this is a liveness row, not an absent-grant
|
|
58
|
+
// one. Doctor reports it and does NOT start Things to resolve it.
|
|
59
|
+
case "deputy-target-dormant":
|
|
60
|
+
return "unreadable — Things is not running";
|
|
61
|
+
case "direct-escape":
|
|
62
|
+
return "the lab's direct escape (not consumer surface)";
|
|
63
|
+
default:
|
|
64
|
+
return "none";
|
|
65
|
+
}
|
|
66
|
+
};
|
|
67
|
+
const uiProvenance = () => {
|
|
68
|
+
switch (ui.mode) {
|
|
69
|
+
case "helpers":
|
|
70
|
+
return "deputy TCC Accessibility + System Events (Things API Helper)";
|
|
71
|
+
// The grants may well be held — they just cannot be read while the target
|
|
72
|
+
// they name is down, so this is a liveness row, not an absent-grant one.
|
|
73
|
+
case "target-unreachable":
|
|
74
|
+
return "unreadable — System Events is not running";
|
|
75
|
+
case "direct-escape":
|
|
76
|
+
return "the lab's direct escape (not consumer surface)";
|
|
77
|
+
default:
|
|
78
|
+
return "none — helpers only (Article IV)";
|
|
79
|
+
}
|
|
80
|
+
};
|
|
81
|
+
const rows = [
|
|
82
|
+
{
|
|
83
|
+
vector: "read",
|
|
84
|
+
state: read.mode,
|
|
85
|
+
provenance: readProvenance(),
|
|
86
|
+
next: read.remediation,
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
vector: "applescript",
|
|
90
|
+
state: write.mode,
|
|
91
|
+
provenance: writeProvenance(),
|
|
92
|
+
next: write.remediation,
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
vector: "url-scheme",
|
|
96
|
+
// The mode IS the state word — enabled / disabled / never-asked /
|
|
97
|
+
// unreadable — so the four verdicts read distinctly here. Only `enabled`
|
|
98
|
+
// dispatches; the other two readable ones are refused before dispatch,
|
|
99
|
+
// and `unreadable` is let through and judged by the verify (URLEN1, #611).
|
|
100
|
+
state: report.availability.urlScheme.mode,
|
|
101
|
+
// No TCC class at all: `open -g things:///…` is a LaunchServices dispatch.
|
|
102
|
+
// The only authorization is the app's own.
|
|
103
|
+
provenance: "none needed — the app's own 'Enable Things URLs' setting",
|
|
104
|
+
next: report.availability.urlScheme.remediation,
|
|
105
|
+
},
|
|
106
|
+
{
|
|
107
|
+
vector: "shortcuts",
|
|
108
|
+
state: report.availability.shortcuts.missing.length === 0
|
|
109
|
+
? "installed"
|
|
110
|
+
: `${report.availability.shortcuts.present.length}/${report.availability.shortcuts.present.length +
|
|
111
|
+
report.availability.shortcuts.missing.length} installed`,
|
|
112
|
+
provenance: "none needed — each shortcut's own Always Allow",
|
|
113
|
+
next: report.availability.shortcuts.missing.length === 0
|
|
114
|
+
? []
|
|
115
|
+
: ["run `things setup` to install the missing proxy shortcuts"],
|
|
116
|
+
},
|
|
117
|
+
{ vector: "ui", state: ui.mode, provenance: uiProvenance(), next: ui.remediation },
|
|
118
|
+
];
|
|
119
|
+
const vectorWidth = Math.max(...rows.map((r) => r.vector.length));
|
|
120
|
+
const stateWidth = Math.max(...rows.map((r) => r.state.length));
|
|
121
|
+
const lines = ["── Permissions (per vector) ──", `host app: ${hostLabel}`];
|
|
122
|
+
for (const row of rows) {
|
|
123
|
+
lines.push(` ${row.vector.padEnd(vectorWidth)} ${row.state.padEnd(stateWidth)} ${row.provenance}`);
|
|
124
|
+
for (const next of row.next)
|
|
125
|
+
lines.push(`${" ".repeat(vectorWidth + stateWidth + 6)}next: ${next}`);
|
|
126
|
+
}
|
|
127
|
+
return lines;
|
|
128
|
+
}
|
|
4
129
|
function environmentLine(env) {
|
|
5
130
|
if (env.lastVerifiedWrite === null) {
|
|
6
131
|
return "no verified write recorded yet (the tuple is recorded on the first successful write)";
|
|
@@ -30,8 +155,17 @@ function helperHalfLine(half, running) {
|
|
|
30
155
|
: "launchd registered, NOT loaded"
|
|
31
156
|
: "no launchd registration",
|
|
32
157
|
];
|
|
33
|
-
if (half.hello !== null)
|
|
158
|
+
if (half.hello !== null) {
|
|
34
159
|
facts.push(`v${half.hello.deputyVersion}, protocol ${half.hello.protocol}, pid ${half.hello.pid}`);
|
|
160
|
+
// Only the deputy carries TCC standing, and only from helpers v1.2.0 on —
|
|
161
|
+
// an older one simply has no row here rather than a guessed one.
|
|
162
|
+
if (half.hello.automation !== undefined) {
|
|
163
|
+
facts.push(`automation: Things ${half.hello.automation.things}, System Events ${half.hello.automation.systemEvents}`);
|
|
164
|
+
}
|
|
165
|
+
if (half.hello.axTrusted !== undefined) {
|
|
166
|
+
facts.push(`accessibility: ${half.hello.axTrusted ? "granted" : "NOT granted"}`);
|
|
167
|
+
}
|
|
168
|
+
}
|
|
35
169
|
if (half.signing !== null) {
|
|
36
170
|
facts.push(half.signing.state === "signed"
|
|
37
171
|
? `signed (${half.signing.authority ?? "unknown authority"})`
|
|
@@ -119,6 +253,7 @@ export function registerDoctor(program) {
|
|
|
119
253
|
}
|
|
120
254
|
else if (report) {
|
|
121
255
|
const lines = [
|
|
256
|
+
...capabilityLines(report.capability),
|
|
122
257
|
`db: ${report.db.path} (${report.db.source})`,
|
|
123
258
|
`db version: ${report.db.databaseVersion ?? "unknown"}`,
|
|
124
259
|
`fingerprint: ${report.fingerprint.status} (${report.fingerprint.value.slice(0, 23)}…)`,
|
|
@@ -137,11 +272,11 @@ export function registerDoctor(program) {
|
|
|
137
272
|
`experimental: ${report.experimental.reason}`,
|
|
138
273
|
`environment: ${environmentLine(report.environment)}`,
|
|
139
274
|
`automation: ${report.automation.status}${report.automation.status === "granted" ? "" : ` — ${report.automation.detail}`}`,
|
|
140
|
-
`url scheme: ${report.availability.urlScheme.
|
|
275
|
+
`url scheme: ${report.availability.urlScheme.mode === "enabled"
|
|
141
276
|
? "enabled"
|
|
142
|
-
: report.availability.urlScheme.
|
|
143
|
-
? "
|
|
144
|
-
:
|
|
277
|
+
: report.availability.urlScheme.mode === "unreadable"
|
|
278
|
+
? "unknown"
|
|
279
|
+
: report.availability.urlScheme.mode.toUpperCase()} — ${report.availability.urlScheme.detail}`,
|
|
145
280
|
`shortcuts: ${report.availability.shortcuts.present.length}/${report.availability.shortcuts.present.length +
|
|
146
281
|
report.availability.shortcuts.missing.length} proxies installed — ${report.availability.shortcuts.detail}`,
|
|
147
282
|
`repeats: ${report.recurrence.templates} template(s), ${report.recurrence.undecodable} undecodable${report.recurrence.undecodable > 0 ? ` — ${report.recurrence.detail}` : ""}`,
|
|
@@ -154,6 +289,7 @@ export function registerDoctor(program) {
|
|
|
154
289
|
]
|
|
155
290
|
: []),
|
|
156
291
|
...syncHealthLines(report.syncHealth),
|
|
292
|
+
...permissionLines(report),
|
|
157
293
|
...helpersLines(report.helpers),
|
|
158
294
|
...uiVectorLines(report.ui),
|
|
159
295
|
];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../../src/cli/commands/doctor.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../../src/cli/commands/doctor.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,35 @@
|
|
|
1
|
-
import { helpersStatus, ExitCode,
|
|
1
|
+
import { CeremonyStopped, helpersStatus, ExitCode, installHelpers, loadConfig, okEnvelope, onboardHelpers, restartHelpers, uninstallHelpers, } from "../../index.js";
|
|
2
2
|
function envelopeMeta(started) {
|
|
3
3
|
return { dbVersion: null, fingerprint: "unknown", elapsedMs: Date.now() - started };
|
|
4
4
|
}
|
|
5
|
+
/**
|
|
6
|
+
* The grants `auto` routing requires before either half carries traffic — the
|
|
7
|
+
* same gate src/deputy/routing.ts applies, phrased for a human. Accessibility
|
|
8
|
+
* and System Events are deliberately absent: the UI vector is gated separately.
|
|
9
|
+
*/
|
|
10
|
+
function missingRequisites(status) {
|
|
11
|
+
const missing = [];
|
|
12
|
+
const hello = status.deputy.hello;
|
|
13
|
+
if (hello === null) {
|
|
14
|
+
missing.push("the deputy is not answering");
|
|
15
|
+
}
|
|
16
|
+
else if (hello.automation === undefined) {
|
|
17
|
+
missing.push("automation → Things (these helpers predate the permission handshake — rebuild)");
|
|
18
|
+
}
|
|
19
|
+
else if (hello.automation.things === "not-running") {
|
|
20
|
+
// NOT a missing requisite (#617): with Things closed macOS has no
|
|
21
|
+
// determination to give, so this says nothing about the grant. Routing
|
|
22
|
+
// defers on it and the write gate settles it by starting the app —
|
|
23
|
+
// {@link routingLine} says so in liveness words.
|
|
24
|
+
}
|
|
25
|
+
else if (hello.automation.things !== "granted") {
|
|
26
|
+
missing.push(`automation → Things (${hello.automation.things})`);
|
|
27
|
+
}
|
|
28
|
+
if (status.reader.installed && !status.reader.granted) {
|
|
29
|
+
missing.push("the reader's read grant");
|
|
30
|
+
}
|
|
31
|
+
return missing;
|
|
32
|
+
}
|
|
5
33
|
/** One line describing what the configured mode means for this machine. */
|
|
6
34
|
function routingLine(status) {
|
|
7
35
|
switch (status.mode) {
|
|
@@ -9,10 +37,20 @@ function routingLine(status) {
|
|
|
9
37
|
return "enabled — every process routes through the helpers, and reports when it cannot";
|
|
10
38
|
case "false":
|
|
11
39
|
return "disabled (things config set helpers-enabled auto)";
|
|
12
|
-
case "auto":
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
40
|
+
case "auto": {
|
|
41
|
+
if (!status.bundleInstalled) {
|
|
42
|
+
return "auto — nothing installed, so everything runs direct (things helpers setup to change that)";
|
|
43
|
+
}
|
|
44
|
+
const missing = missingRequisites(status);
|
|
45
|
+
if (missing.length > 0) {
|
|
46
|
+
return `auto — dormant: onboarding incomplete (missing: ${missing.join("; ")}) — things helpers setup`;
|
|
47
|
+
}
|
|
48
|
+
if (status.deputy.hello?.automation?.things === "not-running") {
|
|
49
|
+
return ("auto — routing: app control for Things is unreadable while Things is not running; " +
|
|
50
|
+
"a change starts it in the background and reads it then");
|
|
51
|
+
}
|
|
52
|
+
return "auto — routing (onboarded): the installed helpers are used while healthy; a failure is reported, never silent";
|
|
53
|
+
}
|
|
16
54
|
}
|
|
17
55
|
}
|
|
18
56
|
function renderStatus(status) {
|
|
@@ -26,11 +64,24 @@ function renderStatus(status) {
|
|
|
26
64
|
if (deputy.hungSocket) {
|
|
27
65
|
lines.push(" next: `things helpers restart` — the socket is present but no handshake answers");
|
|
28
66
|
}
|
|
29
|
-
lines.push(` routing: ${routingLine(status)}`, ` launchd: ${deputy.plistInstalled ? (deputy.loaded ? "installed + loaded" : "installed, NOT loaded") : "not installed (things helpers
|
|
67
|
+
lines.push(` routing: ${routingLine(status)}`, ` launchd: ${deputy.plistInstalled ? (deputy.loaded ? "installed + loaded" : "installed, NOT loaded") : "not installed (things helpers setup)"}`, ` bundle: ${status.bundleInstalled
|
|
30
68
|
? `installed${status.installedVersion !== null ? ` (v${status.installedVersion})` : ""}`
|
|
31
69
|
: "not installed"}`, ` socket: ${deputy.socketPath}`);
|
|
32
70
|
if (deputy.hello !== null) {
|
|
33
71
|
lines.push(` version: ${deputy.hello.deputyVersion} (protocol ${deputy.hello.protocol}, pid ${deputy.hello.pid})`);
|
|
72
|
+
// Absent on helpers older than 1.2.0 — the rows are simply omitted there
|
|
73
|
+
// rather than guessed at.
|
|
74
|
+
if (deputy.hello.automation !== undefined) {
|
|
75
|
+
lines.push(` automation: Things ${deputy.hello.automation.things}, System Events ${deputy.hello.automation.systemEvents}`);
|
|
76
|
+
}
|
|
77
|
+
if (deputy.hello.axTrusted !== undefined) {
|
|
78
|
+
lines.push(` accessibility: ${deputy.hello.axTrusted ? "granted" : "not granted"}`);
|
|
79
|
+
}
|
|
80
|
+
if (deputy.hello.axTrusted === false ||
|
|
81
|
+
deputy.hello.automation?.things === "denied" ||
|
|
82
|
+
deputy.hello.automation?.systemEvents === "denied") {
|
|
83
|
+
lines.push(" next: `things helpers setup` — one sitting settles every outstanding prompt");
|
|
84
|
+
}
|
|
34
85
|
}
|
|
35
86
|
if (deputy.signing !== null) {
|
|
36
87
|
lines.push(` signing: ${deputy.signing.state}${deputy.signing.authority !== null ? ` (${deputy.signing.authority})` : ""}`);
|
|
@@ -39,22 +90,56 @@ function renderStatus(status) {
|
|
|
39
90
|
}
|
|
40
91
|
}
|
|
41
92
|
const reader = status.reader;
|
|
42
|
-
lines.push(`reader: ${reader.running
|
|
93
|
+
lines.push(`reader: ${reader.running
|
|
94
|
+
? reader.granted
|
|
95
|
+
? "running, granted"
|
|
96
|
+
: "running, NOT granted"
|
|
97
|
+
: reader.installed
|
|
98
|
+
? reader.detail
|
|
99
|
+
: "not installed"}`);
|
|
43
100
|
if (reader.running && !reader.granted) {
|
|
44
|
-
lines.push(" next: run `things helpers
|
|
101
|
+
lines.push(" next: run `things helpers setup` and accept the panel (one time; the grant survives restarts, reboots, and rebuilds)");
|
|
45
102
|
}
|
|
46
103
|
if (reader.hungSocket) {
|
|
47
104
|
lines.push(" next: `things helpers restart` — the socket is present but no handshake answers");
|
|
48
105
|
}
|
|
49
106
|
return `${lines.join("\n")}\n`;
|
|
50
107
|
}
|
|
108
|
+
/** The closing report: one row per permission, then the single next-step line. */
|
|
109
|
+
function renderOnboard(result) {
|
|
110
|
+
const width = Math.max(...result.steps.map((step) => step.label.length));
|
|
111
|
+
const rows = result.steps.map((step) => ` ${step.label.padEnd(width)} ${step.state}${step.tier === "gui" ? " (gui)" : ""}${step.state === "granted" ? "" : ` — ${step.detail}`}`);
|
|
112
|
+
return `\n${rows.join("\n")}\n\n${result.closing}\n`;
|
|
113
|
+
}
|
|
114
|
+
/** What the uninstall removed, plus the revocation legs when they ran. */
|
|
115
|
+
function renderUninstall(result) {
|
|
116
|
+
const lines = [];
|
|
117
|
+
const revocation = result.revocation;
|
|
118
|
+
lines.push(result.removed.length > 0
|
|
119
|
+
? `removed:\n${result.removed.map((p) => ` ${p}`).join("\n")}`
|
|
120
|
+
: revocation !== null
|
|
121
|
+
? "nothing was installed — the grant and state legs still ran"
|
|
122
|
+
: "nothing installed");
|
|
123
|
+
if (revocation !== null) {
|
|
124
|
+
if (revocation.registeredBundle !== null) {
|
|
125
|
+
lines.push(`registered ${revocation.registeredBundle} with LaunchServices so the grants could be addressed (it stays registered — the file is really there)`);
|
|
126
|
+
}
|
|
127
|
+
for (const reset of revocation.tccResets) {
|
|
128
|
+
lines.push(`permissions: ${reset.target} — ${reset.detail}`);
|
|
129
|
+
}
|
|
130
|
+
lines.push(`note: ${revocation.shortcutsNote}`);
|
|
131
|
+
}
|
|
132
|
+
for (const warning of result.warnings)
|
|
133
|
+
lines.push(`warning: ${warning}`);
|
|
134
|
+
return `${lines.join("\n")}\n`;
|
|
135
|
+
}
|
|
51
136
|
export function registerHelpers(program) {
|
|
52
137
|
const helpers = program
|
|
53
138
|
.command("helpers")
|
|
54
139
|
.description("Manage the optional helper pair that performs database reads and app automation " +
|
|
55
140
|
"on the CLI's behalf, so macOS permission grants attach to stable helpers instead " +
|
|
56
141
|
"of every terminal or agent runtime that runs `things`. Subcommands: status, " +
|
|
57
|
-
"
|
|
142
|
+
"restart, setup, uninstall.");
|
|
58
143
|
helpers
|
|
59
144
|
.command("status")
|
|
60
145
|
.description("Report both helpers' state: running or not, launchd installation, installed version, " +
|
|
@@ -73,50 +158,73 @@ export function registerHelpers(program) {
|
|
|
73
158
|
process.exitCode = ExitCode.Ok;
|
|
74
159
|
});
|
|
75
160
|
helpers
|
|
76
|
-
.command("
|
|
77
|
-
.description("Install the helper bundle
|
|
78
|
-
"
|
|
79
|
-
"
|
|
80
|
-
"the
|
|
81
|
-
|
|
161
|
+
.command("setup")
|
|
162
|
+
.description("Install (or update) the helper bundle and settle every macOS permission it needs, " +
|
|
163
|
+
"in one sitting: the bundle is copied to its stable location and registered with " +
|
|
164
|
+
"launchd, then a folder panel grants durable read access to the Things data folder, " +
|
|
165
|
+
"the app-control prompt for Things is raised, and the bundled shortcuts are counted. " +
|
|
166
|
+
"Add --gui to also gather the permissions that let the helper drive the Things " +
|
|
167
|
+
"window (app control for System Events and the Accessibility switch), which turns " +
|
|
168
|
+
"on `ui-enabled` when they all land; with `ui-enabled` already on those steps are " +
|
|
169
|
+
"included without the flag. Steps already satisfied are detected and skipped, so " +
|
|
170
|
+
"rerunning is safe and asks nothing. At a terminal it explains each dialog before " +
|
|
171
|
+
"raising it and waits for you; run it at the machine, not from an unattended " +
|
|
172
|
+
"session. Exits nonzero while any permission is still outstanding.")
|
|
173
|
+
.option("--bundle <path>", "path to a built Things API Helper.app (default: the bundle shipped with this package)")
|
|
174
|
+
.option("--gui", "also gather the permissions that drive the Things window (Accessibility and app control " +
|
|
175
|
+
"for System Events), and turn on `ui-enabled` when they land")
|
|
176
|
+
.option("--json", "emit versioned JSON envelope on stdout")
|
|
82
177
|
.action((opts) => {
|
|
178
|
+
const started = Date.now();
|
|
179
|
+
// Under --json stdout belongs to the envelope alone; the human still
|
|
180
|
+
// needs the instructions, so progress goes to stderr instead.
|
|
181
|
+
const progress = (line) => {
|
|
182
|
+
(opts.json === true ? process.stderr : process.stdout).write(`${line}\n`);
|
|
183
|
+
};
|
|
184
|
+
let install;
|
|
83
185
|
try {
|
|
84
|
-
|
|
85
|
-
process.stdout.write(`installed ${result.bundlePath}\nlaunchd agent: ${result.plistPath}\n`);
|
|
86
|
-
if (result.readerInstalled) {
|
|
87
|
-
process.stdout.write(result.readerGranted === true
|
|
88
|
-
? "reader: granted — file reads ride the scoped reader\n"
|
|
89
|
-
: result.readerGranted === false
|
|
90
|
-
? "reader: installed — run `things helpers grant` once to give it durable read access\n"
|
|
91
|
-
: "reader: installed, not answering yet — check `things helpers status`\n");
|
|
92
|
-
}
|
|
93
|
-
for (const warning of result.warnings) {
|
|
94
|
-
process.stderr.write(`warning: ${warning}\n`);
|
|
95
|
-
}
|
|
96
|
-
process.exitCode = ExitCode.Ok;
|
|
186
|
+
install = installHelpers(opts.bundle !== undefined ? { bundlePath: opts.bundle } : {});
|
|
97
187
|
}
|
|
98
188
|
catch (err) {
|
|
99
189
|
process.stderr.write(`error: ${err instanceof Error ? err.message : String(err)}\n`);
|
|
100
190
|
process.exitCode = ExitCode.Environment;
|
|
191
|
+
return;
|
|
101
192
|
}
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
.
|
|
105
|
-
|
|
106
|
-
"already showing the Things data folder. Accepting gives the reader durable read " +
|
|
107
|
-
"access to exactly that folder — it survives restarts, reboots, and updates, and " +
|
|
108
|
-
"macOS enforces that the reader can reach nothing else. Interactive: run this at " +
|
|
109
|
-
"the machine, not from an unattended session.")
|
|
110
|
-
.action(() => {
|
|
111
|
-
const result = grantReader();
|
|
112
|
-
if (result.granted) {
|
|
113
|
-
process.stdout.write("granted — file reads now ride the scoped reader\n");
|
|
114
|
-
process.exitCode = ExitCode.Ok;
|
|
193
|
+
progress(`installed ${install.bundlePath}`);
|
|
194
|
+
progress(`launchd agent: ${install.plistPath}`);
|
|
195
|
+
for (const warning of install.warnings) {
|
|
196
|
+
process.stderr.write(`warning: ${warning}\n`);
|
|
115
197
|
}
|
|
116
|
-
|
|
117
|
-
|
|
198
|
+
let ceremony;
|
|
199
|
+
try {
|
|
200
|
+
ceremony = onboardHelpers({
|
|
201
|
+
mode: loadConfig().helpersMode,
|
|
202
|
+
...(opts.gui === true && { gui: true }),
|
|
203
|
+
}, process.env, { progress });
|
|
204
|
+
}
|
|
205
|
+
catch (err) {
|
|
206
|
+
// The human stopped at a gate. Every leg is resumable, so this is a
|
|
207
|
+
// clean stop with an honest exit code, not a crash.
|
|
208
|
+
if (err instanceof CeremonyStopped) {
|
|
209
|
+
process.stderr.write("\nstopped — rerunning `things helpers setup` resumes exactly here\n");
|
|
210
|
+
process.exitCode = ExitCode.Environment;
|
|
211
|
+
return;
|
|
212
|
+
}
|
|
213
|
+
process.stderr.write(`error: ${err instanceof Error ? err.message : String(err)}\n`);
|
|
118
214
|
process.exitCode = ExitCode.Environment;
|
|
215
|
+
return;
|
|
216
|
+
}
|
|
217
|
+
if (opts.json === true) {
|
|
218
|
+
process.stdout.write(`${JSON.stringify(okEnvelope("helpers-setup", { install, ceremony }, envelopeMeta(started)))}\n`);
|
|
219
|
+
}
|
|
220
|
+
else {
|
|
221
|
+
process.stdout.write(renderOnboard(ceremony));
|
|
119
222
|
}
|
|
223
|
+
// A setup that ends with anything outstanding is an UNFINISHED setup —
|
|
224
|
+
// nonzero, so an agent driving this for an absent human sees it. Pending
|
|
225
|
+
// is still human-pace and resumable; the closing line says where to pick
|
|
226
|
+
// it up.
|
|
227
|
+
process.exitCode = ceremony.denied || ceremony.pending ? ExitCode.Environment : ExitCode.Ok;
|
|
120
228
|
});
|
|
121
229
|
helpers
|
|
122
230
|
.command("restart")
|
|
@@ -135,14 +243,44 @@ export function registerHelpers(program) {
|
|
|
135
243
|
helpers
|
|
136
244
|
.command("uninstall")
|
|
137
245
|
.description("Stop both helpers and remove their launchd registrations and the installed bundle. " +
|
|
138
|
-
"Local state (access token, logs, the reader's grant) is kept
|
|
139
|
-
"
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
246
|
+
"Local state (access token, logs, the reader's grant) is kept and the macOS " +
|
|
247
|
+
"permission grants stay on record against the two helper identities, so a later " +
|
|
248
|
+
"setup picks them straight back up; routing config is untouched (commands fall " +
|
|
249
|
+
"back to direct execution). Pass --revoke to also revoke those grants and delete " +
|
|
250
|
+
"the local state, returning the machine to its never-onboarded condition.")
|
|
251
|
+
.option("--revoke", "also revoke both helper identities' macOS permission grants and delete their local state, including the reader's read grant")
|
|
252
|
+
.option("--yes", "skip the interactive confirmation for --revoke (required when stdin is not a terminal)")
|
|
253
|
+
.option("--json", "emit versioned JSON envelope on stdout")
|
|
254
|
+
.action(async (opts) => {
|
|
255
|
+
const started = Date.now();
|
|
256
|
+
const revoke = opts.revoke === true;
|
|
257
|
+
// Only revocation is gated: a plain uninstall is reversible in one
|
|
258
|
+
// command, while revoking throws away grants a human had to sit through.
|
|
259
|
+
if (revoke && opts.yes !== true) {
|
|
260
|
+
if (opts.json === true || !process.stdin.isTTY) {
|
|
261
|
+
process.stderr.write("helpers uninstall --revoke revokes macOS permission grants and deletes helper state — pass --yes to confirm\n");
|
|
262
|
+
process.exitCode = ExitCode.Usage;
|
|
263
|
+
return;
|
|
264
|
+
}
|
|
265
|
+
const readline = await import("node:readline/promises");
|
|
266
|
+
const rl = readline.createInterface({ input: process.stdin, output: process.stderr });
|
|
267
|
+
const answer = await rl.question("This uninstalls the helpers, revokes their macOS permission grants, and deletes " +
|
|
268
|
+
"their local state (including the reader's read grant). Type 'revoke' to continue: ");
|
|
269
|
+
rl.close();
|
|
270
|
+
if (answer.trim() !== "revoke") {
|
|
271
|
+
process.stderr.write("not confirmed — nothing was changed\n");
|
|
272
|
+
process.exitCode = ExitCode.Usage;
|
|
273
|
+
return;
|
|
274
|
+
}
|
|
275
|
+
}
|
|
276
|
+
const result = uninstallHelpers(revoke ? { revoke: true } : {});
|
|
277
|
+
if (opts.json === true) {
|
|
278
|
+
process.stdout.write(`${JSON.stringify(okEnvelope("helpers-uninstall", result, envelopeMeta(started)))}\n`);
|
|
279
|
+
}
|
|
280
|
+
else {
|
|
281
|
+
process.stdout.write(renderUninstall(result));
|
|
282
|
+
}
|
|
283
|
+
process.exitCode = result.warnings.length > 0 ? ExitCode.Environment : ExitCode.Ok;
|
|
146
284
|
});
|
|
147
285
|
}
|
|
148
286
|
//# sourceMappingURL=helpers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/cli/commands/helpers.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/cli/commands/helpers.ts"],"names":[],"mappings":"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"}
|