pushary 1.9.70 → 1.9.72

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 (126) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/{api-KUJYE5YZ.js → api-K4UGZNOE.js} +10 -10
  3. package/dist/bin/pushary-bell-hook.js +25 -25
  4. package/dist/bin/pushary-bell.js +10 -10
  5. package/dist/bin/pushary-claude.js +202 -67
  6. package/dist/bin/pushary-clean.js +33 -33
  7. package/dist/bin/pushary-codex-bridge.js +23 -21
  8. package/dist/bin/pushary-codex-hook.js +30 -30
  9. package/dist/bin/pushary-codex-session.js +8 -8
  10. package/dist/bin/pushary-codex.js +13 -13
  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 +38 -38
  14. package/dist/bin/pushary-disconnect.js +25 -25
  15. package/dist/bin/pushary-doctor.js +41 -41
  16. package/dist/bin/pushary-elicitation-hook.js +25 -25
  17. package/dist/bin/pushary-gemini-bridge.js +45 -48
  18. package/dist/bin/pushary-gemini-hook.js +27 -27
  19. package/dist/bin/pushary-hook.js +29 -29
  20. package/dist/bin/pushary-login.js +20 -20
  21. package/dist/bin/pushary-logout.js +24 -24
  22. package/dist/bin/pushary-mcp.js +11 -11
  23. package/dist/bin/pushary-mode.js +15 -15
  24. package/dist/bin/pushary-notification-hook.js +24 -24
  25. package/dist/bin/pushary-opencode-hook.js +26 -26
  26. package/dist/bin/pushary-permission-denied-hook.js +29 -29
  27. package/dist/bin/pushary-permission-hook.js +29 -29
  28. package/dist/bin/pushary-post-hook.js +24 -24
  29. package/dist/bin/pushary-prompt-hook.js +24 -24
  30. package/dist/bin/pushary-session-end-hook.js +26 -26
  31. package/dist/bin/pushary-session-start-hook.js +34 -34
  32. package/dist/bin/pushary-setup.js +47 -46
  33. package/dist/bin/pushary-stats.js +5 -5
  34. package/dist/bin/pushary-status.js +31 -31
  35. package/dist/bin/pushary-stop-hook.js +24 -24
  36. package/dist/bin/pushary-stopfailure-hook.js +24 -24
  37. package/dist/bin/pushary-suggestions.js +15 -15
  38. package/dist/bin/pushary-transcript-register.js +16 -16
  39. package/dist/bin/pushary-transcripts.js +20 -19
  40. package/dist/bin/pushary-upgrade.js +39 -39
  41. package/dist/bin/pushary-wait.js +15 -15
  42. package/dist/bin/pushary.js +7 -7
  43. package/dist/{chunk-PK6WI4HH.js → chunk-2BVLEMGX.js} +5 -5
  44. package/dist/{chunk-LWFSXSRG.js → chunk-2KDTIUC7.js} +1 -1
  45. package/dist/{chunk-72ILLFCY.js → chunk-37OD7FUI.js} +6 -6
  46. package/dist/{chunk-AVKD5QS4.js → chunk-3S5X7VZJ.js} +5 -5
  47. package/dist/{chunk-AQA63ZWO.js → chunk-4TRA3GDE.js} +3 -3
  48. package/dist/{chunk-AUYMNTUX.js → chunk-4U7F7VMC.js} +4 -4
  49. package/dist/{chunk-OYFGZARB.js → chunk-4W7CKRWR.js} +3 -3
  50. package/dist/{chunk-SKTZKAGH.js → chunk-4Y7EI5W5.js} +1 -1
  51. package/dist/{chunk-A7GTEZGH.js → chunk-5KQN7AIL.js} +10 -10
  52. package/dist/{chunk-XZKSUJ55.js → chunk-5KS3E3T5.js} +1 -1
  53. package/dist/{chunk-RQOT6QL3.js → chunk-5XKJH5GD.js} +489 -16
  54. package/dist/{chunk-FZ2SHXUE.js → chunk-5XYYBB5Z.js} +2 -2
  55. package/dist/{chunk-C4EDAHXI.js → chunk-6HTAOF6H.js} +1 -1
  56. package/dist/{chunk-GZHQQP7J.js → chunk-6YZ72YP3.js} +4 -4
  57. package/dist/{chunk-X2MTVD4W.js → chunk-7KMLITXH.js} +1 -1
  58. package/dist/{chunk-32OSSYGZ.js → chunk-BMVWGPYB.js} +1 -1
  59. package/dist/{chunk-NWN6GGJL.js → chunk-CAUNUTYE.js} +2 -2
  60. package/dist/{chunk-SSJDAX4E.js → chunk-CR3HOHJC.js} +5 -5
  61. package/dist/{chunk-7XS44DQX.js → chunk-D6COE26P.js} +4 -4
  62. package/dist/{chunk-VHMZPN3N.js → chunk-DNCEZWRC.js} +1 -1
  63. package/dist/{chunk-FD6KOIT2.js → chunk-DU7L7R4A.js} +5 -5
  64. package/dist/{chunk-VIQ5OS5E.js → chunk-E56VJY23.js} +4 -4
  65. package/dist/{chunk-HZNZJTGH.js → chunk-EEFFP64A.js} +12 -11
  66. package/dist/{chunk-EAJUFO7Q.js → chunk-EEQG7VF2.js} +4 -4
  67. package/dist/{chunk-WOJW23ZD.js → chunk-EPARIXRC.js} +7 -7
  68. package/dist/{chunk-JQMERLQS.js → chunk-EW7CZHYP.js} +2 -2
  69. package/dist/{chunk-KVXX5M5A.js → chunk-GNDPZBG3.js} +6 -6
  70. package/dist/{chunk-OXOYS3UG.js → chunk-GUJBS6TK.js} +3 -3
  71. package/dist/{chunk-2LI3DF7Q.js → chunk-HIHA3GOR.js} +2 -2
  72. package/dist/{chunk-KHOWMC57.js → chunk-IBHZ3JFE.js} +3 -3
  73. package/dist/{chunk-GMHQYX3D.js → chunk-ILWEGI4H.js} +1 -1
  74. package/dist/{chunk-DJPNVVJQ.js → chunk-KFGRDWAW.js} +4 -4
  75. package/dist/{chunk-7YJSDXLM.js → chunk-KYEZFN6K.js} +1 -1
  76. package/dist/chunk-L2FQBHIR.js +74 -0
  77. package/dist/{chunk-2REVIFLS.js → chunk-L3S2ZTQZ.js} +2 -2
  78. package/dist/{chunk-4BXI6WJI.js → chunk-L6F62LKX.js} +3 -3
  79. package/dist/{chunk-NFWZVY25.js → chunk-LCBZLTHW.js} +4 -4
  80. package/dist/{chunk-YSOZVBFW.js → chunk-LFBQ55OO.js} +1 -1
  81. package/dist/{chunk-NSR6IFA6.js → chunk-LISVMDVS.js} +3 -3
  82. package/dist/{chunk-HGXWC4WT.js → chunk-LKXOSW2L.js} +4 -4
  83. package/dist/{chunk-UC2J5RR4.js → chunk-LT2DOCFI.js} +1 -1
  84. package/dist/{chunk-KLDUATG5.js → chunk-MWR25RQZ.js} +3 -3
  85. package/dist/{chunk-274CV7IW.js → chunk-N4NSX5MB.js} +2 -2
  86. package/dist/chunk-N5P2FLOJ.js +82 -0
  87. package/dist/{chunk-CPYVVEJP.js → chunk-N7A44RIA.js} +36 -35
  88. package/dist/{chunk-77L2TNJW.js → chunk-NVM4S37G.js} +1 -1
  89. package/dist/{chunk-7FWZNWIO.js → chunk-OFTTOPTD.js} +6 -6
  90. package/dist/{chunk-VKZ3RJ5U.js → chunk-OGGUOTIK.js} +1 -1
  91. package/dist/{chunk-7CW63ZK3.js → chunk-PIO66HPG.js} +3 -3
  92. package/dist/{chunk-D5G2HSQ6.js → chunk-PWVQALO2.js} +2 -2
  93. package/dist/{chunk-5UIA5GLL.js → chunk-PZV27E4J.js} +6 -6
  94. package/dist/{chunk-TXRV7AOA.js → chunk-QDISUNK3.js} +6 -6
  95. package/dist/{chunk-XLKO2XEG.js → chunk-QFF3QVIV.js} +2 -2
  96. package/dist/{chunk-5LQCADHK.js → chunk-QQ7VXRIN.js} +5 -5
  97. package/dist/{chunk-N2FDORN6.js → chunk-R4B5AVFC.js} +3 -3
  98. package/dist/{chunk-N2WAXSJY.js → chunk-RO5G3OEN.js} +10 -11
  99. package/dist/{chunk-QE22XDUK.js → chunk-RRW2LVVR.js} +2 -2
  100. package/dist/{chunk-PIGBU7D3.js → chunk-RXR44U2J.js} +5 -5
  101. package/dist/{chunk-YAA6MT6O.js → chunk-S6BD346V.js} +3 -3
  102. package/dist/{chunk-QZPRCMPV.js → chunk-SAXNYDPS.js} +1 -1
  103. package/dist/{chunk-ZK5WYAMI.js → chunk-SMVTNLXU.js} +1 -1
  104. package/dist/{chunk-CJ3W7XRU.js → chunk-TM4JH7YR.js} +1 -1
  105. package/dist/{chunk-UXN73YAE.js → chunk-UTVNXB6U.js} +3 -3
  106. package/dist/{chunk-FULXDMAP.js → chunk-VFF7TP5B.js} +3 -3
  107. package/dist/{chunk-DTENGECG.js → chunk-VZG76CWC.js} +1 -1
  108. package/dist/{chunk-54O76CMR.js → chunk-WHM3OVBA.js} +2 -2
  109. package/dist/{chunk-BRWU4NT4.js → chunk-XGGAZJWJ.js} +6 -6
  110. package/dist/{chunk-3HWDWR42.js → chunk-XHVHGDMB.js} +13 -13
  111. package/dist/{chunk-KEPESIIR.js → chunk-XMSDA5WA.js} +1 -70
  112. package/dist/{chunk-JWRDCANS.js → chunk-YDSOTAZ6.js} +3 -3
  113. package/dist/{chunk-METUT7V4.js → chunk-ZWCKS65X.js} +2 -2
  114. package/dist/{codex-app-cards-switch-GBTS3OQW.js → codex-app-cards-switch-PWLWIWKG.js} +11 -11
  115. package/dist/{codex-desktop-launch-S6OULJDZ.js → codex-desktop-launch-S3PDGLAY.js} +1 -1
  116. package/dist/{codex-session-launch-K2KE3AD5.js → codex-session-launch-PY5IMFJU.js} +20 -18
  117. package/dist/{config-OBGYURFX.js → config-SWV4YOP3.js} +3 -3
  118. package/dist/{global-upgrade-ZMWRPO5G.js → global-upgrade-DI3LGOQP.js} +10 -10
  119. package/dist/{identity-OLRKDYFR.js → identity-AY35DGAO.js} +4 -4
  120. package/dist/{live-capabilities-LZECCGFQ.js → live-capabilities-IH3EGKL3.js} +5 -5
  121. package/dist/{paths-YUF2TFTA.js → paths-I4Q77ULZ.js} +3 -3
  122. package/dist/{reapply-TRR4XB6N.js → reapply-OAV4IAG3.js} +27 -27
  123. package/dist/src/index.js +28 -28
  124. package/dist/{upgrade-lock-MSBKXUKM.js → upgrade-lock-7U5BOK6V.js} +4 -4
  125. package/dist/{usage-KX2HN47E.js → usage-NTER4GHT.js} +3 -3
  126. package/package.json +2 -1
@@ -4,13 +4,13 @@ import {
4
4
  configFailureKind,
5
5
  retryAgentCommand,
6
6
  writeSetupConfigFile
7
- } from "./chunk-N2FDORN6.js";
7
+ } from "./chunk-R4B5AVFC.js";
8
8
  import {
9
9
  MCP_BRIDGE_BINARY
10
- } from "./chunk-D5G2HSQ6.js";
10
+ } from "./chunk-PWVQALO2.js";
11
11
  import {
12
12
  KEY_FILE_MODE
13
- } from "./chunk-GZHQQP7J.js";
13
+ } from "./chunk-6YZ72YP3.js";
14
14
  import {
15
15
  CLINE_SERVER_NAME_TAKEN,
16
16
  CLINE_SETTINGS_REFUSALS,
@@ -32,13 +32,13 @@ import {
32
32
  withClinePusharyServer,
33
33
  withRefreshedClineKey,
34
34
  withoutClinePusharyServer
35
- } from "./chunk-274CV7IW.js";
35
+ } from "./chunk-N4NSX5MB.js";
36
36
  import {
37
37
  readJsonSafe,
38
38
  resolveGlobalBinary,
39
39
  writeFileAtomic,
40
40
  writeJsonAtomic
41
- } from "./chunk-OXOYS3UG.js";
41
+ } from "./chunk-GUJBS6TK.js";
42
42
 
43
43
  // src/fx-config.ts
44
44
  var FX_SERVER_NAME = "pushary";
@@ -1,19 +1,19 @@
1
1
  import {
2
2
  notificationAnswerStep
3
- } from "./chunk-BRWU4NT4.js";
3
+ } from "./chunk-XGGAZJWJ.js";
4
4
  import {
5
5
  canChangeApprovalSettings
6
- } from "./chunk-XLKO2XEG.js";
6
+ } from "./chunk-QFF3QVIV.js";
7
7
  import {
8
8
  matchMacAccountStep,
9
9
  retryAgentCommand
10
- } from "./chunk-N2FDORN6.js";
10
+ } from "./chunk-R4B5AVFC.js";
11
11
  import {
12
12
  EXIT
13
13
  } from "./chunk-KZERVKTD.js";
14
14
  import {
15
15
  NPX_LATEST_COMMAND
16
- } from "./chunk-X2MTVD4W.js";
16
+ } from "./chunk-7KMLITXH.js";
17
17
 
18
18
  // src/setup/closing.ts
19
19
  var ACTIVITY_URL = "pushary.com/dashboard/agent/activity";
@@ -7,7 +7,7 @@ import {
7
7
  } from "./chunk-KZERVKTD.js";
8
8
  import {
9
9
  redactSecretsFromContent
10
- } from "./chunk-RQOT6QL3.js";
10
+ } from "./chunk-5XKJH5GD.js";
11
11
 
12
12
  // src/cli/json.ts
13
13
  var writeStdoutFully = (text) => new Promise((resolve, reject) => {
@@ -6,18 +6,18 @@ import {
6
6
  McpToolError,
7
7
  SubscriptionRequiredError,
8
8
  callMcpTool
9
- } from "./chunk-VIQ5OS5E.js";
9
+ } from "./chunk-E56VJY23.js";
10
10
  import {
11
11
  installNetworkDefaults,
12
12
  isNetworkFailure
13
- } from "./chunk-KHOWMC57.js";
13
+ } from "./chunk-IBHZ3JFE.js";
14
14
  import {
15
15
  clientReportClaims
16
- } from "./chunk-274CV7IW.js";
16
+ } from "./chunk-N4NSX5MB.js";
17
17
  import {
18
18
  getApiKey,
19
19
  getBaseUrl
20
- } from "./chunk-32OSSYGZ.js";
20
+ } from "./chunk-BMVWGPYB.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-RQOT6QL3.js";
29
+ } from "./chunk-5XKJH5GD.js";
30
30
 
31
31
  // src/api.ts
32
32
  import { randomUUID } from "crypto";
@@ -1,17 +1,17 @@
1
1
  import {
2
2
  keyCheckFromResponse
3
- } from "./chunk-AQA63ZWO.js";
3
+ } from "./chunk-4TRA3GDE.js";
4
4
  import {
5
5
  installNetworkDefaults
6
- } from "./chunk-KHOWMC57.js";
6
+ } from "./chunk-IBHZ3JFE.js";
7
7
  import {
8
8
  getBaseUrl
9
- } from "./chunk-32OSSYGZ.js";
9
+ } from "./chunk-BMVWGPYB.js";
10
10
  import {
11
11
  isRecord,
12
12
  isToolErrorResult,
13
13
  toolFailureCodeOfResult
14
- } from "./chunk-RQOT6QL3.js";
14
+ } from "./chunk-5XKJH5GD.js";
15
15
 
16
16
  // src/retry.ts
17
17
  var isRetryable = (err) => {
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  repoKeyFor
3
- } from "./chunk-GMHQYX3D.js";
3
+ } from "./chunk-ILWEGI4H.js";
4
4
  import {
5
5
  cancelQuestion,
6
6
  clientErrorKindOf,
@@ -8,29 +8,29 @@ import {
8
8
  reportClientError,
9
9
  sendNotification,
10
10
  waitForAnswer
11
- } from "./chunk-FD6KOIT2.js";
11
+ } from "./chunk-DU7L7R4A.js";
12
12
  import {
13
13
  withRetry
14
- } from "./chunk-VIQ5OS5E.js";
14
+ } from "./chunk-E56VJY23.js";
15
15
  import {
16
16
  getMachineId
17
- } from "./chunk-FZ2SHXUE.js";
17
+ } from "./chunk-5XYYBB5Z.js";
18
18
  import {
19
19
  reportedInstallSource
20
- } from "./chunk-METUT7V4.js";
20
+ } from "./chunk-ZWCKS65X.js";
21
21
  import {
22
22
  IDLE_PROMPT_NOTIFICATION,
23
23
  NOTIFICATION_PUSH_TYPES,
24
24
  POSTTOOLUSE_MIRROR_ONLY_TOOLS,
25
25
  canonicalJson
26
- } from "./chunk-274CV7IW.js";
26
+ } from "./chunk-N4NSX5MB.js";
27
27
  import {
28
28
  writeFileAtomic
29
- } from "./chunk-OXOYS3UG.js";
29
+ } from "./chunk-GUJBS6TK.js";
30
30
  import {
31
31
  getApiKey,
32
32
  getBaseUrl
33
- } from "./chunk-32OSSYGZ.js";
33
+ } from "./chunk-BMVWGPYB.js";
34
34
  import {
35
35
  ACTION_BODY_MAX,
36
36
  AGENTS,
@@ -49,6 +49,7 @@ import {
49
49
  TASK_STOP_TOOL,
50
50
  blockedActionIdentity,
51
51
  canonicalToolName,
52
+ conversationText,
52
53
  gateOutputFor,
53
54
  hookCompatibleProfileBySource,
54
55
  isAutoApprove,
@@ -65,7 +66,7 @@ import {
65
66
  toToolLookup,
66
67
  truncateLine,
67
68
  unansweredRefusalReason
68
- } from "./chunk-RQOT6QL3.js";
69
+ } from "./chunk-5XKJH5GD.js";
69
70
 
70
71
  // ../hook-mapping/src/describe.ts
71
72
  import { isAbsolute, relative, resolve } from "path";
@@ -590,7 +591,7 @@ var SESSION_END_ACTIONS = {
590
591
  var countArray = (value) => Array.isArray(value) ? value.length : 0;
591
592
  var summarizeFinalMessage = (message) => {
592
593
  if (typeof message !== "string") return "Session ended";
593
- const collapsed = message.replace(/\s+/g, " ").trim();
594
+ const collapsed = conversationText(message).replace(/\s+/g, " ").trim();
594
595
  if (!collapsed) return "Session ended";
595
596
  return collapsed.slice(0, STOP_SUMMARY_MAX_LENGTH);
596
597
  };
@@ -621,7 +622,7 @@ var compactionAction = (hookEvent, trigger) => {
621
622
  };
622
623
  var sessionStartAction = (source) => source === "resume" ? "Session resumed" : "Session started";
623
624
  var sessionEndAction = (reason) => typeof reason === "string" && SESSION_END_ACTIONS[reason] || "Session ended";
624
- var taskTitleFrom = (prompt) => typeof prompt === "string" ? prompt.replace(/\s+/g, " ").trim().slice(0, TASK_TITLE_MAX_LENGTH) || void 0 : void 0;
625
+ var taskTitleFrom = (prompt) => typeof prompt === "string" ? conversationText(prompt).replace(/\s+/g, " ").trim().slice(0, TASK_TITLE_MAX_LENGTH) || void 0 : void 0;
625
626
  var asString = (value) => typeof value === "string" && value.length > 0 ? value : void 0;
626
627
  var NOTIFICATION_ACTION_MAX_LENGTH = 200;
627
628
  var STOP_FAILURE_REASON_MAX_LENGTH = 300;
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  realpath
3
- } from "./chunk-YAA6MT6O.js";
3
+ } from "./chunk-S6BD346V.js";
4
4
  import {
5
5
  findNativeClaudeInstall
6
- } from "./chunk-YSOZVBFW.js";
6
+ } from "./chunk-LFBQ55OO.js";
7
7
  import {
8
8
  readGlobalPrefixAsync,
9
9
  resolveGlobalBinary,
@@ -13,10 +13,10 @@ import {
13
13
  resolvePackageVersionFromBinary,
14
14
  resolvePathBinary,
15
15
  resolvePathBinaryAsync
16
- } from "./chunk-OXOYS3UG.js";
16
+ } from "./chunk-GUJBS6TK.js";
17
17
  import {
18
18
  MANAGED_PROVIDERS
19
- } from "./chunk-RQOT6QL3.js";
19
+ } from "./chunk-5XKJH5GD.js";
20
20
 
21
21
  // src/live-capabilities.ts
22
22
  import { homedir } from "os";
@@ -1,25 +1,25 @@
1
1
  import {
2
2
  registerTranscript
3
- } from "./chunk-N2WAXSJY.js";
3
+ } from "./chunk-RO5G3OEN.js";
4
4
  import {
5
5
  namedEvent
6
- } from "./chunk-DJPNVVJQ.js";
6
+ } from "./chunk-KFGRDWAW.js";
7
7
  import {
8
8
  isBridgeLocator,
9
9
  liveBridgeProbe,
10
10
  pusharyHookExecutable,
11
11
  resolveBridgeStub
12
- } from "./chunk-NFWZVY25.js";
12
+ } from "./chunk-LCBZLTHW.js";
13
13
  import {
14
14
  writeDegraded
15
- } from "./chunk-FD6KOIT2.js";
15
+ } from "./chunk-DU7L7R4A.js";
16
16
  import {
17
17
  cursorUserHooks
18
- } from "./chunk-274CV7IW.js";
18
+ } from "./chunk-N4NSX5MB.js";
19
19
  import {
20
20
  atLeast,
21
21
  parseVersion
22
- } from "./chunk-OXOYS3UG.js";
22
+ } from "./chunk-GUJBS6TK.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-RQOT6QL3.js";
36
+ } from "./chunk-5XKJH5GD.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,9 +1,9 @@
1
1
  import {
2
2
  findNativeClaudeInstall
3
- } from "./chunk-YSOZVBFW.js";
3
+ } from "./chunk-LFBQ55OO.js";
4
4
  import {
5
5
  isFile
6
- } from "./chunk-OXOYS3UG.js";
6
+ } from "./chunk-GUJBS6TK.js";
7
7
 
8
8
  // src/wrapper/claudeBinary.ts
9
9
  import { homedir } from "os";
@@ -2,31 +2,31 @@ import {
2
2
  SIGNED_OUT_ON_MAC_MESSAGE,
3
3
  describeSignedOutKey,
4
4
  readSignedOutDiagnosis
5
- } from "./chunk-QE22XDUK.js";
5
+ } from "./chunk-RRW2LVVR.js";
6
6
  import {
7
7
  APPROVAL_RULES_PATH
8
- } from "./chunk-XLKO2XEG.js";
8
+ } from "./chunk-QFF3QVIV.js";
9
9
  import {
10
10
  createIo
11
11
  } from "./chunk-FO3MDD26.js";
12
12
  import {
13
13
  readKeySource
14
- } from "./chunk-GZHQQP7J.js";
14
+ } from "./chunk-6YZ72YP3.js";
15
15
  import {
16
16
  absoluteUrl,
17
17
  checkApiKey,
18
18
  describeKeyCheck,
19
19
  keyCheckFromResponse
20
- } from "./chunk-AQA63ZWO.js";
20
+ } from "./chunk-4TRA3GDE.js";
21
21
  import {
22
22
  EXIT
23
23
  } from "./chunk-KZERVKTD.js";
24
24
  import {
25
25
  getBaseUrl
26
- } from "./chunk-32OSSYGZ.js";
26
+ } from "./chunk-BMVWGPYB.js";
27
27
  import {
28
28
  KEY_SCOPE
29
- } from "./chunk-RQOT6QL3.js";
29
+ } from "./chunk-5XKJH5GD.js";
30
30
 
31
31
  // src/cli/report-key.ts
32
32
  var { dim, yellow } = createIo();
@@ -443,9 +443,9 @@ var installGlobally = (options) => {
443
443
  }
444
444
  const started = (async () => {
445
445
  if (!npmIsOnPath()) throw new NpmMissingError();
446
- const { withUpgradeLock } = await import("./global-upgrade-ZMWRPO5G.js");
447
- const { installWithUpgradeLock, ownsUpgradeLock } = await import("./upgrade-lock-MSBKXUKM.js");
448
- const { autoUpdateLock } = await import("./paths-YUF2TFTA.js");
446
+ const { withUpgradeLock } = await import("./global-upgrade-DI3LGOQP.js");
447
+ const { installWithUpgradeLock, ownsUpgradeLock } = await import("./upgrade-lock-7U5BOK6V.js");
448
+ const { autoUpdateLock } = await import("./paths-I4Q77ULZ.js");
449
449
  let result = "skipped";
450
450
  const install = async () => {
451
451
  const platform = process.platform;
@@ -294,7 +294,7 @@ var loadedOnce = (load) => {
294
294
  };
295
295
 
296
296
  // src/codex-desktop-proxy.ts
297
- var loadThePhone = () => import("./api-KUJYE5YZ.js");
297
+ var loadThePhone = () => import("./api-K4UGZNOE.js");
298
298
  var theFirstCardLoadsAgain = () => {
299
299
  };
300
300
  var APP_SERVER_COMMAND = "app-server";
@@ -827,7 +827,7 @@ var codexDesktopCommand = async (args, entry, readAccount) => {
827
827
  return runCodexDesktopProxy(engine2, args.slice(3), readAccount, { watchesForCards: layoutIsKnown });
828
828
  }
829
829
  if (args[0] === APP_CARDS_FLAG) {
830
- const { codexAppCardsCommandOnThisMac } = await import("./codex-app-cards-switch-GBTS3OQW.js");
830
+ const { codexAppCardsCommandOnThisMac } = await import("./codex-app-cards-switch-PWLWIWKG.js");
831
831
  return codexAppCardsCommandOnThisMac(args.slice(1), entry, readAccount);
832
832
  }
833
833
  if (args.length > 2) throw new Error("Usage: pushary codex --desktop [path/to/Codex.app]");
@@ -1,19 +1,19 @@
1
1
  import {
2
2
  readExistingMachineId
3
- } from "./chunk-FZ2SHXUE.js";
3
+ } from "./chunk-5XYYBB5Z.js";
4
4
  import {
5
5
  NetworkError
6
6
  } from "./chunk-PPY5N2E6.js";
7
7
  import {
8
8
  getBaseUrl
9
- } from "./chunk-32OSSYGZ.js";
9
+ } from "./chunk-BMVWGPYB.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-RQOT6QL3.js";
16
+ } from "./chunk-5XKJH5GD.js";
17
17
 
18
18
  // src/cli/net.ts
19
19
  import { createRequire } from "module";
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  localRepoKey,
3
3
  normalizeRepoRemote
4
- } from "./chunk-RQOT6QL3.js";
4
+ } from "./chunk-5XKJH5GD.js";
5
5
 
6
6
  // src/repo.ts
7
7
  import { existsSync, readFileSync, statSync } from "fs";
@@ -1,11 +1,11 @@
1
1
  import {
2
2
  addGeminiMcpServer,
3
3
  removeGeminiMcpServer
4
- } from "./chunk-NFWZVY25.js";
4
+ } from "./chunk-LCBZLTHW.js";
5
5
  import {
6
6
  CLAUDE_CODE_AGENT,
7
7
  compatibleToolLookup
8
- } from "./chunk-HZNZJTGH.js";
8
+ } from "./chunk-EEFFP64A.js";
9
9
  import {
10
10
  CLAUDE_HOOK_EVENTS,
11
11
  PUSHARY_MCP_URL,
@@ -17,7 +17,7 @@ import {
17
17
  isPusharyHook,
18
18
  registerHookEntry,
19
19
  removeClaudeMcpServers
20
- } from "./chunk-274CV7IW.js";
20
+ } from "./chunk-N4NSX5MB.js";
21
21
  import {
22
22
  HOOK_COMPATIBLE_PROFILES,
23
23
  PHONE_ANSWERED_TOOLS,
@@ -28,7 +28,7 @@ import {
28
28
  pusharyMissingReason,
29
29
  refusalOutput,
30
30
  withHookHoldBudget
31
- } from "./chunk-RQOT6QL3.js";
31
+ } from "./chunk-5XKJH5GD.js";
32
32
 
33
33
  // src/config-document.ts
34
34
  import { parse, stringify } from "smol-toml";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  isSafeReadOnlyCommand
3
- } from "./chunk-RQOT6QL3.js";
3
+ } from "./chunk-5XKJH5GD.js";
4
4
 
5
5
  // src/ledger.ts
6
6
  import { appendFileSync, existsSync, mkdirSync, readFileSync, renameSync, rmSync, statSync } from "fs";
@@ -0,0 +1,74 @@
1
+ import {
2
+ external_exports
3
+ } from "./chunk-XMSDA5WA.js";
4
+
5
+ // src/native-transcript-account.ts
6
+ import { createHash } from "crypto";
7
+ import { existsSync, lstatSync, readFileSync } from "fs";
8
+ import { homedir } from "os";
9
+ import { join } from "path";
10
+ var MAXIMUM_OWNER_DOCUMENT_BYTES = 16384;
11
+ var MAXIMUM_READ_POSITIONS_BYTES = 4 * 1024 * 1024;
12
+ var OWNER_ONLY_FILE_MODE = 384;
13
+ var OWNER_ONLY_DIRECTORY_MODE = 448;
14
+ var LOOPBACK_HOSTS = /* @__PURE__ */ new Set(["localhost", "127.0.0.1", "[::1]"]);
15
+ var credentialSchema = external_exports.object({
16
+ key: external_exports.string().min(1).max(1024),
17
+ siteID: external_exports.string().min(1),
18
+ machineID: external_exports.string().min(1),
19
+ baseURL: external_exports.string().url(),
20
+ keyScope: external_exports.literal("agent")
21
+ });
22
+ var consentSchema = credentialSchema.pick({ siteID: true, machineID: true, baseURL: true }).extend({ enabled: external_exports.literal(true), grantedAtMs: external_exports.number().int().positive() });
23
+ var readPositionSchema = external_exports.object({
24
+ identity: external_exports.string().nullable(),
25
+ offset: external_exports.number().int().nonnegative(),
26
+ startedBeforeEpoch: external_exports.boolean()
27
+ });
28
+ var readPositionsSchema = external_exports.object({
29
+ epochStartedAtMs: external_exports.number().int().positive(),
30
+ positions: external_exports.record(external_exports.string(), readPositionSchema)
31
+ });
32
+ var ownerDocument = (path, maximumBytes = MAXIMUM_OWNER_DOCUMENT_BYTES) => {
33
+ const info = lstatSync(path);
34
+ if (!info.isFile() || info.nlink !== 1 || info.uid !== process.getuid?.() || (info.mode & 511) !== OWNER_ONLY_FILE_MODE || info.size > maximumBytes) return null;
35
+ return JSON.parse(readFileSync(path, "utf8"));
36
+ };
37
+ var acceptsServer = (baseURL) => {
38
+ const url = new URL(baseURL);
39
+ return url.protocol === "https:" || url.protocol === "http:" && LOOPBACK_HOSTS.has(url.hostname);
40
+ };
41
+ var nativeConsentFile = (home) => join(home, ".pushary", "native-transcript-consent.json");
42
+ var nativeBridgeAccount = (home = homedir()) => {
43
+ try {
44
+ const root = join(home, ".pushary");
45
+ const directory = lstatSync(join(root, "bridge-auth"));
46
+ if (!directory.isDirectory() || directory.uid !== process.getuid?.() || (directory.mode & 511) !== OWNER_ONLY_DIRECTORY_MODE) return null;
47
+ const account = credentialSchema.parse(ownerDocument(join(root, "bridge-auth", "agent-key.json")));
48
+ const machineId = readFileSync(join(root, "machine-id"), "utf8").trim();
49
+ if (machineId !== account.machineID || !acceptsServer(account.baseURL)) return null;
50
+ return account;
51
+ } catch {
52
+ return null;
53
+ }
54
+ };
55
+ var nativeTranscriptGrant = (home = homedir()) => {
56
+ try {
57
+ const account = nativeBridgeAccount(home);
58
+ if (!account) return null;
59
+ const consent = consentSchema.parse(ownerDocument(nativeConsentFile(home)));
60
+ if (account.siteID !== consent.siteID || account.machineID !== consent.machineID || account.baseURL !== consent.baseURL) return null;
61
+ return { account, grantedAtMs: consent.grantedAtMs };
62
+ } catch {
63
+ return null;
64
+ }
65
+ };
66
+ var macAppHistoryDecision = (home = homedir()) => {
67
+ if (nativeTranscriptGrant(home)) return "saves";
68
+ return existsSync(nativeConsentFile(home)) ? "does_not_save" : "none";
69
+ };
70
+
71
+ export {
72
+ nativeBridgeAccount,
73
+ macAppHistoryDecision
74
+ };
@@ -1,11 +1,11 @@
1
1
  import {
2
2
  autoUpdateLock
3
- } from "./chunk-274CV7IW.js";
3
+ } from "./chunk-N4NSX5MB.js";
4
4
  import {
5
5
  installPackageGlobally,
6
6
  npmErrorMessage,
7
7
  writeJsonAtomic
8
- } from "./chunk-OXOYS3UG.js";
8
+ } from "./chunk-GUJBS6TK.js";
9
9
 
10
10
  // src/upgrade-lock.ts
11
11
  import { fork } from "child_process";
@@ -3,11 +3,11 @@ import {
3
3
  } from "./chunk-POFBE6ZY.js";
4
4
  import {
5
5
  autoUpdateState
6
- } from "./chunk-274CV7IW.js";
6
+ } from "./chunk-N4NSX5MB.js";
7
7
  import {
8
8
  readJsonSafe,
9
9
  writeJsonAtomic
10
- } from "./chunk-OXOYS3UG.js";
10
+ } from "./chunk-GUJBS6TK.js";
11
11
  import {
12
12
  CLI_PACKAGE_NAMES,
13
13
  POSIX_GLOBAL_ROOT_SEGMENTS,
@@ -17,7 +17,7 @@ import {
17
17
  } from "./chunk-QTOLNRET.js";
18
18
  import {
19
19
  isAutoUpdateResult
20
- } from "./chunk-RQOT6QL3.js";
20
+ } from "./chunk-5XKJH5GD.js";
21
21
 
22
22
  // src/auto-update.ts
23
23
  import { spawn } from "child_process";
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  AGENT_CHOICES
3
- } from "./chunk-ZK5WYAMI.js";
3
+ } from "./chunk-SMVTNLXU.js";
4
4
  import {
5
5
  BELL_HOOK_BINARY
6
- } from "./chunk-CJ3W7XRU.js";
6
+ } from "./chunk-TM4JH7YR.js";
7
7
  import {
8
8
  CLAUDE_HOOK_EVENTS,
9
9
  CODEX_HOOK_EVENTS,
@@ -12,13 +12,13 @@ import {
12
12
  holdBudgetOf,
13
13
  isProtectedByScope,
14
14
  registerHookEntry
15
- } from "./chunk-274CV7IW.js";
15
+ } from "./chunk-N4NSX5MB.js";
16
16
  import {
17
17
  CURSOR_GATE_EVENTS,
18
18
  HOOK_BUDGETS,
19
19
  HOOK_LOCATOR_BINARY,
20
20
  hookCommandHoldBudget
21
- } from "./chunk-RQOT6QL3.js";
21
+ } from "./chunk-5XKJH5GD.js";
22
22
 
23
23
  // src/diagnostics/bridge.ts
24
24
  import { execFileSync } from "child_process";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  isFile
3
- } from "./chunk-OXOYS3UG.js";
3
+ } from "./chunk-GUJBS6TK.js";
4
4
 
5
5
  // src/claude-native-install.ts
6
6
  import { accessSync, constants } from "fs";
@@ -1,13 +1,13 @@
1
1
  import {
2
2
  readJsonSafe,
3
3
  writeJsonAtomic
4
- } from "./chunk-OXOYS3UG.js";
4
+ } from "./chunk-GUJBS6TK.js";
5
5
  import {
6
6
  configFilePath
7
- } from "./chunk-32OSSYGZ.js";
7
+ } from "./chunk-BMVWGPYB.js";
8
8
  import {
9
9
  readSetupOutcomeProperties
10
- } from "./chunk-RQOT6QL3.js";
10
+ } from "./chunk-5XKJH5GD.js";
11
11
 
12
12
  // src/diagnostics/service-runtime.ts
13
13
  var unescapeXml = (value) => value.replaceAll("&quot;", '"').replaceAll("&apos;", "'").replaceAll("&lt;", "<").replaceAll("&gt;", ">").replaceAll("&amp;", "&");
@@ -12,7 +12,7 @@ import {
12
12
  reachVerdict,
13
13
  reachesYou,
14
14
  verifyDelivery
15
- } from "./chunk-BRWU4NT4.js";
15
+ } from "./chunk-XGGAZJWJ.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-METUT7V4.js";
27
+ } from "./chunk-ZWCKS65X.js";
28
28
  import {
29
29
  NPX_LATEST_COMMAND
30
- } from "./chunk-X2MTVD4W.js";
30
+ } from "./chunk-7KMLITXH.js";
31
31
  import {
32
32
  NO_PAIRING_COMPUTER,
33
33
  PAIR_TTL_SECONDS
34
- } from "./chunk-RQOT6QL3.js";
34
+ } from "./chunk-5XKJH5GD.js";
35
35
 
36
36
  // src/onboarding.ts
37
37
  import qrcodeTerminal from "qrcode-terminal";
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  HOOK_HOLD_BUDGET_ENV,
3
3
  hookHoldBudgetProof
4
- } from "./chunk-RQOT6QL3.js";
4
+ } from "./chunk-5XKJH5GD.js";
5
5
 
6
6
  // src/hold-budget.ts
7
7
  var takeHookHoldBudget = (args = process.argv.slice(2), env = process.env) => {
@@ -5,19 +5,19 @@ import {
5
5
  hermesAppWiringRecord,
6
6
  hermesConfigReceipt,
7
7
  hermesSetupReceipt
8
- } from "./chunk-274CV7IW.js";
8
+ } from "./chunk-N4NSX5MB.js";
9
9
  import {
10
10
  readJsonSafe,
11
11
  resolvePathBinary,
12
12
  writeJsonAtomic
13
- } from "./chunk-OXOYS3UG.js";
13
+ } from "./chunk-GUJBS6TK.js";
14
14
  import {
15
15
  isNewerVersion,
16
16
  isReleaseVersion
17
17
  } from "./chunk-QTOLNRET.js";
18
18
  import {
19
19
  isRecord
20
- } from "./chunk-RQOT6QL3.js";
20
+ } from "./chunk-5XKJH5GD.js";
21
21
 
22
22
  // src/hermes/plugin-payload.ts
23
23
  import { createHash } from "crypto";