pushary 1.9.90 → 1.9.92

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 (128) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/data/cursor-plugin/scripts/pushary-gate.mjs +34 -9
  3. package/data/vscode-plugin/scripts/pushary-gate.mjs +34 -9
  4. package/dist/{api-ORGHXO4N.js → api-QUARGXSY.js} +10 -10
  5. package/dist/bin/pushary-bell-hook.js +26 -26
  6. package/dist/bin/pushary-bell.js +10 -10
  7. package/dist/bin/pushary-claude.js +30 -29
  8. package/dist/bin/pushary-clean.js +34 -34
  9. package/dist/bin/pushary-codex-bridge.js +21 -21
  10. package/dist/bin/pushary-codex-hook.js +35 -34
  11. package/dist/bin/pushary-codex-session.js +8 -8
  12. package/dist/bin/pushary-codex.js +14 -14
  13. package/dist/bin/pushary-connect.js +27 -27
  14. package/dist/bin/pushary-cowork.js +5 -5
  15. package/dist/bin/pushary-daemon.js +39 -39
  16. package/dist/bin/pushary-disconnect.js +26 -26
  17. package/dist/bin/pushary-display-hook.js +17 -17
  18. package/dist/bin/pushary-doctor.js +45 -48
  19. package/dist/bin/pushary-elicitation-hook.js +26 -26
  20. package/dist/bin/pushary-gemini-bridge.js +15 -15
  21. package/dist/bin/pushary-gemini-hook.js +28 -28
  22. package/dist/bin/pushary-hook.js +30 -30
  23. package/dist/bin/pushary-login.js +20 -20
  24. package/dist/bin/pushary-logout.js +25 -25
  25. package/dist/bin/pushary-mcp.js +11 -11
  26. package/dist/bin/pushary-mode.js +15 -15
  27. package/dist/bin/pushary-notification-hook.js +25 -25
  28. package/dist/bin/pushary-opencode-hook.js +27 -27
  29. package/dist/bin/pushary-permission-denied-hook.js +30 -30
  30. package/dist/bin/pushary-permission-hook.js +30 -30
  31. package/dist/bin/pushary-post-hook.js +25 -25
  32. package/dist/bin/pushary-prompt-hook.js +25 -25
  33. package/dist/bin/pushary-session-end-hook.js +27 -27
  34. package/dist/bin/pushary-session-start-hook.js +35 -35
  35. package/dist/bin/pushary-setup.js +50 -49
  36. package/dist/bin/pushary-stats.js +5 -5
  37. package/dist/bin/pushary-status.js +32 -32
  38. package/dist/bin/pushary-stop-hook.js +25 -25
  39. package/dist/bin/pushary-stopfailure-hook.js +25 -25
  40. package/dist/bin/pushary-suggestions.js +15 -15
  41. package/dist/bin/pushary-transcript-register.js +18 -18
  42. package/dist/bin/pushary-transcripts.js +26 -26
  43. package/dist/bin/pushary-upgrade.js +40 -40
  44. package/dist/bin/pushary-wait.js +15 -15
  45. package/dist/bin/pushary.js +7 -7
  46. package/dist/{chunk-FAM2TLFC.js → chunk-2BVVMWVF.js} +47 -8
  47. package/dist/{chunk-NMDWW3EY.js → chunk-2BXWBKVN.js} +3 -3
  48. package/dist/{chunk-2RUJIPNN.js → chunk-2FL5PLA4.js} +2 -2
  49. package/dist/{chunk-KT25MC57.js → chunk-373552A3.js} +4 -4
  50. package/dist/{chunk-G7GVI5RL.js → chunk-3CJFBWID.js} +3 -3
  51. package/dist/{chunk-WGBW66IO.js → chunk-3JVV6PMG.js} +5 -5
  52. package/dist/{chunk-TOPXBWUN.js → chunk-4HQTZQ4D.js} +2 -2
  53. package/dist/{chunk-XO3UJDJE.js → chunk-4PD7FP55.js} +2 -2
  54. package/dist/{chunk-EFQQLEWW.js → chunk-5TQC2LS6.js} +4 -4
  55. package/dist/{chunk-K2NIENKY.js → chunk-66VEUAN5.js} +1 -1
  56. package/dist/{chunk-V4ZLZYQ4.js → chunk-6QH4MWCW.js} +3 -3
  57. package/dist/{chunk-OGR5WSHI.js → chunk-76ROCOWD.js} +7 -7
  58. package/dist/{chunk-OODEIR3Z.js → chunk-7DOSRSRU.js} +38 -20
  59. package/dist/{chunk-TTXUWHBL.js → chunk-7PQ66CB3.js} +1 -1
  60. package/dist/{chunk-53YQO4HL.js → chunk-7S3LH5AX.js} +11 -11
  61. package/dist/{chunk-2EOTXWFK.js → chunk-7YB2XRY7.js} +3 -3
  62. package/dist/{chunk-APT7KJ5I.js → chunk-ANDG4PUV.js} +6 -6
  63. package/dist/{chunk-VMUBIBHQ.js → chunk-B6WYXY32.js} +7 -7
  64. package/dist/{chunk-GKDVI6WX.js → chunk-BETKU76V.js} +3 -3
  65. package/dist/{chunk-ALT4KW5M.js → chunk-CA4PS7XT.js} +5 -5
  66. package/dist/{chunk-HT5WOP2M.js → chunk-CFD3IESN.js} +6 -6
  67. package/dist/{chunk-7EGNVZLK.js → chunk-CHVXLS7U.js} +2 -2
  68. package/dist/{chunk-I567L2KG.js → chunk-CI6VDIHW.js} +10 -10
  69. package/dist/{chunk-QCSPLJL6.js → chunk-CO6TQ44W.js} +3 -3
  70. package/dist/{chunk-CNFM6JEV.js → chunk-CSUO5YJG.js} +2 -2
  71. package/dist/{chunk-AF3OHGKE.js → chunk-DV7LLH25.js} +1 -1
  72. package/dist/{chunk-3EVOYLXQ.js → chunk-DYNMKVNO.js} +5 -5
  73. package/dist/{chunk-OEPP5VUW.js → chunk-F2CWT6Y6.js} +6 -6
  74. package/dist/{chunk-CE2ISNPN.js → chunk-FCBFWXPE.js} +5 -5
  75. package/dist/{chunk-5DTOMJVD.js → chunk-FTJ5DQL7.js} +2 -2
  76. package/dist/{chunk-ALTGRWSO.js → chunk-GDVS6J4R.js} +1 -1
  77. package/dist/{chunk-MWXX34K4.js → chunk-GLA6MCOG.js} +1 -1
  78. package/dist/{chunk-XBXBX7YF.js → chunk-H4MIOBC6.js} +2 -2
  79. package/dist/{chunk-CDBGZWPY.js → chunk-HUNGCBCF.js} +3 -3
  80. package/dist/{chunk-OH67LB2U.js → chunk-INSLGCGD.js} +18 -17
  81. package/dist/{chunk-LJFITB6T.js → chunk-ITGPUTFV.js} +4 -4
  82. package/dist/{chunk-DADN6GJO.js → chunk-JJWZIPDL.js} +4 -4
  83. package/dist/{chunk-2U6FPMXG.js → chunk-JZ2MRWC4.js} +3 -3
  84. package/dist/{chunk-HKGGENVU.js → chunk-KJ752DUH.js} +6 -6
  85. package/dist/{chunk-LGQQUQDZ.js → chunk-LANGH7UF.js} +4 -4
  86. package/dist/{chunk-7BEQB3X4.js → chunk-LTMMFZHG.js} +1 -1
  87. package/dist/{chunk-6P4II3ZL.js → chunk-N7CPX5S5.js} +5 -5
  88. package/dist/{chunk-E4XGV5UG.js → chunk-NDPOESVW.js} +1 -1
  89. package/dist/{chunk-ASTOMXHJ.js → chunk-NHGOCUX7.js} +1 -1
  90. package/dist/{chunk-32F3BWRY.js → chunk-NPZ5L2WQ.js} +1 -1
  91. package/dist/{chunk-NIZ6ITRH.js → chunk-NZKH2RMQ.js} +1 -1
  92. package/dist/{chunk-7MN3KPHM.js → chunk-OC47FGOY.js} +1 -1
  93. package/dist/{chunk-INNH7EUK.js → chunk-OFQJHWAS.js} +12 -10
  94. package/dist/{chunk-VE333PL5.js → chunk-OMN5UCMW.js} +120 -69
  95. package/dist/{chunk-Y5BPNOJI.js → chunk-PFHU3CW4.js} +1 -1
  96. package/dist/{chunk-6B4O7XNC.js → chunk-PS2K6ZQ3.js} +12 -11
  97. package/dist/{chunk-P4OZVK2B.js → chunk-R3EUVK3A.js} +4 -4
  98. package/dist/{chunk-XRSE2PAM.js → chunk-RXAQOAZI.js} +3 -3
  99. package/dist/{chunk-K6QLKUCT.js → chunk-RXQT5FTX.js} +52 -11
  100. package/dist/{chunk-6LJOCQBB.js → chunk-SPPMPM7F.js} +1 -1
  101. package/dist/{chunk-FSJYYZ3G.js → chunk-SR44ZNZF.js} +5 -5
  102. package/dist/{chunk-QUKDNQ4L.js → chunk-UGGACQMD.js} +3 -3
  103. package/dist/{chunk-3N4GETIW.js → chunk-UHS3JZLN.js} +2 -2
  104. package/dist/{chunk-4V25M4X5.js → chunk-UNPDFIPQ.js} +2 -2
  105. package/dist/{chunk-JJNO3ACZ.js → chunk-UZRKR6NZ.js} +3 -3
  106. package/dist/{chunk-URJHH72Z.js → chunk-V3LBQFQM.js} +1 -1
  107. package/dist/{chunk-E3EJARHF.js → chunk-V7TNHTHH.js} +1 -1
  108. package/dist/{chunk-72UCLJJW.js → chunk-VMIWR724.js} +1 -1
  109. package/dist/{chunk-VTF6EYVB.js → chunk-VTCSUU4R.js} +5 -5
  110. package/dist/{chunk-SJCPI4WT.js → chunk-WW4OMRZX.js} +1 -1
  111. package/dist/{chunk-XIPP777K.js → chunk-X3AHEUQ5.js} +3 -3
  112. package/dist/{chunk-NWSGMYX7.js → chunk-XTNCXIYR.js} +4 -4
  113. package/dist/{chunk-I7UZODYO.js → chunk-Y7AX6BS4.js} +3 -3
  114. package/dist/{chunk-G7MVZHMM.js → chunk-YLCNW7YN.js} +2 -2
  115. package/dist/{chunk-JQUMX7YZ.js → chunk-YT3ENXBT.js} +2 -2
  116. package/dist/{codex-app-cards-switch-UQ7TGFYV.js → codex-app-cards-switch-XP2H2CZO.js} +11 -11
  117. package/dist/{codex-desktop-launch-O5FWONZ7.js → codex-desktop-launch-QRFE2GHZ.js} +1 -1
  118. package/dist/{codex-session-launch-MTKJC2RH.js → codex-session-launch-EUUWALWW.js} +18 -18
  119. package/dist/{config-EGBMIS5K.js → config-WBDMUTD4.js} +3 -3
  120. package/dist/{global-upgrade-QOAUUHZ6.js → global-upgrade-ZXFLRGGV.js} +10 -10
  121. package/dist/{identity-Z5TRRQL5.js → identity-NUQ75BP7.js} +4 -4
  122. package/dist/{live-capabilities-M4HOY7EM.js → live-capabilities-SIQ25SSK.js} +5 -5
  123. package/dist/{paths-ZOS6Y3PS.js → paths-BGO6PZFZ.js} +3 -3
  124. package/dist/{reapply-PYDRWYKU.js → reapply-QOXNSRFA.js} +28 -28
  125. package/dist/src/index.js +29 -29
  126. package/dist/{upgrade-lock-QZOSOFK5.js → upgrade-lock-B5HTMEWT.js} +4 -4
  127. package/dist/{usage-4FVOG3QN.js → usage-YHFALPKW.js} +3 -3
  128. package/package.json +1 -1
@@ -12,7 +12,7 @@ import {
12
12
  reachVerdict,
13
13
  reachesYou,
14
14
  verifyDelivery
15
- } from "./chunk-OODEIR3Z.js";
15
+ } from "./chunk-7DOSRSRU.js";
16
16
  import {
17
17
  humanIsTty,
18
18
  writeHuman
@@ -24,14 +24,14 @@ import {
24
24
  } from "./chunk-FO3MDD26.js";
25
25
  import {
26
26
  reportedInstallSource
27
- } from "./chunk-G7MVZHMM.js";
27
+ } from "./chunk-YLCNW7YN.js";
28
28
  import {
29
29
  NPX_LATEST_COMMAND
30
- } from "./chunk-E4XGV5UG.js";
30
+ } from "./chunk-NDPOESVW.js";
31
31
  import {
32
32
  NO_PAIRING_COMPUTER,
33
33
  PAIR_TTL_SECONDS
34
- } from "./chunk-VE333PL5.js";
34
+ } from "./chunk-OMN5UCMW.js";
35
35
 
36
36
  // src/onboarding.ts
37
37
  import qrcodeTerminal from "qrcode-terminal";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  isFile
3
- } from "./chunk-I7UZODYO.js";
3
+ } from "./chunk-Y7AX6BS4.js";
4
4
 
5
5
  // src/claude-native-install.ts
6
6
  import { accessSync, constants } from "fs";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  SETUP_FLAGS
3
- } from "./chunk-ALTGRWSO.js";
3
+ } from "./chunk-GDVS6J4R.js";
4
4
  import {
5
5
  parseFlags
6
6
  } from "./chunk-NMUI3ZWG.js";
@@ -9,7 +9,7 @@ import {
9
9
  } from "./chunk-PPY5N2E6.js";
10
10
  import {
11
11
  NPX_LATEST_COMMAND
12
- } from "./chunk-E4XGV5UG.js";
12
+ } from "./chunk-NDPOESVW.js";
13
13
  import {
14
14
  CLAUDE_CONNECTOR_GUIDE,
15
15
  CLAUDE_CONNECTOR_STEPS,
@@ -17,7 +17,7 @@ import {
17
17
  CLAUDE_CONNECTOR_URL,
18
18
  COWORK_CONNECTOR_LIMIT,
19
19
  COWORK_STANDING_INSTRUCTIONS
20
- } from "./chunk-VE333PL5.js";
20
+ } from "./chunk-OMN5UCMW.js";
21
21
 
22
22
  // src/cli/cowork.ts
23
23
  import { readFileSync } from "fs";
@@ -1,30 +1,30 @@
1
1
  import {
2
2
  announceSubscriptionRequired,
3
3
  isDeferAnswer
4
- } from "./chunk-URJHH72Z.js";
4
+ } from "./chunk-V3LBQFQM.js";
5
5
  import {
6
6
  AUTO_DECISION_WINDOW_MS,
7
7
  DEFAULT_SESSION,
8
8
  claimThrottle,
9
9
  releaseThrottle,
10
10
  reportEvent
11
- } from "./chunk-INNH7EUK.js";
11
+ } from "./chunk-OFQJHWAS.js";
12
12
  import {
13
13
  deriveToolTarget,
14
14
  permissionDeniedAction
15
- } from "./chunk-FAM2TLFC.js";
15
+ } from "./chunk-2BVVMWVF.js";
16
16
  import {
17
17
  askUser,
18
18
  isDecisionStopped,
19
19
  isQuestionLimitRefusal,
20
20
  waitForQuestion
21
- } from "./chunk-FSJYYZ3G.js";
21
+ } from "./chunk-SR44ZNZF.js";
22
22
  import {
23
23
  SubscriptionRequiredError
24
- } from "./chunk-NWSGMYX7.js";
24
+ } from "./chunk-XTNCXIYR.js";
25
25
  import {
26
26
  getMachineId
27
- } from "./chunk-CNFM6JEV.js";
27
+ } from "./chunk-CSUO5YJG.js";
28
28
  import {
29
29
  ASK_CONTEXT_MAX,
30
30
  agentQuestionContext,
@@ -36,7 +36,7 @@ import {
36
36
  questionsShownAsASet,
37
37
  shouldDeferToNativeMode,
38
38
  wireVerdictFor
39
- } from "./chunk-VE333PL5.js";
39
+ } from "./chunk-OMN5UCMW.js";
40
40
 
41
41
  // src/machine-decision-audit.ts
42
42
  import { basename } from "path";
@@ -1,24 +1,27 @@
1
1
  import {
2
2
  APPROVAL_RULES_PATH,
3
3
  canChangeApprovalSettings
4
- } from "./chunk-5DTOMJVD.js";
4
+ } from "./chunk-FTJ5DQL7.js";
5
5
  import {
6
6
  callMcpTool
7
- } from "./chunk-NWSGMYX7.js";
7
+ } from "./chunk-XTNCXIYR.js";
8
8
  import {
9
9
  absoluteUrl
10
- } from "./chunk-JJNO3ACZ.js";
10
+ } from "./chunk-UZRKR6NZ.js";
11
11
  import {
12
12
  getBaseUrl
13
- } from "./chunk-32F3BWRY.js";
13
+ } from "./chunk-NPZ5L2WQ.js";
14
14
  import {
15
15
  NPX_LATEST_COMMAND
16
- } from "./chunk-E4XGV5UG.js";
16
+ } from "./chunk-NDPOESVW.js";
17
17
  import {
18
+ AGENT_STOP_DEFAULT_SECONDS,
18
19
  APPROVAL_MODE_META,
20
+ SETUP_VERIFICATION_SENDER,
19
21
  classifyConfirmResponse,
20
- isAnswerSource
21
- } from "./chunk-VE333PL5.js";
22
+ isAnswerSource,
23
+ roundTripAsk
24
+ } from "./chunk-OMN5UCMW.js";
22
25
 
23
26
  // src/reach.ts
24
27
  var reachVerdict = (channels) => {
@@ -91,7 +94,7 @@ var describeJustPairedRepair = (verdict) => {
91
94
 
92
95
  // src/setup/verify.ts
93
96
  var plural2 = (count, one) => `${count} ${one}${count === 1 ? "" : "s"}`;
94
- var SETUP_AGENT_NAME = "Pushary setup";
97
+ var SETUP_AGENT_NAME = SETUP_VERIFICATION_SENDER.agentName;
95
98
  var ownAppPlatforms = (channels) => channels.yours?.appPlatforms ?? channels.appPlatforms;
96
99
  var describeRecipients = (push, channels) => {
97
100
  const parts = [];
@@ -122,11 +125,7 @@ var classifyDelivery = (channels, push) => {
122
125
  return { kind: "delivered", recipients: push.total, deviceLabel: describeRecipients(push, channels) };
123
126
  };
124
127
  var sendTestNotification = async (apiKey) => {
125
- const result = await callMcpTool(apiKey, "send_notification", {
126
- title: "Pushary is connected",
127
- body: "This setup notification reached you. Agent hooks still need a real-agent check.",
128
- agentName: SETUP_AGENT_NAME
129
- }, { timeoutMs: 2e4 });
128
+ const result = await callMcpTool(apiKey, "send_notification", { ...SETUP_VERIFICATION_SENDER }, { timeoutMs: 2e4 });
130
129
  const toCount = (value) => typeof value === "number" && Number.isFinite(value) ? value : 0;
131
130
  const app = toCount(result.delivery?.mobile?.recipients);
132
131
  const web = toCount(result.delivery?.web?.recipients);
@@ -179,7 +178,6 @@ var describeVerifyOutcome = (outcome) => {
179
178
  };
180
179
  }
181
180
  };
182
- var ROUND_TRIP_QUESTION = "Pushary delivery test. Answer either way to test returning an answer. This does not test your agent hooks.";
183
181
  var ROUND_TRIP_TIMEOUT_MS = 55e3;
184
182
  var reportNoInterrupt = async () => {
185
183
  };
@@ -187,12 +185,7 @@ var defaultAsk = (apiKey, agentName) => (
187
185
  // wait:false so the poll is ours: the blocking form returns on the SITE's
188
186
  // policy timeout, which a user may have set to seconds, and a setup check
189
187
  // reporting "unanswered" after three seconds would be a lie about the product.
190
- callMcpTool(apiKey, "ask_user", {
191
- question: ROUND_TRIP_QUESTION,
192
- type: "confirm",
193
- agentName,
194
- wait: false
195
- }, { timeoutMs: 15e3 })
188
+ callMcpTool(apiKey, "ask_user", roundTripAsk(agentName), { timeoutMs: 15e3 })
196
189
  );
197
190
  var defaultWait = (apiKey, correlationId) => callMcpTool(apiKey, "wait_for_answer", {
198
191
  correlationId,
@@ -259,6 +252,8 @@ var verifyRoundTrip = async (apiKey, agentName = SETUP_AGENT_NAME, deps = {}) =>
259
252
  }
260
253
  let answerObserved = false;
261
254
  try {
255
+ if (asked.status === "stopped") return { kind: "stopped" };
256
+ if (asked.status === "terminal") return { kind: "terminal" };
262
257
  if (asked.noDevices || asked.warning) return { kind: "no-recipients" };
263
258
  if (asked.mode === "notify_only" || asked.status === "notified") return { kind: "notify-only" };
264
259
  if (!asked.correlationId) return { kind: "error", detail: "no correlationId returned" };
@@ -317,6 +312,8 @@ var unansweredNextStep = (appPlatforms) => {
317
312
  };
318
313
  var PHONE_APPROVAL_MODES = ["push_only", "push_first"];
319
314
  var NOTIFY_ONLY_SENT = `Sent. This site is set to ${APPROVAL_MODE_META.notify_only.label}, so questions never wait for an answer.`;
315
+ var IN_AGENT_NOT_SENT = `Not sent to your phone. Questions are answered in the agent right now, because approvals are set to ${APPROVAL_MODE_META.terminal_only.label} or are muted.`;
316
+ var AGENT_STOP_MINUTES = Math.round(AGENT_STOP_DEFAULT_SECONDS / 60);
320
317
  var phoneApprovalModeLabels = PHONE_APPROVAL_MODES.map((mode) => APPROVAL_MODE_META[mode].label).join(" or ");
321
318
  var phoneApprovalModeCommands = PHONE_APPROVAL_MODES.map((mode) => `pushary mode ${mode}`).join(" or ");
322
319
  var answerFromYourPhoneSteps = (baseUrl, keyScope) => {
@@ -355,6 +352,21 @@ var describeRoundTripOutcome = (outcome, { appPlatforms = [], baseUrl = getBaseU
355
352
  "Or pushary pair --app if you already have the Pushary app."
356
353
  ]
357
354
  };
355
+ case "stopped":
356
+ return {
357
+ ok: false,
358
+ message: "Agents are stopped, so no test question was sent.",
359
+ next: [
360
+ `Stop all agents is on for this workspace. Pushary denies approval requests and sends no questions until it lifts, ${AGENT_STOP_MINUTES} minutes after it was last pressed.`,
361
+ "Run pushary doctor --roundtrip after that."
362
+ ]
363
+ };
364
+ case "terminal":
365
+ return {
366
+ ok: true,
367
+ message: IN_AGENT_NOT_SENT,
368
+ next: [...answerFromYourPhoneSteps(baseUrl, keyScope)]
369
+ };
358
370
  case "error":
359
371
  return {
360
372
  ok: false,
@@ -367,6 +379,11 @@ var describeRoundTrip = (outcome, context = {}) => {
367
379
  const report = describeRoundTripOutcome(outcome, context);
368
380
  return { ...report, next: [...report.next, "Agent hook activation remains unverified. Restart your agent and check one real approval."] };
369
381
  };
382
+ var roundTripWasAnswered = (outcome) => {
383
+ if (outcome?.kind === "answered") return true;
384
+ if (outcome?.kind === "unanswered") return false;
385
+ return null;
386
+ };
370
387
  var roundTripEvidence = (outcome) => ({
371
388
  kind: outcome?.kind ?? "skipped",
372
389
  ...outcome?.kind === "answered" ? {
@@ -393,5 +410,6 @@ export {
393
410
  describeAnswerTestPrompt,
394
411
  describeRoundTripOutcome,
395
412
  describeRoundTrip,
413
+ roundTripWasAnswered,
396
414
  roundTripEvidence
397
415
  };
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  readOwnerOnlyJson,
3
3
  transcriptReadPositionSchema
4
- } from "./chunk-7MN3KPHM.js";
4
+ } from "./chunk-OC47FGOY.js";
5
5
  import {
6
6
  external_exports
7
7
  } from "./chunk-XMSDA5WA.js";
@@ -2,13 +2,13 @@ import {
2
2
  SESSION_HISTORY_RETENTION_DAYS,
3
3
  readOwnerOnlyJson,
4
4
  savedTranscriptReadPositions
5
- } from "./chunk-7MN3KPHM.js";
5
+ } from "./chunk-OC47FGOY.js";
6
6
  import {
7
7
  ensureDaemonRunning
8
- } from "./chunk-HT5WOP2M.js";
8
+ } from "./chunk-CFD3IESN.js";
9
9
  import {
10
10
  hookOwnerOf
11
- } from "./chunk-LJFITB6T.js";
11
+ } from "./chunk-ITGPUTFV.js";
12
12
  import {
13
13
  buildTranscriptRecords,
14
14
  decodePublicKey,
@@ -19,33 +19,33 @@ import {
19
19
  recordSealerFor,
20
20
  uploadTranscriptRecords,
21
21
  wrapSessionKey
22
- } from "./chunk-XO3UJDJE.js";
22
+ } from "./chunk-4PD7FP55.js";
23
23
  import {
24
24
  external_exports
25
25
  } from "./chunk-XMSDA5WA.js";
26
26
  import {
27
27
  transcriptEnvironmentPreference,
28
28
  transcriptsEnabled
29
- } from "./chunk-72UCLJJW.js";
29
+ } from "./chunk-VMIWR724.js";
30
30
  import {
31
31
  readTranscriptPreference
32
- } from "./chunk-LGQQUQDZ.js";
32
+ } from "./chunk-LANGH7UF.js";
33
33
  import {
34
34
  hookMeaning
35
- } from "./chunk-FAM2TLFC.js";
35
+ } from "./chunk-2BVVMWVF.js";
36
36
  import {
37
37
  claudeConfigDir,
38
38
  codexHome,
39
39
  pusharyDir
40
- } from "./chunk-7EGNVZLK.js";
40
+ } from "./chunk-CHVXLS7U.js";
41
41
  import {
42
42
  writeJsonAtomic,
43
43
  writeJsonAtomicDurable
44
- } from "./chunk-I7UZODYO.js";
44
+ } from "./chunk-Y7AX6BS4.js";
45
45
  import {
46
46
  getApiKey,
47
47
  getBaseUrl
48
- } from "./chunk-32F3BWRY.js";
48
+ } from "./chunk-NPZ5L2WQ.js";
49
49
  import {
50
50
  PENDING_COMMAND_PREFIX,
51
51
  SESSION_HISTORY_BACKFILL_LIMIT_BYTES,
@@ -53,7 +53,7 @@ import {
53
53
  isHookSource,
54
54
  isRecord,
55
55
  redactSecretsFromContent
56
- } from "./chunk-VE333PL5.js";
56
+ } from "./chunk-OMN5UCMW.js";
57
57
 
58
58
  // src/transcript-recipient-pin.ts
59
59
  import { createHash } from "crypto";
@@ -3,13 +3,13 @@ import {
3
3
  NpmMissingError,
4
4
  NpmPermissionError,
5
5
  writeFileAtomic
6
- } from "./chunk-I7UZODYO.js";
6
+ } from "./chunk-Y7AX6BS4.js";
7
7
  import {
8
8
  NPX_LATEST_COMMAND
9
- } from "./chunk-E4XGV5UG.js";
9
+ } from "./chunk-NDPOESVW.js";
10
10
  import {
11
11
  readSetupAgentFailures
12
- } from "./chunk-VE333PL5.js";
12
+ } from "./chunk-OMN5UCMW.js";
13
13
 
14
14
  // src/setup/config-write.ts
15
15
  var AgentConfigWriteError = class extends Error {
@@ -3,10 +3,10 @@ import {
3
3
  forkFinishWithUpgradeLock,
4
4
  installWithUpgradeLock,
5
5
  releaseAutoUpdateLock
6
- } from "./chunk-4V25M4X5.js";
6
+ } from "./chunk-UNPDFIPQ.js";
7
7
  import {
8
8
  phoneStartIsRequired
9
- } from "./chunk-DADN6GJO.js";
9
+ } from "./chunk-JJWZIPDL.js";
10
10
  import {
11
11
  describeAutoUpdateCheck,
12
12
  globalInstallLocation,
@@ -18,25 +18,25 @@ import {
18
18
  readAutoUpdateState,
19
19
  updateAutoUpdateState,
20
20
  upgradeEntryFor
21
- } from "./chunk-CDBGZWPY.js";
21
+ } from "./chunk-HUNGCBCF.js";
22
22
  import {
23
23
  autoUpdateLock,
24
24
  autoUpdateLog,
25
25
  autoUpdateState
26
- } from "./chunk-7EGNVZLK.js";
26
+ } from "./chunk-CHVXLS7U.js";
27
27
  import {
28
28
  execNpm,
29
29
  fetchLatestPublishedVersion,
30
30
  npmErrorMessage,
31
31
  readGlobalCliInstallAt,
32
32
  readGlobalPrefix
33
- } from "./chunk-I7UZODYO.js";
33
+ } from "./chunk-Y7AX6BS4.js";
34
34
  import {
35
35
  EXIT
36
36
  } from "./chunk-KZERVKTD.js";
37
37
  import {
38
38
  NPX_LATEST_COMMAND
39
- } from "./chunk-E4XGV5UG.js";
39
+ } from "./chunk-NDPOESVW.js";
40
40
  import {
41
41
  commandsPackage,
42
42
  globalUpgradeEntry,
@@ -1,25 +1,25 @@
1
1
  import {
2
2
  registerTranscript
3
- } from "./chunk-53YQO4HL.js";
3
+ } from "./chunk-7S3LH5AX.js";
4
4
  import {
5
5
  namedEvent
6
- } from "./chunk-ALT4KW5M.js";
6
+ } from "./chunk-CA4PS7XT.js";
7
7
  import {
8
8
  isBridgeLocator,
9
9
  liveBridgeProbe,
10
10
  pusharyHookExecutable,
11
11
  resolveBridgeStub
12
- } from "./chunk-LJFITB6T.js";
12
+ } from "./chunk-ITGPUTFV.js";
13
13
  import {
14
14
  writeDegraded
15
- } from "./chunk-FSJYYZ3G.js";
15
+ } from "./chunk-SR44ZNZF.js";
16
16
  import {
17
17
  cursorUserHooks
18
- } from "./chunk-7EGNVZLK.js";
18
+ } from "./chunk-CHVXLS7U.js";
19
19
  import {
20
20
  atLeast,
21
21
  parseVersion
22
- } from "./chunk-I7UZODYO.js";
22
+ } from "./chunk-Y7AX6BS4.js";
23
23
  import {
24
24
  CURSOR_GATE_COVERAGE,
25
25
  CURSOR_GATE_SCRIPT,
@@ -33,7 +33,7 @@ import {
33
33
  isGrokSessionEndStop,
34
34
  isRecord,
35
35
  toolsCoveredByGateEntry
36
- } from "./chunk-VE333PL5.js";
36
+ } from "./chunk-OMN5UCMW.js";
37
37
 
38
38
  // src/tool-hook-input.ts
39
39
  var OPTIONAL_TEXT_FIELDS = ["hook_event_name", "session_id", "cwd", "transcript_path", "tool_use_id", "permission_mode", "cursor_version"];
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  pusharyDir
3
- } from "./chunk-7EGNVZLK.js";
3
+ } from "./chunk-CHVXLS7U.js";
4
4
  import {
5
5
  readJsonSafe,
6
6
  writeFileAtomic
7
- } from "./chunk-I7UZODYO.js";
7
+ } from "./chunk-Y7AX6BS4.js";
8
8
  import {
9
9
  DECLINED_AGENTS_FILE,
10
10
  DISCONNECT_AGENT_IDS,
@@ -13,7 +13,7 @@ import {
13
13
  serializeDeclinedAgents,
14
14
  withDeclinedAgent,
15
15
  withoutDeclinedAgent
16
- } from "./chunk-VE333PL5.js";
16
+ } from "./chunk-OMN5UCMW.js";
17
17
 
18
18
  // src/declined-agents-file.ts
19
19
  import { join } from "path";
@@ -1,13 +1,13 @@
1
1
  import {
2
2
  addGeminiMcpServer,
3
3
  removeGeminiMcpServer
4
- } from "./chunk-LJFITB6T.js";
4
+ } from "./chunk-ITGPUTFV.js";
5
5
  import {
6
6
  CLAUDE_CODE_AGENT
7
- } from "./chunk-INNH7EUK.js";
7
+ } from "./chunk-OFQJHWAS.js";
8
8
  import {
9
9
  compatibleToolLookup
10
- } from "./chunk-FAM2TLFC.js";
10
+ } from "./chunk-2BVVMWVF.js";
11
11
  import {
12
12
  CLAUDE_HOOK_EVENTS,
13
13
  PUSHARY_MCP_URL,
@@ -19,7 +19,7 @@ import {
19
19
  isPusharyHook,
20
20
  registerHookEntry,
21
21
  removeClaudeMcpServers
22
- } from "./chunk-7EGNVZLK.js";
22
+ } from "./chunk-CHVXLS7U.js";
23
23
  import {
24
24
  HOOK_COMPATIBLE_PROFILES,
25
25
  PHONE_ANSWERED_TOOLS,
@@ -30,7 +30,7 @@ import {
30
30
  pusharyMissingReason,
31
31
  refusalOutput,
32
32
  withHookHoldBudget
33
- } from "./chunk-VE333PL5.js";
33
+ } from "./chunk-OMN5UCMW.js";
34
34
 
35
35
  // src/config-document.ts
36
36
  import { parse, stringify } from "smol-toml";
@@ -4,23 +4,23 @@ import {
4
4
  } from "./chunk-XHKBHWLX.js";
5
5
  import {
6
6
  readControlMode
7
- } from "./chunk-LGQQUQDZ.js";
7
+ } from "./chunk-LANGH7UF.js";
8
8
  import {
9
9
  getMachineId
10
- } from "./chunk-CNFM6JEV.js";
10
+ } from "./chunk-CSUO5YJG.js";
11
11
  import {
12
12
  pusharyDir
13
- } from "./chunk-7EGNVZLK.js";
13
+ } from "./chunk-CHVXLS7U.js";
14
14
  import {
15
15
  readJsonSafe,
16
16
  resolveGlobalBinary,
17
17
  writeFileAtomic,
18
18
  writeJsonAtomic,
19
19
  writeJsonAtomicDurable
20
- } from "./chunk-I7UZODYO.js";
20
+ } from "./chunk-Y7AX6BS4.js";
21
21
  import {
22
22
  getApiKey
23
- } from "./chunk-32F3BWRY.js";
23
+ } from "./chunk-NPZ5L2WQ.js";
24
24
  import {
25
25
  CLI_PACKAGE_NAMES,
26
26
  cmdShimScriptOf,
@@ -30,7 +30,7 @@ import {
30
30
  } from "./chunk-ZVU6WMMU.js";
31
31
  import {
32
32
  isRecord
33
- } from "./chunk-VE333PL5.js";
33
+ } from "./chunk-OMN5UCMW.js";
34
34
 
35
35
  // src/daemon-lifecycle.ts
36
36
  import { dirname, join, win32 as win32Path } from "path";
@@ -4,7 +4,7 @@ import {
4
4
  quoteIfNeeded,
5
5
  shellDoubleQuoted,
6
6
  writeFileAtomic
7
- } from "./chunk-I7UZODYO.js";
7
+ } from "./chunk-Y7AX6BS4.js";
8
8
  import {
9
9
  cmdShimScriptOf
10
10
  } from "./chunk-ZVU6WMMU.js";
@@ -15,7 +15,7 @@ import {
15
15
  HOOK_LOCATOR_BINARY,
16
16
  PRETOOLUSE_GATED_TOOLS,
17
17
  withHookHoldBudget
18
- } from "./chunk-VE333PL5.js";
18
+ } from "./chunk-OMN5UCMW.js";
19
19
 
20
20
  // src/setup/paths.ts
21
21
  import { createHash as createHash2 } from "crypto";
@@ -1,13 +1,13 @@
1
1
  import {
2
2
  ensureCodexTrustsPusharyHooks
3
- } from "./chunk-TOPXBWUN.js";
3
+ } from "./chunk-4HQTZQ4D.js";
4
4
  import {
5
5
  hermesReceiptPaths,
6
6
  hermesSetupPredatesThePluginFolder,
7
7
  installHermesPlugin,
8
8
  refreshHermesPluginFiles,
9
9
  shippedHermesPlugin
10
- } from "./chunk-2U6FPMXG.js";
10
+ } from "./chunk-JZ2MRWC4.js";
11
11
  import {
12
12
  fxIgnoresInstructionsFile,
13
13
  fxInstructionsBody,
@@ -16,7 +16,7 @@ import {
16
16
  macAppFxBridge,
17
17
  refreshClineKey,
18
18
  switchFxHttpEntryToBridge
19
- } from "./chunk-6P4II3ZL.js";
19
+ } from "./chunk-N7CPX5S5.js";
20
20
  import {
21
21
  OPENCODE_HOOK_BINARY,
22
22
  agentHookOwner,
@@ -28,16 +28,16 @@ import {
28
28
  openCodePluginDir,
29
29
  openCodeWired,
30
30
  withOpenCodeAskRules
31
- } from "./chunk-OEPP5VUW.js";
31
+ } from "./chunk-F2CWT6Y6.js";
32
32
  import {
33
33
  detectClaudeVersion
34
- } from "./chunk-XRSE2PAM.js";
34
+ } from "./chunk-RXAQOAZI.js";
35
35
  import {
36
36
  addCompatibleHooks,
37
37
  compatibleConfigFile,
38
38
  compatibleInstructionsFile,
39
39
  hasCompatibleHooks
40
- } from "./chunk-ALT4KW5M.js";
40
+ } from "./chunk-CA4PS7XT.js";
41
41
  import {
42
42
  GEMINI_HOOK_BINARY,
43
43
  addGeminiHooks,
@@ -49,7 +49,7 @@ import {
49
49
  geminiWired,
50
50
  hasGeminiHooks,
51
51
  planHooks
52
- } from "./chunk-LJFITB6T.js";
52
+ } from "./chunk-ITGPUTFV.js";
53
53
  import {
54
54
  CLAUDE_HOOK_BINARY,
55
55
  CLAUDE_HOOK_EVENTS,
@@ -95,7 +95,7 @@ import {
95
95
  renderAgentInstructions,
96
96
  supportedClaudeEvents,
97
97
  vscodePluginMcp
98
- } from "./chunk-7EGNVZLK.js";
98
+ } from "./chunk-CHVXLS7U.js";
99
99
  import {
100
100
  formatVersion,
101
101
  hookCommandsUseBareNames,
@@ -104,12 +104,12 @@ import {
104
104
  resolveGlobalBinary,
105
105
  writeFileAtomic,
106
106
  writeJsonAtomic
107
- } from "./chunk-I7UZODYO.js";
107
+ } from "./chunk-Y7AX6BS4.js";
108
108
  import {
109
109
  HOOK_COMPATIBLE_PROFILES,
110
110
  isCompatibleAgentType,
111
111
  isRecord
112
- } from "./chunk-VE333PL5.js";
112
+ } from "./chunk-OMN5UCMW.js";
113
113
 
114
114
  // src/reapply.ts
115
115
  import { dirname, join } from "path";
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  readExistingMachineId
3
- } from "./chunk-CNFM6JEV.js";
3
+ } from "./chunk-CSUO5YJG.js";
4
4
  import {
5
5
  getBaseUrl
6
- } from "./chunk-32F3BWRY.js";
6
+ } from "./chunk-NPZ5L2WQ.js";
7
7
  import {
8
8
  NetworkError
9
9
  } from "./chunk-PPY5N2E6.js";
@@ -13,7 +13,7 @@ import {
13
13
  import {
14
14
  clientContextHeaders,
15
15
  redactSecretsFromContent
16
- } from "./chunk-VE333PL5.js";
16
+ } from "./chunk-OMN5UCMW.js";
17
17
 
18
18
  // src/cli/net.ts
19
19
  import { createRequire } from "module";
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  pusharyDir
3
- } from "./chunk-7EGNVZLK.js";
3
+ } from "./chunk-CHVXLS7U.js";
4
4
  import {
5
5
  writeFileAtomic
6
- } from "./chunk-I7UZODYO.js";
6
+ } from "./chunk-Y7AX6BS4.js";
7
7
 
8
8
  // src/identity.ts
9
9
  import { randomUUID } from "crypto";
@@ -7,7 +7,7 @@ import {
7
7
  } from "./chunk-KZERVKTD.js";
8
8
  import {
9
9
  redactSecretsFromContent
10
- } from "./chunk-VE333PL5.js";
10
+ } from "./chunk-OMN5UCMW.js";
11
11
 
12
12
  // src/cli/json.ts
13
13
  var writeStdoutFully = (text) => new Promise((resolve, reject) => {