@pushary/agent-hooks 1.9.13 → 1.9.15

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 (99) hide show
  1. package/CHANGELOG.md +18 -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 +28 -28
  6. package/dist/bin/pushary-codex-bridge.js +17 -17
  7. package/dist/bin/pushary-codex-hook.js +72 -48
  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 +31 -31
  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 +10 -10
  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-G5K656XW.js → chunk-2DCGUCPZ.js} +2 -2
  42. package/dist/{chunk-LUYAXSUS.js → chunk-3FQCZSEQ.js} +3 -3
  43. package/dist/{chunk-UUBEEKT6.js → chunk-3QXCTYMG.js} +2 -2
  44. package/dist/{chunk-3EOXZYUE.js → chunk-3YCYTGGK.js} +1 -1
  45. package/dist/{chunk-JRKUJOZL.js → chunk-52JA2WTH.js} +1 -1
  46. package/dist/{chunk-Y25RH4VF.js → chunk-57VUNV32.js} +1 -1
  47. package/dist/{chunk-6CM3B4PJ.js → chunk-5BIMNGRQ.js} +6 -6
  48. package/dist/{chunk-S2LDTUHS.js → chunk-5EWNGYFD.js} +2 -2
  49. package/dist/{chunk-TDSLVFG6.js → chunk-5LQ7QUVF.js} +1 -1
  50. package/dist/{chunk-GYR4G4WO.js → chunk-6GRUERVL.js} +1 -1
  51. package/dist/{chunk-J2VNQSS6.js → chunk-6LORREOI.js} +1 -1
  52. package/dist/{chunk-MPDJJNGA.js → chunk-6MLSXBNR.js} +2 -2
  53. package/dist/{chunk-YI37QERZ.js → chunk-6WECKO24.js} +4 -4
  54. package/dist/{chunk-4ZSWBLVM.js → chunk-7QZZK2YU.js} +6 -6
  55. package/dist/{chunk-FWAXBC3P.js → chunk-7VOEZPJ4.js} +1 -1
  56. package/dist/{chunk-TVDI7SX2.js → chunk-AYV2NRYJ.js} +104 -2
  57. package/dist/{chunk-MWP65CZ3.js → chunk-C2OUUGCW.js} +2 -2
  58. package/dist/{chunk-WIRM7ZLI.js → chunk-COZE23R3.js} +2 -2
  59. package/dist/{chunk-OOZ5RSEF.js → chunk-CU7Y7Y4L.js} +2 -2
  60. package/dist/{chunk-WL4PVINO.js → chunk-D72OJS4S.js} +2 -2
  61. package/dist/{chunk-226PID65.js → chunk-FZW7Q7GM.js} +5 -5
  62. package/dist/{chunk-OOKRWBCG.js → chunk-H5YC7H6V.js} +3 -3
  63. package/dist/{chunk-WP57USIT.js → chunk-HJL5RBOU.js} +4 -4
  64. package/dist/{chunk-G54VGPRX.js → chunk-HSVJ62BE.js} +1 -1
  65. package/dist/{chunk-7JM6TCMA.js → chunk-HTO2XULO.js} +1 -1
  66. package/dist/{chunk-6NL3LYUM.js → chunk-IQCNOEQL.js} +13 -18
  67. package/dist/{chunk-HHMMY6TB.js → chunk-JC3AGMOP.js} +2 -2
  68. package/dist/{chunk-7VWIBIDK.js → chunk-JEJSAI6Z.js} +4 -4
  69. package/dist/{chunk-RJAPOB34.js → chunk-LJJWNHUW.js} +2 -2
  70. package/dist/{chunk-3VSMTCXV.js → chunk-ME55HQOI.js} +4 -4
  71. package/dist/{chunk-43ORAXAL.js → chunk-NA5D62OI.js} +1 -1
  72. package/dist/{chunk-6QPQG3Q5.js → chunk-NDKFHLJI.js} +5 -5
  73. package/dist/{chunk-QIPDIZC5.js → chunk-NDZBDXU3.js} +4 -4
  74. package/dist/{chunk-TCVFNLMM.js → chunk-OIESPH3R.js} +21 -18
  75. package/dist/{chunk-4ATFPZ6X.js → chunk-PNUWMEIY.js} +1 -1
  76. package/dist/{chunk-U6QEHPEF.js → chunk-PSWFYNOX.js} +3 -3
  77. package/dist/{chunk-5QTQI3HL.js → chunk-Q4JD6WNB.js} +1 -1
  78. package/dist/{chunk-RI5E5JQS.js → chunk-QIOWXUFH.js} +1 -1
  79. package/dist/{chunk-GFAVGG3X.js → chunk-SDDKVY4I.js} +5 -5
  80. package/dist/{chunk-LYDO2SS6.js → chunk-SYLJL63X.js} +3 -3
  81. package/dist/{chunk-43IDNI4X.js → chunk-TFV6RATK.js} +5 -5
  82. package/dist/{chunk-3LSJ7YVM.js → chunk-TMQMUGSN.js} +3 -3
  83. package/dist/{chunk-NPRFA7YM.js → chunk-VKTDXQGH.js} +2 -2
  84. package/dist/{chunk-4EAILOOQ.js → chunk-VP6WDFVO.js} +3 -3
  85. package/dist/{chunk-LHLUKFJV.js → chunk-WBQK6KD5.js} +8 -8
  86. package/dist/{chunk-ZAH3CCEV.js → chunk-WJO7SENK.js} +4 -4
  87. package/dist/{chunk-LBNIISXH.js → chunk-WWTB4DAE.js} +1 -1
  88. package/dist/{chunk-U5SXTKZV.js → chunk-Y6KG5JZP.js} +2 -2
  89. package/dist/{chunk-6MGD24SH.js → chunk-YKYFFCB5.js} +1 -1
  90. package/dist/{chunk-JVUK5YFM.js → chunk-YL6HU2KF.js} +5 -5
  91. package/dist/{chunk-VUHT6NYV.js → chunk-YOHPJNFW.js} +4 -4
  92. package/dist/{chunk-RYKU62ZI.js → chunk-ZH74RRGM.js} +1 -1
  93. package/dist/{chunk-N6XFGVNW.js → chunk-ZMUDVPOT.js} +3 -3
  94. package/dist/{global-upgrade-NIFOQFV4.js → global-upgrade-MOBLBPIJ.js} +6 -6
  95. package/dist/{paths-QPBLO5Q2.js → paths-55SPLYW5.js} +2 -2
  96. package/dist/{reapply-TVMBJWJB.js → reapply-SOIJJKGO.js} +20 -20
  97. package/dist/src/index.js +19 -19
  98. package/dist/{upgrade-lock-Z3LYROGK.js → upgrade-lock-FER4DMDA.js} +3 -3
  99. package/package.json +1 -1
@@ -1,41 +1,41 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  takeHookHoldBudget
4
- } from "../chunk-RYKU62ZI.js";
4
+ } from "../chunk-ZH74RRGM.js";
5
5
  import {
6
6
  defersToNativeMode,
7
7
  reportMachineDenial
8
- } from "../chunk-WIRM7ZLI.js";
8
+ } from "../chunk-COZE23R3.js";
9
9
  import {
10
10
  triggerAutoUpdate
11
- } from "../chunk-MPDJJNGA.js";
11
+ } from "../chunk-6MLSXBNR.js";
12
12
  import {
13
13
  isGatingMoment,
14
14
  recordKeylessMoment
15
- } from "../chunk-LBNIISXH.js";
15
+ } from "../chunk-WWTB4DAE.js";
16
16
  import {
17
17
  readHookInput
18
- } from "../chunk-7VWIBIDK.js";
18
+ } from "../chunk-JEJSAI6Z.js";
19
19
  import {
20
20
  announceSubscriptionRequired,
21
21
  denyReasonFrom,
22
22
  isDeferAnswer
23
- } from "../chunk-GYR4G4WO.js";
24
- import "../chunk-LHLUKFJV.js";
23
+ } from "../chunk-6GRUERVL.js";
24
+ import "../chunk-WBQK6KD5.js";
25
25
  import "../chunk-SGZJ5LYH.js";
26
- import "../chunk-43IDNI4X.js";
27
- import "../chunk-RI5E5JQS.js";
28
- import "../chunk-3EOXZYUE.js";
29
- import "../chunk-G54VGPRX.js";
26
+ import "../chunk-TFV6RATK.js";
27
+ import "../chunk-QIOWXUFH.js";
28
+ import "../chunk-3YCYTGGK.js";
29
+ import "../chunk-HSVJ62BE.js";
30
30
  import "../chunk-XHKBHWLX.js";
31
- import "../chunk-3VSMTCXV.js";
32
- import "../chunk-226PID65.js";
33
- import "../chunk-4EAILOOQ.js";
34
- import "../chunk-6MGD24SH.js";
35
- import "../chunk-FWAXBC3P.js";
31
+ import "../chunk-ME55HQOI.js";
32
+ import "../chunk-FZW7Q7GM.js";
33
+ import "../chunk-VP6WDFVO.js";
34
+ import "../chunk-YKYFFCB5.js";
35
+ import "../chunk-7VOEZPJ4.js";
36
36
  import "../chunk-GMXKITVA.js";
37
37
  import "../chunk-6ICPEJY5.js";
38
- import "../chunk-S2LDTUHS.js";
38
+ import "../chunk-5EWNGYFD.js";
39
39
  import {
40
40
  CODEX_AGENT,
41
41
  DEFAULT_SESSION,
@@ -63,6 +63,7 @@ import {
63
63
  handleUserPrompt,
64
64
  hasBlockedActionHint,
65
65
  isCodexGuardianRolloutHead,
66
+ patchDeletesFiles,
66
67
  permissionTimeoutDecision,
67
68
  policyRequestFor,
68
69
  preToolUseTimeoutDecision,
@@ -79,8 +80,8 @@ import {
79
80
  toPolicyLookup,
80
81
  toPolicyLookups,
81
82
  userScope
82
- } from "../chunk-6NL3LYUM.js";
83
- import "../chunk-JRKUJOZL.js";
83
+ } from "../chunk-IQCNOEQL.js";
84
+ import "../chunk-52JA2WTH.js";
84
85
  import {
85
86
  askUser,
86
87
  cancelQuestion,
@@ -93,46 +94,52 @@ import {
93
94
  sendNotification,
94
95
  unavailableQuestionUnlessSubscriptionRequired,
95
96
  waitForQuestion
96
- } from "../chunk-JVUK5YFM.js";
97
+ } from "../chunk-YL6HU2KF.js";
97
98
  import "../chunk-POFBE6ZY.js";
98
99
  import {
99
100
  SubscriptionRequiredError
100
- } from "../chunk-LYDO2SS6.js";
101
- import "../chunk-U6QEHPEF.js";
102
- import "../chunk-LUYAXSUS.js";
101
+ } from "../chunk-SYLJL63X.js";
102
+ import "../chunk-PSWFYNOX.js";
103
+ import "../chunk-3FQCZSEQ.js";
103
104
  import {
104
105
  getMachineId
105
- } from "../chunk-43ORAXAL.js";
106
+ } from "../chunk-NA5D62OI.js";
106
107
  import "../chunk-7QLSKOSU.js";
107
108
  import {
108
109
  EXIT
109
110
  } from "../chunk-KZERVKTD.js";
110
- import "../chunk-NPRFA7YM.js";
111
+ import "../chunk-VKTDXQGH.js";
111
112
  import {
112
113
  canonicalJson
113
- } from "../chunk-WP57USIT.js";
114
+ } from "../chunk-HJL5RBOU.js";
114
115
  import {
115
116
  writeFileAtomic
116
117
  } from "../chunk-T7E75EKA.js";
117
118
  import {
118
119
  getApiKey
119
- } from "../chunk-7JM6TCMA.js";
120
- import "../chunk-4ATFPZ6X.js";
120
+ } from "../chunk-HTO2XULO.js";
121
+ import "../chunk-PNUWMEIY.js";
121
122
  import {
122
123
  CODEX_RESCUE_TOOL_NAME,
123
124
  DECISION_STOP_REASON,
124
125
  GATE_BLOCK_REASON_MAX_LENGTH,
125
126
  GATE_WIRE,
126
127
  KILL_REASON,
128
+ SCOPE_BATCH_REASON,
127
129
  UNVERIFIABLE_APPROVAL_REASON,
130
+ approvalModeWithoutLocalPrompt,
131
+ codexCallNeedsAPerson,
128
132
  codexStopRescueOutput,
129
133
  editGoesToTheAgentsPrompt,
130
134
  effectiveWaitSeconds,
131
135
  hookHoldWindowMs,
132
136
  hookWaitClamped,
133
137
  hookWaitDeadline,
134
- resolveGate
135
- } from "../chunk-TVDI7SX2.js";
138
+ onlyCodexPreToolUseCanAsk,
139
+ resolveGate,
140
+ scopeBreachReasonOf,
141
+ unapprovedScopeReason
142
+ } from "../chunk-AYV2NRYJ.js";
136
143
 
137
144
  // bin/pushary-codex-hook.ts
138
145
  import { basename } from "path";
@@ -555,7 +562,7 @@ var callKeyFor = (input) => codexCallKey({
555
562
  var START_MS2 = Date.now();
556
563
  var agentNameFor = (input) => `Codex - ${basename(input.cwd ?? process.cwd())}`;
557
564
  var describeFor = (input, lookup) => input.tool_name === "apply_patch" ? describeApplyPatch(input.tool_input?.command) ?? describeToolCall(lookup.tool, lookup.input, "hook") : describeToolCall(lookup.tool, lookup.input, "hook");
558
- var pushQuestion = async (apiKey, input, lookup, waitSeconds, mode) => {
565
+ var pushQuestion = async (apiKey, input, lookup, waitSeconds, mode, scope) => {
559
566
  const projectName = basename(input.cwd ?? process.cwd());
560
567
  const description = describeFor(input, lookup);
561
568
  const result = await askUser(apiKey, {
@@ -569,9 +576,12 @@ var pushQuestion = async (apiKey, input, lookup, waitSeconds, mode) => {
569
576
  toolTarget: deriveToolTarget(lookup.tool, lookup.input),
570
577
  intent: readLastPrompt(input.session_id || DEFAULT_SESSION),
571
578
  action: description,
572
- blocker: deriveBlocker(mode),
579
+ blocker: scope?.reason ?? deriveBlocker(mode),
573
580
  actionBody: deriveActionBody(input.tool_name ?? "", input.tool_input ?? {}),
574
581
  repoKey: repoKeyFor(input.cwd),
582
+ scopePath: scope?.path,
583
+ ...scope ? { localSurfaceAvailable: false } : {},
584
+ sessionToolAware: true,
575
585
  // Codex has always sent this; it is what claimNotify and markApproved already
576
586
  // key on locally. Passing it through lets the server collapse a retried create
577
587
  // the same way, instead of putting the same approval on the phone twice.
@@ -673,7 +683,12 @@ var recordApproval = (key, input) => {
673
683
  if (input.tool_use_id) recordCodexCallDecision(key, { kind: "approved", toolUseId: input.tool_use_id });
674
684
  return codexPass();
675
685
  };
676
- var permissionRequestNeverFires = (permissionMode) => permissionMode === "bypassPermissions";
686
+ var scopeQuestionOf = (verdict) => {
687
+ const reason = scopeBreachReasonOf(verdict);
688
+ return reason !== void 0 && verdict.kind === "gate" ? { reason, path: verdict.scopePath } : void 0;
689
+ };
690
+ var codexDeliveryMode = (policyMode, scope) => scope ? approvalModeWithoutLocalPrompt(policyMode) : policyMode;
691
+ var unansweredOutcome = (scope, fallback) => scope ? codexDeny(unapprovedScopeReason(scope.reason)) : fallback;
677
692
  var decidePushFirstBeforeTheTool = async (apiKey, input, lookup, pushFirstSeconds, callKey) => {
678
693
  let pushed;
679
694
  try {
@@ -714,52 +729,61 @@ var decidePreToolUse = async (input) => {
714
729
  return codexPass();
715
730
  }
716
731
  try {
717
- const { verdict, lookup } = await codexGate(apiKey, input);
732
+ const { verdict, lookup, gateInput } = await codexGate(apiKey, input);
718
733
  if (verdict.kind === "kill" || verdict.kind === "deny") {
719
734
  await reportMachineDenial({ ...input, tool_name: lookup.tool, tool_input: lookup.input }, verdict, CODEX_AGENT);
720
735
  return codexDeny(verdict.kind === "kill" ? KILL_REASON : verdict.reason);
721
736
  }
722
737
  if (verdict.kind === "allow") return codexPass();
723
- if (codexApprovalsReviewer(input) === "auto_review") return codexPass();
724
- if (defersToNativeMode(input.permission_mode, input.tool_name ?? "")) return codexPass();
738
+ const scope = scopeQuestionOf(verdict);
739
+ if (!scope && codexApprovalsReviewer(input) === "auto_review") return codexPass();
740
+ if (!scope && defersToNativeMode(input.permission_mode, input.tool_name ?? "")) return codexPass();
725
741
  if (verdict.kind === "defer") return codexPass();
742
+ const callFacts = {
743
+ permissionMode: input.permission_mode,
744
+ deletesFiles: patchDeletesFiles(input.tool_name ?? "", input.tool_input ?? {})
745
+ };
746
+ if (!codexCallNeedsAPerson(gateInput, verdict, callFacts)) return codexPass();
726
747
  const toolPolicy = verdict.policy;
727
748
  const callKey = callKeyFor(input);
728
- if (toolPolicy.mode === "push_only") {
749
+ if (scope && gateInput.toolInputs.length > 1) return recordPreToolUse(callKey, codexDeny(SCOPE_BATCH_REASON));
750
+ const deliveryMode = codexDeliveryMode(toolPolicy.mode, scope);
751
+ if (deliveryMode === "push_only") {
729
752
  let pushed;
730
753
  try {
731
- pushed = await pushQuestion(apiKey, input, lookup, effectiveWaitSeconds(toolPolicy.timeoutAction, toolPolicy.timeoutSeconds, "codex"), "push_only");
754
+ pushed = await pushQuestion(apiKey, input, lookup, effectiveWaitSeconds(toolPolicy.timeoutAction, toolPolicy.timeoutSeconds, "codex"), "push_only", scope);
732
755
  } catch (error) {
733
756
  if (error instanceof SubscriptionRequiredError) return recordPreToolUse(callKey, codexStepsAside(error, input));
734
757
  return recordPreToolUse(callKey, codexDeny(UNVERIFIABLE_APPROVAL_REASON));
735
758
  }
736
759
  const { answer, localHandoff, clampCut } = pushed;
737
760
  if (isDecisionStopped(answer)) return codexDeny(DECISION_STOP_REASON);
738
- if (localHandoff) return recordPreToolUse(callKey, codexPass());
761
+ if (localHandoff) return recordPreToolUse(callKey, unansweredOutcome(scope, codexPass()));
739
762
  if (answer.answered) {
740
- if (isDeferAnswer(answer.value)) return recordPreToolUse(callKey, codexPass());
763
+ if (isDeferAnswer(answer.value)) return recordPreToolUse(callKey, unansweredOutcome(scope, codexPass()));
741
764
  if (answer.value === "yes") return recordApproval(callKey, input);
742
765
  return recordPreToolUse(callKey, codexDeny(denyReasonFrom(answer.value, answer.note)));
743
766
  }
744
- if (clampCut) return recordPreToolUse(callKey, codexPass());
745
- return recordPreToolUse(callKey, preToolUseTimeoutDecision(toolPolicy.timeoutAction));
767
+ if (clampCut) return recordPreToolUse(callKey, unansweredOutcome(scope, codexPass()));
768
+ return recordPreToolUse(callKey, unansweredOutcome(scope, preToolUseTimeoutDecision(toolPolicy.timeoutAction)));
746
769
  }
747
- if (toolPolicy.mode === "notify_only") {
770
+ if (deliveryMode === "notify_only") {
771
+ if (scope) return recordPreToolUse(callKey, unansweredOutcome(scope, codexPass()));
748
772
  await notifyApprovalNeeded(apiKey, input, lookup);
749
- recordCodexCallDecision(callKey, { kind: "handled" });
750
- return codexPass();
773
+ return recordPreToolUse(callKey, codexPass());
751
774
  }
752
- if (toolPolicy.mode === "push_first" && permissionRequestNeverFires(input.permission_mode)) {
775
+ if (deliveryMode === "push_first") {
776
+ if (!onlyCodexPreToolUseCanAsk(verdict, input.permission_mode)) return codexPass();
753
777
  return decidePushFirstBeforeTheTool(apiKey, input, lookup, toolPolicy.pushFirstSeconds, callKey);
754
778
  }
755
- return codexPass();
779
+ return scope ? recordPreToolUse(callKey, unansweredOutcome(scope, codexPass())) : codexPass();
756
780
  } catch {
757
781
  return codexPass();
758
782
  }
759
783
  };
760
784
  var repairCodexHoldsQuietly = async () => {
761
785
  try {
762
- const { repairCodexHolds } = await import("../reapply-TVMBJWJB.js");
786
+ const { repairCodexHolds } = await import("../reapply-SOIJJKGO.js");
763
787
  repairCodexHolds();
764
788
  } catch {
765
789
  return;
@@ -1,32 +1,32 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  reportEvent
4
- } from "../chunk-6NL3LYUM.js";
5
- import "../chunk-JRKUJOZL.js";
4
+ } from "../chunk-IQCNOEQL.js";
5
+ import "../chunk-52JA2WTH.js";
6
6
  import {
7
7
  askUser,
8
8
  isDecisionStopped,
9
9
  waitForAnswer
10
- } from "../chunk-JVUK5YFM.js";
10
+ } from "../chunk-YL6HU2KF.js";
11
11
  import "../chunk-POFBE6ZY.js";
12
- import "../chunk-LYDO2SS6.js";
13
- import "../chunk-U6QEHPEF.js";
14
- import "../chunk-LUYAXSUS.js";
12
+ import "../chunk-SYLJL63X.js";
13
+ import "../chunk-PSWFYNOX.js";
14
+ import "../chunk-3FQCZSEQ.js";
15
15
  import {
16
16
  getMachineId
17
- } from "../chunk-43ORAXAL.js";
17
+ } from "../chunk-NA5D62OI.js";
18
18
  import "../chunk-7QLSKOSU.js";
19
19
  import "../chunk-KZERVKTD.js";
20
- import "../chunk-NPRFA7YM.js";
21
- import "../chunk-WP57USIT.js";
20
+ import "../chunk-VKTDXQGH.js";
21
+ import "../chunk-HJL5RBOU.js";
22
22
  import "../chunk-T7E75EKA.js";
23
23
  import {
24
24
  getApiKey
25
- } from "../chunk-7JM6TCMA.js";
25
+ } from "../chunk-HTO2XULO.js";
26
26
  import {
27
27
  NPX_LATEST_COMMAND
28
- } from "../chunk-4ATFPZ6X.js";
29
- import "../chunk-TVDI7SX2.js";
28
+ } from "../chunk-PNUWMEIY.js";
29
+ import "../chunk-AYV2NRYJ.js";
30
30
 
31
31
  // bin/pushary-codex.ts
32
32
  import { basename } from "path";
@@ -3,61 +3,61 @@ import {
3
3
  connectDevice,
4
4
  connectExistingApp,
5
5
  printConnectInstructions
6
- } from "../chunk-VUHT6NYV.js";
6
+ } from "../chunk-YOHPJNFW.js";
7
7
  import "../chunk-3EGEA4KH.js";
8
8
  import "../chunk-QCGNGEGE.js";
9
9
  import {
10
10
  printKeyCheck
11
- } from "../chunk-ZAH3CCEV.js";
11
+ } from "../chunk-WJO7SENK.js";
12
12
  import {
13
13
  CONNECTED_THROUGH_MAC_APP,
14
14
  PAIR_FROM_MAC_APP,
15
15
  readMacAppConnection
16
- } from "../chunk-YI37QERZ.js";
17
- import "../chunk-UUBEEKT6.js";
18
- import "../chunk-6QPQG3Q5.js";
16
+ } from "../chunk-6WECKO24.js";
17
+ import "../chunk-3QXCTYMG.js";
18
+ import "../chunk-NDKFHLJI.js";
19
19
  import {
20
20
  createIo
21
21
  } from "../chunk-U4TMAANR.js";
22
22
  import {
23
23
  exitOnHelpFlag
24
- } from "../chunk-MWP65CZ3.js";
25
- import "../chunk-3VSMTCXV.js";
26
- import "../chunk-226PID65.js";
27
- import "../chunk-4EAILOOQ.js";
28
- import "../chunk-6MGD24SH.js";
29
- import "../chunk-FWAXBC3P.js";
24
+ } from "../chunk-C2OUUGCW.js";
25
+ import "../chunk-ME55HQOI.js";
26
+ import "../chunk-FZW7Q7GM.js";
27
+ import "../chunk-VP6WDFVO.js";
28
+ import "../chunk-YKYFFCB5.js";
29
+ import "../chunk-7VOEZPJ4.js";
30
30
  import {
31
31
  parseFlags
32
32
  } from "../chunk-GMXKITVA.js";
33
33
  import "../chunk-6ICPEJY5.js";
34
34
  import {
35
35
  readKeySource
36
- } from "../chunk-S2LDTUHS.js";
37
- import "../chunk-6NL3LYUM.js";
38
- import "../chunk-JRKUJOZL.js";
39
- import "../chunk-JVUK5YFM.js";
36
+ } from "../chunk-5EWNGYFD.js";
37
+ import "../chunk-IQCNOEQL.js";
38
+ import "../chunk-52JA2WTH.js";
39
+ import "../chunk-YL6HU2KF.js";
40
40
  import "../chunk-POFBE6ZY.js";
41
- import "../chunk-LYDO2SS6.js";
41
+ import "../chunk-SYLJL63X.js";
42
42
  import {
43
43
  checkApiKey
44
- } from "../chunk-U6QEHPEF.js";
45
- import "../chunk-LUYAXSUS.js";
46
- import "../chunk-43ORAXAL.js";
44
+ } from "../chunk-PSWFYNOX.js";
45
+ import "../chunk-3FQCZSEQ.js";
46
+ import "../chunk-NA5D62OI.js";
47
47
  import {
48
48
  UsageError
49
49
  } from "../chunk-7QLSKOSU.js";
50
50
  import {
51
51
  EXIT
52
52
  } from "../chunk-KZERVKTD.js";
53
- import "../chunk-NPRFA7YM.js";
54
- import "../chunk-WP57USIT.js";
53
+ import "../chunk-VKTDXQGH.js";
54
+ import "../chunk-HJL5RBOU.js";
55
55
  import "../chunk-T7E75EKA.js";
56
- import "../chunk-7JM6TCMA.js";
56
+ import "../chunk-HTO2XULO.js";
57
57
  import {
58
58
  isInvocationOf
59
- } from "../chunk-4ATFPZ6X.js";
60
- import "../chunk-TVDI7SX2.js";
59
+ } from "../chunk-PNUWMEIY.js";
60
+ import "../chunk-AYV2NRYJ.js";
61
61
 
62
62
  // bin/pushary-connect.ts
63
63
  exitOnHelpFlag("pair");
@@ -2,15 +2,15 @@
2
2
  import {
3
3
  coworkOutput,
4
4
  parseCoworkOptions
5
- } from "../chunk-3LSJ7YVM.js";
5
+ } from "../chunk-TMQMUGSN.js";
6
6
  import {
7
7
  canOpenBrowser,
8
8
  openInBrowser
9
9
  } from "../chunk-PUZZELE6.js";
10
10
  import {
11
11
  exitOnHelpFlag
12
- } from "../chunk-MWP65CZ3.js";
13
- import "../chunk-6MGD24SH.js";
12
+ } from "../chunk-C2OUUGCW.js";
13
+ import "../chunk-YKYFFCB5.js";
14
14
  import "../chunk-GMXKITVA.js";
15
15
  import {
16
16
  UsageError
@@ -18,10 +18,10 @@ import {
18
18
  import {
19
19
  EXIT
20
20
  } from "../chunk-KZERVKTD.js";
21
- import "../chunk-4ATFPZ6X.js";
21
+ import "../chunk-PNUWMEIY.js";
22
22
  import {
23
23
  CLAUDE_CONNECTOR_GUIDE
24
- } from "../chunk-TVDI7SX2.js";
24
+ } from "../chunk-AYV2NRYJ.js";
25
25
 
26
26
  // bin/pushary-cowork.ts
27
27
  exitOnHelpFlag("cowork");
@@ -1,12 +1,12 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  inspectConfiguredManagedProviders
4
- } from "../chunk-6CM3B4PJ.js";
5
- import "../chunk-RJAPOB34.js";
4
+ } from "../chunk-5BIMNGRQ.js";
5
+ import "../chunk-LJJWNHUW.js";
6
6
  import {
7
7
  HEARTBEAT_INTERVAL_MS,
8
8
  sendHeartbeat
9
- } from "../chunk-4ZSWBLVM.js";
9
+ } from "../chunk-7QZZK2YU.js";
10
10
  import {
11
11
  codexBinaryIsBroken,
12
12
  detectProviderLiveCapabilities,
@@ -15,7 +15,7 @@ import {
15
15
  launchableProviders,
16
16
  resolveControlPolicy,
17
17
  trackProviderInventory
18
- } from "../chunk-HHMMY6TB.js";
18
+ } from "../chunk-JC3AGMOP.js";
19
19
  import "../chunk-RIVNNBEK.js";
20
20
  import {
21
21
  SESSION_REAP_SILENCE_MS,
@@ -24,10 +24,10 @@ import {
24
24
  listProcessProofs,
25
25
  ownsLiveProcess,
26
26
  silentSpawnedProofs
27
- } from "../chunk-TDSLVFG6.js";
27
+ } from "../chunk-5LQ7QUVF.js";
28
28
  import {
29
29
  startRegisteredTranscripts
30
- } from "../chunk-LHLUKFJV.js";
30
+ } from "../chunk-WBQK6KD5.js";
31
31
  import "../chunk-SGZJ5LYH.js";
32
32
  import {
33
33
  DAEMON_LEASE_RENEW_INTERVAL_MS,
@@ -45,10 +45,10 @@ import {
45
45
  requestDaemonHandoff,
46
46
  stopDaemonRunning,
47
47
  writeDaemonNeedsLogin
48
- } from "../chunk-43IDNI4X.js";
49
- import "../chunk-RI5E5JQS.js";
50
- import "../chunk-3EOXZYUE.js";
51
- import "../chunk-G54VGPRX.js";
48
+ } from "../chunk-TFV6RATK.js";
49
+ import "../chunk-QIOWXUFH.js";
50
+ import "../chunk-3YCYTGGK.js";
51
+ import "../chunk-HSVJ62BE.js";
52
52
  import {
53
53
  spawnClaude
54
54
  } from "../chunk-XHKBHWLX.js";
@@ -57,46 +57,46 @@ import {
57
57
  } from "../chunk-QCGNGEGE.js";
58
58
  import {
59
59
  readSignedOutDiagnosis
60
- } from "../chunk-UUBEEKT6.js";
61
- import "../chunk-6QPQG3Q5.js";
60
+ } from "../chunk-3QXCTYMG.js";
61
+ import "../chunk-NDKFHLJI.js";
62
62
  import {
63
63
  exitOnHelpFlag
64
- } from "../chunk-MWP65CZ3.js";
65
- import "../chunk-3VSMTCXV.js";
66
- import "../chunk-226PID65.js";
67
- import "../chunk-4EAILOOQ.js";
68
- import "../chunk-6MGD24SH.js";
69
- import "../chunk-FWAXBC3P.js";
64
+ } from "../chunk-C2OUUGCW.js";
65
+ import "../chunk-ME55HQOI.js";
66
+ import "../chunk-FZW7Q7GM.js";
67
+ import "../chunk-VP6WDFVO.js";
68
+ import "../chunk-YKYFFCB5.js";
69
+ import "../chunk-7VOEZPJ4.js";
70
70
  import "../chunk-GMXKITVA.js";
71
71
  import "../chunk-6ICPEJY5.js";
72
72
  import {
73
73
  readControlMode
74
- } from "../chunk-S2LDTUHS.js";
75
- import "../chunk-6NL3LYUM.js";
76
- import "../chunk-JRKUJOZL.js";
77
- import "../chunk-JVUK5YFM.js";
74
+ } from "../chunk-5EWNGYFD.js";
75
+ import "../chunk-IQCNOEQL.js";
76
+ import "../chunk-52JA2WTH.js";
77
+ import "../chunk-YL6HU2KF.js";
78
78
  import "../chunk-POFBE6ZY.js";
79
- import "../chunk-LYDO2SS6.js";
80
- import "../chunk-U6QEHPEF.js";
81
- import "../chunk-LUYAXSUS.js";
79
+ import "../chunk-SYLJL63X.js";
80
+ import "../chunk-PSWFYNOX.js";
81
+ import "../chunk-3FQCZSEQ.js";
82
82
  import {
83
83
  getMachineId
84
- } from "../chunk-43ORAXAL.js";
84
+ } from "../chunk-NA5D62OI.js";
85
85
  import "../chunk-7QLSKOSU.js";
86
86
  import {
87
87
  EXIT
88
88
  } from "../chunk-KZERVKTD.js";
89
- import "../chunk-NPRFA7YM.js";
89
+ import "../chunk-VKTDXQGH.js";
90
90
  import {
91
91
  resolveBinary
92
- } from "../chunk-WP57USIT.js";
92
+ } from "../chunk-HJL5RBOU.js";
93
93
  import "../chunk-T7E75EKA.js";
94
94
  import {
95
95
  getApiKey,
96
96
  getBaseUrl
97
- } from "../chunk-7JM6TCMA.js";
98
- import "../chunk-4ATFPZ6X.js";
99
- import "../chunk-TVDI7SX2.js";
97
+ } from "../chunk-HTO2XULO.js";
98
+ import "../chunk-PNUWMEIY.js";
99
+ import "../chunk-AYV2NRYJ.js";
100
100
 
101
101
  // src/spawn-daemon.ts
102
102
  import { execFileSync, spawn } from "child_process";
@@ -2,17 +2,17 @@
2
2
  import {
3
3
  declinedAgentsFile,
4
4
  recordDeclinedAgent
5
- } from "../chunk-G5K656XW.js";
5
+ } from "../chunk-2DCGUCPZ.js";
6
6
  import {
7
7
  isCursorPluginLeftover,
8
8
  isPusharyCursorPluginManifest,
9
9
  releaseSoleGate
10
- } from "../chunk-OOKRWBCG.js";
10
+ } from "../chunk-H5YC7H6V.js";
11
11
  import {
12
12
  planFxRemoval,
13
13
  removeInstructionBlock
14
- } from "../chunk-QIPDIZC5.js";
15
- import "../chunk-WL4PVINO.js";
14
+ } from "../chunk-NDZBDXU3.js";
15
+ import "../chunk-D72OJS4S.js";
16
16
  import {
17
17
  OPENCODE_PLUGIN_SIBLING,
18
18
  OPENCODE_PLUGIN_SIBLING_CONTENTS,
@@ -24,10 +24,10 @@ import {
24
24
  openCodePluginDir,
25
25
  openCodePluginFile,
26
26
  removeOpenCodeMcpServer
27
- } from "../chunk-6QPQG3Q5.js";
27
+ } from "../chunk-NDKFHLJI.js";
28
28
  import {
29
29
  exitOnHelpFlag
30
- } from "../chunk-MWP65CZ3.js";
30
+ } from "../chunk-C2OUUGCW.js";
31
31
  import {
32
32
  compatibleConfigFile,
33
33
  compatibleInstructionsFile,
@@ -40,29 +40,29 @@ import {
40
40
  removePusharySettings,
41
41
  removePusharyToolPermissions,
42
42
  restoreClaudeMcpServer
43
- } from "../chunk-3VSMTCXV.js";
44
- import "../chunk-226PID65.js";
43
+ } from "../chunk-ME55HQOI.js";
44
+ import "../chunk-FZW7Q7GM.js";
45
45
  import {
46
46
  removeGeminiSettings
47
- } from "../chunk-4EAILOOQ.js";
48
- import "../chunk-6MGD24SH.js";
49
- import "../chunk-FWAXBC3P.js";
47
+ } from "../chunk-VP6WDFVO.js";
48
+ import "../chunk-YKYFFCB5.js";
49
+ import "../chunk-7VOEZPJ4.js";
50
50
  import "../chunk-GMXKITVA.js";
51
51
  import "../chunk-6ICPEJY5.js";
52
- import "../chunk-S2LDTUHS.js";
53
- import "../chunk-6NL3LYUM.js";
54
- import "../chunk-JRKUJOZL.js";
55
- import "../chunk-JVUK5YFM.js";
52
+ import "../chunk-5EWNGYFD.js";
53
+ import "../chunk-IQCNOEQL.js";
54
+ import "../chunk-52JA2WTH.js";
55
+ import "../chunk-YL6HU2KF.js";
56
56
  import "../chunk-POFBE6ZY.js";
57
- import "../chunk-LYDO2SS6.js";
58
- import "../chunk-U6QEHPEF.js";
59
- import "../chunk-LUYAXSUS.js";
60
- import "../chunk-43ORAXAL.js";
57
+ import "../chunk-SYLJL63X.js";
58
+ import "../chunk-PSWFYNOX.js";
59
+ import "../chunk-3FQCZSEQ.js";
60
+ import "../chunk-NA5D62OI.js";
61
61
  import "../chunk-7QLSKOSU.js";
62
62
  import {
63
63
  EXIT
64
64
  } from "../chunk-KZERVKTD.js";
65
- import "../chunk-NPRFA7YM.js";
65
+ import "../chunk-VKTDXQGH.js";
66
66
  import {
67
67
  claudeJson,
68
68
  claudeMcpReceipt,
@@ -84,18 +84,18 @@ import {
84
84
  geminiSettings,
85
85
  removeCodexHooks,
86
86
  removeCodexSettings
87
- } from "../chunk-WP57USIT.js";
87
+ } from "../chunk-HJL5RBOU.js";
88
88
  import "../chunk-T7E75EKA.js";
89
- import "../chunk-7JM6TCMA.js";
89
+ import "../chunk-HTO2XULO.js";
90
90
  import {
91
91
  isInvocationOf
92
- } from "../chunk-4ATFPZ6X.js";
92
+ } from "../chunk-PNUWMEIY.js";
93
93
  import {
94
94
  DISCONNECTABLE_AGENTS,
95
95
  DISCONNECT_AGENT_IDS,
96
96
  hookCompatibleProfileBySource,
97
97
  normalizeAgentId
98
- } from "../chunk-TVDI7SX2.js";
98
+ } from "../chunk-AYV2NRYJ.js";
99
99
 
100
100
  // bin/pushary-disconnect.ts
101
101
  import { readdirSync, readFileSync, rmSync, writeFileSync } from "fs";