@pushary/agent-hooks 1.9.23 → 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 +7 -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 +30 -30
  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 +41 -38
  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-FIYCICHC.js → chunk-264EOGIK.js} +2 -2
  46. package/dist/{chunk-XBETSM5T.js → chunk-2E6AWHV7.js} +3 -3
  47. package/dist/{chunk-YZPFJCFE.js → chunk-2F6UQ3YD.js} +1 -1
  48. package/dist/{chunk-6GHZAS7S.js → chunk-2JTJZ7VI.js} +4 -4
  49. package/dist/{chunk-CJTQNUUT.js → chunk-35U2QHH2.js} +2 -2
  50. package/dist/{chunk-QFNY4KUQ.js → chunk-3WRJU7KN.js} +1 -1
  51. package/dist/{chunk-HXZG5WHU.js → chunk-7JHYWFY6.js} +2 -2
  52. package/dist/{chunk-NHBPW6C4.js → chunk-7Z2DLAEE.js} +2 -2
  53. package/dist/{chunk-FBV2KS3Z.js → chunk-CLVU24OZ.js} +2 -2
  54. package/dist/{chunk-SLBO7PHS.js → chunk-CYGIJXAP.js} +2 -2
  55. package/dist/{chunk-M7DCI44L.js → chunk-E4B7TXVS.js} +1 -1
  56. package/dist/{chunk-S2R2U5W5.js → chunk-EE357RIP.js} +4 -4
  57. package/dist/{chunk-I46QTKYI.js → chunk-EKPAV33G.js} +5 -5
  58. package/dist/{chunk-SWQLZQE3.js → chunk-G6GFNKF7.js} +14 -13
  59. package/dist/{chunk-GN6BJXC7.js → chunk-GBD6G4TA.js} +1 -1
  60. package/dist/{chunk-OH647UT3.js → chunk-GM2IFDVF.js} +24 -1
  61. package/dist/{chunk-6HT2TUZD.js → chunk-GXQVOKHJ.js} +2 -2
  62. package/dist/{chunk-Z4UDB7EC.js → chunk-H2RD5EMR.js} +3 -3
  63. package/dist/{chunk-SSWK2WYX.js → chunk-HBR6ZZHN.js} +5 -5
  64. package/dist/{chunk-2AUKCSLQ.js → chunk-HLXGEOX3.js} +4 -4
  65. package/dist/{chunk-ISAKLEKE.js → chunk-IO5ZDIHY.js} +7 -7
  66. package/dist/{chunk-EDN4F6GX.js → chunk-IS737HST.js} +1 -1
  67. package/dist/{chunk-M6R3SZZS.js → chunk-JDWOK6PE.js} +1 -1
  68. package/dist/{chunk-GYP6DLA4.js → chunk-KT5BH6GC.js} +8 -8
  69. package/dist/{chunk-7J2AX5T6.js → chunk-KX776UXN.js} +2 -2
  70. package/dist/chunk-L5MCJNSI.js +166 -0
  71. package/dist/{chunk-RHIKMNWJ.js → chunk-LHFK5F3T.js} +2 -2
  72. package/dist/{chunk-K2EYK5RL.js → chunk-LOERK6N3.js} +4 -4
  73. package/dist/{chunk-R5C3QCVT.js → chunk-NJK4MGXL.js} +1 -1
  74. package/dist/{chunk-QIODXPTP.js → chunk-NQICO3ES.js} +4 -4
  75. package/dist/{chunk-ZGYO6OQE.js → chunk-O3RRQTTV.js} +5 -5
  76. package/dist/{chunk-PFB7P4F3.js → chunk-OLWKCDK4.js} +6 -6
  77. package/dist/{chunk-A5U62Q6K.js → chunk-OSOCONIE.js} +5 -5
  78. package/dist/{chunk-OQPEHKH2.js → chunk-OY6NJWDD.js} +1 -1
  79. package/dist/{chunk-NSCETODW.js → chunk-P447F2RB.js} +1 -1
  80. package/dist/{chunk-RN5NRRHX.js → chunk-Q7IEFI7V.js} +2 -2
  81. package/dist/{chunk-LEQRIJ4H.js → chunk-QDKNLNCA.js} +3 -3
  82. package/dist/{chunk-KJA6IGOZ.js → chunk-RFK2WN6S.js} +1 -1
  83. package/dist/{chunk-N4DMADJM.js → chunk-RIBIEQHU.js} +1 -1
  84. package/dist/{chunk-E2LGKG75.js → chunk-RK7TDMQT.js} +3 -3
  85. package/dist/{chunk-DKBPNHAI.js → chunk-SBQCRQIP.js} +4 -4
  86. package/dist/{chunk-AXSHPFU3.js → chunk-SH2KK2ED.js} +3 -3
  87. package/dist/{chunk-OH6OGEOY.js → chunk-T5KM7J75.js} +4 -4
  88. package/dist/{chunk-73HGV4R6.js → chunk-T6TJA4RF.js} +2 -2
  89. package/dist/{chunk-AQ3TSQA2.js → chunk-U23XTMBF.js} +21 -8
  90. package/dist/{chunk-BY5EKA6W.js → chunk-URCSJZNU.js} +3 -3
  91. package/dist/{chunk-7RGEJOQS.js → chunk-VFIZFKZY.js} +3 -3
  92. package/dist/{chunk-AFP3HZVK.js → chunk-VICG46JC.js} +1 -1
  93. package/dist/{chunk-AV5VX7OK.js → chunk-W5NHIA4Y.js} +8 -8
  94. package/dist/{chunk-JCEUDLGW.js → chunk-WYLA6J43.js} +1 -1
  95. package/dist/{chunk-YXHVMZPR.js → chunk-XA2RGGNR.js} +4 -4
  96. package/dist/{chunk-USUI4P63.js → chunk-XQROISQB.js} +2 -2
  97. package/dist/{chunk-JNKHCGHR.js → chunk-Z5L4NQHC.js} +1 -1
  98. package/dist/{chunk-4GKQDFH6.js → chunk-ZVON5PCF.js} +5 -5
  99. package/dist/{global-upgrade-SKY7A3SI.js → global-upgrade-DZGLAARJ.js} +6 -6
  100. package/dist/{paths-XUUEK7OU.js → paths-JATF66FP.js} +2 -2
  101. package/dist/{reapply-WQDP26EA.js → reapply-7TDCFXNF.js} +20 -20
  102. package/dist/src/index.js +19 -19
  103. package/dist/{upgrade-lock-AYW3TB7X.js → upgrade-lock-LPIDFQEH.js} +3 -3
  104. package/package.json +1 -1
  105. package/dist/chunk-OYIN77HO.js +0 -72
@@ -5,15 +5,15 @@ import {
5
5
  readGlobalUpgradeSubject,
6
6
  upgradeInstalledPackage,
7
7
  withUpgradeLock
8
- } from "./chunk-I46QTKYI.js";
9
- import "./chunk-JCEUDLGW.js";
10
- import "./chunk-USUI4P63.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-QIODXPTP.js";
13
+ import "./chunk-NQICO3ES.js";
14
14
  import "./chunk-AQFEP65J.js";
15
- import "./chunk-LEQRIJ4H.js";
16
- import "./chunk-OH647UT3.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-QIODXPTP.js";
36
- import "./chunk-OH647UT3.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-ISAKLEKE.js";
14
- import "./chunk-RHIKMNWJ.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-ZGYO6OQE.js";
18
- import "./chunk-K2EYK5RL.js";
19
- import "./chunk-A5U62Q6K.js";
20
- import "./chunk-7RGEJOQS.js";
21
- import "./chunk-R5C3QCVT.js";
22
- import "./chunk-AFP3HZVK.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-GYP6DLA4.js";
26
- import "./chunk-KJA6IGOZ.js";
27
- import "./chunk-4GKQDFH6.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-E2LGKG75.js";
30
- import "./chunk-Z4UDB7EC.js";
31
- import "./chunk-XBETSM5T.js";
32
- import "./chunk-EDN4F6GX.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-6HT2TUZD.js";
36
- import "./chunk-QIODXPTP.js";
35
+ import "./chunk-GXQVOKHJ.js";
36
+ import "./chunk-NQICO3ES.js";
37
37
  import "./chunk-AQFEP65J.js";
38
- import "./chunk-OQPEHKH2.js";
39
- import "./chunk-LEQRIJ4H.js";
40
- import "./chunk-OH647UT3.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-SWQLZQE3.js";
4
- import "../chunk-FBV2KS3Z.js";
5
- import "../chunk-GN6BJXC7.js";
6
- import "../chunk-M7DCI44L.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-QFNY4KUQ.js";
10
- import "../chunk-K2EYK5RL.js";
11
- import "../chunk-7RGEJOQS.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-GYP6DLA4.js";
22
- import "../chunk-KJA6IGOZ.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-4GKQDFH6.js";
27
+ } from "../chunk-ZVON5PCF.js";
28
28
  import "../chunk-POFBE6ZY.js";
29
- import "../chunk-E2LGKG75.js";
30
- import "../chunk-Z4UDB7EC.js";
31
- import "../chunk-XBETSM5T.js";
32
- import "../chunk-EDN4F6GX.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-6HT2TUZD.js";
36
- import "../chunk-QIODXPTP.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-OQPEHKH2.js";
42
- import "../chunk-LEQRIJ4H.js";
41
+ } from "../chunk-OY6NJWDD.js";
42
+ import "../chunk-QDKNLNCA.js";
43
43
  import {
44
44
  resolvePolicy
45
- } from "../chunk-OH647UT3.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-JCEUDLGW.js";
9
- import "./chunk-QIODXPTP.js";
8
+ } from "./chunk-WYLA6J43.js";
9
+ import "./chunk-NQICO3ES.js";
10
10
  import "./chunk-AQFEP65J.js";
11
- import "./chunk-OH647UT3.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.23",
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
- };