pushary 1.9.19 → 1.9.21

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 (102) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/dist/bin/pushary-bell-hook.js +27 -27
  3. package/dist/bin/pushary-bell.js +14 -12
  4. package/dist/bin/pushary-claude.js +26 -26
  5. package/dist/bin/pushary-clean.js +36 -33
  6. package/dist/bin/pushary-codex-bridge.js +18 -18
  7. package/dist/bin/pushary-codex-hook.js +32 -32
  8. package/dist/bin/pushary-codex.js +13 -13
  9. package/dist/bin/pushary-connect.js +25 -25
  10. package/dist/bin/pushary-cowork.js +5 -5
  11. package/dist/bin/pushary-daemon.js +33 -33
  12. package/dist/bin/pushary-disconnect.js +25 -25
  13. package/dist/bin/pushary-doctor.js +34 -34
  14. package/dist/bin/pushary-elicitation-hook.js +27 -27
  15. package/dist/bin/pushary-gemini-bridge.js +14 -14
  16. package/dist/bin/pushary-gemini-hook.js +29 -29
  17. package/dist/bin/pushary-hook.js +31 -31
  18. package/dist/bin/pushary-login.js +13 -13
  19. package/dist/bin/pushary-logout.js +36 -20
  20. package/dist/bin/pushary-mcp.js +10 -10
  21. package/dist/bin/pushary-mode.js +13 -13
  22. package/dist/bin/pushary-notification-hook.js +26 -26
  23. package/dist/bin/pushary-opencode-hook.js +28 -28
  24. package/dist/bin/pushary-permission-denied-hook.js +31 -31
  25. package/dist/bin/pushary-permission-hook.js +30 -30
  26. package/dist/bin/pushary-post-hook.js +26 -26
  27. package/dist/bin/pushary-prompt-hook.js +26 -26
  28. package/dist/bin/pushary-session-end-hook.js +26 -26
  29. package/dist/bin/pushary-session-start-hook.js +30 -30
  30. package/dist/bin/pushary-setup.js +76 -51
  31. package/dist/bin/pushary-stats.js +5 -5
  32. package/dist/bin/pushary-status.js +34 -29
  33. package/dist/bin/pushary-stop-hook.js +26 -26
  34. package/dist/bin/pushary-stopfailure-hook.js +26 -26
  35. package/dist/bin/pushary-suggestions.js +13 -13
  36. package/dist/bin/pushary-transcript-register.js +19 -19
  37. package/dist/bin/pushary-transcripts.js +9 -9
  38. package/dist/bin/pushary-upgrade.js +31 -31
  39. package/dist/bin/pushary-wait.js +13 -13
  40. package/dist/bin/pushary.js +7 -7
  41. package/dist/{chunk-YONHM5BQ.js → chunk-247PAUW6.js} +1 -1
  42. package/dist/{chunk-QLG6UKIB.js → chunk-2V55RBUR.js} +5 -5
  43. package/dist/{chunk-5RMD75P2.js → chunk-4BKAZ4JN.js} +10 -6
  44. package/dist/{chunk-HYPSYXP4.js → chunk-4RJQPI36.js} +5 -5
  45. package/dist/{chunk-XQ4HTTBB.js → chunk-4WHNRAOK.js} +1 -1
  46. package/dist/{chunk-VCLDXVR3.js → chunk-5PW6GMQO.js} +3 -3
  47. package/dist/{chunk-2V2CCTGQ.js → chunk-6WBIQQHO.js} +1 -1
  48. package/dist/{chunk-XGHXQUDG.js → chunk-6WINXCXY.js} +1 -1
  49. package/dist/{chunk-KT36OCRW.js → chunk-7AFLHL2R.js} +6 -3
  50. package/dist/{chunk-FT7UNIS3.js → chunk-AQFEP65J.js} +2 -1
  51. package/dist/{chunk-7TSL3JCX.js → chunk-AXBFNQG6.js} +1 -1
  52. package/dist/{chunk-LHGB64O2.js → chunk-B6KZME5D.js} +1 -1
  53. package/dist/{chunk-E2RXTRM2.js → chunk-BDL6GJOQ.js} +4 -4
  54. package/dist/{chunk-DKFAJHLI.js → chunk-BERMVODT.js} +9 -8
  55. package/dist/{chunk-LXYNKZFP.js → chunk-BV5JPACQ.js} +2 -2
  56. package/dist/{chunk-FEKP3NJR.js → chunk-CEF4UQ3X.js} +21 -8
  57. package/dist/{chunk-MGW26CW7.js → chunk-ESHO7OC3.js} +1 -1
  58. package/dist/{chunk-4ABHSCFJ.js → chunk-FH4O3QGQ.js} +29 -26
  59. package/dist/{chunk-3FG2VCH3.js → chunk-FUXCWF4Y.js} +11 -8
  60. package/dist/{chunk-23QKUOEV.js → chunk-G4TV5GYU.js} +2 -2
  61. package/dist/{chunk-TBTCBAQC.js → chunk-GMJOSAAP.js} +11 -11
  62. package/dist/{chunk-2YAHQ763.js → chunk-I52ALHOM.js} +5 -5
  63. package/dist/{chunk-6TQLZP7F.js → chunk-IEYFFMTU.js} +3 -3
  64. package/dist/{chunk-T27NT7LJ.js → chunk-II6OFDB3.js} +4 -4
  65. package/dist/{chunk-TNZYTGAJ.js → chunk-IIQ77WUJ.js} +6 -6
  66. package/dist/{chunk-ATDOYZXC.js → chunk-IM7EGZVH.js} +1 -1
  67. package/dist/{chunk-CRW4P7JU.js → chunk-JHAPJRAN.js} +1 -1
  68. package/dist/{chunk-6GQDOO5P.js → chunk-L5NPRGVE.js} +10 -9
  69. package/dist/{chunk-A6U4RRFM.js → chunk-LUDGBOLV.js} +2 -2
  70. package/dist/{chunk-KRDQQL2X.js → chunk-NBGJ3EOE.js} +2 -2
  71. package/dist/{chunk-MID7BURF.js → chunk-NVXC6ZBR.js} +2 -2
  72. package/dist/{chunk-SB2GN6OP.js → chunk-OYIN77HO.js} +3 -2
  73. package/dist/{chunk-Z4YQ7ZMO.js → chunk-PCF7JUTP.js} +3 -3
  74. package/dist/{chunk-5LQRUBFB.js → chunk-PCVAK67W.js} +1 -1
  75. package/dist/{chunk-SEZUF33H.js → chunk-PYWZYM74.js} +5 -14
  76. package/dist/{chunk-AXG5QMRM.js → chunk-QHY3UDYC.js} +3 -3
  77. package/dist/{chunk-SIOYJRL4.js → chunk-RVP6COOQ.js} +2 -2
  78. package/dist/{chunk-QDRDDVLH.js → chunk-SVQOEVAT.js} +4 -4
  79. package/dist/{chunk-B4OS2OVD.js → chunk-TBCXMW2C.js} +3 -3
  80. package/dist/{chunk-XUUE6MYM.js → chunk-TJ4KMPYO.js} +10 -10
  81. package/dist/{chunk-5C2GFTWE.js → chunk-TQIPIFL7.js} +1 -1
  82. package/dist/{chunk-5PYLU6OS.js → chunk-TVBEHME2.js} +7 -6
  83. package/dist/{chunk-FRZS7XQF.js → chunk-U6GYFWT4.js} +8 -5
  84. package/dist/{chunk-736I6CBY.js → chunk-UKCRTTKF.js} +1 -1
  85. package/dist/{chunk-UAA4BEYM.js → chunk-UZ2YEGIT.js} +3 -3
  86. package/dist/{chunk-6HMCOGKJ.js → chunk-VBPASZU7.js} +13 -8
  87. package/dist/{chunk-YXYSPMD3.js → chunk-VD2AWSER.js} +2 -2
  88. package/dist/{chunk-MHYXM43K.js → chunk-VRXX2AY2.js} +2 -2
  89. package/dist/{chunk-6WEC3KZP.js → chunk-VTR4VRL2.js} +1 -1
  90. package/dist/{chunk-BIQF3C4H.js → chunk-XNO3CSVW.js} +1 -1
  91. package/dist/{chunk-DVLQ4TVD.js → chunk-Y2BOLNJV.js} +5 -5
  92. package/dist/{chunk-W4TZAKOD.js → chunk-Y6PZ3B5U.js} +2 -2
  93. package/dist/{chunk-NILVJ7HV.js → chunk-YCL2V5FD.js} +9 -9
  94. package/dist/{chunk-YAU4JCYI.js → chunk-YLLGKY7K.js} +3 -3
  95. package/dist/{chunk-OWUDBHXW.js → chunk-Z5EYCMJH.js} +2 -2
  96. package/dist/{chunk-SXVXANPI.js → chunk-ZNAGS7O7.js} +3 -3
  97. package/dist/{global-upgrade-XEMENBZA.js → global-upgrade-AHRKGQ7M.js} +7 -7
  98. package/dist/{paths-VW5CI5KS.js → paths-AGUCNYQ5.js} +2 -2
  99. package/dist/{reapply-7KPSIO4L.js → reapply-BUCDXIIM.js} +21 -21
  100. package/dist/src/index.js +20 -20
  101. package/dist/{upgrade-lock-VT6XMQMB.js → upgrade-lock-7Z5WBZVH.js} +4 -4
  102. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,18 @@
1
1
  # Changelog
2
2
 
3
+ ## 1.9.21
4
+
5
+ - `pushary setup` records a key as the one Pushary for Mac is signed in with only when Pushary for Mac holds that same key. It used to record any key it reused from your agent settings that way, including one left behind by an earlier CLI sign-in. `pushary clean` never revokes the Mac app's key, so it skipped that leftover key and left it working. Now it revokes it, and still leaves the Mac app's own key alone.
6
+ - For the same reason, a leftover CLI key is no longer reported as "signed out on this Mac" when it stops working.
7
+ - A key recorded by an earlier version stays recorded until setup saves a different key.
8
+
9
+ ## 1.9.20
10
+
11
+ - `pushary setup` calls a key found in your agent settings the Pushary for Mac key only when Pushary for Mac holds that same key. A key left behind by an earlier CLI sign-in is called a key found in your agent settings, also when Pushary for Mac is installed.
12
+ - On Windows, when npm cannot replace a file during the global install (EPERM), setup says to close other terminals or editors that use Node, then run setup again. It used to suggest an npm prefix change, which does not help when another program has the file open. EACCES, and EPERM on macOS and Linux, keep the npm prefix advice.
13
+ - The pairing screen prints the fingerprint directly under the QR code, above the waiting line, so the QR code, the fingerprint and the waiting line all fit an 80x24 terminal. The fingerprint used to sit above the QR code and scroll off.
14
+ - `Wrong account? Run npx pushary@latest setup --connect app` is printed only where that command can pair: not in CI, and not with `--skip-phone` or `--connect none`. On an inactive plan it is printed once, next to the account with no plan, instead of twice.
15
+
3
16
  ## 1.9.19
4
17
 
5
18
  - When nobody has answered the last 3 approvals in one agent session, Pushary stops sending that session's approvals to your phone. Each further call ends at once, exactly as it would have if nobody had answered it for the whole wait: under When I'm out Claude Code asks in its own prompt, a rule that refuses on timeout refuses it, a rule that approves on timeout runs it at once with nobody asked, and Codex set to never ask for approval refuses it. Nothing is sent, and the paused approval does not appear on your phone or in the Mac app. A command that deletes, rewrites history or reaches the network, such as `git push`, `rm` or `dropdb`, and any call Pushary flags as destructive, is still sent to your phone.
@@ -1,41 +1,41 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  handleBell
4
- } from "../chunk-MGW26CW7.js";
4
+ } from "../chunk-ESHO7OC3.js";
5
5
  import {
6
6
  readHookInput
7
- } from "../chunk-T27NT7LJ.js";
8
- import "../chunk-XUUE6MYM.js";
9
- import "../chunk-6WEC3KZP.js";
10
- import "../chunk-6GQDOO5P.js";
11
- import "../chunk-XGHXQUDG.js";
12
- import "../chunk-ATDOYZXC.js";
13
- import "../chunk-2V2CCTGQ.js";
7
+ } from "../chunk-II6OFDB3.js";
8
+ import "../chunk-TJ4KMPYO.js";
9
+ import "../chunk-VTR4VRL2.js";
10
+ import "../chunk-L5NPRGVE.js";
11
+ import "../chunk-6WINXCXY.js";
12
+ import "../chunk-IM7EGZVH.js";
13
+ import "../chunk-6WBIQQHO.js";
14
14
  import "../chunk-XHKBHWLX.js";
15
- import "../chunk-E2RXTRM2.js";
16
- import "../chunk-SEZUF33H.js";
17
- import "../chunk-YAU4JCYI.js";
18
- import "../chunk-YONHM5BQ.js";
19
- import "../chunk-7TSL3JCX.js";
15
+ import "../chunk-BDL6GJOQ.js";
16
+ import "../chunk-PYWZYM74.js";
17
+ import "../chunk-YLLGKY7K.js";
18
+ import "../chunk-247PAUW6.js";
19
+ import "../chunk-AXBFNQG6.js";
20
20
  import "../chunk-GMXKITVA.js";
21
21
  import "../chunk-6ICPEJY5.js";
22
- import "../chunk-4ABHSCFJ.js";
23
- import "../chunk-NILVJ7HV.js";
24
- import "../chunk-CRW4P7JU.js";
25
- import "../chunk-DVLQ4TVD.js";
22
+ import "../chunk-FH4O3QGQ.js";
23
+ import "../chunk-YCL2V5FD.js";
24
+ import "../chunk-JHAPJRAN.js";
25
+ import "../chunk-Y2BOLNJV.js";
26
26
  import "../chunk-POFBE6ZY.js";
27
- import "../chunk-SXVXANPI.js";
28
- import "../chunk-UAA4BEYM.js";
29
- import "../chunk-B4OS2OVD.js";
30
- import "../chunk-KRDQQL2X.js";
27
+ import "../chunk-ZNAGS7O7.js";
28
+ import "../chunk-UZ2YEGIT.js";
29
+ import "../chunk-TBCXMW2C.js";
30
+ import "../chunk-NBGJ3EOE.js";
31
31
  import "../chunk-7QLSKOSU.js";
32
32
  import "../chunk-KZERVKTD.js";
33
- import "../chunk-MID7BURF.js";
34
- import "../chunk-FEKP3NJR.js";
35
- import "../chunk-FT7UNIS3.js";
36
- import "../chunk-XQ4HTTBB.js";
37
- import "../chunk-LHGB64O2.js";
38
- import "../chunk-6HMCOGKJ.js";
33
+ import "../chunk-NVXC6ZBR.js";
34
+ import "../chunk-CEF4UQ3X.js";
35
+ import "../chunk-AQFEP65J.js";
36
+ import "../chunk-4WHNRAOK.js";
37
+ import "../chunk-B6KZME5D.js";
38
+ import "../chunk-VBPASZU7.js";
39
39
 
40
40
  // bin/pushary-bell-hook.ts
41
41
  var main = async () => {
@@ -5,37 +5,39 @@ import {
5
5
  liveAgentCount,
6
6
  ring,
7
7
  upgradeThreshold
8
- } from "../chunk-MGW26CW7.js";
8
+ } from "../chunk-ESHO7OC3.js";
9
9
  import {
10
10
  createIo
11
11
  } from "../chunk-FO3MDD26.js";
12
12
  import {
13
13
  exitOnHelpFlag
14
- } from "../chunk-LXYNKZFP.js";
14
+ } from "../chunk-BV5JPACQ.js";
15
15
  import {
16
16
  addBellHooks,
17
17
  bellInstalled,
18
18
  removeBellHooks
19
- } from "../chunk-7TSL3JCX.js";
19
+ } from "../chunk-AXBFNQG6.js";
20
20
  import {
21
21
  parseFlags
22
22
  } from "../chunk-GMXKITVA.js";
23
- import "../chunk-4ABHSCFJ.js";
23
+ import "../chunk-FH4O3QGQ.js";
24
24
  import "../chunk-7QLSKOSU.js";
25
25
  import {
26
26
  EXIT
27
27
  } from "../chunk-KZERVKTD.js";
28
- import "../chunk-MID7BURF.js";
28
+ import "../chunk-NVXC6ZBR.js";
29
29
  import {
30
30
  claudeSettings
31
- } from "../chunk-FEKP3NJR.js";
31
+ } from "../chunk-CEF4UQ3X.js";
32
32
  import {
33
33
  readJsonSafe,
34
34
  writeJsonAtomic
35
- } from "../chunk-FT7UNIS3.js";
36
- import "../chunk-XQ4HTTBB.js";
37
- import "../chunk-LHGB64O2.js";
38
- import "../chunk-6HMCOGKJ.js";
35
+ } from "../chunk-AQFEP65J.js";
36
+ import "../chunk-4WHNRAOK.js";
37
+ import "../chunk-B6KZME5D.js";
38
+ import {
39
+ isRecord
40
+ } from "../chunk-VBPASZU7.js";
39
41
 
40
42
  // bin/pushary-bell.ts
41
43
  exitOnHelpFlag("bell");
@@ -48,8 +50,8 @@ var readStdin = async () => {
48
50
  var settingsPath = () => claudeSettings();
49
51
  var loadSettings = (path) => {
50
52
  const existing = readJsonSafe(path);
51
- if (existing.kind === "ok") return existing.value;
52
- if (existing.kind === "unreadable" || existing.kind === "unparseable") {
53
+ if (existing.kind === "ok" && isRecord(existing.value)) return existing.value;
54
+ if (existing.kind !== "missing") {
53
55
  throw new Error(`${path} exists but could not be read. Fix or move it, then re-run. Nothing was changed.`);
54
56
  }
55
57
  return {};
@@ -8,39 +8,39 @@ import {
8
8
  describeIdleWindow,
9
9
  startProcessOwnership,
10
10
  withSpawnProcessOwnership
11
- } from "../chunk-KT36OCRW.js";
11
+ } from "../chunk-7AFLHL2R.js";
12
12
  import {
13
13
  announceSubscriptionRequired,
14
14
  isDeferAnswer
15
- } from "../chunk-5LQRUBFB.js";
15
+ } from "../chunk-PCVAK67W.js";
16
16
  import {
17
17
  claudeTranscriptPath,
18
18
  loadSessionKey,
19
19
  registerTranscript,
20
20
  registeredTranscriptEnabled
21
- } from "../chunk-XUUE6MYM.js";
22
- import "../chunk-6WEC3KZP.js";
21
+ } from "../chunk-TJ4KMPYO.js";
22
+ import "../chunk-VTR4VRL2.js";
23
23
  import {
24
24
  ensureDaemonRunning
25
- } from "../chunk-6GQDOO5P.js";
25
+ } from "../chunk-L5NPRGVE.js";
26
26
  import {
27
27
  encryptRecord
28
- } from "../chunk-XGHXQUDG.js";
29
- import "../chunk-ATDOYZXC.js";
28
+ } from "../chunk-6WINXCXY.js";
29
+ import "../chunk-IM7EGZVH.js";
30
30
  import {
31
31
  transcriptsEnabled
32
- } from "../chunk-2V2CCTGQ.js";
32
+ } from "../chunk-6WBIQQHO.js";
33
33
  import {
34
34
  needsShell,
35
35
  spawnClaude
36
36
  } from "../chunk-XHKBHWLX.js";
37
- import "../chunk-SEZUF33H.js";
38
- import "../chunk-YAU4JCYI.js";
39
- import "../chunk-YONHM5BQ.js";
40
- import "../chunk-7TSL3JCX.js";
37
+ import "../chunk-PYWZYM74.js";
38
+ import "../chunk-YLLGKY7K.js";
39
+ import "../chunk-247PAUW6.js";
40
+ import "../chunk-AXBFNQG6.js";
41
41
  import "../chunk-GMXKITVA.js";
42
42
  import "../chunk-6ICPEJY5.js";
43
- import "../chunk-4ABHSCFJ.js";
43
+ import "../chunk-FH4O3QGQ.js";
44
44
  import {
45
45
  DEFAULT_SESSION,
46
46
  UNNAMED_ACTION,
@@ -58,8 +58,8 @@ import {
58
58
  reportEvent,
59
59
  savePendingCommand,
60
60
  scopePathFor
61
- } from "../chunk-NILVJ7HV.js";
62
- import "../chunk-CRW4P7JU.js";
61
+ } from "../chunk-YCL2V5FD.js";
62
+ import "../chunk-JHAPJRAN.js";
63
63
  import {
64
64
  askUser,
65
65
  cancelQuestion,
@@ -69,35 +69,35 @@ import {
69
69
  waitForAnswer,
70
70
  waitsForThePhone,
71
71
  withdrawQuestion
72
- } from "../chunk-DVLQ4TVD.js";
72
+ } from "../chunk-Y2BOLNJV.js";
73
73
  import "../chunk-POFBE6ZY.js";
74
74
  import {
75
75
  SubscriptionRequiredError
76
- } from "../chunk-SXVXANPI.js";
77
- import "../chunk-UAA4BEYM.js";
78
- import "../chunk-B4OS2OVD.js";
76
+ } from "../chunk-ZNAGS7O7.js";
77
+ import "../chunk-UZ2YEGIT.js";
78
+ import "../chunk-TBCXMW2C.js";
79
79
  import {
80
80
  getMachineId
81
- } from "../chunk-KRDQQL2X.js";
81
+ } from "../chunk-NBGJ3EOE.js";
82
82
  import "../chunk-7QLSKOSU.js";
83
83
  import "../chunk-KZERVKTD.js";
84
- import "../chunk-MID7BURF.js";
85
- import "../chunk-FEKP3NJR.js";
86
- import "../chunk-FT7UNIS3.js";
84
+ import "../chunk-NVXC6ZBR.js";
85
+ import "../chunk-CEF4UQ3X.js";
86
+ import "../chunk-AQFEP65J.js";
87
87
  import {
88
88
  getApiKey,
89
89
  getBaseUrl
90
- } from "../chunk-XQ4HTTBB.js";
90
+ } from "../chunk-4WHNRAOK.js";
91
91
  import {
92
92
  NPX_LATEST_COMMAND
93
- } from "../chunk-LHGB64O2.js";
93
+ } from "../chunk-B6KZME5D.js";
94
94
  import {
95
95
  DECISION_STOP_REASON,
96
96
  KILL_REASON,
97
97
  UNVERIFIABLE_APPROVAL_REASON,
98
98
  redactSecretsFromContent,
99
99
  resolveGate
100
- } from "../chunk-6HMCOGKJ.js";
100
+ } from "../chunk-VBPASZU7.js";
101
101
 
102
102
  // src/wrapper/localPassthrough.ts
103
103
  var SIGNAL_NUMBERS = {
@@ -8,12 +8,12 @@ import {
8
8
  describeRevokeAttempt,
9
9
  keyNoLongerAccepted,
10
10
  revokeOwnKey
11
- } from "../chunk-SB2GN6OP.js";
11
+ } from "../chunk-OYIN77HO.js";
12
12
  import {
13
13
  isCursorPluginLeftover,
14
14
  releaseSoleGate,
15
15
  withoutPusharyCursorHooks
16
- } from "../chunk-FRZS7XQF.js";
16
+ } from "../chunk-U6GYFWT4.js";
17
17
  import {
18
18
  HERMES_PIP_PACKAGE,
19
19
  readHermesStatus,
@@ -22,27 +22,27 @@ import {
22
22
  shortenHome,
23
23
  unregisterPluginLocation,
24
24
  vscodeSettingsTargets
25
- } from "../chunk-AXG5QMRM.js";
25
+ } from "../chunk-QHY3UDYC.js";
26
26
  import {
27
27
  planFxRemoval,
28
28
  removeInstructionBlock
29
- } from "../chunk-5RMD75P2.js";
30
- import "../chunk-YXYSPMD3.js";
29
+ } from "../chunk-4BKAZ4JN.js";
30
+ import "../chunk-VD2AWSER.js";
31
31
  import {
32
32
  disableDaemonService
33
- } from "../chunk-6GQDOO5P.js";
33
+ } from "../chunk-L5NPRGVE.js";
34
34
  import "../chunk-XHKBHWLX.js";
35
35
  import {
36
36
  APPROVAL_SETTINGS_PATH
37
- } from "../chunk-QDRDDVLH.js";
37
+ } from "../chunk-SVQOEVAT.js";
38
38
  import {
39
39
  macAppKeepsMcpEntry,
40
40
  mcpServerBearer,
41
41
  pusharyKey,
42
42
  readMacAppAgentKey,
43
43
  setupReceiptKey
44
- } from "../chunk-HYPSYXP4.js";
45
- import "../chunk-2YAHQ763.js";
44
+ } from "../chunk-4RJQPI36.js";
45
+ import "../chunk-I52ALHOM.js";
46
46
  import {
47
47
  OPENCODE_PLUGIN_SIBLING,
48
48
  OPENCODE_PLUGIN_SIBLING_CONTENTS,
@@ -54,14 +54,14 @@ import {
54
54
  openCodePluginDir,
55
55
  openCodePluginFile,
56
56
  removeOpenCodeMcpServer
57
- } from "../chunk-DKFAJHLI.js";
57
+ } from "../chunk-BERMVODT.js";
58
58
  import {
59
59
  ansiPainter,
60
60
  useColor
61
61
  } from "../chunk-FO3MDD26.js";
62
62
  import {
63
63
  exitOnHelpFlag
64
- } from "../chunk-LXYNKZFP.js";
64
+ } from "../chunk-BV5JPACQ.js";
65
65
  import {
66
66
  compatibleConfigFile,
67
67
  compatibleInstructionsFile,
@@ -74,7 +74,7 @@ import {
74
74
  removePusharySettings,
75
75
  removePusharyToolPermissions,
76
76
  restoreClaudeMcpServer
77
- } from "../chunk-E2RXTRM2.js";
77
+ } from "../chunk-BDL6GJOQ.js";
78
78
  import {
79
79
  hookOwnerOf,
80
80
  isHookTakeoverReceipt,
@@ -82,12 +82,12 @@ import {
82
82
  resolveBridgeStub,
83
83
  restoreHookTakeover,
84
84
  restoreMcpServer
85
- } from "../chunk-SEZUF33H.js";
85
+ } from "../chunk-PYWZYM74.js";
86
86
  import {
87
87
  removeGeminiSettings
88
- } from "../chunk-YAU4JCYI.js";
89
- import "../chunk-YONHM5BQ.js";
90
- import "../chunk-7TSL3JCX.js";
88
+ } from "../chunk-YLLGKY7K.js";
89
+ import "../chunk-247PAUW6.js";
90
+ import "../chunk-AXBFNQG6.js";
91
91
  import {
92
92
  rejectUnknownFlags
93
93
  } from "../chunk-GMXKITVA.js";
@@ -95,27 +95,29 @@ import "../chunk-6ICPEJY5.js";
95
95
  import {
96
96
  CANDIDATE_RCS,
97
97
  findExportedKeyLines,
98
+ isAdoptedMacAppKey,
98
99
  isDisabledExport,
99
100
  keyPrefix,
100
101
  readConfigFileKey,
102
+ readKeySource,
101
103
  readMacAppKeyPrefix,
102
104
  removeClaudeAlias
103
- } from "../chunk-4ABHSCFJ.js";
104
- import "../chunk-NILVJ7HV.js";
105
- import "../chunk-CRW4P7JU.js";
106
- import "../chunk-DVLQ4TVD.js";
105
+ } from "../chunk-FH4O3QGQ.js";
106
+ import "../chunk-YCL2V5FD.js";
107
+ import "../chunk-JHAPJRAN.js";
108
+ import "../chunk-Y2BOLNJV.js";
107
109
  import "../chunk-POFBE6ZY.js";
108
- import "../chunk-SXVXANPI.js";
110
+ import "../chunk-ZNAGS7O7.js";
109
111
  import {
110
112
  absoluteUrl
111
- } from "../chunk-UAA4BEYM.js";
112
- import "../chunk-B4OS2OVD.js";
113
- import "../chunk-KRDQQL2X.js";
113
+ } from "../chunk-UZ2YEGIT.js";
114
+ import "../chunk-TBCXMW2C.js";
115
+ import "../chunk-NBGJ3EOE.js";
114
116
  import "../chunk-7QLSKOSU.js";
115
117
  import {
116
118
  EXIT
117
119
  } from "../chunk-KZERVKTD.js";
118
- import "../chunk-MID7BURF.js";
120
+ import "../chunk-NVXC6ZBR.js";
119
121
  import {
120
122
  claudeJson,
121
123
  claudeMcpReceipt,
@@ -152,14 +154,14 @@ import {
152
154
  restoreCodexHookTrust,
153
155
  vscodePluginDir,
154
156
  vscodePluginMcp
155
- } from "../chunk-FEKP3NJR.js";
156
- import "../chunk-FT7UNIS3.js";
157
+ } from "../chunk-CEF4UQ3X.js";
158
+ import "../chunk-AQFEP65J.js";
157
159
  import {
158
160
  getBaseUrl
159
- } from "../chunk-XQ4HTTBB.js";
161
+ } from "../chunk-4WHNRAOK.js";
160
162
  import {
161
163
  NPX_LATEST_COMMAND
162
- } from "../chunk-LHGB64O2.js";
164
+ } from "../chunk-B6KZME5D.js";
163
165
  import {
164
166
  CLI_PACKAGE_NAMES,
165
167
  HOOK_COMPATIBLE_PROFILES,
@@ -171,7 +173,7 @@ import {
171
173
  globalRootFor,
172
174
  isValidApiKey,
173
175
  redactSecrets
174
- } from "../chunk-6HMCOGKJ.js";
176
+ } from "../chunk-VBPASZU7.js";
175
177
 
176
178
  // bin/pushary-clean.ts
177
179
  import { existsSync as existsSync6, readFileSync as readFileSync4, copyFileSync, readdirSync as readdirSync4 } from "fs";
@@ -598,8 +600,8 @@ var cleanCompatibleAgent = (profile, scope, io, home) => {
598
600
  };
599
601
 
600
602
  // src/cli/clean-key-revocation.ts
601
- var isMacAppKey = (key, keys) => key === keys.macAppKey || keyPrefix(key) === keys.macAppKeyPrefix;
602
- var revocationFor = (keys) => (key) => isMacAppKey(key, keys) ? { kind: "mac_app_key", keyPrefix: keyPrefix(key) } : { kind: "revoke", key };
603
+ var isMacAppCurrentOrAdoptedKey = (key, keys) => key === keys.macAppKey || isAdoptedMacAppKey(key, keys.macAppKeyPrefix);
604
+ var revocationFor = (keys) => (key) => isMacAppCurrentOrAdoptedKey(key, keys) ? { kind: "mac_app_key", keyPrefix: keyPrefix(key) } : { kind: "revoke", key };
603
605
  var validKeys = (keys) => [...new Set(keys)].filter((key) => key !== null && isValidApiKey(key));
604
606
  var environmentOnlyKey = (keys, written) => validKeys([keys.envKey]).filter((key) => !written.includes(key)).map((key) => ({ kind: "environment_only", keyPrefix: keyPrefix(key) }));
605
607
  var planCliKeyRevocations = (keys) => {
@@ -870,10 +872,11 @@ var printKeyRevocation = (report) => {
870
872
  };
871
873
  var revokeKeysThisCliHolds = async () => {
872
874
  const baseUrl = getBaseUrl();
875
+ const source = readKeySource();
873
876
  const revocations = planCliKeyRevocations({
874
877
  configKey: readConfigFileKey(),
875
878
  profileKeys: findExportedKeyLines().map((line) => line.key),
876
- envKey: process.env.PUSHARY_API_KEY?.trim() || null,
879
+ envKey: source.kind === "env" ? source.key : null,
877
880
  macAppKey: readMacAppAgentKey(),
878
881
  macAppKeyPrefix: readMacAppKeyPrefix()
879
882
  });
@@ -5,10 +5,10 @@ import {
5
5
  postLiveSession,
6
6
  postLiveSessionUntilAccepted,
7
7
  startLiveSessionHeartbeat
8
- } from "../chunk-A6U4RRFM.js";
8
+ } from "../chunk-LUDGBOLV.js";
9
9
  import {
10
10
  resolveProviderBinary
11
- } from "../chunk-OWUDBHXW.js";
11
+ } from "../chunk-Z5EYCMJH.js";
12
12
  import "../chunk-RIVNNBEK.js";
13
13
  import {
14
14
  SESSION_IDLE_TIMEOUT_MS,
@@ -16,50 +16,50 @@ import {
16
16
  idleDeadlinePassed,
17
17
  startProcessOwnership,
18
18
  withSpawnProcessOwnership
19
- } from "../chunk-KT36OCRW.js";
20
- import "../chunk-XGHXQUDG.js";
21
- import "../chunk-ATDOYZXC.js";
19
+ } from "../chunk-7AFLHL2R.js";
20
+ import "../chunk-6WINXCXY.js";
21
+ import "../chunk-IM7EGZVH.js";
22
22
  import {
23
23
  transcriptsEnabled
24
- } from "../chunk-2V2CCTGQ.js";
24
+ } from "../chunk-6WBIQQHO.js";
25
25
  import {
26
26
  spawnClaude
27
27
  } from "../chunk-XHKBHWLX.js";
28
28
  import "../chunk-6ICPEJY5.js";
29
- import "../chunk-4ABHSCFJ.js";
29
+ import "../chunk-FH4O3QGQ.js";
30
30
  import {
31
31
  isAskUserResponse,
32
32
  isDecisionStopped,
33
33
  isWaitForAnswerResponse,
34
34
  withdrawQuestion,
35
35
  writeDegraded
36
- } from "../chunk-DVLQ4TVD.js";
36
+ } from "../chunk-Y2BOLNJV.js";
37
37
  import "../chunk-POFBE6ZY.js";
38
38
  import {
39
39
  callMcpTool
40
- } from "../chunk-SXVXANPI.js";
41
- import "../chunk-UAA4BEYM.js";
42
- import "../chunk-B4OS2OVD.js";
40
+ } from "../chunk-ZNAGS7O7.js";
41
+ import "../chunk-UZ2YEGIT.js";
42
+ import "../chunk-TBCXMW2C.js";
43
43
  import {
44
44
  getMachineId
45
- } from "../chunk-KRDQQL2X.js";
45
+ } from "../chunk-NBGJ3EOE.js";
46
46
  import "../chunk-7QLSKOSU.js";
47
47
  import "../chunk-KZERVKTD.js";
48
- import "../chunk-MID7BURF.js";
49
- import "../chunk-FEKP3NJR.js";
50
- import "../chunk-FT7UNIS3.js";
48
+ import "../chunk-NVXC6ZBR.js";
49
+ import "../chunk-CEF4UQ3X.js";
50
+ import "../chunk-AQFEP65J.js";
51
51
  import {
52
52
  getApiKey,
53
53
  getBaseUrl
54
- } from "../chunk-XQ4HTTBB.js";
55
- import "../chunk-LHGB64O2.js";
54
+ } from "../chunk-4WHNRAOK.js";
55
+ import "../chunk-B6KZME5D.js";
56
56
  import {
57
57
  elicitationContent,
58
58
  parseAgentQuestion,
59
59
  parseAgentQuestionAnswers,
60
60
  planElicitationAsk,
61
61
  readElicitationFields
62
- } from "../chunk-6HMCOGKJ.js";
62
+ } from "../chunk-VBPASZU7.js";
63
63
 
64
64
  // bin/pushary-codex-bridge.ts
65
65
  import { existsSync } from "fs";
@@ -1,41 +1,41 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  takeHookHoldBudget
4
- } from "../chunk-5C2GFTWE.js";
4
+ } from "../chunk-TQIPIFL7.js";
5
5
  import {
6
6
  defersToNativeMode,
7
7
  reportMachineDenial
8
- } from "../chunk-23QKUOEV.js";
8
+ } from "../chunk-G4TV5GYU.js";
9
9
  import {
10
10
  triggerAutoUpdate
11
- } from "../chunk-VCLDXVR3.js";
11
+ } from "../chunk-5PW6GMQO.js";
12
12
  import {
13
13
  isGatingMoment,
14
14
  recordKeylessMoment
15
- } from "../chunk-736I6CBY.js";
15
+ } from "../chunk-UKCRTTKF.js";
16
16
  import {
17
17
  readHookInput
18
- } from "../chunk-T27NT7LJ.js";
18
+ } from "../chunk-II6OFDB3.js";
19
19
  import {
20
20
  announceSubscriptionRequired,
21
21
  denyReasonFrom,
22
22
  isDeferAnswer
23
- } from "../chunk-5LQRUBFB.js";
24
- import "../chunk-XUUE6MYM.js";
25
- import "../chunk-6WEC3KZP.js";
26
- import "../chunk-6GQDOO5P.js";
27
- import "../chunk-XGHXQUDG.js";
28
- import "../chunk-ATDOYZXC.js";
29
- import "../chunk-2V2CCTGQ.js";
23
+ } from "../chunk-PCVAK67W.js";
24
+ import "../chunk-TJ4KMPYO.js";
25
+ import "../chunk-VTR4VRL2.js";
26
+ import "../chunk-L5NPRGVE.js";
27
+ import "../chunk-6WINXCXY.js";
28
+ import "../chunk-IM7EGZVH.js";
29
+ import "../chunk-6WBIQQHO.js";
30
30
  import "../chunk-XHKBHWLX.js";
31
- import "../chunk-E2RXTRM2.js";
32
- import "../chunk-SEZUF33H.js";
33
- import "../chunk-YAU4JCYI.js";
34
- import "../chunk-YONHM5BQ.js";
35
- import "../chunk-7TSL3JCX.js";
31
+ import "../chunk-BDL6GJOQ.js";
32
+ import "../chunk-PYWZYM74.js";
33
+ import "../chunk-YLLGKY7K.js";
34
+ import "../chunk-247PAUW6.js";
35
+ import "../chunk-AXBFNQG6.js";
36
36
  import "../chunk-GMXKITVA.js";
37
37
  import "../chunk-6ICPEJY5.js";
38
- import "../chunk-4ABHSCFJ.js";
38
+ import "../chunk-FH4O3QGQ.js";
39
39
  import {
40
40
  CODEX_AGENT,
41
41
  DEFAULT_SESSION,
@@ -79,8 +79,8 @@ import {
79
79
  toPolicyLookup,
80
80
  toPolicyLookups,
81
81
  userScope
82
- } from "../chunk-NILVJ7HV.js";
83
- import "../chunk-CRW4P7JU.js";
82
+ } from "../chunk-YCL2V5FD.js";
83
+ import "../chunk-JHAPJRAN.js";
84
84
  import {
85
85
  askUser,
86
86
  cancelQuestion,
@@ -93,31 +93,31 @@ import {
93
93
  sendNotification,
94
94
  unavailableQuestionUnlessSubscriptionRequired,
95
95
  waitForQuestion
96
- } from "../chunk-DVLQ4TVD.js";
96
+ } from "../chunk-Y2BOLNJV.js";
97
97
  import "../chunk-POFBE6ZY.js";
98
98
  import {
99
99
  SubscriptionRequiredError
100
- } from "../chunk-SXVXANPI.js";
101
- import "../chunk-UAA4BEYM.js";
102
- import "../chunk-B4OS2OVD.js";
100
+ } from "../chunk-ZNAGS7O7.js";
101
+ import "../chunk-UZ2YEGIT.js";
102
+ import "../chunk-TBCXMW2C.js";
103
103
  import {
104
104
  getMachineId
105
- } from "../chunk-KRDQQL2X.js";
105
+ } from "../chunk-NBGJ3EOE.js";
106
106
  import "../chunk-7QLSKOSU.js";
107
107
  import {
108
108
  EXIT
109
109
  } from "../chunk-KZERVKTD.js";
110
- import "../chunk-MID7BURF.js";
110
+ import "../chunk-NVXC6ZBR.js";
111
111
  import {
112
112
  canonicalJson
113
- } from "../chunk-FEKP3NJR.js";
113
+ } from "../chunk-CEF4UQ3X.js";
114
114
  import {
115
115
  writeFileAtomic
116
- } from "../chunk-FT7UNIS3.js";
116
+ } from "../chunk-AQFEP65J.js";
117
117
  import {
118
118
  getApiKey
119
- } from "../chunk-XQ4HTTBB.js";
120
- import "../chunk-LHGB64O2.js";
119
+ } from "../chunk-4WHNRAOK.js";
120
+ import "../chunk-B6KZME5D.js";
121
121
  import {
122
122
  CODEX_RESCUE_TOOL_NAME,
123
123
  DECISION_STOP_REASON,
@@ -139,7 +139,7 @@ import {
139
139
  resolveGate,
140
140
  scopeBreachReasonOf,
141
141
  unapprovedScopeReason
142
- } from "../chunk-6HMCOGKJ.js";
142
+ } from "../chunk-VBPASZU7.js";
143
143
 
144
144
  // bin/pushary-codex-hook.ts
145
145
  import { basename } from "path";
@@ -767,7 +767,7 @@ var decidePreToolUse = async (input) => {
767
767
  };
768
768
  var repairCodexHoldsQuietly = async () => {
769
769
  try {
770
- const { repairCodexHolds } = await import("../reapply-7KPSIO4L.js");
770
+ const { repairCodexHolds } = await import("../reapply-BUCDXIIM.js");
771
771
  repairCodexHolds();
772
772
  } catch {
773
773
  return;