pushary 1.9.125 → 1.9.127

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 (44) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/dist/bin/pushary-bell-hook.js +3 -3
  3. package/dist/bin/pushary-claude.js +2 -2
  4. package/dist/bin/pushary-clean.js +7 -7
  5. package/dist/bin/pushary-codex-hook.js +7 -7
  6. package/dist/bin/pushary-codex.js +1 -1
  7. package/dist/bin/pushary-connect.js +4 -4
  8. package/dist/bin/pushary-daemon.js +73 -11
  9. package/dist/bin/pushary-disconnect.js +4 -4
  10. package/dist/bin/pushary-doctor.js +5 -5
  11. package/dist/bin/pushary-elicitation-hook.js +4 -4
  12. package/dist/bin/pushary-gemini-hook.js +5 -5
  13. package/dist/bin/pushary-hook.js +7 -7
  14. package/dist/bin/pushary-logout.js +5 -5
  15. package/dist/bin/pushary-notification-hook.js +3 -3
  16. package/dist/bin/pushary-opencode-hook.js +5 -5
  17. package/dist/bin/pushary-permission-denied-hook.js +7 -7
  18. package/dist/bin/pushary-permission-hook.js +7 -7
  19. package/dist/bin/pushary-post-hook.js +3 -3
  20. package/dist/bin/pushary-prompt-hook.js +3 -3
  21. package/dist/bin/pushary-session-end-hook.js +3 -3
  22. package/dist/bin/pushary-session-start-hook.js +5 -5
  23. package/dist/bin/pushary-setup.js +7 -7
  24. package/dist/bin/pushary-status.js +4 -4
  25. package/dist/bin/pushary-stop-hook.js +3 -3
  26. package/dist/bin/pushary-stopfailure-hook.js +3 -3
  27. package/dist/bin/pushary-upgrade.js +5 -5
  28. package/dist/{chunk-MIO2IWCZ.js → chunk-4HDFEBPU.js} +2 -2
  29. package/dist/{chunk-ZBKM5V6B.js → chunk-5WF4NBHQ.js} +2 -2
  30. package/dist/{chunk-GM26OJG6.js → chunk-6IL3DQY6.js} +6 -6
  31. package/dist/{chunk-2WGP6QE7.js → chunk-6MFX5NIX.js} +1 -1
  32. package/dist/{chunk-ZAYXOSEP.js → chunk-BLBK7VV7.js} +1 -1
  33. package/dist/{chunk-44SXI642.js → chunk-FN77IVAI.js} +1 -1
  34. package/dist/{chunk-WLC3AX6F.js → chunk-I365OPWV.js} +75 -26
  35. package/dist/{chunk-OJPHNITI.js → chunk-JW6JSBGS.js} +1 -1
  36. package/dist/{chunk-NPAEVCTN.js → chunk-LAPXXS6K.js} +1 -1
  37. package/dist/{chunk-6DG7PKY5.js → chunk-MBSM6GX5.js} +1 -1
  38. package/dist/{chunk-AVSHVOFB.js → chunk-OPBPSPMU.js} +1 -1
  39. package/dist/{chunk-X6WYICTL.js → chunk-S7QATB3I.js} +1 -1
  40. package/dist/{chunk-RKXSWF62.js → chunk-YT47T5TM.js} +2 -2
  41. package/dist/{chunk-SBPVEVLZ.js → chunk-YZ74AFIU.js} +1 -1
  42. package/dist/{reapply-H6ETJ2QP.js → reapply-6AMFTGQY.js} +4 -4
  43. package/dist/src/index.js +7 -7
  44. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,13 @@
1
1
  # Changelog
2
2
 
3
+ ## 1.9.127
4
+
5
+ - The background daemon reads the record of a settled phone message to Codex or Hermes once, instead of every few seconds, and deletes its own records once they are more than 7 days old. Before, every record was reread on each scan and kept forever, so the work grew with every message.
6
+
7
+ ## 1.9.126
8
+
9
+ - With two or more sessions taking turns, a tool call no longer fetches your policy again just because another session fetched it last, and each session can ride out an outage on its own copy. Before, nearly every call refetched, and an outage often left a session with no copy. When a new session starts, copies older than 12 hours are deleted.
10
+
3
11
  ## 1.9.125
4
12
 
5
13
  - Linux: sessions started from your phone keep running when the background daemon stops or restarts, as they do on macOS. Before, systemd stopped them with the daemon on every restart and upgrade. The upgrade that installs this still restarts the daemon the old way, so sessions running at that moment stop once.
@@ -4,13 +4,13 @@ import {
4
4
  } from "../chunk-BVI2N7QA.js";
5
5
  import {
6
6
  readHookInput
7
- } from "../chunk-6DG7PKY5.js";
7
+ } from "../chunk-MBSM6GX5.js";
8
8
  import "../chunk-C2L477NM.js";
9
9
  import "../chunk-QPS5STKF.js";
10
10
  import "../chunk-HXBQTPKC.js";
11
11
  import "../chunk-G66WIAST.js";
12
- import "../chunk-ZAYXOSEP.js";
13
- import "../chunk-WLC3AX6F.js";
12
+ import "../chunk-BLBK7VV7.js";
13
+ import "../chunk-I365OPWV.js";
14
14
  import "../chunk-UXGGVCH5.js";
15
15
  import "../chunk-Q3KKA5IZ.js";
16
16
  import "../chunk-7OSBFMRV.js";
@@ -17,7 +17,7 @@ import "../chunk-ROVLRXBI.js";
17
17
  import {
18
18
  announceSubscriptionRequired,
19
19
  isDeferAnswer
20
- } from "../chunk-OJPHNITI.js";
20
+ } from "../chunk-JW6JSBGS.js";
21
21
  import {
22
22
  claudeTranscriptPath,
23
23
  redactDraft,
@@ -40,7 +40,7 @@ import {
40
40
  removePendingCommand,
41
41
  reportEvent,
42
42
  savePendingCommand
43
- } from "../chunk-WLC3AX6F.js";
43
+ } from "../chunk-I365OPWV.js";
44
44
  import {
45
45
  ensureDaemonRunning
46
46
  } from "../chunk-UXGGVCH5.js";
@@ -28,17 +28,17 @@ import {
28
28
  planCliKeyRevocations,
29
29
  readCliHeldKeys,
30
30
  revokeCliKeys
31
- } from "../chunk-44SXI642.js";
31
+ } from "../chunk-FN77IVAI.js";
32
32
  import {
33
33
  isCursorPluginLeftover,
34
34
  releaseSoleGate,
35
35
  withoutPusharyCursorHooks
36
- } from "../chunk-AVSHVOFB.js";
36
+ } from "../chunk-OPBPSPMU.js";
37
37
  import {
38
38
  shortenHome,
39
39
  unregisterPluginLocation,
40
40
  vscodeSettingsTargets
41
- } from "../chunk-RKXSWF62.js";
41
+ } from "../chunk-YT47T5TM.js";
42
42
  import {
43
43
  configFileHoldsMacAppKey,
44
44
  macAppKeepsMcpEntry,
@@ -46,7 +46,7 @@ import {
46
46
  pusharyKey,
47
47
  readMacAppAgentKey,
48
48
  setupReceiptKey
49
- } from "../chunk-NPAEVCTN.js";
49
+ } from "../chunk-LAPXXS6K.js";
50
50
  import "../chunk-DK6R5IVR.js";
51
51
  import {
52
52
  HERMES_CONFIG_FILE,
@@ -75,7 +75,7 @@ import {
75
75
  openCodePluginDir,
76
76
  openCodePluginFile,
77
77
  removeOpenCodeMcpServer
78
- } from "../chunk-SBPVEVLZ.js";
78
+ } from "../chunk-YZ74AFIU.js";
79
79
  import {
80
80
  ansiPainter,
81
81
  useColor
@@ -95,8 +95,8 @@ import {
95
95
  removeCompatibleHooks,
96
96
  removeCompatibleMcpServer,
97
97
  serializeConfigDocument
98
- } from "../chunk-ZAYXOSEP.js";
99
- import "../chunk-WLC3AX6F.js";
98
+ } from "../chunk-BLBK7VV7.js";
99
+ import "../chunk-I365OPWV.js";
100
100
  import {
101
101
  disableDaemonService
102
102
  } from "../chunk-UXGGVCH5.js";
@@ -10,10 +10,10 @@ import {
10
10
  import {
11
11
  askAgentQuestions,
12
12
  defersToNativeMode
13
- } from "../chunk-X6WYICTL.js";
13
+ } from "../chunk-S7QATB3I.js";
14
14
  import {
15
15
  reportMachineDenial
16
- } from "../chunk-2WGP6QE7.js";
16
+ } from "../chunk-6MFX5NIX.js";
17
17
  import {
18
18
  isGatingMoment,
19
19
  recordKeylessMoment
@@ -23,16 +23,16 @@ import {
23
23
  } from "../chunk-STGEWWFW.js";
24
24
  import {
25
25
  readHookInput
26
- } from "../chunk-6DG7PKY5.js";
26
+ } from "../chunk-MBSM6GX5.js";
27
27
  import "../chunk-C2L477NM.js";
28
28
  import {
29
29
  announceSubscriptionRequired,
30
30
  isDeferAnswer
31
- } from "../chunk-OJPHNITI.js";
31
+ } from "../chunk-JW6JSBGS.js";
32
32
  import "../chunk-QPS5STKF.js";
33
33
  import "../chunk-HXBQTPKC.js";
34
34
  import "../chunk-G66WIAST.js";
35
- import "../chunk-ZAYXOSEP.js";
35
+ import "../chunk-BLBK7VV7.js";
36
36
  import {
37
37
  CODEX_AGENT,
38
38
  DEFAULT_SESSION,
@@ -64,7 +64,7 @@ import {
64
64
  toPolicyLookup,
65
65
  toPolicyLookups,
66
66
  userScope
67
- } from "../chunk-WLC3AX6F.js";
67
+ } from "../chunk-I365OPWV.js";
68
68
  import "../chunk-UXGGVCH5.js";
69
69
  import "../chunk-Q3KKA5IZ.js";
70
70
  import {
@@ -806,7 +806,7 @@ var decidePreToolUse = async (input) => {
806
806
  };
807
807
  var repairCodexHoldsQuietly = async () => {
808
808
  try {
809
- const { repairCodexHolds } = await import("../reapply-H6ETJ2QP.js");
809
+ const { repairCodexHolds } = await import("../reapply-6AMFTGQY.js");
810
810
  repairCodexHolds();
811
811
  } catch {
812
812
  return;
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  reportEvent
4
- } from "../chunk-WLC3AX6F.js";
4
+ } from "../chunk-I365OPWV.js";
5
5
  import "../chunk-7OSBFMRV.js";
6
6
  import "../chunk-2QWQCU7L.js";
7
7
  import {
@@ -14,18 +14,18 @@ import {
14
14
  CONNECTED_THROUGH_MAC_APP,
15
15
  PAIR_FROM_MAC_APP,
16
16
  readMacAppConnection
17
- } from "../chunk-NPAEVCTN.js";
17
+ } from "../chunk-LAPXXS6K.js";
18
18
  import "../chunk-DK6R5IVR.js";
19
19
  import "../chunk-QCGNGEGE.js";
20
- import "../chunk-SBPVEVLZ.js";
20
+ import "../chunk-YZ74AFIU.js";
21
21
  import {
22
22
  createIo
23
23
  } from "../chunk-FO3MDD26.js";
24
24
  import {
25
25
  exitOnHelpFlag
26
26
  } from "../chunk-IA3E675D.js";
27
- import "../chunk-ZAYXOSEP.js";
28
- import "../chunk-WLC3AX6F.js";
27
+ import "../chunk-BLBK7VV7.js";
28
+ import "../chunk-I365OPWV.js";
29
29
  import "../chunk-Q3KKA5IZ.js";
30
30
  import "../chunk-7OSBFMRV.js";
31
31
  import "../chunk-LS3CQ536.js";
@@ -2,10 +2,10 @@
2
2
  import {
3
3
  readHookWiring,
4
4
  readHookWiringSafely
5
- } from "../chunk-MIO2IWCZ.js";
5
+ } from "../chunk-4HDFEBPU.js";
6
6
  import {
7
7
  inspectConfiguredManagedProviders
8
- } from "../chunk-ZBKM5V6B.js";
8
+ } from "../chunk-5WF4NBHQ.js";
9
9
  import "../chunk-PO6ECYXG.js";
10
10
  import "../chunk-EBJ5QUVE.js";
11
11
  import {
@@ -27,7 +27,7 @@ import {
27
27
  import "../chunk-SNF3OTPB.js";
28
28
  import "../chunk-MKUFVNZL.js";
29
29
  import "../chunk-PO5Z73HT.js";
30
- import "../chunk-SBPVEVLZ.js";
30
+ import "../chunk-YZ74AFIU.js";
31
31
  import {
32
32
  exitOnHelpFlag
33
33
  } from "../chunk-IA3E675D.js";
@@ -59,11 +59,11 @@ import {
59
59
  } from "../chunk-QPS5STKF.js";
60
60
  import "../chunk-HXBQTPKC.js";
61
61
  import "../chunk-G66WIAST.js";
62
- import "../chunk-ZAYXOSEP.js";
62
+ import "../chunk-BLBK7VV7.js";
63
63
  import {
64
64
  pendingCommandReceipts,
65
65
  removePendingCommand
66
- } from "../chunk-WLC3AX6F.js";
66
+ } from "../chunk-I365OPWV.js";
67
67
  import {
68
68
  DAEMON_LEASE_RENEW_INTERVAL_MS,
69
69
  DAEMON_YIELD_CHECK_INTERVAL_MS,
@@ -179,7 +179,8 @@ import {
179
179
  openSync,
180
180
  writeSync,
181
181
  fsyncSync,
182
- closeSync
182
+ closeSync,
183
+ unlinkSync
183
184
  } from "fs";
184
185
  import { dirname, join, resolve } from "path";
185
186
  var privateNode = (path, kind) => {
@@ -311,13 +312,21 @@ var controlRequest = (path, request, timeout) => new Promise((resolve3, reject)
311
312
  s.destroy();
312
313
  });
313
314
  });
315
+ var JOURNAL_FILE = /^[0-9a-f]{64}\.json$/;
316
+ var outlivedTheServersCommand = (age, nowMs, monotonicNowMs) => nowMs - age.submittedAtMs >= COMMAND_RECOVERY.receiptRetentionMs && monotonicNowMs - age.firstSeenMonotonicMs >= COMMAND_RECOVERY.retrySendWindowMs;
317
+ var isMissingFile = (error) => error instanceof Error && "code" in error && error.code === "ENOENT";
314
318
  var NativeHostClient = class {
315
319
  constructor(options) {
316
320
  this.options = options;
317
321
  this.timeout = options.timeoutMs ?? NATIVE_INPUT.rpcTimeoutMs;
322
+ this.monotonicNow = options.monotonicNow ?? (() => performance.now());
318
323
  }
319
324
  timeout;
320
325
  lastDiscoveryFailure = null;
326
+ journalsOfOthers = /* @__PURE__ */ new Set();
327
+ settledJournals = /* @__PURE__ */ new Map();
328
+ firstSeenMonotonicMs = /* @__PURE__ */ new Map();
329
+ monotonicNow;
321
330
  async connect() {
322
331
  if ((this.options.platform ?? process.platform) !== "darwin")
323
332
  throw new Error("native host platform unqualified");
@@ -557,21 +566,74 @@ var NativeHostClient = class {
557
566
  ...hermesCursor ? { hermesCursor } : {}
558
567
  };
559
568
  } catch (e) {
560
- if (e instanceof Error && "code" in e && e.code === "ENOENT") return null;
569
+ if (isMissingFile(e)) return null;
561
570
  throw e;
562
571
  }
563
572
  }
573
+ ownsJournal(raw) {
574
+ return raw.agent === this.options.agent && raw.settlementScope === this.options.settlementScope;
575
+ }
576
+ mayRemoveOwnJournals() {
577
+ return this.options.settlementScope !== void 0;
578
+ }
579
+ removeJournal(file) {
580
+ this.settledJournals.delete(file);
581
+ this.firstSeenMonotonicMs.delete(file);
582
+ try {
583
+ unlinkSync(join(this.options.journalDir, file));
584
+ } catch (error) {
585
+ if (!isMissingFile(error)) this.options.report?.(`could not remove a native-input journal: ${error instanceof Error ? error.message : String(error)}`);
586
+ }
587
+ }
588
+ observeJournalAge(file, submittedAtMs, monotonicNowMs) {
589
+ const firstSeen = this.firstSeenMonotonicMs.get(file) ?? monotonicNowMs;
590
+ this.firstSeenMonotonicMs.set(file, firstSeen);
591
+ return { submittedAtMs, firstSeenMonotonicMs: firstSeen };
592
+ }
593
+ removeSettledJournalsPastRetention(nowMs, monotonicNowMs) {
594
+ if (!this.mayRemoveOwnJournals()) return;
595
+ for (const [file, age] of [...this.settledJournals]) {
596
+ if (outlivedTheServersCommand(age, nowMs, monotonicNowMs)) this.removeJournal(file);
597
+ }
598
+ }
599
+ forgetJournalsNoLongerListed(listed) {
600
+ for (const file of [...this.journalsOfOthers]) if (!listed.has(file)) this.journalsOfOthers.delete(file);
601
+ for (const file of [...this.settledJournals.keys()]) if (!listed.has(file)) this.settledJournals.delete(file);
602
+ for (const file of [...this.firstSeenMonotonicMs.keys()]) if (!listed.has(file)) this.firstSeenMonotonicMs.delete(file);
603
+ }
604
+ needsReading(file) {
605
+ return JOURNAL_FILE.test(file) && !this.journalsOfOthers.has(file) && !this.settledJournals.has(file);
606
+ }
564
607
  pendingSettlements() {
608
+ const nowMs = Date.now();
609
+ const monotonicNowMs = this.monotonicNow();
610
+ this.removeSettledJournalsPastRetention(nowMs, monotonicNowMs);
565
611
  try {
566
- return readdirSync(this.options.journalDir).filter((file) => /^[0-9a-f]{64}\.json$/.test(file)).flatMap((file) => {
612
+ const listed = readdirSync(this.options.journalDir);
613
+ this.forgetJournalsNoLongerListed(new Set(listed));
614
+ return listed.filter((file) => this.needsReading(file)).flatMap((file) => {
567
615
  try {
568
616
  const raw = JSON.parse(
569
617
  readFileSync(join(this.options.journalDir, file), "utf8")
570
618
  );
571
619
  if (!nativeRecord(raw) || !nativeIdentifier(raw.sessionId) || !nativeIdentifier(raw.commandId))
572
620
  return [];
621
+ if (!this.ownsJournal(raw)) {
622
+ this.journalsOfOthers.add(file);
623
+ return [];
624
+ }
573
625
  const intent = this.readIntent(raw.sessionId, raw.commandId);
574
- return intent?.accepted && !intent.settled && intent.settlementScope === this.options.settlementScope ? [{ sessionId: intent.sessionId, commandId: intent.commandId }] : [];
626
+ if (!intent) return [];
627
+ const age = this.observeJournalAge(file, intent.submittedAtMs, monotonicNowMs);
628
+ if (this.mayRemoveOwnJournals() && outlivedTheServersCommand(age, nowMs, monotonicNowMs)) {
629
+ this.removeJournal(file);
630
+ return [];
631
+ }
632
+ if (intent.settled) {
633
+ this.settledJournals.set(file, age);
634
+ return [];
635
+ }
636
+ return intent.accepted ? [{ sessionId: intent.sessionId, commandId: intent.commandId }] : [];
575
637
  } catch {
576
638
  return [];
577
639
  }
@@ -971,7 +1033,7 @@ import {
971
1033
  readSync,
972
1034
  statSync,
973
1035
  writeFileSync,
974
- unlinkSync
1036
+ unlinkSync as unlinkSync2
975
1037
  } from "fs";
976
1038
  import { dirname as dirname2, isAbsolute, join as join3, resolve as resolve2 } from "path";
977
1039
  import { Socket } from "net";
@@ -1185,7 +1247,7 @@ var ClaudeInboxClient = class {
1185
1247
  return { file, attempt };
1186
1248
  });
1187
1249
  for (const name of files.slice(CLAUDE_WAKE.retainedAttempts))
1188
- unlinkSync(join3(directory, name));
1250
+ unlinkSync2(join3(directory, name));
1189
1251
  return attempts;
1190
1252
  }
1191
1253
  async wake(sessionId, signal) {
@@ -7,7 +7,7 @@ import {
7
7
  isCursorPluginLeftover,
8
8
  isPusharyCursorPluginManifest,
9
9
  releaseSoleGate
10
- } from "../chunk-AVSHVOFB.js";
10
+ } from "../chunk-OPBPSPMU.js";
11
11
  import {
12
12
  planFxRemoval,
13
13
  removeClineServer
@@ -25,7 +25,7 @@ import {
25
25
  openCodePluginDir,
26
26
  openCodePluginFile,
27
27
  removeOpenCodeMcpServer
28
- } from "../chunk-SBPVEVLZ.js";
28
+ } from "../chunk-YZ74AFIU.js";
29
29
  import {
30
30
  exitOnHelpFlag
31
31
  } from "../chunk-IA3E675D.js";
@@ -38,8 +38,8 @@ import {
38
38
  isEmptiedPusharyOwnedDocument,
39
39
  removeCompatibleHooks,
40
40
  removeCompatibleMcpServer
41
- } from "../chunk-ZAYXOSEP.js";
42
- import "../chunk-WLC3AX6F.js";
41
+ } from "../chunk-BLBK7VV7.js";
42
+ import "../chunk-I365OPWV.js";
43
43
  import {
44
44
  removeGeminiSettings
45
45
  } from "../chunk-Q3KKA5IZ.js";
@@ -54,12 +54,12 @@ import {
54
54
  isPluginRegistered,
55
55
  shortenHome,
56
56
  vscodeSettingsTargets
57
- } from "../chunk-RKXSWF62.js";
57
+ } from "../chunk-YT47T5TM.js";
58
58
  import {
59
59
  CONNECTED_THROUGH_MAC_APP,
60
60
  keyWrittenByMacApp,
61
61
  readMacAppConnectionWhenKeyless
62
- } from "../chunk-NPAEVCTN.js";
62
+ } from "../chunk-LAPXXS6K.js";
63
63
  import {
64
64
  keyScopeOf,
65
65
  pushWindowChangeStep
@@ -100,7 +100,7 @@ import {
100
100
  openCodePluginDir,
101
101
  openCodePluginFile,
102
102
  openCodeWired
103
- } from "../chunk-SBPVEVLZ.js";
103
+ } from "../chunk-YZ74AFIU.js";
104
104
  import {
105
105
  createIo
106
106
  } from "../chunk-FO3MDD26.js";
@@ -134,8 +134,8 @@ import {
134
134
  hasCompatibleHooks,
135
135
  hasCompatibleMcpServer,
136
136
  missingCompatibleHookEvents
137
- } from "../chunk-ZAYXOSEP.js";
138
- import "../chunk-WLC3AX6F.js";
137
+ } from "../chunk-BLBK7VV7.js";
138
+ import "../chunk-I365OPWV.js";
139
139
  import {
140
140
  daemonHasRemoteProof,
141
141
  daemonServiceManagerAvailable,
@@ -1,17 +1,17 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  readHookInput
4
- } from "../chunk-6DG7PKY5.js";
4
+ } from "../chunk-MBSM6GX5.js";
5
5
  import "../chunk-C2L477NM.js";
6
6
  import {
7
7
  announceSubscriptionRequired,
8
8
  isDeferAnswer
9
- } from "../chunk-OJPHNITI.js";
9
+ } from "../chunk-JW6JSBGS.js";
10
10
  import "../chunk-QPS5STKF.js";
11
11
  import "../chunk-HXBQTPKC.js";
12
12
  import "../chunk-G66WIAST.js";
13
- import "../chunk-ZAYXOSEP.js";
14
- import "../chunk-WLC3AX6F.js";
13
+ import "../chunk-BLBK7VV7.js";
14
+ import "../chunk-I365OPWV.js";
15
15
  import "../chunk-UXGGVCH5.js";
16
16
  import "../chunk-Q3KKA5IZ.js";
17
17
  import "../chunk-7OSBFMRV.js";
@@ -6,7 +6,7 @@ import {
6
6
  } from "../chunk-RF66KSSY.js";
7
7
  import {
8
8
  reportMachineDenial
9
- } from "../chunk-2WGP6QE7.js";
9
+ } from "../chunk-6MFX5NIX.js";
10
10
  import {
11
11
  isGatingMoment,
12
12
  recordKeylessMoment
@@ -16,16 +16,16 @@ import {
16
16
  } from "../chunk-STGEWWFW.js";
17
17
  import {
18
18
  readHookInput
19
- } from "../chunk-6DG7PKY5.js";
19
+ } from "../chunk-MBSM6GX5.js";
20
20
  import "../chunk-C2L477NM.js";
21
21
  import {
22
22
  announceSubscriptionRequired,
23
23
  isDeferAnswer
24
- } from "../chunk-OJPHNITI.js";
24
+ } from "../chunk-JW6JSBGS.js";
25
25
  import "../chunk-QPS5STKF.js";
26
26
  import "../chunk-HXBQTPKC.js";
27
27
  import "../chunk-G66WIAST.js";
28
- import "../chunk-ZAYXOSEP.js";
28
+ import "../chunk-BLBK7VV7.js";
29
29
  import {
30
30
  DEFAULT_SESSION,
31
31
  fetchModeState,
@@ -38,7 +38,7 @@ import {
38
38
  readLastPrompt,
39
39
  readLastUserPrompt,
40
40
  reportEvent
41
- } from "../chunk-WLC3AX6F.js";
41
+ } from "../chunk-I365OPWV.js";
42
42
  import "../chunk-UXGGVCH5.js";
43
43
  import "../chunk-Q3KKA5IZ.js";
44
44
  import {
@@ -1,19 +1,19 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  handlePreToolUse
4
- } from "../chunk-GM26OJG6.js";
4
+ } from "../chunk-6IL3DQY6.js";
5
5
  import "../chunk-PO6ECYXG.js";
6
6
  import {
7
7
  exitOnHelpFlag
8
8
  } from "../chunk-IA3E675D.js";
9
- import "../chunk-X6WYICTL.js";
10
- import "../chunk-2WGP6QE7.js";
9
+ import "../chunk-S7QATB3I.js";
10
+ import "../chunk-6MFX5NIX.js";
11
11
  import "../chunk-7EYXAM63.js";
12
12
  import {
13
13
  readToolHookCall
14
- } from "../chunk-6DG7PKY5.js";
14
+ } from "../chunk-MBSM6GX5.js";
15
15
  import "../chunk-C2L477NM.js";
16
- import "../chunk-OJPHNITI.js";
16
+ import "../chunk-JW6JSBGS.js";
17
17
  import "../chunk-QPS5STKF.js";
18
18
  import "../chunk-HXBQTPKC.js";
19
19
  import "../chunk-G66WIAST.js";
@@ -21,8 +21,8 @@ import {
21
21
  activeHookSource,
22
22
  normalizeToolCall,
23
23
  profileFromArgv
24
- } from "../chunk-ZAYXOSEP.js";
25
- import "../chunk-WLC3AX6F.js";
24
+ } from "../chunk-BLBK7VV7.js";
25
+ import "../chunk-I365OPWV.js";
26
26
  import "../chunk-UXGGVCH5.js";
27
27
  import "../chunk-Q3KKA5IZ.js";
28
28
  import {
@@ -11,20 +11,20 @@ import {
11
11
  readCliHeldKeys,
12
12
  revokeOwnKey,
13
13
  sparedKeys
14
- } from "../chunk-44SXI642.js";
15
- import "../chunk-NPAEVCTN.js";
14
+ } from "../chunk-FN77IVAI.js";
15
+ import "../chunk-LAPXXS6K.js";
16
16
  import {
17
17
  API_KEYS_PATH
18
18
  } from "../chunk-DK6R5IVR.js";
19
- import "../chunk-SBPVEVLZ.js";
19
+ import "../chunk-YZ74AFIU.js";
20
20
  import {
21
21
  createIo
22
22
  } from "../chunk-FO3MDD26.js";
23
23
  import {
24
24
  exitOnHelpFlag
25
25
  } from "../chunk-IA3E675D.js";
26
- import "../chunk-ZAYXOSEP.js";
27
- import "../chunk-WLC3AX6F.js";
26
+ import "../chunk-BLBK7VV7.js";
27
+ import "../chunk-I365OPWV.js";
28
28
  import "../chunk-Q3KKA5IZ.js";
29
29
  import "../chunk-7OSBFMRV.js";
30
30
  import "../chunk-LS3CQ536.js";
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  readHookInput
4
- } from "../chunk-6DG7PKY5.js";
4
+ } from "../chunk-MBSM6GX5.js";
5
5
  import "../chunk-C2L477NM.js";
6
6
  import "../chunk-QPS5STKF.js";
7
7
  import "../chunk-HXBQTPKC.js";
@@ -9,10 +9,10 @@ import "../chunk-G66WIAST.js";
9
9
  import {
10
10
  activeHookSource,
11
11
  activeIdentity
12
- } from "../chunk-ZAYXOSEP.js";
12
+ } from "../chunk-BLBK7VV7.js";
13
13
  import {
14
14
  handleNotification
15
- } from "../chunk-WLC3AX6F.js";
15
+ } from "../chunk-I365OPWV.js";
16
16
  import "../chunk-UXGGVCH5.js";
17
17
  import "../chunk-Q3KKA5IZ.js";
18
18
  import "../chunk-7OSBFMRV.js";
@@ -6,23 +6,23 @@ import {
6
6
  } from "../chunk-RF66KSSY.js";
7
7
  import {
8
8
  reportMachineDenial
9
- } from "../chunk-2WGP6QE7.js";
9
+ } from "../chunk-6MFX5NIX.js";
10
10
  import {
11
11
  isGatingMoment,
12
12
  recordKeylessMoment
13
13
  } from "../chunk-7EYXAM63.js";
14
14
  import {
15
15
  readHookInput
16
- } from "../chunk-6DG7PKY5.js";
16
+ } from "../chunk-MBSM6GX5.js";
17
17
  import "../chunk-C2L477NM.js";
18
18
  import {
19
19
  announceSubscriptionRequired,
20
20
  isDeferAnswer
21
- } from "../chunk-OJPHNITI.js";
21
+ } from "../chunk-JW6JSBGS.js";
22
22
  import "../chunk-QPS5STKF.js";
23
23
  import "../chunk-HXBQTPKC.js";
24
24
  import "../chunk-G66WIAST.js";
25
- import "../chunk-ZAYXOSEP.js";
25
+ import "../chunk-BLBK7VV7.js";
26
26
  import {
27
27
  DEFAULT_SESSION,
28
28
  fetchModeState,
@@ -32,7 +32,7 @@ import {
32
32
  handleUserPrompt,
33
33
  policyRequestFor,
34
34
  readLastPrompt
35
- } from "../chunk-WLC3AX6F.js";
35
+ } from "../chunk-I365OPWV.js";
36
36
  import "../chunk-UXGGVCH5.js";
37
37
  import "../chunk-Q3KKA5IZ.js";
38
38
  import {
@@ -1,24 +1,24 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  handlePermissionDenied
4
- } from "../chunk-GM26OJG6.js";
4
+ } from "../chunk-6IL3DQY6.js";
5
5
  import "../chunk-PO6ECYXG.js";
6
6
  import {
7
7
  takeHookHoldBudget
8
8
  } from "../chunk-UV2JM3PZ.js";
9
- import "../chunk-X6WYICTL.js";
10
- import "../chunk-2WGP6QE7.js";
9
+ import "../chunk-S7QATB3I.js";
10
+ import "../chunk-6MFX5NIX.js";
11
11
  import "../chunk-7EYXAM63.js";
12
12
  import {
13
13
  readHookInput
14
- } from "../chunk-6DG7PKY5.js";
14
+ } from "../chunk-MBSM6GX5.js";
15
15
  import "../chunk-C2L477NM.js";
16
- import "../chunk-OJPHNITI.js";
16
+ import "../chunk-JW6JSBGS.js";
17
17
  import "../chunk-QPS5STKF.js";
18
18
  import "../chunk-HXBQTPKC.js";
19
19
  import "../chunk-G66WIAST.js";
20
- import "../chunk-ZAYXOSEP.js";
21
- import "../chunk-WLC3AX6F.js";
20
+ import "../chunk-BLBK7VV7.js";
21
+ import "../chunk-I365OPWV.js";
22
22
  import "../chunk-UXGGVCH5.js";
23
23
  import "../chunk-Q3KKA5IZ.js";
24
24
  import "../chunk-7OSBFMRV.js";
@@ -1,19 +1,19 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  handlePermissionRequest
4
- } from "../chunk-GM26OJG6.js";
4
+ } from "../chunk-6IL3DQY6.js";
5
5
  import "../chunk-PO6ECYXG.js";
6
6
  import {
7
7
  takeHookHoldBudget
8
8
  } from "../chunk-UV2JM3PZ.js";
9
- import "../chunk-X6WYICTL.js";
10
- import "../chunk-2WGP6QE7.js";
9
+ import "../chunk-S7QATB3I.js";
10
+ import "../chunk-6MFX5NIX.js";
11
11
  import "../chunk-7EYXAM63.js";
12
12
  import {
13
13
  readToolHookInput
14
- } from "../chunk-6DG7PKY5.js";
14
+ } from "../chunk-MBSM6GX5.js";
15
15
  import "../chunk-C2L477NM.js";
16
- import "../chunk-OJPHNITI.js";
16
+ import "../chunk-JW6JSBGS.js";
17
17
  import "../chunk-QPS5STKF.js";
18
18
  import "../chunk-HXBQTPKC.js";
19
19
  import "../chunk-G66WIAST.js";
@@ -21,8 +21,8 @@ import {
21
21
  activeHookSource,
22
22
  normalizeToolCall,
23
23
  profileFromArgv
24
- } from "../chunk-ZAYXOSEP.js";
25
- import "../chunk-WLC3AX6F.js";
24
+ } from "../chunk-BLBK7VV7.js";
25
+ import "../chunk-I365OPWV.js";
26
26
  import "../chunk-UXGGVCH5.js";
27
27
  import "../chunk-Q3KKA5IZ.js";
28
28
  import {