@pushary/agent-hooks 1.5.0 → 1.6.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 (83) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/README.md +2 -1
  3. package/dist/bin/pushary-bell-hook.js +18 -18
  4. package/dist/bin/pushary-bell.js +6 -6
  5. package/dist/bin/pushary-claude.js +18 -18
  6. package/dist/bin/pushary-clean.js +19 -19
  7. package/dist/bin/pushary-codex-bridge.js +10 -10
  8. package/dist/bin/pushary-codex-hook.js +23 -23
  9. package/dist/bin/pushary-codex.js +6 -6
  10. package/dist/bin/pushary-connect.js +6 -6
  11. package/dist/bin/pushary-cowork.js +3 -3
  12. package/dist/bin/pushary-daemon.js +23 -22
  13. package/dist/bin/pushary-disconnect.js +10 -10
  14. package/dist/bin/pushary-doctor.js +52 -24
  15. package/dist/bin/pushary-elicitation-hook.js +17 -17
  16. package/dist/bin/pushary-gemini-bridge.js +9 -9
  17. package/dist/bin/pushary-gemini-hook.js +20 -20
  18. package/dist/bin/pushary-hook.js +23 -23
  19. package/dist/bin/pushary-login.js +7 -7
  20. package/dist/bin/pushary-logout.js +4 -4
  21. package/dist/bin/pushary-mode.js +3 -3
  22. package/dist/bin/pushary-notification-hook.js +20 -20
  23. package/dist/bin/pushary-opencode-hook.js +19 -19
  24. package/dist/bin/pushary-permission-denied-hook.js +24 -24
  25. package/dist/bin/pushary-permission-hook.js +23 -23
  26. package/dist/bin/pushary-post-hook.js +20 -20
  27. package/dist/bin/pushary-prompt-hook.js +20 -20
  28. package/dist/bin/pushary-session-end-hook.js +20 -20
  29. package/dist/bin/pushary-session-start-hook.js +24 -23
  30. package/dist/bin/pushary-setup.js +63 -62
  31. package/dist/bin/pushary-stats.js +2 -2
  32. package/dist/bin/pushary-status.js +10 -10
  33. package/dist/bin/pushary-stop-hook.js +20 -20
  34. package/dist/bin/pushary-stopfailure-hook.js +20 -20
  35. package/dist/bin/pushary-transcript-register.js +16 -16
  36. package/dist/bin/pushary-transcripts.js +4 -4
  37. package/dist/bin/pushary-upgrade.js +80 -32
  38. package/dist/bin/pushary-wait.js +3 -3
  39. package/dist/{chunk-KEOLNHR3.js → chunk-5MH5P366.js} +2 -2
  40. package/dist/{chunk-HVBF35GT.js → chunk-5QCZYSYR.js} +1 -1
  41. package/dist/{chunk-IYTQ4B5I.js → chunk-644CGYOB.js} +66 -12
  42. package/dist/{chunk-FDHMNT24.js → chunk-66BIMA62.js} +6 -5
  43. package/dist/{chunk-UQHUUZ5H.js → chunk-7JSE6JTZ.js} +1 -1
  44. package/dist/{chunk-NFKVRMTM.js → chunk-A2GS2ENL.js} +6 -6
  45. package/dist/{chunk-TFKBFQCE.js → chunk-A5URWZTP.js} +1 -1
  46. package/dist/{chunk-MYP4UUFH.js → chunk-ALG3IBLB.js} +1 -1
  47. package/dist/{chunk-TUXFIVOH.js → chunk-B6TYEKJR.js} +1 -1
  48. package/dist/{chunk-CQYHOHOK.js → chunk-BE4P7ERZ.js} +3 -3
  49. package/dist/{chunk-EADZPVYW.js → chunk-BK5F3FGE.js} +3 -3
  50. package/dist/{chunk-F57RGL7K.js → chunk-BW3Y2D24.js} +4 -4
  51. package/dist/chunk-BY2CRWBO.js +38 -0
  52. package/dist/{chunk-43LJSM4F.js → chunk-CSW6A2EW.js} +1 -1
  53. package/dist/{chunk-7XT76LWT.js → chunk-DZ75BJ7V.js} +3 -3
  54. package/dist/{chunk-DTQNDR7C.js → chunk-E7MJBWSR.js} +1 -1
  55. package/dist/{chunk-DYHXOXUF.js → chunk-F2OPOBRO.js} +7 -21
  56. package/dist/{chunk-43ZDACBO.js → chunk-F4KRNFDE.js} +1 -1
  57. package/dist/{chunk-ORLJNJEO.js → chunk-FDF72XHK.js} +2 -2
  58. package/dist/{chunk-JF736N4C.js → chunk-FI3LQCUH.js} +5 -5
  59. package/dist/{chunk-DLJN5XEU.js → chunk-G5LENVCZ.js} +3 -3
  60. package/dist/{chunk-K3QVDAZW.js → chunk-GDXSCXQC.js} +1 -1
  61. package/dist/{chunk-5HYNICS7.js → chunk-GOXINLDU.js} +1 -1
  62. package/dist/{chunk-2QT3GCU4.js → chunk-GP6SFVEN.js} +1 -1
  63. package/dist/{chunk-J4J45VPZ.js → chunk-HWG7X3VI.js} +3 -3
  64. package/dist/{chunk-PCGZXWGQ.js → chunk-KZBGITM4.js} +4 -4
  65. package/dist/{chunk-NTQSICPJ.js → chunk-MOQOJOMD.js} +3 -3
  66. package/dist/{chunk-3NBODGQS.js → chunk-NDS27FXU.js} +1 -1
  67. package/dist/{chunk-H5LHTC5X.js → chunk-NYD7W7AT.js} +1 -1
  68. package/dist/{chunk-PNNBMH4E.js → chunk-OP7HFIWE.js} +28 -12
  69. package/dist/{chunk-SOCEY746.js → chunk-OR3A3RLH.js} +1 -1
  70. package/dist/{chunk-XWEONSLV.js → chunk-PCVVCS4A.js} +1 -1
  71. package/dist/{chunk-KJRALILH.js → chunk-PRZXYILJ.js} +2 -2
  72. package/dist/{chunk-OSSDK5RS.js → chunk-RBPJO4KG.js} +6 -2
  73. package/dist/{chunk-TIWURSLS.js → chunk-SFNRAEEW.js} +1 -1
  74. package/dist/{chunk-USQDVBEV.js → chunk-TDKE3V6W.js} +1 -1
  75. package/dist/{chunk-HU5LSYL2.js → chunk-VMNI33F5.js} +1 -1
  76. package/dist/{chunk-UYDTFCHW.js → chunk-VZANUMIF.js} +1 -1
  77. package/dist/{chunk-3ZSGKLSO.js → chunk-XGL5JC6U.js} +2 -2
  78. package/dist/chunk-XQOT4CCK.js +305 -0
  79. package/dist/{chunk-T4QY64OR.js → chunk-YFD7CRIZ.js} +376 -10
  80. package/dist/{reapply-D2TFN6XK.js → reapply-RRDVJATI.js} +12 -8
  81. package/dist/src/index.d.ts +1 -0
  82. package/dist/src/index.js +12 -12
  83. package/package.json +1 -1
@@ -1,18 +1,19 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  inspectConfiguredManagedProviders
4
- } from "../chunk-PNNBMH4E.js";
5
- import "../chunk-3NBODGQS.js";
4
+ } from "../chunk-OP7HFIWE.js";
5
+ import "../chunk-NDS27FXU.js";
6
+ import "../chunk-XQOT4CCK.js";
6
7
  import {
7
8
  HEARTBEAT_INTERVAL_MS,
8
9
  sendHeartbeat
9
- } from "../chunk-F57RGL7K.js";
10
- import "../chunk-J4J45VPZ.js";
10
+ } from "../chunk-BW3Y2D24.js";
11
+ import "../chunk-HWG7X3VI.js";
11
12
  import {
12
13
  detectProviderLiveCapabilities,
13
14
  hasSpawnProvider,
14
15
  resolveControlPolicy
15
- } from "../chunk-KEOLNHR3.js";
16
+ } from "../chunk-5MH5P366.js";
16
17
  import {
17
18
  SESSION_REAP_SILENCE_MS,
18
19
  describeIdleWindow,
@@ -20,15 +21,15 @@ import {
20
21
  listProcessProofs,
21
22
  ownsLiveProcess,
22
23
  silentSpawnedProofs
23
- } from "../chunk-MYP4UUFH.js";
24
+ } from "../chunk-ALG3IBLB.js";
24
25
  import {
25
26
  startRegisteredTranscripts
26
- } from "../chunk-NFKVRMTM.js";
27
+ } from "../chunk-A2GS2ENL.js";
27
28
  import "../chunk-SGZJ5LYH.js";
28
- import "../chunk-PCGZXWGQ.js";
29
- import "../chunk-TFKBFQCE.js";
30
- import "../chunk-K3QVDAZW.js";
31
- import "../chunk-NTQSICPJ.js";
29
+ import "../chunk-KZBGITM4.js";
30
+ import "../chunk-A5URWZTP.js";
31
+ import "../chunk-GDXSCXQC.js";
32
+ import "../chunk-MOQOJOMD.js";
32
33
  import {
33
34
  DAEMON_LEASE_RENEW_INTERVAL_MS,
34
35
  acquireDaemonLease,
@@ -45,22 +46,22 @@ import {
45
46
  requestDaemonHandoff,
46
47
  stopDaemonRunning,
47
48
  writeDaemonNeedsLogin
48
- } from "../chunk-7XT76LWT.js";
49
- import "../chunk-EADZPVYW.js";
50
- import "../chunk-SOCEY746.js";
51
- import "../chunk-TIWURSLS.js";
49
+ } from "../chunk-DZ75BJ7V.js";
50
+ import "../chunk-BK5F3FGE.js";
51
+ import "../chunk-OR3A3RLH.js";
52
+ import "../chunk-SFNRAEEW.js";
52
53
  import "../chunk-66H2QQAK.js";
53
- import "../chunk-2QT3GCU4.js";
54
+ import "../chunk-GP6SFVEN.js";
54
55
  import {
55
56
  spawnClaude
56
57
  } from "../chunk-XHKBHWLX.js";
57
- import "../chunk-UYDTFCHW.js";
58
+ import "../chunk-VZANUMIF.js";
58
59
  import {
59
60
  getMachineId
60
- } from "../chunk-UQHUUZ5H.js";
61
+ } from "../chunk-7JSE6JTZ.js";
61
62
  import {
62
63
  resolveBinary
63
- } from "../chunk-DYHXOXUF.js";
64
+ } from "../chunk-F2OPOBRO.js";
64
65
  import {
65
66
  writeHuman
66
67
  } from "../chunk-QCGNGEGE.js";
@@ -70,18 +71,18 @@ import {
70
71
  import "../chunk-GMXKITVA.js";
71
72
  import {
72
73
  readControlMode
73
- } from "../chunk-USQDVBEV.js";
74
+ } from "../chunk-TDKE3V6W.js";
74
75
  import "../chunk-7QLSKOSU.js";
75
76
  import {
76
77
  EXIT
77
78
  } from "../chunk-KZERVKTD.js";
78
- import "../chunk-HU5LSYL2.js";
79
+ import "../chunk-VMNI33F5.js";
79
80
  import "../chunk-T7E75EKA.js";
80
81
  import {
81
82
  getApiKey,
82
83
  getBaseUrl
83
84
  } from "../chunk-OSJEMXSR.js";
84
- import "../chunk-T4QY64OR.js";
85
+ import "../chunk-YFD7CRIZ.js";
85
86
  import {
86
87
  NPX_LATEST_COMMAND
87
88
  } from "../chunk-EA3IELHP.js";
@@ -8,28 +8,28 @@ import {
8
8
  openCodePluginDir,
9
9
  openCodePluginFile,
10
10
  removeOpenCodeMcpServer
11
- } from "../chunk-TUXFIVOH.js";
11
+ } from "../chunk-B6TYEKJR.js";
12
12
  import {
13
13
  compatibleConfigFile,
14
14
  compatibleMcpFile,
15
15
  compatiblePermissionRuleFile,
16
16
  removeCompatibleHooks,
17
17
  removeCompatibleMcpServer
18
- } from "../chunk-JF736N4C.js";
18
+ } from "../chunk-FI3LQCUH.js";
19
19
  import {
20
20
  isClaudeMcpSnapshot,
21
21
  removeClaudeMcpServers,
22
22
  removePusharySettings,
23
23
  removePusharyToolPermissions,
24
24
  restoreClaudeMcpServer
25
- } from "../chunk-J4J45VPZ.js";
25
+ } from "../chunk-HWG7X3VI.js";
26
26
  import {
27
27
  removeGeminiSettings
28
- } from "../chunk-EADZPVYW.js";
29
- import "../chunk-FDHMNT24.js";
30
- import "../chunk-UYDTFCHW.js";
28
+ } from "../chunk-BK5F3FGE.js";
29
+ import "../chunk-66BIMA62.js";
30
+ import "../chunk-VZANUMIF.js";
31
31
  import "../chunk-PYCQXCI5.js";
32
- import "../chunk-UQHUUZ5H.js";
32
+ import "../chunk-7JSE6JTZ.js";
33
33
  import {
34
34
  claudeJson,
35
35
  claudeMcpReceipt,
@@ -43,7 +43,7 @@ import {
43
43
  geminiSettings,
44
44
  removeCodexHooks,
45
45
  removeCodexSettings
46
- } from "../chunk-DYHXOXUF.js";
46
+ } from "../chunk-F2OPOBRO.js";
47
47
  import {
48
48
  exitOnHelpFlag
49
49
  } from "../chunk-P4BNYJ5Q.js";
@@ -51,13 +51,13 @@ import "../chunk-HETOKNIL.js";
51
51
  import "../chunk-SAF6HGAA.js";
52
52
  import "../chunk-7QLSKOSU.js";
53
53
  import "../chunk-KZERVKTD.js";
54
- import "../chunk-HU5LSYL2.js";
54
+ import "../chunk-VMNI33F5.js";
55
55
  import "../chunk-T7E75EKA.js";
56
56
  import "../chunk-OSJEMXSR.js";
57
57
  import {
58
58
  DISCONNECTABLE_AGENTS,
59
59
  hookCompatibleProfileBySource
60
- } from "../chunk-T4QY64OR.js";
60
+ } from "../chunk-YFD7CRIZ.js";
61
61
  import "../chunk-EA3IELHP.js";
62
62
  import "../chunk-HWJW3CPO.js";
63
63
 
@@ -6,10 +6,14 @@ import {
6
6
  readServiceExecPath,
7
7
  versionManagerOf
8
8
  } from "../chunk-GU3EJCVV.js";
9
+ import {
10
+ assessCodexHookTrust,
11
+ readCodexTrustForPusharyHooks
12
+ } from "../chunk-XQOT4CCK.js";
9
13
  import {
10
14
  readMachineReadiness,
11
15
  readManagedControlEvidence
12
- } from "../chunk-F57RGL7K.js";
16
+ } from "../chunk-BW3Y2D24.js";
13
17
  import {
14
18
  CURSOR_GATE_SCRIPT
15
19
  } from "../chunk-P32LPT2L.js";
@@ -22,26 +26,26 @@ import {
22
26
  isPluginRegistered,
23
27
  shortenHome,
24
28
  vscodeSettingsTargets
25
- } from "../chunk-DLJN5XEU.js";
29
+ } from "../chunk-G5LENVCZ.js";
26
30
  import {
27
31
  OPENCODE_PLUGIN_PLACEHOLDER,
28
32
  openCodePluginDir,
29
33
  openCodePluginFile,
30
34
  openCodeWired
31
- } from "../chunk-TUXFIVOH.js";
35
+ } from "../chunk-B6TYEKJR.js";
32
36
  import {
33
37
  compatibleConfigFile,
34
38
  compatibleInstructionsFile,
35
39
  compatibleMcpFile,
36
40
  hasCompatibleHooks,
37
41
  missingCompatibleHookEvents
38
- } from "../chunk-JF736N4C.js";
39
- import "../chunk-J4J45VPZ.js";
42
+ } from "../chunk-FI3LQCUH.js";
43
+ import "../chunk-HWG7X3VI.js";
40
44
  import {
41
45
  detectProviderLiveCapabilities,
42
46
  hasSpawnProvider,
43
47
  resolveControlPolicy
44
- } from "../chunk-KEOLNHR3.js";
48
+ } from "../chunk-5MH5P366.js";
45
49
  import {
46
50
  AUTO_UPDATE_DISABLE_ENV,
47
51
  autoUpdateOffReason,
@@ -49,16 +53,16 @@ import {
49
53
  describeAutoUpdateCheck,
50
54
  readAutoUpdateState,
51
55
  takeAutoUpdateAnnouncement
52
- } from "../chunk-OSSDK5RS.js";
56
+ } from "../chunk-RBPJO4KG.js";
53
57
  import {
54
58
  readLedgerSummary
55
- } from "../chunk-43ZDACBO.js";
59
+ } from "../chunk-F4KRNFDE.js";
56
60
  import {
57
61
  describeBridgeResolution,
58
62
  isBridgeLocator,
59
63
  liveBridgeProbe,
60
64
  resolveBridgeStub
61
- } from "../chunk-K3QVDAZW.js";
65
+ } from "../chunk-GDXSCXQC.js";
62
66
  import {
63
67
  claudeOtherHolders,
64
68
  claudeUnprovenHolds,
@@ -75,7 +79,7 @@ import {
75
79
  geminiWired,
76
80
  holdsLong,
77
81
  pusharyHookExecutable
78
- } from "../chunk-NTQSICPJ.js";
82
+ } from "../chunk-MOQOJOMD.js";
79
83
  import {
80
84
  daemonHasRemoteProof,
81
85
  daemonServiceManagerAvailable,
@@ -84,19 +88,19 @@ import {
84
88
  readDaemonNeedsLogin,
85
89
  readDaemonStatus,
86
90
  readInstalledDaemonService
87
- } from "../chunk-7XT76LWT.js";
91
+ } from "../chunk-DZ75BJ7V.js";
88
92
  import {
89
93
  GEMINI_HOOK_BINARY,
90
94
  hasGeminiHooks,
91
95
  missingGeminiHookEvents
92
- } from "../chunk-EADZPVYW.js";
96
+ } from "../chunk-BK5F3FGE.js";
93
97
  import "../chunk-XHKBHWLX.js";
94
- import "../chunk-FDHMNT24.js";
95
- import "../chunk-UYDTFCHW.js";
98
+ import "../chunk-66BIMA62.js";
99
+ import "../chunk-VZANUMIF.js";
96
100
  import "../chunk-PYCQXCI5.js";
97
101
  import {
98
102
  getMachineId
99
- } from "../chunk-UQHUUZ5H.js";
103
+ } from "../chunk-7JSE6JTZ.js";
100
104
  import {
101
105
  CODEX_HOOK_EVENTS,
102
106
  autoUpdateState,
@@ -121,7 +125,7 @@ import {
121
125
  pusharyConfigFile,
122
126
  readCodexMcpAuth,
123
127
  vscodePluginDir
124
- } from "../chunk-DYHXOXUF.js";
128
+ } from "../chunk-F2OPOBRO.js";
125
129
  import {
126
130
  describeReach,
127
131
  describeRoundTrip,
@@ -129,12 +133,12 @@ import {
129
133
  reachVerdict,
130
134
  roundTripEvidence,
131
135
  verifyRoundTrip
132
- } from "../chunk-KJRALILH.js";
136
+ } from "../chunk-PRZXYILJ.js";
133
137
  import "../chunk-3EGEA4KH.js";
134
138
  import {
135
139
  checkApiKey,
136
140
  describeKeyCheck
137
- } from "../chunk-43LJSM4F.js";
141
+ } from "../chunk-CSW6A2EW.js";
138
142
  import "../chunk-QCGNGEGE.js";
139
143
  import {
140
144
  createIo
@@ -149,7 +153,7 @@ import {
149
153
  keyPrefix,
150
154
  readControlMode,
151
155
  readKeySource
152
- } from "../chunk-USQDVBEV.js";
156
+ } from "../chunk-TDKE3V6W.js";
153
157
  import {
154
158
  callMcpTool,
155
159
  sendMcpRequest
@@ -161,7 +165,7 @@ import {
161
165
  import {
162
166
  EXIT
163
167
  } from "../chunk-KZERVKTD.js";
164
- import "../chunk-HU5LSYL2.js";
168
+ import "../chunk-VMNI33F5.js";
165
169
  import "../chunk-T7E75EKA.js";
166
170
  import {
167
171
  getBaseUrl
@@ -177,7 +181,7 @@ import {
177
181
  hookActivationResult,
178
182
  hookCompatibleProfile,
179
183
  isHookActivationReport
180
- } from "../chunk-T4QY64OR.js";
184
+ } from "../chunk-YFD7CRIZ.js";
181
185
  import {
182
186
  NPX_LATEST_COMMAND
183
187
  } from "../chunk-EA3IELHP.js";
@@ -201,7 +205,8 @@ var AUTO_UPDATE_OFF = {
201
205
  disabled_by_env: `off: ${AUTO_UPDATE_DISABLE_ENV} is set`,
202
206
  disabled_by_user: "off: turn it back on with pushary upgrade --auto=on",
203
207
  ci: "off in CI",
204
- windows: "not available on Windows yet"
208
+ windows: "not available on Windows yet",
209
+ linux: "paused on Linux to protect running sessions; upgrade manually after sessions finish"
205
210
  };
206
211
  var needsAttention = (input) => input.state.lastResult === "failed" || input.state.lastResult === "needs_manual" || Boolean(input.state.detail);
207
212
  var LAST_CHECK_LABEL = "Last automatic update check";
@@ -507,6 +512,21 @@ var reportOtherHolders = (agentLabel, holders) => {
507
512
  }
508
513
  console.log(` ${dim(describeHoldSentence(agentLabel))}`);
509
514
  };
515
+ var describeReadings = (readings) => readings.map((reading) => `${reading.event} ${reading.status}`).join(", ");
516
+ var CODEX_NONE_LISTED = "Codex lists none of the Pushary hooks, so it runs none of them. Check [features].hooks in config.toml, then re-run setup";
517
+ var reportCodexOwnTrust = (assessment) => {
518
+ if (assessment.kind === "unlisted") {
519
+ check(false, "Codex: hooks trusted", CODEX_NONE_LISTED);
520
+ return;
521
+ }
522
+ check(assessment.kind === "trusted", "Codex: hooks trusted", assessment.kind === "trusted" ? `Codex reports ${assessment.trusted} of ${assessment.total} trusted` : `Codex reports ${describeReadings(assessment.failures)}. Type /hooks in Codex and trust them, once`);
523
+ if (assessment.notListed.length > 0) {
524
+ console.log(` ${warn} Codex: does not list ${assessment.notListed.join(", ")} ${dim("(this Codex may not support those events yet)")}`);
525
+ }
526
+ if (assessment.disabled.length > 0) {
527
+ console.log(` ${warn} Codex: ${assessment.disabled.join(", ")} turned off in Codex ${dim("(turn them back on in /hooks)")}`);
528
+ }
529
+ };
510
530
  var skipped = (label, why) => {
511
531
  console.log(` ${dim("\u2013")} ${label} ${dim(`(${why})`)}`);
512
532
  };
@@ -722,16 +742,24 @@ var main = async () => {
722
742
  console.log(` ${warn} Codex: stale legacy notify entry ${dim("(double-push risk, re-run setup to remove it)")}`);
723
743
  }
724
744
  if (hookCommand) {
745
+ const positions = codexHookPositions(codexHooksConfig);
725
746
  const gaps = codexTrustGaps(
726
747
  codexParsed,
727
748
  codexHooksConfig,
728
749
  codexHooksPath,
729
750
  hookCommand,
730
- codexHookPositions(codexHooksConfig)
751
+ positions
731
752
  );
732
753
  const untrusted = gaps.filter((gap) => gap.kind === "untrusted").map((gap) => gap.event);
733
754
  const stale = gaps.filter((gap) => gap.kind === "stale").map((gap) => gap.event);
734
- check(untrusted.length === 0, "Codex: hooks trusted", untrusted.length === 0 ? "all events trusted" : `untrusted (${untrusted.join(", ")}) \u2014 type /hooks in Codex and trust them, once`);
755
+ const codexTrust = await readCodexTrustForPusharyHooks();
756
+ if (codexTrust.kind === "listed") {
757
+ reportCodexOwnTrust(assessCodexHookTrust(Object.keys(positions), codexTrust.hooks));
758
+ } else {
759
+ const why = codexTrust.kind === "skipped" ? "did not ask" : "could not ask";
760
+ console.log(` ${warn} Codex: ${why} Codex about hook trust ${dim(`(${codexTrust.reason}); checking Pushary's own record instead`)}`);
761
+ check(untrusted.length === 0, "Codex: hooks trusted", untrusted.length === 0 ? "all events trusted" : `untrusted (${untrusted.join(", ")}) \u2014 type /hooks in Codex and trust them, once`);
762
+ }
735
763
  if (stale.length > 0) {
736
764
  console.log(` ${warn} Codex: ${stale.join(", ")} trusted at an older shape ${dim("(fires normally; re-run setup to pick up the current one)")}`);
737
765
  }
@@ -1,24 +1,24 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  readHookInput
4
- } from "../chunk-ORLJNJEO.js";
4
+ } from "../chunk-FDF72XHK.js";
5
5
  import {
6
6
  isDeferAnswer
7
7
  } from "../chunk-YHG74UFF.js";
8
- import "../chunk-NFKVRMTM.js";
8
+ import "../chunk-A2GS2ENL.js";
9
9
  import "../chunk-SGZJ5LYH.js";
10
- import "../chunk-PCGZXWGQ.js";
11
- import "../chunk-TFKBFQCE.js";
12
- import "../chunk-K3QVDAZW.js";
13
- import "../chunk-NTQSICPJ.js";
14
- import "../chunk-7XT76LWT.js";
15
- import "../chunk-EADZPVYW.js";
16
- import "../chunk-SOCEY746.js";
17
- import "../chunk-TIWURSLS.js";
10
+ import "../chunk-KZBGITM4.js";
11
+ import "../chunk-A5URWZTP.js";
12
+ import "../chunk-GDXSCXQC.js";
13
+ import "../chunk-MOQOJOMD.js";
14
+ import "../chunk-DZ75BJ7V.js";
15
+ import "../chunk-BK5F3FGE.js";
16
+ import "../chunk-OR3A3RLH.js";
17
+ import "../chunk-SFNRAEEW.js";
18
18
  import "../chunk-66H2QQAK.js";
19
- import "../chunk-2QT3GCU4.js";
19
+ import "../chunk-GP6SFVEN.js";
20
20
  import "../chunk-XHKBHWLX.js";
21
- import "../chunk-UYDTFCHW.js";
21
+ import "../chunk-VZANUMIF.js";
22
22
  import {
23
23
  askUser,
24
24
  isDecisionStopped,
@@ -26,15 +26,15 @@ import {
26
26
  } from "../chunk-PYCQXCI5.js";
27
27
  import {
28
28
  getMachineId
29
- } from "../chunk-UQHUUZ5H.js";
30
- import "../chunk-DYHXOXUF.js";
29
+ } from "../chunk-7JSE6JTZ.js";
30
+ import "../chunk-F2OPOBRO.js";
31
31
  import "../chunk-GMXKITVA.js";
32
- import "../chunk-USQDVBEV.js";
32
+ import "../chunk-TDKE3V6W.js";
33
33
  import "../chunk-HETOKNIL.js";
34
34
  import "../chunk-SAF6HGAA.js";
35
35
  import "../chunk-7QLSKOSU.js";
36
36
  import "../chunk-KZERVKTD.js";
37
- import "../chunk-HU5LSYL2.js";
37
+ import "../chunk-VMNI33F5.js";
38
38
  import "../chunk-T7E75EKA.js";
39
39
  import {
40
40
  getApiKey
@@ -49,7 +49,7 @@ import {
49
49
  planElicitationAsk,
50
50
  readElicitationFields,
51
51
  renderElicitationOutput
52
- } from "../chunk-T4QY64OR.js";
52
+ } from "../chunk-YFD7CRIZ.js";
53
53
  import "../chunk-EA3IELHP.js";
54
54
  import "../chunk-HWJW3CPO.js";
55
55
 
@@ -5,36 +5,36 @@ import {
5
5
  postLiveSession,
6
6
  postLiveSessionUntilAccepted,
7
7
  startLiveSessionHeartbeat
8
- } from "../chunk-HVBF35GT.js";
8
+ } from "../chunk-5QCZYSYR.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-MYP4UUFH.js";
16
- import "../chunk-TIWURSLS.js";
15
+ } from "../chunk-ALG3IBLB.js";
16
+ import "../chunk-SFNRAEEW.js";
17
17
  import "../chunk-66H2QQAK.js";
18
18
  import {
19
19
  transcriptsEnabled
20
- } from "../chunk-2QT3GCU4.js";
20
+ } from "../chunk-GP6SFVEN.js";
21
21
  import {
22
22
  spawnClaude
23
23
  } from "../chunk-XHKBHWLX.js";
24
24
  import {
25
25
  getMachineId
26
- } from "../chunk-UQHUUZ5H.js";
26
+ } from "../chunk-7JSE6JTZ.js";
27
27
  import {
28
28
  resolveBinary
29
- } from "../chunk-DYHXOXUF.js";
30
- import "../chunk-USQDVBEV.js";
31
- import "../chunk-HU5LSYL2.js";
29
+ } from "../chunk-F2OPOBRO.js";
30
+ import "../chunk-TDKE3V6W.js";
31
+ import "../chunk-VMNI33F5.js";
32
32
  import "../chunk-T7E75EKA.js";
33
33
  import {
34
34
  getApiKey,
35
35
  getBaseUrl
36
36
  } from "../chunk-OSJEMXSR.js";
37
- import "../chunk-T4QY64OR.js";
37
+ import "../chunk-YFD7CRIZ.js";
38
38
  import "../chunk-EA3IELHP.js";
39
39
  import "../chunk-HWJW3CPO.js";
40
40
 
@@ -1,30 +1,30 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  triggerAutoUpdate
4
- } from "../chunk-OSSDK5RS.js";
4
+ } from "../chunk-RBPJO4KG.js";
5
5
  import {
6
6
  isGatingMoment,
7
7
  recordKeylessMoment
8
- } from "../chunk-43ZDACBO.js";
8
+ } from "../chunk-F4KRNFDE.js";
9
9
  import {
10
10
  readHookInput
11
- } from "../chunk-ORLJNJEO.js";
11
+ } from "../chunk-FDF72XHK.js";
12
12
  import {
13
13
  denyReasonFrom,
14
14
  isDeferAnswer
15
15
  } from "../chunk-YHG74UFF.js";
16
- import "../chunk-NFKVRMTM.js";
16
+ import "../chunk-A2GS2ENL.js";
17
17
  import "../chunk-SGZJ5LYH.js";
18
- import "../chunk-PCGZXWGQ.js";
19
- import "../chunk-TFKBFQCE.js";
20
- import "../chunk-K3QVDAZW.js";
21
- import "../chunk-NTQSICPJ.js";
22
- import "../chunk-7XT76LWT.js";
23
- import "../chunk-EADZPVYW.js";
24
- import "../chunk-SOCEY746.js";
25
- import "../chunk-TIWURSLS.js";
18
+ import "../chunk-KZBGITM4.js";
19
+ import "../chunk-A5URWZTP.js";
20
+ import "../chunk-GDXSCXQC.js";
21
+ import "../chunk-MOQOJOMD.js";
22
+ import "../chunk-DZ75BJ7V.js";
23
+ import "../chunk-BK5F3FGE.js";
24
+ import "../chunk-OR3A3RLH.js";
25
+ import "../chunk-SFNRAEEW.js";
26
26
  import "../chunk-66H2QQAK.js";
27
- import "../chunk-2QT3GCU4.js";
27
+ import "../chunk-GP6SFVEN.js";
28
28
  import "../chunk-XHKBHWLX.js";
29
29
  import {
30
30
  DEFAULT_SESSION,
@@ -45,8 +45,8 @@ import {
45
45
  repoKeyFor,
46
46
  reportEvent,
47
47
  scopePathFor
48
- } from "../chunk-FDHMNT24.js";
49
- import "../chunk-UYDTFCHW.js";
48
+ } from "../chunk-66BIMA62.js";
49
+ import "../chunk-VZANUMIF.js";
50
50
  import {
51
51
  DECISION_STOP_REASON,
52
52
  askUser,
@@ -57,15 +57,15 @@ import {
57
57
  } from "../chunk-PYCQXCI5.js";
58
58
  import {
59
59
  getMachineId
60
- } from "../chunk-UQHUUZ5H.js";
61
- import "../chunk-DYHXOXUF.js";
60
+ } from "../chunk-7JSE6JTZ.js";
61
+ import "../chunk-F2OPOBRO.js";
62
62
  import "../chunk-GMXKITVA.js";
63
- import "../chunk-USQDVBEV.js";
63
+ import "../chunk-TDKE3V6W.js";
64
64
  import "../chunk-HETOKNIL.js";
65
65
  import "../chunk-SAF6HGAA.js";
66
66
  import "../chunk-7QLSKOSU.js";
67
67
  import "../chunk-KZERVKTD.js";
68
- import "../chunk-HU5LSYL2.js";
68
+ import "../chunk-VMNI33F5.js";
69
69
  import "../chunk-T7E75EKA.js";
70
70
  import {
71
71
  getApiKey
@@ -78,7 +78,7 @@ import {
78
78
  hookWaitClamped,
79
79
  hookWaitDeadline,
80
80
  resolveGate
81
- } from "../chunk-T4QY64OR.js";
81
+ } from "../chunk-YFD7CRIZ.js";
82
82
  import "../chunk-EA3IELHP.js";
83
83
  import "../chunk-HWJW3CPO.js";
84
84
 
@@ -1,54 +1,54 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  handlePreToolUse
4
- } from "../chunk-IYTQ4B5I.js";
4
+ } from "../chunk-644CGYOB.js";
5
5
  import {
6
6
  activeHookSource,
7
7
  normalizeToolCall,
8
8
  profileFromArgv
9
- } from "../chunk-JF736N4C.js";
10
- import "../chunk-J4J45VPZ.js";
11
- import "../chunk-CQYHOHOK.js";
12
- import "../chunk-43ZDACBO.js";
9
+ } from "../chunk-FI3LQCUH.js";
10
+ import "../chunk-HWG7X3VI.js";
11
+ import "../chunk-BE4P7ERZ.js";
12
+ import "../chunk-F4KRNFDE.js";
13
13
  import {
14
14
  readToolHookInput
15
- } from "../chunk-ORLJNJEO.js";
15
+ } from "../chunk-FDF72XHK.js";
16
16
  import "../chunk-YHG74UFF.js";
17
- import "../chunk-NFKVRMTM.js";
17
+ import "../chunk-A2GS2ENL.js";
18
18
  import "../chunk-SGZJ5LYH.js";
19
- import "../chunk-PCGZXWGQ.js";
20
- import "../chunk-TFKBFQCE.js";
21
- import "../chunk-K3QVDAZW.js";
22
- import "../chunk-NTQSICPJ.js";
23
- import "../chunk-7XT76LWT.js";
24
- import "../chunk-EADZPVYW.js";
25
- import "../chunk-SOCEY746.js";
26
- import "../chunk-TIWURSLS.js";
19
+ import "../chunk-KZBGITM4.js";
20
+ import "../chunk-A5URWZTP.js";
21
+ import "../chunk-GDXSCXQC.js";
22
+ import "../chunk-MOQOJOMD.js";
23
+ import "../chunk-DZ75BJ7V.js";
24
+ import "../chunk-BK5F3FGE.js";
25
+ import "../chunk-OR3A3RLH.js";
26
+ import "../chunk-SFNRAEEW.js";
27
27
  import "../chunk-66H2QQAK.js";
28
- import "../chunk-2QT3GCU4.js";
28
+ import "../chunk-GP6SFVEN.js";
29
29
  import "../chunk-XHKBHWLX.js";
30
30
  import {
31
31
  canonicalGateInputs
32
- } from "../chunk-FDHMNT24.js";
33
- import "../chunk-UYDTFCHW.js";
32
+ } from "../chunk-66BIMA62.js";
33
+ import "../chunk-VZANUMIF.js";
34
34
  import "../chunk-PYCQXCI5.js";
35
- import "../chunk-UQHUUZ5H.js";
36
- import "../chunk-DYHXOXUF.js";
35
+ import "../chunk-7JSE6JTZ.js";
36
+ import "../chunk-F2OPOBRO.js";
37
37
  import {
38
38
  exitOnHelpFlag
39
39
  } from "../chunk-P4BNYJ5Q.js";
40
40
  import "../chunk-GMXKITVA.js";
41
- import "../chunk-USQDVBEV.js";
41
+ import "../chunk-TDKE3V6W.js";
42
42
  import "../chunk-HETOKNIL.js";
43
43
  import "../chunk-SAF6HGAA.js";
44
44
  import "../chunk-7QLSKOSU.js";
45
45
  import "../chunk-KZERVKTD.js";
46
- import "../chunk-HU5LSYL2.js";
46
+ import "../chunk-VMNI33F5.js";
47
47
  import "../chunk-T7E75EKA.js";
48
48
  import "../chunk-OSJEMXSR.js";
49
49
  import {
50
50
  renderPreToolUseVerdict
51
- } from "../chunk-T4QY64OR.js";
51
+ } from "../chunk-YFD7CRIZ.js";
52
52
  import "../chunk-EA3IELHP.js";
53
53
  import "../chunk-HWJW3CPO.js";
54
54