pushary 1.9.62 → 1.9.63

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 (123) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/README.md +1 -1
  3. package/dist/{api-7HLZRIUV.js → api-UHUUAONF.js} +10 -10
  4. package/dist/bin/pushary-bell-hook.js +27 -27
  5. package/dist/bin/pushary-bell.js +12 -12
  6. package/dist/bin/pushary-claude.js +28 -28
  7. package/dist/bin/pushary-clean.js +35 -34
  8. package/dist/bin/pushary-codex-bridge.js +21 -21
  9. package/dist/bin/pushary-codex-hook.js +35 -35
  10. package/dist/bin/pushary-codex-session.js +8 -8
  11. package/dist/bin/pushary-codex.js +14 -14
  12. package/dist/bin/pushary-connect.js +27 -27
  13. package/dist/bin/pushary-cowork.js +5 -5
  14. package/dist/bin/pushary-daemon.js +39 -38
  15. package/dist/bin/pushary-disconnect.js +30 -29
  16. package/dist/bin/pushary-doctor.js +45 -43
  17. package/dist/bin/pushary-elicitation-hook.js +28 -28
  18. package/dist/bin/pushary-gemini-bridge.js +15 -15
  19. package/dist/bin/pushary-gemini-hook.js +30 -30
  20. package/dist/bin/pushary-hook.js +31 -31
  21. package/dist/bin/pushary-login.js +27 -15
  22. package/dist/bin/pushary-logout.js +28 -28
  23. package/dist/bin/pushary-mcp.js +11 -11
  24. package/dist/bin/pushary-mode.js +14 -14
  25. package/dist/bin/pushary-notification-hook.js +26 -26
  26. package/dist/bin/pushary-opencode-hook.js +29 -29
  27. package/dist/bin/pushary-permission-denied-hook.js +31 -31
  28. package/dist/bin/pushary-permission-hook.js +30 -30
  29. package/dist/bin/pushary-post-hook.js +26 -26
  30. package/dist/bin/pushary-prompt-hook.js +26 -26
  31. package/dist/bin/pushary-session-end-hook.js +26 -26
  32. package/dist/bin/pushary-session-start-hook.js +34 -33
  33. package/dist/bin/pushary-setup.js +114 -4204
  34. package/dist/bin/pushary-stats.js +5 -5
  35. package/dist/bin/pushary-status.js +32 -32
  36. package/dist/bin/pushary-stop-hook.js +26 -26
  37. package/dist/bin/pushary-stopfailure-hook.js +26 -26
  38. package/dist/bin/pushary-suggestions.js +14 -14
  39. package/dist/bin/pushary-transcript-register.js +18 -18
  40. package/dist/bin/pushary-transcripts.js +62 -9
  41. package/dist/bin/pushary-upgrade.js +43 -41
  42. package/dist/bin/pushary-wait.js +14 -14
  43. package/dist/bin/pushary.js +7 -7
  44. package/dist/{chunk-67Q3Q5IO.js → chunk-2MZ6ROWZ.js} +6 -6
  45. package/dist/{chunk-7GU4PXE5.js → chunk-3GVV7XVT.js} +1 -1
  46. package/dist/{chunk-557ZE5EX.js → chunk-3QLFB2EY.js} +4 -4
  47. package/dist/{chunk-5R23J52J.js → chunk-4WFAP6QN.js} +10 -10
  48. package/dist/{chunk-UWCPY4RY.js → chunk-5JK3DQGZ.js} +2 -2
  49. package/dist/{chunk-CFIQ3252.js → chunk-5LOP4AVD.js} +3 -3
  50. package/dist/{chunk-FG5HMJ7C.js → chunk-6Z2VR3BA.js} +4 -2
  51. package/dist/{chunk-OZRT64BB.js → chunk-75ODMNOM.js} +1 -1
  52. package/dist/{chunk-4K6YZPZ3.js → chunk-7GRQGXF4.js} +1 -1
  53. package/dist/{chunk-FXECTHAG.js → chunk-7NCLUA65.js} +26 -4
  54. package/dist/{chunk-Q4WTIKM6.js → chunk-AB3VAQ25.js} +3 -3
  55. package/dist/{chunk-7ETELRQX.js → chunk-BCVCUDFI.js} +16 -5
  56. package/dist/{chunk-LCNN7UOE.js → chunk-BQFL2ECS.js} +3 -3
  57. package/dist/{chunk-DFKEJARZ.js → chunk-BUQU3OPX.js} +1 -1
  58. package/dist/{chunk-RFCEVROB.js → chunk-CLABCSZC.js} +4 -4
  59. package/dist/{chunk-LILS32LF.js → chunk-DMNLFWGY.js} +7 -108
  60. package/dist/{chunk-SDOWT67G.js → chunk-EHHTQURL.js} +5 -5
  61. package/dist/{chunk-ESXGCZDA.js → chunk-ELAK46NR.js} +4 -4
  62. package/dist/{chunk-ZJFJUAHS.js → chunk-EQ26IKZM.js} +6 -6
  63. package/dist/{chunk-NZLQ6GMX.js → chunk-FAF5AW3P.js} +9 -9
  64. package/dist/{chunk-A4CZPUQ6.js → chunk-FEAGK25K.js} +1 -1
  65. package/dist/{chunk-3LBB7GVF.js → chunk-GNUARBRZ.js} +4 -4
  66. package/dist/{chunk-AFV3FQNG.js → chunk-GZS72NCF.js} +4 -4
  67. package/dist/{chunk-3YGUWPNZ.js → chunk-HAIXS4OX.js} +2 -2
  68. package/dist/{chunk-TMHE5CVX.js → chunk-HOIO66DU.js} +3 -3
  69. package/dist/{chunk-NAZRRXZM.js → chunk-HZ72EMJE.js} +2 -2
  70. package/dist/{chunk-W3CBFLIX.js → chunk-IOH2T3CB.js} +17 -3
  71. package/dist/chunk-KEPESIIR.js +4117 -0
  72. package/dist/{chunk-3IFCXMC6.js → chunk-KL76XWZ7.js} +1 -1
  73. package/dist/{chunk-F35YILEN.js → chunk-KLZZI5TU.js} +1 -1
  74. package/dist/{chunk-GV43RXR2.js → chunk-KUCL7ETL.js} +1 -1
  75. package/dist/{chunk-G3ZDCYMU.js → chunk-L5CDGXPO.js} +3 -3
  76. package/dist/{chunk-EA6574W2.js → chunk-LGZ545TA.js} +5 -5
  77. package/dist/{chunk-6HIYOY6I.js → chunk-LTT54NOU.js} +8 -8
  78. package/dist/{chunk-6YSEOXP5.js → chunk-MK4USZYQ.js} +2 -2
  79. package/dist/{chunk-FX7KDF47.js → chunk-MRCVYYPW.js} +3 -3
  80. package/dist/{chunk-ZEDGKCCM.js → chunk-OJEIS5L2.js} +1 -1
  81. package/dist/{chunk-GFAG72LR.js → chunk-OP5IBEV7.js} +7 -3
  82. package/dist/{chunk-SJCPIYWJ.js → chunk-OU3BYBJ3.js} +2 -2
  83. package/dist/{chunk-W6MYFAOK.js → chunk-OW6VBXXI.js} +15 -15
  84. package/dist/{chunk-R3CLBNST.js → chunk-OY6Z4IKB.js} +1 -1
  85. package/dist/{chunk-SJJYXMJP.js → chunk-P6RF4RQN.js} +6 -6
  86. package/dist/{chunk-7E2ZN7XA.js → chunk-PIQ4HHA2.js} +5 -5
  87. package/dist/{chunk-VF3IL56Q.js → chunk-PJ34FOIV.js} +4 -4
  88. package/dist/{chunk-LWR5VKNC.js → chunk-PXAOEFJZ.js} +11 -11
  89. package/dist/{chunk-7EHZXZB2.js → chunk-QC2W42DE.js} +12 -12
  90. package/dist/{chunk-7NXB7OVX.js → chunk-RAJ3QEIL.js} +1 -1
  91. package/dist/chunk-S2Z6VWHH.js +112 -0
  92. package/dist/{chunk-MYEALNW6.js → chunk-SARPHHTT.js} +1 -1
  93. package/dist/{chunk-7NJ4TDUH.js → chunk-SKUSGWFK.js} +5 -5
  94. package/dist/{chunk-YQK72JGV.js → chunk-T3GHXR6N.js} +5 -5
  95. package/dist/{chunk-EUNSJKJJ.js → chunk-T6XQNOZV.js} +22 -15
  96. package/dist/{chunk-RSNN2TPE.js → chunk-TBKHQWIH.js} +9 -9
  97. package/dist/{chunk-M7MEVILL.js → chunk-TMGJAFSD.js} +4 -4
  98. package/dist/{chunk-PSCXEH42.js → chunk-V5W3CK7F.js} +2 -2
  99. package/dist/{chunk-UUAVYIWJ.js → chunk-V7N5NOZV.js} +4 -2
  100. package/dist/{chunk-LL2KHEJH.js → chunk-VC3HFFMQ.js} +1 -1
  101. package/dist/{chunk-QIPW7OVB.js → chunk-VDBXSUXP.js} +6 -6
  102. package/dist/{chunk-HSRNWCXJ.js → chunk-VFJSVPNL.js} +3 -3
  103. package/dist/{chunk-RU37NSZH.js → chunk-VHZAJ6IB.js} +3 -3
  104. package/dist/{chunk-BIUSODLS.js → chunk-VN7XH6TU.js} +2 -2
  105. package/dist/{chunk-EO6CL4PD.js → chunk-WUOOZE5S.js} +2 -2
  106. package/dist/{chunk-6JAWNRDR.js → chunk-XBTWG2VL.js} +4 -4
  107. package/dist/{chunk-MURJ4WAL.js → chunk-XE5N352V.js} +1 -1
  108. package/dist/{chunk-44FNEAXK.js → chunk-XO3KAH7K.js} +1 -1
  109. package/dist/{chunk-EVZDYG7L.js → chunk-YK6GR4GU.js} +2 -2
  110. package/dist/{chunk-FYS27SUS.js → chunk-YMZOM6BD.js} +6 -6
  111. package/dist/{codex-app-cards-switch-IIL7IPP6.js → codex-app-cards-switch-LXMAIOFB.js} +11 -11
  112. package/dist/{codex-desktop-launch-XCLMYVBD.js → codex-desktop-launch-VE5RLFUU.js} +1 -1
  113. package/dist/{codex-session-launch-UMVALJ3A.js → codex-session-launch-XZZWXCPK.js} +18 -18
  114. package/dist/{config-5N3GUJD5.js → config-PPX25AV5.js} +3 -3
  115. package/dist/{global-upgrade-5F4CSXED.js → global-upgrade-NRMHNLNU.js} +9 -9
  116. package/dist/{identity-7ULYW4RL.js → identity-ZFQR7JNW.js} +4 -4
  117. package/dist/{live-capabilities-QTSFXA6T.js → live-capabilities-SJRYRKNB.js} +4 -4
  118. package/dist/{paths-HEMK2ALW.js → paths-7VTVOQXJ.js} +3 -3
  119. package/dist/{reapply-AMFKVYZV.js → reapply-WOANOIRZ.js} +27 -26
  120. package/dist/src/index.js +21 -21
  121. package/dist/{upgrade-lock-IAZC5644.js → upgrade-lock-VAYJZVTB.js} +4 -4
  122. package/dist/{usage-NEFDYSRT.js → usage-C4DIYUR6.js} +3 -3
  123. package/package.json +1 -1
@@ -2,24 +2,24 @@ import {
2
2
  CLAUDE_HOOK_EVENTS,
3
3
  GEMINI_HOOK_EVENTS,
4
4
  hasGeminiHooks
5
- } from "./chunk-LCNN7UOE.js";
5
+ } from "./chunk-BQFL2ECS.js";
6
6
  import {
7
7
  AGENT_CHOICES
8
- } from "./chunk-MURJ4WAL.js";
8
+ } from "./chunk-XE5N352V.js";
9
9
  import {
10
10
  BELL_HOOK_BINARY
11
- } from "./chunk-F35YILEN.js";
11
+ } from "./chunk-KLZZI5TU.js";
12
12
  import {
13
13
  CODEX_HOOK_EVENTS,
14
14
  HOOK_SHELL,
15
15
  hasCodexHooks,
16
16
  holdBudgetOf
17
- } from "./chunk-6YSEOXP5.js";
17
+ } from "./chunk-MK4USZYQ.js";
18
18
  import {
19
19
  CURSOR_GATE_EVENTS,
20
20
  HOOK_LOCATOR_BINARY,
21
21
  hookCommandHoldBudget
22
- } from "./chunk-FXECTHAG.js";
22
+ } from "./chunk-7NCLUA65.js";
23
23
 
24
24
  // src/diagnostics/bridge.ts
25
25
  import { execFileSync } from "child_process";
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  APPROVAL_SETTINGS_PATH
3
- } from "./chunk-AFV3FQNG.js";
3
+ } from "./chunk-GZS72NCF.js";
4
4
  import {
5
5
  readMacAppAgentKey
6
- } from "./chunk-QIPW7OVB.js";
6
+ } from "./chunk-VDBXSUXP.js";
7
7
  import {
8
8
  findExportedKeyLines,
9
9
  isAdoptedMacAppKey,
@@ -13,13 +13,13 @@ import {
13
13
  readConfigFileKey,
14
14
  readKeySource,
15
15
  readMacAppKeyPrefix
16
- } from "./chunk-W3CBFLIX.js";
16
+ } from "./chunk-IOH2T3CB.js";
17
17
  import {
18
18
  absoluteUrl
19
- } from "./chunk-Q4WTIKM6.js";
19
+ } from "./chunk-AB3VAQ25.js";
20
20
  import {
21
21
  isValidApiKey
22
- } from "./chunk-FXECTHAG.js";
22
+ } from "./chunk-7NCLUA65.js";
23
23
 
24
24
  // src/key-revocation.ts
25
25
  var SELF_REVOKE_PATH = "/api/v1/server/keys/self/revoke";
@@ -6,39 +6,40 @@ import {
6
6
  } from "./chunk-QW3FRUFB.js";
7
7
  import {
8
8
  ensureDaemonRunning
9
- } from "./chunk-5R23J52J.js";
9
+ } from "./chunk-4WFAP6QN.js";
10
10
  import {
11
11
  hookOwnerOf
12
- } from "./chunk-7NJ4TDUH.js";
12
+ } from "./chunk-SKUSGWFK.js";
13
13
  import {
14
14
  buildTranscriptRecords,
15
15
  decodePublicKey,
16
16
  generateSessionKey,
17
+ recordSealerFor,
17
18
  wrapSessionKey
18
- } from "./chunk-7ETELRQX.js";
19
+ } from "./chunk-BCVCUDFI.js";
19
20
  import {
20
21
  fetchTranscriptRecipients,
21
22
  uploadTranscriptRecords
22
- } from "./chunk-UUAVYIWJ.js";
23
+ } from "./chunk-V7N5NOZV.js";
23
24
  import {
24
25
  transcriptEnvironmentPreference,
25
26
  transcriptsEnabled
26
- } from "./chunk-ZEDGKCCM.js";
27
+ } from "./chunk-OJEIS5L2.js";
27
28
  import {
28
29
  readTranscriptPreference
29
- } from "./chunk-W3CBFLIX.js";
30
+ } from "./chunk-IOH2T3CB.js";
31
+ import {
32
+ writeJsonAtomic
33
+ } from "./chunk-QENTGE75.js";
30
34
  import {
31
35
  claudeConfigDir,
32
36
  codexHome,
33
37
  pusharyDir
34
- } from "./chunk-6YSEOXP5.js";
35
- import {
36
- writeJsonAtomic
37
- } from "./chunk-QENTGE75.js";
38
+ } from "./chunk-MK4USZYQ.js";
38
39
  import {
39
40
  getApiKey,
40
41
  getBaseUrl
41
- } from "./chunk-DFKEJARZ.js";
42
+ } from "./chunk-BUQU3OPX.js";
42
43
 
43
44
  // src/transcript-registration.ts
44
45
  import { createHash } from "crypto";
@@ -117,6 +118,7 @@ var loadSessionKey = (sessionId, directory = sessionDir()) => {
117
118
  wrappedKey: typeof raw.wrappedKey === "string" ? raw.wrappedKey : null,
118
119
  providerWrappedKey: typeof raw.providerWrappedKey === "string" ? raw.providerWrappedKey : null,
119
120
  providerKeyId: typeof raw.providerKeyId === "string" ? raw.providerKeyId : null,
121
+ compressRecords: raw.compressRecords === true,
120
122
  keyUploaded: raw.keyUploaded === true
121
123
  };
122
124
  } catch {
@@ -135,6 +137,7 @@ var saveSessionKey = (sessionId, value, directory = sessionDir()) => {
135
137
  wrappedKey: value.wrappedKey,
136
138
  providerWrappedKey: value.providerWrappedKey,
137
139
  providerKeyId: value.providerKeyId,
140
+ compressRecords: value.compressRecords,
138
141
  keyUploaded: value.keyUploaded
139
142
  }),
140
143
  { mode: 384 }
@@ -173,6 +176,7 @@ var createSyncState = () => ({
173
176
  wrappedKey: null,
174
177
  providerWrappedKey: null,
175
178
  providerKeyId: null,
179
+ compressRecords: false,
176
180
  seen: /* @__PURE__ */ new Set(),
177
181
  keyUploaded: false,
178
182
  keyRejected: false,
@@ -189,17 +193,18 @@ var withSessionKey = async (state, uploader) => {
189
193
  sessionKey,
190
194
  wrappedKey: wrapSessionKey(sessionKey, decodePublicKey(recipients.phonePublicKey)),
191
195
  providerWrappedKey: recipients.provider ? wrapSessionKey(sessionKey, decodePublicKey(recipients.provider.publicKey)) : state.providerWrappedKey,
192
- providerKeyId: recipients.provider ? recipients.provider.keyId : state.providerKeyId
196
+ providerKeyId: recipients.provider ? recipients.provider.keyId : state.providerKeyId,
197
+ compressRecords: recipients.phoneReadsCompressedRecords
193
198
  };
194
199
  };
195
200
  var syncTick = async (lines, state, uploader, sessionId, machineId) => {
196
201
  if (state.keyRejected) return state;
197
202
  const keyed = await withSessionKey(state, uploader);
198
- const { sessionKey, wrappedKey, providerWrappedKey, providerKeyId } = keyed;
203
+ const { sessionKey, wrappedKey, providerWrappedKey, providerKeyId, compressRecords } = keyed;
199
204
  if (!sessionKey) return state;
200
- const built = buildTranscriptRecords(lines, sessionKey, state.seen);
205
+ const built = buildTranscriptRecords(lines, sessionKey, state.seen, recordSealerFor(compressRecords));
201
206
  if (built.records.length === 0) {
202
- return { ...state, sessionKey, wrappedKey, providerWrappedKey, providerKeyId, seen: built.seen, unsettled: 0 };
207
+ return { ...state, sessionKey, wrappedKey, providerWrappedKey, providerKeyId, compressRecords, seen: built.seen, unsettled: 0 };
203
208
  }
204
209
  const seen = new Set(state.seen);
205
210
  let keyUploaded = state.keyUploaded;
@@ -237,6 +242,7 @@ var syncTick = async (lines, state, uploader, sessionId, machineId) => {
237
242
  wrappedKey,
238
243
  providerWrappedKey,
239
244
  providerKeyId,
245
+ compressRecords,
240
246
  seen,
241
247
  keyUploaded,
242
248
  keyRejected,
@@ -384,6 +390,7 @@ var startTranscriptSync = (opts) => {
384
390
  wrappedKey: state.wrappedKey,
385
391
  providerWrappedKey: state.providerWrappedKey,
386
392
  providerKeyId: state.providerKeyId,
393
+ compressRecords: state.compressRecords,
387
394
  keyUploaded: state.keyUploaded
388
395
  }, opts.storage?.sessionKeyDirectory);
389
396
  };
@@ -1,23 +1,23 @@
1
- import {
2
- McpToolError,
3
- SubscriptionRequiredError,
4
- callMcpTool
5
- } from "./chunk-ESXGCZDA.js";
6
1
  import {
7
2
  CLIENT_REPORT_DISABLE_ENV,
8
3
  isDisabledByEnv
9
4
  } from "./chunk-POFBE6ZY.js";
5
+ import {
6
+ McpToolError,
7
+ SubscriptionRequiredError,
8
+ callMcpTool
9
+ } from "./chunk-ELAK46NR.js";
10
10
  import {
11
11
  installNetworkDefaults,
12
12
  isNetworkFailure
13
- } from "./chunk-HSRNWCXJ.js";
13
+ } from "./chunk-VFJSVPNL.js";
14
14
  import {
15
15
  clientReportClaims
16
- } from "./chunk-6YSEOXP5.js";
16
+ } from "./chunk-MK4USZYQ.js";
17
17
  import {
18
18
  getApiKey,
19
19
  getBaseUrl
20
- } from "./chunk-DFKEJARZ.js";
20
+ } from "./chunk-BUQU3OPX.js";
21
21
  import {
22
22
  ASK_AGENT_NAME_MAX,
23
23
  CLIENT_REPORT_PATH,
@@ -26,7 +26,7 @@ import {
26
26
  TOOL_FAILURE_CODES,
27
27
  degradedLine,
28
28
  truncateLine
29
- } from "./chunk-FXECTHAG.js";
29
+ } from "./chunk-7NCLUA65.js";
30
30
 
31
31
  // src/api.ts
32
32
  import { randomUUID } from "crypto";
@@ -1,16 +1,16 @@
1
1
  import {
2
2
  notificationAnswerStep
3
- } from "./chunk-RU37NSZH.js";
3
+ } from "./chunk-VHZAJ6IB.js";
4
4
  import {
5
5
  matchMacAccountStep,
6
6
  retryAgentCommand
7
- } from "./chunk-LILS32LF.js";
7
+ } from "./chunk-S2Z6VWHH.js";
8
8
  import {
9
9
  EXIT
10
10
  } from "./chunk-KZERVKTD.js";
11
11
  import {
12
12
  NPX_LATEST_COMMAND
13
- } from "./chunk-FG5HMJ7C.js";
13
+ } from "./chunk-6Z2VR3BA.js";
14
14
 
15
15
  // src/setup/closing.ts
16
16
  var ACTIVITY_URL = "pushary.com/dashboard/agent/activity";
@@ -20,7 +20,7 @@ var sendAnotherTestLines = (appPlatforms) => {
20
20
  const step = notificationAnswerStep(appPlatforms);
21
21
  return step === null ? [CHECK_THE_NOTIFICATION_OPENED, SEND_ANOTHER_TEST] : [SEND_ANOTHER_TEST, step];
22
22
  };
23
- var TRANSCRIPT_SYNC_NOTICE = `Transcripts sync redacted and encrypted. Your phone can decrypt them; authorized Pushary compliance admins can recover them for documented legal obligations. Turn off: ${NPX_LATEST_COMMAND} setup --transcripts off`;
23
+ var TRANSCRIPT_SYNC_NOTICE = `Transcripts sync redacted and encrypted. Your phone can decrypt them; authorized Pushary compliance admins can recover them for documented legal obligations. Turn off: ${NPX_LATEST_COMMAND} transcripts off`;
24
24
  var PAIR_PHONE_APP_HINT = `${NPX_LATEST_COMMAND} setup --connect app pair the Pushary app on your phone`;
25
25
  var RESTART_AGENTS_LINE = "Restart any open agent sessions so they pick up Pushary.";
26
26
  var ANSWERING_DEVICES = {
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  configFilePath
3
- } from "./chunk-DFKEJARZ.js";
3
+ } from "./chunk-BUQU3OPX.js";
4
4
  import {
5
5
  normalizeInstallSource
6
- } from "./chunk-FXECTHAG.js";
6
+ } from "./chunk-7NCLUA65.js";
7
7
 
8
8
  // src/install-source.ts
9
9
  import { readFileSync } from "fs";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  getBaseUrl
3
- } from "./chunk-DFKEJARZ.js";
3
+ } from "./chunk-BUQU3OPX.js";
4
4
 
5
5
  // src/transcript-api.ts
6
6
  var fetchTranscriptRecipients = async (apiKey, baseUrl = getBaseUrl()) => {
@@ -12,14 +12,16 @@ var fetchTranscriptRecipients = async (apiKey, baseUrl = getBaseUrl()) => {
12
12
  if (!res.ok) return null;
13
13
  const data = await res.json();
14
14
  if (typeof data.publicKey !== "string" || data.publicKey.length === 0) return null;
15
+ const phoneReadsCompressedRecords = data.readsCompressedRecords === true;
15
16
  if (data.providerRecovery === void 0 || data.providerRecovery === null) {
16
- return { phonePublicKey: data.publicKey, provider: null };
17
+ return { phonePublicKey: data.publicKey, phoneReadsCompressedRecords, provider: null };
17
18
  }
18
19
  if (typeof data.providerRecovery !== "object") return null;
19
20
  const provider = data.providerRecovery;
20
21
  if (typeof provider.required !== "boolean" || typeof provider.keyId !== "string" || provider.keyId.length === 0 || typeof provider.publicKey !== "string" || provider.publicKey.length === 0) return null;
21
22
  return {
22
23
  phonePublicKey: data.publicKey,
24
+ phoneReadsCompressedRecords,
23
25
  provider: { required: provider.required, keyId: provider.keyId, publicKey: provider.publicKey }
24
26
  };
25
27
  } catch {
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  PRETOOLUSE_GATED_TOOLS
3
- } from "./chunk-FXECTHAG.js";
3
+ } from "./chunk-7NCLUA65.js";
4
4
 
5
5
  // src/claude-tools.ts
6
6
  var POSTTOOLUSE_MIRROR_ONLY_TOOLS = ["TodoWrite", "Task", "WebFetch", "WebSearch"];
@@ -1,18 +1,18 @@
1
1
  import {
2
2
  macAppBridgeAvailable
3
- } from "./chunk-6HIYOY6I.js";
3
+ } from "./chunk-LTT54NOU.js";
4
4
  import {
5
5
  keyPrefix
6
- } from "./chunk-W3CBFLIX.js";
7
- import {
8
- bridgeAgentKey
9
- } from "./chunk-6YSEOXP5.js";
6
+ } from "./chunk-IOH2T3CB.js";
10
7
  import {
11
8
  readJsonSafe
12
9
  } from "./chunk-QENTGE75.js";
10
+ import {
11
+ bridgeAgentKey
12
+ } from "./chunk-MK4USZYQ.js";
13
13
  import {
14
14
  isValidApiKey
15
- } from "./chunk-FXECTHAG.js";
15
+ } from "./chunk-7NCLUA65.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,19 +1,19 @@
1
1
  import {
2
2
  readExistingMachineId
3
- } from "./chunk-G3ZDCYMU.js";
3
+ } from "./chunk-L5CDGXPO.js";
4
4
  import {
5
5
  NetworkError
6
6
  } from "./chunk-PPY5N2E6.js";
7
7
  import {
8
8
  getBaseUrl
9
- } from "./chunk-DFKEJARZ.js";
9
+ } from "./chunk-BUQU3OPX.js";
10
10
  import {
11
11
  getPackageVersion
12
12
  } from "./chunk-QTOLNRET.js";
13
13
  import {
14
14
  clientContextHeaders,
15
15
  redactSecretsFromContent
16
- } from "./chunk-FXECTHAG.js";
16
+ } from "./chunk-7NCLUA65.js";
17
17
 
18
18
  // src/cli/net.ts
19
19
  import { createRequire } from "module";
@@ -1,13 +1,13 @@
1
1
  import {
2
2
  callMcpTool
3
- } from "./chunk-ESXGCZDA.js";
3
+ } from "./chunk-ELAK46NR.js";
4
4
  import {
5
5
  NPX_LATEST_COMMAND
6
- } from "./chunk-FG5HMJ7C.js";
6
+ } from "./chunk-6Z2VR3BA.js";
7
7
  import {
8
8
  classifyConfirmResponse,
9
9
  isAnswerSource
10
- } from "./chunk-FXECTHAG.js";
10
+ } from "./chunk-7NCLUA65.js";
11
11
 
12
12
  // src/reach.ts
13
13
  var reachVerdict = (channels) => {
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  CODEX_HOOK_STATUS
3
- } from "./chunk-EVZDYG7L.js";
3
+ } from "./chunk-YK6GR4GU.js";
4
4
  import {
5
5
  NPX_LATEST_COMMAND
6
- } from "./chunk-FG5HMJ7C.js";
6
+ } from "./chunk-6Z2VR3BA.js";
7
7
 
8
8
  // src/setup/codex-trust.ts
9
9
  var CODEX_TRUST_TELEMETRY = {
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  parseSseMessages
3
- } from "./chunk-ESXGCZDA.js";
3
+ } from "./chunk-ELAK46NR.js";
4
4
  import {
5
5
  NPX_LATEST_COMMAND
6
- } from "./chunk-FG5HMJ7C.js";
6
+ } from "./chunk-6Z2VR3BA.js";
7
7
 
8
8
  // src/mcp-stdio-bridge.ts
9
9
  var MCP_BRIDGE_BINARY = "pushary-mcp";
@@ -1,10 +1,10 @@
1
- import {
2
- pusharyDir
3
- } from "./chunk-6YSEOXP5.js";
4
1
  import {
5
2
  readJsonSafe,
6
3
  writeFileAtomic
7
4
  } from "./chunk-QENTGE75.js";
5
+ import {
6
+ pusharyDir
7
+ } from "./chunk-MK4USZYQ.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-FXECTHAG.js";
16
+ } from "./chunk-7NCLUA65.js";
17
17
 
18
18
  // src/declined-agents-file.ts
19
19
  import { join } from "path";
@@ -10,7 +10,7 @@ import {
10
10
  isSetupConnectMode,
11
11
  isValidApiKey,
12
12
  normalizeAgentId
13
- } from "./chunk-FXECTHAG.js";
13
+ } from "./chunk-7NCLUA65.js";
14
14
 
15
15
  // src/setup/options.ts
16
16
  var AGENT_CHOICES = SETUP_AGENT_CHOICES;
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  isSafeReadOnlyCommand
3
- } from "./chunk-FXECTHAG.js";
3
+ } from "./chunk-7NCLUA65.js";
4
4
 
5
5
  // src/ledger.ts
6
6
  import { appendFileSync, existsSync, mkdirSync, readFileSync, renameSync, rmSync, statSync } from "fs";
@@ -7,10 +7,10 @@ import {
7
7
  codexHome,
8
8
  codexHooksJsonIn,
9
9
  isPusharyCodexCommand
10
- } from "./chunk-6YSEOXP5.js";
10
+ } from "./chunk-MK4USZYQ.js";
11
11
  import {
12
12
  resolvePathBinary
13
- } from "./chunk-CFIQ3252.js";
13
+ } from "./chunk-5LOP4AVD.js";
14
14
  import {
15
15
  getPackageVersion
16
16
  } from "./chunk-QTOLNRET.js";
@@ -1,25 +1,25 @@
1
1
  import {
2
2
  registerTranscript
3
- } from "./chunk-EUNSJKJJ.js";
3
+ } from "./chunk-T6XQNOZV.js";
4
4
  import {
5
5
  namedEvent
6
- } from "./chunk-557ZE5EX.js";
6
+ } from "./chunk-3QLFB2EY.js";
7
7
  import {
8
8
  isBridgeLocator,
9
9
  liveBridgeProbe,
10
10
  pusharyHookExecutable,
11
11
  resolveBridgeStub
12
- } from "./chunk-7NJ4TDUH.js";
12
+ } from "./chunk-SKUSGWFK.js";
13
13
  import {
14
14
  atLeast,
15
15
  parseVersion
16
16
  } from "./chunk-6ICPEJY5.js";
17
17
  import {
18
18
  writeDegraded
19
- } from "./chunk-RSNN2TPE.js";
19
+ } from "./chunk-TBKHQWIH.js";
20
20
  import {
21
21
  cursorUserHooks
22
- } from "./chunk-6YSEOXP5.js";
22
+ } from "./chunk-MK4USZYQ.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-FXECTHAG.js";
36
+ } from "./chunk-7NCLUA65.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"];
@@ -22,23 +22,23 @@ import {
22
22
  turnCodexAppCardsOff,
23
23
  turnCodexAppCardsOn,
24
24
  whyLaunchctlFailed
25
- } from "./chunk-SJCPIYWJ.js";
26
- import "./chunk-UWCPY4RY.js";
25
+ } from "./chunk-OU3BYBJ3.js";
26
+ import "./chunk-5JK3DQGZ.js";
27
27
  import "./chunk-XCEN33UP.js";
28
28
  import "./chunk-QCGNGEGE.js";
29
- import "./chunk-5R23J52J.js";
29
+ import "./chunk-4WFAP6QN.js";
30
30
  import "./chunk-XHKBHWLX.js";
31
- import "./chunk-W3CBFLIX.js";
31
+ import "./chunk-IOH2T3CB.js";
32
32
  import "./chunk-E46NE7FB.js";
33
- import "./chunk-G3ZDCYMU.js";
34
- import "./chunk-PSCXEH42.js";
35
- import "./chunk-6YSEOXP5.js";
36
- import "./chunk-CFIQ3252.js";
33
+ import "./chunk-L5CDGXPO.js";
34
+ import "./chunk-V5W3CK7F.js";
37
35
  import "./chunk-QENTGE75.js";
38
- import "./chunk-DFKEJARZ.js";
39
- import "./chunk-FG5HMJ7C.js";
36
+ import "./chunk-MK4USZYQ.js";
37
+ import "./chunk-5LOP4AVD.js";
38
+ import "./chunk-BUQU3OPX.js";
39
+ import "./chunk-6Z2VR3BA.js";
40
40
  import "./chunk-QTOLNRET.js";
41
- import "./chunk-FXECTHAG.js";
41
+ import "./chunk-7NCLUA65.js";
42
42
  import "./chunk-MLKGABMK.js";
43
43
  export {
44
44
  CODEX_APP_CARDS_DIRECTORY,
@@ -11,7 +11,7 @@ import {
11
11
  installedCodexApp,
12
12
  shellQuoted,
13
13
  writeDesktopProxy
14
- } from "./chunk-UWCPY4RY.js";
14
+ } from "./chunk-5JK3DQGZ.js";
15
15
  import "./chunk-XCEN33UP.js";
16
16
  import {
17
17
  CODEX_APP_LAUNCH_VARIABLE
@@ -11,36 +11,36 @@ import {
11
11
  isCodexQuestionLeftWithTheLocalClient,
12
12
  planCodexElicitation,
13
13
  reportOwnedQuestion
14
- } from "./chunk-SJJYXMJP.js";
15
- import "./chunk-GFAG72LR.js";
16
- import "./chunk-TMHE5CVX.js";
17
- import "./chunk-R3CLBNST.js";
18
- import "./chunk-RFCEVROB.js";
14
+ } from "./chunk-P6RF4RQN.js";
15
+ import "./chunk-OP5IBEV7.js";
16
+ import "./chunk-HOIO66DU.js";
17
+ import "./chunk-OY6Z4IKB.js";
18
+ import "./chunk-CLABCSZC.js";
19
19
  import "./chunk-VUFHYMSP.js";
20
- import "./chunk-7ETELRQX.js";
21
- import "./chunk-UUAVYIWJ.js";
20
+ import "./chunk-BCVCUDFI.js";
21
+ import "./chunk-V7N5NOZV.js";
22
22
  import "./chunk-XHKBHWLX.js";
23
23
  import "./chunk-6ICPEJY5.js";
24
- import "./chunk-4K6YZPZ3.js";
24
+ import "./chunk-7GRQGXF4.js";
25
25
  import {
26
26
  writeDegraded
27
- } from "./chunk-RSNN2TPE.js";
28
- import "./chunk-ESXGCZDA.js";
27
+ } from "./chunk-TBKHQWIH.js";
29
28
  import "./chunk-POFBE6ZY.js";
30
- import "./chunk-Q4WTIKM6.js";
31
- import "./chunk-HSRNWCXJ.js";
32
- import "./chunk-G3ZDCYMU.js";
29
+ import "./chunk-ELAK46NR.js";
30
+ import "./chunk-AB3VAQ25.js";
31
+ import "./chunk-VFJSVPNL.js";
32
+ import "./chunk-L5CDGXPO.js";
33
33
  import "./chunk-PPY5N2E6.js";
34
34
  import "./chunk-KZERVKTD.js";
35
- import "./chunk-6YSEOXP5.js";
36
- import "./chunk-CFIQ3252.js";
37
35
  import "./chunk-QENTGE75.js";
38
- import "./chunk-DFKEJARZ.js";
39
- import "./chunk-FG5HMJ7C.js";
36
+ import "./chunk-MK4USZYQ.js";
37
+ import "./chunk-5LOP4AVD.js";
38
+ import "./chunk-BUQU3OPX.js";
39
+ import "./chunk-6Z2VR3BA.js";
40
40
  import "./chunk-QTOLNRET.js";
41
41
  import {
42
42
  canonicalJsonText
43
- } from "./chunk-FXECTHAG.js";
43
+ } from "./chunk-7NCLUA65.js";
44
44
  import "./chunk-MLKGABMK.js";
45
45
 
46
46
  // src/codex-session-launch.ts
@@ -3,9 +3,9 @@ import {
3
3
  getApiKey,
4
4
  getBaseUrl,
5
5
  resetKeyDriftWarning
6
- } from "./chunk-DFKEJARZ.js";
7
- import "./chunk-FG5HMJ7C.js";
8
- import "./chunk-FXECTHAG.js";
6
+ } from "./chunk-BUQU3OPX.js";
7
+ import "./chunk-6Z2VR3BA.js";
8
+ import "./chunk-7NCLUA65.js";
9
9
  import "./chunk-MLKGABMK.js";
10
10
  export {
11
11
  configFilePath,
@@ -7,21 +7,21 @@ import {
7
7
  recordUnfinishedUpgrade,
8
8
  upgradeInstalledPackage,
9
9
  withUpgradeLock
10
- } from "./chunk-ZJFJUAHS.js";
11
- import "./chunk-7E2ZN7XA.js";
12
- import "./chunk-TMHE5CVX.js";
13
- import "./chunk-R3CLBNST.js";
10
+ } from "./chunk-EQ26IKZM.js";
11
+ import "./chunk-PIQ4HHA2.js";
12
+ import "./chunk-HOIO66DU.js";
13
+ import "./chunk-OY6Z4IKB.js";
14
14
  import "./chunk-VUFHYMSP.js";
15
- import "./chunk-VF3IL56Q.js";
15
+ import "./chunk-PJ34FOIV.js";
16
16
  import "./chunk-6ICPEJY5.js";
17
17
  import "./chunk-POFBE6ZY.js";
18
18
  import "./chunk-KZERVKTD.js";
19
- import "./chunk-6YSEOXP5.js";
20
- import "./chunk-CFIQ3252.js";
21
19
  import "./chunk-QENTGE75.js";
22
- import "./chunk-FG5HMJ7C.js";
20
+ import "./chunk-MK4USZYQ.js";
21
+ import "./chunk-5LOP4AVD.js";
22
+ import "./chunk-6Z2VR3BA.js";
23
23
  import "./chunk-QTOLNRET.js";
24
- import "./chunk-FXECTHAG.js";
24
+ import "./chunk-7NCLUA65.js";
25
25
  import "./chunk-MLKGABMK.js";
26
26
  export {
27
27
  finishGlobalUpgrade,
@@ -2,12 +2,12 @@ import {
2
2
  getMachineId,
3
3
  getOrCreateMachineId,
4
4
  readExistingMachineId
5
- } from "./chunk-G3ZDCYMU.js";
6
- import "./chunk-6YSEOXP5.js";
7
- import "./chunk-CFIQ3252.js";
5
+ } from "./chunk-L5CDGXPO.js";
8
6
  import "./chunk-QENTGE75.js";
7
+ import "./chunk-MK4USZYQ.js";
8
+ import "./chunk-5LOP4AVD.js";
9
9
  import "./chunk-QTOLNRET.js";
10
- import "./chunk-FXECTHAG.js";
10
+ import "./chunk-7NCLUA65.js";
11
11
  import "./chunk-MLKGABMK.js";
12
12
  export {
13
13
  getMachineId,