things-api 0.19.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.
Files changed (131) hide show
  1. package/README.md +3 -1
  2. package/deputy/prebuilt/Things API Helper.app/Contents/CodeResources +0 -0
  3. package/deputy/prebuilt/Things API Helper.app/Contents/Helpers/things-reader.app/Contents/MacOS/things-reader +0 -0
  4. package/deputy/prebuilt/Things API Helper.app/Contents/MacOS/things-deputy +0 -0
  5. package/dist/audit/schema.d.ts +19 -2
  6. package/dist/audit/schema.js.map +1 -1
  7. package/dist/capability.d.ts +166 -4
  8. package/dist/capability.js +303 -13
  9. package/dist/capability.js.map +1 -1
  10. package/dist/cli/commands/doctor.d.ts +13 -1
  11. package/dist/cli/commands/doctor.js +24 -14
  12. package/dist/cli/commands/doctor.js.map +1 -1
  13. package/dist/cli/commands/helpers.js +14 -3
  14. package/dist/cli/commands/helpers.js.map +1 -1
  15. package/dist/cli/commands/mcp.js +8 -0
  16. package/dist/cli/commands/mcp.js.map +1 -1
  17. package/dist/cli/commands/repeat-flags.js +34 -2
  18. package/dist/cli/commands/repeat-flags.js.map +1 -1
  19. package/dist/cli/commands/setup.js +16 -3
  20. package/dist/cli/commands/setup.js.map +1 -1
  21. package/dist/cli/commands/writes.js +102 -67
  22. package/dist/cli/commands/writes.js.map +1 -1
  23. package/dist/cli/interrupt.d.ts +54 -6
  24. package/dist/cli/interrupt.js +78 -12
  25. package/dist/cli/interrupt.js.map +1 -1
  26. package/dist/cli/main.js +8 -5
  27. package/dist/cli/main.js.map +1 -1
  28. package/dist/client.d.ts +1 -1
  29. package/dist/contracts.d.ts +3 -3
  30. package/dist/contracts.js +1 -1
  31. package/dist/deputy/install.d.ts +15 -1
  32. package/dist/deputy/install.js +46 -6
  33. package/dist/deputy/install.js.map +1 -1
  34. package/dist/deputy/routing.d.ts +16 -0
  35. package/dist/deputy/routing.js +70 -0
  36. package/dist/deputy/routing.js.map +1 -1
  37. package/dist/deputy/wake.d.ts +61 -0
  38. package/dist/deputy/wake.js +149 -0
  39. package/dist/deputy/wake.js.map +1 -0
  40. package/dist/diagnose.d.ts +6 -4
  41. package/dist/diagnose.js +20 -4
  42. package/dist/diagnose.js.map +1 -1
  43. package/dist/direct-setup.d.ts +31 -5
  44. package/dist/direct-setup.js +200 -26
  45. package/dist/direct-setup.js.map +1 -1
  46. package/dist/host-access.d.ts +12 -0
  47. package/dist/host-access.js +12 -0
  48. package/dist/host-access.js.map +1 -1
  49. package/dist/index.d.ts +3 -3
  50. package/dist/index.js +2 -2
  51. package/dist/index.js.map +1 -1
  52. package/dist/mcp/server.js +23 -9
  53. package/dist/mcp/server.js.map +1 -1
  54. package/dist/op-result.js +8 -1
  55. package/dist/op-result.js.map +1 -1
  56. package/dist/session-grant.js +16 -1
  57. package/dist/session-grant.js.map +1 -1
  58. package/dist/surface-copy.d.ts +11 -3
  59. package/dist/surface-copy.js +11 -3
  60. package/dist/surface-copy.js.map +1 -1
  61. package/dist/wizard.js +8 -1
  62. package/dist/wizard.js.map +1 -1
  63. package/dist/write/availability.d.ts +0 -15
  64. package/dist/write/availability.js +7 -62
  65. package/dist/write/availability.js.map +1 -1
  66. package/dist/write/batch.js +17 -6
  67. package/dist/write/batch.js.map +1 -1
  68. package/dist/write/commands.d.ts +10 -6
  69. package/dist/write/commands.js +120 -31
  70. package/dist/write/commands.js.map +1 -1
  71. package/dist/write/failure-hints.d.ts +29 -6
  72. package/dist/write/failure-hints.js +9 -14
  73. package/dist/write/failure-hints.js.map +1 -1
  74. package/dist/write/guards.js +3 -2
  75. package/dist/write/guards.js.map +1 -1
  76. package/dist/write/move.js +9 -12
  77. package/dist/write/move.js.map +1 -1
  78. package/dist/write/operations.d.ts +15 -8
  79. package/dist/write/operations.js +9 -0
  80. package/dist/write/operations.js.map +1 -1
  81. package/dist/write/opid.d.ts +67 -23
  82. package/dist/write/opid.js +141 -19
  83. package/dist/write/opid.js.map +1 -1
  84. package/dist/write/param-schema.d.ts +0 -44
  85. package/dist/write/param-schema.js +10 -3
  86. package/dist/write/param-schema.js.map +1 -1
  87. package/dist/write/pipeline.d.ts +38 -7
  88. package/dist/write/pipeline.js +104 -18
  89. package/dist/write/pipeline.js.map +1 -1
  90. package/dist/write/pre-state.d.ts +30 -16
  91. package/dist/write/pre-state.js +88 -20
  92. package/dist/write/pre-state.js.map +1 -1
  93. package/dist/write/promote-clone.js +132 -18
  94. package/dist/write/promote-clone.js.map +1 -1
  95. package/dist/write/repeat-collateral.d.ts +31 -0
  96. package/dist/write/repeat-collateral.js +153 -0
  97. package/dist/write/repeat-collateral.js.map +1 -0
  98. package/dist/write/resolution-timestamps.js +25 -2
  99. package/dist/write/resolution-timestamps.js.map +1 -1
  100. package/dist/write/template-mutation.js +163 -16
  101. package/dist/write/template-mutation.js.map +1 -1
  102. package/dist/write/vectors/applescript.js +3 -10
  103. package/dist/write/vectors/applescript.js.map +1 -1
  104. package/dist/write/vectors/simulator.js +8 -2
  105. package/dist/write/vectors/simulator.js.map +1 -1
  106. package/dist/write/vectors/types.d.ts +211 -1
  107. package/dist/write/vectors/ui-certification.js +63 -13
  108. package/dist/write/vectors/ui-certification.js.map +1 -1
  109. package/dist/write/vectors/ui-chord.d.ts +144 -0
  110. package/dist/write/vectors/ui-chord.js +428 -0
  111. package/dist/write/vectors/ui-chord.js.map +1 -0
  112. package/dist/write/vectors/ui-drag.d.ts +8 -4
  113. package/dist/write/vectors/ui-drag.js +2 -0
  114. package/dist/write/vectors/ui-drag.js.map +1 -1
  115. package/dist/write/vectors/ui-recipes.d.ts +51 -3
  116. package/dist/write/vectors/ui-recipes.js +452 -44
  117. package/dist/write/vectors/ui-recipes.js.map +1 -1
  118. package/dist/write/vectors/ui.d.ts +267 -10
  119. package/dist/write/vectors/ui.js +1006 -64
  120. package/dist/write/vectors/ui.js.map +1 -1
  121. package/dist/write/vectors/url-scheme.js +3 -0
  122. package/dist/write/vectors/url-scheme.js.map +1 -1
  123. package/dist/write/verify/delta.d.ts +41 -0
  124. package/dist/write/verify/delta.js +36 -2
  125. package/dist/write/verify/delta.js.map +1 -1
  126. package/dist/write/verify/poller.d.ts +4 -1
  127. package/dist/write/verify/poller.js +14 -0
  128. package/dist/write/verify/poller.js.map +1 -1
  129. package/package.json +1 -1
  130. package/schema/envelope.schema.json +1 -1
  131. package/skills/things-cli/SKILL.md +1 -1
@@ -19,6 +19,17 @@
19
19
  * instead: durable, but it hands the whole disk to a general-purpose host
20
20
  * app, so it is offered, never assumed.
21
21
  *
22
+ * The provoking open runs in a BOUNDED CHILD process, because macOS parks
23
+ * the requesting syscall in the kernel until someone answers the dialog —
24
+ * an in-process open would park the ceremony itself for as long as the
25
+ * dialog stands. MEASURED (APDP1, docs/lab/apdp1-grant-pinning.md): the
26
+ * app-data grant is keyed to the RESPONSIBLE APP INSTANCE, not to the pid
27
+ * that opened the file, so what a child provokes belongs to the host app
28
+ * and outlives that child — every later process under the same host app
29
+ * reads without a dialog. Killing the child at the deadline takes neither
30
+ * the dialog nor the grant away: a human who answers Allow afterwards still
31
+ * grants the host app, and the next run witnesses it.
32
+ *
22
33
  * MEASURED: FDA does NOT take effect for a running app. macOS says so in
23
34
  * the Settings sheet itself — "…will not have full disk access until it is
24
35
  * quit", with Later / Quit & Reopen — and the responsible process keeps its
@@ -35,6 +46,12 @@
35
46
  * Settings toggle and the `tccutil` re-arm and leaves the choice to the human.
36
47
  * c. SHORTCUTS. The bundled proxies that carry the operations no other surface
37
48
  * can perform. An install sheet per missing shortcut; no macOS consent.
49
+ * d. THINGS URLS. The odd one out: not a macOS grant at all, but Things' own
50
+ * Settings ▸ General ▸ "Enable Things URLs". It raises nothing and cannot be
51
+ * flipped from here, so this leg only DETECTS and instructs — and it earns
52
+ * its place because the off state is otherwise invisible: the app parks
53
+ * every URL command in an alert on its own window rather than running it
54
+ * (URLEN1, #611), which a fresh install hits on its very first write.
38
55
  *
39
56
  * There is deliberately NO Accessibility leg: GUI-driving is helpers-only
40
57
  * (Article IV), so when `ui.enabled` is set this ceremony says so and points at
@@ -53,10 +70,10 @@
53
70
  * inside this ceremony only.
54
71
  */
55
72
  import { execFileSync } from "node:child_process";
56
- import { existsSync, openSync, closeSync } from "node:fs";
73
+ import { existsSync } from "node:fs";
57
74
  import { join } from "node:path";
58
75
  import { fileURLToPath } from "node:url";
59
- import { hostApp, hostDisplayName, readCapability, writeCapability, } from "./capability.js";
76
+ import { hostApp, hostDisplayName, readCapability, urlSchemeCapability, writeCapability, } from "./capability.js";
60
77
  import { loadConfig } from "./config.js";
61
78
  import { locateThingsDb } from "./db/locate.js";
62
79
  import { clearSessionGrant, witnessSessionGrant } from "./session-grant.js";
@@ -69,6 +86,30 @@ const AUTOMATION_SETTINGS_URL = "x-apple.systempreferences:com.apple.preference.
69
86
  /** Package root — one level above src/ AND dist/, so both layouts resolve. */
70
87
  const SHORTCUTS_DIR = fileURLToPath(new URL("../shortcuts", import.meta.url));
71
88
  const AUTOMATION_TIMEOUT_MS = 60_000;
89
+ /** How long the read leg waits for the app-data dialog before giving up. */
90
+ const CONTAINER_OPEN_TIMEOUT_MS = 60_000;
91
+ /**
92
+ * The bounded child's whole job: one `open(2)` against the container, then
93
+ * exit. A dynamic import so the same source runs whether node evaluates `-e`
94
+ * as CommonJS or as an ES module; the failure path writes ONLY the errno
95
+ * message, because an unhandled rejection would dump a stack trace whose first
96
+ * line is a node internal rather than the reason.
97
+ */
98
+ const CONTAINER_OPEN_CHILD = 'import("node:fs").then((fs) => fs.closeSync(fs.openSync(process.argv[1], "r")))' +
99
+ ".catch((e) => { process.stderr.write(String((e && e.message) || e)); process.exit(1); });";
100
+ /**
101
+ * The deadline passed with the app-data dialog still unanswered. Distinct from
102
+ * a refusal: nothing was decided, the dialog is still on screen, and answering
103
+ * it later still lands the grant on the host app (APDP1 stage A).
104
+ */
105
+ export class ContainerOpenTimedOut extends Error {
106
+ timeoutMs;
107
+ constructor(timeoutMs) {
108
+ super(`the app-data dialog was not answered within ${Math.round(timeoutMs / 1000)}s`);
109
+ this.name = "ContainerOpenTimedOut";
110
+ this.timeoutMs = timeoutMs;
111
+ }
112
+ }
72
113
  /** The key that picks Full Disk Access over the session grant at the read leg. */
73
114
  const FDA_CHOICE_KEY = "f";
74
115
  function openUrlBestEffort(url) {
@@ -79,14 +120,47 @@ function openUrlBestEffort(url) {
79
120
  // The deep link is a convenience; the written path works without it.
80
121
  }
81
122
  }
123
+ /** First line of whatever a failed child wrote to stderr. */
124
+ function firstStderrLine(err) {
125
+ const e = err;
126
+ const text = typeof e.stderr === "string"
127
+ ? e.stderr
128
+ : Buffer.isBuffer(e.stderr)
129
+ ? e.stderr.toString("utf8")
130
+ : err instanceof Error
131
+ ? err.message
132
+ : String(err);
133
+ return text.trim().split("\n")[0] ?? "";
134
+ }
82
135
  /**
83
136
  * The container open the ceremony performs on purpose. This is the ONE place
84
137
  * in the package permitted to do it blind — everywhere else the doctrine's
85
138
  * Article I corollary forbids it, because the open is what raises the modal.
139
+ *
140
+ * It runs in a CHILD process so the wait has a deadline (see the read-access
141
+ * note at the top of this file): macOS holds the open in the kernel for as long
142
+ * as the dialog stands, and the grant it lands belongs to the host app rather
143
+ * than to the pid that asked, so nothing is lost by giving up on the child.
86
144
  */
87
- function openContainerDefault() {
88
- const fd = openSync(locateThingsDb().path, "r");
89
- closeSync(fd);
145
+ function openContainerDefault(timeoutMs) {
146
+ const path = locateThingsDb().path;
147
+ try {
148
+ execFileSync(process.execPath, ["-e", CONTAINER_OPEN_CHILD, path], {
149
+ stdio: ["ignore", "ignore", "pipe"],
150
+ timeout: timeoutMs,
151
+ killSignal: "SIGKILL",
152
+ });
153
+ }
154
+ catch (err) {
155
+ const e = err;
156
+ // spawnSync reports a deadline kill as ETIMEDOUT, as `killed`, or as the
157
+ // kill signal itself, depending on where it noticed — all three mean the
158
+ // dialog outlived the wait.
159
+ if (e.code === "ETIMEDOUT" || e.killed === true || e.signal === "SIGKILL") {
160
+ throw new ContainerOpenTimedOut(timeoutMs);
161
+ }
162
+ throw new Error(firstStderrLine(err) || "the container could not be opened", { cause: err });
163
+ }
90
164
  }
91
165
  function sendAutomationProbeDefault(timeoutMs) {
92
166
  // `count of areas` dispatches a REAL Apple event. Properties like `version`
@@ -103,14 +177,28 @@ function sendAutomationProbeDefault(timeoutMs) {
103
177
  * The two ways to read, offered as a choice rather than a ranking. Enter takes
104
178
  * the session grant; `f` takes Full Disk Access, which is the wider grant and
105
179
  * the one that costs the human a relaunch.
180
+ *
181
+ * The Enter line states what the session grant actually buys, as MEASURED
182
+ * (APDP1): one Allow covers every process under this host app — this window,
183
+ * other tabs and windows, and anything they spawn — until the app quits. Under
184
+ * tmux that app is the one that first started the tmux server rather than
185
+ * whatever window you are attached from, because macOS fixes responsibility at
186
+ * spawn and it survives re-parenting; the caveat is printed only when `TMUX`
187
+ * says so, and nothing is detected to produce it.
106
188
  */
107
- function readAccessChoice(hostName) {
108
- return [
189
+ function readAccessChoice(hostName, env) {
190
+ const lines = [
109
191
  "Next: read access to your Things data — two ways:",
110
- ` Enter allow this session only: a dialog asks now; access ends when ${hostName} quits`,
192
+ ` Enter allow while ${hostName} runs: one dialog now, then every command under`,
193
+ ` ${hostName} — any tab, window, or agent it spawns — reads without asking,`,
194
+ ` until ${hostName} quits`,
111
195
  ` f Full Disk Access: durable, but grants ${hostName} broad file access —`,
112
196
  ` flip it in System Settings, then ${hostName} must quit and reopen`,
113
197
  ];
198
+ if ((env["TMUX"] ?? "") !== "") {
199
+ lines.push(` note: inside tmux the grant belongs to the app that started the tmux server, and`, ` lasts until THAT app quits — not the window you are attached from`);
200
+ }
201
+ return lines;
114
202
  }
115
203
  /**
116
204
  * The `f` branch. Nothing here waits: FDA reaches a process only through a
@@ -135,9 +223,10 @@ function fdaBranch(base, hostName, deps) {
135
223
  }
136
224
  /**
137
225
  * The default branch: provoke the app-data modal on purpose and record the
138
- * grant only if the open then actually succeeded. The wait is the modal's own —
139
- * macOS holds the open until someone answers it, which is the premise of a
140
- * ceremony.
226
+ * grant only if the open then actually succeeded. The wait is BOUNDED the
227
+ * open runs in a child process the ceremony can give up on, and giving up
228
+ * costs nothing, because a dialog answered afterwards still grants the host
229
+ * app (APDP1).
141
230
  */
142
231
  function sessionGrantBranch(base, hostName, deps) {
143
232
  const progress = deps.progress ?? (() => { });
@@ -145,18 +234,37 @@ function sessionGrantBranch(base, hostName, deps) {
145
234
  "other apps; click Allow");
146
235
  const host = hostApp(deps);
147
236
  try {
148
- (deps.openContainer ?? openContainerDefault)();
237
+ (deps.openContainer ?? openContainerDefault)(deps.containerOpenTimeoutMs ?? CONTAINER_OPEN_TIMEOUT_MS);
149
238
  }
150
239
  catch (err) {
151
240
  clearSessionGrant(deps.env ?? process.env);
241
+ if (err instanceof ContainerOpenTimedOut) {
242
+ // Nothing was decided and the dialog is still up: say so, because the
243
+ // human's next click still lands the grant on this same host app.
244
+ progress("read access: no answer yet — the dialog is still on screen");
245
+ return {
246
+ ...base,
247
+ state: "pending",
248
+ alreadySatisfied: false,
249
+ detail: `the dialog is still waiting — click Allow and rerun \`things setup\` to confirm it, ` +
250
+ "choose Full Disk Access at the read step instead, or run `things helpers setup` to " +
251
+ "let a helper hold the grant",
252
+ };
253
+ }
152
254
  const why = err instanceof Error ? err.message : String(err);
153
255
  progress(`read access: still no access — ${why}`);
154
256
  return {
155
257
  ...base,
156
258
  state: "pending",
157
259
  alreadySatisfied: false,
158
- detail: "no read access yet rerun and answer the dialog, choose Full Disk Access at the " +
159
- "read step instead, or run `things helpers setup` to let a helper hold the grant",
260
+ // The open failed. Usually that is a Don't Allow which then stands for
261
+ // the whole run of this app, every later open failing instantly with no
262
+ // second dialog (APDP1 stage B) — but the errno could also be something
263
+ // else entirely, so the copy hedges the cause and states the remedy.
264
+ detail: `no read access yet — if the dialog was refused, that answer stands for the rest of ` +
265
+ `this ${hostName} run and macOS will not ask again, so quit and reopen ${hostName} to ` +
266
+ "be asked; or choose Full Disk Access at the read step, or run `things helpers setup` " +
267
+ "to let a helper hold the grant",
160
268
  };
161
269
  }
162
270
  const witnessed = witnessSessionGrant(host.bundleId ?? "", deps);
@@ -169,13 +277,15 @@ function sessionGrantBranch(base, hostName, deps) {
169
277
  "grant could be tied to — choose Full Disk Access instead, or run `things helpers setup`",
170
278
  };
171
279
  }
172
- progress("read access: granted for as long as this app stays open");
280
+ progress(`read access: granted every command under ${hostName}, in any tab or window, reads ` +
281
+ `without asking until ${hostName} quits`);
173
282
  return {
174
283
  ...base,
175
284
  state: "granted",
176
285
  alreadySatisfied: false,
177
- detail: `${hostName} may read the Things data folder until it quits. Full Disk Access makes ` +
178
- "it permanent; `things helpers setup` moves it onto a helper that keeps it across restarts",
286
+ detail: `every command running under ${hostName} any tab, window, or agent it spawns may ` +
287
+ `read the Things data folder until ${hostName} quits. Full Disk Access makes it ` +
288
+ "permanent; `things helpers setup` moves it onto a helper that keeps it across restarts",
179
289
  };
180
290
  }
181
291
  function readAccessLeg(capability, choice, deps) {
@@ -196,7 +306,8 @@ function readAccessLeg(capability, choice, deps) {
196
306
  return { ...base, state: "granted", alreadySatisfied: true, detail: capability.detail };
197
307
  }
198
308
  if (capability.mode === "session-grant") {
199
- progress("read access: already granted for as long as this app stays open");
309
+ progress(`read access: already granted every command under ${hostName} reads without asking ` +
310
+ `until ${hostName} quits`);
200
311
  return { ...base, state: "granted", alreadySatisfied: true, detail: capability.detail };
201
312
  }
202
313
  // Nothing on record: the human's choice decides which grant this leg gathers.
@@ -208,7 +319,11 @@ function readAccessLeg(capability, choice, deps) {
208
319
  function appControlLeg(deps) {
209
320
  const base = { leg: "app-control", label: "app control" };
210
321
  const progress = deps.progress ?? (() => { });
211
- const capability = writeCapability(deps);
322
+ // DISPATCH intent: this leg sends Things a real Apple Event a few lines down,
323
+ // and an Apple Event to a closed Things launches it WITH focus steal
324
+ // (A40/A41). Starting it first is both the honest way to read the standing
325
+ // (#617) and the quieter way to raise the dialog.
326
+ const capability = writeCapability({ purpose: "dispatch" }, deps);
212
327
  const hostName = hostDisplayName(deps);
213
328
  if (capability.mode === "deputy") {
214
329
  progress("app control: already held by the helpers");
@@ -276,7 +391,7 @@ function appControlLeg(deps) {
276
391
  };
277
392
  }
278
393
  // A zero exit is not believed on its own: re-read what macOS actually records.
279
- const after = writeCapability(deps);
394
+ const after = writeCapability({ purpose: "dispatch" }, deps);
280
395
  if (after.mode === "direct-granted" || after.mode === "deputy") {
281
396
  progress("app control: granted");
282
397
  return { ...base, state: "granted", alreadySatisfied: false, detail: "granted" };
@@ -334,6 +449,40 @@ function shortcutsLeg(deps) {
334
449
  : `could not open: ${failures.join(", ")}`,
335
450
  };
336
451
  }
452
+ // ── Leg (d): Things' own URL authorization ───────────────────────────────────
453
+ /**
454
+ * The one leg that raises NOTHING. Things' "Enable Things URLs" is the app's own
455
+ * switch, not a macOS grant: there is no dialog for this ceremony to provoke and
456
+ * nothing it can flip on the human's behalf. What it can do is SAY SO — because
457
+ * the state is silent from every other angle. MEASURED (URLEN1): with the
458
+ * setting off, or never answered, the app puts a "Things URL Scheme" alert on
459
+ * its own window and PARKS the command behind it, so an unattended write reads
460
+ * as a silent no-op minutes later (#611). A fresh install has never answered it,
461
+ * which is precisely when someone is running this ceremony.
462
+ *
463
+ * So the leg reports `pending` and names the toggle; the closing line then
464
+ * carries it as outstanding work and a rerun re-checks it. Settings panes are
465
+ * not deep-linkable the way System Settings panes are — `things:///preferences`
466
+ * is not a route (RESID1) — so the copy names the path instead of opening it.
467
+ */
468
+ function urlSchemeLeg(deps) {
469
+ const base = { leg: "url-scheme", label: "Things URLs" };
470
+ const progress = deps.progress ?? (() => { });
471
+ const standing = (deps.urlSchemeStanding ?? (() => urlSchemeCapability(deps)))();
472
+ if (standing.mode === "enabled") {
473
+ progress("things urls: on");
474
+ return { ...base, state: "granted", alreadySatisfied: true, detail: standing.detail };
475
+ }
476
+ if (standing.mode === "unreadable") {
477
+ // Nothing to report and nothing to ask for: this machine cannot see the
478
+ // setting, so claiming it is unset would be a guess.
479
+ return { ...base, state: "skipped", alreadySatisfied: false, detail: standing.detail };
480
+ }
481
+ progress("things urls: OFF — turn on Things ▸ Settings ▸ General ▸ Enable Things URLs, then rerun. " +
482
+ "Until it is on, Things holds URL commands in an alert on its own window instead of " +
483
+ "running them");
484
+ return { ...base, state: "pending", alreadySatisfied: false, detail: standing.detail };
485
+ }
337
486
  // ── The ceremony ─────────────────────────────────────────────────────────────
338
487
  /**
339
488
  * What each leg puts on screen, for the upfront banner. Named flatly, in the
@@ -347,6 +496,11 @@ function promptLabel(leg, hostName) {
347
496
  return "app control of Things";
348
497
  case "shortcuts":
349
498
  return "one install sheet per missing shortcut";
499
+ case "url-scheme":
500
+ // Unreachable in practice: this leg raises nothing, so it is never put in
501
+ // `outstanding` — the list this function labels. The case exists because
502
+ // the union must be covered, not because anything prints it.
503
+ return "nothing — the Things URLs setting is flipped by hand";
350
504
  }
351
505
  }
352
506
  /** "a", "a and b", "a, b, and c" — the banner reads as a sentence. */
@@ -363,7 +517,8 @@ function listPhrase(items) {
363
517
  * strict mode they are never printed; the upfront banner's count stands alone.
364
518
  * `{host}` is filled with the detected host app's display name. The read leg is
365
519
  * absent because it is a CHOICE rather than an announcement — see
366
- * {@link readAccessChoice}.
520
+ * {@link readAccessChoice}; the url-scheme leg is absent because it raises
521
+ * nothing there is anything to explain in advance of.
367
522
  */
368
523
  const PROMPT_EXPLAINERS = {
369
524
  "app-control": [
@@ -396,12 +551,20 @@ function closingLine(steps, uiEnabled) {
396
551
  * What the ceremony would do, established entirely prompt-free. This is the
397
552
  * idempotence check (Article V): it is what lets a rerun skip settled legs, and
398
553
  * it is what `--dry-run` reports. Raises nothing, ever.
554
+ *
555
+ * `purpose` is the one side effect the survey can be asked for: the ceremony
556
+ * itself passes `dispatch` so a dormant Things is started before the dialogs
557
+ * are COUNTED (#617) — otherwise a machine whose app happens to be closed is
558
+ * told "nothing to raise" and then shown a dialog anyway. `--dry-run` keeps the
559
+ * default and starts nothing at all, at the cost of not knowing where a closed
560
+ * app's grant stands; it says so through the write verdict it reports.
399
561
  */
400
- export function surveySetup(deps = {}) {
562
+ export function surveySetup(deps = {}, options = {}) {
401
563
  const host = hostApp(deps);
402
564
  const read = readCapability({}, deps);
403
- const write = writeCapability(deps);
565
+ const write = writeCapability(options, deps);
404
566
  const shortcuts = (deps.shortcutProxies ?? readShortcutProxies)();
567
+ const urlScheme = (deps.urlSchemeStanding ?? (() => urlSchemeCapability(deps)))();
405
568
  const outstanding = [];
406
569
  if (read.mode !== "direct-fda" && read.mode !== "session-grant" && read.mode !== "helpers") {
407
570
  outstanding.push("read-access");
@@ -411,10 +574,14 @@ export function surveySetup(deps = {}) {
411
574
  outstanding.push("app-control");
412
575
  if (shortcuts.missing.length > 0)
413
576
  outstanding.push("shortcuts");
577
+ // The URL-scheme leg is deliberately NOT added to `outstanding`: that list is
578
+ // "dialogs this ceremony is about to raise", and this leg raises none. It is
579
+ // reported as a step and carried by the closing line instead.
414
580
  return {
415
581
  host: { bundleId: host.bundleId, name: hostDisplayName(deps) },
416
582
  read,
417
583
  write,
584
+ urlScheme,
418
585
  shortcutsMissing: [...shortcuts.missing],
419
586
  outstanding,
420
587
  };
@@ -439,7 +606,7 @@ function runCeremony(deps) {
439
606
  const hostName = hostDisplayName(withProgress);
440
607
  // Survey prompt-free BEFORE raising anything, so whoever started this knows
441
608
  // whether they must stay at the screen (Article V).
442
- const survey = surveySetup(withProgress);
609
+ const survey = surveySetup(withProgress, { purpose: "dispatch" });
443
610
  const readBefore = survey.read;
444
611
  const outstanding = survey.outstanding;
445
612
  progress(`setting up direct access for ${hostName}${host.bundleId !== null ? ` (${host.bundleId})` : ""}`);
@@ -460,13 +627,20 @@ function runCeremony(deps) {
460
627
  // grant, `f` takes Full Disk Access. Strict mode answers "" without asking,
461
628
  // which is the session grant — the only one an absent human can still get.
462
629
  const readChoice = willRaise.has("read-access")
463
- ? wizard.choose(readAccessChoice(hostName), [FDA_CHOICE_KEY])
630
+ ? wizard.choose(readAccessChoice(hostName, env), [FDA_CHOICE_KEY])
464
631
  : "";
465
632
  const readStep = readAccessLeg(readBefore, readChoice, withProgress);
466
633
  brief("app-control");
467
634
  const appControlStep = appControlLeg(withProgress);
468
635
  brief("shortcuts");
469
- const steps = [readStep, appControlStep, shortcutsLeg(withProgress)];
636
+ const steps = [
637
+ readStep,
638
+ appControlStep,
639
+ shortcutsLeg(withProgress),
640
+ // Last, and never briefed: it raises nothing, so there is no dialog to
641
+ // explain one leg ahead (Article V) — it only reports and instructs.
642
+ urlSchemeLeg(withProgress),
643
+ ];
470
644
  const uiEnabled = loadConfig(env).ui.enabled;
471
645
  if (uiEnabled) {
472
646
  progress("note: GUI-driving is enabled in config, and it is granted only to the helpers — " +
@@ -1 +1 @@
1
- {"version":3,"file":"direct-setup.js","sourceRoot":"","sources":["../src/direct-setup.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqDG;AACH,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAC1D,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,OAAO,EACL,OAAO,EACP,eAAe,EACf,cAAc,EACd,eAAe,GAGhB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC5E,OAAO,EAAE,YAAY,EAAE,qBAAqB,EAAe,MAAM,aAAa,CAAC;AAC/E,OAAO,EAAE,mBAAmB,EAAuB,MAAM,yBAAyB,CAAC;AAEnF,8CAA8C;AAC9C,MAAM,gBAAgB,GAAG,0EAA0E,CAAC;AACpG,wCAAwC;AACxC,MAAM,uBAAuB,GAC3B,4EAA4E,CAAC;AAE/E,8EAA8E;AAC9E,MAAM,aAAa,GAAG,aAAa,CAAC,IAAI,GAAG,CAAC,cAAc,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAE9E,MAAM,qBAAqB,GAAG,MAAM,CAAC;AAErC,kFAAkF;AAClF,MAAM,cAAc,GAAG,GAAG,CAAC;AAoD3B,SAAS,iBAAiB,CAAC,GAAW;IACpC,IAAI,CAAC;QACH,YAAY,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;IACpE,CAAC;IAAC,MAAM,CAAC;QACP,qEAAqE;IACvE,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,SAAS,oBAAoB;IAC3B,MAAM,EAAE,GAAG,QAAQ,CAAC,cAAc,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAChD,SAAS,CAAC,EAAE,CAAC,CAAC;AAChB,CAAC;AAED,SAAS,0BAA0B,CAAC,SAAiB;IACnD,4EAA4E;IAC5E,0EAA0E;IAC1E,2EAA2E;IAC3E,4CAA4C;IAC5C,YAAY,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,8CAA8C,CAAC,EAAE;QAChF,KAAK,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC;QACnC,OAAO,EAAE,SAAS;KACnB,CAAC,CAAC;AACL,CAAC;AAED,gFAAgF;AAEhF;;;;GAIG;AACH,SAAS,gBAAgB,CAAC,QAAgB;IACxC,OAAO;QACL,mDAAmD;QACnD,yEAAyE,QAAQ,QAAQ;QACzF,kDAAkD,QAAQ,sBAAsB;QAChF,6CAA6C,QAAQ,uBAAuB;KAC7E,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,SAAS,SAAS,CAChB,IAA2C,EAC3C,QAAgB,EAChB,IAAqB;IAErB,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IAC7C,CAAC,IAAI,CAAC,OAAO,IAAI,iBAAiB,CAAC,CAAC,gBAAgB,CAAC,CAAC;IACtD,QAAQ,CACN,2BAA2B,QAAQ,gEAAgE,CACpG,CAAC;IACF,QAAQ,CACN,uEAAuE,QAAQ,WAAW,CAC3F,CAAC;IACF,QAAQ,CAAC,0EAA0E,CAAC,CAAC;IACrF,QAAQ,CAAC,sFAAsF,CAAC,CAAC;IACjG,OAAO;QACL,GAAG,IAAI;QACP,KAAK,EAAE,SAAS;QAChB,gBAAgB,EAAE,KAAK;QACvB,MAAM,EACJ,uCAAuC,QAAQ,qCAAqC;YACpF,UAAU,QAAQ,+BAA+B;KACpD,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,SAAS,kBAAkB,CACzB,IAA2C,EAC3C,QAAgB,EAChB,IAAqB;IAErB,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IAC7C,QAAQ,CACN,mDAAmD,QAAQ,wBAAwB;QACjF,yBAAyB,CAC5B,CAAC;IACF,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3B,IAAI,CAAC;QACH,CAAC,IAAI,CAAC,aAAa,IAAI,oBAAoB,CAAC,EAAE,CAAC;IACjD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,iBAAiB,CAAC,IAAI,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC;QAC3C,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC7D,QAAQ,CAAC,kCAAkC,GAAG,EAAE,CAAC,CAAC;QAClD,OAAO;YACL,GAAG,IAAI;YACP,KAAK,EAAE,SAAS;YAChB,gBAAgB,EAAE,KAAK;YACvB,MAAM,EACJ,mFAAmF;gBACnF,iFAAiF;SACpF,CAAC;IACJ,CAAC;IACD,MAAM,SAAS,GAAG,mBAAmB,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,EAAE,IAAI,CAAC,CAAC;IACjE,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;QACvB,OAAO;YACL,GAAG,IAAI;YACP,KAAK,EAAE,SAAS;YAChB,gBAAgB,EAAE,KAAK;YACvB,MAAM,EACJ,iFAAiF;gBACjF,yFAAyF;SAC5F,CAAC;IACJ,CAAC;IACD,QAAQ,CAAC,yDAAyD,CAAC,CAAC;IACpE,OAAO;QACL,GAAG,IAAI;QACP,KAAK,EAAE,SAAS;QAChB,gBAAgB,EAAE,KAAK;QACvB,MAAM,EACJ,GAAG,QAAQ,0EAA0E;YACrF,2FAA2F;KAC9F,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CACpB,UAA0B,EAC1B,MAAc,EACd,IAAqB;IAErB,MAAM,IAAI,GAAG,EAAE,GAAG,EAAE,aAAsB,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC;IACnE,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IAC7C,MAAM,QAAQ,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;IACvC,IAAI,UAAU,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAClC,QAAQ,CAAC,4CAA4C,CAAC,CAAC;QACvD,OAAO;YACL,GAAG,IAAI;YACP,KAAK,EAAE,SAAS;YAChB,gBAAgB,EAAE,IAAI;YACtB,MAAM,EAAE,0CAA0C;SACnD,CAAC;IACJ,CAAC;IACD,IAAI,UAAU,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;QACrC,QAAQ,CAAC,iDAAiD,CAAC,CAAC;QAC5D,OAAO,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,gBAAgB,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC;IAC1F,CAAC;IACD,IAAI,UAAU,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;QACxC,QAAQ,CAAC,iEAAiE,CAAC,CAAC;QAC5E,OAAO,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,gBAAgB,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC;IAC1F,CAAC;IACD,8EAA8E;IAC9E,OAAO,MAAM,KAAK,cAAc;QAC9B,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC;QACjC,CAAC,CAAC,kBAAkB,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;AAC/C,CAAC;AAED,gFAAgF;AAEhF,SAAS,aAAa,CAAC,IAAqB;IAC1C,MAAM,IAAI,GAAG,EAAE,GAAG,EAAE,aAAsB,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC;IACnE,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IAC7C,MAAM,UAAU,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;IACzC,MAAM,QAAQ,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;IACvC,IAAI,UAAU,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QACjC,QAAQ,CAAC,0CAA0C,CAAC,CAAC;QACrD,OAAO;YACL,GAAG,IAAI;YACP,KAAK,EAAE,SAAS;YAChB,gBAAgB,EAAE,IAAI;YACtB,MAAM,EAAE,yCAAyC;SAClD,CAAC;IACJ,CAAC;IACD,IAAI,UAAU,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;QACzC,QAAQ,CAAC,8BAA8B,CAAC,CAAC;QACzC,OAAO,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,gBAAgB,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC;IAC1F,CAAC;IACD,IAAI,UAAU,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;QACxC,yEAAyE;QACzE,0DAA0D;QAC1D,QAAQ,CAAC,yDAAyD,CAAC,CAAC;QACpE,OAAO;YACL,GAAG,IAAI;YACP,KAAK,EAAE,QAAQ;YACf,gBAAgB,EAAE,KAAK;YACvB,MAAM,EAAE,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC;SAC1C,CAAC;IACJ,CAAC;IACD,QAAQ,CAAC,4DAA4D,CAAC,CAAC;IACvE,IAAI,CAAC;QACH,CAAC,IAAI,CAAC,mBAAmB,IAAI,0BAA0B,CAAC,CACtD,IAAI,CAAC,mBAAmB,IAAI,qBAAqB,CAClD,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,GAAG,GAA6C,CAAC;QACxD,MAAM,MAAM,GACV,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ;YAC1B,CAAC,CAAC,CAAC,CAAC,MAAM;YACV,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC;gBACzB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;gBAC3B,CAAC,CAAC,GAAG,YAAY,KAAK;oBACpB,CAAC,CAAC,GAAG,CAAC,OAAO;oBACb,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACtB,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YACzB,QAAQ,CAAC,sBAAsB,CAAC,CAAC;YACjC,CAAC,IAAI,CAAC,OAAO,IAAI,iBAAiB,CAAC,CAAC,uBAAuB,CAAC,CAAC;YAC7D,OAAO;gBACL,GAAG,IAAI;gBACP,KAAK,EAAE,QAAQ;gBACf,gBAAgB,EAAE,KAAK;gBACvB,MAAM,EACJ,uBAAuB,QAAQ,gDAAgD;oBAC/E,sEACE,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,IAAI,YAC5B,gBAAgB;aACnB,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,CAAC,MAAM,KAAK,IAAI,IAAI,wBAAwB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/D,QAAQ,CAAC,0CAA0C,CAAC,CAAC;YACrD,OAAO;gBACL,GAAG,IAAI;gBACP,KAAK,EAAE,SAAS;gBAChB,gBAAgB,EAAE,KAAK;gBACvB,MAAM,EAAE,mDAAmD;aAC5D,CAAC;QACJ,CAAC;QACD,QAAQ,CAAC,8BAA8B,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,eAAe,GAAG,CAAC,CAAC;QAC3F,OAAO;YACL,GAAG,IAAI;YACP,KAAK,EAAE,SAAS;YAChB,gBAAgB,EAAE,KAAK;YACvB,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,8BAA8B;SACvE,CAAC;IACJ,CAAC;IACD,+EAA+E;IAC/E,MAAM,KAAK,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;IACpC,IAAI,KAAK,CAAC,IAAI,KAAK,gBAAgB,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC/D,QAAQ,CAAC,sBAAsB,CAAC,CAAC;QACjC,OAAO,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;IACnF,CAAC;IACD,QAAQ,CAAC,6DAA6D,CAAC,CAAC;IACxE,OAAO;QACL,GAAG,IAAI;QACP,KAAK,EAAE,SAAS;QAChB,gBAAgB,EAAE,KAAK;QACvB,MAAM,EAAE,GAAG,KAAK,CAAC,MAAM,oCAAoC,QAAQ,0DAA0D;KAC9H,CAAC;AACJ,CAAC;AAED,gFAAgF;AAEhF,SAAS,YAAY,CAAC,IAAqB;IACzC,MAAM,IAAI,GAAG,EAAE,GAAG,EAAE,WAAoB,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC;IAC/D,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IAC7C,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,eAAe,IAAI,mBAAmB,CAAC,EAAE,CAAC;IAC9D,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/B,QAAQ,CAAC,0BAA0B,CAAC,CAAC;QACrC,OAAO;YACL,GAAG,IAAI;YACP,KAAK,EAAE,SAAS;YAChB,gBAAgB,EAAE,IAAI;YACtB,MAAM,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,YAAY;SAC5C,CAAC;IACJ,CAAC;IACD,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;QACjC,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,EAAE,GAAG,IAAI,WAAW,CAAC,CAAC;QACrD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACtB,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,kCAAkC,CAAC,CAAC;YACzD,SAAS;QACX,CAAC;QACD,IAAI,CAAC;YACH,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YAC7F,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpB,CAAC;QAAC,MAAM,CAAC;YACP,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtB,CAAC;IACH,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,QAAQ,CACN,qBAAqB,MAAM,CAAC,MAAM,iBAAiB,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK;YACpF,gFAAgF,CACnF,CAAC;IACJ,CAAC;IACD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC;QAAE,QAAQ,CAAC,6BAA6B,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACtF,OAAO;QACL,GAAG,IAAI;QACP,KAAK,EAAE,SAAS;QAChB,gBAAgB,EAAE,KAAK;QACvB,MAAM,EACJ,MAAM,CAAC,MAAM,GAAG,CAAC;YACf,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,iBAAiB,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,oDAAoD;YACrH,CAAC,CAAC,mBAAmB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;KAC/C,CAAC;AACJ,CAAC;AAED,gFAAgF;AAEhF;;;GAGG;AACH,SAAS,WAAW,CAAC,GAAa,EAAE,QAAgB;IAClD,QAAQ,GAAG,EAAE,CAAC;QACZ,KAAK,aAAa;YAChB,OAAO,mBAAmB,QAAQ,EAAE,CAAC;QACvC,KAAK,aAAa;YAChB,OAAO,uBAAuB,CAAC;QACjC,KAAK,WAAW;YACd,OAAO,wCAAwC,CAAC;IACpD,CAAC;AACH,CAAC;AAED,sEAAsE;AACtE,SAAS,UAAU,CAAC,KAAe;IACjC,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC7C,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7D,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACjE,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,iBAAiB,GAAuD;IAC5E,aAAa,EAAE;QACb,6CAA6C;QAC7C,wFAAwF;QACxF,oDAAoD;KACrD;IACD,SAAS,EAAE;QACT,8BAA8B;QAC9B,0FAA0F;QAC1F,kFAAkF;KACnF;CACF,CAAC;AAEF,SAAS,WAAW,CAAC,KAAkB,EAAE,SAAkB;IACzD,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC;IACzD,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC;IAC3D,MAAM,OAAO,GAAG,SAAS;QACvB,CAAC,CAAC,gGAAgG;QAClG,CAAC,CAAC,EAAE,CAAC;IACP,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,OAAO,CACL,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,aAAa;YAC7F,wEAAwE,OAAO,EAAE,CAClF,CAAC;IACJ,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,OAAO,sBAAsB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,uEAAuE,OAAO,EAAE,CAAC;IACtJ,CAAC;IACD,OAAO,6CAA6C,OAAO,EAAE,CAAC;AAChE,CAAC;AAWD;;;;GAIG;AACH,MAAM,UAAU,WAAW,CAAC,OAAwB,EAAE;IACpD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3B,MAAM,IAAI,GAAG,cAAc,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IACtC,MAAM,KAAK,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;IACpC,MAAM,SAAS,GAAG,CAAC,IAAI,CAAC,eAAe,IAAI,mBAAmB,CAAC,EAAE,CAAC;IAClE,MAAM,WAAW,GAAe,EAAE,CAAC;IACnC,IAAI,IAAI,CAAC,IAAI,KAAK,YAAY,IAAI,IAAI,CAAC,IAAI,KAAK,eAAe,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC3F,WAAW,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAClC,CAAC;IACD,iFAAiF;IACjF,IAAI,KAAK,CAAC,IAAI,KAAK,gBAAgB;QAAE,WAAW,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IACrE,IAAI,SAAS,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC;QAAE,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAChE,OAAO;QACL,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,eAAe,CAAC,IAAI,CAAC,EAAE;QAC9D,IAAI;QACJ,KAAK;QACL,gBAAgB,EAAE,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;QACxC,WAAW;KACZ,CAAC;AACJ,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,WAAW,CAAC,OAAwB,EAAE;IACpD,OAAO,qBAAqB,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;AACxD,CAAC;AAED,SAAS,WAAW,CAAC,IAAqB;IACxC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC,IAAY,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC;IACxF,MAAM,YAAY,GAAoB,EAAE,GAAG,IAAI,EAAE,QAAQ,EAAE,CAAC;IAC5D,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC;IACpC,MAAM,IAAI,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IACnC,MAAM,QAAQ,GAAG,eAAe,CAAC,YAAY,CAAC,CAAC;IAE/C,4EAA4E;IAC5E,oDAAoD;IACpD,MAAM,MAAM,GAAG,WAAW,CAAC,YAAY,CAAC,CAAC;IACzC,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC;IAC/B,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;IAEvC,QAAQ,CACN,gCAAgC,QAAQ,GAAG,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACjG,CAAC;IACF,QAAQ,CACN,WAAW,CAAC,MAAM,KAAK,CAAC;QACtB,CAAC,CAAC,6EAA6E;QAC/E,CAAC,CAAC,kBAAkB,WAAW,CAAC,MAAM,UAAU,WAAW,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK;YACpF,GAAG,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI;YACvE,gCAAgC,CACvC,CAAC;IAEF,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,YAAY,EAAE,CAAC;IAC7C,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,CAAC;IACvC,2EAA2E;IAC3E,MAAM,KAAK,GAAG,CAAC,GAAqC,EAAQ,EAAE;QAC5D,IAAI,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACvB,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC5F,CAAC;IACH,CAAC,CAAC;IACF,0EAA0E;IAC1E,4EAA4E;IAC5E,2EAA2E;IAC3E,MAAM,UAAU,GAAG,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC;QAC7C,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC;QAC7D,CAAC,CAAC,EAAE,CAAC;IACP,MAAM,QAAQ,GAAG,aAAa,CAAC,UAAU,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC;IACrE,KAAK,CAAC,aAAa,CAAC,CAAC;IACrB,MAAM,cAAc,GAAG,aAAa,CAAC,YAAY,CAAC,CAAC;IACnD,KAAK,CAAC,WAAW,CAAC,CAAC;IACnB,MAAM,KAAK,GAAgB,CAAC,QAAQ,EAAE,cAAc,EAAE,YAAY,CAAC,YAAY,CAAC,CAAC,CAAC;IAClF,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC;IAC7C,IAAI,SAAS,EAAE,CAAC;QACd,QAAQ,CACN,kFAAkF;YAChF,gDAAgD,CACnD,CAAC;IACJ,CAAC;IACD,OAAO;QACL,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE;QACjD,KAAK;QACL,WAAW;QACX,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,QAAQ,CAAC;QAC/C,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,SAAS,CAAC;QACjD,OAAO,EAAE,WAAW,CAAC,KAAK,EAAE,SAAS,CAAC;KACvC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"direct-setup.js","sourceRoot":"","sources":["../src/direct-setup.ts"],"names":[],"mappings":"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"}
@@ -26,6 +26,18 @@ export interface HostAccessDeps extends SessionGrantDeps {
26
26
  * safe on the hot path. `__CFBundleIdentifier` is set by macOS when a process
27
27
  * descends from an app bundle, which is how a terminal's shell (and everything
28
28
  * it spawns) carries its emulator's identity.
29
+ *
30
+ * Why the environment and not the process tree. MEASURED 2026-08-25 on the live
31
+ * host: macOS fixes RESPONSIBILITY at spawn and it sticks — through
32
+ * daemonization, through re-parenting to launchd, even past the responsible
33
+ * app's own exit. A tmux server whose parent is launchd is still attributed to
34
+ * the terminal app that first started it, and every pane shell under it
35
+ * inherits that attribution. The inherited `__CFBundleIdentifier` says the same
36
+ * thing, because it too is copied down from the process that first spawned the
37
+ * server. A PPID WALK would not: inside tmux it tops out at launchd and names
38
+ * nothing. Nothing here walks the process tree, and nothing should — the
39
+ * kernel's own answer (`responsibility_get_pid_responsible_for_pid`) is private
40
+ * API and is deliberately not used.
29
41
  */
30
42
  export declare function hostApp(deps?: HostAccessDeps): HostApp;
31
43
  /**
@@ -72,6 +72,18 @@ function lookupAppNameDefault(bundleId) {
72
72
  * safe on the hot path. `__CFBundleIdentifier` is set by macOS when a process
73
73
  * descends from an app bundle, which is how a terminal's shell (and everything
74
74
  * it spawns) carries its emulator's identity.
75
+ *
76
+ * Why the environment and not the process tree. MEASURED 2026-08-25 on the live
77
+ * host: macOS fixes RESPONSIBILITY at spawn and it sticks — through
78
+ * daemonization, through re-parenting to launchd, even past the responsible
79
+ * app's own exit. A tmux server whose parent is launchd is still attributed to
80
+ * the terminal app that first started it, and every pane shell under it
81
+ * inherits that attribution. The inherited `__CFBundleIdentifier` says the same
82
+ * thing, because it too is copied down from the process that first spawned the
83
+ * server. A PPID WALK would not: inside tmux it tops out at launchd and names
84
+ * nothing. Nothing here walks the process tree, and nothing should — the
85
+ * kernel's own answer (`responsibility_get_pid_responsible_for_pid`) is private
86
+ * API and is deliberately not used.
75
87
  */
76
88
  export function hostApp(deps = {}) {
77
89
  const env = deps.env ?? process.env;
@@ -1 +1 @@
1
- {"version":3,"file":"host-access.js","sourceRoot":"","sources":["../src/host-access.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"host-access.js","sourceRoot":"","sources":["../src/host-access.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -106,12 +106,12 @@ export { BOUNCE_MAX_ITEMS } from "./write/reorder.ts";
106
106
  export type { AddRepeatingRuleFields, MonthlyAnchor, ProjectAddRepeatingParams, RepeatEnds, RepeatFrequency, RepeatRuleParams, TodoAddRepeatingParams, Weekday, WeekdayOrdinal, YearlyAnchor, } from "./write/operations.ts";
107
107
  export { shortcutProxies } from "./diagnose.ts";
108
108
  export type { ShortcutsState } from "./write/availability.ts";
109
- export { fdaGranted, hostApp, hostDisplayName, readAllowed, readCapability, ReadCapabilityError, resetCapabilityForTests, tccDbPath, uiAllowed, uiCapability, UiCapabilityError, UI_DIRECT_ESCAPE_ENV, writeAllowed, writeCapability, WriteCapabilityError, THINGS_BUNDLE_ID, } from "./capability.ts";
110
- export type { Capability, CapabilityDeps, FdaVerdict, HostApp, ReadCapability, ReadCapabilityMode, UiCapability, UiCapabilityMode, WriteCapability, WriteCapabilityMode, } from "./capability.ts";
109
+ export { fdaGranted, hostApp, hostDisplayName, readAllowed, readCapability, ReadCapabilityError, resetCapabilityForTests, tccDbPath, uiAllowed, uiCapability, UiCapabilityError, UI_DIRECT_ESCAPE_ENV, urlSchemeAllowed, urlSchemeCapability, UrlSchemeCapabilityError, writeAllowed, writeCapability, WriteCapabilityError, WRITE_DIRECT_ESCAPE_ENV, THINGS_BUNDLE_ID, } from "./capability.ts";
110
+ export type { Capability, CapabilityDeps, FdaVerdict, HostApp, ReadCapability, ReadCapabilityMode, UiCapability, UiCapabilityMode, UrlSchemeCapability, UrlSchemeCapabilityMode, WriteCapability, WriteCapabilityMode, } from "./capability.ts";
111
111
  export type { HostAccessDeps } from "./host-access.ts";
112
112
  export { clearSessionGrant, sessionGrantPath, sessionGrantValid, witnessSessionGrant, } from "./session-grant.ts";
113
113
  export type { SessionGrantDeps, SessionGrantMarker, SessionGrantVerdict } from "./session-grant.ts";
114
- export { directSetup, surveySetup } from "./direct-setup.ts";
114
+ export { ContainerOpenTimedOut, directSetup, surveySetup } from "./direct-setup.ts";
115
115
  export { CeremonyStopped, createWizard, withDefaultInterrupts } from "./wizard.ts";
116
116
  export type { Wizard, WizardDeps } from "./wizard.ts";
117
117
  export type { DirectSetupDeps, DirectSetupResult, SetupLeg, SetupState, SetupStep, SetupSurvey, } from "./direct-setup.ts";
package/dist/index.js CHANGED
@@ -94,9 +94,9 @@ export { BOUNCE_MAX_ITEMS } from "./write/reorder.js";
94
94
  export { shortcutProxies } from "./diagnose.js";
95
95
  // Prompt-free capability detection and the direct-path ceremony
96
96
  // (docs/design/permissions-doctrine.md).
97
- export { fdaGranted, hostApp, hostDisplayName, readAllowed, readCapability, ReadCapabilityError, resetCapabilityForTests, tccDbPath, uiAllowed, uiCapability, UiCapabilityError, UI_DIRECT_ESCAPE_ENV, writeAllowed, writeCapability, WriteCapabilityError, THINGS_BUNDLE_ID, } from "./capability.js";
97
+ export { fdaGranted, hostApp, hostDisplayName, readAllowed, readCapability, ReadCapabilityError, resetCapabilityForTests, tccDbPath, uiAllowed, uiCapability, UiCapabilityError, UI_DIRECT_ESCAPE_ENV, urlSchemeAllowed, urlSchemeCapability, UrlSchemeCapabilityError, writeAllowed, writeCapability, WriteCapabilityError, WRITE_DIRECT_ESCAPE_ENV, THINGS_BUNDLE_ID, } from "./capability.js";
98
98
  export { clearSessionGrant, sessionGrantPath, sessionGrantValid, witnessSessionGrant, } from "./session-grant.js";
99
- export { directSetup, surveySetup } from "./direct-setup.js";
99
+ export { ContainerOpenTimedOut, directSetup, surveySetup } from "./direct-setup.js";
100
100
  export { CeremonyStopped, createWizard, withDefaultInterrupts } from "./wizard.js";
101
101
  // Dev-mode step-timeline trace (TRACE1, #487): the CLI write driver installs a
102
102
  // file sink (isDevVersion / config-forced) and the signal handler reads the
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAmBzC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAM9D,OAAO,EACL,wBAAwB,EACxB,0BAA0B,EAC1B,eAAe,GAChB,MAAM,wBAAwB,CAAC;AAOhC,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAE5D,+EAA+E;AAC/E,+EAA+E;AAC/E,uEAAuE;AACvE,OAAO,EACL,qBAAqB,EACrB,gBAAgB,EAChB,aAAa,EACb,YAAY,EACZ,uBAAuB,GACxB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AA6BtF,8EAA8E;AAC9E,gEAAgE;AAChE,mDAAmD;AACnD,OAAO,EACL,eAAe,EACf,cAAc,EACd,eAAe,EACf,eAAe,EACf,gBAAgB,GACjB,MAAM,2BAA2B,CAAC;AAoCnC,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,iFAAiF;AACjF,8EAA8E;AAC9E,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AASlG,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAQ/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AASpF,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAoB9D,OAAO,EACL,kBAAkB,EAClB,eAAe,EACf,YAAY,EACZ,eAAe,GAChB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AASvE,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EACrB,mBAAmB,GACpB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAE9D,iFAAiF;AACjF,yEAAyE;AACzE,OAAO,EACL,UAAU,EACV,iBAAiB,EACjB,kBAAkB,EAClB,SAAS,EACT,qBAAqB,GACtB,MAAM,uBAAuB,CAAC;AAM/B,gFAAgF;AAChF,+EAA+E;AAC/E,uEAAuE;AACvE,OAAO,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAC7D,gFAAgF;AAChF,4EAA4E;AAC5E,oDAAoD;AACpD,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAG9D,iFAAiF;AACjF,wEAAwE;AACxE,kCAAkC;AAClC,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAGvD,kEAAkE;AAClE,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAGzF,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAEvD,yEAAyE;AACzE,+DAA+D;AAC/D,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,WAAW,EACX,uBAAuB,EACvB,uBAAuB,EACvB,aAAa,EACb,uBAAuB,EACvB,cAAc,EACd,cAAc,EACd,eAAe,EACf,cAAc,EACd,gBAAgB,GACjB,MAAM,qBAAqB,CAAC;AAoB7B,OAAO,EACL,yBAAyB,EACzB,wBAAwB,EACxB,iBAAiB,EACjB,0BAA0B,EAC1B,sBAAsB,GACvB,MAAM,sBAAsB,CAAC;AAM9B,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEnF,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EACL,oBAAoB,EACpB,0BAA0B,EAC1B,iBAAiB,EACjB,oBAAoB,GACrB,MAAM,qBAAqB,CAAC;AAI7B,OAAO,EACL,iBAAiB,EACjB,WAAW,EACX,WAAW,EACX,aAAa,EACb,QAAQ,EACR,gBAAgB,EAChB,UAAU,EACV,WAAW,EACX,gBAAgB,GACjB,MAAM,gBAAgB,CAAC;AAaxB,8EAA8E;AAC9E,4EAA4E;AAC5E,4EAA4E;AAC5E,2EAA2E;AAC3E,8EAA8E;AAE9E,2EAA2E;AAC3E,cAAc,mBAAmB,CAAC;AAElC,yDAAyD;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EACL,gBAAgB,EAChB,qBAAqB,EACrB,oBAAoB,EACpB,iBAAiB,EACjB,uBAAuB,GACxB,MAAM,iBAAiB,CAAC;AACzB,iFAAiF;AACjF,2EAA2E;AAC3E,4DAA4D;AAC5D,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACrE,+EAA+E;AAC/E,8EAA8E;AAC9E,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAIvD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,4EAA4E;AAC5E,+EAA+E;AAC/E,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAG7E,OAAO,EAAE,uBAAuB,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAEjF,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAMnF,0DAA0D;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AActD,4EAA4E;AAC5E,mEAAmE;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAGhD,gEAAgE;AAChE,yCAAyC;AACzC,OAAO,EACL,UAAU,EACV,OAAO,EACP,eAAe,EACf,WAAW,EACX,cAAc,EACd,mBAAmB,EACnB,uBAAuB,EACvB,SAAS,EACT,SAAS,EACT,YAAY,EACZ,iBAAiB,EACjB,oBAAoB,EACpB,YAAY,EACZ,eAAe,EACf,oBAAoB,EACpB,gBAAgB,GACjB,MAAM,iBAAiB,CAAC;AAczB,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAWnF,+EAA+E;AAC/E,4EAA4E;AAC5E,4EAA4E;AAC5E,iFAAiF;AACjF,mEAAmE;AACnE,OAAO,EACL,aAAa,EACb,WAAW,EACX,eAAe,EACf,mBAAmB,EACnB,YAAY,EACZ,KAAK,EACL,WAAW,EACX,SAAS,GACV,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAWtC,MAAM,UAAU,aAAa;IAC3B,OAAO,MAAM,CAAC,iBAAiB,CAAC,CAAC;AACnC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}