pushary 1.9.73 → 1.9.76

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 (127) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/dist/{api-JVWXPKEW.js → api-YDCHRRA4.js} +10 -10
  3. package/dist/bin/pushary-bell-hook.js +27 -25
  4. package/dist/bin/pushary-bell.js +14 -14
  5. package/dist/bin/pushary-claude.js +55 -82
  6. package/dist/bin/pushary-clean.js +37 -37
  7. package/dist/bin/pushary-codex-bridge.js +24 -24
  8. package/dist/bin/pushary-codex-hook.js +36 -34
  9. package/dist/bin/pushary-codex-session.js +8 -8
  10. package/dist/bin/pushary-codex.js +15 -15
  11. package/dist/bin/pushary-connect.js +26 -26
  12. package/dist/bin/pushary-cowork.js +5 -5
  13. package/dist/bin/pushary-daemon.js +1293 -63
  14. package/dist/bin/pushary-disconnect.js +31 -31
  15. package/dist/bin/pushary-display-hook.d.ts +1 -0
  16. package/dist/bin/pushary-display-hook.js +58 -0
  17. package/dist/bin/pushary-doctor.js +50 -50
  18. package/dist/bin/pushary-elicitation-hook.js +29 -27
  19. package/dist/bin/pushary-gemini-bridge.js +16 -16
  20. package/dist/bin/pushary-gemini-hook.js +31 -29
  21. package/dist/bin/pushary-hook.js +31 -29
  22. package/dist/bin/pushary-login.js +20 -20
  23. package/dist/bin/pushary-logout.js +30 -30
  24. package/dist/bin/pushary-mcp.js +14 -14
  25. package/dist/bin/pushary-mode.js +18 -18
  26. package/dist/bin/pushary-notification-hook.js +26 -24
  27. package/dist/bin/pushary-opencode-hook.js +30 -28
  28. package/dist/bin/pushary-permission-denied-hook.js +31 -29
  29. package/dist/bin/pushary-permission-hook.js +31 -29
  30. package/dist/bin/pushary-post-hook.js +32 -29
  31. package/dist/bin/pushary-prompt-hook.js +32 -29
  32. package/dist/bin/pushary-session-end-hook.js +28 -26
  33. package/dist/bin/pushary-session-start-hook.js +36 -34
  34. package/dist/bin/pushary-setup.js +66 -282
  35. package/dist/bin/pushary-stats.js +6 -6
  36. package/dist/bin/pushary-status.js +31 -31
  37. package/dist/bin/pushary-stop-hook.js +32 -26
  38. package/dist/bin/pushary-stopfailure-hook.js +26 -24
  39. package/dist/bin/pushary-suggestions.js +18 -18
  40. package/dist/bin/pushary-transcript-register.js +18 -16
  41. package/dist/bin/pushary-transcripts.js +20 -20
  42. package/dist/bin/pushary-upgrade.js +45 -45
  43. package/dist/bin/pushary-wait.js +18 -18
  44. package/dist/bin/pushary.js +7 -7
  45. package/dist/{chunk-F3WI32HG.js → chunk-2BK2EQOB.js} +7 -7
  46. package/dist/{chunk-ZBZBYUNZ.js → chunk-2QFYEB3P.js} +5 -5
  47. package/dist/{chunk-UIF7HWHX.js → chunk-3YU6NIIL.js} +4 -4
  48. package/dist/{chunk-L2FQBHIR.js → chunk-47TIRGS5.js} +2 -2
  49. package/dist/{chunk-AXZ67XVN.js → chunk-4LX5QUFV.js} +1 -1
  50. package/dist/{chunk-YZ6DMGZZ.js → chunk-57MQNSM5.js} +1 -1
  51. package/dist/{chunk-BLX6KRK5.js → chunk-5FV472Q2.js} +1 -1
  52. package/dist/{chunk-VBSPP4QY.js → chunk-5KPMDLXB.js} +3 -3
  53. package/dist/{chunk-S63VIM7E.js → chunk-5M5F4IWR.js} +2 -2
  54. package/dist/{chunk-7FROPPIH.js → chunk-5NW7VM35.js} +2 -2
  55. package/dist/{chunk-EITOMPFB.js → chunk-74ONBRPF.js} +4 -4
  56. package/dist/{chunk-7S46LCKD.js → chunk-7KYQ24FI.js} +3 -2
  57. package/dist/{chunk-NGNBX3YH.js → chunk-7LLC4R66.js} +4 -4
  58. package/dist/{chunk-AC5TVOAH.js → chunk-7SFP6Y5U.js} +373 -93
  59. package/dist/{chunk-CMYFV3VC.js → chunk-7ZOWQBHQ.js} +5 -5
  60. package/dist/{chunk-2QB7HJVJ.js → chunk-B2PFCS72.js} +2 -2
  61. package/dist/{chunk-UUCRWEEU.js → chunk-BUR2LYQI.js} +2 -2
  62. package/dist/{chunk-W47XZJSH.js → chunk-C2AR7QXU.js} +2 -2
  63. package/dist/{chunk-FK3JSDH5.js → chunk-CHIOUBPB.js} +13 -13
  64. package/dist/{chunk-TTGBS5JB.js → chunk-CMNB4IZO.js} +3 -3
  65. package/dist/{chunk-4UIR25GA.js → chunk-CUD6SYDG.js} +1 -1
  66. package/dist/{chunk-WJJVCDEU.js → chunk-DB3NOEDW.js} +6 -6
  67. package/dist/{chunk-PGJMSREY.js → chunk-DZF2M3LM.js} +8 -8
  68. package/dist/{chunk-2NG3ANMT.js → chunk-E2VJ7B7D.js} +9 -9
  69. package/dist/{chunk-S7VMHSJW.js → chunk-E7U4YM4A.js} +5 -5
  70. package/dist/{chunk-XKQ7CQGG.js → chunk-F7R7M5MG.js} +1 -1
  71. package/dist/{chunk-FAKEKFCI.js → chunk-FAGQAR6I.js} +5 -3
  72. package/dist/{chunk-3JJI5O5N.js → chunk-GII565PB.js} +1 -1
  73. package/dist/{chunk-WXV7J3DG.js → chunk-GJVV2EUC.js} +3 -3
  74. package/dist/{chunk-Z7AIYWZ2.js → chunk-IRLHN5UP.js} +236 -20
  75. package/dist/{chunk-NJSW2REO.js → chunk-IRN6JLSM.js} +4 -4
  76. package/dist/{chunk-JC7XUZST.js → chunk-ITLWEGLE.js} +31 -5
  77. package/dist/{chunk-7M4AA7QF.js → chunk-JNV5LOZH.js} +4 -4
  78. package/dist/{chunk-IN3MPEFA.js → chunk-JZ5KV2FK.js} +5 -5
  79. package/dist/{chunk-QAWWTRDD.js → chunk-KGWLDNNT.js} +4 -4
  80. package/dist/{chunk-O4EAMVSC.js → chunk-KWGOKO4E.js} +5 -5
  81. package/dist/{chunk-KDQLKND5.js → chunk-M5VJ3HXB.js} +6 -6
  82. package/dist/{chunk-R5PZPROX.js → chunk-M7JFGDGP.js} +1 -1
  83. package/dist/{chunk-N4VRSFRZ.js → chunk-MAWC4PJV.js} +5 -5
  84. package/dist/chunk-MHUKYYYR.js +239 -0
  85. package/dist/{chunk-56GK65Z6.js → chunk-MMVIKXCP.js} +3 -3
  86. package/dist/{chunk-CGWUVEOB.js → chunk-MTRZQR2R.js} +3 -3
  87. package/dist/{chunk-JYOR57ZW.js → chunk-NFUV25JZ.js} +3 -3
  88. package/dist/{chunk-EUHTC7K5.js → chunk-NJTAUEW6.js} +1 -1
  89. package/dist/{chunk-2JFEMKDG.js → chunk-NQA56AMZ.js} +6 -6
  90. package/dist/{chunk-AJWGZJFS.js → chunk-NVLKH5FS.js} +131 -28
  91. package/dist/{chunk-2HFC4W6J.js → chunk-PPD64MZW.js} +4 -3
  92. package/dist/{chunk-3RAWW5DH.js → chunk-QUGP76DQ.js} +6 -6
  93. package/dist/{chunk-PPKIL4EL.js → chunk-R3HXGHRQ.js} +1 -1
  94. package/dist/{chunk-3QBKMSOZ.js → chunk-S7C5NY4R.js} +1 -1
  95. package/dist/{chunk-EUEGCEA7.js → chunk-SWRNJ3BP.js} +3 -3
  96. package/dist/{chunk-RZVWEDIS.js → chunk-T2EJ3H6Y.js} +3 -3
  97. package/dist/{chunk-DT6VCMXS.js → chunk-TFYFQM5C.js} +2 -2
  98. package/dist/{chunk-GBR6E7AY.js → chunk-UEY4SHY2.js} +1 -1
  99. package/dist/{chunk-TFDMJHAB.js → chunk-UMBVIFP5.js} +1 -1
  100. package/dist/{chunk-TQ2L3ECX.js → chunk-USMUW3LI.js} +2 -2
  101. package/dist/{chunk-VJUDBZGC.js → chunk-USZJJWZL.js} +2 -2
  102. package/dist/{chunk-4LAD5A2Q.js → chunk-VELPOV2F.js} +4 -4
  103. package/dist/{chunk-JNTYPMVU.js → chunk-VZSSL6US.js} +10 -10
  104. package/dist/{chunk-KSLBS3II.js → chunk-W5AUTVVL.js} +6 -5
  105. package/dist/{chunk-OJ3ZD5VX.js → chunk-WK2L3XVQ.js} +1 -1
  106. package/dist/{chunk-PM2MHBMF.js → chunk-WLHHDDVA.js} +9 -4
  107. package/dist/{chunk-U3EBM73X.js → chunk-WRCM4XGY.js} +2 -2
  108. package/dist/{chunk-SQ5XCMPB.js → chunk-XJ5DYPTM.js} +4 -4
  109. package/dist/{chunk-PNXNWZ5P.js → chunk-XLGD5LDG.js} +3 -3
  110. package/dist/{chunk-7RX5TOU3.js → chunk-Y2CYSVWU.js} +6 -6
  111. package/dist/{chunk-AVHL2ZTS.js → chunk-Y4OBAK4I.js} +459 -172
  112. package/dist/{chunk-JWBZUTYF.js → chunk-YDPGBBV7.js} +5 -5
  113. package/dist/{chunk-FB262EOM.js → chunk-YLB4AGZJ.js} +1 -1
  114. package/dist/{chunk-QMPM3CAN.js → chunk-ZY25SNFQ.js} +1 -1
  115. package/dist/{codex-app-cards-switch-M7VH7AZH.js → codex-app-cards-switch-3OUTABVU.js} +11 -11
  116. package/dist/{codex-desktop-launch-6DASTBBA.js → codex-desktop-launch-JH3E2CIA.js} +1 -1
  117. package/dist/{codex-session-launch-2XSMFA4K.js → codex-session-launch-GR363OQN.js} +18 -18
  118. package/dist/{config-7QQOIFTW.js → config-R43UFHX7.js} +3 -3
  119. package/dist/{global-upgrade-XAKX26AN.js → global-upgrade-73GP4MZM.js} +10 -10
  120. package/dist/{identity-7AS5MBNM.js → identity-CA7CZGDL.js} +4 -4
  121. package/dist/{live-capabilities-DV4F7MIB.js → live-capabilities-RCGMQIIZ.js} +5 -5
  122. package/dist/{paths-GSMXYKT5.js → paths-H7VNNB46.js} +3 -3
  123. package/dist/{reapply-MR7UWBXR.js → reapply-3UIA3CUO.js} +27 -27
  124. package/dist/src/index.js +32 -30
  125. package/dist/{upgrade-lock-6OTHLCBZ.js → upgrade-lock-ZTLX5PDF.js} +4 -4
  126. package/dist/{usage-H53PO3VQ.js → usage-C53NVWC2.js} +3 -3
  127. package/package.json +4 -2
package/CHANGELOG.md CHANGED
@@ -1,5 +1,25 @@
1
1
  # Changelog
2
2
 
3
+ ## 1.9.76
4
+
5
+ - Session history is on by default. A computer that never chose now syncs each session's conversation to your phone, redacted and encrypted on the computer. Turn it off on one computer with `npx pushary@latest transcripts off`. An owner or admin can turn it off for the whole workspace in Agent settings.
6
+ - A session that was already running when Pushary first sees it now syncs only its last 20 MB, and only what was written inside your plan's history window: 14 days, or 30 on Agent Pro, Team, Partner and Enterprise. It used to upload the whole session file, however old or large.
7
+ - The background service now reads each session file from where it stopped, instead of reading the whole file every three seconds.
8
+ - Mac app: a session that was already running when you sign in can sync its earlier conversation, inside the same limits, once the Mac app grants it. Turning history off and back on still syncs only what is written after you turn it on.
9
+
10
+ ## 1.9.75
11
+
12
+ - Stream completed Claude display lines from directly started sessions through the existing encrypted transcript path.
13
+ - Share native and SDK preview retries, preserve newer replies when old batches arrive, and recover snapshots after receiver replacement.
14
+ - Include durable idle instruction delivery and recovery for the compatible Claude, Codex and Hermes controllers merged in #2251.
15
+
16
+ ## 1.9.74
17
+
18
+ - Improve instruction delivery to supported running Claude Code, Codex and Hermes sessions on macOS, including recovery after lost acknowledgements and receiver restarts. Uncertain delivery stays pending instead of reporting success or submitting the instruction again.
19
+ - Keep instructions bound to the intended session and acknowledge delivery only after the required hook or native receipt.
20
+ - Continue CLI setup automatically after successful phone pairing.
21
+ - Add durable receipt recovery for the qualified Hermes development build. Its upstream fixes are awaiting release; other Hermes builds keep their existing compatibility limits. Native delivery on Linux and Windows remains unqualified.
22
+
3
23
  ## 1.9.73
4
24
 
5
25
  - Claude Code: an instruction from your phone or the Mac app that arrives as a session finishes its turn no longer shows in the terminal as "Stop hook blocking error". On Claude Code 2.1.163 and later Pushary hands it to Claude as context, and the turn carries on. On older versions, or when Pushary cannot read the session's version, it is still the reason the turn continues, which every version reads. Pushary reads the version from the file Claude Code keeps for the running session.
@@ -17,23 +17,23 @@ import {
17
17
  waitForQuestion,
18
18
  waitsForThePhone,
19
19
  withdrawQuestion
20
- } from "./chunk-CMYFV3VC.js";
20
+ } from "./chunk-7ZOWQBHQ.js";
21
21
  import "./chunk-POFBE6ZY.js";
22
- import "./chunk-7M4AA7QF.js";
23
- import "./chunk-S7VMHSJW.js";
24
- import "./chunk-O4EAMVSC.js";
25
- import "./chunk-UUCRWEEU.js";
22
+ import "./chunk-JNV5LOZH.js";
23
+ import "./chunk-E7U4YM4A.js";
24
+ import "./chunk-KWGOKO4E.js";
25
+ import "./chunk-BUR2LYQI.js";
26
+ import "./chunk-7KYQ24FI.js";
27
+ import "./chunk-T2EJ3H6Y.js";
28
+ import "./chunk-M7JFGDGP.js";
26
29
  import "./chunk-PPY5N2E6.js";
27
30
  import "./chunk-KZERVKTD.js";
28
- import "./chunk-7S46LCKD.js";
29
- import "./chunk-RZVWEDIS.js";
30
- import "./chunk-R5PZPROX.js";
31
- import "./chunk-PPKIL4EL.js";
31
+ import "./chunk-R3HXGHRQ.js";
32
32
  import "./chunk-QTOLNRET.js";
33
33
  import {
34
34
  DECISION_STOP_REASON,
35
35
  UNVERIFIABLE_APPROVAL_REASON
36
- } from "./chunk-AVHL2ZTS.js";
36
+ } from "./chunk-Y4OBAK4I.js";
37
37
  import "./chunk-MLKGABMK.js";
38
38
  export {
39
39
  ABANDONED_WAIT,
@@ -1,39 +1,41 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  handleBell
4
- } from "../chunk-4UIR25GA.js";
4
+ } from "../chunk-CUD6SYDG.js";
5
5
  import {
6
6
  readHookInput
7
- } from "../chunk-F3WI32HG.js";
8
- import "../chunk-AC5TVOAH.js";
9
- import "../chunk-FB262EOM.js";
10
- import "../chunk-UIF7HWHX.js";
11
- import "../chunk-WJJVCDEU.js";
12
- import "../chunk-QAWWTRDD.js";
13
- import "../chunk-2HFC4W6J.js";
14
- import "../chunk-BLX6KRK5.js";
7
+ } from "../chunk-2BK2EQOB.js";
8
+ import "../chunk-7SFP6Y5U.js";
9
+ import "../chunk-YLB4AGZJ.js";
10
+ import "../chunk-MHUKYYYR.js";
11
+ import "../chunk-3YU6NIIL.js";
12
+ import "../chunk-DB3NOEDW.js";
13
+ import "../chunk-KGWLDNNT.js";
14
+ import "../chunk-PPD64MZW.js";
15
+ import "../chunk-5FV472Q2.js";
15
16
  import "../chunk-NMUI3ZWG.js";
16
- import "../chunk-JC7XUZST.js";
17
- import "../chunk-S63VIM7E.js";
17
+ import "../chunk-ITLWEGLE.js";
18
+ import "../chunk-XMSDA5WA.js";
19
+ import "../chunk-5M5F4IWR.js";
18
20
  import "../chunk-XHKBHWLX.js";
19
- import "../chunk-NGNBX3YH.js";
20
- import "../chunk-AJWGZJFS.js";
21
- import "../chunk-QMPM3CAN.js";
22
- import "../chunk-CMYFV3VC.js";
21
+ import "../chunk-7LLC4R66.js";
22
+ import "../chunk-NVLKH5FS.js";
23
+ import "../chunk-ZY25SNFQ.js";
24
+ import "../chunk-7ZOWQBHQ.js";
23
25
  import "../chunk-POFBE6ZY.js";
24
- import "../chunk-7M4AA7QF.js";
25
- import "../chunk-S7VMHSJW.js";
26
- import "../chunk-O4EAMVSC.js";
27
- import "../chunk-UUCRWEEU.js";
26
+ import "../chunk-JNV5LOZH.js";
27
+ import "../chunk-E7U4YM4A.js";
28
+ import "../chunk-KWGOKO4E.js";
29
+ import "../chunk-BUR2LYQI.js";
30
+ import "../chunk-5NW7VM35.js";
31
+ import "../chunk-7KYQ24FI.js";
32
+ import "../chunk-T2EJ3H6Y.js";
33
+ import "../chunk-M7JFGDGP.js";
28
34
  import "../chunk-PPY5N2E6.js";
29
35
  import "../chunk-KZERVKTD.js";
30
- import "../chunk-7FROPPIH.js";
31
- import "../chunk-7S46LCKD.js";
32
- import "../chunk-RZVWEDIS.js";
33
- import "../chunk-R5PZPROX.js";
34
- import "../chunk-PPKIL4EL.js";
36
+ import "../chunk-R3HXGHRQ.js";
35
37
  import "../chunk-QTOLNRET.js";
36
- import "../chunk-AVHL2ZTS.js";
38
+ import "../chunk-Y4OBAK4I.js";
37
39
  import "../chunk-MLKGABMK.js";
38
40
 
39
41
  // bin/pushary-bell-hook.ts
@@ -5,40 +5,40 @@ import {
5
5
  liveAgentCount,
6
6
  ring,
7
7
  upgradeThreshold
8
- } from "../chunk-4UIR25GA.js";
8
+ } from "../chunk-CUD6SYDG.js";
9
9
  import {
10
10
  createIo
11
11
  } from "../chunk-FO3MDD26.js";
12
12
  import {
13
13
  exitOnHelpFlag
14
- } from "../chunk-OJ3ZD5VX.js";
14
+ } from "../chunk-WK2L3XVQ.js";
15
15
  import {
16
16
  addBellHooks,
17
17
  bellInstalled,
18
18
  removeBellHooks
19
- } from "../chunk-BLX6KRK5.js";
19
+ } from "../chunk-5FV472Q2.js";
20
20
  import {
21
21
  parseFlags
22
22
  } from "../chunk-NMUI3ZWG.js";
23
- import "../chunk-NGNBX3YH.js";
24
- import "../chunk-PPY5N2E6.js";
25
- import {
26
- EXIT
27
- } from "../chunk-KZERVKTD.js";
28
- import "../chunk-7FROPPIH.js";
23
+ import "../chunk-7LLC4R66.js";
24
+ import "../chunk-5NW7VM35.js";
29
25
  import {
30
26
  claudeSettings
31
- } from "../chunk-7S46LCKD.js";
27
+ } from "../chunk-7KYQ24FI.js";
32
28
  import {
33
29
  readJsonSafe,
34
30
  writeJsonAtomic
35
- } from "../chunk-RZVWEDIS.js";
36
- import "../chunk-R5PZPROX.js";
37
- import "../chunk-PPKIL4EL.js";
31
+ } from "../chunk-T2EJ3H6Y.js";
32
+ import "../chunk-M7JFGDGP.js";
33
+ import "../chunk-PPY5N2E6.js";
34
+ import {
35
+ EXIT
36
+ } from "../chunk-KZERVKTD.js";
37
+ import "../chunk-R3HXGHRQ.js";
38
38
  import "../chunk-QTOLNRET.js";
39
39
  import {
40
40
  isRecord
41
- } from "../chunk-AVHL2ZTS.js";
41
+ } from "../chunk-Y4OBAK4I.js";
42
42
  import "../chunk-MLKGABMK.js";
43
43
 
44
44
  // bin/pushary-bell.ts
@@ -2,50 +2,50 @@
2
2
  import {
3
3
  WRAPPER_ACTIVE_ENV,
4
4
  findClaudeBinary
5
- } from "../chunk-U3EBM73X.js";
5
+ } from "../chunk-WRCM4XGY.js";
6
6
  import {
7
7
  CommandReceipts,
8
8
  controllerCommandSchema
9
9
  } from "../chunk-N5P2FLOJ.js";
10
- import {
11
- external_exports
12
- } from "../chunk-XMSDA5WA.js";
13
10
  import {
14
11
  SESSION_IDLE_TIMEOUT_MS,
15
12
  describeIdleWindow,
16
13
  startProcessOwnership,
17
14
  withSpawnProcessOwnership
18
- } from "../chunk-PNXNWZ5P.js";
19
- import "../chunk-TFDMJHAB.js";
15
+ } from "../chunk-XLGD5LDG.js";
16
+ import "../chunk-UMBVIFP5.js";
20
17
  import {
21
18
  announceSubscriptionRequired,
22
19
  isDeferAnswer
23
- } from "../chunk-AXZ67XVN.js";
20
+ } from "../chunk-4LX5QUFV.js";
24
21
  import {
25
22
  claudeTranscriptPath,
26
- loadSessionKey,
23
+ redactDraft,
27
24
  registerTranscript,
28
- registeredTranscriptEnabled
29
- } from "../chunk-AC5TVOAH.js";
30
- import "../chunk-FB262EOM.js";
25
+ registeredTranscriptEnabled,
26
+ startDraftPublisher
27
+ } from "../chunk-7SFP6Y5U.js";
28
+ import "../chunk-YLB4AGZJ.js";
29
+ import "../chunk-MHUKYYYR.js";
31
30
  import {
32
31
  ensureDaemonRunning
33
- } from "../chunk-WJJVCDEU.js";
34
- import "../chunk-QAWWTRDD.js";
35
- import "../chunk-2HFC4W6J.js";
36
- import "../chunk-BLX6KRK5.js";
32
+ } from "../chunk-DB3NOEDW.js";
33
+ import "../chunk-KGWLDNNT.js";
34
+ import "../chunk-PPD64MZW.js";
35
+ import "../chunk-5FV472Q2.js";
37
36
  import "../chunk-NMUI3ZWG.js";
37
+ import "../chunk-ITLWEGLE.js";
38
38
  import {
39
- encryptRecord
40
- } from "../chunk-JC7XUZST.js";
39
+ external_exports
40
+ } from "../chunk-XMSDA5WA.js";
41
41
  import {
42
42
  transcriptsEnabled
43
- } from "../chunk-S63VIM7E.js";
43
+ } from "../chunk-5M5F4IWR.js";
44
44
  import {
45
45
  needsShell,
46
46
  spawnClaude
47
47
  } from "../chunk-XHKBHWLX.js";
48
- import "../chunk-NGNBX3YH.js";
48
+ import "../chunk-7LLC4R66.js";
49
49
  import {
50
50
  DEFAULT_SESSION,
51
51
  UNNAMED_ACTION,
@@ -62,10 +62,10 @@ import {
62
62
  reportEvent,
63
63
  savePendingCommand,
64
64
  scopePathFor
65
- } from "../chunk-AJWGZJFS.js";
65
+ } from "../chunk-NVLKH5FS.js";
66
66
  import {
67
67
  repoKeyFor
68
- } from "../chunk-QMPM3CAN.js";
68
+ } from "../chunk-ZY25SNFQ.js";
69
69
  import {
70
70
  askUser,
71
71
  cancelQuestion,
@@ -77,30 +77,30 @@ import {
77
77
  waitForAnswer,
78
78
  waitsForThePhone,
79
79
  withdrawQuestion
80
- } from "../chunk-CMYFV3VC.js";
80
+ } from "../chunk-7ZOWQBHQ.js";
81
81
  import "../chunk-POFBE6ZY.js";
82
82
  import {
83
83
  SubscriptionRequiredError
84
- } from "../chunk-7M4AA7QF.js";
85
- import "../chunk-S7VMHSJW.js";
86
- import "../chunk-O4EAMVSC.js";
84
+ } from "../chunk-JNV5LOZH.js";
85
+ import "../chunk-E7U4YM4A.js";
86
+ import "../chunk-KWGOKO4E.js";
87
87
  import {
88
88
  getMachineId
89
- } from "../chunk-UUCRWEEU.js";
90
- import "../chunk-PPY5N2E6.js";
91
- import "../chunk-KZERVKTD.js";
92
- import "../chunk-7FROPPIH.js";
89
+ } from "../chunk-BUR2LYQI.js";
90
+ import "../chunk-5NW7VM35.js";
93
91
  import {
94
92
  claudeConfigDir
95
- } from "../chunk-7S46LCKD.js";
96
- import "../chunk-RZVWEDIS.js";
93
+ } from "../chunk-7KYQ24FI.js";
94
+ import "../chunk-T2EJ3H6Y.js";
97
95
  import {
98
96
  getApiKey,
99
97
  getBaseUrl
100
- } from "../chunk-R5PZPROX.js";
98
+ } from "../chunk-M7JFGDGP.js";
99
+ import "../chunk-PPY5N2E6.js";
100
+ import "../chunk-KZERVKTD.js";
101
101
  import {
102
102
  NPX_LATEST_COMMAND
103
- } from "../chunk-PPKIL4EL.js";
103
+ } from "../chunk-R3HXGHRQ.js";
104
104
  import "../chunk-QTOLNRET.js";
105
105
  import {
106
106
  DECISION_STOP_REASON,
@@ -110,11 +110,10 @@ import {
110
110
  UNVERIFIABLE_APPROVAL_REASON,
111
111
  extractMessageText,
112
112
  questionLimitHandBack,
113
- redactSecretsFromContent,
114
113
  refusesWhenUnanswered,
115
114
  resolveGate,
116
115
  timeoutActionWithoutLocalPrompt
117
- } from "../chunk-AVHL2ZTS.js";
116
+ } from "../chunk-Y4OBAK4I.js";
118
117
  import "../chunk-MLKGABMK.js";
119
118
 
120
119
  // src/wrapper/localPassthrough.ts
@@ -195,19 +194,6 @@ var historyAcceptedCommand = async (file, commandId) => {
195
194
  import { existsSync as existsSync2 } from "fs";
196
195
 
197
196
  // src/transcript-draft.ts
198
- var redactDraft = (text, complete = false) => {
199
- let end = complete ? text.length : text.lastIndexOf("\n") + 1;
200
- const pem = /-----BEGIN [^\n]*PRIVATE KEY-----/g;
201
- for (const match of text.matchAll(pem)) {
202
- if (!/-----END [^\n]*PRIVATE KEY-----/.test(text.slice(match.index, end))) end = Math.min(end, match.index);
203
- }
204
- const quoted = /(?:secret|token|password|passwd|api[_-]?key|access[_-]?key|client[_-]?secret|private[_-]?key)\s*[=:]\s*(["'])/gi;
205
- for (const match of text.matchAll(quoted)) {
206
- const close = text.indexOf(match[1], match.index + match[0].length);
207
- if (close < 0 || close >= end) end = Math.min(end, match.index);
208
- }
209
- return redactSecretsFromContent(text.slice(0, end));
210
- };
211
197
  var isDraftObject = (value) => value !== null && typeof value === "object" && !Array.isArray(value);
212
198
  var DraftText = class {
213
199
  messageId = "";
@@ -254,39 +240,29 @@ var startTranscriptDraft = (apiKey, getSessionId, runtime = {}) => {
254
240
  const text = new DraftText();
255
241
  const startedAt = Date.now();
256
242
  let revision = 0;
257
- let stopped = false;
258
- let pending;
243
+ let lastSnapshot = "";
259
244
  let ending = false;
260
- let sent = "";
261
- const flush = async () => {
262
- if (stopped || pending || !(runtime.enabled ?? transcriptsEnabled)()) return;
263
- const sessionId = getSessionId();
264
- const snapshot = text.snapshot();
265
- if (!sessionId || !snapshot || !(runtime.registered ? runtime.registered(sessionId) : registeredTranscriptEnabled(apiKey, sessionId))) return;
266
- const raw = JSON.stringify(snapshot);
267
- if (raw === sent) return;
268
- const key = loadSessionKey(sessionId, runtime.keyDirectory);
269
- if (!key?.keyUploaded) return;
270
- pending = (async () => {
271
- try {
272
- const response = await fetch(`${runtime.baseUrl ?? getBaseUrl()}/api/agent/transcript`, {
273
- method: "POST",
274
- headers: { Authorization: `Bearer ${apiKey}`, "Content-Type": "application/json" },
275
- body: JSON.stringify({ sessionId, draft: { startedAt, revision: ++revision, content: encryptRecord(raw, key.sessionKey) } }),
276
- signal: AbortSignal.timeout(5e3)
277
- });
278
- if (response.ok) sent = raw;
279
- } catch {
245
+ const publisher = startDraftPublisher({
246
+ apiKey,
247
+ baseUrl: runtime.baseUrl ?? getBaseUrl(),
248
+ keyDirectory: runtime.keyDirectory,
249
+ sessionId: getSessionId,
250
+ enabled: () => {
251
+ if (!(runtime.enabled ?? transcriptsEnabled)()) return false;
252
+ const sessionId = getSessionId();
253
+ return Boolean(sessionId && (runtime.registered ? runtime.registered(sessionId) : registeredTranscriptEnabled(apiKey, sessionId)));
254
+ },
255
+ snapshot: () => {
256
+ const preview = text.snapshot();
257
+ if (!preview) return null;
258
+ const raw = JSON.stringify(preview);
259
+ if (raw !== lastSnapshot) {
260
+ revision++;
261
+ lastSnapshot = raw;
280
262
  }
281
- })();
282
- try {
283
- await pending;
284
- } finally {
285
- pending = void 0;
263
+ return { startedAt, revision, preview };
286
264
  }
287
- };
288
- const timer = setInterval(() => void flush(), 500);
289
- timer.unref();
265
+ });
290
266
  return {
291
267
  add: (message) => {
292
268
  if (!ending) text.add(message);
@@ -294,11 +270,8 @@ var startTranscriptDraft = (apiKey, getSessionId, runtime = {}) => {
294
270
  stop: async () => {
295
271
  if (ending) return;
296
272
  ending = true;
297
- clearInterval(timer);
298
273
  text.interrupt();
299
- await pending;
300
- await flush();
301
- stopped = true;
274
+ await publisher.finish();
302
275
  }
303
276
  };
304
277
  };
@@ -15,30 +15,30 @@ import {
15
15
  storedMacAppState,
16
16
  storedPusharyKeychainServices,
17
17
  waitForMacAppExit
18
- } from "../chunk-PM2MHBMF.js";
18
+ } from "../chunk-WLHHDDVA.js";
19
19
  import {
20
20
  PUSHARY_SKILL_NAME,
21
21
  PUSHARY_SKILL_SOURCE,
22
22
  createGuards
23
23
  } from "../chunk-EUW7JL2K.js";
24
- import "../chunk-Z7AIYWZ2.js";
24
+ import "../chunk-IRLHN5UP.js";
25
25
  import "../chunk-XCEN33UP.js";
26
26
  import {
27
27
  describeCliKeyRevocation,
28
28
  planCliKeyRevocations,
29
29
  readCliHeldKeys,
30
30
  revokeCliKeys
31
- } from "../chunk-N4VRSFRZ.js";
31
+ } from "../chunk-MAWC4PJV.js";
32
32
  import {
33
33
  isCursorPluginLeftover,
34
34
  releaseSoleGate,
35
35
  withoutPusharyCursorHooks
36
- } from "../chunk-4LAD5A2Q.js";
36
+ } from "../chunk-VELPOV2F.js";
37
37
  import {
38
38
  shortenHome,
39
39
  unregisterPluginLocation,
40
40
  vscodeSettingsTargets
41
- } from "../chunk-IN3MPEFA.js";
41
+ } from "../chunk-JZ5KV2FK.js";
42
42
  import {
43
43
  configFileHoldsMacAppKey,
44
44
  macAppKeepsMcpEntry,
@@ -46,22 +46,22 @@ import {
46
46
  pusharyKey,
47
47
  readMacAppAgentKey,
48
48
  setupReceiptKey
49
- } from "../chunk-JWBZUTYF.js";
50
- import "../chunk-TQ2L3ECX.js";
49
+ } from "../chunk-YDPGBBV7.js";
50
+ import "../chunk-USMUW3LI.js";
51
51
  import {
52
52
  HERMES_CONFIG_FILE,
53
53
  defaultHermesHome,
54
54
  hermesReceiptPaths,
55
55
  removeHermesWiring
56
- } from "../chunk-FAKEKFCI.js";
56
+ } from "../chunk-FAGQAR6I.js";
57
57
  import "../chunk-QCGNGEGE.js";
58
58
  import {
59
59
  planClineRemoval,
60
60
  planFxRemoval,
61
61
  removeClineServer
62
- } from "../chunk-KSLBS3II.js";
63
- import "../chunk-EUEGCEA7.js";
64
- import "../chunk-W47XZJSH.js";
62
+ } from "../chunk-W5AUTVVL.js";
63
+ import "../chunk-SWRNJ3BP.js";
64
+ import "../chunk-C2AR7QXU.js";
65
65
  import {
66
66
  OPENCODE_ASKED_PERMISSIONS,
67
67
  OPENCODE_PLUGIN_SIBLING,
@@ -75,15 +75,15 @@ import {
75
75
  openCodePluginDir,
76
76
  openCodePluginFile,
77
77
  removeOpenCodeMcpServer
78
- } from "../chunk-3RAWW5DH.js";
78
+ } from "../chunk-QUGP76DQ.js";
79
79
  import {
80
80
  ansiPainter,
81
81
  useColor
82
82
  } from "../chunk-FO3MDD26.js";
83
83
  import {
84
84
  exitOnHelpFlag
85
- } from "../chunk-OJ3ZD5VX.js";
86
- import "../chunk-TFDMJHAB.js";
85
+ } from "../chunk-WK2L3XVQ.js";
86
+ import "../chunk-UMBVIFP5.js";
87
87
  import {
88
88
  compatibleConfigFile,
89
89
  compatibleDocuments,
@@ -95,10 +95,10 @@ import {
95
95
  removeCompatibleHooks,
96
96
  removeCompatibleMcpServer,
97
97
  serializeConfigDocument
98
- } from "../chunk-UIF7HWHX.js";
98
+ } from "../chunk-3YU6NIIL.js";
99
99
  import {
100
100
  disableDaemonService
101
- } from "../chunk-WJJVCDEU.js";
101
+ } from "../chunk-DB3NOEDW.js";
102
102
  import {
103
103
  hookOwnerOf,
104
104
  isHookTakeoverReceipt,
@@ -107,9 +107,9 @@ import {
107
107
  resolveBridgeStub,
108
108
  restoreHookTakeover,
109
109
  restoreMcpServer
110
- } from "../chunk-QAWWTRDD.js";
111
- import "../chunk-2HFC4W6J.js";
112
- import "../chunk-BLX6KRK5.js";
110
+ } from "../chunk-KGWLDNNT.js";
111
+ import "../chunk-PPD64MZW.js";
112
+ import "../chunk-5FV472Q2.js";
113
113
  import {
114
114
  parseFlags
115
115
  } from "../chunk-NMUI3ZWG.js";
@@ -119,21 +119,17 @@ import {
119
119
  isDisabledExport,
120
120
  removeClaudeAlias,
121
121
  shellProfileCandidates
122
- } from "../chunk-NGNBX3YH.js";
122
+ } from "../chunk-7LLC4R66.js";
123
123
  import "../chunk-E46NE7FB.js";
124
- import "../chunk-AJWGZJFS.js";
125
- import "../chunk-QMPM3CAN.js";
126
- import "../chunk-CMYFV3VC.js";
124
+ import "../chunk-NVLKH5FS.js";
125
+ import "../chunk-ZY25SNFQ.js";
126
+ import "../chunk-7ZOWQBHQ.js";
127
127
  import "../chunk-POFBE6ZY.js";
128
- import "../chunk-7M4AA7QF.js";
129
- import "../chunk-S7VMHSJW.js";
130
- import "../chunk-O4EAMVSC.js";
131
- import "../chunk-UUCRWEEU.js";
132
- import "../chunk-PPY5N2E6.js";
133
- import {
134
- EXIT
135
- } from "../chunk-KZERVKTD.js";
136
- import "../chunk-7FROPPIH.js";
128
+ import "../chunk-JNV5LOZH.js";
129
+ import "../chunk-E7U4YM4A.js";
130
+ import "../chunk-KWGOKO4E.js";
131
+ import "../chunk-BUR2LYQI.js";
132
+ import "../chunk-5NW7VM35.js";
137
133
  import {
138
134
  claudeConfigDir,
139
135
  claudeJson,
@@ -176,20 +172,24 @@ import {
176
172
  restoreCodexHookTrust,
177
173
  vscodePluginDir,
178
174
  vscodePluginMcp
179
- } from "../chunk-7S46LCKD.js";
175
+ } from "../chunk-7KYQ24FI.js";
180
176
  import {
181
177
  cleanNpmEnv,
182
178
  globalPackageState,
183
179
  npmIsOnPath,
184
180
  readGlobalFolder,
185
181
  readGlobalPrefix
186
- } from "../chunk-RZVWEDIS.js";
182
+ } from "../chunk-T2EJ3H6Y.js";
187
183
  import {
188
184
  getBaseUrl
189
- } from "../chunk-R5PZPROX.js";
185
+ } from "../chunk-M7JFGDGP.js";
186
+ import "../chunk-PPY5N2E6.js";
187
+ import {
188
+ EXIT
189
+ } from "../chunk-KZERVKTD.js";
190
190
  import {
191
191
  NPX_LATEST_COMMAND
192
- } from "../chunk-PPKIL4EL.js";
192
+ } from "../chunk-R3HXGHRQ.js";
193
193
  import {
194
194
  CLI_PACKAGE_NAMES,
195
195
  globalPackageFolder,
@@ -203,7 +203,7 @@ import {
203
203
  SUPPORT_EMAIL,
204
204
  isValidApiKey,
205
205
  redactSecrets
206
- } from "../chunk-AVHL2ZTS.js";
206
+ } from "../chunk-Y4OBAK4I.js";
207
207
  import "../chunk-MLKGABMK.js";
208
208
 
209
209
  // bin/pushary-clean.ts
@@ -1,45 +1,45 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  runCodexBridge
4
- } from "../chunk-KDQLKND5.js";
5
- import "../chunk-GBR6E7AY.js";
4
+ } from "../chunk-M5VJ3HXB.js";
5
+ import "../chunk-UEY4SHY2.js";
6
6
  import {
7
7
  resolveProviderBinary
8
- } from "../chunk-EITOMPFB.js";
9
- import "../chunk-JYOR57ZW.js";
8
+ } from "../chunk-74ONBRPF.js";
9
+ import "../chunk-NFUV25JZ.js";
10
10
  import "../chunk-N5P2FLOJ.js";
11
- import "../chunk-XMSDA5WA.js";
12
11
  import {
13
12
  withSpawnProcessOwnership
14
- } from "../chunk-PNXNWZ5P.js";
15
- import "../chunk-TFDMJHAB.js";
16
- import "../chunk-JC7XUZST.js";
13
+ } from "../chunk-XLGD5LDG.js";
14
+ import "../chunk-UMBVIFP5.js";
15
+ import "../chunk-ITLWEGLE.js";
16
+ import "../chunk-XMSDA5WA.js";
17
17
  import {
18
18
  transcriptsEnabled
19
- } from "../chunk-S63VIM7E.js";
19
+ } from "../chunk-5M5F4IWR.js";
20
20
  import "../chunk-XHKBHWLX.js";
21
- import "../chunk-NGNBX3YH.js";
22
- import "../chunk-QMPM3CAN.js";
23
- import "../chunk-CMYFV3VC.js";
21
+ import "../chunk-7LLC4R66.js";
22
+ import "../chunk-ZY25SNFQ.js";
23
+ import "../chunk-7ZOWQBHQ.js";
24
24
  import "../chunk-POFBE6ZY.js";
25
- import "../chunk-7M4AA7QF.js";
26
- import "../chunk-S7VMHSJW.js";
27
- import "../chunk-O4EAMVSC.js";
25
+ import "../chunk-JNV5LOZH.js";
26
+ import "../chunk-E7U4YM4A.js";
27
+ import "../chunk-KWGOKO4E.js";
28
28
  import {
29
29
  getMachineId
30
- } from "../chunk-UUCRWEEU.js";
31
- import "../chunk-PPY5N2E6.js";
32
- import "../chunk-KZERVKTD.js";
33
- import "../chunk-7FROPPIH.js";
34
- import "../chunk-7S46LCKD.js";
35
- import "../chunk-RZVWEDIS.js";
30
+ } from "../chunk-BUR2LYQI.js";
31
+ import "../chunk-5NW7VM35.js";
32
+ import "../chunk-7KYQ24FI.js";
33
+ import "../chunk-T2EJ3H6Y.js";
36
34
  import {
37
35
  getApiKey,
38
36
  getBaseUrl
39
- } from "../chunk-R5PZPROX.js";
40
- import "../chunk-PPKIL4EL.js";
37
+ } from "../chunk-M7JFGDGP.js";
38
+ import "../chunk-PPY5N2E6.js";
39
+ import "../chunk-KZERVKTD.js";
40
+ import "../chunk-R3HXGHRQ.js";
41
41
  import "../chunk-QTOLNRET.js";
42
- import "../chunk-AVHL2ZTS.js";
42
+ import "../chunk-Y4OBAK4I.js";
43
43
  import "../chunk-MLKGABMK.js";
44
44
 
45
45
  // bin/pushary-codex-bridge.ts