@pushary/agent-hooks 1.9.22 → 1.9.24

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 (105) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/data/cursor-plugin/.cursor-plugin/plugin.json +1 -1
  3. package/data/cursor-plugin/CHANGELOG.md +4 -0
  4. package/data/cursor-plugin/scripts/pushary-gate.mjs +4 -2
  5. package/data/cursor-plugin/scripts/pushary-gate.test.mjs +14 -1
  6. package/dist/bin/pushary-bell-hook.js +25 -25
  7. package/dist/bin/pushary-bell.js +9 -9
  8. package/dist/bin/pushary-claude.js +27 -26
  9. package/dist/bin/pushary-clean.js +41 -93
  10. package/dist/bin/pushary-codex-bridge.js +17 -17
  11. package/dist/bin/pushary-codex-hook.js +33 -31
  12. package/dist/bin/pushary-codex.js +12 -12
  13. package/dist/bin/pushary-connect.js +24 -24
  14. package/dist/bin/pushary-cowork.js +5 -5
  15. package/dist/bin/pushary-daemon.js +31 -31
  16. package/dist/bin/pushary-disconnect.js +24 -24
  17. package/dist/bin/pushary-doctor.js +33 -33
  18. package/dist/bin/pushary-elicitation-hook.js +25 -25
  19. package/dist/bin/pushary-gemini-bridge.js +13 -13
  20. package/dist/bin/pushary-gemini-hook.js +27 -27
  21. package/dist/bin/pushary-hook.js +29 -29
  22. package/dist/bin/pushary-login.js +16 -16
  23. package/dist/bin/pushary-logout.js +77 -26
  24. package/dist/bin/pushary-mcp.js +9 -9
  25. package/dist/bin/pushary-mode.js +12 -12
  26. package/dist/bin/pushary-notification-hook.js +24 -24
  27. package/dist/bin/pushary-opencode-hook.js +26 -26
  28. package/dist/bin/pushary-permission-denied-hook.js +29 -29
  29. package/dist/bin/pushary-permission-hook.js +28 -28
  30. package/dist/bin/pushary-post-hook.js +24 -24
  31. package/dist/bin/pushary-prompt-hook.js +24 -24
  32. package/dist/bin/pushary-session-end-hook.js +24 -24
  33. package/dist/bin/pushary-session-start-hook.js +28 -28
  34. package/dist/bin/pushary-setup.js +46 -42
  35. package/dist/bin/pushary-stats.js +5 -5
  36. package/dist/bin/pushary-status.js +26 -26
  37. package/dist/bin/pushary-stop-hook.js +24 -24
  38. package/dist/bin/pushary-stopfailure-hook.js +24 -24
  39. package/dist/bin/pushary-suggestions.js +12 -12
  40. package/dist/bin/pushary-transcript-register.js +17 -17
  41. package/dist/bin/pushary-transcripts.js +7 -7
  42. package/dist/bin/pushary-upgrade.js +30 -30
  43. package/dist/bin/pushary-wait.js +12 -12
  44. package/dist/bin/pushary.js +6 -6
  45. package/dist/{chunk-2MW4OHWI.js → chunk-264EOGIK.js} +2 -2
  46. package/dist/{chunk-WAKQYJ6T.js → chunk-2E6AWHV7.js} +3 -3
  47. package/dist/{chunk-76YNWUXC.js → chunk-2F6UQ3YD.js} +1 -1
  48. package/dist/{chunk-YPZ4AE2R.js → chunk-2JTJZ7VI.js} +4 -4
  49. package/dist/{chunk-KH2EDRJQ.js → chunk-35U2QHH2.js} +2 -2
  50. package/dist/{chunk-GNQZY4GL.js → chunk-3WRJU7KN.js} +1 -1
  51. package/dist/{chunk-3BWW4UMT.js → chunk-7JHYWFY6.js} +2 -2
  52. package/dist/{chunk-ARJSQUIS.js → chunk-7Z2DLAEE.js} +2 -2
  53. package/dist/{chunk-AR4NXO4Q.js → chunk-CLVU24OZ.js} +2 -2
  54. package/dist/{chunk-YODL2CJV.js → chunk-CYGIJXAP.js} +2 -2
  55. package/dist/{chunk-P345G4DK.js → chunk-E4B7TXVS.js} +1 -1
  56. package/dist/{chunk-ZUOIDI6M.js → chunk-EE357RIP.js} +4 -4
  57. package/dist/{chunk-JQVGCDHW.js → chunk-EKPAV33G.js} +5 -5
  58. package/dist/{chunk-TH3HKKGW.js → chunk-G6GFNKF7.js} +18 -15
  59. package/dist/{chunk-T57BCGHQ.js → chunk-GBD6G4TA.js} +1 -1
  60. package/dist/{chunk-GFXZDU4V.js → chunk-GM2IFDVF.js} +38 -3
  61. package/dist/{chunk-5TLRS3AK.js → chunk-GXQVOKHJ.js} +2 -2
  62. package/dist/{chunk-NB2PY5JX.js → chunk-H2RD5EMR.js} +3 -3
  63. package/dist/{chunk-N2JP3RKP.js → chunk-HBR6ZZHN.js} +5 -5
  64. package/dist/{chunk-KCLWVCGN.js → chunk-HLXGEOX3.js} +4 -4
  65. package/dist/{chunk-Z7KB4R6U.js → chunk-IO5ZDIHY.js} +7 -7
  66. package/dist/{chunk-U2IEM5FF.js → chunk-IS737HST.js} +1 -1
  67. package/dist/{chunk-WE2RVY7V.js → chunk-JDWOK6PE.js} +1 -1
  68. package/dist/{chunk-CW3QUV6B.js → chunk-KT5BH6GC.js} +8 -8
  69. package/dist/{chunk-UFGU7AK3.js → chunk-KX776UXN.js} +2 -2
  70. package/dist/chunk-L5MCJNSI.js +166 -0
  71. package/dist/{chunk-KCXG2INQ.js → chunk-LHFK5F3T.js} +2 -2
  72. package/dist/{chunk-6TSEEKPL.js → chunk-LOERK6N3.js} +4 -4
  73. package/dist/{chunk-U26CAOZC.js → chunk-NJK4MGXL.js} +1 -1
  74. package/dist/{chunk-E7EOUEGQ.js → chunk-NQICO3ES.js} +4 -4
  75. package/dist/{chunk-U4OWRGYI.js → chunk-O3RRQTTV.js} +5 -5
  76. package/dist/{chunk-4AO2OVUA.js → chunk-OLWKCDK4.js} +6 -6
  77. package/dist/{chunk-TSFNX5J2.js → chunk-OSOCONIE.js} +5 -5
  78. package/dist/{chunk-75MJRC5I.js → chunk-OY6NJWDD.js} +1 -1
  79. package/dist/{chunk-YR3DHPYI.js → chunk-P447F2RB.js} +1 -1
  80. package/dist/{chunk-BDGKWUK2.js → chunk-Q7IEFI7V.js} +2 -2
  81. package/dist/{chunk-TZWZVAMN.js → chunk-QDKNLNCA.js} +3 -3
  82. package/dist/{chunk-BDV4WDIA.js → chunk-RFK2WN6S.js} +1 -1
  83. package/dist/{chunk-E3FSKKTJ.js → chunk-RIBIEQHU.js} +1 -1
  84. package/dist/{chunk-6SFTI7LM.js → chunk-RK7TDMQT.js} +3 -3
  85. package/dist/{chunk-G5YMVGAK.js → chunk-SBQCRQIP.js} +4 -4
  86. package/dist/{chunk-SGUGGHMC.js → chunk-SH2KK2ED.js} +3 -3
  87. package/dist/{chunk-E7HOX73X.js → chunk-T5KM7J75.js} +4 -4
  88. package/dist/{chunk-DV26ZWUC.js → chunk-T6TJA4RF.js} +2 -2
  89. package/dist/{chunk-6IOLTFNP.js → chunk-U23XTMBF.js} +21 -8
  90. package/dist/{chunk-YI543EKI.js → chunk-URCSJZNU.js} +3 -3
  91. package/dist/{chunk-YGR5PBOF.js → chunk-VFIZFKZY.js} +3 -3
  92. package/dist/{chunk-OZVZGWER.js → chunk-VICG46JC.js} +1 -1
  93. package/dist/{chunk-LH3GTSXC.js → chunk-W5NHIA4Y.js} +8 -8
  94. package/dist/{chunk-4PERN2SO.js → chunk-WYLA6J43.js} +1 -1
  95. package/dist/{chunk-XDTYGS6R.js → chunk-XA2RGGNR.js} +4 -4
  96. package/dist/{chunk-GWKT2ZZS.js → chunk-XQROISQB.js} +2 -2
  97. package/dist/{chunk-5AZ546F6.js → chunk-Z5L4NQHC.js} +1 -1
  98. package/dist/{chunk-AGIO7SF5.js → chunk-ZVON5PCF.js} +5 -5
  99. package/dist/{global-upgrade-F3QY6OHE.js → global-upgrade-DZGLAARJ.js} +6 -6
  100. package/dist/{paths-CBEAZNJR.js → paths-JATF66FP.js} +2 -2
  101. package/dist/{reapply-4HP6N7LY.js → reapply-7TDCFXNF.js} +20 -20
  102. package/dist/src/index.js +19 -19
  103. package/dist/{upgrade-lock-N3G5V2QS.js → upgrade-lock-LPIDFQEH.js} +3 -3
  104. package/package.json +1 -1
  105. package/dist/chunk-OYIN77HO.js +0 -72
@@ -5,16 +5,16 @@ import {
5
5
  import {
6
6
  NOTIFICATION_MATCHED_TYPES,
7
7
  POSTTOOLUSE_MIRRORED_TOOLS
8
- } from "./chunk-BDV4WDIA.js";
8
+ } from "./chunk-RFK2WN6S.js";
9
9
  import {
10
10
  isProtectedByScope,
11
11
  registerHookEntry
12
- } from "./chunk-E7EOUEGQ.js";
12
+ } from "./chunk-NQICO3ES.js";
13
13
  import {
14
14
  CLAUDE_PRETOOLUSE_MATCHER,
15
15
  HOOK_BUDGETS,
16
16
  HOOK_LOCATOR_BINARY
17
- } from "./chunk-GFXZDU4V.js";
17
+ } from "./chunk-GM2IFDVF.js";
18
18
 
19
19
  // src/gemini-config.ts
20
20
  var GEMINI_HOOK_BINARY = "pushary-gemini-hook";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  guardBinary
3
- } from "./chunk-E7EOUEGQ.js";
3
+ } from "./chunk-NQICO3ES.js";
4
4
 
5
5
  // src/bell/install.ts
6
6
  import { join } from "path";
@@ -6,38 +6,38 @@ import {
6
6
  } from "./chunk-VTR4VRL2.js";
7
7
  import {
8
8
  ensureDaemonRunning
9
- } from "./chunk-N2JP3RKP.js";
9
+ } from "./chunk-HBR6ZZHN.js";
10
10
  import {
11
11
  buildTranscriptRecords,
12
12
  decodePublicKey,
13
13
  generateSessionKey,
14
14
  wrapSessionKey
15
- } from "./chunk-E3FSKKTJ.js";
15
+ } from "./chunk-RIBIEQHU.js";
16
16
  import {
17
17
  fetchTranscriptRecipients,
18
18
  uploadTranscriptRecords
19
- } from "./chunk-GNQZY4GL.js";
19
+ } from "./chunk-3WRJU7KN.js";
20
20
  import {
21
21
  transcriptEnvironmentPreference,
22
22
  transcriptsEnabled
23
- } from "./chunk-WE2RVY7V.js";
23
+ } from "./chunk-JDWOK6PE.js";
24
24
  import {
25
25
  hookOwnerOf
26
- } from "./chunk-TSFNX5J2.js";
26
+ } from "./chunk-OSOCONIE.js";
27
27
  import {
28
28
  readTranscriptPreference
29
- } from "./chunk-6IOLTFNP.js";
29
+ } from "./chunk-U23XTMBF.js";
30
30
  import {
31
31
  codexHome,
32
32
  pusharyDir
33
- } from "./chunk-E7EOUEGQ.js";
33
+ } from "./chunk-NQICO3ES.js";
34
34
  import {
35
35
  writeJsonAtomic
36
36
  } from "./chunk-AQFEP65J.js";
37
37
  import {
38
38
  getApiKey,
39
39
  getBaseUrl
40
- } from "./chunk-75MJRC5I.js";
40
+ } from "./chunk-OY6NJWDD.js";
41
41
 
42
42
  // src/transcript-registration.ts
43
43
  import { createHash } from "crypto";
@@ -2,7 +2,7 @@ import {
2
2
  autoUpdateLock,
3
3
  installPackageGlobally,
4
4
  npmErrorMessage
5
- } from "./chunk-E7EOUEGQ.js";
5
+ } from "./chunk-NQICO3ES.js";
6
6
  import {
7
7
  writeJsonAtomic
8
8
  } from "./chunk-AQFEP65J.js";
@@ -1,13 +1,13 @@
1
1
  import {
2
2
  MCP_BRIDGE_BINARY
3
- } from "./chunk-BDGKWUK2.js";
3
+ } from "./chunk-Q7IEFI7V.js";
4
4
  import {
5
5
  KEY_FILE_MODE
6
- } from "./chunk-6IOLTFNP.js";
6
+ } from "./chunk-U23XTMBF.js";
7
7
  import {
8
8
  NpmMissingError,
9
9
  NpmPermissionError
10
- } from "./chunk-E7EOUEGQ.js";
10
+ } from "./chunk-NQICO3ES.js";
11
11
  import {
12
12
  readJsonSafe,
13
13
  writeFileAtomic,
@@ -15,7 +15,7 @@ import {
15
15
  } from "./chunk-AQFEP65J.js";
16
16
  import {
17
17
  NPX_LATEST_COMMAND
18
- } from "./chunk-TZWZVAMN.js";
18
+ } from "./chunk-QDKNLNCA.js";
19
19
 
20
20
  // src/instruction-file.ts
21
21
  import { existsSync, readFileSync, writeFileSync, mkdirSync, rmSync } from "fs";
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-POFBE6ZY.js";
4
4
  import {
5
5
  autoUpdateState
6
- } from "./chunk-E7EOUEGQ.js";
6
+ } from "./chunk-NQICO3ES.js";
7
7
  import {
8
8
  readJsonSafe,
9
9
  writeJsonAtomic
@@ -14,7 +14,7 @@ import {
14
14
  cliPackagePathSegments,
15
15
  globalUpgradeEntry,
16
16
  ownPackageRoot
17
- } from "./chunk-GFXZDU4V.js";
17
+ } from "./chunk-GM2IFDVF.js";
18
18
 
19
19
  // src/auto-update.ts
20
20
  import { spawn } from "child_process";
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  HOOK_HOLD_BUDGET_ENV,
3
3
  hookHoldBudgetProof
4
- } from "./chunk-GFXZDU4V.js";
4
+ } from "./chunk-GM2IFDVF.js";
5
5
 
6
6
  // src/hold-budget.ts
7
7
  var takeHookHoldBudget = (args = process.argv.slice(2), env = process.env) => {
@@ -5,18 +5,18 @@ import {
5
5
  import {
6
6
  SubscriptionRequiredError,
7
7
  callMcpTool
8
- } from "./chunk-6SFTI7LM.js";
8
+ } from "./chunk-RK7TDMQT.js";
9
9
  import {
10
10
  installNetworkDefaults,
11
11
  isNetworkFailure
12
- } from "./chunk-WAKQYJ6T.js";
12
+ } from "./chunk-2E6AWHV7.js";
13
13
  import {
14
14
  clientReportClaims
15
- } from "./chunk-E7EOUEGQ.js";
15
+ } from "./chunk-NQICO3ES.js";
16
16
  import {
17
17
  getApiKey,
18
18
  getBaseUrl
19
- } from "./chunk-75MJRC5I.js";
19
+ } from "./chunk-OY6NJWDD.js";
20
20
  import {
21
21
  ASK_AGENT_NAME_MAX,
22
22
  ASK_QUESTION_MAX,
@@ -25,7 +25,7 @@ import {
25
25
  GATE_PERMISSION_MODE_MAX_LENGTH,
26
26
  degradedLine,
27
27
  truncateLine
28
- } from "./chunk-GFXZDU4V.js";
28
+ } from "./chunk-GM2IFDVF.js";
29
29
 
30
30
  // src/client-report-claim.ts
31
31
  import { createHash } from "crypto";
@@ -5,15 +5,15 @@ import {
5
5
  readGlobalUpgradeSubject,
6
6
  upgradeInstalledPackage,
7
7
  withUpgradeLock
8
- } from "./chunk-JQVGCDHW.js";
9
- import "./chunk-4PERN2SO.js";
10
- import "./chunk-GWKT2ZZS.js";
8
+ } from "./chunk-EKPAV33G.js";
9
+ import "./chunk-WYLA6J43.js";
10
+ import "./chunk-XQROISQB.js";
11
11
  import "./chunk-POFBE6ZY.js";
12
12
  import "./chunk-KZERVKTD.js";
13
- import "./chunk-E7EOUEGQ.js";
13
+ import "./chunk-NQICO3ES.js";
14
14
  import "./chunk-AQFEP65J.js";
15
- import "./chunk-TZWZVAMN.js";
16
- import "./chunk-GFXZDU4V.js";
15
+ import "./chunk-QDKNLNCA.js";
16
+ import "./chunk-GM2IFDVF.js";
17
17
  export {
18
18
  finishGlobalUpgrade,
19
19
  finishUpgradeWithLock,
@@ -32,8 +32,8 @@ import {
32
32
  pusharyDir,
33
33
  vscodePluginDir,
34
34
  vscodePluginMcp
35
- } from "./chunk-E7EOUEGQ.js";
36
- import "./chunk-GFXZDU4V.js";
35
+ } from "./chunk-NQICO3ES.js";
36
+ import "./chunk-GM2IFDVF.js";
37
37
  export {
38
38
  autoUpdateLock,
39
39
  autoUpdateLog,
@@ -10,34 +10,34 @@ import {
10
10
  reapplyOpenCodePlugin,
11
11
  reapplyVsCodePlugin,
12
12
  repairCodexHolds
13
- } from "./chunk-Z7KB4R6U.js";
14
- import "./chunk-KCXG2INQ.js";
13
+ } from "./chunk-IO5ZDIHY.js";
14
+ import "./chunk-LHFK5F3T.js";
15
15
  import "./chunk-RIVNNBEK.js";
16
16
  import "./chunk-XHKBHWLX.js";
17
- import "./chunk-U4OWRGYI.js";
18
- import "./chunk-6TSEEKPL.js";
19
- import "./chunk-TSFNX5J2.js";
20
- import "./chunk-YGR5PBOF.js";
21
- import "./chunk-U26CAOZC.js";
22
- import "./chunk-OZVZGWER.js";
17
+ import "./chunk-O3RRQTTV.js";
18
+ import "./chunk-LOERK6N3.js";
19
+ import "./chunk-OSOCONIE.js";
20
+ import "./chunk-VFIZFKZY.js";
21
+ import "./chunk-NJK4MGXL.js";
22
+ import "./chunk-VICG46JC.js";
23
23
  import "./chunk-GMXKITVA.js";
24
24
  import "./chunk-6ICPEJY5.js";
25
- import "./chunk-CW3QUV6B.js";
26
- import "./chunk-BDV4WDIA.js";
27
- import "./chunk-AGIO7SF5.js";
25
+ import "./chunk-KT5BH6GC.js";
26
+ import "./chunk-RFK2WN6S.js";
27
+ import "./chunk-ZVON5PCF.js";
28
28
  import "./chunk-POFBE6ZY.js";
29
- import "./chunk-6SFTI7LM.js";
30
- import "./chunk-NB2PY5JX.js";
31
- import "./chunk-WAKQYJ6T.js";
32
- import "./chunk-U2IEM5FF.js";
29
+ import "./chunk-RK7TDMQT.js";
30
+ import "./chunk-H2RD5EMR.js";
31
+ import "./chunk-2E6AWHV7.js";
32
+ import "./chunk-IS737HST.js";
33
33
  import "./chunk-7QLSKOSU.js";
34
34
  import "./chunk-KZERVKTD.js";
35
- import "./chunk-5TLRS3AK.js";
36
- import "./chunk-E7EOUEGQ.js";
35
+ import "./chunk-GXQVOKHJ.js";
36
+ import "./chunk-NQICO3ES.js";
37
37
  import "./chunk-AQFEP65J.js";
38
- import "./chunk-75MJRC5I.js";
39
- import "./chunk-TZWZVAMN.js";
40
- import "./chunk-GFXZDU4V.js";
38
+ import "./chunk-OY6NJWDD.js";
39
+ import "./chunk-QDKNLNCA.js";
40
+ import "./chunk-GM2IFDVF.js";
41
41
  export {
42
42
  ensureCodexTrustAfterReapply,
43
43
  inspectConfiguredManagedProviders,
package/dist/src/index.js CHANGED
@@ -1,14 +1,14 @@
1
1
  import {
2
2
  handlePreToolUse
3
- } from "../chunk-TH3HKKGW.js";
4
- import "../chunk-AR4NXO4Q.js";
5
- import "../chunk-T57BCGHQ.js";
6
- import "../chunk-P345G4DK.js";
3
+ } from "../chunk-G6GFNKF7.js";
4
+ import "../chunk-CLVU24OZ.js";
5
+ import "../chunk-GBD6G4TA.js";
6
+ import "../chunk-E4B7TXVS.js";
7
7
  import {
8
8
  fetchAccountPublicKey
9
- } from "../chunk-GNQZY4GL.js";
10
- import "../chunk-6TSEEKPL.js";
11
- import "../chunk-YGR5PBOF.js";
9
+ } from "../chunk-3WRJU7KN.js";
10
+ import "../chunk-LOERK6N3.js";
11
+ import "../chunk-VFIZFKZY.js";
12
12
  import "../chunk-6ICPEJY5.js";
13
13
  import {
14
14
  fetchModeOverride,
@@ -18,31 +18,31 @@ import {
18
18
  handlePostToolUse,
19
19
  handleStop,
20
20
  reportEvent
21
- } from "../chunk-CW3QUV6B.js";
22
- import "../chunk-BDV4WDIA.js";
21
+ } from "../chunk-KT5BH6GC.js";
22
+ import "../chunk-RFK2WN6S.js";
23
23
  import {
24
24
  askUser,
25
25
  cancelQuestion,
26
26
  waitForAnswer
27
- } from "../chunk-AGIO7SF5.js";
27
+ } from "../chunk-ZVON5PCF.js";
28
28
  import "../chunk-POFBE6ZY.js";
29
- import "../chunk-6SFTI7LM.js";
30
- import "../chunk-NB2PY5JX.js";
31
- import "../chunk-WAKQYJ6T.js";
32
- import "../chunk-U2IEM5FF.js";
29
+ import "../chunk-RK7TDMQT.js";
30
+ import "../chunk-H2RD5EMR.js";
31
+ import "../chunk-2E6AWHV7.js";
32
+ import "../chunk-IS737HST.js";
33
33
  import "../chunk-7QLSKOSU.js";
34
34
  import "../chunk-KZERVKTD.js";
35
- import "../chunk-5TLRS3AK.js";
36
- import "../chunk-E7EOUEGQ.js";
35
+ import "../chunk-GXQVOKHJ.js";
36
+ import "../chunk-NQICO3ES.js";
37
37
  import "../chunk-AQFEP65J.js";
38
38
  import {
39
39
  getApiKey,
40
40
  getBaseUrl
41
- } from "../chunk-75MJRC5I.js";
42
- import "../chunk-TZWZVAMN.js";
41
+ } from "../chunk-OY6NJWDD.js";
42
+ import "../chunk-QDKNLNCA.js";
43
43
  import {
44
44
  resolvePolicy
45
- } from "../chunk-GFXZDU4V.js";
45
+ } from "../chunk-GM2IFDVF.js";
46
46
  export {
47
47
  askUser,
48
48
  cancelQuestion,
@@ -5,10 +5,10 @@ import {
5
5
  installWithUpgradeLock,
6
6
  ownsUpgradeLock,
7
7
  releaseAutoUpdateLock
8
- } from "./chunk-4PERN2SO.js";
9
- import "./chunk-E7EOUEGQ.js";
8
+ } from "./chunk-WYLA6J43.js";
9
+ import "./chunk-NQICO3ES.js";
10
10
  import "./chunk-AQFEP65J.js";
11
- import "./chunk-GFXZDU4V.js";
11
+ import "./chunk-GM2IFDVF.js";
12
12
  export {
13
13
  claimUpgradeLock,
14
14
  finishWithUpgradeLock,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pushary/agent-hooks",
3
- "version": "1.9.22",
3
+ "version": "1.9.24",
4
4
  "description": "Permission hooks for AI coding agents: route tool approvals through Pushary push notifications",
5
5
  "keywords": [
6
6
  "pushary",
@@ -1,72 +0,0 @@
1
- // src/key-revocation.ts
2
- var SELF_REVOKE_PATH = "/api/v1/server/keys/self/revoke";
3
- var DEVICE_KEY_PATH = "/api/agent/device-key";
4
- var FULL_ACCESS_ONLY_STATUS = 403;
5
- var REVOKE_TIMEOUT_MS = 1e4;
6
- var readRevokedCount = async (response) => {
7
- try {
8
- const body = await response.json();
9
- const revoked = typeof body === "object" && body !== null && "revoked" in body ? body.revoked : void 0;
10
- return typeof revoked === "number" && Number.isInteger(revoked) && revoked >= 0 ? revoked : null;
11
- } catch {
12
- return null;
13
- }
14
- };
15
- var revokeAgentKey = async (apiKey, baseUrl, fetchImpl) => {
16
- const response = await fetchImpl(`${baseUrl}${DEVICE_KEY_PATH}`, {
17
- method: "DELETE",
18
- headers: { Authorization: `Bearer ${apiKey}` },
19
- signal: AbortSignal.timeout(REVOKE_TIMEOUT_MS)
20
- });
21
- if (!response.ok) return { kind: "refused", status: response.status };
22
- const revoked = await readRevokedCount(response);
23
- if (revoked === null) return { kind: "unconfirmed", status: response.status };
24
- return revoked > 0 ? { kind: "revoked" } : { kind: "not_accepted" };
25
- };
26
- var revokeOwnKey = async (apiKey, baseUrl, fetchImpl = fetch) => {
27
- try {
28
- const response = await fetchImpl(`${baseUrl}${SELF_REVOKE_PATH}`, {
29
- method: "POST",
30
- headers: { Authorization: `Bearer ${apiKey}`, "Content-Type": "application/json" },
31
- signal: AbortSignal.timeout(REVOKE_TIMEOUT_MS)
32
- });
33
- if (response.status === 401) return { kind: "not_accepted" };
34
- if (response.status === FULL_ACCESS_ONLY_STATUS) return await revokeAgentKey(apiKey, baseUrl, fetchImpl);
35
- if (!response.ok) return { kind: "refused", status: response.status };
36
- return { kind: "revoked" };
37
- } catch (err) {
38
- return { kind: "unreachable", detail: err instanceof Error ? err.message : "network error" };
39
- }
40
- };
41
- var REVOKE_DETAIL = {
42
- revoked: "Revoked the key on pushary.com.",
43
- not_accepted: "pushary.com had already stopped accepting the key.",
44
- refused: "pushary.com refused to revoke the key",
45
- unconfirmed: "pushary.com did not confirm the key was revoked",
46
- unreachable: "Could not reach pushary.com to revoke the key"
47
- };
48
- var describeRevokeAttempt = (attempt) => {
49
- if (attempt.kind === "refused" || attempt.kind === "unconfirmed") return `${REVOKE_DETAIL[attempt.kind]} (HTTP ${attempt.status}).`;
50
- if (attempt.kind === "unreachable") return `${REVOKE_DETAIL.unreachable}: ${attempt.detail}`;
51
- return REVOKE_DETAIL[attempt.kind];
52
- };
53
- var keyNoLongerAccepted = (attempt) => attempt.kind === "revoked" || attempt.kind === "not_accepted";
54
- var keyValidityOf = (check) => {
55
- switch (check.kind) {
56
- case "ok":
57
- case "locked":
58
- return "valid";
59
- case "rejected":
60
- case "malformed":
61
- return "invalid";
62
- case "unreachable":
63
- return "unknown";
64
- }
65
- };
66
-
67
- export {
68
- revokeOwnKey,
69
- describeRevokeAttempt,
70
- keyNoLongerAccepted,
71
- keyValidityOf
72
- };