pushary 1.9.43 → 1.9.44

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 (106) hide show
  1. package/CHANGELOG.md +5 -0
  2. package/README.md +1 -0
  3. package/dist/bin/pushary-bell-hook.js +27 -26
  4. package/dist/bin/pushary-bell.js +11 -11
  5. package/dist/bin/pushary-claude.js +30 -28
  6. package/dist/bin/pushary-clean.js +39 -38
  7. package/dist/bin/pushary-codex-bridge.js +38 -28
  8. package/dist/bin/pushary-codex-hook.js +35 -33
  9. package/dist/bin/pushary-codex-session.d.ts +1 -0
  10. package/dist/bin/pushary-codex-session.js +253 -0
  11. package/dist/bin/pushary-codex.js +13 -12
  12. package/dist/bin/pushary-connect.js +28 -27
  13. package/dist/bin/pushary-cowork.js +6 -6
  14. package/dist/bin/pushary-daemon.js +48 -47
  15. package/dist/bin/pushary-disconnect.js +27 -26
  16. package/dist/bin/pushary-doctor.js +85 -82
  17. package/dist/bin/pushary-elicitation-hook.js +27 -26
  18. package/dist/bin/pushary-gemini-bridge.js +22 -22
  19. package/dist/bin/pushary-gemini-hook.js +32 -30
  20. package/dist/bin/pushary-hook.js +33 -32
  21. package/dist/bin/pushary-login.js +16 -16
  22. package/dist/bin/pushary-logout.js +28 -27
  23. package/dist/bin/pushary-mcp.js +9 -9
  24. package/dist/bin/pushary-mode.js +14 -14
  25. package/dist/bin/pushary-notification-hook.js +26 -25
  26. package/dist/bin/pushary-opencode-hook.js +31 -29
  27. package/dist/bin/pushary-permission-denied-hook.js +31 -30
  28. package/dist/bin/pushary-permission-hook.js +30 -29
  29. package/dist/bin/pushary-post-hook.js +26 -25
  30. package/dist/bin/pushary-prompt-hook.js +26 -25
  31. package/dist/bin/pushary-session-end-hook.js +26 -25
  32. package/dist/bin/pushary-session-start-hook.js +31 -30
  33. package/dist/bin/pushary-setup.js +165 -112
  34. package/dist/bin/pushary-stats.js +5 -5
  35. package/dist/bin/pushary-status.js +35 -34
  36. package/dist/bin/pushary-stop-hook.js +26 -25
  37. package/dist/bin/pushary-stopfailure-hook.js +26 -25
  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 +7 -7
  41. package/dist/bin/pushary-upgrade.js +41 -40
  42. package/dist/bin/pushary-wait.js +14 -14
  43. package/dist/bin/pushary.js +7 -6
  44. package/dist/{chunk-ZJXEQV3A.js → chunk-2NVXFWQY.js} +1 -1
  45. package/dist/{chunk-H64CU2VB.js → chunk-3IRC3XFG.js} +2 -2
  46. package/dist/{chunk-JB4JCGRW.js → chunk-42CVAOC5.js} +2 -2
  47. package/dist/{chunk-S3OWTQ6Z.js → chunk-4JHEZ2PV.js} +12 -5
  48. package/dist/{chunk-LE2YVPAT.js → chunk-4WBAHVBK.js} +11 -11
  49. package/dist/{chunk-53KLSE2F.js → chunk-53UZN7JW.js} +3 -3
  50. package/dist/{chunk-4T2TGP4T.js → chunk-5ZSBQHCM.js} +12 -173
  51. package/dist/{chunk-Q7CUTGT4.js → chunk-6EV3B5CD.js} +1 -1
  52. package/dist/{chunk-MSUMSXTI.js → chunk-75M7NFFC.js} +1 -1
  53. package/dist/{chunk-VIVLJK3T.js → chunk-7UM4NCUI.js} +2 -2
  54. package/dist/{chunk-F5ALKPNS.js → chunk-ALY7ZBNB.js} +1 -1
  55. package/dist/{chunk-YRE6GUFZ.js → chunk-BKK3JCTD.js} +80 -164
  56. package/dist/{chunk-O7ADPLBF.js → chunk-CAJCCQ7N.js} +1 -1
  57. package/dist/{chunk-AVT7GPOF.js → chunk-CESLE4UN.js} +10 -10
  58. package/dist/{chunk-Y4VZYKSW.js → chunk-CEZTYTBN.js} +13 -11
  59. package/dist/{chunk-CIERFMQT.js → chunk-DD6IBKEJ.js} +4 -4
  60. package/dist/{chunk-TH74SUVV.js → chunk-E76QCZIA.js} +2 -2
  61. package/dist/{chunk-ENGASUEL.js → chunk-FI2F5KZJ.js} +4 -4
  62. package/dist/{chunk-V5SUKRRI.js → chunk-FKDZU6YX.js} +4 -4
  63. package/dist/{chunk-EA5NWDK7.js → chunk-FYNMFSIZ.js} +29 -0
  64. package/dist/{chunk-JJWG7CBT.js → chunk-GBCR2FH2.js} +3 -3
  65. package/dist/chunk-GOEIW2VH.js +266 -0
  66. package/dist/{chunk-Y3N3SYBX.js → chunk-GRAPJKDK.js} +1 -1
  67. package/dist/{chunk-ZORCUL3Z.js → chunk-HV4TEKNP.js} +4 -4
  68. package/dist/{chunk-A64UCGX3.js → chunk-IWHDNMM3.js} +5 -5
  69. package/dist/{chunk-RXXKFM22.js → chunk-JNU3LV47.js} +355 -138
  70. package/dist/{chunk-C6QBNBL4.js → chunk-KILK6SWZ.js} +7 -7
  71. package/dist/{chunk-SATOTPXW.js → chunk-KYLY6UMN.js} +1 -1
  72. package/dist/{chunk-NV2LARV4.js → chunk-L2ZM7LXN.js} +2 -2
  73. package/dist/{chunk-F7SZ2RCK.js → chunk-LEHBWBCG.js} +4 -4
  74. package/dist/{chunk-LAAOHBLO.js → chunk-M2L7625S.js} +2 -2
  75. package/dist/{chunk-HC4DQXAT.js → chunk-MIBCRQWK.js} +2 -2
  76. package/dist/{chunk-J6MVBWF2.js → chunk-MRQJCIFO.js} +1 -1
  77. package/dist/{chunk-XLHFWG2E.js → chunk-OR6KJOHE.js} +2 -2
  78. package/dist/{chunk-55FB6OSG.js → chunk-OSMNLNPF.js} +1 -1
  79. package/dist/{chunk-GTOBOC6M.js → chunk-OWQOMGBF.js} +1 -1
  80. package/dist/{chunk-S4QT3YFG.js → chunk-OZ7MLVDM.js} +15 -15
  81. package/dist/{chunk-LWW7SBK3.js → chunk-PGHN5D4N.js} +2 -2
  82. package/dist/{chunk-IDVKJICN.js → chunk-PQAFH4DF.js} +3 -11
  83. package/dist/{chunk-VGPEXMYM.js → chunk-RGBTKOCC.js} +42 -7
  84. package/dist/{chunk-H6V5S52A.js → chunk-S2ALW446.js} +3 -3
  85. package/dist/{chunk-IMD5FN6Y.js → chunk-SI2NC6UU.js} +3 -3
  86. package/dist/chunk-SVCT5D7K.js +196 -0
  87. package/dist/{chunk-JW4S4O4W.js → chunk-SWDPCDLT.js} +4 -4
  88. package/dist/{chunk-LDCRV6HG.js → chunk-T3KMJI4W.js} +2 -1
  89. package/dist/{chunk-PIZ65U3D.js → chunk-T4CKP47U.js} +5 -5
  90. package/dist/{chunk-C3RVRTHS.js → chunk-TJZUQRMH.js} +3 -3
  91. package/dist/{chunk-C54VJJ37.js → chunk-TKTS3SIM.js} +3 -3
  92. package/dist/{chunk-LOUZNXTJ.js → chunk-TWATOPHK.js} +2 -2
  93. package/dist/{chunk-FPJHS6PA.js → chunk-UC4PNLMK.js} +6 -6
  94. package/dist/{chunk-JE6GG3OV.js → chunk-UJXLVH66.js} +1 -1
  95. package/dist/{chunk-45W43U2Q.js → chunk-UY5E2UUW.js} +5 -5
  96. package/dist/{chunk-O4SYJVAF.js → chunk-UZVF6MP2.js} +5 -5
  97. package/dist/{chunk-SCYAXV7U.js → chunk-W2TA4EVZ.js} +5 -5
  98. package/dist/{chunk-VQL62ECJ.js → chunk-WBD7HZEZ.js} +1 -1
  99. package/dist/{chunk-W3BO56VE.js → chunk-WMO2XVG4.js} +1 -1
  100. package/dist/{chunk-NKBAEGT7.js → chunk-XPQDBTW4.js} +1 -1
  101. package/dist/{global-upgrade-FFWOHOJ4.js → global-upgrade-QSSDYZCZ.js} +6 -6
  102. package/dist/{paths-Y2WPCM5Y.js → paths-55DDFLY4.js} +2 -2
  103. package/dist/{reapply-N3MV3CKD.js → reapply-MEU66ALO.js} +23 -22
  104. package/dist/src/index.js +20 -19
  105. package/dist/{upgrade-lock-ZXXNRH2P.js → upgrade-lock-YLXAU4AD.js} +3 -3
  106. package/package.json +5 -2
package/CHANGELOG.md CHANGED
@@ -1,5 +1,10 @@
1
1
  # Changelog
2
2
 
3
+ ## 1.9.44
4
+
5
+ - Start a managed Codex terminal session with `pushary codex` and route supported command, file-change, and MCP permissions through Pushary. The native terminal remains available for unsupported requests.
6
+ - Preserve repository-specific deny and routing rules, cancel stale questions across delayed or lost responses, and stop owned session processes on shutdown. Existing Codex desktop chats are not attached by this feature.
7
+
3
8
  ## 1.9.43
4
9
 
5
10
  - Agent and fx setup guidance uses Pushary’s durable personal reminders, which persist after the agent exits and deliver privately to their creator.
package/README.md CHANGED
@@ -205,6 +205,7 @@ failing closed would let one malformed download silence every hook on the machin
205
205
 
206
206
  ```
207
207
  cowork Set up Claude Desktop and Cowork with the Pushary connector
208
+ codex Start a managed Codex terminal session with Pushary native approvals
208
209
  setup Configure Claude Code, Codex, Gemini CLI, Hermes, Cursor, VS Code, OpenCode, or fx with Pushary
209
210
  claude Run Claude Code through Pushary, reachable from your phone even when idle
210
211
  daemon Keep this machine reachable so your phone can START a new session
@@ -1,41 +1,42 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  handleBell
4
- } from "../chunk-JE6GG3OV.js";
4
+ } from "../chunk-UJXLVH66.js";
5
5
  import {
6
6
  readHookInput
7
- } from "../chunk-CIERFMQT.js";
8
- import "../chunk-S4QT3YFG.js";
7
+ } from "../chunk-DD6IBKEJ.js";
8
+ import "../chunk-OZ7MLVDM.js";
9
9
  import "../chunk-DWQYCOPI.js";
10
- import "../chunk-SCYAXV7U.js";
11
- import "../chunk-MSUMSXTI.js";
12
- import "../chunk-J6MVBWF2.js";
13
- import "../chunk-VQL62ECJ.js";
14
- import "../chunk-XHKBHWLX.js";
15
- import "../chunk-V5SUKRRI.js";
16
- import "../chunk-PIZ65U3D.js";
17
- import "../chunk-IMD5FN6Y.js";
18
- import "../chunk-Q7CUTGT4.js";
19
- import "../chunk-55FB6OSG.js";
10
+ import "../chunk-FKDZU6YX.js";
11
+ import "../chunk-W2TA4EVZ.js";
12
+ import "../chunk-T4CKP47U.js";
13
+ import "../chunk-SI2NC6UU.js";
14
+ import "../chunk-6EV3B5CD.js";
15
+ import "../chunk-OSMNLNPF.js";
20
16
  import "../chunk-GMXKITVA.js";
17
+ import "../chunk-WBD7HZEZ.js";
18
+ import "../chunk-XHKBHWLX.js";
19
+ import "../chunk-TJZUQRMH.js";
20
+ import "../chunk-75M7NFFC.js";
21
+ import "../chunk-MRQJCIFO.js";
21
22
  import "../chunk-6ICPEJY5.js";
22
- import "../chunk-C3RVRTHS.js";
23
- import "../chunk-YRE6GUFZ.js";
24
- import "../chunk-O7ADPLBF.js";
25
- import "../chunk-4T2TGP4T.js";
23
+ import "../chunk-BKK3JCTD.js";
24
+ import "../chunk-CAJCCQ7N.js";
25
+ import "../chunk-5ZSBQHCM.js";
26
+ import "../chunk-M2L7625S.js";
27
+ import "../chunk-GOEIW2VH.js";
26
28
  import "../chunk-POFBE6ZY.js";
27
- import "../chunk-53KLSE2F.js";
28
- import "../chunk-C54VJJ37.js";
29
- import "../chunk-H6V5S52A.js";
30
- import "../chunk-W3BO56VE.js";
29
+ import "../chunk-53UZN7JW.js";
30
+ import "../chunk-TKTS3SIM.js";
31
+ import "../chunk-S2ALW446.js";
32
+ import "../chunk-WMO2XVG4.js";
31
33
  import "../chunk-7QLSKOSU.js";
32
34
  import "../chunk-KZERVKTD.js";
33
- import "../chunk-LAAOHBLO.js";
34
- import "../chunk-S3OWTQ6Z.js";
35
+ import "../chunk-4JHEZ2PV.js";
35
36
  import "../chunk-AQFEP65J.js";
36
- import "../chunk-GTOBOC6M.js";
37
- import "../chunk-LDCRV6HG.js";
38
- import "../chunk-RXXKFM22.js";
37
+ import "../chunk-OWQOMGBF.js";
38
+ import "../chunk-T3KMJI4W.js";
39
+ import "../chunk-JNU3LV47.js";
39
40
 
40
41
  // bin/pushary-bell-hook.ts
41
42
  var main = async () => {
@@ -5,39 +5,39 @@ import {
5
5
  liveAgentCount,
6
6
  ring,
7
7
  upgradeThreshold
8
- } from "../chunk-JE6GG3OV.js";
8
+ } from "../chunk-UJXLVH66.js";
9
9
  import {
10
10
  createIo
11
11
  } from "../chunk-FO3MDD26.js";
12
- import {
13
- exitOnHelpFlag
14
- } from "../chunk-XLHFWG2E.js";
15
12
  import {
16
13
  addBellHooks,
17
14
  bellInstalled,
18
15
  removeBellHooks
19
- } from "../chunk-55FB6OSG.js";
16
+ } from "../chunk-OSMNLNPF.js";
20
17
  import {
21
18
  parseFlags
22
19
  } from "../chunk-GMXKITVA.js";
23
- import "../chunk-C3RVRTHS.js";
20
+ import "../chunk-TJZUQRMH.js";
21
+ import {
22
+ exitOnHelpFlag
23
+ } from "../chunk-OR6KJOHE.js";
24
+ import "../chunk-M2L7625S.js";
24
25
  import "../chunk-7QLSKOSU.js";
25
26
  import {
26
27
  EXIT
27
28
  } from "../chunk-KZERVKTD.js";
28
- import "../chunk-LAAOHBLO.js";
29
29
  import {
30
30
  claudeSettings
31
- } from "../chunk-S3OWTQ6Z.js";
31
+ } from "../chunk-4JHEZ2PV.js";
32
32
  import {
33
33
  readJsonSafe,
34
34
  writeJsonAtomic
35
35
  } from "../chunk-AQFEP65J.js";
36
- import "../chunk-GTOBOC6M.js";
37
- import "../chunk-LDCRV6HG.js";
36
+ import "../chunk-OWQOMGBF.js";
37
+ import "../chunk-T3KMJI4W.js";
38
38
  import {
39
39
  isRecord
40
- } from "../chunk-RXXKFM22.js";
40
+ } from "../chunk-JNU3LV47.js";
41
41
 
42
42
  // bin/pushary-bell.ts
43
43
  exitOnHelpFlag("bell");
@@ -8,39 +8,39 @@ import {
8
8
  describeIdleWindow,
9
9
  startProcessOwnership,
10
10
  withSpawnProcessOwnership
11
- } from "../chunk-LWW7SBK3.js";
11
+ } from "../chunk-PGHN5D4N.js";
12
12
  import {
13
13
  announceSubscriptionRequired,
14
14
  isDeferAnswer
15
- } from "../chunk-ZJXEQV3A.js";
15
+ } from "../chunk-2NVXFWQY.js";
16
16
  import {
17
17
  claudeTranscriptPath,
18
18
  loadSessionKey,
19
19
  registerTranscript,
20
20
  registeredTranscriptEnabled
21
- } from "../chunk-S4QT3YFG.js";
21
+ } from "../chunk-OZ7MLVDM.js";
22
22
  import "../chunk-DWQYCOPI.js";
23
23
  import {
24
24
  ensureDaemonRunning
25
- } from "../chunk-SCYAXV7U.js";
26
- import {
27
- encryptRecord
28
- } from "../chunk-MSUMSXTI.js";
29
- import "../chunk-J6MVBWF2.js";
25
+ } from "../chunk-W2TA4EVZ.js";
26
+ import "../chunk-T4CKP47U.js";
27
+ import "../chunk-SI2NC6UU.js";
28
+ import "../chunk-6EV3B5CD.js";
29
+ import "../chunk-OSMNLNPF.js";
30
+ import "../chunk-GMXKITVA.js";
30
31
  import {
31
32
  transcriptsEnabled
32
- } from "../chunk-VQL62ECJ.js";
33
+ } from "../chunk-WBD7HZEZ.js";
33
34
  import {
34
35
  needsShell,
35
36
  spawnClaude
36
37
  } from "../chunk-XHKBHWLX.js";
37
- import "../chunk-PIZ65U3D.js";
38
- import "../chunk-IMD5FN6Y.js";
39
- import "../chunk-Q7CUTGT4.js";
40
- import "../chunk-55FB6OSG.js";
41
- import "../chunk-GMXKITVA.js";
38
+ import "../chunk-TJZUQRMH.js";
39
+ import {
40
+ encryptRecord
41
+ } from "../chunk-75M7NFFC.js";
42
+ import "../chunk-MRQJCIFO.js";
42
43
  import "../chunk-6ICPEJY5.js";
43
- import "../chunk-C3RVRTHS.js";
44
44
  import {
45
45
  DEFAULT_SESSION,
46
46
  UNNAMED_ACTION,
@@ -54,12 +54,11 @@ import {
54
54
  readPendingCommand,
55
55
  readPendingCommandById,
56
56
  removePendingCommand,
57
- repoKeyFor,
58
57
  reportEvent,
59
58
  savePendingCommand,
60
59
  scopePathFor
61
- } from "../chunk-YRE6GUFZ.js";
62
- import "../chunk-O7ADPLBF.js";
60
+ } from "../chunk-BKK3JCTD.js";
61
+ import "../chunk-CAJCCQ7N.js";
63
62
  import {
64
63
  askUser,
65
64
  cancelQuestion,
@@ -70,28 +69,31 @@ import {
70
69
  waitForAnswer,
71
70
  waitsForThePhone,
72
71
  withdrawQuestion
73
- } from "../chunk-4T2TGP4T.js";
72
+ } from "../chunk-5ZSBQHCM.js";
73
+ import "../chunk-M2L7625S.js";
74
+ import {
75
+ repoKeyFor
76
+ } from "../chunk-GOEIW2VH.js";
74
77
  import "../chunk-POFBE6ZY.js";
75
78
  import {
76
79
  SubscriptionRequiredError
77
- } from "../chunk-53KLSE2F.js";
78
- import "../chunk-C54VJJ37.js";
79
- import "../chunk-H6V5S52A.js";
80
+ } from "../chunk-53UZN7JW.js";
81
+ import "../chunk-TKTS3SIM.js";
82
+ import "../chunk-S2ALW446.js";
80
83
  import {
81
84
  getMachineId
82
- } from "../chunk-W3BO56VE.js";
85
+ } from "../chunk-WMO2XVG4.js";
83
86
  import "../chunk-7QLSKOSU.js";
84
87
  import "../chunk-KZERVKTD.js";
85
- import "../chunk-LAAOHBLO.js";
86
- import "../chunk-S3OWTQ6Z.js";
88
+ import "../chunk-4JHEZ2PV.js";
87
89
  import "../chunk-AQFEP65J.js";
88
90
  import {
89
91
  getApiKey,
90
92
  getBaseUrl
91
- } from "../chunk-GTOBOC6M.js";
93
+ } from "../chunk-OWQOMGBF.js";
92
94
  import {
93
95
  NPX_LATEST_COMMAND
94
- } from "../chunk-LDCRV6HG.js";
96
+ } from "../chunk-T3KMJI4W.js";
95
97
  import {
96
98
  DECISION_STOP_REASON,
97
99
  HAND_BACK_WITHOUT_A_PROMPT,
@@ -101,7 +103,7 @@ import {
101
103
  redactSecretsFromContent,
102
104
  resolveGate,
103
105
  timeoutActionWithoutLocalPrompt
104
- } from "../chunk-RXXKFM22.js";
106
+ } from "../chunk-JNU3LV47.js";
105
107
 
106
108
  // src/wrapper/localPassthrough.ts
107
109
  var SIGNAL_NUMBERS = {
@@ -9,12 +9,13 @@ import {
9
9
  planCliKeyRevocations,
10
10
  readCliHeldKeys,
11
11
  revokeCliKeys
12
- } from "../chunk-A64UCGX3.js";
12
+ } from "../chunk-IWHDNMM3.js";
13
+ import "../chunk-SWDPCDLT.js";
13
14
  import {
14
15
  isCursorPluginLeftover,
15
16
  releaseSoleGate,
16
17
  withoutPusharyCursorHooks
17
- } from "../chunk-ENGASUEL.js";
18
+ } from "../chunk-FI2F5KZJ.js";
18
19
  import {
19
20
  HERMES_PIP_PACKAGE,
20
21
  readHermesStatus,
@@ -23,25 +24,20 @@ import {
23
24
  shortenHome,
24
25
  unregisterPluginLocation,
25
26
  vscodeSettingsTargets
26
- } from "../chunk-ZORCUL3Z.js";
27
- import {
28
- planFxRemoval,
29
- removeInstructionBlock
30
- } from "../chunk-VGPEXMYM.js";
31
- import "../chunk-LOUZNXTJ.js";
32
- import {
33
- disableDaemonService
34
- } from "../chunk-SCYAXV7U.js";
35
- import "../chunk-XHKBHWLX.js";
36
- import "../chunk-JW4S4O4W.js";
27
+ } from "../chunk-HV4TEKNP.js";
37
28
  import {
38
29
  macAppKeepsMcpEntry,
39
30
  mcpServerBearer,
40
31
  pusharyKey,
41
32
  readMacAppAgentKey,
42
33
  setupReceiptKey
43
- } from "../chunk-F7SZ2RCK.js";
44
- import "../chunk-JB4JCGRW.js";
34
+ } from "../chunk-LEHBWBCG.js";
35
+ import "../chunk-42CVAOC5.js";
36
+ import {
37
+ planFxRemoval,
38
+ removeInstructionBlock
39
+ } from "../chunk-RGBTKOCC.js";
40
+ import "../chunk-TWATOPHK.js";
45
41
  import {
46
42
  OPENCODE_PLUGIN_SIBLING,
47
43
  OPENCODE_PLUGIN_SIBLING_CONTENTS,
@@ -53,14 +49,11 @@ import {
53
49
  openCodePluginDir,
54
50
  openCodePluginFile,
55
51
  removeOpenCodeMcpServer
56
- } from "../chunk-O4SYJVAF.js";
52
+ } from "../chunk-UZVF6MP2.js";
57
53
  import {
58
54
  ansiPainter,
59
55
  useColor
60
56
  } from "../chunk-FO3MDD26.js";
61
- import {
62
- exitOnHelpFlag
63
- } from "../chunk-XLHFWG2E.js";
64
57
  import {
65
58
  compatibleConfigFile,
66
59
  compatibleDocuments,
@@ -76,7 +69,10 @@ import {
76
69
  removePusharyToolPermissions,
77
70
  restoreClaudeMcpServer,
78
71
  serializeConfigDocument
79
- } from "../chunk-V5SUKRRI.js";
72
+ } from "../chunk-FKDZU6YX.js";
73
+ import {
74
+ disableDaemonService
75
+ } from "../chunk-W2TA4EVZ.js";
80
76
  import {
81
77
  hookOwnerOf,
82
78
  isHookTakeoverReceipt,
@@ -84,35 +80,40 @@ import {
84
80
  resolveBridgeStub,
85
81
  restoreHookTakeover,
86
82
  restoreMcpServer
87
- } from "../chunk-PIZ65U3D.js";
83
+ } from "../chunk-T4CKP47U.js";
88
84
  import {
89
85
  removeGeminiSettings
90
- } from "../chunk-IMD5FN6Y.js";
91
- import "../chunk-Q7CUTGT4.js";
92
- import "../chunk-55FB6OSG.js";
86
+ } from "../chunk-SI2NC6UU.js";
87
+ import "../chunk-6EV3B5CD.js";
88
+ import "../chunk-OSMNLNPF.js";
93
89
  import {
94
90
  rejectUnknownFlags
95
91
  } from "../chunk-GMXKITVA.js";
96
- import "../chunk-6ICPEJY5.js";
92
+ import "../chunk-XHKBHWLX.js";
97
93
  import {
98
94
  CANDIDATE_RCS,
99
95
  isDisabledExport,
100
96
  removeClaudeAlias,
101
97
  shellProfileCandidates
102
- } from "../chunk-C3RVRTHS.js";
103
- import "../chunk-YRE6GUFZ.js";
104
- import "../chunk-O7ADPLBF.js";
105
- import "../chunk-4T2TGP4T.js";
98
+ } from "../chunk-TJZUQRMH.js";
99
+ import {
100
+ exitOnHelpFlag
101
+ } from "../chunk-OR6KJOHE.js";
102
+ import "../chunk-6ICPEJY5.js";
103
+ import "../chunk-BKK3JCTD.js";
104
+ import "../chunk-CAJCCQ7N.js";
105
+ import "../chunk-5ZSBQHCM.js";
106
+ import "../chunk-M2L7625S.js";
107
+ import "../chunk-GOEIW2VH.js";
106
108
  import "../chunk-POFBE6ZY.js";
107
- import "../chunk-53KLSE2F.js";
108
- import "../chunk-C54VJJ37.js";
109
- import "../chunk-H6V5S52A.js";
110
- import "../chunk-W3BO56VE.js";
109
+ import "../chunk-53UZN7JW.js";
110
+ import "../chunk-TKTS3SIM.js";
111
+ import "../chunk-S2ALW446.js";
112
+ import "../chunk-WMO2XVG4.js";
111
113
  import "../chunk-7QLSKOSU.js";
112
114
  import {
113
115
  EXIT
114
116
  } from "../chunk-KZERVKTD.js";
115
- import "../chunk-LAAOHBLO.js";
116
117
  import {
117
118
  claudeJson,
118
119
  claudeMcpReceipt,
@@ -149,14 +150,14 @@ import {
149
150
  restoreCodexHookTrust,
150
151
  vscodePluginDir,
151
152
  vscodePluginMcp
152
- } from "../chunk-S3OWTQ6Z.js";
153
+ } from "../chunk-4JHEZ2PV.js";
153
154
  import "../chunk-AQFEP65J.js";
154
155
  import {
155
156
  getBaseUrl
156
- } from "../chunk-GTOBOC6M.js";
157
+ } from "../chunk-OWQOMGBF.js";
157
158
  import {
158
159
  NPX_LATEST_COMMAND
159
- } from "../chunk-LDCRV6HG.js";
160
+ } from "../chunk-T3KMJI4W.js";
160
161
  import {
161
162
  CLI_PACKAGE_NAMES,
162
163
  HOOK_COMPATIBLE_PROFILES,
@@ -168,7 +169,7 @@ import {
168
169
  globalRootFor,
169
170
  isValidApiKey,
170
171
  redactSecrets
171
- } from "../chunk-RXXKFM22.js";
172
+ } from "../chunk-JNU3LV47.js";
172
173
 
173
174
  // bin/pushary-clean.ts
174
175
  import { existsSync as existsSync6, readFileSync as readFileSync4, copyFileSync, readdirSync as readdirSync4 } from "fs";
@@ -1,59 +1,64 @@
1
1
  #!/usr/bin/env node
2
- import {
3
- LiveTranscriptRelay,
4
- liveSessionSleep,
5
- postLiveSession,
6
- postLiveSessionUntilAccepted,
7
- startLiveSessionHeartbeat
8
- } from "../chunk-IDVKJICN.js";
9
- import {
10
- resolveProviderBinary
11
- } from "../chunk-NV2LARV4.js";
12
- import "../chunk-RIVNNBEK.js";
13
2
  import {
14
3
  SESSION_IDLE_TIMEOUT_MS,
15
4
  describeIdleWindow,
16
5
  idleDeadlinePassed,
17
6
  startProcessOwnership,
18
7
  withSpawnProcessOwnership
19
- } from "../chunk-LWW7SBK3.js";
20
- import "../chunk-MSUMSXTI.js";
21
- import "../chunk-J6MVBWF2.js";
8
+ } from "../chunk-PGHN5D4N.js";
22
9
  import {
23
10
  transcriptsEnabled
24
- } from "../chunk-VQL62ECJ.js";
11
+ } from "../chunk-WBD7HZEZ.js";
25
12
  import {
26
13
  spawnClaude
27
14
  } from "../chunk-XHKBHWLX.js";
15
+ import "../chunk-TJZUQRMH.js";
16
+ import {
17
+ CodexNativeApprovals
18
+ } from "../chunk-SVCT5D7K.js";
19
+ import {
20
+ LiveTranscriptRelay,
21
+ liveSessionSleep,
22
+ postLiveSession,
23
+ postLiveSessionUntilAccepted,
24
+ startLiveSessionHeartbeat
25
+ } from "../chunk-PQAFH4DF.js";
26
+ import {
27
+ resolveProviderBinary
28
+ } from "../chunk-L2ZM7LXN.js";
29
+ import "../chunk-RIVNNBEK.js";
30
+ import "../chunk-75M7NFFC.js";
31
+ import "../chunk-MRQJCIFO.js";
28
32
  import "../chunk-6ICPEJY5.js";
29
- import "../chunk-C3RVRTHS.js";
30
33
  import {
31
- isAskUserResponse,
32
34
  isDecisionStopped,
35
+ withdrawQuestion
36
+ } from "../chunk-5ZSBQHCM.js";
37
+ import "../chunk-M2L7625S.js";
38
+ import {
39
+ isAskUserResponse,
33
40
  isWaitForAnswerResponse,
34
- withdrawQuestion,
35
41
  writeDegraded
36
- } from "../chunk-4T2TGP4T.js";
42
+ } from "../chunk-GOEIW2VH.js";
37
43
  import "../chunk-POFBE6ZY.js";
38
44
  import {
39
45
  callMcpTool,
40
46
  isRetryable
41
- } from "../chunk-53KLSE2F.js";
42
- import "../chunk-C54VJJ37.js";
43
- import "../chunk-H6V5S52A.js";
47
+ } from "../chunk-53UZN7JW.js";
48
+ import "../chunk-TKTS3SIM.js";
49
+ import "../chunk-S2ALW446.js";
44
50
  import {
45
51
  getMachineId
46
- } from "../chunk-W3BO56VE.js";
52
+ } from "../chunk-WMO2XVG4.js";
47
53
  import "../chunk-7QLSKOSU.js";
48
54
  import "../chunk-KZERVKTD.js";
49
- import "../chunk-LAAOHBLO.js";
50
- import "../chunk-S3OWTQ6Z.js";
55
+ import "../chunk-4JHEZ2PV.js";
51
56
  import "../chunk-AQFEP65J.js";
52
57
  import {
53
58
  getApiKey,
54
59
  getBaseUrl
55
- } from "../chunk-GTOBOC6M.js";
56
- import "../chunk-LDCRV6HG.js";
60
+ } from "../chunk-OWQOMGBF.js";
61
+ import "../chunk-T3KMJI4W.js";
57
62
  import {
58
63
  AGENT_QUESTION_DESCRIPTION_MAX,
59
64
  AGENT_QUESTION_HEADER_MAX,
@@ -68,7 +73,7 @@ import {
68
73
  parseCodexQuestions,
69
74
  planElicitationAsk,
70
75
  readElicitationFields
71
- } from "../chunk-RXXKFM22.js";
76
+ } from "../chunk-JNU3LV47.js";
72
77
 
73
78
  // bin/pushary-codex-bridge.ts
74
79
  import { existsSync } from "fs";
@@ -178,6 +183,7 @@ var MAX_MESSAGE_BUFFERS = 16;
178
183
  var JsonRpcClient = class {
179
184
  constructor(command, cwd, timeoutMs, bridgeOptions) {
180
185
  this.bridgeOptions = bridgeOptions;
186
+ this.approvals = new CodexNativeApprovals({ ...bridgeOptions, shared: false, reply: (id, result) => this.write({ id, result }) });
181
187
  this.threadId = bridgeOptions.resumeThreadId ?? null;
182
188
  const options = { cwd, env: { ...process.env, PUSHARY_CODEX_BRIDGE: "1" }, stdio: ["pipe", "pipe", "pipe"] };
183
189
  this.child = process.platform === "win32" ? spawnClaude(command.command, command.args ?? [], options) : spawn(command.command, command.args ?? [], options);
@@ -189,6 +195,7 @@ var JsonRpcClient = class {
189
195
  this.child.once("exit", (code, signal) => this.fail(new Error(this.exitMessage(code, signal))));
190
196
  this.timeoutMs = timeoutMs;
191
197
  }
198
+ approvals;
192
199
  child;
193
200
  pending = /* @__PURE__ */ new Map();
194
201
  notifications = /* @__PURE__ */ new Set();
@@ -239,6 +246,7 @@ var JsonRpcClient = class {
239
246
  });
240
247
  }
241
248
  async close() {
249
+ await this.approvals.close();
242
250
  if (this.closed) return;
243
251
  this.closed = true;
244
252
  for (const request of this.serverRequests.values()) {
@@ -286,6 +294,7 @@ var JsonRpcClient = class {
286
294
  } catch {
287
295
  return;
288
296
  }
297
+ if (this.approvals.handle(message, this.threadId)) return;
289
298
  if (message.id !== void 0 && (message.method === "item/tool/requestUserInput" || message.method === "mcpServer/elicitation/request")) {
290
299
  const id = message.id;
291
300
  const owner = message.method === "item/tool/requestUserInput" ? codexQuestionOwner(message.params ?? {}, id, { machineId: this.bridgeOptions.machineId, generation: this.generation, threadId: this.threadId }) : null;
@@ -365,6 +374,7 @@ var JsonRpcClient = class {
365
374
  }
366
375
  }
367
376
  fail(error) {
377
+ void this.approvals.close();
368
378
  if (this.closed) return;
369
379
  this.closed = true;
370
380
  this.failure = error;