things-api 0.18.0 → 0.19.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 +16 -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 +13 -1
- package/dist/audit/schema.js.map +1 -1
- package/dist/capability.d.ts +160 -0
- package/dist/capability.js +416 -0
- package/dist/capability.js.map +1 -0
- package/dist/cli/commands/doctor.js +127 -1
- package/dist/cli/commands/doctor.js.map +1 -1
- package/dist/cli/commands/helpers.js +178 -51
- package/dist/cli/commands/helpers.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/setup.d.ts +9 -0
- package/dist/cli/commands/setup.js +63 -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 +241 -107
- 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/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 +22 -2
- package/dist/client.js +36 -13
- package/dist/client.js.map +1 -1
- package/dist/contracts.d.ts +6 -2
- package/dist/contracts.js +1 -1
- package/dist/contracts.js.map +1 -1
- package/dist/deputy/install.d.ts +219 -5
- package/dist/deputy/install.js +803 -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 +21 -0
- package/dist/deputy/routing.js +111 -27
- package/dist/deputy/routing.js.map +1 -1
- package/dist/diagnose.d.ts +14 -1
- package/dist/diagnose.js +46 -6
- package/dist/diagnose.js.map +1 -1
- package/dist/direct-setup.d.ts +78 -0
- package/dist/direct-setup.js +484 -0
- package/dist/direct-setup.js.map +1 -0
- package/dist/host-access.d.ts +63 -0
- package/dist/host-access.js +165 -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 +285 -100
- package/dist/mcp/server.js.map +1 -1
- package/dist/op-result.d.ts +9 -0
- package/dist/op-result.js +5 -0
- 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 +170 -0
- package/dist/session-grant.js.map +1 -0
- package/dist/surface-copy.d.ts +8 -0
- package/dist/surface-copy.js +8 -0
- package/dist/surface-copy.js.map +1 -1
- package/dist/wizard.d.ts +58 -0
- package/dist/wizard.js +167 -0
- package/dist/wizard.js.map +1 -0
- package/dist/write/availability.d.ts +1 -1
- package/dist/write/availability.js +3 -3
- package/dist/write/availability.js.map +1 -1
- package/dist/write/batch.d.ts +20 -0
- package/dist/write/batch.js +94 -15
- 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 +12 -1
- package/dist/write/commands.js +112 -224
- package/dist/write/commands.js.map +1 -1
- package/dist/write/failure-hints.d.ts +3 -1
- package/dist/write/failure-hints.js.map +1 -1
- package/dist/write/guards.js +19 -2
- 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/operations.d.ts +36 -21
- package/dist/write/operations.js +7 -0
- package/dist/write/operations.js.map +1 -1
- package/dist/write/opid.d.ts +14 -0
- package/dist/write/opid.js +22 -0
- package/dist/write/opid.js.map +1 -1
- package/dist/write/param-schema.d.ts +124 -0
- package/dist/write/param-schema.js +747 -0
- package/dist/write/param-schema.js.map +1 -0
- package/dist/write/pipeline.d.ts +76 -2
- package/dist/write/pipeline.js +190 -2
- package/dist/write/pipeline.js.map +1 -1
- package/dist/write/pre-state.d.ts +8 -0
- package/dist/write/pre-state.js +29 -2
- package/dist/write/pre-state.js.map +1 -1
- package/dist/write/promote-clone.js +539 -439
- 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-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 +83 -38
- 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 +451 -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 +3 -0
- 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 +7 -2
- package/dist/write/vectors/simulator.js.map +1 -1
- package/dist/write/vectors/types.d.ts +57 -0
- package/dist/write/vectors/ui-recipes.d.ts +19 -0
- package/dist/write/vectors/ui-recipes.js +30 -0
- package/dist/write/vectors/ui-recipes.js.map +1 -1
- package/dist/write/vectors/ui.d.ts +13 -0
- package/dist/write/vectors/ui.js +62 -13
- package/dist/write/vectors/ui.js.map +1 -1
- package/dist/write/verify/delta.d.ts +21 -0
- package/dist/write/verify/delta.js.map +1 -1
- package/package.json +2 -1
- package/schema/envelope.schema.json +5 -3
- 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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/deputy/install.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/deputy/install.ts"],"names":[],"mappings":"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"}
|
package/dist/deputy/notices.js
CHANGED
|
@@ -70,7 +70,7 @@ export function computeHelpersNotice(options = {}) {
|
|
|
70
70
|
return {
|
|
71
71
|
kind: "version-skew",
|
|
72
72
|
text: `helpers v${version} installed, this package expects v${EXPECTED_HELPERS_VERSION} — ` +
|
|
73
|
-
"rebuild with `bash scripts/build-helpers.sh` and rerun `things helpers
|
|
73
|
+
"rebuild with `bash scripts/build-helpers.sh` and rerun `things helpers setup` " +
|
|
74
74
|
"(THINGS_API_NO_HELPERS_CHECK=1 silences this)",
|
|
75
75
|
};
|
|
76
76
|
}
|
|
@@ -87,7 +87,7 @@ export function computeHelpersNotice(options = {}) {
|
|
|
87
87
|
return {
|
|
88
88
|
kind: "absent-hint",
|
|
89
89
|
text: "database reads and app automation run in THIS process, so macOS permission grants " +
|
|
90
|
-
"follow whichever terminal or agent runtime started it — `things helpers
|
|
90
|
+
"follow whichever terminal or agent runtime started it — `things helpers setup` moves " +
|
|
91
91
|
"them onto two stable helpers (THINGS_API_NO_HELPERS_CHECK=1 silences this)",
|
|
92
92
|
};
|
|
93
93
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"notices.js","sourceRoot":"","sources":["../../src/deputy/notices.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,YAAY,EAAoB,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1E,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,EAAE,wBAAwB,EAAE,0BAA0B,EAAE,MAAM,eAAe,CAAC;AAErF,oEAAoE;AACpE,MAAM,CAAC,MAAM,0BAA0B,GAAG,EAAE,CAAC;AAwB7C,SAAS,aAAa,CAAC,GAAsB;IAC3C,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,mBAAmB,CAAC,CAAC;AAClD,CAAC;AAED,gFAAgF;AAChF,MAAM,UAAU,iBAAiB,CAAC,MAAyB,OAAO,CAAC,GAAG;IACpE,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAA0B,CAAC;QAC1F,MAAM,MAAM,GAAG,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;QAC/E,OAAO,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC;IAC9C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,8EAA8E;AAC9E,MAAM,UAAU,oBAAoB,CAClC,MAAyB,OAAO,CAAC,GAAG,EACpC,MAAc,IAAI,CAAC,GAAG,EAAE;IAExB,IAAI,CAAC;QACH,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC9C,aAAa,CACX,aAAa,CAAC,GAAG,CAAC,EAClB,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CACzE,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,4EAA4E;IAC9E,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAAC,UAAgC,EAAE;IACrE,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC;IACvC,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,QAAQ,CAAC;IACtD,IAAI,QAAQ,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IACvC,MAAM,IAAI,GAAgB,UAAU,CAAC,GAAG,CAAC,CAAC,WAAW,CAAC;IACtD,IAAI,IAAI,KAAK,OAAO;QAAE,OAAO,IAAI,CAAC;IAElC,MAAM,SAAS,GAAG,UAAU,CAAC,0BAA0B,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9D,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,OAAO,GAAG,uBAAuB,CAAC,GAAG,CAAC,CAAC;QAC7C,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,wBAAwB;YAAE,OAAO,IAAI,CAAC;QAC1E,OAAO;YACL,IAAI,EAAE,cAAc;YACpB,IAAI,EACF,YAAY,OAAO,qCAAqC,wBAAwB,KAAK;gBACrF,
|
|
1
|
+
{"version":3,"file":"notices.js","sourceRoot":"","sources":["../../src/deputy/notices.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,7 +7,7 @@ export declare const DEPUTY_PROTOCOL_VERSION = 1;
|
|
|
7
7
|
* any helper-source change; a drift test asserts this constant matches it.
|
|
8
8
|
* The PROTOCOL version above remains the hard compatibility gate.
|
|
9
9
|
*/
|
|
10
|
-
export declare const EXPECTED_HELPERS_VERSION = "1.
|
|
10
|
+
export declare const EXPECTED_HELPERS_VERSION = "1.3.0";
|
|
11
11
|
/** The outer helper bundle's identifier (Things API Helper.app) — TCC + BTM identity. */
|
|
12
12
|
export declare const HELPERS_BUNDLE_ID = "com.pixelcog.things-api-helper";
|
|
13
13
|
/** launchd label (and signing identifier) of the broker. */
|
|
@@ -36,14 +36,49 @@ export declare function deputyInstalledBinaryPath(env?: NodeJS.ProcessEnv): stri
|
|
|
36
36
|
export declare function readerInstalledAppPath(env?: NodeJS.ProcessEnv): string;
|
|
37
37
|
/** launchd label (and bundle identifier) of the sandboxed reader. */
|
|
38
38
|
export declare const READER_LAUNCHD_LABEL = "com.pixelcog.things-reader";
|
|
39
|
+
/** Points every reader-side path somewhere else (mock readers in tests/lab). */
|
|
40
|
+
export declare const READER_DIR_ENV = "THINGS_API_READER_DIR";
|
|
39
41
|
/**
|
|
40
|
-
* The
|
|
41
|
-
*
|
|
42
|
-
*
|
|
42
|
+
* The override path when one is set, else null. A set override means the
|
|
43
|
+
* rendezvous is an ORDINARY directory the caller chose — a mock reader is just
|
|
44
|
+
* a socket and a token file, with no bundle and no sandbox behind it.
|
|
43
45
|
*/
|
|
44
|
-
export declare function
|
|
46
|
+
export declare function readerDirOverride(env?: NodeJS.ProcessEnv): string | null;
|
|
47
|
+
/**
|
|
48
|
+
* Where clients meet the reader: `<state>/reader`, a directory WE own, outside
|
|
49
|
+
* every App Sandbox container.
|
|
50
|
+
*
|
|
51
|
+
* This placement is the whole point. launchd creates, binds, listens on and
|
|
52
|
+
* owns `reader.sock` here (the `Sockets` key in the reader's LaunchAgent) and
|
|
53
|
+
* hands the sandboxed process the already-listening fd at activation, so the
|
|
54
|
+
* reader never opens this path at all — a sandboxed process could not have
|
|
55
|
+
* bound anywhere but its own container. The access token is a sibling file the
|
|
56
|
+
* INSTALLER mints. Both are therefore ordinary files in the user's own state
|
|
57
|
+
* directory: a client `stat`/`open` on them crosses no container boundary,
|
|
58
|
+
* needs no TCC class, and works identically from every host app.
|
|
59
|
+
*
|
|
60
|
+
* Until helpers 1.3.0 both files lived in the reader's container home, which
|
|
61
|
+
* made every client probe a cross-app container access (the
|
|
62
|
+
* `kTCCServiceSystemPolicyAppData` consent class) — silent under an FDA host,
|
|
63
|
+
* a modal from anywhere else. See docs/design/permissions-doctrine.md
|
|
64
|
+
* (§ RESOLVED 2026-08-24).
|
|
65
|
+
*/
|
|
66
|
+
export declare function readerRendezvousDir(env?: NodeJS.ProcessEnv): string;
|
|
45
67
|
export declare function readerSocketPath(env?: NodeJS.ProcessEnv): string;
|
|
46
68
|
export declare function readerTokenPath(env?: NodeJS.ProcessEnv): string;
|
|
69
|
+
/**
|
|
70
|
+
* The reader's App Sandbox container home — the OS picks the path from the
|
|
71
|
+
* bundle identifier, and the security-scoped bookmark that IS the read grant
|
|
72
|
+
* lives there. Reader-internal: nothing on the client side reads it. The one
|
|
73
|
+
* client-side use is `helpers uninstall --revoke`, which deletes the grant
|
|
74
|
+
* (a deliberate destructive act a human asked for), and the override redirects
|
|
75
|
+
* it so a suite never touches the developer's real container.
|
|
76
|
+
*/
|
|
77
|
+
export declare function readerSandboxContainerDir(env?: NodeJS.ProcessEnv): string;
|
|
78
|
+
/** The env var carrying the reader's expected token, injected by its LaunchAgent. */
|
|
79
|
+
export declare const READER_TOKEN_ENV = "THINGS_READER_TOKEN";
|
|
80
|
+
/** The `Sockets` key entry name launchd hands the reader at activation. */
|
|
81
|
+
export declare const READER_SOCKET_ENV = "THINGS_READER_SOCKET";
|
|
47
82
|
/** Reader handshake: DeputyHello plus the grant state. */
|
|
48
83
|
export interface ReaderHello extends DeputyHello {
|
|
49
84
|
role: "reader";
|
|
@@ -59,6 +94,17 @@ export declare class DeputyRequestError extends Error {
|
|
|
59
94
|
readonly code: string;
|
|
60
95
|
constructor(code: string, message: string);
|
|
61
96
|
}
|
|
97
|
+
/**
|
|
98
|
+
* One Automation target's standing, as the deputy reads it prompt-free:
|
|
99
|
+
* `not-running` means the target was not up, so macOS had no answer to give;
|
|
100
|
+
* `unknown` covers "never asked" (the consent record does not exist yet) and
|
|
101
|
+
* anything unrecognized. Only `granted` lets the ceremony skip that leg.
|
|
102
|
+
*/
|
|
103
|
+
export type AutomationPermission = "granted" | "denied" | "not-running" | "unknown";
|
|
104
|
+
export interface DeputyAutomationStatus {
|
|
105
|
+
things: AutomationPermission;
|
|
106
|
+
systemEvents: AutomationPermission;
|
|
107
|
+
}
|
|
62
108
|
export interface DeputyHello {
|
|
63
109
|
protocol: number;
|
|
64
110
|
deputyVersion: string;
|
|
@@ -66,6 +112,14 @@ export interface DeputyHello {
|
|
|
66
112
|
/** Reader only: its cached container-db resolution (absent on the deputy). */
|
|
67
113
|
dbPath?: string | null;
|
|
68
114
|
uptimeMs: number;
|
|
115
|
+
/**
|
|
116
|
+
* The deputy's own Accessibility trust. Absent on helpers older than 1.2.0
|
|
117
|
+
* (and on the reader, which drives nothing) — absent means "unknown", never
|
|
118
|
+
* "false".
|
|
119
|
+
*/
|
|
120
|
+
axTrusted?: boolean;
|
|
121
|
+
/** The deputy's Automation standing per target. Absent on helpers older than 1.2.0. */
|
|
122
|
+
automation?: DeputyAutomationStatus;
|
|
69
123
|
}
|
|
70
124
|
/**
|
|
71
125
|
* osascript outcome as the deputy reports it. `ok:true` at the protocol level
|
package/dist/deputy/protocol.js
CHANGED
|
@@ -22,7 +22,7 @@ export const DEPUTY_PROTOCOL_VERSION = 1;
|
|
|
22
22
|
* any helper-source change; a drift test asserts this constant matches it.
|
|
23
23
|
* The PROTOCOL version above remains the hard compatibility gate.
|
|
24
24
|
*/
|
|
25
|
-
export const EXPECTED_HELPERS_VERSION = "1.
|
|
25
|
+
export const EXPECTED_HELPERS_VERSION = "1.3.0";
|
|
26
26
|
/** The outer helper bundle's identifier (Things API Helper.app) — TCC + BTM identity. */
|
|
27
27
|
export const HELPERS_BUNDLE_ID = "com.pixelcog.things-api-helper";
|
|
28
28
|
/** launchd label (and signing identifier) of the broker. */
|
|
@@ -65,23 +65,60 @@ export function readerInstalledAppPath(env = process.env) {
|
|
|
65
65
|
}
|
|
66
66
|
/** launchd label (and bundle identifier) of the sandboxed reader. */
|
|
67
67
|
export const READER_LAUNCHD_LABEL = "com.pixelcog.things-reader";
|
|
68
|
+
/** Points every reader-side path somewhere else (mock readers in tests/lab). */
|
|
69
|
+
export const READER_DIR_ENV = "THINGS_API_READER_DIR";
|
|
68
70
|
/**
|
|
69
|
-
* The
|
|
70
|
-
*
|
|
71
|
-
*
|
|
71
|
+
* The override path when one is set, else null. A set override means the
|
|
72
|
+
* rendezvous is an ORDINARY directory the caller chose — a mock reader is just
|
|
73
|
+
* a socket and a token file, with no bundle and no sandbox behind it.
|
|
72
74
|
*/
|
|
73
|
-
export function
|
|
74
|
-
const explicit = env[
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
75
|
+
export function readerDirOverride(env = process.env) {
|
|
76
|
+
const explicit = env[READER_DIR_ENV];
|
|
77
|
+
return explicit !== undefined && explicit !== "" ? explicit : null;
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Where clients meet the reader: `<state>/reader`, a directory WE own, outside
|
|
81
|
+
* every App Sandbox container.
|
|
82
|
+
*
|
|
83
|
+
* This placement is the whole point. launchd creates, binds, listens on and
|
|
84
|
+
* owns `reader.sock` here (the `Sockets` key in the reader's LaunchAgent) and
|
|
85
|
+
* hands the sandboxed process the already-listening fd at activation, so the
|
|
86
|
+
* reader never opens this path at all — a sandboxed process could not have
|
|
87
|
+
* bound anywhere but its own container. The access token is a sibling file the
|
|
88
|
+
* INSTALLER mints. Both are therefore ordinary files in the user's own state
|
|
89
|
+
* directory: a client `stat`/`open` on them crosses no container boundary,
|
|
90
|
+
* needs no TCC class, and works identically from every host app.
|
|
91
|
+
*
|
|
92
|
+
* Until helpers 1.3.0 both files lived in the reader's container home, which
|
|
93
|
+
* made every client probe a cross-app container access (the
|
|
94
|
+
* `kTCCServiceSystemPolicyAppData` consent class) — silent under an FDA host,
|
|
95
|
+
* a modal from anywhere else. See docs/design/permissions-doctrine.md
|
|
96
|
+
* (§ RESOLVED 2026-08-24).
|
|
97
|
+
*/
|
|
98
|
+
export function readerRendezvousDir(env = process.env) {
|
|
99
|
+
return readerDirOverride(env) ?? join(stateDir(env), "reader");
|
|
78
100
|
}
|
|
79
101
|
export function readerSocketPath(env = process.env) {
|
|
80
|
-
return join(
|
|
102
|
+
return join(readerRendezvousDir(env), "reader.sock");
|
|
81
103
|
}
|
|
82
104
|
export function readerTokenPath(env = process.env) {
|
|
83
|
-
return join(
|
|
105
|
+
return join(readerRendezvousDir(env), "token");
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* The reader's App Sandbox container home — the OS picks the path from the
|
|
109
|
+
* bundle identifier, and the security-scoped bookmark that IS the read grant
|
|
110
|
+
* lives there. Reader-internal: nothing on the client side reads it. The one
|
|
111
|
+
* client-side use is `helpers uninstall --revoke`, which deletes the grant
|
|
112
|
+
* (a deliberate destructive act a human asked for), and the override redirects
|
|
113
|
+
* it so a suite never touches the developer's real container.
|
|
114
|
+
*/
|
|
115
|
+
export function readerSandboxContainerDir(env = process.env) {
|
|
116
|
+
return (readerDirOverride(env) ?? join(homedir(), "Library/Containers", READER_LAUNCHD_LABEL, "Data"));
|
|
84
117
|
}
|
|
118
|
+
/** The env var carrying the reader's expected token, injected by its LaunchAgent. */
|
|
119
|
+
export const READER_TOKEN_ENV = "THINGS_READER_TOKEN";
|
|
120
|
+
/** The `Sockets` key entry name launchd hands the reader at activation. */
|
|
121
|
+
export const READER_SOCKET_ENV = "THINGS_READER_SOCKET";
|
|
85
122
|
/** A protocol-level failure (the deputy answered `ok:false`, or never answered). */
|
|
86
123
|
export class DeputyRequestError extends Error {
|
|
87
124
|
code;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"protocol.js","sourceRoot":"","sources":["../../src/deputy/protocol.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC;AAEzC;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,OAAO,CAAC;AAEhD,yFAAyF;AACzF,MAAM,CAAC,MAAM,iBAAiB,GAAG,gCAAgC,CAAC;AAElE,4DAA4D;AAC5D,MAAM,CAAC,MAAM,oBAAoB,GAAG,4BAA4B,CAAC;AAEjE;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,MAAyB,OAAO,CAAC,GAAG;IACjE,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,CAAC;AACvC,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,MAAyB,OAAO,CAAC,GAAG;IACnE,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,aAAa,CAAC,CAAC;AAClD,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,MAAyB,OAAO,CAAC,GAAG;IAClE,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC;AAC5C,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,iBAAiB,CAAC,MAAyB,OAAO,CAAC,GAAG;IACpE,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;AAC1C,CAAC;AAED,iDAAiD;AACjD,MAAM,UAAU,0BAA0B,CAAC,MAAyB,OAAO,CAAC,GAAG;IAC7E,OAAO,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,EAAE,uBAAuB,CAAC,CAAC;AAC/D,CAAC;AAED,sEAAsE;AACtE,MAAM,UAAU,yBAAyB,CAAC,MAAyB,OAAO,CAAC,GAAG;IAC5E,OAAO,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC,EAAE,8BAA8B,CAAC,CAAC;AAC/E,CAAC;AAED,uCAAuC;AACvC,MAAM,UAAU,sBAAsB,CAAC,MAAyB,OAAO,CAAC,GAAG;IACzE,OAAO,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC,EAAE,oCAAoC,CAAC,CAAC;AACrF,CAAC;AAED,qEAAqE;AACrE,MAAM,CAAC,MAAM,oBAAoB,GAAG,4BAA4B,CAAC;AAEjE;;;;GAIG;AACH,MAAM,UAAU,
|
|
1
|
+
{"version":3,"file":"protocol.js","sourceRoot":"","sources":["../../src/deputy/protocol.ts"],"names":[],"mappings":"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"}
|
package/dist/deputy/routing.d.ts
CHANGED
|
@@ -39,6 +39,20 @@ export interface HelpersRouting {
|
|
|
39
39
|
export declare function helpersRouting(env?: NodeJS.ProcessEnv): HelpersRouting;
|
|
40
40
|
/** True when file verbs ride the reader (present, protocol-matched, granted). */
|
|
41
41
|
export declare function deputyFilesActive(env?: NodeJS.ProcessEnv): boolean;
|
|
42
|
+
/**
|
|
43
|
+
* Does this machine EXPECT the helpers to carry its reads?
|
|
44
|
+
*
|
|
45
|
+
* `true` is an explicit instruction, and under `auto` an installed bundle is
|
|
46
|
+
* the intent signal (src/deputy/agent-daemon.md §3c). The permissions doctrine
|
|
47
|
+
* hangs its no-fallback rule on this: when the helpers are expected but cannot
|
|
48
|
+
* serve, a read refuses loudly instead of quietly re-attaching consent to the
|
|
49
|
+
* terminal — the exact churn the helpers exist to end. A machine with nothing
|
|
50
|
+
* installed under `auto` is an ordinary direct machine and is NOT expecting
|
|
51
|
+
* them, so it falls through to the direct grants as it always has.
|
|
52
|
+
*/
|
|
53
|
+
export declare function helpersExpected(env?: NodeJS.ProcessEnv): boolean;
|
|
54
|
+
/** Why the reader is not carrying reads (null when it is). */
|
|
55
|
+
export declare function readerUnavailableReason(env?: NodeJS.ProcessEnv): string | null;
|
|
42
56
|
/** Blocking FILE-verb round-trip via the granted reader. */
|
|
43
57
|
export declare function fileSyncRequest(fields: Record<string, unknown>, timeoutMs: number, env?: NodeJS.ProcessEnv): Record<string, unknown>;
|
|
44
58
|
/** Blocking round-trip via the bridge (facade + sync probes only). */
|
|
@@ -50,6 +64,13 @@ export declare function deputyAsyncRequest(fields: Record<string, unknown>, time
|
|
|
50
64
|
* is active (the caller then locates locally, exactly as before the helpers
|
|
51
65
|
* existed). The reader's scope is grant-checked, never prompted — a locate
|
|
52
66
|
* through it can refuse but can never stall on a consent dialog.
|
|
67
|
+
*
|
|
68
|
+
* A reader that IS serving and then fails to locate THROWS rather than
|
|
69
|
+
* returning null. Falling back to a direct locate there would silently move
|
|
70
|
+
* the read — and its consent — back onto the host app, which the permissions
|
|
71
|
+
* doctrine forbids (Article I; no-fallback rule). The reader's typed
|
|
72
|
+
* `not-granted` / `not-found` codes travel out on the error so the CLI can
|
|
73
|
+
* name the remedy.
|
|
53
74
|
*/
|
|
54
75
|
export declare function deputyDbPath(env?: NodeJS.ProcessEnv): string | null;
|
|
55
76
|
/**
|
package/dist/deputy/routing.js
CHANGED
|
@@ -11,17 +11,26 @@
|
|
|
11
11
|
*
|
|
12
12
|
* The tri-state (docs/design/agent-daemon.md §3c):
|
|
13
13
|
*
|
|
14
|
-
* | mode | helper absent
|
|
15
|
-
*
|
|
16
|
-
* | `auto` | direct, SILENT
|
|
17
|
-
* | `true` | direct, LOUD
|
|
18
|
-
* | `false` | direct, silent
|
|
14
|
+
* | mode | helper absent | installed, unhealthy | healthy, NOT onboarded | healthy + onboarded |
|
|
15
|
+
* |---------|----------------|----------------------|------------------------|---------------------|
|
|
16
|
+
* | `auto` | direct, SILENT | direct, LOUD | direct, LOUD | routed |
|
|
17
|
+
* | `true` | direct, LOUD | direct, LOUD | routed | routed |
|
|
18
|
+
* | `false` | direct, silent | direct, silent | direct, silent | direct, silent |
|
|
19
19
|
*
|
|
20
20
|
* Under `auto` installation IS the intent signal, so absence is not a
|
|
21
21
|
* degradation to report (a fresh machine must not nag) while an installed
|
|
22
22
|
* helper that cannot serve is — silence there would hide the very consent churn
|
|
23
23
|
* the helpers exist to end.
|
|
24
24
|
*
|
|
25
|
+
* There is no "installed but unpermissioned" routing state under `auto`: a
|
|
26
|
+
* deputy without an app-control grant for Things would move the consent dialog
|
|
27
|
+
* onto the helper, where nobody is watching for it, so it stays DORMANT until
|
|
28
|
+
* `things helpers setup` proves the grant. Each half is gated on its OWN
|
|
29
|
+
* requisite — writes on the deputy's `automation.things`, reads on the
|
|
30
|
+
* reader's bookmark grant — so a machine that finished half the ceremony gets
|
|
31
|
+
* the half it earned. Accessibility and System Events are NOT requisite: the
|
|
32
|
+
* UI vector is separately double-gated and refuses on its own.
|
|
33
|
+
*
|
|
25
34
|
* Fallback is decided at ACTIVATION, never mid-operation: if a helper is
|
|
26
35
|
* expected but unreachable (or speaks a different protocol), the whole process
|
|
27
36
|
* runs direct with one stderr notice — a half-routed operation is worse than
|
|
@@ -31,6 +40,7 @@
|
|
|
31
40
|
import { execFileSync } from "node:child_process";
|
|
32
41
|
import { existsSync, readFileSync } from "node:fs";
|
|
33
42
|
import { loadConfig } from "../config.js";
|
|
43
|
+
import { readRendezvousToken, rendezvousExists } from "../host-access.js";
|
|
34
44
|
import { DeputySyncBridge } from "./bridge.js";
|
|
35
45
|
import { DeputyAsyncClient } from "./client.js";
|
|
36
46
|
import { emitHelpersNotice, resetHelpersNoticeForTests } from "./notice.js";
|
|
@@ -90,7 +100,7 @@ function reconcileVersions(bridge, token, first) {
|
|
|
90
100
|
}
|
|
91
101
|
catch {
|
|
92
102
|
// Not installed under launchd (foreground/test deputy) — nothing to restart.
|
|
93
|
-
notice(true, `installed helpers are v${first.deputyVersion}, this package expects v${EXPECTED_HELPERS_VERSION} (same protocol) — proceeding; rebuild with \`bash scripts/build-helpers.sh\` + \`things helpers
|
|
103
|
+
notice(true, `installed helpers are v${first.deputyVersion}, this package expects v${EXPECTED_HELPERS_VERSION} (same protocol) — proceeding; rebuild with \`bash scripts/build-helpers.sh\` + \`things helpers setup\` to align`);
|
|
94
104
|
return first;
|
|
95
105
|
}
|
|
96
106
|
for (let attempt = 0; attempt < 8; attempt++) {
|
|
@@ -105,7 +115,7 @@ function reconcileVersions(bridge, token, first) {
|
|
|
105
115
|
}
|
|
106
116
|
}
|
|
107
117
|
const current = hello(bridge, token);
|
|
108
|
-
notice(true, `installed helpers are v${current.deputyVersion}, this package expects v${EXPECTED_HELPERS_VERSION} (same protocol) — proceeding; rebuild with \`bash scripts/build-helpers.sh\` + \`things helpers
|
|
118
|
+
notice(true, `installed helpers are v${current.deputyVersion}, this package expects v${EXPECTED_HELPERS_VERSION} (same protocol) — proceeding; rebuild with \`bash scripts/build-helpers.sh\` + \`things helpers setup\` to align`);
|
|
109
119
|
return current;
|
|
110
120
|
}
|
|
111
121
|
/**
|
|
@@ -130,7 +140,7 @@ function activate(env) {
|
|
|
130
140
|
if (!existsSync(socketPath) || !existsSync(tokenPath)) {
|
|
131
141
|
notice(loud, `${installed
|
|
132
142
|
? `installed but not running (no socket at ${socketPath})`
|
|
133
|
-
: "not installed on this machine"} — running DIRECT, so TCC prompts attach to this process. \`things helpers ${installed ? "status` to inspect" : "
|
|
143
|
+
: "not installed on this machine"} — running DIRECT, so TCC prompts attach to this process. \`things helpers ${installed ? "status` to inspect" : "setup` to change that"}.`);
|
|
134
144
|
return {
|
|
135
145
|
active: false,
|
|
136
146
|
reason: installed
|
|
@@ -155,13 +165,32 @@ function activate(env) {
|
|
|
155
165
|
}
|
|
156
166
|
if (helloResult.protocol !== DEPUTY_PROTOCOL_VERSION) {
|
|
157
167
|
bridge.close();
|
|
158
|
-
notice(true, `the deputy speaks protocol ${helloResult.protocol}, this package speaks ${DEPUTY_PROTOCOL_VERSION} — running DIRECT. Rebuild with \`bash scripts/build-helpers.sh\` + \`things helpers
|
|
168
|
+
notice(true, `the deputy speaks protocol ${helloResult.protocol}, this package speaks ${DEPUTY_PROTOCOL_VERSION} — running DIRECT. Rebuild with \`bash scripts/build-helpers.sh\` + \`things helpers setup\`.`);
|
|
159
169
|
return {
|
|
160
170
|
active: false,
|
|
161
171
|
reason: `protocol skew (deputy ${helloResult.protocol}, library ${DEPUTY_PROTOCOL_VERSION})`,
|
|
162
172
|
hello: null,
|
|
163
173
|
};
|
|
164
174
|
}
|
|
175
|
+
// The onboarding gate. Routing writes through a deputy that has no
|
|
176
|
+
// app-control grant for Things does not move the consent surface anywhere —
|
|
177
|
+
// it just relocates the dialog to the helper, where nobody is looking. Under
|
|
178
|
+
// `auto` (installation is the intent signal, not a promise) the deputy must
|
|
179
|
+
// PROVE the grant before it carries traffic; `true` is an explicit
|
|
180
|
+
// instruction to route regardless and stays loud on failure.
|
|
181
|
+
const automationThings = helloResult.automation?.things;
|
|
182
|
+
if (mode === "auto" && automationThings !== "granted") {
|
|
183
|
+
bridge.close();
|
|
184
|
+
// Absent fields = helpers predating the TCC handshake. Not provably
|
|
185
|
+
// onboarded is not onboarded: fail closed rather than guess.
|
|
186
|
+
const reason = automationThings === undefined
|
|
187
|
+
? `onboarding not provable (helpers v${helloResult.deputyVersion} predate the permission handshake)`
|
|
188
|
+
: `onboarding incomplete (automation → Things: ${automationThings})`;
|
|
189
|
+
notice(true, automationThings === undefined
|
|
190
|
+
? `the installed helpers (v${helloResult.deputyVersion}) cannot report their macOS permission standing, so app automation runs DIRECT — rebuild with \`bash scripts/build-helpers.sh\`, then \`things helpers setup\`.`
|
|
191
|
+
: `the helpers have no app-control permission for Things (${automationThings}), so app automation runs DIRECT — \`things helpers setup\` settles it in one sitting.`);
|
|
192
|
+
return { active: false, reason, hello: null };
|
|
193
|
+
}
|
|
165
194
|
return {
|
|
166
195
|
active: true,
|
|
167
196
|
reason: null,
|
|
@@ -181,25 +210,42 @@ function activeState(env) {
|
|
|
181
210
|
return routing.active ? state : null;
|
|
182
211
|
}
|
|
183
212
|
function readerInactive(reason) {
|
|
184
|
-
return {
|
|
213
|
+
return {
|
|
214
|
+
active: false,
|
|
215
|
+
granted: false,
|
|
216
|
+
hello: null,
|
|
217
|
+
token: "",
|
|
218
|
+
bridge: null,
|
|
219
|
+
reason,
|
|
220
|
+
};
|
|
185
221
|
}
|
|
186
222
|
function activateReader(env) {
|
|
187
223
|
const mode = loadConfig(env).helpersMode;
|
|
188
224
|
if (mode === "false")
|
|
189
225
|
return readerInactive("disabled");
|
|
226
|
+
// The rendezvous is `<state>/reader` — our own directory, outside every App
|
|
227
|
+
// Sandbox container — so these are ordinary file touches from any host app.
|
|
228
|
+
// No guard, no consent class, nothing to prove before looking.
|
|
190
229
|
const socketPath = readerSocketPath(env);
|
|
191
230
|
const tokenPath = readerTokenPath(env);
|
|
192
231
|
const installed = halfInstalled(readerInstalledAppPath(env), socketPath, tokenPath);
|
|
193
|
-
if (!
|
|
232
|
+
if (!rendezvousExists(socketPath) || !rendezvousExists(tokenPath)) {
|
|
233
|
+
// launchd creates the socket when the reader's LaunchAgent is loaded, and
|
|
234
|
+
// install mints the token beside it — so an absent rendezvous means the
|
|
235
|
+
// pair was never installed here, or its LaunchAgent is not loaded.
|
|
194
236
|
// Absence is silent under `auto`; under `true` the caller asserted routing.
|
|
195
237
|
// An UNGRANTED reader is deliberately NOT noticed here — that is the
|
|
196
238
|
// ceremony's own state, reported by `things helpers status` and doctor.
|
|
197
239
|
notice(mode === "true" || installed, installed
|
|
198
|
-
? `the reader is installed but not
|
|
199
|
-
: "the reader is not installed on this machine — database reads run DIRECT. `things helpers
|
|
200
|
-
return readerInactive(installed ? `reader not
|
|
240
|
+
? `the reader is installed but not registered with launchd (no rendezvous at ${socketPath}) — database reads run DIRECT. \`things helpers setup\` to re-register it.`
|
|
241
|
+
: "the reader is not installed on this machine — database reads run DIRECT. `things helpers setup` to change that.");
|
|
242
|
+
return readerInactive(installed ? `reader not registered with launchd (no ${socketPath})` : "reader not installed");
|
|
243
|
+
}
|
|
244
|
+
const token = readRendezvousToken(tokenPath);
|
|
245
|
+
if (token === null) {
|
|
246
|
+
notice(true, `the reader's access token could not be read (${tokenPath}) — database reads run DIRECT. \`things helpers setup\` to mint a fresh one.`);
|
|
247
|
+
return readerInactive(`the reader's access token could not be read (${tokenPath})`);
|
|
201
248
|
}
|
|
202
|
-
const token = readFileSync(tokenPath, "utf8").trim();
|
|
203
249
|
const bridge = new DeputySyncBridge(socketPath);
|
|
204
250
|
try {
|
|
205
251
|
const res = bridge.request({ v: DEPUTY_PROTOCOL_VERSION, token, verb: "hello" }, 2000);
|
|
@@ -208,7 +254,7 @@ function activateReader(env) {
|
|
|
208
254
|
const readerHello = res;
|
|
209
255
|
if (readerHello.protocol !== DEPUTY_PROTOCOL_VERSION) {
|
|
210
256
|
bridge.close();
|
|
211
|
-
notice(true, `the reader speaks protocol ${readerHello.protocol}, this package speaks ${DEPUTY_PROTOCOL_VERSION} — database reads run DIRECT. Rebuild with \`bash scripts/build-helpers.sh\` + \`things helpers
|
|
257
|
+
notice(true, `the reader speaks protocol ${readerHello.protocol}, this package speaks ${DEPUTY_PROTOCOL_VERSION} — database reads run DIRECT. Rebuild with \`bash scripts/build-helpers.sh\` + \`things helpers setup\`.`);
|
|
212
258
|
return readerInactive(`protocol skew (reader ${readerHello.protocol})`);
|
|
213
259
|
}
|
|
214
260
|
return {
|
|
@@ -261,7 +307,7 @@ export function helpersRouting(env = process.env) {
|
|
|
261
307
|
readerReason: files
|
|
262
308
|
? null
|
|
263
309
|
: reader.active && !reader.granted
|
|
264
|
-
? "reader running but NOT granted (things helpers
|
|
310
|
+
? "reader running but NOT granted (things helpers setup)"
|
|
265
311
|
: reader.reason,
|
|
266
312
|
};
|
|
267
313
|
}
|
|
@@ -269,6 +315,40 @@ export function helpersRouting(env = process.env) {
|
|
|
269
315
|
export function deputyFilesActive(env = process.env) {
|
|
270
316
|
return fileTransport(env) !== null;
|
|
271
317
|
}
|
|
318
|
+
/**
|
|
319
|
+
* Does this machine EXPECT the helpers to carry its reads?
|
|
320
|
+
*
|
|
321
|
+
* `true` is an explicit instruction, and under `auto` an installed bundle is
|
|
322
|
+
* the intent signal (src/deputy/agent-daemon.md §3c). The permissions doctrine
|
|
323
|
+
* hangs its no-fallback rule on this: when the helpers are expected but cannot
|
|
324
|
+
* serve, a read refuses loudly instead of quietly re-attaching consent to the
|
|
325
|
+
* terminal — the exact churn the helpers exist to end. A machine with nothing
|
|
326
|
+
* installed under `auto` is an ordinary direct machine and is NOT expecting
|
|
327
|
+
* them, so it falls through to the direct grants as it always has.
|
|
328
|
+
*/
|
|
329
|
+
export function helpersExpected(env = process.env) {
|
|
330
|
+
const mode = loadConfig(env).helpersMode;
|
|
331
|
+
if (mode === "false")
|
|
332
|
+
return false;
|
|
333
|
+
if (mode === "true")
|
|
334
|
+
return true;
|
|
335
|
+
// Both halves of the question live in our own state directory now — the
|
|
336
|
+
// installed bundle and the rendezvous alike — so this is always answerable
|
|
337
|
+
// from any host, with no probe that could prompt.
|
|
338
|
+
if (existsSync(readerInstalledAppPath(env)))
|
|
339
|
+
return true;
|
|
340
|
+
return rendezvousExists(readerSocketPath(env)) && rendezvousExists(readerTokenPath(env));
|
|
341
|
+
}
|
|
342
|
+
/** Why the reader is not carrying reads (null when it is). */
|
|
343
|
+
export function readerUnavailableReason(env = process.env) {
|
|
344
|
+
if (deputyFilesActive(env))
|
|
345
|
+
return null;
|
|
346
|
+
const reader = readerRouting(env);
|
|
347
|
+
if (reader.active && !reader.granted) {
|
|
348
|
+
return "the reader is running but holds no read grant for the Things data folder";
|
|
349
|
+
}
|
|
350
|
+
return reader.reason;
|
|
351
|
+
}
|
|
272
352
|
/** Blocking FILE-verb round-trip via the granted reader. */
|
|
273
353
|
export function fileSyncRequest(fields, timeoutMs, env = process.env) {
|
|
274
354
|
const transport = fileTransport(env);
|
|
@@ -303,6 +383,13 @@ export async function deputyAsyncRequest(fields, timeoutMs, env = process.env) {
|
|
|
303
383
|
* is active (the caller then locates locally, exactly as before the helpers
|
|
304
384
|
* existed). The reader's scope is grant-checked, never prompted — a locate
|
|
305
385
|
* through it can refuse but can never stall on a consent dialog.
|
|
386
|
+
*
|
|
387
|
+
* A reader that IS serving and then fails to locate THROWS rather than
|
|
388
|
+
* returning null. Falling back to a direct locate there would silently move
|
|
389
|
+
* the read — and its consent — back onto the host app, which the permissions
|
|
390
|
+
* doctrine forbids (Article I; no-fallback rule). The reader's typed
|
|
391
|
+
* `not-granted` / `not-found` codes travel out on the error so the CLI can
|
|
392
|
+
* name the remedy.
|
|
306
393
|
*/
|
|
307
394
|
export function deputyDbPath(env = process.env) {
|
|
308
395
|
const reader = readerRouting(env);
|
|
@@ -311,18 +398,15 @@ export function deputyDbPath(env = process.env) {
|
|
|
311
398
|
if (reader.hello?.dbPath != null)
|
|
312
399
|
return reader.hello.dbPath;
|
|
313
400
|
const rs = readerState;
|
|
314
|
-
if (rs.dbPathMemo !== undefined)
|
|
401
|
+
if (rs.dbPathMemo !== undefined && rs.dbPathMemo !== null)
|
|
315
402
|
return rs.dbPathMemo;
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
catch (err) {
|
|
321
|
-
rs.dbPathMemo = null;
|
|
322
|
-
const why = err instanceof Error ? err.message : String(err);
|
|
323
|
-
emitHelpersNotice(`the reader could not resolve the database (${why}) — this read runs DIRECT`);
|
|
403
|
+
const res = fileSyncRequest({ verb: "locate" }, 10_000, env);
|
|
404
|
+
const path = typeof res["path"] === "string" ? res["path"] : null;
|
|
405
|
+
if (path === null) {
|
|
406
|
+
throw new DeputyRequestError("not-found", "the reader answered the locate but named no database");
|
|
324
407
|
}
|
|
325
|
-
|
|
408
|
+
rs.dbPathMemo = path;
|
|
409
|
+
return path;
|
|
326
410
|
}
|
|
327
411
|
/**
|
|
328
412
|
* Should DATABASE access route through the deputy? Only for the default
|