@pushary/agent-hooks 1.9.25 → 1.9.27

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 (103) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/data/SKILL.md +1 -1
  3. package/data/cursor-plugin/skills/pushary/SKILL.md +1 -1
  4. package/data/vscode-plugin/skills/pushary/SKILL.md +1 -1
  5. package/dist/bin/pushary-bell-hook.js +25 -25
  6. package/dist/bin/pushary-bell.js +9 -9
  7. package/dist/bin/pushary-claude.js +24 -24
  8. package/dist/bin/pushary-clean.js +29 -29
  9. package/dist/bin/pushary-codex-bridge.js +17 -17
  10. package/dist/bin/pushary-codex-hook.js +32 -32
  11. package/dist/bin/pushary-codex.js +12 -12
  12. package/dist/bin/pushary-connect.js +24 -24
  13. package/dist/bin/pushary-cowork.js +5 -5
  14. package/dist/bin/pushary-daemon.js +36 -32
  15. package/dist/bin/pushary-disconnect.js +24 -24
  16. package/dist/bin/pushary-doctor.js +35 -35
  17. package/dist/bin/pushary-elicitation-hook.js +25 -25
  18. package/dist/bin/pushary-gemini-bridge.js +13 -13
  19. package/dist/bin/pushary-gemini-hook.js +29 -29
  20. package/dist/bin/pushary-hook.js +29 -29
  21. package/dist/bin/pushary-login.js +12 -12
  22. package/dist/bin/pushary-logout.js +24 -24
  23. package/dist/bin/pushary-mcp.js +9 -9
  24. package/dist/bin/pushary-mode.js +12 -12
  25. package/dist/bin/pushary-notification-hook.js +24 -24
  26. package/dist/bin/pushary-opencode-hook.js +26 -26
  27. package/dist/bin/pushary-permission-denied-hook.js +29 -29
  28. package/dist/bin/pushary-permission-hook.js +28 -28
  29. package/dist/bin/pushary-post-hook.js +24 -24
  30. package/dist/bin/pushary-prompt-hook.js +24 -24
  31. package/dist/bin/pushary-session-end-hook.js +24 -24
  32. package/dist/bin/pushary-session-start-hook.js +28 -28
  33. package/dist/bin/pushary-setup.js +35 -35
  34. package/dist/bin/pushary-stats.js +5 -5
  35. package/dist/bin/pushary-status.js +26 -26
  36. package/dist/bin/pushary-stop-hook.js +24 -24
  37. package/dist/bin/pushary-stopfailure-hook.js +24 -24
  38. package/dist/bin/pushary-suggestions.js +12 -12
  39. package/dist/bin/pushary-transcript-register.js +17 -17
  40. package/dist/bin/pushary-transcripts.js +7 -7
  41. package/dist/bin/pushary-upgrade.js +30 -30
  42. package/dist/bin/pushary-wait.js +12 -12
  43. package/dist/bin/pushary.js +6 -6
  44. package/dist/{chunk-TLUSUDRU.js → chunk-2NQHGDK5.js} +1 -1
  45. package/dist/{chunk-GC5HJE3T.js → chunk-4LIOV4YP.js} +3 -3
  46. package/dist/{chunk-PM2WJSUH.js → chunk-4LO6OQZ4.js} +1 -1
  47. package/dist/{chunk-FLC4TVXH.js → chunk-5LLH2TBR.js} +1 -1
  48. package/dist/{chunk-FJKV64M7.js → chunk-5SKHXKIF.js} +5 -5
  49. package/dist/{chunk-2J2WFX7X.js → chunk-5ZR7XFTB.js} +4 -4
  50. package/dist/{chunk-LDNKGG5G.js → chunk-6CBKIF3S.js} +3 -3
  51. package/dist/{chunk-NFH2H7PD.js → chunk-AT4URLSU.js} +5 -5
  52. package/dist/{chunk-KZLOVLA6.js → chunk-BZYYTJ65.js} +4 -4
  53. package/dist/{chunk-A3QQWXIE.js → chunk-CSXWXXFJ.js} +1 -1
  54. package/dist/{chunk-N3ACK3YA.js → chunk-DY6AKR4W.js} +32 -22
  55. package/dist/{chunk-BHRMHDOO.js → chunk-E4NITECV.js} +2 -2
  56. package/dist/{chunk-VN5Q4KOD.js → chunk-GORB726L.js} +2 -2
  57. package/dist/{chunk-3UYMOWX6.js → chunk-H2ZHGK4F.js} +2 -2
  58. package/dist/{chunk-WKEP4JAW.js → chunk-HFGTWPAD.js} +2 -2
  59. package/dist/{chunk-WEKXYS2F.js → chunk-IOTR2VQN.js} +4 -4
  60. package/dist/{chunk-EJJNZYDS.js → chunk-JK42X2VL.js} +2 -2
  61. package/dist/{chunk-KP4BIZLP.js → chunk-JXOCD4MG.js} +2 -2
  62. package/dist/{chunk-KM7AEGKF.js → chunk-KN5ULH4O.js} +3 -3
  63. package/dist/{chunk-SGGR5MN2.js → chunk-LOVDPKUU.js} +1 -1
  64. package/dist/{chunk-2CUE3XXS.js → chunk-LUJAURFP.js} +1 -1
  65. package/dist/{chunk-FCXYDR62.js → chunk-LY3KHTHS.js} +1 -1
  66. package/dist/{chunk-HEJMZVJI.js → chunk-M463H5LN.js} +2 -2
  67. package/dist/{chunk-BGJDOHNF.js → chunk-MDAJO2MP.js} +5 -5
  68. package/dist/{chunk-4KZP4YMV.js → chunk-MRMIGVUI.js} +1 -1
  69. package/dist/{chunk-VEGS4NYF.js → chunk-MSKJRRHY.js} +3 -3
  70. package/dist/{chunk-ZNT4ZZXJ.js → chunk-MTODICDT.js} +1 -1
  71. package/dist/{chunk-OWOSNGEQ.js → chunk-NK2URK5A.js} +2 -2
  72. package/dist/{chunk-RSENVGBQ.js → chunk-O2SMA3JN.js} +4 -4
  73. package/dist/{chunk-UUOC7A7M.js → chunk-OPSLFAKF.js} +7 -7
  74. package/dist/{chunk-Q37XFSPO.js → chunk-OXOT3CGW.js} +4 -4
  75. package/dist/{chunk-PSNF27BC.js → chunk-PQAA37YV.js} +8 -7
  76. package/dist/{chunk-7UZD2F4Y.js → chunk-QMMOVPUP.js} +8 -8
  77. package/dist/{chunk-UJB6HHP4.js → chunk-RZNJGCPR.js} +5 -5
  78. package/dist/{chunk-2XHBYMVN.js → chunk-SLW45RGY.js} +11 -11
  79. package/dist/{chunk-5WTEKIAS.js → chunk-TQE5VIDJ.js} +4 -4
  80. package/dist/{chunk-ZLY7BHN4.js → chunk-TWCWRHNK.js} +5 -5
  81. package/dist/{chunk-PAMW5M53.js → chunk-TYPQUHIS.js} +5 -5
  82. package/dist/{chunk-ZLGCNHJG.js → chunk-U4Q3AKLU.js} +1 -1
  83. package/dist/{chunk-UK7OY3EJ.js → chunk-UQTQVH5X.js} +1 -1
  84. package/dist/{chunk-EJMXZH5E.js → chunk-UWEDDQHU.js} +2 -2
  85. package/dist/{chunk-OFHSTCXK.js → chunk-V6HQFOBS.js} +3 -3
  86. package/dist/{chunk-AXB4ABUD.js → chunk-VGVMBY4V.js} +8 -8
  87. package/dist/{chunk-YD3DIFIU.js → chunk-VWTCGKMU.js} +1 -1
  88. package/dist/{chunk-5ETE7F45.js → chunk-W4DFSUZG.js} +2 -2
  89. package/dist/{chunk-ZV3262AA.js → chunk-W4LNR7LP.js} +3 -3
  90. package/dist/{chunk-VFF7ZBIS.js → chunk-WGTD4NZV.js} +32 -4
  91. package/dist/{chunk-PPGLIWOR.js → chunk-XESMYZLU.js} +1 -1
  92. package/dist/{chunk-5Q2QJ2AL.js → chunk-XTTMUQ4Z.js} +1 -1
  93. package/dist/{chunk-2VQZC6DW.js → chunk-YTTPPJZW.js} +4 -4
  94. package/dist/{chunk-G446AVR5.js → chunk-YZ7D3P3M.js} +2 -2
  95. package/dist/{chunk-OOKIWOMK.js → chunk-Z5AAPX3O.js} +1 -1
  96. package/dist/{chunk-KGSN2SOL.js → chunk-ZQZRBPTP.js} +356 -33
  97. package/dist/{chunk-7V6PJFDF.js → chunk-ZWDXBLEZ.js} +3 -3
  98. package/dist/{global-upgrade-4M4TJKQR.js → global-upgrade-FKQPJL5P.js} +6 -6
  99. package/dist/{paths-6JY6J56N.js → paths-TU47TCRS.js} +2 -2
  100. package/dist/{reapply-LFEQ5GF6.js → reapply-CTJZBUJY.js} +20 -20
  101. package/dist/src/index.js +19 -19
  102. package/dist/{upgrade-lock-CZRCHYVU.js → upgrade-lock-2SQCRMDL.js} +3 -3
  103. package/package.json +1 -1
@@ -9,27 +9,27 @@ import {
9
9
  upgradeFinishOutcome,
10
10
  upgradeInstalledPackage,
11
11
  withUpgradeLock
12
- } from "../chunk-BGJDOHNF.js";
12
+ } from "../chunk-MDAJO2MP.js";
13
13
  import {
14
14
  installWithUpgradeLock
15
- } from "../chunk-PPGLIWOR.js";
15
+ } from "../chunk-XESMYZLU.js";
16
16
  import {
17
17
  ensureCodexTrustAfterReapply,
18
18
  reapplyAllAgents
19
- } from "../chunk-UUOC7A7M.js";
19
+ } from "../chunk-OPSLFAKF.js";
20
20
  import {
21
21
  describeCodexTrustConfirmation
22
- } from "../chunk-3UYMOWX6.js";
23
- import "../chunk-VN5Q4KOD.js";
22
+ } from "../chunk-H2ZHGK4F.js";
23
+ import "../chunk-GORB726L.js";
24
24
  import {
25
25
  waitForMachineReadiness
26
- } from "../chunk-PSNF27BC.js";
26
+ } from "../chunk-PQAA37YV.js";
27
27
  import {
28
28
  detectProviderLiveCapabilities,
29
29
  expectedLaunchCapabilities,
30
30
  hasSpawnProvider,
31
31
  resolveControlPolicy
32
- } from "../chunk-OWOSNGEQ.js";
32
+ } from "../chunk-NK2URK5A.js";
33
33
  import "../chunk-RIVNNBEK.js";
34
34
  import {
35
35
  AUTO_UPDATE_DISABLE_ENV,
@@ -40,7 +40,7 @@ import {
40
40
  parseAutoUpdateFlag,
41
41
  readAutoUpdateState,
42
42
  updateAutoUpdateState
43
- } from "../chunk-VFF7ZBIS.js";
43
+ } from "../chunk-WGTD4NZV.js";
44
44
  import {
45
45
  DAEMON_COLD_START_TIMEOUT_MS,
46
46
  daemonHasRemoteProof,
@@ -52,39 +52,39 @@ import {
52
52
  replaceDaemonService,
53
53
  stopDaemonService,
54
54
  waitForDaemonRemoteProof
55
- } from "../chunk-PAMW5M53.js";
55
+ } from "../chunk-TYPQUHIS.js";
56
56
  import "../chunk-XHKBHWLX.js";
57
57
  import {
58
58
  readMacAppAgentKey
59
- } from "../chunk-WEKXYS2F.js";
60
- import "../chunk-FJKV64M7.js";
59
+ } from "../chunk-IOTR2VQN.js";
60
+ import "../chunk-5SKHXKIF.js";
61
61
  import {
62
62
  exitOnHelpFlag
63
- } from "../chunk-KP4BIZLP.js";
64
- import "../chunk-5WTEKIAS.js";
65
- import "../chunk-ZLY7BHN4.js";
66
- import "../chunk-KM7AEGKF.js";
67
- import "../chunk-4KZP4YMV.js";
68
- import "../chunk-ZNT4ZZXJ.js";
63
+ } from "../chunk-JXOCD4MG.js";
64
+ import "../chunk-TQE5VIDJ.js";
65
+ import "../chunk-TWCWRHNK.js";
66
+ import "../chunk-KN5ULH4O.js";
67
+ import "../chunk-MRMIGVUI.js";
68
+ import "../chunk-MTODICDT.js";
69
69
  import "../chunk-GMXKITVA.js";
70
70
  import "../chunk-6ICPEJY5.js";
71
71
  import {
72
72
  readControlMode,
73
73
  recordMacAppKeyPrefix
74
- } from "../chunk-GC5HJE3T.js";
75
- import "../chunk-AXB4ABUD.js";
76
- import "../chunk-A3QQWXIE.js";
77
- import "../chunk-NFH2H7PD.js";
74
+ } from "../chunk-4LIOV4YP.js";
75
+ import "../chunk-VGVMBY4V.js";
76
+ import "../chunk-CSXWXXFJ.js";
77
+ import "../chunk-AT4URLSU.js";
78
78
  import "../chunk-POFBE6ZY.js";
79
- import "../chunk-7V6PJFDF.js";
80
- import "../chunk-VEGS4NYF.js";
81
- import "../chunk-ZV3262AA.js";
82
- import "../chunk-ZLGCNHJG.js";
79
+ import "../chunk-ZWDXBLEZ.js";
80
+ import "../chunk-MSKJRRHY.js";
81
+ import "../chunk-W4LNR7LP.js";
82
+ import "../chunk-U4Q3AKLU.js";
83
83
  import "../chunk-7QLSKOSU.js";
84
84
  import {
85
85
  EXIT
86
86
  } from "../chunk-KZERVKTD.js";
87
- import "../chunk-EJMXZH5E.js";
87
+ import "../chunk-UWEDDQHU.js";
88
88
  import {
89
89
  LATEST_TAG,
90
90
  autoUpdateState,
@@ -94,19 +94,19 @@ import {
94
94
  fetchLatestPublishedVersion,
95
95
  geminiSettings,
96
96
  vscodePluginDir
97
- } from "../chunk-2VQZC6DW.js";
97
+ } from "../chunk-YTTPPJZW.js";
98
98
  import "../chunk-AQFEP65J.js";
99
99
  import {
100
100
  getApiKey
101
- } from "../chunk-5Q2QJ2AL.js";
101
+ } from "../chunk-XTTMUQ4Z.js";
102
102
  import {
103
103
  NPX_LATEST_COMMAND
104
- } from "../chunk-OOKIWOMK.js";
104
+ } from "../chunk-Z5AAPX3O.js";
105
105
  import {
106
106
  CANONICAL_PACKAGE,
107
107
  LEGACY_PACKAGE,
108
108
  getPackageVersion
109
- } from "../chunk-KGSN2SOL.js";
109
+ } from "../chunk-ZQZRBPTP.js";
110
110
 
111
111
  // bin/pushary-upgrade.ts
112
112
  import { existsSync } from "fs";
@@ -4,36 +4,36 @@ import {
4
4
  } from "../chunk-CVWG2N3Y.js";
5
5
  import {
6
6
  exitOnFailedSettingsRequest
7
- } from "../chunk-RSENVGBQ.js";
8
- import "../chunk-WKEP4JAW.js";
7
+ } from "../chunk-O2SMA3JN.js";
8
+ import "../chunk-HFGTWPAD.js";
9
9
  import {
10
10
  createIo
11
11
  } from "../chunk-FO3MDD26.js";
12
12
  import {
13
13
  exitOnHelpFlag
14
- } from "../chunk-KP4BIZLP.js";
14
+ } from "../chunk-JXOCD4MG.js";
15
15
  import {
16
16
  rejectUnknownFlags
17
17
  } from "../chunk-GMXKITVA.js";
18
- import "../chunk-GC5HJE3T.js";
19
- import "../chunk-VEGS4NYF.js";
20
- import "../chunk-ZV3262AA.js";
21
- import "../chunk-ZLGCNHJG.js";
18
+ import "../chunk-4LIOV4YP.js";
19
+ import "../chunk-MSKJRRHY.js";
20
+ import "../chunk-W4LNR7LP.js";
21
+ import "../chunk-U4Q3AKLU.js";
22
22
  import {
23
23
  UsageError
24
24
  } from "../chunk-7QLSKOSU.js";
25
25
  import {
26
26
  EXIT
27
27
  } from "../chunk-KZERVKTD.js";
28
- import "../chunk-EJMXZH5E.js";
29
- import "../chunk-2VQZC6DW.js";
28
+ import "../chunk-UWEDDQHU.js";
29
+ import "../chunk-YTTPPJZW.js";
30
30
  import "../chunk-AQFEP65J.js";
31
31
  import {
32
32
  getApiKey,
33
33
  getBaseUrl
34
- } from "../chunk-5Q2QJ2AL.js";
35
- import "../chunk-OOKIWOMK.js";
36
- import "../chunk-KGSN2SOL.js";
34
+ } from "../chunk-XTTMUQ4Z.js";
35
+ import "../chunk-Z5AAPX3O.js";
36
+ import "../chunk-ZQZRBPTP.js";
37
37
 
38
38
  // bin/pushary-wait.ts
39
39
  exitOnHelpFlag("wait");
@@ -1,23 +1,23 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  installNetworkDefaults
4
- } from "../chunk-ZV3262AA.js";
5
- import "../chunk-ZLGCNHJG.js";
4
+ } from "../chunk-W4LNR7LP.js";
5
+ import "../chunk-U4Q3AKLU.js";
6
6
  import "../chunk-7QLSKOSU.js";
7
7
  import {
8
8
  EXIT
9
9
  } from "../chunk-KZERVKTD.js";
10
- import "../chunk-2VQZC6DW.js";
10
+ import "../chunk-YTTPPJZW.js";
11
11
  import "../chunk-AQFEP65J.js";
12
- import "../chunk-5Q2QJ2AL.js";
12
+ import "../chunk-XTTMUQ4Z.js";
13
13
  import {
14
14
  COMMANDS,
15
15
  renderHelp,
16
16
  resolveCommandName
17
- } from "../chunk-OOKIWOMK.js";
17
+ } from "../chunk-Z5AAPX3O.js";
18
18
  import {
19
19
  getPackageVersion
20
- } from "../chunk-KGSN2SOL.js";
20
+ } from "../chunk-ZQZRBPTP.js";
21
21
 
22
22
  // src/cli/runtime.ts
23
23
  var supportsRuntime = (version) => {
@@ -9,7 +9,7 @@ import {
9
9
  } from "./chunk-3EGEA4KH.js";
10
10
  import {
11
11
  getBaseUrl
12
- } from "./chunk-5Q2QJ2AL.js";
12
+ } from "./chunk-XTTMUQ4Z.js";
13
13
 
14
14
  // src/cli/login-ui.ts
15
15
  import { hostname } from "os";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  resolveInstallSourceFor
3
- } from "./chunk-EJMXZH5E.js";
3
+ } from "./chunk-UWEDDQHU.js";
4
4
  import {
5
5
  backupFile,
6
6
  readJsonSafe,
@@ -9,11 +9,11 @@ import {
9
9
  } from "./chunk-AQFEP65J.js";
10
10
  import {
11
11
  configFilePath
12
- } from "./chunk-5Q2QJ2AL.js";
12
+ } from "./chunk-XTTMUQ4Z.js";
13
13
  import {
14
14
  API_KEY_PREFIX_PATTERN,
15
15
  isRecord
16
- } from "./chunk-KGSN2SOL.js";
16
+ } from "./chunk-ZQZRBPTP.js";
17
17
 
18
18
  // src/shell-alias.ts
19
19
  import { homedir } from "os";
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  HOOK_HOLD_BUDGET_ENV,
3
3
  hookHoldBudgetProof
4
- } from "./chunk-KGSN2SOL.js";
4
+ } from "./chunk-ZQZRBPTP.js";
5
5
 
6
6
  // src/hold-budget.ts
7
7
  var takeHookHoldBudget = (args = process.argv.slice(2), env = process.env) => {
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  getBaseUrl
3
- } from "./chunk-5Q2QJ2AL.js";
3
+ } from "./chunk-XTTMUQ4Z.js";
4
4
 
5
5
  // src/transcript-api.ts
6
6
  var fetchTranscriptRecipients = async (apiKey, baseUrl = getBaseUrl()) => {
@@ -1,15 +1,15 @@
1
1
  import {
2
2
  compatibleConfigFile
3
- } from "./chunk-5WTEKIAS.js";
3
+ } from "./chunk-TQE5VIDJ.js";
4
4
  import {
5
5
  hookOwnerOf,
6
6
  hookOwnerOfCommands,
7
7
  liveBridgeProbe,
8
8
  resolveBridgeStub
9
- } from "./chunk-ZLY7BHN4.js";
9
+ } from "./chunk-TWCWRHNK.js";
10
10
  import {
11
11
  AGENT_CHOICES
12
- } from "./chunk-4KZP4YMV.js";
12
+ } from "./chunk-MRMIGVUI.js";
13
13
  import {
14
14
  claudeSettings,
15
15
  codexHooksJson,
@@ -18,7 +18,7 @@ import {
18
18
  guardedArgv,
19
19
  pusharyDir,
20
20
  vscodePluginDir
21
- } from "./chunk-2VQZC6DW.js";
21
+ } from "./chunk-YTTPPJZW.js";
22
22
  import {
23
23
  readJsonSafe
24
24
  } from "./chunk-AQFEP65J.js";
@@ -29,7 +29,7 @@ import {
29
29
  OPENCODE_APPROVAL_EVENT,
30
30
  hookCompatibleProfile,
31
31
  isRecord
32
- } from "./chunk-KGSN2SOL.js";
32
+ } from "./chunk-ZQZRBPTP.js";
33
33
 
34
34
  // src/opencode-plugin.ts
35
35
  var OPENCODE_PLUGIN_MARKER = "pushary-opencode-plugin w1";
@@ -1,16 +1,16 @@
1
1
  import {
2
2
  registerTranscript
3
- } from "./chunk-7UZD2F4Y.js";
3
+ } from "./chunk-QMMOVPUP.js";
4
4
  import {
5
5
  namedEvent
6
- } from "./chunk-5WTEKIAS.js";
6
+ } from "./chunk-TQE5VIDJ.js";
7
7
  import {
8
8
  writeDegraded
9
- } from "./chunk-NFH2H7PD.js";
9
+ } from "./chunk-AT4URLSU.js";
10
10
  import {
11
11
  claudeShapedHookInput,
12
12
  hookCompatibleProfileBySource
13
- } from "./chunk-KGSN2SOL.js";
13
+ } from "./chunk-ZQZRBPTP.js";
14
14
 
15
15
  // src/tool-hook-input.ts
16
16
  var OPTIONAL_TEXT_FIELDS = ["hook_event_name", "session_id", "cwd", "transcript_path", "tool_use_id", "permission_mode"];
@@ -1,13 +1,13 @@
1
1
  import {
2
2
  openCodeConfigDirFrom
3
- } from "./chunk-FJKV64M7.js";
3
+ } from "./chunk-5SKHXKIF.js";
4
4
  import {
5
5
  codexHomeFrom,
6
6
  resolvePathBinary
7
- } from "./chunk-2VQZC6DW.js";
7
+ } from "./chunk-YTTPPJZW.js";
8
8
  import {
9
9
  HOOK_COMPATIBLE_PROFILES
10
- } from "./chunk-KGSN2SOL.js";
10
+ } from "./chunk-ZQZRBPTP.js";
11
11
 
12
12
  // src/hermes-config.ts
13
13
  import { execFileSync } from "child_process";
@@ -5,18 +5,18 @@ import {
5
5
  import {
6
6
  SubscriptionRequiredError,
7
7
  callMcpTool
8
- } from "./chunk-7V6PJFDF.js";
8
+ } from "./chunk-ZWDXBLEZ.js";
9
9
  import {
10
10
  installNetworkDefaults,
11
11
  isNetworkFailure
12
- } from "./chunk-ZV3262AA.js";
12
+ } from "./chunk-W4LNR7LP.js";
13
13
  import {
14
14
  clientReportClaims
15
- } from "./chunk-2VQZC6DW.js";
15
+ } from "./chunk-YTTPPJZW.js";
16
16
  import {
17
17
  getApiKey,
18
18
  getBaseUrl
19
- } from "./chunk-5Q2QJ2AL.js";
19
+ } from "./chunk-XTTMUQ4Z.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-KGSN2SOL.js";
28
+ } from "./chunk-ZQZRBPTP.js";
29
29
 
30
30
  // src/client-report-claim.ts
31
31
  import { createHash } from "crypto";
@@ -1,13 +1,13 @@
1
1
  import {
2
2
  MCP_BRIDGE_BINARY
3
- } from "./chunk-EJJNZYDS.js";
3
+ } from "./chunk-JK42X2VL.js";
4
4
  import {
5
5
  KEY_FILE_MODE
6
- } from "./chunk-GC5HJE3T.js";
6
+ } from "./chunk-4LIOV4YP.js";
7
7
  import {
8
8
  NpmMissingError,
9
9
  NpmPermissionError
10
- } from "./chunk-2VQZC6DW.js";
10
+ } from "./chunk-YTTPPJZW.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-OOKIWOMK.js";
18
+ } from "./chunk-Z5AAPX3O.js";
19
19
 
20
20
  // src/instruction-file.ts
21
21
  import { existsSync, readFileSync, writeFileSync, mkdirSync, rmSync } from "fs";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  PRETOOLUSE_GATED_TOOLS
3
- } from "./chunk-KGSN2SOL.js";
3
+ } from "./chunk-ZQZRBPTP.js";
4
4
 
5
5
  // src/claude-tools.ts
6
6
  var POSTTOOLUSE_MIRROR_ONLY_TOOLS = ["TodoWrite", "Task", "WebFetch", "WebSearch"];
@@ -14,19 +14,19 @@ import {
14
14
  } from "./chunk-FO3MDD26.js";
15
15
  import {
16
16
  callMcpTool
17
- } from "./chunk-7V6PJFDF.js";
17
+ } from "./chunk-ZWDXBLEZ.js";
18
18
  import {
19
19
  reportedInstallSource
20
- } from "./chunk-EJMXZH5E.js";
20
+ } from "./chunk-UWEDDQHU.js";
21
21
  import {
22
22
  NPX_LATEST_COMMAND
23
- } from "./chunk-OOKIWOMK.js";
23
+ } from "./chunk-Z5AAPX3O.js";
24
24
  import {
25
25
  NO_PAIRING_COMPUTER,
26
26
  PAIR_TTL_SECONDS,
27
27
  classifyConfirmResponse,
28
28
  isAnswerSource
29
- } from "./chunk-KGSN2SOL.js";
29
+ } from "./chunk-ZQZRBPTP.js";
30
30
 
31
31
  // src/reach.ts
32
32
  var reachVerdict = (channels) => {
@@ -740,7 +740,23 @@ var PAIR_HINT_AFTER_MS = 45e3;
740
740
  var PAIR_BROWSER_FALLBACK_AFTER_MS = 6e4;
741
741
  var BROWSER_CONNECT_COMMAND = `${NPX_LATEST_COMMAND} setup --connect browser`;
742
742
  var PAIR_BROWSER_FALLBACK_LINE = `Still waiting? Ctrl-C, then: ${BROWSER_CONNECT_COMMAND}`;
743
- var PAIR_INSTALL_HINT = "No app yet? Install it, sign in, then scan the code above. Ctrl-C to stop.";
743
+ var PAIR_INSTALL_HINT = "No app yet? Install it, sign in, then scan the QR above. Ctrl-C to stop.";
744
+ var PAIR_WAITING_LABEL = "Waiting for the app to authorize";
745
+ var PAIR_ADVICE_ROTATION_MS = 5e3;
746
+ var PAIR_ADVICE = [
747
+ { afterMs: PAIR_HINT_AFTER_MS, text: PAIR_INSTALL_HINT },
748
+ { afterMs: PAIR_BROWSER_FALLBACK_AFTER_MS, text: PAIR_BROWSER_FALLBACK_LINE }
749
+ ];
750
+ var adviceDueAt = (elapsedMs) => PAIR_ADVICE.filter((advice) => elapsedMs >= advice.afterMs);
751
+ var pairAdviceDue = (elapsedMs) => adviceDueAt(elapsedMs).map((advice) => advice.text);
752
+ var pairCountdownLabel = (elapsedMs, minutesLeft) => elapsedMs < PAIR_HINT_AFTER_MS ? PAIR_WAITING_LABEL : `Waiting for the app ${dim(`(${minutesLeft}m left)`)}`;
753
+ var pairWaitingLabel = (elapsedMs, minutesLeft) => {
754
+ const due = adviceDueAt(elapsedMs);
755
+ const newest = due[due.length - 1];
756
+ if (newest === void 0) return PAIR_WAITING_LABEL;
757
+ const labels = [...due.map((advice) => dim(advice.text)).reverse(), pairCountdownLabel(elapsedMs, minutesLeft)];
758
+ return labels[Math.floor((elapsedMs - newest.afterMs) / PAIR_ADVICE_ROTATION_MS) % labels.length] ?? PAIR_WAITING_LABEL;
759
+ };
744
760
  var PAIR_GET_APP_LINE = "No app yet? Get it at pushary.com/download. Setup keeps waiting.";
745
761
  var describePairingScreen = (screen) => [
746
762
  bold("Connect your phone"),
@@ -860,19 +876,16 @@ var connectViaAppPairing = async (options = {}) => {
860
876
  console.log(` ${describePairingFingerprint(publicKeyFingerprint(keypair.publicKeyB64))}`);
861
877
  const startedAt = clock.now();
862
878
  const deadline = requestedAt + PAIR_TIMEOUT_MS;
863
- let hintShown = false;
864
- let browserFallbackShown = false;
865
- const stop = startSpinner(() => {
866
- const left = Math.max(0, Math.ceil((deadline - clock.now()) / 6e4));
867
- if (clock.now() - startedAt < PAIR_HINT_AFTER_MS) {
868
- return "Waiting for the app to authorize";
869
- }
870
- if (!hintShown) {
871
- hintShown = true;
872
- writeStatusLine(dim(PAIR_INSTALL_HINT));
873
- }
874
- return `Waiting for the app ${dim(`(${left}m left)`)}`;
875
- });
879
+ const elapsed = () => clock.now() - startedAt;
880
+ const minutesLeft = () => Math.max(0, Math.ceil((deadline - clock.now()) / 6e4));
881
+ const advisesInTheLabel = humanIsTty();
882
+ let adviceWritten = 0;
883
+ const writeAdviceThatFellDue = () => {
884
+ const due = pairAdviceDue(elapsed());
885
+ for (const advice of due.slice(adviceWritten)) writeStatusLine(dim(advice));
886
+ adviceWritten = due.length;
887
+ };
888
+ const stop = startSpinner(() => advisesInTheLabel ? pairWaitingLabel(elapsed(), minutesLeft()) : pairCountdownLabel(elapsed(), minutesLeft()));
876
889
  let cancelled = false;
877
890
  const cancelOnSignal = (exitCode) => () => {
878
891
  if (cancelled) return;
@@ -889,10 +902,7 @@ var connectViaAppPairing = async (options = {}) => {
889
902
  try {
890
903
  while (clock.now() < deadline) {
891
904
  if (cancelled) return pairFailed("cancelled");
892
- if (!browserFallbackShown && clock.now() - startedAt >= PAIR_BROWSER_FALLBACK_AFTER_MS) {
893
- browserFallbackShown = true;
894
- writeStatusLine(dim(PAIR_BROWSER_FALLBACK_LINE));
895
- }
905
+ if (!advisesInTheLabel) writeAdviceThatFellDue();
896
906
  const claim = await claimPairing(pairId);
897
907
  if (claim === null) {
898
908
  consecutiveFailures += 1;
@@ -6,12 +6,12 @@ import {
6
6
  permissionDeniedAction,
7
7
  releaseThrottle,
8
8
  reportEvent
9
- } from "./chunk-AXB4ABUD.js";
9
+ } from "./chunk-VGVMBY4V.js";
10
10
  import {
11
11
  machineDecisionFor,
12
12
  shouldDeferToNativeMode,
13
13
  wireVerdictFor
14
- } from "./chunk-KGSN2SOL.js";
14
+ } from "./chunk-ZQZRBPTP.js";
15
15
 
16
16
  // src/machine-decision-audit.ts
17
17
  import { basename } from "path";
@@ -8,10 +8,10 @@ import {
8
8
  codexHooksJsonIn,
9
9
  isPusharyCodexCommand,
10
10
  resolvePathBinary
11
- } from "./chunk-2VQZC6DW.js";
11
+ } from "./chunk-YTTPPJZW.js";
12
12
  import {
13
13
  getPackageVersion
14
- } from "./chunk-KGSN2SOL.js";
14
+ } from "./chunk-ZQZRBPTP.js";
15
15
 
16
16
  // src/codex-app-server.ts
17
17
  import { existsSync, realpathSync } from "fs";
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  CODEX_HOOK_STATUS
3
- } from "./chunk-VN5Q4KOD.js";
3
+ } from "./chunk-GORB726L.js";
4
4
  import {
5
5
  NPX_LATEST_COMMAND
6
- } from "./chunk-OOKIWOMK.js";
6
+ } from "./chunk-Z5AAPX3O.js";
7
7
 
8
8
  // src/setup/codex-trust.ts
9
9
  var CODEX_TRUST_TELEMETRY = {
@@ -4,10 +4,10 @@ import {
4
4
  keyPrefix,
5
5
  readConfigFileKey,
6
6
  readMacAppKeyPrefix
7
- } from "./chunk-GC5HJE3T.js";
7
+ } from "./chunk-4LIOV4YP.js";
8
8
  import {
9
9
  NPX_LATEST_COMMAND
10
- } from "./chunk-OOKIWOMK.js";
10
+ } from "./chunk-Z5AAPX3O.js";
11
11
 
12
12
  // src/key-signed-out.ts
13
13
  var VERDICT_BY_CHECK = {
@@ -1,18 +1,18 @@
1
1
  import {
2
2
  macAppBridgeAvailable
3
- } from "./chunk-FJKV64M7.js";
3
+ } from "./chunk-5SKHXKIF.js";
4
4
  import {
5
5
  keyPrefix
6
- } from "./chunk-GC5HJE3T.js";
6
+ } from "./chunk-4LIOV4YP.js";
7
7
  import {
8
8
  bridgeAgentKey
9
- } from "./chunk-2VQZC6DW.js";
9
+ } from "./chunk-YTTPPJZW.js";
10
10
  import {
11
11
  readJsonSafe
12
12
  } from "./chunk-AQFEP65J.js";
13
13
  import {
14
14
  isValidApiKey
15
- } from "./chunk-KGSN2SOL.js";
15
+ } from "./chunk-ZQZRBPTP.js";
16
16
 
17
17
  // src/shared-mcp-key.ts
18
18
  var asRecord = (value) => value !== null && typeof value === "object" && !Array.isArray(value) ? value : void 0;
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  parseSseMessages
3
- } from "./chunk-7V6PJFDF.js";
3
+ } from "./chunk-ZWDXBLEZ.js";
4
4
  import {
5
5
  NPX_LATEST_COMMAND
6
- } from "./chunk-OOKIWOMK.js";
6
+ } from "./chunk-Z5AAPX3O.js";
7
7
 
8
8
  // src/mcp-stdio-bridge.ts
9
9
  var MCP_BRIDGE_BINARY = "pushary-mcp";
@@ -3,10 +3,10 @@ import {
3
3
  } from "./chunk-KZERVKTD.js";
4
4
  import {
5
5
  renderCommandHelp
6
- } from "./chunk-OOKIWOMK.js";
6
+ } from "./chunk-Z5AAPX3O.js";
7
7
  import {
8
8
  getPackageVersion
9
- } from "./chunk-KGSN2SOL.js";
9
+ } from "./chunk-ZQZRBPTP.js";
10
10
 
11
11
  // src/cli/usage.ts
12
12
  var exitOnHelpFlag = (command) => {
@@ -5,16 +5,16 @@ import {
5
5
  import {
6
6
  NOTIFICATION_MATCHED_TYPES,
7
7
  POSTTOOLUSE_MIRRORED_TOOLS
8
- } from "./chunk-A3QQWXIE.js";
8
+ } from "./chunk-CSXWXXFJ.js";
9
9
  import {
10
10
  isProtectedByScope,
11
11
  registerHookEntry
12
- } from "./chunk-2VQZC6DW.js";
12
+ } from "./chunk-YTTPPJZW.js";
13
13
  import {
14
14
  CLAUDE_PRETOOLUSE_MATCHER,
15
15
  HOOK_BUDGETS,
16
16
  HOOK_LOCATOR_BINARY
17
- } from "./chunk-KGSN2SOL.js";
17
+ } from "./chunk-ZQZRBPTP.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
  DEFAULT_SESSION
3
- } from "./chunk-AXB4ABUD.js";
3
+ } from "./chunk-VGVMBY4V.js";
4
4
 
5
5
  // src/answer.ts
6
6
  var isDeferAnswer = (value) => value === "defer";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  isSafeReadOnlyCommand
3
- } from "./chunk-KGSN2SOL.js";
3
+ } from "./chunk-ZQZRBPTP.js";
4
4
 
5
5
  // src/ledger.ts
6
6
  import { appendFileSync, existsSync, mkdirSync, readFileSync, renameSync, rmSync, statSync } from "fs";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  redactSecretsFromContent
3
- } from "./chunk-KGSN2SOL.js";
3
+ } from "./chunk-ZQZRBPTP.js";
4
4
 
5
5
  // src/crypto.ts
6
6
  import nacl from "tweetnacl";