@pushary/agent-hooks 1.9.40 → 1.9.41

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 (100) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/dist/bin/pushary-bell-hook.js +25 -25
  3. package/dist/bin/pushary-bell.js +9 -9
  4. package/dist/bin/pushary-claude.js +24 -24
  5. package/dist/bin/pushary-clean.js +29 -29
  6. package/dist/bin/pushary-codex-bridge.js +39 -25
  7. package/dist/bin/pushary-codex-hook.js +30 -30
  8. package/dist/bin/pushary-codex.js +12 -12
  9. package/dist/bin/pushary-connect.js +24 -24
  10. package/dist/bin/pushary-cowork.js +5 -5
  11. package/dist/bin/pushary-daemon.js +32 -32
  12. package/dist/bin/pushary-disconnect.js +24 -24
  13. package/dist/bin/pushary-doctor.js +33 -33
  14. package/dist/bin/pushary-elicitation-hook.js +25 -25
  15. package/dist/bin/pushary-gemini-bridge.js +13 -13
  16. package/dist/bin/pushary-gemini-hook.js +27 -27
  17. package/dist/bin/pushary-hook.js +29 -29
  18. package/dist/bin/pushary-login.js +12 -12
  19. package/dist/bin/pushary-logout.js +24 -24
  20. package/dist/bin/pushary-mcp.js +9 -9
  21. package/dist/bin/pushary-mode.js +12 -12
  22. package/dist/bin/pushary-notification-hook.js +24 -24
  23. package/dist/bin/pushary-opencode-hook.js +26 -26
  24. package/dist/bin/pushary-permission-denied-hook.js +29 -29
  25. package/dist/bin/pushary-permission-hook.js +28 -28
  26. package/dist/bin/pushary-post-hook.js +24 -24
  27. package/dist/bin/pushary-prompt-hook.js +24 -24
  28. package/dist/bin/pushary-session-end-hook.js +24 -24
  29. package/dist/bin/pushary-session-start-hook.js +28 -28
  30. package/dist/bin/pushary-setup.js +35 -35
  31. package/dist/bin/pushary-stats.js +5 -5
  32. package/dist/bin/pushary-status.js +26 -26
  33. package/dist/bin/pushary-stop-hook.js +24 -24
  34. package/dist/bin/pushary-stopfailure-hook.js +24 -24
  35. package/dist/bin/pushary-suggestions.js +12 -12
  36. package/dist/bin/pushary-transcript-register.js +17 -17
  37. package/dist/bin/pushary-transcripts.js +7 -7
  38. package/dist/bin/pushary-upgrade.js +30 -30
  39. package/dist/bin/pushary-wait.js +12 -12
  40. package/dist/bin/pushary.js +6 -6
  41. package/dist/{chunk-22SNRAZS.js → chunk-3U3FU6ZX.js} +3 -3
  42. package/dist/{chunk-AYU4S7RQ.js → chunk-4UCTKLHY.js} +3 -3
  43. package/dist/{chunk-FZ5FYVR3.js → chunk-4WM7IVVQ.js} +2 -2
  44. package/dist/{chunk-YVMQGRLS.js → chunk-5INZFKHL.js} +1 -1
  45. package/dist/{chunk-3E2P45GK.js → chunk-6PABNQVH.js} +4 -4
  46. package/dist/{chunk-4YYT4QYH.js → chunk-7L6YSHZO.js} +2 -2
  47. package/dist/{chunk-54JZ6GLW.js → chunk-ASXBYX2N.js} +1 -1
  48. package/dist/{chunk-GBUAOQ7Q.js → chunk-AUDM6HU6.js} +2 -2
  49. package/dist/{chunk-CQ56WBBP.js → chunk-AW4TDBUJ.js} +3 -3
  50. package/dist/{chunk-P7WQCX4D.js → chunk-B7PZBWBU.js} +7 -7
  51. package/dist/{chunk-PKNHXBL2.js → chunk-BDSIE2MT.js} +2 -2
  52. package/dist/{chunk-ATMCBW5L.js → chunk-BZIXDIIT.js} +1 -1
  53. package/dist/{chunk-ADWW7Y6X.js → chunk-CGRVIUKE.js} +8 -8
  54. package/dist/{chunk-XJD5H72U.js → chunk-CHD6IUNM.js} +1 -1
  55. package/dist/{chunk-CPGW7MMA.js → chunk-DIJ532S7.js} +1 -1
  56. package/dist/{chunk-P2PWALZL.js → chunk-DPISXMLL.js} +4 -4
  57. package/dist/{chunk-V2TZVYXI.js → chunk-E47JEBUR.js} +4 -4
  58. package/dist/{chunk-UOMFOMJM.js → chunk-EBZK2SJ2.js} +4 -4
  59. package/dist/{chunk-KH57L2HF.js → chunk-F43LAKAK.js} +2 -2
  60. package/dist/{chunk-DKJFRVVN.js → chunk-FMYXPJYS.js} +5 -5
  61. package/dist/{chunk-ABSVJ3WV.js → chunk-FP2ZJK3T.js} +5 -5
  62. package/dist/{chunk-W6PSSMTV.js → chunk-I7EZMNKI.js} +5 -5
  63. package/dist/{chunk-CCAYCIW4.js → chunk-IVUP2EE4.js} +4 -4
  64. package/dist/{chunk-PZTLBH6Z.js → chunk-IXNVIWNN.js} +2 -2
  65. package/dist/{chunk-6YJS2IJS.js → chunk-J7OBJZ5S.js} +1 -1
  66. package/dist/{chunk-AYUCBAIJ.js → chunk-JBK47Y2M.js} +6 -6
  67. package/dist/{chunk-QENU2KIM.js → chunk-JQX2L3ES.js} +1 -1
  68. package/dist/{chunk-VMIR56HZ.js → chunk-K2SSNAUW.js} +1 -1
  69. package/dist/{chunk-E6QJMEQJ.js → chunk-KYFWYPHN.js} +1 -1
  70. package/dist/{chunk-WNJW2NFZ.js → chunk-M2YE3OEC.js} +3 -3
  71. package/dist/{chunk-2UKEITTN.js → chunk-M7VKFAAK.js} +3 -3
  72. package/dist/{chunk-ESJY5UYZ.js → chunk-MAB6CGL5.js} +1 -1
  73. package/dist/{chunk-MAEO47WP.js → chunk-MI67QQEQ.js} +10 -10
  74. package/dist/{chunk-QLV5S2KS.js → chunk-NRSTNZYJ.js} +5 -5
  75. package/dist/{chunk-MAMQK4I2.js → chunk-ODPULZZG.js} +2 -2
  76. package/dist/{chunk-N7MBQPIF.js → chunk-OLLWYLQX.js} +2 -2
  77. package/dist/{chunk-EPFB6LGF.js → chunk-ORLTWJ2O.js} +10 -1
  78. package/dist/{chunk-P2IT4Y5Q.js → chunk-PJ3C6IID.js} +4 -4
  79. package/dist/{chunk-EK7EOHH5.js → chunk-Q3QRD67J.js} +5 -5
  80. package/dist/{chunk-QWWJWPUV.js → chunk-QPT4PTUG.js} +1 -1
  81. package/dist/{chunk-2UG5Y6EC.js → chunk-QRNNIDGY.js} +1 -1
  82. package/dist/{chunk-MFGPTJJ3.js → chunk-RBUCXUT7.js} +4 -4
  83. package/dist/{chunk-7TV7BXIH.js → chunk-RETRVO47.js} +2 -2
  84. package/dist/{chunk-N2JDDOQS.js → chunk-RTM5GVRZ.js} +8 -8
  85. package/dist/{chunk-HPZMNWDI.js → chunk-STETTN4K.js} +5 -5
  86. package/dist/{chunk-SGOQGCKJ.js → chunk-T3Q4B6WV.js} +2 -2
  87. package/dist/{chunk-THIH3GV7.js → chunk-WZNRDDC4.js} +6 -6
  88. package/dist/{chunk-BXPIKJPY.js → chunk-X7TNLYNZ.js} +1 -1
  89. package/dist/{chunk-KPDV6RQL.js → chunk-Y3HTWB5S.js} +1 -1
  90. package/dist/{chunk-UTJSAOB2.js → chunk-Z4RM54LU.js} +2 -2
  91. package/dist/{chunk-PFTAURWI.js → chunk-ZJY4KON3.js} +4 -4
  92. package/dist/{chunk-QDC2VGFO.js → chunk-ZV56INA6.js} +3 -3
  93. package/dist/{chunk-IKBQRXPQ.js → chunk-ZVMFRUBD.js} +4 -4
  94. package/dist/{chunk-C7P5VIU6.js → chunk-ZX3PFROQ.js} +1 -1
  95. package/dist/{global-upgrade-KN7W4ULD.js → global-upgrade-YEAGJG4G.js} +6 -6
  96. package/dist/{paths-55G5FUXV.js → paths-HQAICWAF.js} +2 -2
  97. package/dist/{reapply-MCZ6RY6S.js → reapply-XBEB2B5A.js} +20 -20
  98. package/dist/src/index.js +19 -19
  99. package/dist/{upgrade-lock-HNWCOGS6.js → upgrade-lock-GIO5QZ7E.js} +3 -3
  100. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,9 @@
1
1
  # Changelog
2
2
 
3
+ ## 1.9.41
4
+
5
+ - Personal Codex sessions reject an invalid question set before asking anything on your phone. Malformed or repeated choices no longer disappear, and ordinary free-text replies, cancellation and host deadlines keep their existing behavior.
6
+
3
7
  ## 1.9.40
4
8
 
5
9
  - Personal Codex question replies bind to the original connection and request. A saved answer is claimed once; missing delivery confirmation never triggers automatic replay.
@@ -1,41 +1,41 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  handleBell
4
- } from "../chunk-54JZ6GLW.js";
4
+ } from "../chunk-ASXBYX2N.js";
5
5
  import {
6
6
  readHookInput
7
- } from "../chunk-3E2P45GK.js";
8
- import "../chunk-N2JDDOQS.js";
7
+ } from "../chunk-6PABNQVH.js";
8
+ import "../chunk-RTM5GVRZ.js";
9
9
  import "../chunk-DWQYCOPI.js";
10
- import "../chunk-HPZMNWDI.js";
11
- import "../chunk-BXPIKJPY.js";
12
- import "../chunk-ESJY5UYZ.js";
13
- import "../chunk-2UG5Y6EC.js";
10
+ import "../chunk-STETTN4K.js";
11
+ import "../chunk-X7TNLYNZ.js";
12
+ import "../chunk-MAB6CGL5.js";
13
+ import "../chunk-QRNNIDGY.js";
14
14
  import "../chunk-XHKBHWLX.js";
15
- import "../chunk-CCAYCIW4.js";
16
- import "../chunk-QLV5S2KS.js";
17
- import "../chunk-22SNRAZS.js";
18
- import "../chunk-E6QJMEQJ.js";
19
- import "../chunk-KPDV6RQL.js";
15
+ import "../chunk-IVUP2EE4.js";
16
+ import "../chunk-NRSTNZYJ.js";
17
+ import "../chunk-3U3FU6ZX.js";
18
+ import "../chunk-KYFWYPHN.js";
19
+ import "../chunk-Y3HTWB5S.js";
20
20
  import "../chunk-GMXKITVA.js";
21
21
  import "../chunk-6ICPEJY5.js";
22
- import "../chunk-2UKEITTN.js";
23
- import "../chunk-ADWW7Y6X.js";
24
- import "../chunk-VMIR56HZ.js";
25
- import "../chunk-W6PSSMTV.js";
22
+ import "../chunk-M7VKFAAK.js";
23
+ import "../chunk-CGRVIUKE.js";
24
+ import "../chunk-K2SSNAUW.js";
25
+ import "../chunk-I7EZMNKI.js";
26
26
  import "../chunk-POFBE6ZY.js";
27
- import "../chunk-CQ56WBBP.js";
28
- import "../chunk-QDC2VGFO.js";
29
- import "../chunk-AYU4S7RQ.js";
30
- import "../chunk-QWWJWPUV.js";
27
+ import "../chunk-AW4TDBUJ.js";
28
+ import "../chunk-ZV56INA6.js";
29
+ import "../chunk-4UCTKLHY.js";
30
+ import "../chunk-QPT4PTUG.js";
31
31
  import "../chunk-7QLSKOSU.js";
32
32
  import "../chunk-KZERVKTD.js";
33
- import "../chunk-MAMQK4I2.js";
34
- import "../chunk-UOMFOMJM.js";
33
+ import "../chunk-ODPULZZG.js";
34
+ import "../chunk-EBZK2SJ2.js";
35
35
  import "../chunk-AQFEP65J.js";
36
- import "../chunk-XJD5H72U.js";
37
- import "../chunk-CPGW7MMA.js";
38
- import "../chunk-EPFB6LGF.js";
36
+ import "../chunk-CHD6IUNM.js";
37
+ import "../chunk-DIJ532S7.js";
38
+ import "../chunk-ORLTWJ2O.js";
39
39
 
40
40
  // bin/pushary-bell-hook.ts
41
41
  var main = async () => {
@@ -5,39 +5,39 @@ import {
5
5
  liveAgentCount,
6
6
  ring,
7
7
  upgradeThreshold
8
- } from "../chunk-54JZ6GLW.js";
8
+ } from "../chunk-ASXBYX2N.js";
9
9
  import {
10
10
  createIo
11
11
  } from "../chunk-FO3MDD26.js";
12
12
  import {
13
13
  exitOnHelpFlag
14
- } from "../chunk-KH57L2HF.js";
14
+ } from "../chunk-F43LAKAK.js";
15
15
  import {
16
16
  addBellHooks,
17
17
  bellInstalled,
18
18
  removeBellHooks
19
- } from "../chunk-KPDV6RQL.js";
19
+ } from "../chunk-Y3HTWB5S.js";
20
20
  import {
21
21
  parseFlags
22
22
  } from "../chunk-GMXKITVA.js";
23
- import "../chunk-2UKEITTN.js";
23
+ import "../chunk-M7VKFAAK.js";
24
24
  import "../chunk-7QLSKOSU.js";
25
25
  import {
26
26
  EXIT
27
27
  } from "../chunk-KZERVKTD.js";
28
- import "../chunk-MAMQK4I2.js";
28
+ import "../chunk-ODPULZZG.js";
29
29
  import {
30
30
  claudeSettings
31
- } from "../chunk-UOMFOMJM.js";
31
+ } from "../chunk-EBZK2SJ2.js";
32
32
  import {
33
33
  readJsonSafe,
34
34
  writeJsonAtomic
35
35
  } from "../chunk-AQFEP65J.js";
36
- import "../chunk-XJD5H72U.js";
37
- import "../chunk-CPGW7MMA.js";
36
+ import "../chunk-CHD6IUNM.js";
37
+ import "../chunk-DIJ532S7.js";
38
38
  import {
39
39
  isRecord
40
- } from "../chunk-EPFB6LGF.js";
40
+ } from "../chunk-ORLTWJ2O.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-FZ5FYVR3.js";
11
+ } from "../chunk-4WM7IVVQ.js";
12
12
  import {
13
13
  announceSubscriptionRequired,
14
14
  isDeferAnswer
15
- } from "../chunk-C7P5VIU6.js";
15
+ } from "../chunk-ZX3PFROQ.js";
16
16
  import {
17
17
  claudeTranscriptPath,
18
18
  loadSessionKey,
19
19
  registerTranscript,
20
20
  registeredTranscriptEnabled
21
- } from "../chunk-N2JDDOQS.js";
21
+ } from "../chunk-RTM5GVRZ.js";
22
22
  import "../chunk-DWQYCOPI.js";
23
23
  import {
24
24
  ensureDaemonRunning
25
- } from "../chunk-HPZMNWDI.js";
25
+ } from "../chunk-STETTN4K.js";
26
26
  import {
27
27
  encryptRecord
28
- } from "../chunk-BXPIKJPY.js";
29
- import "../chunk-ESJY5UYZ.js";
28
+ } from "../chunk-X7TNLYNZ.js";
29
+ import "../chunk-MAB6CGL5.js";
30
30
  import {
31
31
  transcriptsEnabled
32
- } from "../chunk-2UG5Y6EC.js";
32
+ } from "../chunk-QRNNIDGY.js";
33
33
  import {
34
34
  needsShell,
35
35
  spawnClaude
36
36
  } from "../chunk-XHKBHWLX.js";
37
- import "../chunk-QLV5S2KS.js";
38
- import "../chunk-22SNRAZS.js";
39
- import "../chunk-E6QJMEQJ.js";
40
- import "../chunk-KPDV6RQL.js";
37
+ import "../chunk-NRSTNZYJ.js";
38
+ import "../chunk-3U3FU6ZX.js";
39
+ import "../chunk-KYFWYPHN.js";
40
+ import "../chunk-Y3HTWB5S.js";
41
41
  import "../chunk-GMXKITVA.js";
42
42
  import "../chunk-6ICPEJY5.js";
43
- import "../chunk-2UKEITTN.js";
43
+ import "../chunk-M7VKFAAK.js";
44
44
  import {
45
45
  DEFAULT_SESSION,
46
46
  UNNAMED_ACTION,
@@ -58,8 +58,8 @@ import {
58
58
  reportEvent,
59
59
  savePendingCommand,
60
60
  scopePathFor
61
- } from "../chunk-ADWW7Y6X.js";
62
- import "../chunk-VMIR56HZ.js";
61
+ } from "../chunk-CGRVIUKE.js";
62
+ import "../chunk-K2SSNAUW.js";
63
63
  import {
64
64
  askUser,
65
65
  cancelQuestion,
@@ -70,28 +70,28 @@ import {
70
70
  waitForAnswer,
71
71
  waitsForThePhone,
72
72
  withdrawQuestion
73
- } from "../chunk-W6PSSMTV.js";
73
+ } from "../chunk-I7EZMNKI.js";
74
74
  import "../chunk-POFBE6ZY.js";
75
75
  import {
76
76
  SubscriptionRequiredError
77
- } from "../chunk-CQ56WBBP.js";
78
- import "../chunk-QDC2VGFO.js";
79
- import "../chunk-AYU4S7RQ.js";
77
+ } from "../chunk-AW4TDBUJ.js";
78
+ import "../chunk-ZV56INA6.js";
79
+ import "../chunk-4UCTKLHY.js";
80
80
  import {
81
81
  getMachineId
82
- } from "../chunk-QWWJWPUV.js";
82
+ } from "../chunk-QPT4PTUG.js";
83
83
  import "../chunk-7QLSKOSU.js";
84
84
  import "../chunk-KZERVKTD.js";
85
- import "../chunk-MAMQK4I2.js";
86
- import "../chunk-UOMFOMJM.js";
85
+ import "../chunk-ODPULZZG.js";
86
+ import "../chunk-EBZK2SJ2.js";
87
87
  import "../chunk-AQFEP65J.js";
88
88
  import {
89
89
  getApiKey,
90
90
  getBaseUrl
91
- } from "../chunk-XJD5H72U.js";
91
+ } from "../chunk-CHD6IUNM.js";
92
92
  import {
93
93
  NPX_LATEST_COMMAND
94
- } from "../chunk-CPGW7MMA.js";
94
+ } from "../chunk-DIJ532S7.js";
95
95
  import {
96
96
  DECISION_STOP_REASON,
97
97
  HAND_BACK_WITHOUT_A_PROMPT,
@@ -101,7 +101,7 @@ import {
101
101
  redactSecretsFromContent,
102
102
  resolveGate,
103
103
  timeoutActionWithoutLocalPrompt
104
- } from "../chunk-EPFB6LGF.js";
104
+ } from "../chunk-ORLTWJ2O.js";
105
105
 
106
106
  // src/wrapper/localPassthrough.ts
107
107
  var SIGNAL_NUMBERS = {
@@ -9,12 +9,12 @@ import {
9
9
  planCliKeyRevocations,
10
10
  readCliHeldKeys,
11
11
  revokeCliKeys
12
- } from "../chunk-DKJFRVVN.js";
12
+ } from "../chunk-FMYXPJYS.js";
13
13
  import {
14
14
  isCursorPluginLeftover,
15
15
  releaseSoleGate,
16
16
  withoutPusharyCursorHooks
17
- } from "../chunk-MFGPTJJ3.js";
17
+ } from "../chunk-RBUCXUT7.js";
18
18
  import {
19
19
  HERMES_PIP_PACKAGE,
20
20
  readHermesStatus,
@@ -23,25 +23,25 @@ import {
23
23
  shortenHome,
24
24
  unregisterPluginLocation,
25
25
  vscodeSettingsTargets
26
- } from "../chunk-P2PWALZL.js";
26
+ } from "../chunk-DPISXMLL.js";
27
27
  import {
28
28
  planFxRemoval,
29
29
  removeInstructionBlock
30
- } from "../chunk-V2TZVYXI.js";
31
- import "../chunk-7TV7BXIH.js";
30
+ } from "../chunk-E47JEBUR.js";
31
+ import "../chunk-RETRVO47.js";
32
32
  import {
33
33
  disableDaemonService
34
- } from "../chunk-HPZMNWDI.js";
34
+ } from "../chunk-STETTN4K.js";
35
35
  import "../chunk-XHKBHWLX.js";
36
- import "../chunk-IKBQRXPQ.js";
36
+ import "../chunk-ZVMFRUBD.js";
37
37
  import {
38
38
  macAppKeepsMcpEntry,
39
39
  mcpServerBearer,
40
40
  pusharyKey,
41
41
  readMacAppAgentKey,
42
42
  setupReceiptKey
43
- } from "../chunk-P2IT4Y5Q.js";
44
- import "../chunk-PZTLBH6Z.js";
43
+ } from "../chunk-PJ3C6IID.js";
44
+ import "../chunk-IXNVIWNN.js";
45
45
  import {
46
46
  OPENCODE_PLUGIN_SIBLING,
47
47
  OPENCODE_PLUGIN_SIBLING_CONTENTS,
@@ -53,14 +53,14 @@ import {
53
53
  openCodePluginDir,
54
54
  openCodePluginFile,
55
55
  removeOpenCodeMcpServer
56
- } from "../chunk-ABSVJ3WV.js";
56
+ } from "../chunk-FP2ZJK3T.js";
57
57
  import {
58
58
  ansiPainter,
59
59
  useColor
60
60
  } from "../chunk-FO3MDD26.js";
61
61
  import {
62
62
  exitOnHelpFlag
63
- } from "../chunk-KH57L2HF.js";
63
+ } from "../chunk-F43LAKAK.js";
64
64
  import {
65
65
  compatibleConfigFile,
66
66
  compatibleDocuments,
@@ -76,7 +76,7 @@ import {
76
76
  removePusharyToolPermissions,
77
77
  restoreClaudeMcpServer,
78
78
  serializeConfigDocument
79
- } from "../chunk-CCAYCIW4.js";
79
+ } from "../chunk-IVUP2EE4.js";
80
80
  import {
81
81
  hookOwnerOf,
82
82
  isHookTakeoverReceipt,
@@ -84,12 +84,12 @@ import {
84
84
  resolveBridgeStub,
85
85
  restoreHookTakeover,
86
86
  restoreMcpServer
87
- } from "../chunk-QLV5S2KS.js";
87
+ } from "../chunk-NRSTNZYJ.js";
88
88
  import {
89
89
  removeGeminiSettings
90
- } from "../chunk-22SNRAZS.js";
91
- import "../chunk-E6QJMEQJ.js";
92
- import "../chunk-KPDV6RQL.js";
90
+ } from "../chunk-3U3FU6ZX.js";
91
+ import "../chunk-KYFWYPHN.js";
92
+ import "../chunk-Y3HTWB5S.js";
93
93
  import {
94
94
  rejectUnknownFlags
95
95
  } from "../chunk-GMXKITVA.js";
@@ -99,20 +99,20 @@ import {
99
99
  isDisabledExport,
100
100
  removeClaudeAlias,
101
101
  shellProfileCandidates
102
- } from "../chunk-2UKEITTN.js";
103
- import "../chunk-ADWW7Y6X.js";
104
- import "../chunk-VMIR56HZ.js";
105
- import "../chunk-W6PSSMTV.js";
102
+ } from "../chunk-M7VKFAAK.js";
103
+ import "../chunk-CGRVIUKE.js";
104
+ import "../chunk-K2SSNAUW.js";
105
+ import "../chunk-I7EZMNKI.js";
106
106
  import "../chunk-POFBE6ZY.js";
107
- import "../chunk-CQ56WBBP.js";
108
- import "../chunk-QDC2VGFO.js";
109
- import "../chunk-AYU4S7RQ.js";
110
- import "../chunk-QWWJWPUV.js";
107
+ import "../chunk-AW4TDBUJ.js";
108
+ import "../chunk-ZV56INA6.js";
109
+ import "../chunk-4UCTKLHY.js";
110
+ import "../chunk-QPT4PTUG.js";
111
111
  import "../chunk-7QLSKOSU.js";
112
112
  import {
113
113
  EXIT
114
114
  } from "../chunk-KZERVKTD.js";
115
- import "../chunk-MAMQK4I2.js";
115
+ import "../chunk-ODPULZZG.js";
116
116
  import {
117
117
  claudeJson,
118
118
  claudeMcpReceipt,
@@ -149,14 +149,14 @@ import {
149
149
  restoreCodexHookTrust,
150
150
  vscodePluginDir,
151
151
  vscodePluginMcp
152
- } from "../chunk-UOMFOMJM.js";
152
+ } from "../chunk-EBZK2SJ2.js";
153
153
  import "../chunk-AQFEP65J.js";
154
154
  import {
155
155
  getBaseUrl
156
- } from "../chunk-XJD5H72U.js";
156
+ } from "../chunk-CHD6IUNM.js";
157
157
  import {
158
158
  NPX_LATEST_COMMAND
159
- } from "../chunk-CPGW7MMA.js";
159
+ } from "../chunk-DIJ532S7.js";
160
160
  import {
161
161
  CLI_PACKAGE_NAMES,
162
162
  HOOK_COMPATIBLE_PROFILES,
@@ -168,7 +168,7 @@ import {
168
168
  globalRootFor,
169
169
  isValidApiKey,
170
170
  redactSecrets
171
- } from "../chunk-EPFB6LGF.js";
171
+ } from "../chunk-ORLTWJ2O.js";
172
172
 
173
173
  // bin/pushary-clean.ts
174
174
  import { existsSync as existsSync6, readFileSync as readFileSync4, copyFileSync, readdirSync as readdirSync4 } from "fs";
@@ -5,10 +5,10 @@ import {
5
5
  postLiveSession,
6
6
  postLiveSessionUntilAccepted,
7
7
  startLiveSessionHeartbeat
8
- } from "../chunk-N7MBQPIF.js";
8
+ } from "../chunk-OLLWYLQX.js";
9
9
  import {
10
10
  resolveProviderBinary
11
- } from "../chunk-SGOQGCKJ.js";
11
+ } from "../chunk-T3Q4B6WV.js";
12
12
  import "../chunk-RIVNNBEK.js";
13
13
  import {
14
14
  SESSION_IDLE_TIMEOUT_MS,
@@ -16,54 +16,59 @@ import {
16
16
  idleDeadlinePassed,
17
17
  startProcessOwnership,
18
18
  withSpawnProcessOwnership
19
- } from "../chunk-FZ5FYVR3.js";
20
- import "../chunk-BXPIKJPY.js";
21
- import "../chunk-ESJY5UYZ.js";
19
+ } from "../chunk-4WM7IVVQ.js";
20
+ import "../chunk-X7TNLYNZ.js";
21
+ import "../chunk-MAB6CGL5.js";
22
22
  import {
23
23
  transcriptsEnabled
24
- } from "../chunk-2UG5Y6EC.js";
24
+ } from "../chunk-QRNNIDGY.js";
25
25
  import {
26
26
  spawnClaude
27
27
  } from "../chunk-XHKBHWLX.js";
28
28
  import "../chunk-6ICPEJY5.js";
29
- import "../chunk-2UKEITTN.js";
29
+ import "../chunk-M7VKFAAK.js";
30
30
  import {
31
31
  isAskUserResponse,
32
32
  isDecisionStopped,
33
33
  isWaitForAnswerResponse,
34
34
  withdrawQuestion,
35
35
  writeDegraded
36
- } from "../chunk-W6PSSMTV.js";
36
+ } from "../chunk-I7EZMNKI.js";
37
37
  import "../chunk-POFBE6ZY.js";
38
38
  import {
39
39
  callMcpTool,
40
40
  isRetryable
41
- } from "../chunk-CQ56WBBP.js";
42
- import "../chunk-QDC2VGFO.js";
43
- import "../chunk-AYU4S7RQ.js";
41
+ } from "../chunk-AW4TDBUJ.js";
42
+ import "../chunk-ZV56INA6.js";
43
+ import "../chunk-4UCTKLHY.js";
44
44
  import {
45
45
  getMachineId
46
- } from "../chunk-QWWJWPUV.js";
46
+ } from "../chunk-QPT4PTUG.js";
47
47
  import "../chunk-7QLSKOSU.js";
48
48
  import "../chunk-KZERVKTD.js";
49
- import "../chunk-MAMQK4I2.js";
50
- import "../chunk-UOMFOMJM.js";
49
+ import "../chunk-ODPULZZG.js";
50
+ import "../chunk-EBZK2SJ2.js";
51
51
  import "../chunk-AQFEP65J.js";
52
52
  import {
53
53
  getApiKey,
54
54
  getBaseUrl
55
- } from "../chunk-XJD5H72U.js";
56
- import "../chunk-CPGW7MMA.js";
55
+ } from "../chunk-CHD6IUNM.js";
56
+ import "../chunk-DIJ532S7.js";
57
57
  import {
58
+ AGENT_QUESTION_DESCRIPTION_MAX,
59
+ AGENT_QUESTION_HEADER_MAX,
60
+ AGENT_QUESTION_OPTION_MAX,
61
+ ASK_CONTEXT_MAX,
62
+ ASK_QUESTION_MAX,
58
63
  PERSONAL_QUESTION_CAPABILITY,
59
64
  canonicalJsonText,
60
65
  elicitationContent,
61
66
  isQuestionOwner,
62
- parseAgentQuestion,
63
67
  parseAgentQuestionAnswers,
68
+ parseCodexQuestions,
64
69
  planElicitationAsk,
65
70
  readElicitationFields
66
- } from "../chunk-EPFB6LGF.js";
71
+ } from "../chunk-ORLTWJ2O.js";
67
72
 
68
73
  // bin/pushary-codex-bridge.ts
69
74
  import { existsSync } from "fs";
@@ -389,20 +394,29 @@ var rpcTurnId = (result) => {
389
394
  const response = object(result);
390
395
  return string(object(response?.turn)?.id) ?? string(response?.turnId);
391
396
  };
397
+ var readCodexBridgeQuestion = (raw) => {
398
+ const question = object(raw);
399
+ const id = string(question?.id);
400
+ const prompt = string(question?.question);
401
+ if (!question || !id || !prompt || prompt.length > ASK_QUESTION_MAX || question.isSecret != null && question.isSecret !== false || question.isOther != null && typeof question.isOther !== "boolean" || question.multiSelect != null && question.multiSelect !== false || question.header !== void 0 && typeof question.header !== "string") throw new Error("Unsupported question");
402
+ const hasChoices = question.options != null && !(Array.isArray(question.options) && question.options.length === 0);
403
+ const structured = hasChoices ? parseCodexQuestions("request_user_input", { questions: [{ ...question, multiSelect: false, allowOther: question.isOther === true }] })?.[0] : void 0;
404
+ if (hasChoices && !structured) throw new Error("Unsupported question");
405
+ const headerLimit = structured ? AGENT_QUESTION_HEADER_MAX : ASK_CONTEXT_MAX;
406
+ if (typeof question.header === "string" && question.header.length > headerLimit || structured?.options.some((option) => option.label.length > AGENT_QUESTION_OPTION_MAX || (option.description?.length ?? 0) > AGENT_QUESTION_DESCRIPTION_MAX)) throw new Error("Unsupported question");
407
+ return { question, id, prompt, structured };
408
+ };
392
409
  var answerCodexQuestions = async (options, params, signal, toolName = "request_user_input", dispatch) => {
393
410
  if (!Array.isArray(params.questions) || !params.questions.length || params.questions.length > 3) throw new Error("Invalid questions");
411
+ const questions = params.questions.map(readCodexBridgeQuestion);
412
+ if (new Set(questions.map((question) => question.id)).size !== questions.length) throw new Error("Unsupported question");
394
413
  const answers = /* @__PURE__ */ Object.create(null);
395
414
  const now = options.now ?? Date.now;
396
415
  if (params.autoResolutionMs != null && (typeof params.autoResolutionMs !== "number" || !Number.isFinite(params.autoResolutionMs) || params.autoResolutionMs < 0)) throw new Error("Invalid question deadline");
397
416
  const deadline = dispatch ? dispatch.deadline : typeof params.autoResolutionMs === "number" ? now() + params.autoResolutionMs : null;
398
- for (const raw of params.questions) {
417
+ for (const { question, id, prompt, structured } of questions) {
399
418
  if (signal.aborted || deadline !== null && now() >= deadline) throw new Error("Question expired");
400
- const question = object(raw);
401
- const id = string(question?.id);
402
- const prompt = string(question?.question);
403
- if (!id || !prompt || id in answers || question?.isSecret === true) throw new Error("Unsupported question");
404
- const labels = Array.isArray(question?.options) ? question.options.map((option) => string(object(option)?.label)).filter((label) => !!label) : [];
405
- const structured = labels.length >= 2 ? parseAgentQuestion({ ...question, multiSelect: false, allowOther: question?.isOther === true }) : void 0;
419
+ const labels = structured?.options.map((option) => option.label) ?? [];
406
420
  let correlationId = null;
407
421
  let settled = false;
408
422
  const call = async (name, args, timeoutMs, waitSignal = signal) => {
@@ -1,41 +1,41 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  takeHookHoldBudget
4
- } from "../chunk-6YJS2IJS.js";
4
+ } from "../chunk-J7OBJZ5S.js";
5
5
  import {
6
6
  askAgentQuestions,
7
7
  defersToNativeMode,
8
8
  reportMachineDenial
9
- } from "../chunk-THIH3GV7.js";
9
+ } from "../chunk-WZNRDDC4.js";
10
10
  import {
11
11
  isGatingMoment,
12
12
  recordKeylessMoment
13
- } from "../chunk-QENU2KIM.js";
13
+ } from "../chunk-JQX2L3ES.js";
14
14
  import {
15
15
  triggerAutoUpdate
16
- } from "../chunk-4YYT4QYH.js";
16
+ } from "../chunk-7L6YSHZO.js";
17
17
  import {
18
18
  readHookInput
19
- } from "../chunk-3E2P45GK.js";
19
+ } from "../chunk-6PABNQVH.js";
20
20
  import {
21
21
  announceSubscriptionRequired,
22
22
  isDeferAnswer
23
- } from "../chunk-C7P5VIU6.js";
24
- import "../chunk-N2JDDOQS.js";
23
+ } from "../chunk-ZX3PFROQ.js";
24
+ import "../chunk-RTM5GVRZ.js";
25
25
  import "../chunk-DWQYCOPI.js";
26
- import "../chunk-HPZMNWDI.js";
27
- import "../chunk-BXPIKJPY.js";
28
- import "../chunk-ESJY5UYZ.js";
29
- import "../chunk-2UG5Y6EC.js";
26
+ import "../chunk-STETTN4K.js";
27
+ import "../chunk-X7TNLYNZ.js";
28
+ import "../chunk-MAB6CGL5.js";
29
+ import "../chunk-QRNNIDGY.js";
30
30
  import "../chunk-XHKBHWLX.js";
31
- import "../chunk-CCAYCIW4.js";
32
- import "../chunk-QLV5S2KS.js";
33
- import "../chunk-22SNRAZS.js";
34
- import "../chunk-E6QJMEQJ.js";
35
- import "../chunk-KPDV6RQL.js";
31
+ import "../chunk-IVUP2EE4.js";
32
+ import "../chunk-NRSTNZYJ.js";
33
+ import "../chunk-3U3FU6ZX.js";
34
+ import "../chunk-KYFWYPHN.js";
35
+ import "../chunk-Y3HTWB5S.js";
36
36
  import "../chunk-GMXKITVA.js";
37
37
  import "../chunk-6ICPEJY5.js";
38
- import "../chunk-2UKEITTN.js";
38
+ import "../chunk-M7VKFAAK.js";
39
39
  import {
40
40
  CODEX_AGENT,
41
41
  DEFAULT_SESSION,
@@ -79,8 +79,8 @@ import {
79
79
  toPolicyLookup,
80
80
  toPolicyLookups,
81
81
  userScope
82
- } from "../chunk-ADWW7Y6X.js";
83
- import "../chunk-VMIR56HZ.js";
82
+ } from "../chunk-CGRVIUKE.js";
83
+ import "../chunk-K2SSNAUW.js";
84
84
  import {
85
85
  askUser,
86
86
  cancelQuestion,
@@ -94,31 +94,31 @@ import {
94
94
  sendNotification,
95
95
  unavailableQuestionUnlessSubscriptionRequired,
96
96
  waitForQuestion
97
- } from "../chunk-W6PSSMTV.js";
97
+ } from "../chunk-I7EZMNKI.js";
98
98
  import "../chunk-POFBE6ZY.js";
99
99
  import {
100
100
  SubscriptionRequiredError
101
- } from "../chunk-CQ56WBBP.js";
102
- import "../chunk-QDC2VGFO.js";
103
- import "../chunk-AYU4S7RQ.js";
101
+ } from "../chunk-AW4TDBUJ.js";
102
+ import "../chunk-ZV56INA6.js";
103
+ import "../chunk-4UCTKLHY.js";
104
104
  import {
105
105
  getMachineId
106
- } from "../chunk-QWWJWPUV.js";
106
+ } from "../chunk-QPT4PTUG.js";
107
107
  import "../chunk-7QLSKOSU.js";
108
108
  import {
109
109
  EXIT
110
110
  } from "../chunk-KZERVKTD.js";
111
- import "../chunk-MAMQK4I2.js";
111
+ import "../chunk-ODPULZZG.js";
112
112
  import {
113
113
  canonicalJson
114
- } from "../chunk-UOMFOMJM.js";
114
+ } from "../chunk-EBZK2SJ2.js";
115
115
  import {
116
116
  writeFileAtomic
117
117
  } from "../chunk-AQFEP65J.js";
118
118
  import {
119
119
  getApiKey
120
- } from "../chunk-XJD5H72U.js";
121
- import "../chunk-CPGW7MMA.js";
120
+ } from "../chunk-CHD6IUNM.js";
121
+ import "../chunk-DIJ532S7.js";
122
122
  import {
123
123
  CODEX_RESCUE_TOOL_NAME,
124
124
  DECISION_STOP_REASON,
@@ -146,7 +146,7 @@ import {
146
146
  resolveGate,
147
147
  scopeBreachReasonOf,
148
148
  unapprovedScopeReason
149
- } from "../chunk-EPFB6LGF.js";
149
+ } from "../chunk-ORLTWJ2O.js";
150
150
 
151
151
  // bin/pushary-codex-hook.ts
152
152
  import { basename } from "path";
@@ -795,7 +795,7 @@ var decidePreToolUse = async (input) => {
795
795
  };
796
796
  var repairCodexHoldsQuietly = async () => {
797
797
  try {
798
- const { repairCodexHolds } = await import("../reapply-MCZ6RY6S.js");
798
+ const { repairCodexHolds } = await import("../reapply-XBEB2B5A.js");
799
799
  repairCodexHolds();
800
800
  } catch {
801
801
  return;