@pushary/agent-hooks 0.95.8 → 0.97.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 (82) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/dist/bin/pushary-bell-hook.js +19 -21
  3. package/dist/bin/pushary-bell.js +6 -8
  4. package/dist/bin/pushary-claude.js +21 -23
  5. package/dist/bin/pushary-clean.js +19 -22
  6. package/dist/bin/pushary-codex-bridge.js +13 -14
  7. package/dist/bin/pushary-codex-hook.js +452 -104
  8. package/dist/bin/pushary-codex.js +8 -8
  9. package/dist/bin/pushary-connect.js +6 -6
  10. package/dist/bin/pushary-cowork.js +3 -3
  11. package/dist/bin/pushary-daemon.js +25 -27
  12. package/dist/bin/pushary-disconnect.js +6 -8
  13. package/dist/bin/pushary-doctor.js +28 -23
  14. package/dist/bin/pushary-elicitation-hook.js +19 -21
  15. package/dist/bin/pushary-gemini-bridge.js +11 -12
  16. package/dist/bin/pushary-gemini-hook.js +22 -24
  17. package/dist/bin/pushary-hook.js +24 -26
  18. package/dist/bin/pushary-login.js +7 -8
  19. package/dist/bin/pushary-logout.js +4 -4
  20. package/dist/bin/pushary-mode.js +3 -3
  21. package/dist/bin/pushary-notification-hook.js +21 -23
  22. package/dist/bin/pushary-opencode-hook.js +22 -24
  23. package/dist/bin/pushary-permission-denied-hook.js +28 -27
  24. package/dist/bin/pushary-permission-hook.js +24 -26
  25. package/dist/bin/pushary-post-hook.js +21 -23
  26. package/dist/bin/pushary-prompt-hook.js +21 -23
  27. package/dist/bin/pushary-session-end-hook.js +21 -23
  28. package/dist/bin/pushary-session-start-hook.js +24 -26
  29. package/dist/bin/pushary-setup.js +34 -38
  30. package/dist/bin/pushary-stats.js +2 -2
  31. package/dist/bin/pushary-status.js +10 -11
  32. package/dist/bin/pushary-stop-hook.js +21 -23
  33. package/dist/bin/pushary-stopfailure-hook.js +21 -23
  34. package/dist/bin/pushary-transcript-register.js +17 -19
  35. package/dist/bin/pushary-transcripts.js +5 -5
  36. package/dist/bin/pushary-upgrade.js +17 -20
  37. package/dist/bin/pushary-wait.js +3 -3
  38. package/dist/{chunk-RE25RJ5A.js → chunk-3SNTEHOH.js} +4 -4
  39. package/dist/{chunk-R3OZ5ISU.js → chunk-4AXWBCCO.js} +4 -4
  40. package/dist/{chunk-XEVOPOKT.js → chunk-5ODZEFP3.js} +1 -1
  41. package/dist/{chunk-NOVA7KZ2.js → chunk-67RNDRKL.js} +260 -32
  42. package/dist/{chunk-3YFJGKJQ.js → chunk-6VXZKOBB.js} +8 -8
  43. package/dist/{chunk-ATKGKAP6.js → chunk-6WJKYD3Q.js} +8 -8
  44. package/dist/{chunk-EMGGUO2Q.js → chunk-A4AIISZZ.js} +1 -1
  45. package/dist/{chunk-N6FAXQDD.js → chunk-AXSDMDJI.js} +1 -1
  46. package/dist/{chunk-XO3JR3OP.js → chunk-B3557BDL.js} +2 -2
  47. package/dist/{chunk-QJPYJVL3.js → chunk-BYH75I7Y.js} +1 -1
  48. package/dist/{chunk-VERXHIQF.js → chunk-C2FYSFTQ.js} +1 -1
  49. package/dist/{chunk-SKPXQRKN.js → chunk-CDSA3NTB.js} +1 -1
  50. package/dist/{chunk-HUGIKB5O.js → chunk-DGUMR5LZ.js} +6 -6
  51. package/dist/{chunk-54W7ELDQ.js → chunk-DNLFSRCF.js} +2 -2
  52. package/dist/{chunk-R6LBGKWQ.js → chunk-DOKFLZWL.js} +10 -14
  53. package/dist/{chunk-U5RIXR7I.js → chunk-EHQC3GWL.js} +1 -1
  54. package/dist/{chunk-QD73WATQ.js → chunk-FU5SQKAY.js} +15 -4
  55. package/dist/{chunk-TY6IJY6I.js → chunk-GGYH6LIE.js} +1 -1
  56. package/dist/{chunk-XZWUOCJZ.js → chunk-H4VNAOCG.js} +1 -1
  57. package/dist/{chunk-MC5WUOJJ.js → chunk-HUZW6SEO.js} +75 -1
  58. package/dist/{chunk-QV266EGS.js → chunk-IBRX7LRE.js} +8 -10
  59. package/dist/{chunk-UKMLSQXA.js → chunk-ICUBJNFL.js} +2 -2
  60. package/dist/{chunk-E47WV7BJ.js → chunk-IZKCA35M.js} +2 -2
  61. package/dist/{chunk-F4TMY6XI.js → chunk-K7MLXXPY.js} +2 -2
  62. package/dist/{chunk-Y6SCMXR6.js → chunk-KDPYXMUI.js} +2 -2
  63. package/dist/{chunk-XS33QBJA.js → chunk-LGXUGYUH.js} +50 -1
  64. package/dist/{chunk-I7LKI4WO.js → chunk-LYWTLNMG.js} +6 -8
  65. package/dist/chunk-OYTOLQ3N.js +15 -0
  66. package/dist/{chunk-XUTSZYYJ.js → chunk-QFAZ6QCT.js} +1 -4
  67. package/dist/{chunk-FRXZMCVA.js → chunk-ROTIPRM4.js} +1 -1
  68. package/dist/{chunk-BQL7UDIB.js → chunk-SW37HB27.js} +1 -1
  69. package/dist/{chunk-Z4JVEL7R.js → chunk-VCKQ45QA.js} +191 -2
  70. package/dist/{chunk-SDNTRS76.js → chunk-VDTC5DEM.js} +1 -1
  71. package/dist/{chunk-VMQU7YEJ.js → chunk-VF7YOT2W.js} +1 -1
  72. package/dist/{chunk-5GKNAQTG.js → chunk-VOC55PQV.js} +1 -1
  73. package/dist/{chunk-L7NOG547.js → chunk-VTUN7WSG.js} +1 -1
  74. package/dist/{chunk-GOPIMNVC.js → chunk-WIKEADOS.js} +1 -1
  75. package/dist/chunk-XDMHLQMH.js +202 -0
  76. package/dist/{chunk-4DUEIUUO.js → chunk-YRXVC4HL.js} +1 -1
  77. package/dist/{chunk-A22VQ5ZL.js → chunk-YX3U2CLP.js} +111 -55
  78. package/dist/src/index.js +11 -11
  79. package/package.json +1 -1
  80. package/dist/chunk-3AJIK5AO.js +0 -57
  81. package/dist/chunk-L4ZCFMWW.js +0 -177
  82. package/dist/chunk-VDI645ZX.js +0 -18
@@ -1,27 +1,27 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  reportEvent
4
- } from "../chunk-HUGIKB5O.js";
5
- import "../chunk-Z4JVEL7R.js";
6
- import "../chunk-XUTSZYYJ.js";
4
+ } from "../chunk-DGUMR5LZ.js";
5
+ import "../chunk-VCKQ45QA.js";
6
+ import "../chunk-QFAZ6QCT.js";
7
7
  import {
8
8
  askUser,
9
9
  isDecisionStopped,
10
10
  waitForAnswer
11
- } from "../chunk-XS33QBJA.js";
11
+ } from "../chunk-LGXUGYUH.js";
12
12
  import {
13
13
  getMachineId
14
- } from "../chunk-E47WV7BJ.js";
15
- import "../chunk-NOVA7KZ2.js";
14
+ } from "../chunk-IZKCA35M.js";
15
+ import "../chunk-67RNDRKL.js";
16
16
  import "../chunk-EYRGBYZG.js";
17
17
  import "../chunk-SAF6HGAA.js";
18
18
  import "../chunk-7QLSKOSU.js";
19
19
  import "../chunk-KZERVKTD.js";
20
- import "../chunk-L7NOG547.js";
20
+ import "../chunk-VTUN7WSG.js";
21
21
  import {
22
22
  getApiKey
23
23
  } from "../chunk-2UMNXADU.js";
24
- import "../chunk-MC5WUOJJ.js";
24
+ import "../chunk-HUZW6SEO.js";
25
25
 
26
26
  // bin/pushary-codex.ts
27
27
  import { basename } from "path";
@@ -1,16 +1,16 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  printKeyCheck
4
- } from "../chunk-SDNTRS76.js";
4
+ } from "../chunk-VDTC5DEM.js";
5
5
  import {
6
6
  connectDevice,
7
7
  connectExistingApp,
8
8
  printConnectInstructions
9
- } from "../chunk-XO3JR3OP.js";
9
+ } from "../chunk-B3557BDL.js";
10
10
  import "../chunk-3EGEA4KH.js";
11
11
  import {
12
12
  checkApiKey
13
- } from "../chunk-BQL7UDIB.js";
13
+ } from "../chunk-SW37HB27.js";
14
14
  import "../chunk-QCGNGEGE.js";
15
15
  import {
16
16
  createIo
@@ -25,7 +25,7 @@ import {
25
25
  import "../chunk-DINDL2CF.js";
26
26
  import {
27
27
  readKeySource
28
- } from "../chunk-VMQU7YEJ.js";
28
+ } from "../chunk-VF7YOT2W.js";
29
29
  import "../chunk-EYRGBYZG.js";
30
30
  import "../chunk-SAF6HGAA.js";
31
31
  import {
@@ -34,9 +34,9 @@ import {
34
34
  import {
35
35
  EXIT
36
36
  } from "../chunk-KZERVKTD.js";
37
- import "../chunk-L7NOG547.js";
37
+ import "../chunk-VTUN7WSG.js";
38
38
  import "../chunk-2UMNXADU.js";
39
- import "../chunk-MC5WUOJJ.js";
39
+ import "../chunk-HUZW6SEO.js";
40
40
 
41
41
  // bin/pushary-connect.ts
42
42
  exitOnHelpFlag("connect");
@@ -2,12 +2,12 @@
2
2
  import {
3
3
  coworkOutput,
4
4
  parseCoworkOptions
5
- } from "../chunk-UKMLSQXA.js";
5
+ } from "../chunk-ICUBJNFL.js";
6
6
  import {
7
7
  canOpenBrowser,
8
8
  openInBrowser
9
9
  } from "../chunk-PUZZELE6.js";
10
- import "../chunk-XZWUOCJZ.js";
10
+ import "../chunk-H4VNAOCG.js";
11
11
  import {
12
12
  exitOnHelpFlag
13
13
  } from "../chunk-GOQHN2UH.js";
@@ -22,7 +22,7 @@ import {
22
22
  } from "../chunk-KZERVKTD.js";
23
23
  import {
24
24
  CLAUDE_CONNECTOR_GUIDE
25
- } from "../chunk-MC5WUOJJ.js";
25
+ } from "../chunk-HUZW6SEO.js";
26
26
 
27
27
  // bin/pushary-cowork.ts
28
28
  exitOnHelpFlag("cowork");
@@ -1,18 +1,18 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  inspectConfiguredManagedProviders
4
- } from "../chunk-R6LBGKWQ.js";
5
- import "../chunk-4DUEIUUO.js";
4
+ } from "../chunk-DOKFLZWL.js";
5
+ import "../chunk-YRXVC4HL.js";
6
6
  import {
7
7
  HEARTBEAT_INTERVAL_MS,
8
8
  sendHeartbeat
9
- } from "../chunk-RE25RJ5A.js";
10
- import "../chunk-ATKGKAP6.js";
9
+ } from "../chunk-3SNTEHOH.js";
10
+ import "../chunk-6WJKYD3Q.js";
11
11
  import {
12
12
  detectProviderLiveCapabilities,
13
13
  hasSpawnProvider,
14
14
  resolveControlPolicy
15
- } from "../chunk-54W7ELDQ.js";
15
+ } from "../chunk-DNLFSRCF.js";
16
16
  import {
17
17
  SESSION_REAP_SILENCE_MS,
18
18
  describeIdleWindow,
@@ -20,15 +20,15 @@ import {
20
20
  listProcessProofs,
21
21
  ownsLiveProcess,
22
22
  silentSpawnedProofs
23
- } from "../chunk-Y6SCMXR6.js";
23
+ } from "../chunk-KDPYXMUI.js";
24
24
  import {
25
25
  startRegisteredTranscripts
26
- } from "../chunk-3YFJGKJQ.js";
27
- import "../chunk-EMGGUO2Q.js";
28
- import "../chunk-R3OZ5ISU.js";
29
- import "../chunk-XZWUOCJZ.js";
30
- import "../chunk-QJPYJVL3.js";
31
- import "../chunk-QD73WATQ.js";
26
+ } from "../chunk-6VXZKOBB.js";
27
+ import "../chunk-A4AIISZZ.js";
28
+ import "../chunk-4AXWBCCO.js";
29
+ import "../chunk-H4VNAOCG.js";
30
+ import "../chunk-BYH75I7Y.js";
31
+ import "../chunk-FU5SQKAY.js";
32
32
  import {
33
33
  DAEMON_LEASE_RENEW_INTERVAL_MS,
34
34
  acquireDaemonLease,
@@ -45,24 +45,22 @@ import {
45
45
  requestDaemonHandoff,
46
46
  stopDaemonRunning,
47
47
  writeDaemonNeedsLogin
48
- } from "../chunk-I7LKI4WO.js";
49
- import "../chunk-QV266EGS.js";
50
- import "../chunk-GOPIMNVC.js";
51
- import "../chunk-3AJIK5AO.js";
52
- import "../chunk-SKPXQRKN.js";
48
+ } from "../chunk-LYWTLNMG.js";
49
+ import "../chunk-IBRX7LRE.js";
50
+ import "../chunk-WIKEADOS.js";
51
+ import "../chunk-CDSA3NTB.js";
53
52
  import "../chunk-EQRS3SGM.js";
54
- import "../chunk-VERXHIQF.js";
53
+ import "../chunk-C2FYSFTQ.js";
55
54
  import {
56
55
  spawnClaude
57
56
  } from "../chunk-XHKBHWLX.js";
58
- import {
59
- resolveBinary
60
- } from "../chunk-L4ZCFMWW.js";
61
- import "../chunk-XUTSZYYJ.js";
57
+ import "../chunk-QFAZ6QCT.js";
62
58
  import {
63
59
  getMachineId
64
- } from "../chunk-E47WV7BJ.js";
65
- import "../chunk-NOVA7KZ2.js";
60
+ } from "../chunk-IZKCA35M.js";
61
+ import {
62
+ resolveBinary
63
+ } from "../chunk-67RNDRKL.js";
66
64
  import {
67
65
  writeHuman
68
66
  } from "../chunk-QCGNGEGE.js";
@@ -74,17 +72,17 @@ import "../chunk-GMXKITVA.js";
74
72
  import "../chunk-DINDL2CF.js";
75
73
  import {
76
74
  readControlMode
77
- } from "../chunk-VMQU7YEJ.js";
75
+ } from "../chunk-VF7YOT2W.js";
78
76
  import "../chunk-7QLSKOSU.js";
79
77
  import {
80
78
  EXIT
81
79
  } from "../chunk-KZERVKTD.js";
82
- import "../chunk-L7NOG547.js";
80
+ import "../chunk-VTUN7WSG.js";
83
81
  import {
84
82
  getApiKey,
85
83
  getBaseUrl
86
84
  } from "../chunk-2UMNXADU.js";
87
- import "../chunk-MC5WUOJJ.js";
85
+ import "../chunk-HUZW6SEO.js";
88
86
 
89
87
  // src/spawn-daemon.ts
90
88
  import { execFileSync, spawn } from "child_process";
@@ -8,19 +8,17 @@ import {
8
8
  openCodePluginDir,
9
9
  openCodePluginFile,
10
10
  removeOpenCodeMcpServer
11
- } from "../chunk-U5RIXR7I.js";
11
+ } from "../chunk-EHQC3GWL.js";
12
12
  import {
13
13
  isClaudeMcpSnapshot,
14
14
  removeClaudeMcpServers,
15
15
  removePusharySettings,
16
16
  restoreClaudeMcpServer
17
- } from "../chunk-ATKGKAP6.js";
17
+ } from "../chunk-6WJKYD3Q.js";
18
18
  import {
19
19
  removeGeminiSettings
20
- } from "../chunk-QV266EGS.js";
21
- import "../chunk-3AJIK5AO.js";
22
- import "../chunk-L4ZCFMWW.js";
23
- import "../chunk-XUTSZYYJ.js";
20
+ } from "../chunk-IBRX7LRE.js";
21
+ import "../chunk-QFAZ6QCT.js";
24
22
  import {
25
23
  claudeJson,
26
24
  claudeMcpReceipt,
@@ -34,7 +32,7 @@ import {
34
32
  geminiSettings,
35
33
  removeCodexHooks,
36
34
  removeCodexSettings
37
- } from "../chunk-NOVA7KZ2.js";
35
+ } from "../chunk-67RNDRKL.js";
38
36
  import {
39
37
  exitOnHelpFlag
40
38
  } from "../chunk-GOQHN2UH.js";
@@ -43,7 +41,7 @@ import "../chunk-DINDL2CF.js";
43
41
  import "../chunk-KZERVKTD.js";
44
42
  import {
45
43
  DISCONNECTABLE_AGENTS
46
- } from "../chunk-MC5WUOJJ.js";
44
+ } from "../chunk-HUZW6SEO.js";
47
45
 
48
46
  // bin/pushary-disconnect.ts
49
47
  import { readdirSync, readFileSync, rmSync, writeFileSync } from "fs";
@@ -9,7 +9,7 @@ import {
9
9
  import {
10
10
  readMachineReadiness,
11
11
  readManagedControlEvidence
12
- } from "../chunk-RE25RJ5A.js";
12
+ } from "../chunk-3SNTEHOH.js";
13
13
  import {
14
14
  CURSOR_GATE_SCRIPT
15
15
  } from "../chunk-KBITFQST.js";
@@ -21,32 +21,34 @@ import {
21
21
  isDetected,
22
22
  isPluginRegistered,
23
23
  vscodeSettingsTargets
24
- } from "../chunk-F4TMY6XI.js";
24
+ } from "../chunk-K7MLXXPY.js";
25
25
  import {
26
26
  OPENCODE_PLUGIN_PLACEHOLDER,
27
27
  openCodePluginDir,
28
28
  openCodePluginFile,
29
29
  openCodeWired
30
- } from "../chunk-U5RIXR7I.js";
31
- import "../chunk-ATKGKAP6.js";
30
+ } from "../chunk-EHQC3GWL.js";
31
+ import "../chunk-6WJKYD3Q.js";
32
32
  import {
33
33
  detectProviderLiveCapabilities,
34
34
  hasSpawnProvider,
35
35
  resolveControlPolicy
36
- } from "../chunk-54W7ELDQ.js";
36
+ } from "../chunk-DNLFSRCF.js";
37
37
  import {
38
38
  readLedgerSummary
39
- } from "../chunk-5GKNAQTG.js";
39
+ } from "../chunk-VOC55PQV.js";
40
40
  import {
41
41
  describeBridgeResolution,
42
42
  isBridgeLocator,
43
43
  liveBridgeProbe,
44
44
  resolveBridgeStub
45
- } from "../chunk-QJPYJVL3.js";
45
+ } from "../chunk-BYH75I7Y.js";
46
46
  import {
47
47
  claudeOtherHolders,
48
+ claudeUnprovenHolds,
48
49
  claudeWired,
49
50
  codexOtherHolders,
51
+ codexUnprovenHolds,
50
52
  codexWired,
51
53
  cursorMcpAuthorization,
52
54
  cursorOtherHolders,
@@ -57,7 +59,7 @@ import {
57
59
  geminiWired,
58
60
  holdsLong,
59
61
  pusharyHookExecutable
60
- } from "../chunk-QD73WATQ.js";
62
+ } from "../chunk-FU5SQKAY.js";
61
63
  import {
62
64
  daemonHasRemoteProof,
63
65
  daemonServiceManagerAvailable,
@@ -66,22 +68,18 @@ import {
66
68
  readDaemonNeedsLogin,
67
69
  readDaemonStatus,
68
70
  readInstalledDaemonService
69
- } from "../chunk-I7LKI4WO.js";
71
+ } from "../chunk-LYWTLNMG.js";
70
72
  import {
71
73
  GEMINI_HOOK_BINARY,
72
74
  hasGeminiHooks,
73
75
  missingGeminiHookEvents
74
- } from "../chunk-QV266EGS.js";
75
- import "../chunk-3AJIK5AO.js";
76
+ } from "../chunk-IBRX7LRE.js";
76
77
  import "../chunk-XHKBHWLX.js";
77
- import {
78
- execNpm
79
- } from "../chunk-L4ZCFMWW.js";
80
- import "../chunk-Z4JVEL7R.js";
81
- import "../chunk-XUTSZYYJ.js";
78
+ import "../chunk-VCKQ45QA.js";
79
+ import "../chunk-QFAZ6QCT.js";
82
80
  import {
83
81
  getMachineId
84
- } from "../chunk-E47WV7BJ.js";
82
+ } from "../chunk-IZKCA35M.js";
85
83
  import {
86
84
  CODEX_HOOK_EVENTS,
87
85
  claudeJson,
@@ -96,6 +94,7 @@ import {
96
94
  cursorPluginDir,
97
95
  cursorUserHooks,
98
96
  cursorUserMcp,
97
+ execNpm,
99
98
  geminiMd,
100
99
  geminiSettings,
101
100
  hasCodexHooks,
@@ -103,7 +102,7 @@ import {
103
102
  pusharyConfigFile,
104
103
  readCodexMcpAuth,
105
104
  vscodePluginDir
106
- } from "../chunk-NOVA7KZ2.js";
105
+ } from "../chunk-67RNDRKL.js";
107
106
  import {
108
107
  describeReach,
109
108
  describeRoundTrip,
@@ -111,12 +110,12 @@ import {
111
110
  reachVerdict,
112
111
  roundTripEvidence,
113
112
  verifyRoundTrip
114
- } from "../chunk-XO3JR3OP.js";
113
+ } from "../chunk-B3557BDL.js";
115
114
  import "../chunk-3EGEA4KH.js";
116
115
  import {
117
116
  checkApiKey,
118
117
  describeKeyCheck
119
- } from "../chunk-BQL7UDIB.js";
118
+ } from "../chunk-SW37HB27.js";
120
119
  import "../chunk-QCGNGEGE.js";
121
120
  import {
122
121
  createIo
@@ -135,7 +134,7 @@ import {
135
134
  keyPrefix,
136
135
  readControlMode,
137
136
  readKeySource
138
- } from "../chunk-VMQU7YEJ.js";
137
+ } from "../chunk-VF7YOT2W.js";
139
138
  import {
140
139
  callMcpTool,
141
140
  sendMcpRequest
@@ -147,7 +146,7 @@ import {
147
146
  import {
148
147
  EXIT
149
148
  } from "../chunk-KZERVKTD.js";
150
- import "../chunk-L7NOG547.js";
149
+ import "../chunk-VTUN7WSG.js";
151
150
  import {
152
151
  getBaseUrl
153
152
  } from "../chunk-2UMNXADU.js";
@@ -157,7 +156,7 @@ import {
157
156
  HOOK_LOCATOR_BINARY,
158
157
  hookActivationResult,
159
158
  isHookActivationReport
160
- } from "../chunk-MC5WUOJJ.js";
159
+ } from "../chunk-HUZW6SEO.js";
161
160
 
162
161
  // bin/pushary-doctor.ts
163
162
  import { existsSync, readFileSync, writeFileSync } from "fs";
@@ -496,6 +495,9 @@ var main = async () => {
496
495
  const present = configured.includes(needle) || configured.includes(HOOK_LOCATOR_BINARY);
497
496
  check(present, `Claude Code: ${label}`, present ? void 0 : "missing \u2014 run npx @pushary/agent-hooks@latest upgrade");
498
497
  }
498
+ for (const event of claudeUnprovenHolds(settings)) {
499
+ console.log(` ${warn} Claude Code: ${event} hook predates the hold budget ${dim("(an auto-mode block only notifies; run npx @pushary/agent-hooks@latest upgrade)")}`);
500
+ }
499
501
  const preHookCommand = extractAgentHookCommand(hooks?.PreToolUse, "pushary-hook");
500
502
  if (preHookCommand) {
501
503
  const resolves = commandResolves(preHookCommand);
@@ -593,6 +595,9 @@ var main = async () => {
593
595
  console.log(` ${warn} Codex: ${stale.join(", ")} trusted at an older shape ${dim("(fires normally; re-run setup to pick up the current one)")}`);
594
596
  }
595
597
  }
598
+ for (const event of codexUnprovenHolds(codexHooksConfig)) {
599
+ console.log(` ${warn} Codex: ${event} hook predates the hold budget ${dim("(an auto-reviewer denial is not asked about; run npx @pushary/agent-hooks@latest upgrade)")}`);
600
+ }
596
601
  } else {
597
602
  check(!!codexNotifyPath, "Codex: notify handler configured (deprecated)", codexNotifyPath ? "upgrade Codex and re-run setup for native hooks" : "missing, re-run setup");
598
603
  if (codexNotifyPath) {
@@ -1,43 +1,41 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  readHookInput
4
- } from "../chunk-XEVOPOKT.js";
4
+ } from "../chunk-5ODZEFP3.js";
5
5
  import {
6
6
  isDeferAnswer
7
7
  } from "../chunk-YHG74UFF.js";
8
- import "../chunk-3YFJGKJQ.js";
9
- import "../chunk-EMGGUO2Q.js";
10
- import "../chunk-R3OZ5ISU.js";
11
- import "../chunk-XZWUOCJZ.js";
12
- import "../chunk-QJPYJVL3.js";
13
- import "../chunk-QD73WATQ.js";
14
- import "../chunk-I7LKI4WO.js";
15
- import "../chunk-QV266EGS.js";
16
- import "../chunk-GOPIMNVC.js";
17
- import "../chunk-3AJIK5AO.js";
18
- import "../chunk-SKPXQRKN.js";
8
+ import "../chunk-6VXZKOBB.js";
9
+ import "../chunk-A4AIISZZ.js";
10
+ import "../chunk-4AXWBCCO.js";
11
+ import "../chunk-H4VNAOCG.js";
12
+ import "../chunk-BYH75I7Y.js";
13
+ import "../chunk-FU5SQKAY.js";
14
+ import "../chunk-LYWTLNMG.js";
15
+ import "../chunk-IBRX7LRE.js";
16
+ import "../chunk-WIKEADOS.js";
17
+ import "../chunk-CDSA3NTB.js";
19
18
  import "../chunk-EQRS3SGM.js";
20
- import "../chunk-VERXHIQF.js";
19
+ import "../chunk-C2FYSFTQ.js";
21
20
  import "../chunk-XHKBHWLX.js";
22
- import "../chunk-L4ZCFMWW.js";
23
- import "../chunk-XUTSZYYJ.js";
21
+ import "../chunk-QFAZ6QCT.js";
24
22
  import {
25
23
  askUser,
26
24
  isDecisionStopped,
27
25
  waitForQuestion
28
- } from "../chunk-XS33QBJA.js";
26
+ } from "../chunk-LGXUGYUH.js";
29
27
  import {
30
28
  getMachineId
31
- } from "../chunk-E47WV7BJ.js";
32
- import "../chunk-NOVA7KZ2.js";
29
+ } from "../chunk-IZKCA35M.js";
30
+ import "../chunk-67RNDRKL.js";
33
31
  import "../chunk-GMXKITVA.js";
34
32
  import "../chunk-DINDL2CF.js";
35
- import "../chunk-VMQU7YEJ.js";
33
+ import "../chunk-VF7YOT2W.js";
36
34
  import "../chunk-EYRGBYZG.js";
37
35
  import "../chunk-SAF6HGAA.js";
38
36
  import "../chunk-7QLSKOSU.js";
39
37
  import "../chunk-KZERVKTD.js";
40
- import "../chunk-L7NOG547.js";
38
+ import "../chunk-VTUN7WSG.js";
41
39
  import {
42
40
  getApiKey
43
41
  } from "../chunk-2UMNXADU.js";
@@ -51,7 +49,7 @@ import {
51
49
  planElicitationAsk,
52
50
  readElicitationFields,
53
51
  renderElicitationOutput
54
- } from "../chunk-MC5WUOJJ.js";
52
+ } from "../chunk-HUZW6SEO.js";
55
53
 
56
54
  // bin/pushary-elicitation-hook.ts
57
55
  import { basename } from "path";
@@ -5,36 +5,35 @@ import {
5
5
  postLiveSession,
6
6
  postLiveSessionUntilAccepted,
7
7
  startLiveSessionHeartbeat
8
- } from "../chunk-FRXZMCVA.js";
8
+ } from "../chunk-ROTIPRM4.js";
9
9
  import {
10
10
  SESSION_IDLE_TIMEOUT_MS,
11
11
  describeIdleWindow,
12
12
  idleDeadlinePassed,
13
13
  startProcessOwnership,
14
14
  withSpawnProcessOwnership
15
- } from "../chunk-Y6SCMXR6.js";
16
- import "../chunk-SKPXQRKN.js";
15
+ } from "../chunk-KDPYXMUI.js";
16
+ import "../chunk-CDSA3NTB.js";
17
17
  import "../chunk-EQRS3SGM.js";
18
18
  import {
19
19
  transcriptsEnabled
20
- } from "../chunk-VERXHIQF.js";
20
+ } from "../chunk-C2FYSFTQ.js";
21
21
  import {
22
22
  spawnClaude
23
23
  } from "../chunk-XHKBHWLX.js";
24
- import {
25
- resolveBinary
26
- } from "../chunk-L4ZCFMWW.js";
27
24
  import {
28
25
  getMachineId
29
- } from "../chunk-E47WV7BJ.js";
30
- import "../chunk-NOVA7KZ2.js";
31
- import "../chunk-VMQU7YEJ.js";
32
- import "../chunk-L7NOG547.js";
26
+ } from "../chunk-IZKCA35M.js";
27
+ import {
28
+ resolveBinary
29
+ } from "../chunk-67RNDRKL.js";
30
+ import "../chunk-VF7YOT2W.js";
31
+ import "../chunk-VTUN7WSG.js";
33
32
  import {
34
33
  getApiKey,
35
34
  getBaseUrl
36
35
  } from "../chunk-2UMNXADU.js";
37
- import "../chunk-MC5WUOJJ.js";
36
+ import "../chunk-HUZW6SEO.js";
38
37
 
39
38
  // bin/pushary-gemini-bridge.ts
40
39
  import { existsSync } from "fs";
@@ -2,29 +2,27 @@
2
2
  import {
3
3
  isGatingMoment,
4
4
  recordKeylessMoment
5
- } from "../chunk-5GKNAQTG.js";
5
+ } from "../chunk-VOC55PQV.js";
6
6
  import {
7
7
  readHookInput
8
- } from "../chunk-XEVOPOKT.js";
8
+ } from "../chunk-5ODZEFP3.js";
9
9
  import {
10
10
  denyReasonFrom,
11
11
  isDeferAnswer
12
12
  } from "../chunk-YHG74UFF.js";
13
- import "../chunk-3YFJGKJQ.js";
14
- import "../chunk-EMGGUO2Q.js";
15
- import "../chunk-R3OZ5ISU.js";
16
- import "../chunk-XZWUOCJZ.js";
17
- import "../chunk-QJPYJVL3.js";
18
- import "../chunk-QD73WATQ.js";
19
- import "../chunk-I7LKI4WO.js";
20
- import "../chunk-QV266EGS.js";
21
- import "../chunk-GOPIMNVC.js";
22
- import "../chunk-3AJIK5AO.js";
23
- import "../chunk-SKPXQRKN.js";
13
+ import "../chunk-6VXZKOBB.js";
14
+ import "../chunk-A4AIISZZ.js";
15
+ import "../chunk-4AXWBCCO.js";
16
+ import "../chunk-H4VNAOCG.js";
17
+ import "../chunk-BYH75I7Y.js";
18
+ import "../chunk-FU5SQKAY.js";
19
+ import "../chunk-LYWTLNMG.js";
20
+ import "../chunk-IBRX7LRE.js";
21
+ import "../chunk-WIKEADOS.js";
22
+ import "../chunk-CDSA3NTB.js";
24
23
  import "../chunk-EQRS3SGM.js";
25
- import "../chunk-VERXHIQF.js";
24
+ import "../chunk-C2FYSFTQ.js";
26
25
  import "../chunk-XHKBHWLX.js";
27
- import "../chunk-L4ZCFMWW.js";
28
26
  import {
29
27
  DEFAULT_SESSION,
30
28
  fetchModeState,
@@ -38,7 +36,7 @@ import {
38
36
  readLastUserPrompt,
39
37
  repoKeyFor,
40
38
  reportEvent
41
- } from "../chunk-HUGIKB5O.js";
39
+ } from "../chunk-DGUMR5LZ.js";
42
40
  import {
43
41
  UNNAMED_ACTION,
44
42
  deriveActionBody,
@@ -46,8 +44,8 @@ import {
46
44
  deriveToolTarget,
47
45
  describeToolCall,
48
46
  scopePathFor
49
- } from "../chunk-Z4JVEL7R.js";
50
- import "../chunk-XUTSZYYJ.js";
47
+ } from "../chunk-VCKQ45QA.js";
48
+ import "../chunk-QFAZ6QCT.js";
51
49
  import {
52
50
  DECISION_STOP_REASON,
53
51
  askUser,
@@ -55,19 +53,19 @@ import {
55
53
  isLocalQuestionHandoff,
56
54
  sendNotification,
57
55
  waitForQuestion
58
- } from "../chunk-XS33QBJA.js";
56
+ } from "../chunk-LGXUGYUH.js";
59
57
  import {
60
58
  getMachineId
61
- } from "../chunk-E47WV7BJ.js";
62
- import "../chunk-NOVA7KZ2.js";
59
+ } from "../chunk-IZKCA35M.js";
60
+ import "../chunk-67RNDRKL.js";
63
61
  import "../chunk-GMXKITVA.js";
64
62
  import "../chunk-DINDL2CF.js";
65
- import "../chunk-VMQU7YEJ.js";
63
+ import "../chunk-VF7YOT2W.js";
66
64
  import "../chunk-EYRGBYZG.js";
67
65
  import "../chunk-SAF6HGAA.js";
68
66
  import "../chunk-7QLSKOSU.js";
69
67
  import "../chunk-KZERVKTD.js";
70
- import "../chunk-L7NOG547.js";
68
+ import "../chunk-VTUN7WSG.js";
71
69
  import {
72
70
  getApiKey
73
71
  } from "../chunk-2UMNXADU.js";
@@ -79,7 +77,7 @@ import {
79
77
  hookWaitClamped,
80
78
  hookWaitDeadline,
81
79
  resolveGate
82
- } from "../chunk-MC5WUOJJ.js";
80
+ } from "../chunk-HUZW6SEO.js";
83
81
 
84
82
  // bin/pushary-gemini-hook.ts
85
83
  import { basename } from "path";