@pushary/agent-hooks 0.95.6 → 0.95.7

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 +7 -0
  2. package/data/cursor-plugin/.cursor-plugin/plugin.json +1 -1
  3. package/data/cursor-plugin/CHANGELOG.md +7 -0
  4. package/data/cursor-plugin/scripts/pushary-gate.mjs +72 -17
  5. package/data/vscode-plugin/.claude-plugin/plugin.json +1 -1
  6. package/data/vscode-plugin/CHANGELOG.md +6 -0
  7. package/data/vscode-plugin/scripts/pushary-gate.mjs +76 -24
  8. package/dist/bin/pushary-bell-hook.js +18 -18
  9. package/dist/bin/pushary-bell.js +5 -5
  10. package/dist/bin/pushary-claude.js +24 -24
  11. package/dist/bin/pushary-clean.js +16 -16
  12. package/dist/bin/pushary-codex-bridge.js +29 -12
  13. package/dist/bin/pushary-codex-hook.js +29 -29
  14. package/dist/bin/pushary-codex.js +7 -7
  15. package/dist/bin/pushary-connect.js +6 -6
  16. package/dist/bin/pushary-cowork.js +3 -3
  17. package/dist/bin/pushary-daemon.js +22 -22
  18. package/dist/bin/pushary-disconnect.js +6 -6
  19. package/dist/bin/pushary-doctor.js +22 -21
  20. package/dist/bin/pushary-elicitation-hook.js +17 -17
  21. package/dist/bin/pushary-gemini-bridge.js +9 -9
  22. package/dist/bin/pushary-gemini-hook.js +65 -50
  23. package/dist/bin/pushary-hook.js +22 -22
  24. package/dist/bin/pushary-login.js +7 -7
  25. package/dist/bin/pushary-logout.js +4 -4
  26. package/dist/bin/pushary-mode.js +3 -3
  27. package/dist/bin/pushary-notification-hook.js +19 -19
  28. package/dist/bin/pushary-opencode-hook.js +29 -29
  29. package/dist/bin/pushary-permission-denied-hook.js +22 -22
  30. package/dist/bin/pushary-permission-hook.js +22 -22
  31. package/dist/bin/pushary-post-hook.js +19 -19
  32. package/dist/bin/pushary-prompt-hook.js +19 -19
  33. package/dist/bin/pushary-session-end-hook.js +19 -19
  34. package/dist/bin/pushary-session-start-hook.js +22 -22
  35. package/dist/bin/pushary-setup.js +24 -24
  36. package/dist/bin/pushary-stats.js +2 -2
  37. package/dist/bin/pushary-status.js +10 -10
  38. package/dist/bin/pushary-stop-hook.js +19 -19
  39. package/dist/bin/pushary-stopfailure-hook.js +19 -19
  40. package/dist/bin/pushary-transcript-register.js +16 -16
  41. package/dist/bin/pushary-transcripts.js +5 -5
  42. package/dist/bin/pushary-upgrade.js +14 -14
  43. package/dist/bin/pushary-wait.js +6 -5
  44. package/dist/{chunk-C7BFOC35.js → chunk-4OSQZ5TB.js} +2 -2
  45. package/dist/{chunk-HKQ6CD32.js → chunk-54W7ELDQ.js} +1 -1
  46. package/dist/{chunk-32WFHA77.js → chunk-5GKNAQTG.js} +1 -1
  47. package/dist/{chunk-XJ6CXTSB.js → chunk-6W2WGNO5.js} +7 -7
  48. package/dist/{chunk-CDBTCEKE.js → chunk-7RNY3UHJ.js} +3 -3
  49. package/dist/{chunk-FBO5WS3D.js → chunk-BGX4QUQF.js} +1 -1
  50. package/dist/{chunk-6II5RBAS.js → chunk-BQL7UDIB.js} +1 -1
  51. package/dist/{chunk-HHODMHTH.js → chunk-CNUDZS4V.js} +3 -3
  52. package/dist/chunk-CVWG2N3Y.js +16 -0
  53. package/dist/{chunk-WZ63WTAZ.js → chunk-EMGGUO2Q.js} +1 -1
  54. package/dist/{chunk-KNIVXEW4.js → chunk-FRXZMCVA.js} +1 -1
  55. package/dist/{chunk-A2M6FGUF.js → chunk-GQRU4KJF.js} +3 -3
  56. package/dist/{chunk-XKIB2FQY.js → chunk-HAXZ6CBF.js} +8 -8
  57. package/dist/{chunk-R4MBUCPQ.js → chunk-IZVK6FKD.js} +1 -1
  58. package/dist/{chunk-KAWLZTRJ.js → chunk-L7NOG547.js} +1 -1
  59. package/dist/{chunk-RPHXG4HI.js → chunk-NKUE5SJB.js} +2 -2
  60. package/dist/{chunk-DSCGKZO5.js → chunk-PQGLDN4V.js} +2 -2
  61. package/dist/{chunk-FVTFSYKB.js → chunk-QJPYJVL3.js} +1 -1
  62. package/dist/{chunk-ZQREURP6.js → chunk-SDNTRS76.js} +1 -1
  63. package/dist/{chunk-DH4INZW3.js → chunk-SKPXQRKN.js} +1 -1
  64. package/dist/{chunk-SLVXQOYU.js → chunk-TY6IJY6I.js} +1 -1
  65. package/dist/{chunk-43TFQOAT.js → chunk-U5RIXR7I.js} +1 -1
  66. package/dist/{chunk-AXECWTTZ.js → chunk-UKMLSQXA.js} +2 -2
  67. package/dist/{chunk-OIZVYUED.js → chunk-USWT4PTR.js} +1 -1
  68. package/dist/{chunk-SRFA5BOO.js → chunk-VDI645ZX.js} +1 -1
  69. package/dist/{chunk-JZSWA3VT.js → chunk-VERXHIQF.js} +1 -1
  70. package/dist/{chunk-FHIVWF4B.js → chunk-VIUOGMT5.js} +14 -14
  71. package/dist/{chunk-6MRPTYYH.js → chunk-VMQU7YEJ.js} +1 -1
  72. package/dist/{chunk-7N3D4GN7.js → chunk-VMZ4SWQD.js} +4 -4
  73. package/dist/{chunk-WRK6RAA5.js → chunk-WAUAYRUQ.js} +4 -4
  74. package/dist/{chunk-BS5XR4J7.js → chunk-WPS5IM7B.js} +3 -3
  75. package/dist/{chunk-ZJ6QXXBC.js → chunk-XJQOVWBQ.js} +11 -11
  76. package/dist/{chunk-O5RQ7RYJ.js → chunk-XO3JR3OP.js} +2 -2
  77. package/dist/{chunk-32WWVRXN.js → chunk-XUTSZYYJ.js} +1 -1
  78. package/dist/{chunk-4XFBO3GW.js → chunk-XZWUOCJZ.js} +1 -1
  79. package/dist/{chunk-HBBQO77U.js → chunk-Z4JVEL7R.js} +1 -1
  80. package/dist/src/index.js +10 -10
  81. package/package.json +1 -1
  82. package/dist/chunk-IIENZE2J.js +0 -15
  83. /package/dist/{chunk-VZADMT7R.js → chunk-MC5WUOJJ.js} +0 -0
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  SETUP_FLAGS
3
- } from "./chunk-4XFBO3GW.js";
3
+ } from "./chunk-XZWUOCJZ.js";
4
4
  import {
5
5
  parseFlags
6
6
  } from "./chunk-GMXKITVA.js";
@@ -14,7 +14,7 @@ import {
14
14
  CLAUDE_CONNECTOR_URL,
15
15
  COWORK_CONNECTOR_LIMIT,
16
16
  COWORK_STANDING_INSTRUCTIONS
17
- } from "./chunk-VZADMT7R.js";
17
+ } from "./chunk-MC5WUOJJ.js";
18
18
 
19
19
  // src/cli/cowork.ts
20
20
  import { readFileSync } from "fs";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  parseVersion
3
- } from "./chunk-CDBTCEKE.js";
3
+ } from "./chunk-7RNY3UHJ.js";
4
4
 
5
5
  // src/setup/agent-probe.ts
6
6
  import { execSync } from "child_process";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  shouldDeferToNativeMode
3
- } from "./chunk-VZADMT7R.js";
3
+ } from "./chunk-MC5WUOJJ.js";
4
4
 
5
5
  // src/native-defer.ts
6
6
  var nativeDeferOptions = () => {
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  readTranscriptPreference
3
- } from "./chunk-6MRPTYYH.js";
3
+ } from "./chunk-VMQU7YEJ.js";
4
4
 
5
5
  // src/transcript-setting.ts
6
6
  var transcriptEnvironmentPreference = () => {
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  defersToNativeMode
3
- } from "./chunk-SRFA5BOO.js";
3
+ } from "./chunk-VDI645ZX.js";
4
4
  import {
5
5
  isGatingMoment,
6
6
  recordKeylessMoment
7
- } from "./chunk-32WFHA77.js";
7
+ } from "./chunk-5GKNAQTG.js";
8
8
  import {
9
9
  denyReasonFrom,
10
10
  isDeferAnswer
@@ -20,15 +20,7 @@ import {
20
20
  reportEvent,
21
21
  settleQuestionsForToolUse,
22
22
  throttlePass
23
- } from "./chunk-ZJ6QXXBC.js";
24
- import {
25
- DECISION_STOP_REASON,
26
- askUser,
27
- isDecisionStopped,
28
- isLocalQuestionHandoff,
29
- sendNotification,
30
- waitForQuestion
31
- } from "./chunk-XS33QBJA.js";
23
+ } from "./chunk-XJQOVWBQ.js";
32
24
  import {
33
25
  UNNAMED_ACTION,
34
26
  deriveAction,
@@ -38,10 +30,18 @@ import {
38
30
  describeToolCall,
39
31
  permissionDeniedAction,
40
32
  scopePathFor
41
- } from "./chunk-HBBQO77U.js";
33
+ } from "./chunk-Z4JVEL7R.js";
34
+ import {
35
+ DECISION_STOP_REASON,
36
+ askUser,
37
+ isDecisionStopped,
38
+ isLocalQuestionHandoff,
39
+ sendNotification,
40
+ waitForQuestion
41
+ } from "./chunk-XS33QBJA.js";
42
42
  import {
43
43
  getMachineId
44
- } from "./chunk-C7BFOC35.js";
44
+ } from "./chunk-4OSQZ5TB.js";
45
45
  import {
46
46
  getApiKey,
47
47
  getBaseUrl
@@ -60,7 +60,7 @@ import {
60
60
  parseAgentQuestions,
61
61
  resolveGate,
62
62
  stoppedOutput
63
- } from "./chunk-VZADMT7R.js";
63
+ } from "./chunk-MC5WUOJJ.js";
64
64
 
65
65
  // src/decision-episode.ts
66
66
  var EPISODE_PATH = "/api/agent/decision-episode";
@@ -4,7 +4,7 @@ import {
4
4
  resolveInstallSourceFor,
5
5
  writeFileAtomic,
6
6
  writeJsonAtomic
7
- } from "./chunk-KAWLZTRJ.js";
7
+ } from "./chunk-L7NOG547.js";
8
8
  import {
9
9
  configFilePath
10
10
  } from "./chunk-2UMNXADU.js";
@@ -7,22 +7,22 @@ import {
7
7
  } from "./chunk-L4ZCFMWW.js";
8
8
  import {
9
9
  getMachineId
10
- } from "./chunk-C7BFOC35.js";
10
+ } from "./chunk-4OSQZ5TB.js";
11
11
  import {
12
12
  pusharyDir
13
- } from "./chunk-FBO5WS3D.js";
13
+ } from "./chunk-BGX4QUQF.js";
14
14
  import {
15
15
  getPackageVersion
16
16
  } from "./chunk-DINDL2CF.js";
17
17
  import {
18
18
  readControlMode
19
- } from "./chunk-6MRPTYYH.js";
19
+ } from "./chunk-VMQU7YEJ.js";
20
20
  import {
21
21
  readJsonSafe,
22
22
  writeFileAtomic,
23
23
  writeJsonAtomic,
24
24
  writeJsonAtomicDurable
25
- } from "./chunk-KAWLZTRJ.js";
25
+ } from "./chunk-L7NOG547.js";
26
26
  import {
27
27
  getApiKey
28
28
  } from "./chunk-2UMNXADU.js";
@@ -2,24 +2,24 @@ import {
2
2
  detectProviderLiveCapabilities,
3
3
  hasSpawnProvider,
4
4
  resolveControlPolicy
5
- } from "./chunk-HKQ6CD32.js";
5
+ } from "./chunk-54W7ELDQ.js";
6
6
  import {
7
7
  daemonHasRemoteProof,
8
8
  daemonServiceManagerAvailable,
9
9
  hasDaemonServiceDefinition,
10
10
  readDaemonNeedsLogin,
11
11
  readDaemonStatus
12
- } from "./chunk-7N3D4GN7.js";
12
+ } from "./chunk-VMZ4SWQD.js";
13
13
  import {
14
14
  getMachineId
15
- } from "./chunk-C7BFOC35.js";
15
+ } from "./chunk-4OSQZ5TB.js";
16
16
  import {
17
17
  getPackageVersion
18
18
  } from "./chunk-DINDL2CF.js";
19
19
  import {
20
20
  readControlMode,
21
21
  readKeySource
22
- } from "./chunk-6MRPTYYH.js";
22
+ } from "./chunk-VMQU7YEJ.js";
23
23
  import {
24
24
  getBaseUrl
25
25
  } from "./chunk-2UMNXADU.js";
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  AGENT_CHOICES
3
- } from "./chunk-4XFBO3GW.js";
3
+ } from "./chunk-XZWUOCJZ.js";
4
4
  import {
5
5
  isBridgeLocator
6
- } from "./chunk-FVTFSYKB.js";
6
+ } from "./chunk-QJPYJVL3.js";
7
7
  import {
8
8
  pusharyHookExecutable
9
- } from "./chunk-A2M6FGUF.js";
9
+ } from "./chunk-GQRU4KJF.js";
10
10
  import {
11
11
  BELL_HOOK_BINARY
12
12
  } from "./chunk-GOPIMNVC.js";
@@ -1,9 +1,3 @@
1
- import {
2
- cancelQuestion,
3
- isPolicyConfig,
4
- sendNotification,
5
- waitForAnswer
6
- } from "./chunk-XS33QBJA.js";
7
1
  import {
8
2
  AGENT_IDENTITIES,
9
3
  TEAMMATE_IDLE_ACTION,
@@ -24,20 +18,26 @@ import {
24
18
  summarizeStop,
25
19
  taskTitleFrom,
26
20
  toolResultErrorText
27
- } from "./chunk-HBBQO77U.js";
21
+ } from "./chunk-Z4JVEL7R.js";
28
22
  import {
29
23
  NOTIFICATION_PUSH_TYPES,
30
24
  POSTTOOLUSE_MIRROR_ONLY_TOOLS
31
- } from "./chunk-32WWVRXN.js";
25
+ } from "./chunk-XUTSZYYJ.js";
26
+ import {
27
+ cancelQuestion,
28
+ isPolicyConfig,
29
+ sendNotification,
30
+ waitForAnswer
31
+ } from "./chunk-XS33QBJA.js";
32
32
  import {
33
33
  getMachineId
34
- } from "./chunk-C7BFOC35.js";
34
+ } from "./chunk-4OSQZ5TB.js";
35
35
  import {
36
36
  withRetry
37
37
  } from "./chunk-EYRGBYZG.js";
38
38
  import {
39
39
  reportedInstallSource
40
- } from "./chunk-KAWLZTRJ.js";
40
+ } from "./chunk-L7NOG547.js";
41
41
  import {
42
42
  getApiKey,
43
43
  getBaseUrl
@@ -54,7 +54,7 @@ import {
54
54
  pendingCommandEvents,
55
55
  resolveAutoResolveOrigin,
56
56
  resolvePolicy
57
- } from "./chunk-VZADMT7R.js";
57
+ } from "./chunk-MC5WUOJJ.js";
58
58
 
59
59
  // src/policy.ts
60
60
  import { createHash } from "crypto";
@@ -15,10 +15,10 @@ import {
15
15
  } from "./chunk-EYRGBYZG.js";
16
16
  import {
17
17
  reportedInstallSource
18
- } from "./chunk-KAWLZTRJ.js";
18
+ } from "./chunk-L7NOG547.js";
19
19
  import {
20
20
  isAnswerSource
21
- } from "./chunk-VZADMT7R.js";
21
+ } from "./chunk-MC5WUOJJ.js";
22
22
 
23
23
  // src/reach.ts
24
24
  var reachVerdict = (channels) => {
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  ASKED_IN_EVERY_MODE_TOOLS,
3
3
  PRETOOLUSE_GATED_TOOLS
4
- } from "./chunk-VZADMT7R.js";
4
+ } from "./chunk-MC5WUOJJ.js";
5
5
 
6
6
  // src/claude-tools.ts
7
7
  var PRETOOLUSE_PHONE_ANSWERED_TOOLS = ASKED_IN_EVERY_MODE_TOOLS;
@@ -6,7 +6,7 @@ import {
6
6
  } from "./chunk-7QLSKOSU.js";
7
7
  import {
8
8
  isValidApiKey
9
- } from "./chunk-VZADMT7R.js";
9
+ } from "./chunk-MC5WUOJJ.js";
10
10
 
11
11
  // src/setup/options.ts
12
12
  var AGENT_CHOICES = ["claude_code", "codex", "gemini_cli", "hermes", "cursor", "vscode", "opencode", "custom"];
@@ -5,7 +5,7 @@ import {
5
5
  FILE_TARGET_TOOLS,
6
6
  redactSecrets,
7
7
  redactSecretsDeep
8
- } from "./chunk-VZADMT7R.js";
8
+ } from "./chunk-MC5WUOJJ.js";
9
9
 
10
10
  // ../hook-mapping/src/describe.ts
11
11
  import { isAbsolute, relative, resolve } from "path";
package/dist/src/index.js CHANGED
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  handlePreToolUse
3
- } from "../chunk-FHIVWF4B.js";
4
- import "../chunk-SRFA5BOO.js";
5
- import "../chunk-32WFHA77.js";
3
+ } from "../chunk-VIUOGMT5.js";
4
+ import "../chunk-VDI645ZX.js";
5
+ import "../chunk-5GKNAQTG.js";
6
6
  import "../chunk-YHG74UFF.js";
7
7
  import {
8
8
  fetchAccountPublicKey
@@ -15,28 +15,28 @@ import {
15
15
  handlePostToolUse,
16
16
  handleStop,
17
17
  reportEvent
18
- } from "../chunk-ZJ6QXXBC.js";
18
+ } from "../chunk-XJQOVWBQ.js";
19
+ import "../chunk-Z4JVEL7R.js";
20
+ import "../chunk-XUTSZYYJ.js";
19
21
  import {
20
22
  askUser,
21
23
  cancelQuestion,
22
24
  waitForAnswer
23
25
  } from "../chunk-XS33QBJA.js";
24
- import "../chunk-HBBQO77U.js";
25
- import "../chunk-32WWVRXN.js";
26
- import "../chunk-C7BFOC35.js";
27
- import "../chunk-FBO5WS3D.js";
26
+ import "../chunk-4OSQZ5TB.js";
27
+ import "../chunk-BGX4QUQF.js";
28
28
  import "../chunk-EYRGBYZG.js";
29
29
  import "../chunk-SAF6HGAA.js";
30
30
  import "../chunk-7QLSKOSU.js";
31
31
  import "../chunk-KZERVKTD.js";
32
- import "../chunk-KAWLZTRJ.js";
32
+ import "../chunk-L7NOG547.js";
33
33
  import {
34
34
  getApiKey,
35
35
  getBaseUrl
36
36
  } from "../chunk-2UMNXADU.js";
37
37
  import {
38
38
  resolvePolicy
39
- } from "../chunk-VZADMT7R.js";
39
+ } from "../chunk-MC5WUOJJ.js";
40
40
  export {
41
41
  askUser,
42
42
  cancelQuestion,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pushary/agent-hooks",
3
- "version": "0.95.6",
3
+ "version": "0.95.7",
4
4
  "description": "Permission hooks for AI coding agents: route tool approvals through Pushary push notifications",
5
5
  "keywords": [
6
6
  "pushary",
@@ -1,15 +0,0 @@
1
- // src/wait-ladder.ts
2
- var describeWaitLadder = (p) => {
3
- if (p.mode === "terminal_only") return "decide in the terminal, no push";
4
- if (p.mode === "notify_only") return "send a heads-up, the terminal decides";
5
- if (p.mode === "push_only") {
6
- if (p.timeoutAction === "wait") return "wait for your phone, then ask in the terminal";
7
- const tail = p.timeoutAction === "approve" ? "then auto-approve" : p.timeoutAction === "deny" ? "then auto-deny" : "then ask in the terminal";
8
- return `wait for your phone up to ${p.timeoutSeconds}s, ${tail}`;
9
- }
10
- return `ping your phone ${p.pushFirstSeconds}s, then ask in the terminal`;
11
- };
12
-
13
- export {
14
- describeWaitLadder
15
- };
File without changes