pushary 1.9.28 → 1.9.29

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 (100) hide show
  1. package/CHANGELOG.md +5 -0
  2. package/dist/bin/pushary-bell-hook.js +25 -25
  3. package/dist/bin/pushary-bell.js +9 -9
  4. package/dist/bin/pushary-claude.js +26 -25
  5. package/dist/bin/pushary-clean.js +29 -29
  6. package/dist/bin/pushary-codex-bridge.js +17 -17
  7. package/dist/bin/pushary-codex-hook.js +32 -32
  8. package/dist/bin/pushary-codex.js +12 -12
  9. package/dist/bin/pushary-connect.js +24 -24
  10. package/dist/bin/pushary-cowork.js +5 -5
  11. package/dist/bin/pushary-daemon.js +32 -32
  12. package/dist/bin/pushary-disconnect.js +24 -24
  13. package/dist/bin/pushary-doctor.js +33 -33
  14. package/dist/bin/pushary-elicitation-hook.js +25 -25
  15. package/dist/bin/pushary-gemini-bridge.js +13 -13
  16. package/dist/bin/pushary-gemini-hook.js +27 -27
  17. package/dist/bin/pushary-hook.js +29 -29
  18. package/dist/bin/pushary-login.js +12 -12
  19. package/dist/bin/pushary-logout.js +24 -24
  20. package/dist/bin/pushary-mcp.js +9 -9
  21. package/dist/bin/pushary-mode.js +12 -12
  22. package/dist/bin/pushary-notification-hook.js +24 -24
  23. package/dist/bin/pushary-opencode-hook.js +26 -26
  24. package/dist/bin/pushary-permission-denied-hook.js +29 -29
  25. package/dist/bin/pushary-permission-hook.js +28 -28
  26. package/dist/bin/pushary-post-hook.js +24 -24
  27. package/dist/bin/pushary-prompt-hook.js +24 -24
  28. package/dist/bin/pushary-session-end-hook.js +24 -24
  29. package/dist/bin/pushary-session-start-hook.js +28 -28
  30. package/dist/bin/pushary-setup.js +35 -35
  31. package/dist/bin/pushary-stats.js +5 -5
  32. package/dist/bin/pushary-status.js +26 -26
  33. package/dist/bin/pushary-stop-hook.js +24 -24
  34. package/dist/bin/pushary-stopfailure-hook.js +24 -24
  35. package/dist/bin/pushary-suggestions.js +12 -12
  36. package/dist/bin/pushary-transcript-register.js +17 -17
  37. package/dist/bin/pushary-transcripts.js +7 -7
  38. package/dist/bin/pushary-upgrade.js +30 -30
  39. package/dist/bin/pushary-wait.js +12 -12
  40. package/dist/bin/pushary.js +6 -6
  41. package/dist/{chunk-EP425PGA.js → chunk-2FOAQ64R.js} +8 -8
  42. package/dist/{chunk-WIAWMH6T.js → chunk-2XM4TGIM.js} +4 -4
  43. package/dist/{chunk-56U55YDV.js → chunk-35CMXPES.js} +3 -3
  44. package/dist/{chunk-ME2PKG7C.js → chunk-4DTKE3AS.js} +2 -2
  45. package/dist/{chunk-EBO5KWWC.js → chunk-5L7H32JK.js} +1 -1
  46. package/dist/{chunk-IWYBFBRW.js → chunk-62LJB5U3.js} +2 -2
  47. package/dist/{chunk-VYKUGORF.js → chunk-7MYGOFVX.js} +4 -4
  48. package/dist/{chunk-MNHY3EIN.js → chunk-AVQ6ETA7.js} +1 -1
  49. package/dist/{chunk-ZH32OREM.js → chunk-AZMHKUUU.js} +1 -1
  50. package/dist/{chunk-UMTGSFAI.js → chunk-BAVNBGH4.js} +7 -7
  51. package/dist/{chunk-ZX5ISG5O.js → chunk-BJMVQ6D5.js} +4 -4
  52. package/dist/{chunk-S3NAONBN.js → chunk-BKOWTW5P.js} +4 -4
  53. package/dist/{chunk-YW7JQ7Z4.js → chunk-BP3WMLXJ.js} +5 -5
  54. package/dist/{chunk-GXZFDZJG.js → chunk-BUOLA2AM.js} +1 -1
  55. package/dist/{chunk-64LLZV5F.js → chunk-C2ZIVQ6W.js} +6 -6
  56. package/dist/{chunk-TAPGV2YV.js → chunk-CBOHZ6NY.js} +4 -4
  57. package/dist/{chunk-W6MUIG6S.js → chunk-CCI2UBYR.js} +3 -3
  58. package/dist/{chunk-VU6O4P2N.js → chunk-CJQEJWLU.js} +5 -5
  59. package/dist/{chunk-BG7T5MNV.js → chunk-CPZZTS4I.js} +1 -1
  60. package/dist/{chunk-YTCMVHW5.js → chunk-DQGM57ZW.js} +1 -1
  61. package/dist/{chunk-43DOHHZZ.js → chunk-DUVHHQEL.js} +2 -2
  62. package/dist/{chunk-CJTTAF4O.js → chunk-EO2GYHWH.js} +3 -3
  63. package/dist/{chunk-UJZ3KD4E.js → chunk-ETLVZHRG.js} +2 -2
  64. package/dist/{chunk-JOZWN4YI.js → chunk-G4X3Z3YS.js} +4 -4
  65. package/dist/{chunk-IDXEDMWI.js → chunk-GMVZYB3W.js} +3 -3
  66. package/dist/{chunk-ZREXC363.js → chunk-GVIPEBEL.js} +3 -3
  67. package/dist/{chunk-7DXPQW2H.js → chunk-H7QTZTIE.js} +9 -2
  68. package/dist/{chunk-FY2XCYLK.js → chunk-IM73P6JT.js} +5 -5
  69. package/dist/{chunk-AR7XOG6W.js → chunk-IWPEAA2J.js} +1 -1
  70. package/dist/{chunk-ICMVPBRQ.js → chunk-JGDBHB6L.js} +2 -2
  71. package/dist/{chunk-V5BIWNB3.js → chunk-KMTSU366.js} +1 -1
  72. package/dist/{chunk-OQKV3OXH.js → chunk-L7PGUSAU.js} +1 -1
  73. package/dist/{chunk-AXGA3WJI.js → chunk-LRLF6PZ2.js} +1 -1
  74. package/dist/{chunk-3OFFLLSJ.js → chunk-LSB66XQC.js} +4 -4
  75. package/dist/{chunk-7TBCGHJT.js → chunk-M2L4EHYW.js} +2 -2
  76. package/dist/{chunk-FYYWKCPO.js → chunk-NRV5PIPA.js} +2 -2
  77. package/dist/{chunk-FD3QASU3.js → chunk-OSVDGVLL.js} +8 -8
  78. package/dist/{chunk-HRAZMBUX.js → chunk-OUWDJIJF.js} +1 -1
  79. package/dist/{chunk-URZOKMAV.js → chunk-PRVG3COH.js} +2 -2
  80. package/dist/{chunk-ZMWCN3QS.js → chunk-PX4RRHEB.js} +4 -4
  81. package/dist/{chunk-7RKX7WRQ.js → chunk-QOMUEL44.js} +1 -1
  82. package/dist/{chunk-L5ZMZOQL.js → chunk-S3DP6DCZ.js} +2 -2
  83. package/dist/{chunk-7ZWU4BNG.js → chunk-SLKVEJLM.js} +5 -5
  84. package/dist/{chunk-5NXOJ3JG.js → chunk-TILXDMUR.js} +3 -3
  85. package/dist/{chunk-COEOZ2NC.js → chunk-TJXCBTL4.js} +5 -5
  86. package/dist/{chunk-OK4WDRGM.js → chunk-TXKAPRIA.js} +1 -1
  87. package/dist/{chunk-BXUYF5HB.js → chunk-UM2HNUJA.js} +3 -3
  88. package/dist/{chunk-VAJLOCFP.js → chunk-UW37WHVP.js} +2 -2
  89. package/dist/{chunk-SGAQYFGS.js → chunk-WJUYWTNT.js} +1 -1
  90. package/dist/{chunk-YRB2VBKK.js → chunk-WLDFMVRY.js} +2 -2
  91. package/dist/{chunk-74YRZTGP.js → chunk-XH7NMH3Q.js} +2 -2
  92. package/dist/{chunk-3TF5FHAT.js → chunk-Y3OZ3CT6.js} +5 -5
  93. package/dist/{chunk-IWPQBWFN.js → chunk-YFEHKEGQ.js} +1 -1
  94. package/dist/{chunk-A24TEUD6.js → chunk-Z2WS466S.js} +17 -16
  95. package/dist/{global-upgrade-MBW4MRJ2.js → global-upgrade-ZPULZXOY.js} +6 -6
  96. package/dist/{paths-H4XMIYUS.js → paths-Y7ZWWCFK.js} +2 -2
  97. package/dist/{reapply-JFEY77OC.js → reapply-I4YMQP7F.js} +20 -20
  98. package/dist/src/index.js +19 -19
  99. package/dist/{upgrade-lock-2RGMG5ZV.js → upgrade-lock-IDAAFSH2.js} +3 -3
  100. package/package.json +1 -1
@@ -1,20 +1,20 @@
1
1
  import {
2
2
  defersToNativeMode,
3
3
  reportMachineDenial
4
- } from "./chunk-YRB2VBKK.js";
4
+ } from "./chunk-WLDFMVRY.js";
5
5
  import {
6
6
  isGatingMoment,
7
7
  recordKeylessMoment
8
- } from "./chunk-BG7T5MNV.js";
8
+ } from "./chunk-CPZZTS4I.js";
9
9
  import {
10
10
  announceSubscriptionRequired,
11
11
  isDeferAnswer,
12
12
  oncePerSession
13
- } from "./chunk-ZH32OREM.js";
13
+ } from "./chunk-AZMHKUUU.js";
14
14
  import {
15
15
  activeHookSource,
16
16
  activeIdentity
17
- } from "./chunk-ZX5ISG5O.js";
17
+ } from "./chunk-BJMVQ6D5.js";
18
18
  import {
19
19
  DEFAULT_SESSION,
20
20
  UNNAMED_ACTION,
@@ -39,7 +39,7 @@ import {
39
39
  reportEvent,
40
40
  scopePathFor,
41
41
  settleQuestionsForToolUse
42
- } from "./chunk-FD3QASU3.js";
42
+ } from "./chunk-OSVDGVLL.js";
43
43
  import {
44
44
  askUser,
45
45
  cancelQuestion,
@@ -51,30 +51,32 @@ import {
51
51
  sendNotification,
52
52
  waitForQuestion,
53
53
  waitsForThePhone
54
- } from "./chunk-3TF5FHAT.js";
54
+ } from "./chunk-Y3OZ3CT6.js";
55
55
  import {
56
56
  SubscriptionRequiredError
57
- } from "./chunk-ZREXC363.js";
57
+ } from "./chunk-GVIPEBEL.js";
58
58
  import {
59
59
  getMachineId
60
- } from "./chunk-IWPQBWFN.js";
60
+ } from "./chunk-YFEHKEGQ.js";
61
61
  import {
62
62
  getApiKey,
63
63
  getBaseUrl
64
- } from "./chunk-OK4WDRGM.js";
64
+ } from "./chunk-TXKAPRIA.js";
65
65
  import {
66
66
  NPX_LATEST_COMMAND
67
- } from "./chunk-7RKX7WRQ.js";
67
+ } from "./chunk-QOMUEL44.js";
68
68
  import {
69
69
  AGENT_QUESTION_STRATEGY,
70
70
  DECISION_STOP_REASON,
71
71
  GATE_BLOCK_REASON_MAX_LENGTH,
72
72
  GATE_WIRE,
73
+ HANDED_BACK_REASON,
73
74
  PLAN_DECLINED_REASON,
74
75
  SCOPE_BATCH_REASON,
75
76
  SOLE_GATE_SIGNED_OUT_REASON,
76
77
  SOLE_GATE_SUBSCRIPTION_REASON,
77
78
  SOLE_GATE_UNDECIDED_REASON,
79
+ UNREADABLE_CALL_REASON,
78
80
  UNVERIFIABLE_APPROVAL_REASON,
79
81
  WITHDRAWN_APPROVAL_REASON,
80
82
  agentQuestionStrategy,
@@ -106,7 +108,7 @@ import {
106
108
  questionHandedToTheTerminal,
107
109
  resolveGate,
108
110
  timeoutActionWithoutLocalPrompt
109
- } from "./chunk-7DXPQW2H.js";
111
+ } from "./chunk-H7QTZTIE.js";
110
112
 
111
113
  // src/claude-permission-rules.ts
112
114
  import { readFileSync, statSync } from "fs";
@@ -226,7 +228,7 @@ var handlePushOnly = async (apiKey, description, projectName, timeoutSeconds, ti
226
228
  if (isDecisionStopped(answer)) return halted(DECISION_STOP_REASON);
227
229
  if (!answer.answered && isLocalQuestionHandoff(result)) return ask("Approve in the current client.");
228
230
  if (answer.answered) {
229
- if (isDeferAnswer(answer.value)) return ask("Handling on your machine");
231
+ if (isDeferAnswer(answer.value)) return ask(HANDED_BACK_REASON);
230
232
  signals.humanDecision = true;
231
233
  return answer.value === "yes" ? allow() : deny(denyReasonFrom(answer.value, answer.note));
232
234
  }
@@ -270,7 +272,7 @@ var handlePushFirst = async (apiKey, description, projectName, pushFirstSeconds,
270
272
  const answer = await waitForQuestion(apiKey, result, deadline, 1500);
271
273
  if (isDecisionStopped(answer)) return halted(DECISION_STOP_REASON);
272
274
  if (answer.answered) {
273
- if (isDeferAnswer(answer.value)) return ask("Handling on your machine");
275
+ if (isDeferAnswer(answer.value)) return ask(HANDED_BACK_REASON);
274
276
  signals.humanDecision = true;
275
277
  return answer.value === "yes" ? allow() : deny(denyReasonFrom(answer.value, answer.note));
276
278
  }
@@ -550,7 +552,6 @@ var claudeGateInput = (modeState, config, input, canonical) => {
550
552
  sessionId: input.session_id
551
553
  };
552
554
  };
553
- var unreadableReason = "Pushary could not read every target of this call. Use a supported command or a single-file edit.";
554
555
  var BLOCKED_ACTION_GATE_TIMEOUT_MS = 15e3;
555
556
  var BLOCKED_ACTION_CLAIM_TIMEOUT_MS = 4e3;
556
557
  var BLOCKED_ACTION_ALLOW_REASON = "Approved from Pushary after auto mode blocked it";
@@ -620,7 +621,7 @@ var handlePreToolUse = async (input, canonical) => {
620
621
  await reportMachineDenial(input, verdict, ACTIVE_AGENT);
621
622
  return deny(verdict.reason);
622
623
  }
623
- if (canonical === null) return deny(unreadableReason);
624
+ if (canonical === null) return deny(UNREADABLE_CALL_REASON);
624
625
  if (verdict.kind === "gate" && verdict.scopeReason && (canonical?.toolInputs.length ?? 0) > 1) return deny(SCOPE_BATCH_REASON);
625
626
  if (agentQuestionStrategy(ACTIVE_SOURCE, "PreToolUse", input.tool_name) === AGENT_QUESTION_STRATEGY.native) return void 0;
626
627
  if (input.tool_name === "AskUserQuestion") {
@@ -686,7 +687,7 @@ var handlePermissionRequest = async (input, canonical) => {
686
687
  await reportMachineDenial(input, verdict, ACTIVE_AGENT);
687
688
  return permReqDeny(verdict.reason);
688
689
  }
689
- if (canonical === null) return permReqDeny(unreadableReason);
690
+ if (canonical === null) return permReqDeny(UNREADABLE_CALL_REASON);
690
691
  if (agentQuestionStrategy(ACTIVE_SOURCE, "PermissionRequest", input.tool_name) === AGENT_QUESTION_STRATEGY.native) return void 0;
691
692
  if (verdict.kind === "gate" && verdict.scopeReason && (canonical?.toolInputs.length ?? 0) > 1) return permReqDeny(SCOPE_BATCH_REASON);
692
693
  if (!(verdict.kind === "gate" && verdict.scopeReason) && !claudeAllowlistOwnsCall(gateInput, verdict, input.permission_mode, claudeRules) && isPermissionRequestOwnedByPreToolUse(input.tool_name, input.permission_mode, shouldDeferToNativeMode)) return void 0;
@@ -5,15 +5,15 @@ import {
5
5
  readGlobalUpgradeSubject,
6
6
  upgradeInstalledPackage,
7
7
  withUpgradeLock
8
- } from "./chunk-7ZWU4BNG.js";
9
- import "./chunk-YTCMVHW5.js";
10
- import "./chunk-IWYBFBRW.js";
8
+ } from "./chunk-SLKVEJLM.js";
9
+ import "./chunk-DQGM57ZW.js";
10
+ import "./chunk-62LJB5U3.js";
11
11
  import "./chunk-POFBE6ZY.js";
12
12
  import "./chunk-KZERVKTD.js";
13
- import "./chunk-TAPGV2YV.js";
13
+ import "./chunk-CBOHZ6NY.js";
14
14
  import "./chunk-AQFEP65J.js";
15
- import "./chunk-7RKX7WRQ.js";
16
- import "./chunk-7DXPQW2H.js";
15
+ import "./chunk-QOMUEL44.js";
16
+ import "./chunk-H7QTZTIE.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-TAPGV2YV.js";
36
- import "./chunk-7DXPQW2H.js";
35
+ } from "./chunk-CBOHZ6NY.js";
36
+ import "./chunk-H7QTZTIE.js";
37
37
  export {
38
38
  autoUpdateLock,
39
39
  autoUpdateLog,
@@ -11,34 +11,34 @@ import {
11
11
  reapplyOpenCodePlugin,
12
12
  reapplyVsCodePlugin,
13
13
  repairCodexHolds
14
- } from "./chunk-UMTGSFAI.js";
15
- import "./chunk-ME2PKG7C.js";
14
+ } from "./chunk-BAVNBGH4.js";
15
+ import "./chunk-4DTKE3AS.js";
16
16
  import "./chunk-RIVNNBEK.js";
17
17
  import "./chunk-XHKBHWLX.js";
18
- import "./chunk-YW7JQ7Z4.js";
19
- import "./chunk-ZX5ISG5O.js";
20
- import "./chunk-COEOZ2NC.js";
21
- import "./chunk-BXUYF5HB.js";
22
- import "./chunk-SGAQYFGS.js";
23
- import "./chunk-GXZFDZJG.js";
18
+ import "./chunk-BP3WMLXJ.js";
19
+ import "./chunk-BJMVQ6D5.js";
20
+ import "./chunk-TJXCBTL4.js";
21
+ import "./chunk-UM2HNUJA.js";
22
+ import "./chunk-WJUYWTNT.js";
23
+ import "./chunk-BUOLA2AM.js";
24
24
  import "./chunk-GMXKITVA.js";
25
25
  import "./chunk-6ICPEJY5.js";
26
- import "./chunk-FD3QASU3.js";
27
- import "./chunk-V5BIWNB3.js";
28
- import "./chunk-3TF5FHAT.js";
26
+ import "./chunk-OSVDGVLL.js";
27
+ import "./chunk-KMTSU366.js";
28
+ import "./chunk-Y3OZ3CT6.js";
29
29
  import "./chunk-POFBE6ZY.js";
30
- import "./chunk-ZREXC363.js";
31
- import "./chunk-5NXOJ3JG.js";
32
- import "./chunk-56U55YDV.js";
33
- import "./chunk-IWPQBWFN.js";
30
+ import "./chunk-GVIPEBEL.js";
31
+ import "./chunk-TILXDMUR.js";
32
+ import "./chunk-35CMXPES.js";
33
+ import "./chunk-YFEHKEGQ.js";
34
34
  import "./chunk-7QLSKOSU.js";
35
35
  import "./chunk-KZERVKTD.js";
36
- import "./chunk-L5ZMZOQL.js";
37
- import "./chunk-TAPGV2YV.js";
36
+ import "./chunk-S3DP6DCZ.js";
37
+ import "./chunk-CBOHZ6NY.js";
38
38
  import "./chunk-AQFEP65J.js";
39
- import "./chunk-OK4WDRGM.js";
40
- import "./chunk-7RKX7WRQ.js";
41
- import "./chunk-7DXPQW2H.js";
39
+ import "./chunk-TXKAPRIA.js";
40
+ import "./chunk-QOMUEL44.js";
41
+ import "./chunk-H7QTZTIE.js";
42
42
  export {
43
43
  ensureCodexTrustAfterReapply,
44
44
  inspectConfiguredManagedProviders,
package/dist/src/index.js CHANGED
@@ -1,14 +1,14 @@
1
1
  import {
2
2
  handlePreToolUse
3
- } from "../chunk-A24TEUD6.js";
4
- import "../chunk-YRB2VBKK.js";
5
- import "../chunk-BG7T5MNV.js";
6
- import "../chunk-ZH32OREM.js";
3
+ } from "../chunk-Z2WS466S.js";
4
+ import "../chunk-WLDFMVRY.js";
5
+ import "../chunk-CPZZTS4I.js";
6
+ import "../chunk-AZMHKUUU.js";
7
7
  import {
8
8
  fetchAccountPublicKey
9
- } from "../chunk-AXGA3WJI.js";
10
- import "../chunk-ZX5ISG5O.js";
11
- import "../chunk-BXUYF5HB.js";
9
+ } from "../chunk-LRLF6PZ2.js";
10
+ import "../chunk-BJMVQ6D5.js";
11
+ import "../chunk-UM2HNUJA.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-FD3QASU3.js";
22
- import "../chunk-V5BIWNB3.js";
21
+ } from "../chunk-OSVDGVLL.js";
22
+ import "../chunk-KMTSU366.js";
23
23
  import {
24
24
  askUser,
25
25
  cancelQuestion,
26
26
  waitForAnswer
27
- } from "../chunk-3TF5FHAT.js";
27
+ } from "../chunk-Y3OZ3CT6.js";
28
28
  import "../chunk-POFBE6ZY.js";
29
- import "../chunk-ZREXC363.js";
30
- import "../chunk-5NXOJ3JG.js";
31
- import "../chunk-56U55YDV.js";
32
- import "../chunk-IWPQBWFN.js";
29
+ import "../chunk-GVIPEBEL.js";
30
+ import "../chunk-TILXDMUR.js";
31
+ import "../chunk-35CMXPES.js";
32
+ import "../chunk-YFEHKEGQ.js";
33
33
  import "../chunk-7QLSKOSU.js";
34
34
  import "../chunk-KZERVKTD.js";
35
- import "../chunk-L5ZMZOQL.js";
36
- import "../chunk-TAPGV2YV.js";
35
+ import "../chunk-S3DP6DCZ.js";
36
+ import "../chunk-CBOHZ6NY.js";
37
37
  import "../chunk-AQFEP65J.js";
38
38
  import {
39
39
  getApiKey,
40
40
  getBaseUrl
41
- } from "../chunk-OK4WDRGM.js";
42
- import "../chunk-7RKX7WRQ.js";
41
+ } from "../chunk-TXKAPRIA.js";
42
+ import "../chunk-QOMUEL44.js";
43
43
  import {
44
44
  resolvePolicy
45
- } from "../chunk-7DXPQW2H.js";
45
+ } from "../chunk-H7QTZTIE.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-YTCMVHW5.js";
9
- import "./chunk-TAPGV2YV.js";
8
+ } from "./chunk-DQGM57ZW.js";
9
+ import "./chunk-CBOHZ6NY.js";
10
10
  import "./chunk-AQFEP65J.js";
11
- import "./chunk-7DXPQW2H.js";
11
+ import "./chunk-H7QTZTIE.js";
12
12
  export {
13
13
  claimUpgradeLock,
14
14
  finishWithUpgradeLock,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pushary",
3
- "version": "1.9.28",
3
+ "version": "1.9.29",
4
4
  "description": "Permission hooks for AI coding agents: route tool approvals through Pushary push notifications",
5
5
  "keywords": [
6
6
  "pushary",