tapline-host 1.6.2 → 1.7.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.
Files changed (108) hide show
  1. package/dist/accounts.d.ts +129 -12
  2. package/dist/accounts.js +844 -75
  3. package/dist/accounts.js.map +1 -1
  4. package/dist/actionlog.d.ts +11 -4
  5. package/dist/actionlog.js +22 -1
  6. package/dist/actionlog.js.map +1 -1
  7. package/dist/animations.d.ts +4 -2
  8. package/dist/animations.js +7 -7
  9. package/dist/animations.js.map +1 -1
  10. package/dist/api.d.ts +7 -1
  11. package/dist/api.js +12 -1
  12. package/dist/api.js.map +1 -1
  13. package/dist/audit.d.ts +1 -0
  14. package/dist/auditlog.d.ts +40 -0
  15. package/dist/auditlog.js +150 -0
  16. package/dist/auditlog.js.map +1 -0
  17. package/dist/cli.d.ts +8 -0
  18. package/dist/cli.js +143 -7
  19. package/dist/cli.js.map +1 -1
  20. package/dist/control.d.ts +51 -0
  21. package/dist/control.js +110 -0
  22. package/dist/control.js.map +1 -1
  23. package/dist/doctor.d.ts +6 -0
  24. package/dist/doctor.js +61 -4
  25. package/dist/doctor.js.map +1 -1
  26. package/dist/drive.d.ts +5 -2
  27. package/dist/drive.js +50 -13
  28. package/dist/drive.js.map +1 -1
  29. package/dist/elicit.d.ts +47 -0
  30. package/dist/elicit.js +87 -0
  31. package/dist/elicit.js.map +1 -1
  32. package/dist/format.d.ts +6 -0
  33. package/dist/format.js +25 -4
  34. package/dist/format.js.map +1 -1
  35. package/dist/grants.d.ts +297 -0
  36. package/dist/grants.js +938 -0
  37. package/dist/grants.js.map +1 -0
  38. package/dist/grantscmd.d.ts +34 -0
  39. package/dist/grantscmd.js +100 -0
  40. package/dist/grantscmd.js.map +1 -0
  41. package/dist/hostfacts.d.ts +23 -0
  42. package/dist/hostfacts.js +65 -0
  43. package/dist/hostfacts.js.map +1 -0
  44. package/dist/inspect.d.ts +3 -2
  45. package/dist/inspect.js +20 -8
  46. package/dist/inspect.js.map +1 -1
  47. package/dist/mapcmd.d.ts +2 -2
  48. package/dist/mcp.js +1 -1
  49. package/dist/nochange.d.ts +1 -0
  50. package/dist/otpclient.d.ts +79 -0
  51. package/dist/otpclient.js +362 -0
  52. package/dist/otpclient.js.map +1 -0
  53. package/dist/pidlock.d.ts +99 -0
  54. package/dist/pidlock.js +382 -0
  55. package/dist/pidlock.js.map +1 -0
  56. package/dist/places.d.ts +11 -0
  57. package/dist/places.js +28 -2
  58. package/dist/places.js.map +1 -1
  59. package/dist/policy.d.ts +2 -1
  60. package/dist/policy.js +5 -2
  61. package/dist/policy.js.map +1 -1
  62. package/dist/protocol.d.ts +4 -0
  63. package/dist/protocol.js +2 -0
  64. package/dist/protocol.js.map +1 -1
  65. package/dist/report.d.ts +8 -0
  66. package/dist/report.js +34 -1
  67. package/dist/report.js.map +1 -1
  68. package/dist/routes.d.ts +1 -1
  69. package/dist/routes.js +27 -11
  70. package/dist/routes.js.map +1 -1
  71. package/dist/runschedule.d.ts +119 -0
  72. package/dist/runschedule.js +281 -0
  73. package/dist/runschedule.js.map +1 -0
  74. package/dist/runtime.d.ts +48 -1
  75. package/dist/runtime.js +214 -18
  76. package/dist/runtime.js.map +1 -1
  77. package/dist/schedule.d.ts +145 -0
  78. package/dist/schedule.js +401 -0
  79. package/dist/schedule.js.map +1 -0
  80. package/dist/schedulehost.d.ts +73 -0
  81. package/dist/schedulehost.js +391 -0
  82. package/dist/schedulehost.js.map +1 -0
  83. package/dist/script.d.ts +2 -0
  84. package/dist/script.js +2 -0
  85. package/dist/script.js.map +1 -1
  86. package/dist/server.d.ts +6 -0
  87. package/dist/server.js +3 -1
  88. package/dist/server.js.map +1 -1
  89. package/dist/thincall.d.ts +13 -0
  90. package/dist/thincall.js +139 -59
  91. package/dist/thincall.js.map +1 -1
  92. package/dist/tool-text-data.d.ts +1 -1
  93. package/dist/tool-text-data.js +1 -1
  94. package/dist/tool-text-data.js.map +1 -1
  95. package/dist/tool-text.d.ts +1 -1
  96. package/dist/tools.d.ts +116 -6
  97. package/dist/tools.js +758 -134
  98. package/dist/tools.js.map +1 -1
  99. package/dist/unlockcmd.d.ts +44 -0
  100. package/dist/unlockcmd.js +80 -0
  101. package/dist/unlockcmd.js.map +1 -0
  102. package/dist/uxcheck.d.ts +1 -0
  103. package/dist/vault.d.ts +75 -0
  104. package/dist/vault.js +395 -0
  105. package/dist/vault.js.map +1 -0
  106. package/package.json +1 -1
  107. package/skills/tapline/SKILL.md +34 -6
  108. package/skills/tapline/references/setup.md +11 -1
@@ -0,0 +1,391 @@
1
+ import { spawn } from "node:child_process";
2
+ import { fileURLToPath } from "node:url";
3
+ import { dirname, join } from "node:path";
4
+ import { readFileSync } from "node:fs";
5
+ import { configDir, tokenFilePath } from "./config.js";
6
+ import { loadAccounts } from "./accounts.js";
7
+ import { loadPolicy } from "./policy.js";
8
+ import { callTool, isToolName } from "./dispatch.js";
9
+ import { bounded, isBusyAnswer, ScheduleTimeout, VAULT_LOAD_TIMEOUT_MS } from "./runschedule.js";
10
+ import { canonicalPath, createRuntime, HOST_FACTS_TOOL, LEASE_TOOL, LEASE_TTL_MS } from "./runtime.js";
11
+ import { runThinCall } from "./thincall.js";
12
+ import { hashMapsOnDisk, policyFingerprint } from "./hostfacts.js";
13
+ /**
14
+ * The real hosts behind `tapline run-schedule` (AGENT-TOOLS 1.14 §22.2): a `tapline host` that is already running with the app
15
+ * connected (reached by the thin call, with its own policy and vault), else a host of its own that takes the schedule's
16
+ * policy, accounts and maps. Not tested against a phone; runschedule.ts is tested with a fake host.
17
+ */
18
+ /** The real `schtasks`/PowerShell runner: a program and its arguments, never a shell line; `env` adds to this process's. */
19
+ export const spawnSchedRunner = (command, args, env) => new Promise((resolve) => {
20
+ const child = spawn(command, args, { env: { ...process.env, ...env }, windowsHide: true, stdio: ["ignore", "pipe", "pipe"] });
21
+ const out = [];
22
+ const err = [];
23
+ child.stdout.on("data", (b) => out.push(b));
24
+ child.stderr.on("data", (b) => err.push(b));
25
+ child.on("error", (error) => resolve({ code: 1, stdout: "", stderr: error.message }));
26
+ child.on("close", (code) => resolve({ code: code ?? 1, stdout: Buffer.concat(out).toString("utf8"), stderr: Buffer.concat(err).toString("utf8") }));
27
+ });
28
+ /** What the Task Scheduler runs: this node, and the `tapline` entry (bin.js) that sits next to cli.js. */
29
+ export function realTaskEntry() {
30
+ return { exe: process.execPath, script: join(dirname(fileURLToPath(import.meta.url)), "bin.js") };
31
+ }
32
+ const sleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms));
33
+ function thinIO(env, pin, signal, onHost) {
34
+ const ports = [];
35
+ for (let port = 7210; port <= 7219; port++)
36
+ ports.push(port);
37
+ const out = [];
38
+ return {
39
+ out,
40
+ io: { out: (t) => void out.push(t), err: () => undefined, env, ppid: process.pid, ports, address: "127.0.0.1", onHost, ...(pin !== undefined ? { pin } : {}), ...(signal !== undefined ? { signal } : {}) },
41
+ };
42
+ }
43
+ /** One thin call to a running host: `null` when none could be reached (exit 3). A pinned call goes to its port only. */
44
+ async function thinCall(env, client, tool, args, pin, signal) {
45
+ let port;
46
+ const { io, out } = thinIO(env, pin, signal, (p) => void (port = p));
47
+ const code = await runThinCall([tool, JSON.stringify(args), "--client", client, "--json"], io);
48
+ if (code === 3)
49
+ return null;
50
+ try {
51
+ const parsed = JSON.parse(out.join(""));
52
+ if (typeof parsed.text === "string")
53
+ return { text: parsed.text, isError: code !== 0, ...(port !== undefined ? { port } : {}) };
54
+ }
55
+ catch {
56
+ // a refusal or an unknown outcome has no answer
57
+ }
58
+ return { text: code === 1 ? "Error unknown_outcome: the call was sent but no answer came back." : "Error bad_params: the host refused the call.", isError: true, ...(port !== undefined ? { port } : {}) };
59
+ }
60
+ const HEX = /^[0-9a-f]{16,128}$/;
61
+ function asFacts(text) {
62
+ try {
63
+ const raw = JSON.parse(text);
64
+ if (typeof raw !== "object" || raw === null)
65
+ return null;
66
+ const { version, instance, policy, noPolicy, accounts, maps, policyHash, accountsHash, mapsHash } = raw;
67
+ if (version !== 3 || typeof instance !== "string" || !HEX.test(instance) || typeof noPolicy !== "boolean" || typeof maps !== "string" || typeof mapsHash !== "string")
68
+ return null;
69
+ if ((policy !== null && typeof policy !== "string") || (accounts !== null && typeof accounts !== "string"))
70
+ return null;
71
+ if ((policyHash !== null && typeof policyHash !== "string") || (accountsHash !== null && typeof accountsHash !== "string"))
72
+ return null;
73
+ return { version: 3, instance, policy, noPolicy, accounts, maps, policyHash, accountsHash, mapsHash };
74
+ }
75
+ catch {
76
+ return null;
77
+ }
78
+ }
79
+ /** The hasher of the real files. The vault's hash is an HMAC under the host token this computer holds (the thin call's own token). */
80
+ export function factHasher(env = process.env, vaultDeps, gitProbe) {
81
+ return {
82
+ policy(path) {
83
+ try {
84
+ return policyFingerprint(loadPolicy(path));
85
+ }
86
+ catch {
87
+ return null;
88
+ }
89
+ },
90
+ async accounts(path, signal) {
91
+ try {
92
+ const token = readFileSync(tokenFilePath(env), "utf8").trim();
93
+ if (token === "")
94
+ return null;
95
+ const loaded = await loadAccounts(path, gitProbe, vaultDeps, signal);
96
+ return loaded.store === null || loaded.fingerprint === undefined ? null : loaded.fingerprint(token);
97
+ }
98
+ catch {
99
+ return null;
100
+ }
101
+ },
102
+ maps: hashMapsOnDisk,
103
+ };
104
+ }
105
+ /**
106
+ * Why a running host can't carry this schedule, or null when it can (fail closed): the policy must be on and the same file as the
107
+ * schedule's (both the built-in policy when the schedule names none), the accounts file and the maps folder the same, and what the host
108
+ * LOADED must be what this run would load now: asked, the host reloads first, and a block word or a permission changed since is in its hashes.
109
+ */
110
+ export async function factsMismatch(schedule, facts, env = process.env, hasher = factHasher(env), signal) {
111
+ if (facts === null)
112
+ return "its policy, accounts and maps can't be read";
113
+ if (facts.noPolicy)
114
+ return "it runs with --no-policy";
115
+ const same = (wanted, had) => (wanted === null ? had === null : had !== null && canonicalPath(wanted) === had);
116
+ if (!same(schedule.policy, facts.policy))
117
+ return "it runs with another policy";
118
+ if (!same(schedule.accounts, facts.accounts))
119
+ return "it runs with other accounts";
120
+ const maps = schedule.maps ?? join(configDir(env), "maps");
121
+ if (canonicalPath(maps) !== facts.maps)
122
+ return "it keeps its maps in another folder";
123
+ if (schedule.policy !== null) {
124
+ const now = hasher.policy(schedule.policy);
125
+ if (now === null || facts.policyHash === null || now !== facts.policyHash)
126
+ return "the policy the host holds is not the one in the file";
127
+ }
128
+ if (schedule.accounts !== null) {
129
+ const now = await hasher.accounts(schedule.accounts, signal);
130
+ if (now === null || facts.accountsHash === null || now !== facts.accountsHash)
131
+ return "the vault the host holds is not the one the accounts file gives";
132
+ }
133
+ if (hasher.maps(maps) !== facts.mapsHash)
134
+ return "the maps the host holds are not the ones on disk";
135
+ return null;
136
+ }
137
+ /** Every reach of the control lease and the facts goes through this. */
138
+ const LEASE_RENEW_MS = 15_000;
139
+ /** A lease call that hasn't answered by then is cut off (a renewal that can't succeed before the lease runs out stops the run). */
140
+ export const LEASE_CALL_TIMEOUT_MS = 10_000;
141
+ /** Looking for a running host (the first scan of the ports) and each later check that the app is connected. */
142
+ export const DISCOVERY_TIMEOUT_MS = 30_000;
143
+ /** The running host's facts (its policy, accounts and maps, reloaded when asked). */
144
+ export const FACTS_TIMEOUT_MS = 30_000;
145
+ export { VAULT_LOAD_TIMEOUT_MS };
146
+ /** Starting a host of its own (the runtime and its listener). */
147
+ export const OWN_HOST_SETUP_TIMEOUT_MS = 30_000;
148
+ /**
149
+ * One route call (a `replay` or a `drive`): a saved route is minutes at most; one that hasn't ended in 30 minutes is cut off, the run
150
+ * fails with `timeout`, and the lease is given back.
151
+ */
152
+ export const ROUTE_CALL_TIMEOUT_MS = 30 * 60_000;
153
+ /** What a run reports when the phone was taken from it mid-run (§22.3: nothing further is run). */
154
+ export const LOST_TEXT = "Error lease_lost: the run lost the phone (the host's lease was not renewed, or the host changed); no further step was run.";
155
+ /**
156
+ * A running `tapline host` the app is connected to: used only when its settings match the schedule's (`mismatch` says what
157
+ * differs when they don't). The run pins the host it checked (its port and instance id) and sends them with every later call, so
158
+ * a call can never reach another host with other settings; it holds the host's lease, by the credential the host gave it, while
159
+ * it drives. A renewal that fails, or a lease that is lost, stops the run before its next step.
160
+ */
161
+ async function runningHost(env, client, schedule, thin, hasher) {
162
+ // Every wait here is bounded: a host that accepts and never answers fails the run with its reason instead of holding the run lock.
163
+ const first = await bounded("the search for a running host", DISCOVERY_TIMEOUT_MS, (signal) => thin(env, client, "apps", {}, undefined, signal));
164
+ if (first === null)
165
+ return { host: null, mismatch: null };
166
+ if (first.port === undefined)
167
+ return { host: null, mismatch: "the host's port can't be told" };
168
+ const port = first.port;
169
+ const asked = await bounded("the host's facts", FACTS_TIMEOUT_MS, (signal) => thin(env, client, HOST_FACTS_TOOL, {}, { port }, signal));
170
+ const facts = asked === null || asked.isError ? null : asFacts(asked.text);
171
+ const mismatch = await bounded("loading the vault", VAULT_LOAD_TIMEOUT_MS, (signal) => factsMismatch(schedule, facts, env, hasher, signal));
172
+ if (mismatch !== null || facts === null)
173
+ return { host: null, mismatch: mismatch ?? "its policy, accounts and maps can't be read" };
174
+ const instance = facts.instance;
175
+ let credential;
176
+ const pinned = () => ({ port, instance, ...(credential !== undefined ? { lease: credential } : {}) });
177
+ // When the host's lease runs out at the latest, by this computer's clock counted from when the last acquire or renewal was SENT
178
+ // (the host's own term began after that, so this is never later than the host's).
179
+ let goodUntil = 0;
180
+ let expiry;
181
+ const lease = async (action) => {
182
+ const sentAt = Date.now();
183
+ // A renewal gets at most LEASE_CALL_TIMEOUT_MS and never more than what is left of the lease.
184
+ const room = action === "renew" ? Math.min(LEASE_CALL_TIMEOUT_MS, goodUntil - sentAt) : LEASE_CALL_TIMEOUT_MS;
185
+ if (room <= 0)
186
+ return false;
187
+ let answer;
188
+ const sentPin = pinned();
189
+ try {
190
+ answer = await bounded(`the lease ${action}`, room, (signal) => thin(env, client, LEASE_TOOL, { action, ttl_ms: LEASE_TTL_MS }, sentPin, signal));
191
+ }
192
+ catch (error) {
193
+ // An acquire that never answers fails the run with its reason (the host's lease runs out by itself); a renewal or a release that
194
+ // doesn't answer is a lost or unconfirmed lease, handled by its caller.
195
+ if (error instanceof ScheduleTimeout && action === "acquire")
196
+ throw error;
197
+ return false;
198
+ }
199
+ if (answer === null || answer.isError)
200
+ return false;
201
+ try {
202
+ const body = JSON.parse(answer.text);
203
+ if (body.ok !== true)
204
+ return false;
205
+ if (action === "acquire" && typeof body.credential === "string" && HEX.test(body.credential))
206
+ credential = body.credential;
207
+ if (action === "acquire" && credential === undefined)
208
+ return false;
209
+ if (action !== "release") {
210
+ if (Date.now() >= sentAt + LEASE_TTL_MS)
211
+ return false; // answered too late to count
212
+ goodUntil = sentAt + LEASE_TTL_MS;
213
+ if (expiry !== undefined)
214
+ clearTimeout(expiry);
215
+ expiry = setTimeout(() => lose(), LEASE_TTL_MS);
216
+ expiry.unref();
217
+ }
218
+ return true;
219
+ }
220
+ catch {
221
+ return false;
222
+ }
223
+ };
224
+ let held = false;
225
+ let lost = false;
226
+ let beat;
227
+ let inflight;
228
+ const stopBeat = () => {
229
+ if (beat !== undefined)
230
+ clearInterval(beat);
231
+ beat = undefined;
232
+ if (expiry !== undefined)
233
+ clearTimeout(expiry);
234
+ expiry = undefined;
235
+ };
236
+ const drop = async () => {
237
+ stopBeat();
238
+ if (!held)
239
+ return;
240
+ held = false;
241
+ await lease("release");
242
+ credential = undefined;
243
+ };
244
+ // A renewal that fails means the run no longer holds the phone: the call in flight is cut off (the host stops it before its next
245
+ // step) and every later call answers that the run lost the phone.
246
+ const lose = () => {
247
+ if (lost)
248
+ return;
249
+ lost = true;
250
+ stopBeat();
251
+ inflight?.abort();
252
+ };
253
+ const renew = async () => {
254
+ if (lost || !held)
255
+ return;
256
+ if (!(await lease("renew")))
257
+ lose();
258
+ };
259
+ return {
260
+ host: {
261
+ via: "a running host",
262
+ appOpen: async (waitMs) => {
263
+ const until = Date.now() + waitMs;
264
+ for (;;) {
265
+ const answer = await bounded("asking the host which apps are connected", DISCOVERY_TIMEOUT_MS, (signal) => thin(env, client, "apps", {}, pinned(), signal));
266
+ if (answer !== null && answer.text.startsWith("Connected apps:"))
267
+ return true;
268
+ if (Date.now() >= until)
269
+ return false;
270
+ await sleep(1000);
271
+ }
272
+ },
273
+ // In use while another agent or a person is on the phone: the run holds the host's lease from the moment it gets it.
274
+ inUse: async () => {
275
+ if (held)
276
+ return false;
277
+ held = await lease("acquire");
278
+ if (held) {
279
+ beat = setInterval(() => void renew(), LEASE_RENEW_MS);
280
+ beat.unref();
281
+ }
282
+ return !held;
283
+ },
284
+ call: async (tool, args) => {
285
+ // The lease is checked right before the call goes out: one whose term has run out sends nothing.
286
+ if (held && !lost && Date.now() >= goodUntil)
287
+ lose();
288
+ if (lost)
289
+ return { text: LOST_TEXT, isError: true };
290
+ const mine = new AbortController();
291
+ inflight = mine;
292
+ let answer;
293
+ try {
294
+ // The route's own limit: a call that hasn't ended in ROUTE_CALL_TIMEOUT_MS is cut off, and the run fails with `timeout`.
295
+ const sentPin = pinned();
296
+ answer = (await bounded("the route call", ROUTE_CALL_TIMEOUT_MS, (signal) => thin(env, client, tool, args, sentPin, signal), mine.signal)) ?? {
297
+ text: "Error not_connected: the running host went away.",
298
+ isError: true,
299
+ };
300
+ }
301
+ catch (error) {
302
+ if (!(error instanceof ScheduleTimeout))
303
+ throw error;
304
+ stopBeat();
305
+ answer = { text: `Error timeout: ${error.message}; the call was cut off and the lease is given back.`, isError: true };
306
+ }
307
+ finally {
308
+ if (inflight === mine)
309
+ inflight = undefined;
310
+ }
311
+ // Another host answered at this port, or the lease went while the call ran: the run stops here, whatever the call said.
312
+ if (lost || /^Error wrong_host:/.test(answer.text)) {
313
+ lose();
314
+ return { text: LOST_TEXT, isError: true };
315
+ }
316
+ // A person came back: give the phone up while the run waits, so other agents aren't held out for minutes.
317
+ if (isBusyAnswer(answer))
318
+ await drop();
319
+ return { text: answer.text, isError: answer.isError };
320
+ },
321
+ close: async () => {
322
+ stopBeat();
323
+ await drop();
324
+ },
325
+ },
326
+ };
327
+ }
328
+ async function ownHost(schedule, name, env, closedNote) {
329
+ const runtime = await bounded("starting a host of its own", OWN_HOST_SETUP_TIMEOUT_MS, () => createRuntime({
330
+ env,
331
+ screenshots: "file",
332
+ ...(schedule.policy !== null ? { policy: schedule.policy } : {}),
333
+ ...(schedule.accounts !== null ? { accounts: schedule.accounts } : {}),
334
+ ...(schedule.maps !== null ? { maps: schedule.maps } : {}),
335
+ log: () => undefined,
336
+ }));
337
+ const tools = runtime.toolsFor(`schedule-${name}`);
338
+ return {
339
+ via: "its own host",
340
+ ...(closedNote !== undefined ? { closedNote } : {}),
341
+ appOpen: async (waitMs) => {
342
+ const until = Date.now() + waitMs;
343
+ while (runtime.host.current() === undefined && Date.now() < until)
344
+ await sleep(250);
345
+ return runtime.host.current() !== undefined;
346
+ },
347
+ inUse: () => runtime.phoneInUse(),
348
+ call: async (tool, args) => {
349
+ if (!isToolName(tool))
350
+ return { text: `Error bad_params: no tool ${tool}.`, isError: true };
351
+ try {
352
+ const result = await bounded("the route call", ROUTE_CALL_TIMEOUT_MS, (signal) => tools.withCall(signal, () => callTool(tools, tool, args)));
353
+ return { text: result.content.map((block) => (block.type === "text" ? block.text : "")).join("\n"), isError: result.isError === true };
354
+ }
355
+ catch (error) {
356
+ if (!(error instanceof ScheduleTimeout))
357
+ throw error;
358
+ return { text: `Error timeout: ${error.message}; the call was cut off.`, isError: true };
359
+ }
360
+ },
361
+ close: () => runtime.close(),
362
+ };
363
+ }
364
+ /**
365
+ * A host the app is connected to: a running one whose policy, accounts and maps are the schedule's; else one of its own that takes
366
+ * the schedule's files. A running host that differs (or can't say) is never used: the run starts its own, and when the app
367
+ * doesn't connect to it the run skips and says the running host differed.
368
+ */
369
+ export async function connectScheduleHost(schedule, name, env = process.env, deps = {}) {
370
+ const running = await runningHost(env, `schedule-${name}`, schedule, deps.thin ?? thinCall, deps.hasher ?? factHasher(env));
371
+ if (running.host !== null)
372
+ return running.host;
373
+ const own = deps.own ?? ownHost;
374
+ return running.mismatch === null ? await own(schedule, name, env) : await own(schedule, name, env, `the running host differs from the schedule: ${running.mismatch}`);
375
+ }
376
+ /** The vault's redaction for a schedule's report: the accounts file the schedule names, else nothing to scrub. */
377
+ export async function redactorFor(schedule, signal) {
378
+ if (schedule.accounts === null)
379
+ return (text) => text;
380
+ try {
381
+ const loaded = await loadAccounts(schedule.accounts, undefined, undefined, signal);
382
+ return loaded.store === null ? (text) => text : (text) => loaded.store.redact(text);
383
+ }
384
+ catch (error) {
385
+ // A load that was cut off is not "no vault": the caller fails the run instead of going on with a scrubber that hides nothing.
386
+ if (signal?.aborted === true)
387
+ throw error;
388
+ return (text) => text;
389
+ }
390
+ }
391
+ //# sourceMappingURL=schedulehost.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schedulehost.js","sourceRoot":"","sources":["../src/schedulehost.ts"],"names":[],"mappings":"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"}
package/dist/script.d.ts CHANGED
@@ -37,6 +37,7 @@ export declare const sharedScriptV2Schema: z.ZodObject<{
37
37
  start: z.ZodOptional<z.ZodString>;
38
38
  end: z.ZodOptional<z.ZodString>;
39
39
  variables: z.ZodOptional<z.ZodArray<z.ZodString>>;
40
+ draftsOnly: z.ZodOptional<z.ZodBoolean>;
40
41
  format: z.ZodLiteral<"agent-tools-script">;
41
42
  name: z.ZodString;
42
43
  app: z.ZodOptional<z.ZodString>;
@@ -97,6 +98,7 @@ export declare const sharedScriptSchema: z.ZodUnion<readonly [z.ZodObject<{
97
98
  start: z.ZodOptional<z.ZodString>;
98
99
  end: z.ZodOptional<z.ZodString>;
99
100
  variables: z.ZodOptional<z.ZodArray<z.ZodString>>;
101
+ draftsOnly: z.ZodOptional<z.ZodBoolean>;
100
102
  format: z.ZodLiteral<"agent-tools-script">;
101
103
  name: z.ZodString;
102
104
  app: z.ZodOptional<z.ZodString>;
package/dist/script.js CHANGED
@@ -23,6 +23,8 @@ export const sharedScriptV2Schema = z.object({
23
23
  start: z.string().min(1).optional(),
24
24
  end: z.string().min(1).optional(),
25
25
  variables: z.array(variableNameSchema).optional(),
26
+ /** AGENT-TOOLS 1.14 §18.5, §21.3: every touch on a word that reaches other people stops at a draft shown to a person. */
27
+ draftsOnly: z.boolean().optional(),
26
28
  });
27
29
  export const sharedScriptSchema = z.union([sharedScriptV1Schema, sharedScriptV2Schema]);
28
30
  /** Tapline's script before 1.1: the app's methods and their parameters. */
@@ -1 +1 @@
1
- {"version":3,"file":"script.js","sourceRoot":"","sources":["../src/script.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,UAAU,EAAa,MAAM,UAAU,CAAC;AAEjD;;;;;GAKG;AAEH,MAAM,UAAU,GAAG;IACjB,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,oBAAoB,CAAC;IACvC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC1B,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAC7B,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC;CAC3B,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,GAAG,UAAU,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AAEvF,uGAAuG;AACvG,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,gBAAgB,EAAE,8CAA8C,CAAC,CAAC;AAErH,6GAA6G;AAC7G,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,GAAG,UAAU;IACb,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IACrB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IACnC,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IACjC,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,QAAQ,EAAE;CAClD,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,oBAAoB,EAAE,oBAAoB,CAAC,CAAC,CAAC;AAKxF,2EAA2E;AAC3E,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IACrB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC;IAC9D,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;IACtB,KAAK,EAAE,CAAC,CAAC,KAAK,CACZ,CAAC,CAAC,MAAM,CAAC;QACP,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;QAClB,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;QACzC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;QACrC,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;KAChC,CAAC,CACH;CACF,CAAC,CAAC;AASH,MAAM,OAAO,GAA2B;IACtC,KAAK,EAAE,KAAK;IACZ,SAAS,EAAE,YAAY;IACvB,IAAI,EAAE,WAAW;IACjB,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,QAAQ;IAChB,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,OAAO;IACd,OAAO,EAAE,UAAU;IACnB,aAAa,EAAE,gBAAgB;IAC/B,OAAO,EAAE,aAAa;IACtB,OAAO,EAAE,UAAU;IACnB,KAAK,EAAE,MAAM;IACb,WAAW,EAAE,aAAa;CAC3B,CAAC;AAEF,4GAA4G;AAC5G,SAAS,UAAU,CAAC,IAAY;IAC9B,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;AAC5F,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,QAAQ,CAAC,IAAY,EAAE,QAA0B;IAC/D,MAAM,MAAM,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC;IAC7B,gGAAgG;IAChG,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACvC,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;IAChC,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC;AACtE,CAAC;AAED,2DAA2D;AAC3D,SAAS,UAAU,CAAC,MAAe;IACjC,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI;QAAE,OAAO,MAAM,CAAC;IACjE,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,MAAiC,CAAC;IAC9D,OAAO,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AACrE,CAAC;AAED,oFAAoF;AACpF,MAAM,UAAU,UAAU,CAAC,IAAgB;IACzC,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAClC,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IACpC,MAAM,MAAM,GAA4B,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;IAC3D,IAAI,QAAQ,IAAI,MAAM;QAAE,MAAM,CAAC,QAAQ,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;IACxE,IAAI,IAAI,KAAK,UAAU,IAAI,OAAO,MAAM,CAAC,QAAQ,CAAC,KAAK,QAAQ,EAAE,CAAC;QAChE,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;QAChC,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC1B,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAU,CAAC;AAC1H,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,WAAW,CAAC,KAAmB;IAC7C,MAAM,KAAK,GAAW,EAAE,CAAC;IACzB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;QAC9B,IAAI,IAAI,KAAK,IAAI;YAAE,SAAS;QAC5B,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACzC,wIAAwI;QACxI,IACE,IAAI,CAAC,IAAI,KAAK,gBAAgB;YAC9B,QAAQ,KAAK,SAAS;YACtB,CAAC,CAAC,UAAU,EAAE,MAAM,EAAE,gBAAgB,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC;YAC/D,QAAQ,CAAC,MAAM,KAAK,SAAS;YAC5B,IAAgC,CAAC,OAAO,CAAC,KAAK,SAAS,EACxD,CAAC;YACD,MAAM,CAAC,GAAG,IAA+B,CAAC;YAC1C,QAAQ,CAAC,MAAM,GAAG;gBAChB,OAAO,EAAE,CAAC,CAAC,MAAM,CAAW;gBAC5B,GAAG,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC5E,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAmC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACjG,CAAC;YACF,SAAS;QACX,CAAC;QACD,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,CAAC,IAAI,KAAK,UAAU,IAAI,QAAQ,CAAC,IAAI,KAAK,MAAM,IAAI,QAAQ,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YACpJ,MAAM,CAAC,GAAG,IAA+B,CAAC;YAC1C,MAAM,KAAK,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,KAAK,QAAQ,CAAC,CAAC;YAChF,IAAI,KAAK,KAAK,SAAS,IAAI,CAAC,CAAC,cAAc,CAAC,KAAK,IAAI,EAAE,CAAC;gBACtD,QAAQ,CAAC,MAAM,GAAG;oBAChB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,CAAW;oBAC3B,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC7C,GAAG,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBACvE,CAAC;gBACF,SAAS;YACX,CAAC;QACH,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnB,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,MAAoB;IAC7C,OAAO;QACL,MAAM,EAAE,oBAAoB;QAC5B,OAAO,EAAE,CAAC;QACV,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,IAAI,MAAM,CAAC,GAAG,CAAC,IAAI;QACrC,KAAK,EAAE,IAAI;QACX,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC;KACjC,CAAC;AACJ,CAAC;AAED,2EAA2E;AAC3E,MAAM,UAAU,UAAU,CAAC,IAAY;IACrC,IAAI,IAAa,CAAC;IAClB,IAAI,CAAC;QACH,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,MAAM,GAAG,kBAAkB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAClD,IAAI,MAAM,CAAC,OAAO;QAAE,OAAO,MAAM,CAAC,IAAI,CAAC;IACvC,MAAM,MAAM,GAAG,kBAAkB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAClD,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACzD,CAAC;AAED,wEAAwE;AACxE,MAAM,UAAU,OAAO,CAAC,KAAa;IACnC,MAAM,EAAE,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE;QAClC,4CAA4C;QAC5C,MAAM,MAAM,GAAI,IAAgC,CAAC,IAAI,CAAC,IAAI,KAAK,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QACjG,OAAO,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,IAAI,KAAK,IAAI,MAAM,CAAC;IAC1E,CAAC,CAAC,CAAC;IACH,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AAC7B,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,OAAe;IAC7C,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAClC,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,2CAA2C,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,SAAS,CAAC,CAAC;IACpI,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,OAAO,CAAC;IACxD,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,WAAW,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC;IACxD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAAC,OAAe;IAChD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAClC,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,MAAM,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,4BAA4B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACjF,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;QACf,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;QAC7B,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,CAAC;YAC1C,IAAI,CAAC,8CAA8C,CAAC,IAAI,CAAC,IAAI,CAAC;gBAAE,MAAM;YACtE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjB,CAAC;IACH,CAAC;IACD,GAAG,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,yCAAyC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC1F,OAAO,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAChD,CAAC;AAED,yGAAyG;AACzG,MAAM,UAAU,QAAQ,CAAC,OAAyE;IAChG,kHAAkH;IAClH,4CAA4C;IAC5C,MAAM,GAAG,GAAG,CAAC,CAAS,EAAU,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,6CAA6C,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC3L,MAAM,cAAc,GAAG,CAAC,OAAe,EAAY,EAAE;QACnD,MAAM,IAAI,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;QACzC,OAAO,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,qBAAqB,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IAC9E,CAAC,CAAC;IACF,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,MAAM,CAAC;IAClE,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IAC7D,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAC9B,CAAC,CAAC,OAAO,KAAK,IAAI;QAChB,CAAC,CAAC,2CAA2C,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK;QAC5F,CAAC,CAAC;YACE,2CAA2C,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI;YACzF,2BAA2B,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY;YAC7F,GAAG,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC;YAC5B,iBAAiB;SAClB,CAAC,IAAI,CAAC,IAAI,CAAC,CACjB,CAAC;IACF,OAAO;QACL,wCAAwC;QACxC,sBAAsB,OAAO,CAAC,MAAM,eAAe,QAAQ,WAAW,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI;QAC1F,6CAA6C,OAAO,CAAC,MAAM,eAAe,QAAQ,WAAW,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI;QACjH,GAAG,KAAK;QACR,gBAAgB;QAChB,eAAe;QACf,EAAE;KACH,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC"}
1
+ {"version":3,"file":"script.js","sourceRoot":"","sources":["../src/script.ts"],"names":[],"mappings":"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"}
package/dist/server.d.ts CHANGED
@@ -120,6 +120,11 @@ export interface TaplineHostOptions {
120
120
  * it: how test accounts' values stay out of every answer (AGENT-TOOLS 1.13 §18.6).
121
121
  */
122
122
  redact?: (text: string) => string;
123
+ /**
124
+ * Whether `redact` hides vault values (what `redacting` answers). Default: true when `redact` is given. A host that scrubs only
125
+ * one-time codes sets false, so the vault's own handling stays off while no vault is loaded.
126
+ */
127
+ redactsVault?: boolean;
123
128
  }
124
129
  /** The longest touch another tool may announce (`POST /agent-touch`), in milliseconds. */
125
130
  export declare const MAX_AGENT_TOUCH_MS = 10000;
@@ -238,6 +243,7 @@ export declare class TaplineHost extends EventEmitter<HostEvents> {
238
243
  private listenCalled;
239
244
  private closed;
240
245
  private readonly redact;
246
+ private readonly redactsVault;
241
247
  constructor(options: TaplineHostOptions);
242
248
  /**
243
249
  * Another tool on this computer (Tapwright) is about to touch the phone for an agent, for about
package/dist/server.js CHANGED
@@ -185,6 +185,7 @@ export class TaplineHost extends EventEmitter {
185
185
  listenCalled = false;
186
186
  closed = false;
187
187
  redact;
188
+ redactsVault;
188
189
  constructor(options) {
189
190
  super();
190
191
  this.token = options.token;
@@ -199,6 +200,7 @@ export class TaplineHost extends EventEmitter {
199
200
  this.agentTouchSlackMs = options.agentTouchSlackMs ?? 1500;
200
201
  this.api = options.api;
201
202
  this.redact = options.redact;
203
+ this.redactsVault = options.redactsVault ?? true;
202
204
  }
203
205
  /**
204
206
  * Another tool on this computer (Tapwright) is about to touch the phone for an agent, for about
@@ -605,7 +607,7 @@ export class TaplineHost extends EventEmitter {
605
607
  // ---- requests -------------------------------------------------------------
606
608
  /** Whether account values are scrubbed from what the apps send (a test accounts file is loaded). */
607
609
  get redacting() {
608
- return this.redact !== undefined;
610
+ return this.redact !== undefined && this.redactsVault;
609
611
  }
610
612
  /** Scrubs a value (text and property names) the way every answer from an app is; for what an `internal` request gave. */
611
613
  redactOut(value) {