@pushary/agent-hooks 1.0.0 → 1.2.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 +24 -0
  2. package/data/SKILL.md +250 -49
  3. package/data/cursor-plugin/scripts/pushary-gate.mjs +24 -0
  4. package/data/cursor-plugin/skills/pushary/SKILL.md +250 -49
  5. package/data/vscode-plugin/scripts/pushary-gate.mjs +24 -0
  6. package/data/vscode-plugin/skills/pushary/SKILL.md +250 -49
  7. package/dist/bin/pushary-bell-hook.js +18 -18
  8. package/dist/bin/pushary-bell.js +6 -6
  9. package/dist/bin/pushary-claude.js +18 -18
  10. package/dist/bin/pushary-clean.js +19 -19
  11. package/dist/bin/pushary-codex-bridge.js +10 -10
  12. package/dist/bin/pushary-codex-hook.js +22 -22
  13. package/dist/bin/pushary-codex.js +6 -6
  14. package/dist/bin/pushary-connect.js +6 -6
  15. package/dist/bin/pushary-cowork.js +3 -3
  16. package/dist/bin/pushary-daemon.js +22 -22
  17. package/dist/bin/pushary-disconnect.js +10 -10
  18. package/dist/bin/pushary-doctor.js +50 -20
  19. package/dist/bin/pushary-elicitation-hook.js +17 -17
  20. package/dist/bin/pushary-gemini-bridge.js +9 -9
  21. package/dist/bin/pushary-gemini-hook.js +19 -19
  22. package/dist/bin/pushary-hook.js +26 -26
  23. package/dist/bin/pushary-login.js +7 -7
  24. package/dist/bin/pushary-logout.js +4 -4
  25. package/dist/bin/pushary-mode.js +3 -3
  26. package/dist/bin/pushary-notification-hook.js +20 -20
  27. package/dist/bin/pushary-opencode-hook.js +19 -19
  28. package/dist/bin/pushary-permission-denied-hook.js +24 -24
  29. package/dist/bin/pushary-permission-hook.js +25 -25
  30. package/dist/bin/pushary-post-hook.js +20 -20
  31. package/dist/bin/pushary-prompt-hook.js +20 -20
  32. package/dist/bin/pushary-session-end-hook.js +20 -20
  33. package/dist/bin/pushary-session-start-hook.js +22 -22
  34. package/dist/bin/pushary-setup.js +26 -26
  35. package/dist/bin/pushary-stats.js +2 -2
  36. package/dist/bin/pushary-status.js +10 -10
  37. package/dist/bin/pushary-stop-hook.js +20 -20
  38. package/dist/bin/pushary-stopfailure-hook.js +20 -20
  39. package/dist/bin/pushary-transcript-register.js +16 -16
  40. package/dist/bin/pushary-transcripts.js +4 -4
  41. package/dist/bin/pushary-upgrade.js +14 -14
  42. package/dist/bin/pushary-wait.js +3 -3
  43. package/dist/{chunk-DUOG74E7.js → chunk-2DT7STR5.js} +1 -1
  44. package/dist/{chunk-IWZG2Y4Z.js → chunk-4UT44NRP.js} +5 -1
  45. package/dist/{chunk-MDV7ZRAT.js → chunk-5AATCXJN.js} +29 -5
  46. package/dist/{chunk-7ZDFVWRR.js → chunk-6QCN5XQE.js} +1 -1
  47. package/dist/{chunk-TTBRBWAK.js → chunk-7DQVIIHX.js} +97 -16
  48. package/dist/{chunk-S2W4ZSHE.js → chunk-7ERWAYVV.js} +1 -1
  49. package/dist/{chunk-447SBIC7.js → chunk-7GH3D6YG.js} +9 -9
  50. package/dist/{chunk-DOYARIYB.js → chunk-7TDQ7KDY.js} +1 -1
  51. package/dist/{chunk-3C4ERARU.js → chunk-BXLFUTSD.js} +3 -3
  52. package/dist/{chunk-XK34HTMW.js → chunk-C3WH44MH.js} +3 -3
  53. package/dist/{chunk-IYA3NCZG.js → chunk-CG4ZUQ5O.js} +2 -2
  54. package/dist/{chunk-MSOFZYI3.js → chunk-CVCSUAXI.js} +3 -3
  55. package/dist/{chunk-R744XA2M.js → chunk-DRAATYTY.js} +5 -5
  56. package/dist/{chunk-2PS3DTHQ.js → chunk-ERP7FOFQ.js} +3 -3
  57. package/dist/{chunk-RFNMSC6N.js → chunk-JOTV75GX.js} +1 -1
  58. package/dist/{chunk-Y55JNI2I.js → chunk-JQJB7BZE.js} +1 -1
  59. package/dist/{chunk-DMJTWULU.js → chunk-KEVJ2WW6.js} +1 -1
  60. package/dist/{chunk-IBU7UU3R.js → chunk-KHTBSSY5.js} +1 -1
  61. package/dist/{chunk-I3TWY7GH.js → chunk-KODKICKJ.js} +6 -6
  62. package/dist/{chunk-7WMFPYR5.js → chunk-KZPUARCU.js} +1 -1
  63. package/dist/{chunk-D2N2EJH2.js → chunk-LAXU5U75.js} +2 -2
  64. package/dist/{chunk-XKDKUFMP.js → chunk-LGO7U23Z.js} +1 -1
  65. package/dist/{chunk-XNXIMIFY.js → chunk-LWKVEMVK.js} +1 -1
  66. package/dist/{chunk-GTR72MIU.js → chunk-OGSRCIOD.js} +1 -1
  67. package/dist/{chunk-HGEI7SVM.js → chunk-PCT2MYG5.js} +6 -6
  68. package/dist/{chunk-LTPQKBJH.js → chunk-PX53RT6Q.js} +1 -1
  69. package/dist/{chunk-MGI6MLFU.js → chunk-PX54KULQ.js} +3 -3
  70. package/dist/{chunk-BOZETFXB.js → chunk-RN6ZWIAC.js} +1 -1
  71. package/dist/{chunk-CDTGL7TT.js → chunk-U42ES5U3.js} +1 -1
  72. package/dist/{chunk-EMCNSBF3.js → chunk-UWP66NDF.js} +1 -1
  73. package/dist/{chunk-UWQVODHT.js → chunk-VDOKRCWM.js} +1 -1
  74. package/dist/{chunk-TVY7AT6O.js → chunk-VE2ZWUML.js} +1 -1
  75. package/dist/{chunk-BPD4P3NN.js → chunk-VIQ7CCWW.js} +2 -2
  76. package/dist/{chunk-2SL5X7UB.js → chunk-W6XVHP4U.js} +4 -4
  77. package/dist/{chunk-3UUAK2AK.js → chunk-WC5PYFDK.js} +1 -1
  78. package/dist/{chunk-ZZIUQVAN.js → chunk-YK3OU4E2.js} +4 -4
  79. package/dist/{chunk-HS2KEAFD.js → chunk-YT6H7BB5.js} +21 -14
  80. package/dist/{chunk-A3D43VXO.js → chunk-ZFQPSGPO.js} +1 -1
  81. package/dist/{reapply-I4NB5SSM.js → reapply-47AMVIXN.js} +8 -8
  82. package/dist/src/index.js +12 -12
  83. package/package.json +1 -1
@@ -5,11 +5,11 @@ import {
5
5
  import {
6
6
  coworkOutput,
7
7
  coworkSelection
8
- } from "../chunk-D2N2EJH2.js";
8
+ } from "../chunk-LAXU5U75.js";
9
9
  import "../chunk-PUZZELE6.js";
10
10
  import {
11
11
  detectClaudeVersion
12
- } from "../chunk-Y55JNI2I.js";
12
+ } from "../chunk-JQJB7BZE.js";
13
13
  import {
14
14
  describeVersionManagerPin,
15
15
  versionManagerOf
@@ -17,7 +17,7 @@ import {
17
17
  import {
18
18
  readManagedControlEvidence,
19
19
  waitForMachineReadiness
20
- } from "../chunk-ZZIUQVAN.js";
20
+ } from "../chunk-YK3OU4E2.js";
21
21
  import {
22
22
  HERMES_CONFIG_SCRIPT,
23
23
  HERMES_PIP_PACKAGE,
@@ -25,7 +25,7 @@ import {
25
25
  isHermesConfigReceipt,
26
26
  resolveHermesPython,
27
27
  runHermesPythonScript
28
- } from "../chunk-RFNMSC6N.js";
28
+ } from "../chunk-JOTV75GX.js";
29
29
  import {
30
30
  describeDetection,
31
31
  detectAllAgents,
@@ -37,7 +37,7 @@ import {
37
37
  shortenHome,
38
38
  vscodeSettingsTargets,
39
39
  writeInstructionBlock
40
- } from "../chunk-447SBIC7.js";
40
+ } from "../chunk-7GH3D6YG.js";
41
41
  import {
42
42
  OPENCODE_HOOK_BINARY,
43
43
  addOpenCodeMcpServer,
@@ -48,7 +48,7 @@ import {
48
48
  openCodePluginDir,
49
49
  openCodePluginFile,
50
50
  openCodeWired
51
- } from "../chunk-XNXIMIFY.js";
51
+ } from "../chunk-LWKVEMVK.js";
52
52
  import {
53
53
  addCompatibleHooks,
54
54
  addCompatibleMcpServer,
@@ -59,7 +59,7 @@ import {
59
59
  compatibleMcpFile,
60
60
  compatiblePermissionRuleFile,
61
61
  hasCompatibleHooks
62
- } from "../chunk-HS2KEAFD.js";
62
+ } from "../chunk-YT6H7BB5.js";
63
63
  import {
64
64
  addClaudeMcpServer,
65
65
  addPusharyHooks,
@@ -67,12 +67,12 @@ import {
67
67
  captureClaudeMcpServer,
68
68
  isClaudeMcpSnapshot,
69
69
  updateClaudeMcpSnapshot
70
- } from "../chunk-MGI6MLFU.js";
70
+ } from "../chunk-PX54KULQ.js";
71
71
  import {
72
72
  detectProviderLiveCapabilities,
73
73
  hasSpawnProvider,
74
74
  resolveControlPolicy
75
- } from "../chunk-IYA3NCZG.js";
75
+ } from "../chunk-CG4ZUQ5O.js";
76
76
  import {
77
77
  KEEP_HINT,
78
78
  captureHookTakeover,
@@ -82,23 +82,23 @@ import {
82
82
  hookOwnerOf,
83
83
  mcpBearerKey,
84
84
  planHooks
85
- } from "../chunk-2SL5X7UB.js";
85
+ } from "../chunk-W6XVHP4U.js";
86
86
  import {
87
87
  AGENT_CHOICES,
88
88
  effectiveControlMode,
89
89
  effectiveVerify,
90
90
  parseSetupOptions
91
- } from "../chunk-3UUAK2AK.js";
91
+ } from "../chunk-WC5PYFDK.js";
92
92
  import {
93
93
  liveBridgeProbe,
94
94
  resolveBridgeStub
95
- } from "../chunk-CDTGL7TT.js";
95
+ } from "../chunk-U42ES5U3.js";
96
96
  import {
97
97
  claudeWired,
98
98
  codexWired,
99
99
  geminiWired,
100
100
  pusharyHookExecutable
101
- } from "../chunk-XK34HTMW.js";
101
+ } from "../chunk-C3WH44MH.js";
102
102
  import {
103
103
  clearDaemonNeedsLogin,
104
104
  daemonHasRemoteProof,
@@ -111,25 +111,25 @@ import {
111
111
  replaceDaemonService,
112
112
  stopDaemonService,
113
113
  waitForDaemonRemoteProof
114
- } from "../chunk-MSOFZYI3.js";
114
+ } from "../chunk-CVCSUAXI.js";
115
115
  import {
116
116
  GEMINI_HOOK_BINARY,
117
117
  addGeminiHooks,
118
118
  addGeminiMcpServer,
119
119
  compareVersion,
120
120
  parseVersion
121
- } from "../chunk-2PS3DTHQ.js";
122
- import "../chunk-UWQVODHT.js";
121
+ } from "../chunk-ERP7FOFQ.js";
122
+ import "../chunk-VDOKRCWM.js";
123
123
  import {
124
124
  transcriptPreferenceForSetup
125
- } from "../chunk-IBU7UU3R.js";
125
+ } from "../chunk-KHTBSSY5.js";
126
126
  import "../chunk-XHKBHWLX.js";
127
127
  import {
128
128
  reportEvent
129
- } from "../chunk-MDV7ZRAT.js";
130
- import "../chunk-EMCNSBF3.js";
129
+ } from "../chunk-5AATCXJN.js";
130
+ import "../chunk-UWP66NDF.js";
131
131
  import "../chunk-LGXUGYUH.js";
132
- import "../chunk-7WMFPYR5.js";
132
+ import "../chunk-KZPUARCU.js";
133
133
  import {
134
134
  addCodexHookTrust,
135
135
  addCodexHooks,
@@ -167,7 +167,7 @@ import {
167
167
  resolveGlobalBinary,
168
168
  vscodePluginDir,
169
169
  vscodePluginMcp
170
- } from "../chunk-LTPQKBJH.js";
170
+ } from "../chunk-PX53RT6Q.js";
171
171
  import {
172
172
  confirmAppConnection,
173
173
  connectDevice,
@@ -177,13 +177,13 @@ import {
177
177
  printConnectInstructions,
178
178
  roundTripEvidence,
179
179
  verifyRoundTrip
180
- } from "../chunk-BPD4P3NN.js";
180
+ } from "../chunk-VIQ7CCWW.js";
181
181
  import "../chunk-3EGEA4KH.js";
182
182
  import {
183
183
  checkApiKey,
184
184
  describeKeyCheck,
185
185
  samePusharyAccount
186
- } from "../chunk-BOZETFXB.js";
186
+ } from "../chunk-RN6ZWIAC.js";
187
187
  import {
188
188
  setHumanStream
189
189
  } from "../chunk-QCGNGEGE.js";
@@ -208,7 +208,7 @@ import {
208
208
  readKeySource,
209
209
  resolveShellRc,
210
210
  writeKey
211
- } from "../chunk-DOYARIYB.js";
211
+ } from "../chunk-7TDQ7KDY.js";
212
212
  import "../chunk-EYRGBYZG.js";
213
213
  import "../chunk-SAF6HGAA.js";
214
214
  import {
@@ -217,7 +217,7 @@ import {
217
217
  import {
218
218
  EXIT
219
219
  } from "../chunk-KZERVKTD.js";
220
- import "../chunk-A3D43VXO.js";
220
+ import "../chunk-ZFQPSGPO.js";
221
221
  import {
222
222
  backupFile,
223
223
  readJsonSafe,
@@ -232,7 +232,7 @@ import {
232
232
  compatibleTargetFiles,
233
233
  hookCompatibleProfile,
234
234
  isValidApiKey
235
- } from "../chunk-TTBRBWAK.js";
235
+ } from "../chunk-7DQVIIHX.js";
236
236
 
237
237
  // bin/pushary-setup.ts
238
238
  import { existsSync, readFileSync, writeFileSync, mkdirSync, cpSync, rmSync, renameSync, realpathSync, readdirSync, statSync, openSync, readSync, closeSync } from "fs";
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  readLedgerSummary
4
- } from "../chunk-DUOG74E7.js";
4
+ } from "../chunk-2DT7STR5.js";
5
5
  import {
6
6
  exitOnHelpFlag
7
7
  } from "../chunk-GOQHN2UH.js";
@@ -11,7 +11,7 @@ import "../chunk-KZERVKTD.js";
11
11
  import {
12
12
  getApiKey
13
13
  } from "../chunk-2UMNXADU.js";
14
- import "../chunk-TTBRBWAK.js";
14
+ import "../chunk-7DQVIIHX.js";
15
15
 
16
16
  // bin/pushary-stats.ts
17
17
  exitOnHelpFlag("stats");
@@ -2,22 +2,22 @@
2
2
  import {
3
3
  describeLastSeen,
4
4
  listMachines
5
- } from "../chunk-ZZIUQVAN.js";
6
- import "../chunk-IYA3NCZG.js";
7
- import "../chunk-MSOFZYI3.js";
5
+ } from "../chunk-YK3OU4E2.js";
6
+ import "../chunk-CG4ZUQ5O.js";
7
+ import "../chunk-CVCSUAXI.js";
8
8
  import "../chunk-XHKBHWLX.js";
9
- import "../chunk-7WMFPYR5.js";
10
- import "../chunk-LTPQKBJH.js";
9
+ import "../chunk-KZPUARCU.js";
10
+ import "../chunk-PX53RT6Q.js";
11
11
  import {
12
12
  describeReach,
13
13
  fetchChannels,
14
14
  reachVerdict
15
- } from "../chunk-BPD4P3NN.js";
15
+ } from "../chunk-VIQ7CCWW.js";
16
16
  import "../chunk-3EGEA4KH.js";
17
17
  import {
18
18
  checkApiKey,
19
19
  describeKeyCheck
20
- } from "../chunk-BOZETFXB.js";
20
+ } from "../chunk-RN6ZWIAC.js";
21
21
  import "../chunk-QCGNGEGE.js";
22
22
  import {
23
23
  createIo
@@ -32,7 +32,7 @@ import {
32
32
  import "../chunk-DINDL2CF.js";
33
33
  import {
34
34
  readKeySource
35
- } from "../chunk-DOYARIYB.js";
35
+ } from "../chunk-7TDQ7KDY.js";
36
36
  import "../chunk-EYRGBYZG.js";
37
37
  import "../chunk-SAF6HGAA.js";
38
38
  import {
@@ -41,10 +41,10 @@ import {
41
41
  import {
42
42
  EXIT
43
43
  } from "../chunk-KZERVKTD.js";
44
- import "../chunk-A3D43VXO.js";
44
+ import "../chunk-ZFQPSGPO.js";
45
45
  import "../chunk-4LL6LG5X.js";
46
46
  import "../chunk-2UMNXADU.js";
47
- import "../chunk-TTBRBWAK.js";
47
+ import "../chunk-7DQVIIHX.js";
48
48
 
49
49
  // src/status.ts
50
50
  var keySourceLine = (source) => {
@@ -2,44 +2,44 @@
2
2
  import {
3
3
  activeHookSource,
4
4
  activeIdentity
5
- } from "../chunk-HS2KEAFD.js";
6
- import "../chunk-MGI6MLFU.js";
5
+ } from "../chunk-YT6H7BB5.js";
6
+ import "../chunk-PX54KULQ.js";
7
7
  import {
8
8
  readHookInput
9
- } from "../chunk-IWZG2Y4Z.js";
10
- import "../chunk-HGEI7SVM.js";
9
+ } from "../chunk-4UT44NRP.js";
10
+ import "../chunk-PCT2MYG5.js";
11
11
  import "../chunk-YKLCWWEI.js";
12
- import "../chunk-2SL5X7UB.js";
13
- import "../chunk-3UUAK2AK.js";
14
- import "../chunk-CDTGL7TT.js";
15
- import "../chunk-XK34HTMW.js";
16
- import "../chunk-MSOFZYI3.js";
17
- import "../chunk-2PS3DTHQ.js";
18
- import "../chunk-UWQVODHT.js";
19
- import "../chunk-7ZDFVWRR.js";
12
+ import "../chunk-W6XVHP4U.js";
13
+ import "../chunk-WC5PYFDK.js";
14
+ import "../chunk-U42ES5U3.js";
15
+ import "../chunk-C3WH44MH.js";
16
+ import "../chunk-CVCSUAXI.js";
17
+ import "../chunk-ERP7FOFQ.js";
18
+ import "../chunk-VDOKRCWM.js";
19
+ import "../chunk-6QCN5XQE.js";
20
20
  import "../chunk-EQRS3SGM.js";
21
- import "../chunk-IBU7UU3R.js";
21
+ import "../chunk-KHTBSSY5.js";
22
22
  import "../chunk-XHKBHWLX.js";
23
23
  import {
24
24
  handleStop,
25
25
  handleSubagentStop,
26
26
  isSubagentStop
27
- } from "../chunk-MDV7ZRAT.js";
28
- import "../chunk-EMCNSBF3.js";
27
+ } from "../chunk-5AATCXJN.js";
28
+ import "../chunk-UWP66NDF.js";
29
29
  import "../chunk-LGXUGYUH.js";
30
- import "../chunk-7WMFPYR5.js";
31
- import "../chunk-LTPQKBJH.js";
30
+ import "../chunk-KZPUARCU.js";
31
+ import "../chunk-PX53RT6Q.js";
32
32
  import "../chunk-GMXKITVA.js";
33
33
  import "../chunk-DINDL2CF.js";
34
- import "../chunk-DOYARIYB.js";
34
+ import "../chunk-7TDQ7KDY.js";
35
35
  import "../chunk-EYRGBYZG.js";
36
36
  import "../chunk-SAF6HGAA.js";
37
37
  import "../chunk-7QLSKOSU.js";
38
38
  import "../chunk-KZERVKTD.js";
39
- import "../chunk-A3D43VXO.js";
39
+ import "../chunk-ZFQPSGPO.js";
40
40
  import "../chunk-4LL6LG5X.js";
41
41
  import "../chunk-2UMNXADU.js";
42
- import "../chunk-TTBRBWAK.js";
42
+ import "../chunk-7DQVIIHX.js";
43
43
 
44
44
  // bin/pushary-stop-hook.ts
45
45
  var AGENT = activeIdentity(process.argv);
@@ -2,42 +2,42 @@
2
2
  import {
3
3
  activeHookSource,
4
4
  activeIdentity
5
- } from "../chunk-HS2KEAFD.js";
6
- import "../chunk-MGI6MLFU.js";
5
+ } from "../chunk-YT6H7BB5.js";
6
+ import "../chunk-PX54KULQ.js";
7
7
  import {
8
8
  readHookInput
9
- } from "../chunk-IWZG2Y4Z.js";
10
- import "../chunk-HGEI7SVM.js";
9
+ } from "../chunk-4UT44NRP.js";
10
+ import "../chunk-PCT2MYG5.js";
11
11
  import "../chunk-YKLCWWEI.js";
12
- import "../chunk-2SL5X7UB.js";
13
- import "../chunk-3UUAK2AK.js";
14
- import "../chunk-CDTGL7TT.js";
15
- import "../chunk-XK34HTMW.js";
16
- import "../chunk-MSOFZYI3.js";
17
- import "../chunk-2PS3DTHQ.js";
18
- import "../chunk-UWQVODHT.js";
19
- import "../chunk-7ZDFVWRR.js";
12
+ import "../chunk-W6XVHP4U.js";
13
+ import "../chunk-WC5PYFDK.js";
14
+ import "../chunk-U42ES5U3.js";
15
+ import "../chunk-C3WH44MH.js";
16
+ import "../chunk-CVCSUAXI.js";
17
+ import "../chunk-ERP7FOFQ.js";
18
+ import "../chunk-VDOKRCWM.js";
19
+ import "../chunk-6QCN5XQE.js";
20
20
  import "../chunk-EQRS3SGM.js";
21
- import "../chunk-IBU7UU3R.js";
21
+ import "../chunk-KHTBSSY5.js";
22
22
  import "../chunk-XHKBHWLX.js";
23
23
  import {
24
24
  handleStopFailure
25
- } from "../chunk-MDV7ZRAT.js";
26
- import "../chunk-EMCNSBF3.js";
25
+ } from "../chunk-5AATCXJN.js";
26
+ import "../chunk-UWP66NDF.js";
27
27
  import "../chunk-LGXUGYUH.js";
28
- import "../chunk-7WMFPYR5.js";
29
- import "../chunk-LTPQKBJH.js";
28
+ import "../chunk-KZPUARCU.js";
29
+ import "../chunk-PX53RT6Q.js";
30
30
  import "../chunk-GMXKITVA.js";
31
31
  import "../chunk-DINDL2CF.js";
32
- import "../chunk-DOYARIYB.js";
32
+ import "../chunk-7TDQ7KDY.js";
33
33
  import "../chunk-EYRGBYZG.js";
34
34
  import "../chunk-SAF6HGAA.js";
35
35
  import "../chunk-7QLSKOSU.js";
36
36
  import "../chunk-KZERVKTD.js";
37
- import "../chunk-A3D43VXO.js";
37
+ import "../chunk-ZFQPSGPO.js";
38
38
  import "../chunk-4LL6LG5X.js";
39
39
  import "../chunk-2UMNXADU.js";
40
- import "../chunk-TTBRBWAK.js";
40
+ import "../chunk-7DQVIIHX.js";
41
41
 
42
42
  // bin/pushary-stopfailure-hook.ts
43
43
  var AGENT = activeIdentity(process.argv);
@@ -1,31 +1,31 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  registerTranscript
4
- } from "../chunk-HGEI7SVM.js";
4
+ } from "../chunk-PCT2MYG5.js";
5
5
  import "../chunk-YKLCWWEI.js";
6
- import "../chunk-2SL5X7UB.js";
7
- import "../chunk-3UUAK2AK.js";
8
- import "../chunk-CDTGL7TT.js";
9
- import "../chunk-XK34HTMW.js";
10
- import "../chunk-MSOFZYI3.js";
11
- import "../chunk-2PS3DTHQ.js";
12
- import "../chunk-UWQVODHT.js";
13
- import "../chunk-7ZDFVWRR.js";
6
+ import "../chunk-W6XVHP4U.js";
7
+ import "../chunk-WC5PYFDK.js";
8
+ import "../chunk-U42ES5U3.js";
9
+ import "../chunk-C3WH44MH.js";
10
+ import "../chunk-CVCSUAXI.js";
11
+ import "../chunk-ERP7FOFQ.js";
12
+ import "../chunk-VDOKRCWM.js";
13
+ import "../chunk-6QCN5XQE.js";
14
14
  import "../chunk-EQRS3SGM.js";
15
- import "../chunk-IBU7UU3R.js";
15
+ import "../chunk-KHTBSSY5.js";
16
16
  import "../chunk-XHKBHWLX.js";
17
- import "../chunk-EMCNSBF3.js";
18
- import "../chunk-7WMFPYR5.js";
19
- import "../chunk-LTPQKBJH.js";
17
+ import "../chunk-UWP66NDF.js";
18
+ import "../chunk-KZPUARCU.js";
19
+ import "../chunk-PX53RT6Q.js";
20
20
  import "../chunk-GMXKITVA.js";
21
21
  import "../chunk-DINDL2CF.js";
22
- import "../chunk-DOYARIYB.js";
22
+ import "../chunk-7TDQ7KDY.js";
23
23
  import "../chunk-7QLSKOSU.js";
24
24
  import "../chunk-KZERVKTD.js";
25
- import "../chunk-A3D43VXO.js";
25
+ import "../chunk-ZFQPSGPO.js";
26
26
  import "../chunk-4LL6LG5X.js";
27
27
  import "../chunk-2UMNXADU.js";
28
- import "../chunk-TTBRBWAK.js";
28
+ import "../chunk-7DQVIIHX.js";
29
29
 
30
30
  // bin/pushary-transcript-register.ts
31
31
  var raw = "";
@@ -6,18 +6,18 @@ import {
6
6
  } from "../chunk-YKLCWWEI.js";
7
7
  import {
8
8
  transcriptsEnabled
9
- } from "../chunk-IBU7UU3R.js";
9
+ } from "../chunk-KHTBSSY5.js";
10
10
  import {
11
11
  exitOnHelpFlag
12
12
  } from "../chunk-GOQHN2UH.js";
13
13
  import "../chunk-LZQVAEWP.js";
14
14
  import "../chunk-DINDL2CF.js";
15
- import "../chunk-DOYARIYB.js";
15
+ import "../chunk-7TDQ7KDY.js";
16
16
  import "../chunk-KZERVKTD.js";
17
- import "../chunk-A3D43VXO.js";
17
+ import "../chunk-ZFQPSGPO.js";
18
18
  import "../chunk-4LL6LG5X.js";
19
19
  import "../chunk-2UMNXADU.js";
20
- import "../chunk-TTBRBWAK.js";
20
+ import "../chunk-7DQVIIHX.js";
21
21
 
22
22
  // bin/pushary-transcripts.ts
23
23
  exitOnHelpFlag("transcripts");
@@ -1,18 +1,18 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  reapplyAllAgents
4
- } from "../chunk-R744XA2M.js";
5
- import "../chunk-Y55JNI2I.js";
4
+ } from "../chunk-DRAATYTY.js";
5
+ import "../chunk-JQJB7BZE.js";
6
6
  import {
7
7
  waitForMachineReadiness
8
- } from "../chunk-ZZIUQVAN.js";
9
- import "../chunk-MGI6MLFU.js";
8
+ } from "../chunk-YK3OU4E2.js";
9
+ import "../chunk-PX54KULQ.js";
10
10
  import {
11
11
  detectProviderLiveCapabilities,
12
12
  hasSpawnProvider,
13
13
  resolveControlPolicy
14
- } from "../chunk-IYA3NCZG.js";
15
- import "../chunk-XK34HTMW.js";
14
+ } from "../chunk-CG4ZUQ5O.js";
15
+ import "../chunk-C3WH44MH.js";
16
16
  import {
17
17
  daemonHasRemoteProof,
18
18
  daemonServiceManagerAvailable,
@@ -23,13 +23,13 @@ import {
23
23
  replaceDaemonService,
24
24
  stopDaemonService,
25
25
  waitForDaemonRemoteProof
26
- } from "../chunk-MSOFZYI3.js";
27
- import "../chunk-2PS3DTHQ.js";
26
+ } from "../chunk-CVCSUAXI.js";
27
+ import "../chunk-ERP7FOFQ.js";
28
28
  import {
29
29
  needsShell
30
30
  } from "../chunk-XHKBHWLX.js";
31
- import "../chunk-EMCNSBF3.js";
32
- import "../chunk-7WMFPYR5.js";
31
+ import "../chunk-UWP66NDF.js";
32
+ import "../chunk-KZPUARCU.js";
33
33
  import {
34
34
  claudeJson,
35
35
  codexConfigToml,
@@ -39,7 +39,7 @@ import {
39
39
  npmErrorMessage,
40
40
  resolveGlobalBinary,
41
41
  vscodePluginDir
42
- } from "../chunk-LTPQKBJH.js";
42
+ } from "../chunk-PX53RT6Q.js";
43
43
  import {
44
44
  exitOnHelpFlag
45
45
  } from "../chunk-GOQHN2UH.js";
@@ -49,14 +49,14 @@ import {
49
49
  } from "../chunk-DINDL2CF.js";
50
50
  import {
51
51
  readControlMode
52
- } from "../chunk-DOYARIYB.js";
52
+ } from "../chunk-7TDQ7KDY.js";
53
53
  import "../chunk-KZERVKTD.js";
54
- import "../chunk-A3D43VXO.js";
54
+ import "../chunk-ZFQPSGPO.js";
55
55
  import "../chunk-4LL6LG5X.js";
56
56
  import {
57
57
  getApiKey
58
58
  } from "../chunk-2UMNXADU.js";
59
- import "../chunk-TTBRBWAK.js";
59
+ import "../chunk-7DQVIIHX.js";
60
60
 
61
61
  // bin/pushary-upgrade.ts
62
62
  import { existsSync } from "fs";
@@ -4,8 +4,8 @@ import {
4
4
  } from "../chunk-CVWG2N3Y.js";
5
5
  import {
6
6
  exitOnFailedResponse
7
- } from "../chunk-TVY7AT6O.js";
8
- import "../chunk-BOZETFXB.js";
7
+ } from "../chunk-VE2ZWUML.js";
8
+ import "../chunk-RN6ZWIAC.js";
9
9
  import {
10
10
  createIo
11
11
  } from "../chunk-5RUIFDTP.js";
@@ -28,7 +28,7 @@ import {
28
28
  getApiKey,
29
29
  getBaseUrl
30
30
  } from "../chunk-2UMNXADU.js";
31
- import "../chunk-TTBRBWAK.js";
31
+ import "../chunk-7DQVIIHX.js";
32
32
 
33
33
  // bin/pushary-wait.ts
34
34
  exitOnHelpFlag("wait");
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  isSafeReadOnlyCommand
3
- } from "./chunk-TTBRBWAK.js";
3
+ } from "./chunk-7DQVIIHX.js";
4
4
 
5
5
  // src/ledger.ts
6
6
  import { appendFileSync, existsSync, mkdirSync, readFileSync, renameSync, rmSync, statSync } from "fs";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  registerTranscript
3
- } from "./chunk-HGEI7SVM.js";
3
+ } from "./chunk-PCT2MYG5.js";
4
4
 
5
5
  // src/admission.ts
6
6
  import { readFileSync } from "fs";
@@ -39,6 +39,10 @@ var matches = (rule, source, event) => {
39
39
  };
40
40
  var isAdmitted = (rules, source, event) => !rules.disabled.some((rule) => matches(rule, source, event));
41
41
  var readHookInput = async (source, fallbackEvent = "", stdin = process.stdin) => {
42
+ if (source === null) {
43
+ process.stderr.write("[pushary] unrecognised --agent, standing aside rather than acting as another agent\n");
44
+ return null;
45
+ }
42
46
  let raw = "";
43
47
  for await (const chunk of stdin) raw += chunk;
44
48
  if (!raw.trim()) return null;
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  NOTIFICATION_PUSH_TYPES,
3
3
  POSTTOOLUSE_MIRROR_ONLY_TOOLS
4
- } from "./chunk-EMCNSBF3.js";
4
+ } from "./chunk-UWP66NDF.js";
5
5
  import {
6
6
  cancelQuestion,
7
7
  isPolicyConfig,
@@ -10,13 +10,13 @@ import {
10
10
  } from "./chunk-LGXUGYUH.js";
11
11
  import {
12
12
  getMachineId
13
- } from "./chunk-7WMFPYR5.js";
13
+ } from "./chunk-KZPUARCU.js";
14
14
  import {
15
15
  withRetry
16
16
  } from "./chunk-EYRGBYZG.js";
17
17
  import {
18
18
  reportedInstallSource
19
- } from "./chunk-A3D43VXO.js";
19
+ } from "./chunk-ZFQPSGPO.js";
20
20
  import {
21
21
  getApiKey,
22
22
  getBaseUrl
@@ -31,7 +31,9 @@ import {
31
31
  HOOK_SOURCES,
32
32
  PENDING_COMMAND_PREFIX,
33
33
  REPO_AWARE_AGENTS,
34
+ canonicalToolName,
34
35
  gateOutputFor,
36
+ hookCompatibleProfileBySource,
35
37
  isAutoApprove,
36
38
  localRepoKey,
37
39
  modeStateFromResponse,
@@ -40,8 +42,9 @@ import {
40
42
  redactSecrets,
41
43
  redactSecretsDeep,
42
44
  resolveAutoResolveOrigin,
43
- resolvePolicy
44
- } from "./chunk-TTBRBWAK.js";
45
+ resolvePolicy,
46
+ toToolLookup
47
+ } from "./chunk-7DQVIIHX.js";
45
48
 
46
49
  // src/policy.ts
47
50
  import { createHash } from "crypto";
@@ -349,6 +352,25 @@ var OPENCODE_TOOL_NAMES = {
349
352
  websearch: "WebSearch",
350
353
  task: "Task"
351
354
  };
355
+ var PATCH_ARG_KEYS = ["command", "patch", "input"];
356
+ var patchedFilesIn = (input) => [...new Set(PATCH_ARG_KEYS.flatMap((key) => parseApplyPatchFiles(input[key])))];
357
+ var lookupsForInput = (profile, toolName, input, absolute) => {
358
+ const lookup = toToolLookup(profile, toolName, input, absolute);
359
+ if (!lookup.unreadable) return [lookup];
360
+ const files = patchedFilesIn(input);
361
+ if (files.length === 0) return [lookup];
362
+ return files.slice(0, GATE_MAX_TOOL_INPUTS + 1).map((file) => toToolLookup(profile, toolName, { ...input, file_path: absolute(file) }, absolute));
363
+ };
364
+ var compatibleGateInputs = (profile, toolName, toolInputs, cwd) => {
365
+ const absolute = (path) => cwd && !isAbsolute(path) ? resolve(cwd, path) : path;
366
+ const lookups = toolInputs.flatMap((input) => lookupsForInput(profile, toolName, input, absolute));
367
+ if (lookups.length > GATE_MAX_TOOL_INPUTS) return null;
368
+ if (lookups.some((lookup) => lookup.unreadable)) return null;
369
+ return {
370
+ toolName: lookups[0]?.tool ?? canonicalToolName(profile, toolName),
371
+ toolInputs: lookups.map((lookup) => lookup.input)
372
+ };
373
+ };
352
374
  var canonicalGateInputs = (source, toolName, toolInputs, cwd) => {
353
375
  if (source === "codex" && toolName === "apply_patch" || source === "vscode" && ["apply_patch", "applyPatch", "copilot_applyPatch"].includes(toolName)) {
354
376
  const paths = [...new Set(toolInputs.flatMap((input) => parseApplyPatchFiles(input.command ?? input.input ?? input.patch)))];
@@ -419,6 +441,8 @@ var canonicalGateInputs = (source, toolName, toolInputs, cwd) => {
419
441
  return typeof path === "string" ? { ...input, file_path: cwd && !isAbsolute(path) ? resolve(cwd, path) : path } : input;
420
442
  }) };
421
443
  }
444
+ const profile = hookCompatibleProfileBySource(source);
445
+ if (profile) return compatibleGateInputs(profile, toolName, toolInputs, cwd);
422
446
  if (source !== "gemini") return { toolName, toolInputs };
423
447
  if (toolName === "run_shell_command") {
424
448
  return { toolName: "Bash", toolInputs: toolInputs.map((input) => ({ command: input.command })) };
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  redactSecrets
3
- } from "./chunk-TTBRBWAK.js";
3
+ } from "./chunk-7DQVIIHX.js";
4
4
 
5
5
  // src/crypto.ts
6
6
  import nacl from "tweetnacl";