pushary 1.9.34 → 1.9.36

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 (101) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/README.md +1 -1
  3. package/dist/bin/pushary-bell-hook.js +25 -25
  4. package/dist/bin/pushary-bell.js +9 -9
  5. package/dist/bin/pushary-claude.js +24 -24
  6. package/dist/bin/pushary-clean.js +52 -45
  7. package/dist/bin/pushary-codex-bridge.js +17 -17
  8. package/dist/bin/pushary-codex-hook.js +30 -30
  9. package/dist/bin/pushary-codex.js +12 -12
  10. package/dist/bin/pushary-connect.js +24 -24
  11. package/dist/bin/pushary-cowork.js +5 -5
  12. package/dist/bin/pushary-daemon.js +32 -32
  13. package/dist/bin/pushary-disconnect.js +31 -28
  14. package/dist/bin/pushary-doctor.js +35 -34
  15. package/dist/bin/pushary-elicitation-hook.js +25 -25
  16. package/dist/bin/pushary-gemini-bridge.js +13 -13
  17. package/dist/bin/pushary-gemini-hook.js +27 -27
  18. package/dist/bin/pushary-hook.js +34 -30
  19. package/dist/bin/pushary-login.js +12 -12
  20. package/dist/bin/pushary-logout.js +24 -24
  21. package/dist/bin/pushary-mcp.js +9 -9
  22. package/dist/bin/pushary-mode.js +12 -12
  23. package/dist/bin/pushary-notification-hook.js +24 -24
  24. package/dist/bin/pushary-opencode-hook.js +26 -26
  25. package/dist/bin/pushary-permission-denied-hook.js +29 -29
  26. package/dist/bin/pushary-permission-hook.js +28 -28
  27. package/dist/bin/pushary-post-hook.js +24 -24
  28. package/dist/bin/pushary-prompt-hook.js +24 -24
  29. package/dist/bin/pushary-session-end-hook.js +24 -24
  30. package/dist/bin/pushary-session-start-hook.js +28 -28
  31. package/dist/bin/pushary-setup.js +90 -59
  32. package/dist/bin/pushary-stats.js +5 -5
  33. package/dist/bin/pushary-status.js +26 -26
  34. package/dist/bin/pushary-stop-hook.js +24 -24
  35. package/dist/bin/pushary-stopfailure-hook.js +24 -24
  36. package/dist/bin/pushary-suggestions.js +12 -12
  37. package/dist/bin/pushary-transcript-register.js +17 -17
  38. package/dist/bin/pushary-transcripts.js +7 -7
  39. package/dist/bin/pushary-upgrade.js +30 -30
  40. package/dist/bin/pushary-wait.js +12 -12
  41. package/dist/bin/pushary.js +6 -6
  42. package/dist/{chunk-4TFD3WAA.js → chunk-26AEFJSK.js} +2 -2
  43. package/dist/{chunk-7FQL5NWJ.js → chunk-2DZBIELP.js} +135 -23
  44. package/dist/{chunk-DCBSD22V.js → chunk-42FTY5II.js} +3 -3
  45. package/dist/{chunk-PEEJP4HN.js → chunk-4E4PZQFE.js} +4 -4
  46. package/dist/{chunk-6OGDGQTT.js → chunk-4NMDFPK7.js} +5 -5
  47. package/dist/{chunk-3FOPVVNO.js → chunk-556JCOMK.js} +80 -5
  48. package/dist/{chunk-FQQSW7MD.js → chunk-55XIK7YS.js} +1 -1
  49. package/dist/{chunk-36ZCFJUI.js → chunk-5ML6E3L7.js} +1 -1
  50. package/dist/{chunk-NMQLY4PE.js → chunk-5S2P2CK6.js} +2 -2
  51. package/dist/{chunk-SMRMWDFE.js → chunk-6LKIK7V2.js} +43 -17
  52. package/dist/{chunk-U7CN5HG2.js → chunk-7GQILLZD.js} +5 -5
  53. package/dist/{chunk-B5RLJ6QD.js → chunk-7MOFAAZ3.js} +9 -5
  54. package/dist/{chunk-H52HBSOD.js → chunk-BS64ZHTB.js} +3 -3
  55. package/dist/{chunk-A455TSHF.js → chunk-CHNSFTD5.js} +2 -2
  56. package/dist/{chunk-WFPXKCN4.js → chunk-CHWJ7ZXI.js} +5 -5
  57. package/dist/{chunk-22YSHBTI.js → chunk-CRZ4CP7C.js} +3 -3
  58. package/dist/{chunk-WMB3OCI4.js → chunk-CRZKFEEO.js} +2 -2
  59. package/dist/{chunk-NKAMF2YJ.js → chunk-DC6KHRVH.js} +1 -1
  60. package/dist/{chunk-ULJFIF5N.js → chunk-EGTVN6YV.js} +1 -1
  61. package/dist/{chunk-A5FFSXZE.js → chunk-EH635XAR.js} +2 -2
  62. package/dist/{chunk-57FFQR46.js → chunk-EQXMVKKD.js} +1 -1
  63. package/dist/{chunk-EJWSE7S7.js → chunk-ETGGQWBR.js} +4 -4
  64. package/dist/{chunk-WPSI4246.js → chunk-F5W7B7YT.js} +1 -1
  65. package/dist/{chunk-OZMGO4WF.js → chunk-FBKGGIFB.js} +5 -5
  66. package/dist/{chunk-7IVV4LLF.js → chunk-GNESC5EF.js} +3 -3
  67. package/dist/{chunk-YABMIGR3.js → chunk-GTEF64CJ.js} +1 -1
  68. package/dist/{chunk-CK3W7Q5S.js → chunk-H3MOTS2C.js} +1 -1
  69. package/dist/{chunk-7UGGCTTW.js → chunk-HCKBZYBW.js} +2 -2
  70. package/dist/{chunk-HJNCVY5F.js → chunk-IPYCRJGM.js} +7 -7
  71. package/dist/{chunk-VTAC5FBZ.js → chunk-J36W6ARB.js} +1 -1
  72. package/dist/{chunk-GC3SUMYD.js → chunk-JAA7YJJZ.js} +4 -4
  73. package/dist/{chunk-FDNMQEU6.js → chunk-JWURAYXK.js} +2 -2
  74. package/dist/{chunk-UPRNSD2T.js → chunk-K5X25GUV.js} +4 -4
  75. package/dist/{chunk-UDECNZYI.js → chunk-KCUTE3EB.js} +2 -2
  76. package/dist/{chunk-CPYOJRDN.js → chunk-L25KSDIB.js} +8 -8
  77. package/dist/{chunk-45OXG3VR.js → chunk-LL256PHP.js} +1 -1
  78. package/dist/{chunk-Z6HDYK2A.js → chunk-MBBPLF5T.js} +2 -2
  79. package/dist/{chunk-XLXG6MA5.js → chunk-ML42WKI7.js} +3 -3
  80. package/dist/{chunk-FYQG2UTK.js → chunk-MNXHKEXB.js} +2 -2
  81. package/dist/{chunk-IRU7DKJW.js → chunk-NE5OPCD5.js} +7 -3
  82. package/dist/{chunk-3LS3GFJW.js → chunk-PRKH662J.js} +1 -1
  83. package/dist/{chunk-E2OZZZKP.js → chunk-QHL3Y6D2.js} +2 -2
  84. package/dist/{chunk-SMSX4TCC.js → chunk-QPUTCMAK.js} +1 -1
  85. package/dist/{chunk-HVUBWLER.js → chunk-RNRCOOQZ.js} +11 -11
  86. package/dist/{chunk-LOYSI2CZ.js → chunk-RYXSY3RH.js} +5 -5
  87. package/dist/{chunk-7S7H7V5V.js → chunk-SHLLDMPM.js} +97 -40
  88. package/dist/{chunk-V4ZIG66K.js → chunk-TRNSODJ6.js} +1 -1
  89. package/dist/{chunk-DQKEGNTI.js → chunk-U2PUHT4W.js} +1 -1
  90. package/dist/{chunk-HQKYWUBF.js → chunk-UDHT3W7I.js} +2 -2
  91. package/dist/{chunk-QJ3ENGBT.js → chunk-ULDOQF4Q.js} +3 -3
  92. package/dist/{chunk-EGTRIM74.js → chunk-VRALPR4B.js} +4 -4
  93. package/dist/{chunk-4PIAOJAW.js → chunk-X4BPD5RD.js} +1 -1
  94. package/dist/{chunk-FPYBX36E.js → chunk-Y5FCB66K.js} +5 -5
  95. package/dist/{chunk-YRDNKY77.js → chunk-YRAPCLOB.js} +6 -6
  96. package/dist/{global-upgrade-IZCB4WIE.js → global-upgrade-EF6RZBPU.js} +6 -6
  97. package/dist/{paths-4WAA57P5.js → paths-F645XTFZ.js} +2 -2
  98. package/dist/{reapply-GJ73ZHDD.js → reapply-HJOTWJAN.js} +20 -20
  99. package/dist/src/index.js +19 -19
  100. package/dist/{upgrade-lock-J5PIKSYV.js → upgrade-lock-APUN7YKQ.js} +3 -3
  101. package/package.json +1 -1
@@ -2,7 +2,7 @@ import {
2
2
  IDLE_PROMPT_NOTIFICATION,
3
3
  NOTIFICATION_PUSH_TYPES,
4
4
  POSTTOOLUSE_MIRROR_ONLY_TOOLS
5
- } from "./chunk-DQKEGNTI.js";
5
+ } from "./chunk-U2PUHT4W.js";
6
6
  import {
7
7
  cancelQuestion,
8
8
  clientErrorKindOf,
@@ -10,28 +10,29 @@ import {
10
10
  reportClientError,
11
11
  sendNotification,
12
12
  waitForAnswer
13
- } from "./chunk-OZMGO4WF.js";
13
+ } from "./chunk-FBKGGIFB.js";
14
14
  import {
15
15
  withRetry
16
- } from "./chunk-H52HBSOD.js";
16
+ } from "./chunk-BS64ZHTB.js";
17
17
  import {
18
18
  getMachineId
19
- } from "./chunk-ULJFIF5N.js";
19
+ } from "./chunk-EGTVN6YV.js";
20
20
  import {
21
21
  reportedInstallSource
22
- } from "./chunk-NMQLY4PE.js";
22
+ } from "./chunk-5S2P2CK6.js";
23
23
  import {
24
24
  canonicalJson
25
- } from "./chunk-UPRNSD2T.js";
25
+ } from "./chunk-K5X25GUV.js";
26
26
  import {
27
27
  writeFileAtomic
28
28
  } from "./chunk-AQFEP65J.js";
29
29
  import {
30
30
  getApiKey,
31
31
  getBaseUrl
32
- } from "./chunk-3LS3GFJW.js";
32
+ } from "./chunk-PRKH662J.js";
33
33
  import {
34
34
  ACTION_BODY_MAX,
35
+ AGENTS,
35
36
  AGENT_LABELS_BY_TYPE,
36
37
  BLANK_TASK_INPUT_TOOL,
37
38
  BLOCKED_ACTION_GRANT_TTL_SECONDS,
@@ -63,7 +64,7 @@ import {
63
64
  toToolLookup,
64
65
  truncateLine,
65
66
  unansweredRefusalReason
66
- } from "./chunk-7FQL5NWJ.js";
67
+ } from "./chunk-2DZBIELP.js";
67
68
 
68
69
  // ../hook-mapping/src/describe.ts
69
70
  import { isAbsolute, relative, resolve } from "path";
@@ -72,8 +73,8 @@ var hookPrefixes = {
72
73
  PowerShell: (input) => `powershell: ${input.command ?? "(no command)"}`,
73
74
  Monitor: (input) => `monitor: ${input.command ?? "(no command)"}`,
74
75
  Write: (input) => `write file: ${input.file_path ?? "(unknown path)"}`,
75
- Edit: (input) => `edit file: ${input.file_path ?? "(unknown path)"}`,
76
- MultiEdit: (input) => `edit file: ${input.file_path ?? "(unknown path)"}`,
76
+ Edit: (input) => `edit file: ${editTarget(input) ?? "(unknown path)"}`,
77
+ MultiEdit: (input) => `edit file: ${editTarget(input) ?? "(unknown path)"}`,
77
78
  Read: (input) => `read file: ${input.file_path ?? "(unknown path)"}`,
78
79
  // Without an entry here the fallback stringifies the whole tool input, and for
79
80
  // ExitPlanMode that input IS the plan: the action line became a truncated dump of
@@ -104,13 +105,18 @@ var describeTodoProgress = (todos) => {
104
105
  if (label) return `${label.trim()} (${done}/${total} done)`;
105
106
  return `${done}/${total} tasks done`;
106
107
  };
108
+ var editTarget = (input) => {
109
+ if (typeof input.file_path === "string") return input.file_path;
110
+ if (!Array.isArray(input.file_paths) || !input.file_paths.every((path) => typeof path === "string")) return void 0;
111
+ return input.file_paths.join(", ");
112
+ };
107
113
  var eventPrefixes = {
108
114
  Bash: (input) => `ran: ${String(input.command ?? "")}`,
109
115
  PowerShell: (input) => `ran: ${String(input.command ?? "")}`,
110
116
  Monitor: (input) => `ran: ${String(input.command ?? "")}`,
111
117
  Write: (input) => `wrote: ${input.file_path ?? "unknown"}`,
112
- Edit: (input) => `edited: ${input.file_path ?? "unknown"}`,
113
- MultiEdit: (input) => `edited: ${input.file_path ?? "unknown"}`,
118
+ Edit: (input) => `edited: ${editTarget(input) ?? "unknown"}`,
119
+ MultiEdit: (input) => `edited: ${editTarget(input) ?? "unknown"}`,
114
120
  Read: (input) => `read: ${input.file_path ?? "unknown"}`,
115
121
  TodoWrite: (input) => describeTodoProgress(input.todos),
116
122
  Task: (input) => `ran subagent: ${describeTaskCall(input)}`,
@@ -233,11 +239,25 @@ var OPENCODE_TOOL_NAMES = {
233
239
  var PATCH_ARG_KEYS = ["command", "patch", "input"];
234
240
  var patchedFilesIn = (input) => [...new Set(PATCH_ARG_KEYS.flatMap((key) => parseApplyPatchFiles(input[key])))];
235
241
  var lookupsForInput = (profile, toolName, input, absolute) => {
236
- const lookup = toToolLookup(profile, toolName, input, absolute);
242
+ const gateInput = profile.source === "grok" && toolName === "apply_patch" ? { patch: input.patch, diff: input.patch } : input;
243
+ const lookup = toToolLookup(profile, toolName, gateInput, absolute);
237
244
  if (!lookup.unreadable) return [lookup];
238
- const files = patchedFilesIn(input);
245
+ const files = patchedFilesIn(gateInput);
239
246
  if (files.length === 0) return [lookup];
240
- return files.slice(0, GATE_MAX_TOOL_INPUTS + 1).map((file) => toToolLookup(profile, toolName, { ...input, file_path: absolute(file) }, absolute));
247
+ return files.slice(0, GATE_MAX_TOOL_INPUTS + 1).map((file) => toToolLookup(profile, toolName, { ...gateInput, file_path: absolute(file) }, absolute));
248
+ };
249
+ var compatibleToolLookup = (profile, toolName, input, cwd) => {
250
+ const absolute = (path) => cwd && !isAbsolute(path) ? resolve(cwd, path) : path;
251
+ const lookups = lookupsForInput(profile, toolName, input, absolute);
252
+ const first = lookups[0];
253
+ if (!first) return { tool: canonicalToolName(profile, toolName), input, unreadable: true };
254
+ if (lookups.length === 1) return first;
255
+ const { file_path, ...content } = first.input;
256
+ return {
257
+ tool: first.tool,
258
+ input: { ...content, file_paths: lookups.map((lookup) => lookup.input.file_path) },
259
+ unreadable: lookups.length > GATE_MAX_TOOL_INPUTS || lookups.some((lookup) => lookup.unreadable)
260
+ };
241
261
  };
242
262
  var compatibleGateInputs = (profile, toolName, toolInputs, cwd) => {
243
263
  const absolute = (path) => cwd && !isAbsolute(path) ? resolve(cwd, path) : path;
@@ -377,6 +397,10 @@ var deriveReceiptMeta = (toolName, toolInput, toolResult, cwd) => {
377
397
  ...toolInput,
378
398
  file_path: toolInput.file_path ?? toolInput.absolute_path ?? toolInput.path
379
399
  };
400
+ if (canonicalTool === "Edit" && Array.isArray(canonicalInput.file_paths)) {
401
+ const patch = firstString(canonicalInput.diff, canonicalInput.command, canonicalInput.patch, canonicalInput.input);
402
+ if (patch) return { kind: "edit", target: redactSecrets(patch).slice(0, RECEIPT_TARGET_MAX_LENGTH), ok };
403
+ }
380
404
  if (FILE_TARGET_TOOLS.has(canonicalTool)) {
381
405
  const filePath = canonicalInput.file_path;
382
406
  if (typeof filePath !== "string" || !filePath) return void 0;
@@ -462,7 +486,8 @@ var AGENT_IDENTITIES = {
462
486
  qoder: { type: "qoder", label: AGENT_LABELS_BY_TYPE.qoder },
463
487
  droid: { type: "droid", label: AGENT_LABELS_BY_TYPE.droid },
464
488
  devin: { type: "devin", label: AGENT_LABELS_BY_TYPE.devin },
465
- antigravity: { type: "antigravity_cli", label: AGENT_LABELS_BY_TYPE.antigravity_cli }
489
+ antigravity: { type: "antigravity_cli", label: AGENT_LABELS_BY_TYPE.antigravity_cli },
490
+ grok: { type: "grok", label: AGENTS.grok.label }
466
491
  };
467
492
  var TEAMMATE_IDLE_ACTION = "A teammate went idle";
468
493
  var CLAUDE_MEANINGS = {
@@ -495,6 +520,7 @@ var MEANING_BY_HOOK = {
495
520
  droid: compatibleMeanings("droid"),
496
521
  devin: compatibleMeanings("devin"),
497
522
  antigravity: compatibleMeanings("antigravity_cli"),
523
+ grok: { ...compatibleMeanings("grok"), PostToolUseFailure: { kind: "tool", event: "tool_complete" }, StopCancelled: { kind: "stop_failure", event: "turn_error" } },
498
524
  codex: {
499
525
  PostToolUse: { kind: "tool", event: "tool_complete" },
500
526
  UserPromptSubmit: { kind: "prompt", event: "user_prompt" },
@@ -2254,9 +2280,9 @@ export {
2254
2280
  UNNAMED_ACTION,
2255
2281
  describeToolCall,
2256
2282
  deriveToolTarget,
2257
- parseApplyPatchFiles,
2258
2283
  patchDeletesFiles,
2259
2284
  OPENCODE_TOOL_NAMES,
2285
+ compatibleToolLookup,
2260
2286
  canonicalGateInputs,
2261
2287
  scopePathFor,
2262
2288
  deriveActionBody,
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  APPROVAL_SETTINGS_PATH
3
- } from "./chunk-PEEJP4HN.js";
3
+ } from "./chunk-4E4PZQFE.js";
4
4
  import {
5
5
  readMacAppAgentKey
6
- } from "./chunk-EGTRIM74.js";
6
+ } from "./chunk-VRALPR4B.js";
7
7
  import {
8
8
  findExportedKeyLines,
9
9
  isAdoptedMacAppKey,
@@ -13,13 +13,13 @@ import {
13
13
  readConfigFileKey,
14
14
  readKeySource,
15
15
  readMacAppKeyPrefix
16
- } from "./chunk-DCBSD22V.js";
16
+ } from "./chunk-42FTY5II.js";
17
17
  import {
18
18
  absoluteUrl
19
- } from "./chunk-7IVV4LLF.js";
19
+ } from "./chunk-GNESC5EF.js";
20
20
  import {
21
21
  isValidApiKey
22
- } from "./chunk-7FQL5NWJ.js";
22
+ } from "./chunk-2DZBIELP.js";
23
23
 
24
24
  // src/key-revocation.ts
25
25
  var SELF_REVOKE_PATH = "/api/v1/server/keys/self/revoke";
@@ -1,16 +1,18 @@
1
1
  import {
2
2
  registerTranscript
3
- } from "./chunk-CPYOJRDN.js";
3
+ } from "./chunk-L25KSDIB.js";
4
4
  import {
5
5
  namedEvent
6
- } from "./chunk-7S7H7V5V.js";
6
+ } from "./chunk-SHLLDMPM.js";
7
7
  import {
8
8
  writeDegraded
9
- } from "./chunk-OZMGO4WF.js";
9
+ } from "./chunk-FBKGGIFB.js";
10
10
  import {
11
11
  claudeShapedHookInput,
12
- hookCompatibleProfileBySource
13
- } from "./chunk-7FQL5NWJ.js";
12
+ hookCompatibleProfileBySource,
13
+ isGrokHookPayload,
14
+ isGrokSessionEndStop
15
+ } from "./chunk-2DZBIELP.js";
14
16
 
15
17
  // src/tool-hook-input.ts
16
18
  var OPTIONAL_TEXT_FIELDS = ["hook_event_name", "session_id", "cwd", "transcript_path", "tool_use_id", "permission_mode"];
@@ -89,7 +91,9 @@ var readHookInputOutcome = async (source, fallbackEvent = "", stdin = process.st
89
91
  return UNREADABLE;
90
92
  }
91
93
  if (!parsed || typeof parsed !== "object" || Array.isArray(parsed)) return UNREADABLE;
94
+ if (source !== "grok" && process.env.GROK_SESSION_ID && isGrokHookPayload(parsed)) return UNREADABLE;
92
95
  const shaped = inClaudeShape(source, namedEvent(process.argv) ?? fallbackEvent, parsed);
96
+ if (source === "grok" && isGrokSessionEndStop(shaped.hook_event_name, shaped.reason)) return UNREADABLE;
93
97
  const input = parseInput ? parseInput(shaped) : shaped;
94
98
  if (input === null) return UNREADABLE;
95
99
  const event = eventNameOf(input) ?? fallbackEvent;
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  keyCheckFromResponse
3
- } from "./chunk-7IVV4LLF.js";
3
+ } from "./chunk-GNESC5EF.js";
4
4
  import {
5
5
  installNetworkDefaults
6
- } from "./chunk-22YSHBTI.js";
6
+ } from "./chunk-CRZ4CP7C.js";
7
7
  import {
8
8
  getBaseUrl
9
- } from "./chunk-3LS3GFJW.js";
9
+ } from "./chunk-PRKH662J.js";
10
10
 
11
11
  // src/retry.ts
12
12
  var isRetryable = (err) => {
@@ -8,10 +8,10 @@ import {
8
8
  codexHooksJsonIn,
9
9
  isPusharyCodexCommand,
10
10
  resolvePathBinary
11
- } from "./chunk-UPRNSD2T.js";
11
+ } from "./chunk-K5X25GUV.js";
12
12
  import {
13
13
  getPackageVersion
14
- } from "./chunk-7FQL5NWJ.js";
14
+ } from "./chunk-2DZBIELP.js";
15
15
 
16
16
  // src/codex-app-server.ts
17
17
  import { existsSync, realpathSync } from "fs";
@@ -1,15 +1,15 @@
1
1
  import {
2
2
  compatibleConfigFile
3
- } from "./chunk-7S7H7V5V.js";
3
+ } from "./chunk-SHLLDMPM.js";
4
4
  import {
5
5
  hookOwnerOf,
6
6
  hookOwnerOfCommands,
7
7
  liveBridgeProbe,
8
8
  resolveBridgeStub
9
- } from "./chunk-6OGDGQTT.js";
9
+ } from "./chunk-4NMDFPK7.js";
10
10
  import {
11
11
  AGENT_CHOICES
12
- } from "./chunk-57FFQR46.js";
12
+ } from "./chunk-EQXMVKKD.js";
13
13
  import {
14
14
  claudeSettings,
15
15
  codexHooksJson,
@@ -18,7 +18,7 @@ import {
18
18
  guardedArgv,
19
19
  pusharyDir,
20
20
  vscodePluginDir
21
- } from "./chunk-UPRNSD2T.js";
21
+ } from "./chunk-K5X25GUV.js";
22
22
  import {
23
23
  readJsonSafe
24
24
  } from "./chunk-AQFEP65J.js";
@@ -29,7 +29,7 @@ import {
29
29
  OPENCODE_APPROVAL_EVENT,
30
30
  hookCompatibleProfile,
31
31
  isRecord
32
- } from "./chunk-7FQL5NWJ.js";
32
+ } from "./chunk-2DZBIELP.js";
33
33
 
34
34
  // src/opencode-plugin.ts
35
35
  var OPENCODE_PLUGIN_MARKER = "pushary-opencode-plugin w1";
@@ -1,16 +1,16 @@
1
1
  import {
2
2
  readExistingMachineId
3
- } from "./chunk-ULJFIF5N.js";
3
+ } from "./chunk-EGTVN6YV.js";
4
4
  import {
5
5
  NetworkError
6
6
  } from "./chunk-7QLSKOSU.js";
7
7
  import {
8
8
  getBaseUrl
9
- } from "./chunk-3LS3GFJW.js";
9
+ } from "./chunk-PRKH662J.js";
10
10
  import {
11
11
  clientContextHeaders,
12
12
  getPackageVersion
13
- } from "./chunk-7FQL5NWJ.js";
13
+ } from "./chunk-2DZBIELP.js";
14
14
 
15
15
  // src/cli/net.ts
16
16
  import { createRequire } from "module";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  pusharyDir
3
- } from "./chunk-UPRNSD2T.js";
3
+ } from "./chunk-K5X25GUV.js";
4
4
  import {
5
5
  readJsonSafe,
6
6
  writeFileAtomic
@@ -13,7 +13,7 @@ import {
13
13
  serializeDeclinedAgents,
14
14
  withDeclinedAgent,
15
15
  withoutDeclinedAgent
16
- } from "./chunk-7FQL5NWJ.js";
16
+ } from "./chunk-2DZBIELP.js";
17
17
 
18
18
  // src/declined-agents-file.ts
19
19
  import { join } from "path";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  DEFAULT_SESSION
3
- } from "./chunk-SMRMWDFE.js";
3
+ } from "./chunk-6LKIK7V2.js";
4
4
 
5
5
  // src/answer.ts
6
6
  var isDeferAnswer = (value) => value === "defer";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  pusharyDir
3
- } from "./chunk-UPRNSD2T.js";
3
+ } from "./chunk-K5X25GUV.js";
4
4
  import {
5
5
  writeFileAtomic
6
6
  } from "./chunk-AQFEP65J.js";
@@ -3,10 +3,10 @@ import {
3
3
  } from "./chunk-KZERVKTD.js";
4
4
  import {
5
5
  renderCommandHelp
6
- } from "./chunk-45OXG3VR.js";
6
+ } from "./chunk-LL256PHP.js";
7
7
  import {
8
8
  getPackageVersion
9
- } from "./chunk-7FQL5NWJ.js";
9
+ } from "./chunk-2DZBIELP.js";
10
10
 
11
11
  // src/cli/usage.ts
12
12
  var exitOnHelpFlag = (command) => {
@@ -10,7 +10,7 @@ import {
10
10
  isSetupConnectMode,
11
11
  isValidApiKey,
12
12
  normalizeAgentId
13
- } from "./chunk-7FQL5NWJ.js";
13
+ } from "./chunk-2DZBIELP.js";
14
14
 
15
15
  // src/setup/options.ts
16
16
  var AGENT_CHOICES = SETUP_AGENT_CHOICES;
@@ -1,13 +1,13 @@
1
1
  import {
2
2
  MCP_BRIDGE_BINARY
3
- } from "./chunk-UDECNZYI.js";
3
+ } from "./chunk-KCUTE3EB.js";
4
4
  import {
5
5
  KEY_FILE_MODE
6
- } from "./chunk-DCBSD22V.js";
6
+ } from "./chunk-42FTY5II.js";
7
7
  import {
8
8
  NpmMissingError,
9
9
  NpmPermissionError
10
- } from "./chunk-UPRNSD2T.js";
10
+ } from "./chunk-K5X25GUV.js";
11
11
  import {
12
12
  readJsonSafe,
13
13
  writeFileAtomic,
@@ -15,7 +15,7 @@ import {
15
15
  } from "./chunk-AQFEP65J.js";
16
16
  import {
17
17
  NPX_LATEST_COMMAND
18
- } from "./chunk-45OXG3VR.js";
18
+ } from "./chunk-LL256PHP.js";
19
19
 
20
20
  // src/instruction-file.ts
21
21
  import { existsSync, readFileSync, writeFileSync, mkdirSync, rmSync } from "fs";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  readConfigFileKey
3
- } from "./chunk-DCBSD22V.js";
3
+ } from "./chunk-42FTY5II.js";
4
4
 
5
5
  // src/bell/fleet.ts
6
6
  import { closeSync, constants, futimesSync, lstatSync, mkdirSync, openSync, readdirSync, unlinkSync } from "fs";
@@ -5,18 +5,18 @@ import {
5
5
  import {
6
6
  SubscriptionRequiredError,
7
7
  callMcpTool
8
- } from "./chunk-H52HBSOD.js";
8
+ } from "./chunk-BS64ZHTB.js";
9
9
  import {
10
10
  installNetworkDefaults,
11
11
  isNetworkFailure
12
- } from "./chunk-22YSHBTI.js";
12
+ } from "./chunk-CRZ4CP7C.js";
13
13
  import {
14
14
  clientReportClaims
15
- } from "./chunk-UPRNSD2T.js";
15
+ } from "./chunk-K5X25GUV.js";
16
16
  import {
17
17
  getApiKey,
18
18
  getBaseUrl
19
- } from "./chunk-3LS3GFJW.js";
19
+ } from "./chunk-PRKH662J.js";
20
20
  import {
21
21
  ASK_AGENT_NAME_MAX,
22
22
  CLIENT_REPORT_PATH,
@@ -24,7 +24,7 @@ import {
24
24
  GATE_PERMISSION_MODE_MAX_LENGTH,
25
25
  degradedLine,
26
26
  truncateLine
27
- } from "./chunk-7FQL5NWJ.js";
27
+ } from "./chunk-2DZBIELP.js";
28
28
 
29
29
  // src/client-report-claim.ts
30
30
  import { createHash } from "crypto";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  pusharyFetch
3
- } from "./chunk-22YSHBTI.js";
3
+ } from "./chunk-CRZ4CP7C.js";
4
4
  import {
5
5
  NetworkError
6
6
  } from "./chunk-7QLSKOSU.js";
@@ -9,11 +9,11 @@ import {
9
9
  } from "./chunk-KZERVKTD.js";
10
10
  import {
11
11
  getBaseUrl
12
- } from "./chunk-3LS3GFJW.js";
12
+ } from "./chunk-PRKH662J.js";
13
13
  import {
14
14
  isValidApiKey,
15
15
  normalizeKeyScope
16
- } from "./chunk-7FQL5NWJ.js";
16
+ } from "./chunk-2DZBIELP.js";
17
17
 
18
18
  // src/session.ts
19
19
  var samePusharyAccount = (left, right) => left.kind === "ok" && right.kind === "ok" && left.identity.workspaceId !== "" && left.identity.workspaceId === right.identity.workspaceId && left.identity.siteId === right.identity.siteId;
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  HOOK_HOLD_BUDGET_ENV,
3
3
  hookHoldBudgetProof
4
- } from "./chunk-7FQL5NWJ.js";
4
+ } from "./chunk-2DZBIELP.js";
5
5
 
6
6
  // src/hold-budget.ts
7
7
  var takeHookHoldBudget = (args = process.argv.slice(2), env = process.env) => {
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  redactSecretsFromContent
3
- } from "./chunk-7FQL5NWJ.js";
3
+ } from "./chunk-2DZBIELP.js";
4
4
 
5
5
  // src/crypto.ts
6
6
  import nacl from "tweetnacl";
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-POFBE6ZY.js";
4
4
  import {
5
5
  autoUpdateState
6
- } from "./chunk-UPRNSD2T.js";
6
+ } from "./chunk-K5X25GUV.js";
7
7
  import {
8
8
  readJsonSafe,
9
9
  writeJsonAtomic
@@ -15,7 +15,7 @@ import {
15
15
  globalUpgradeEntry,
16
16
  isAutoUpdateResult,
17
17
  ownPackageRoot
18
- } from "./chunk-7FQL5NWJ.js";
18
+ } from "./chunk-2DZBIELP.js";
19
19
 
20
20
  // src/auto-update.ts
21
21
  import { spawn } from "child_process";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  ensureCodexTrustsPusharyHooks
3
- } from "./chunk-A455TSHF.js";
3
+ } from "./chunk-CHNSFTD5.js";
4
4
  import {
5
5
  detectClaudeVersion
6
6
  } from "./chunk-RIVNNBEK.js";
@@ -12,7 +12,7 @@ import {
12
12
  openCodeHookArgv,
13
13
  openCodePluginDir,
14
14
  openCodeWired
15
- } from "./chunk-WFPXKCN4.js";
15
+ } from "./chunk-CHWJ7ZXI.js";
16
16
  import {
17
17
  addClaudeMcpServer,
18
18
  addCompatibleHooks,
@@ -20,7 +20,7 @@ import {
20
20
  addPusharyToolPermissions,
21
21
  compatibleConfigFile,
22
22
  hasCompatibleHooks
23
- } from "./chunk-7S7H7V5V.js";
23
+ } from "./chunk-SHLLDMPM.js";
24
24
  import {
25
25
  claudeUnprovenHolds,
26
26
  claudeWired,
@@ -28,7 +28,7 @@ import {
28
28
  codexWired,
29
29
  geminiWired,
30
30
  planHooks
31
- } from "./chunk-6OGDGQTT.js";
31
+ } from "./chunk-4NMDFPK7.js";
32
32
  import {
33
33
  CLAUDE_HOOK_BINARY,
34
34
  CLAUDE_HOOK_EVENTS,
@@ -39,7 +39,7 @@ import {
39
39
  needsReregistration,
40
40
  registrationSignatures,
41
41
  supportedClaudeEvents
42
- } from "./chunk-QJ3ENGBT.js";
42
+ } from "./chunk-ULDOQF4Q.js";
43
43
  import {
44
44
  formatVersion
45
45
  } from "./chunk-6ICPEJY5.js";
@@ -63,7 +63,7 @@ import {
63
63
  resolveGlobalBinDir,
64
64
  resolveGlobalBinary,
65
65
  vscodePluginMcp
66
- } from "./chunk-UPRNSD2T.js";
66
+ } from "./chunk-K5X25GUV.js";
67
67
  import {
68
68
  readJsonSafe,
69
69
  writeFileAtomic,
@@ -73,7 +73,7 @@ import {
73
73
  HOOK_COMPATIBLE_PROFILES,
74
74
  isCompatibleAgentType,
75
75
  isRecord
76
- } from "./chunk-7FQL5NWJ.js";
76
+ } from "./chunk-2DZBIELP.js";
77
77
 
78
78
  // src/reapply.ts
79
79
  import { dirname, join } from "path";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  isSafeReadOnlyCommand
3
- } from "./chunk-7FQL5NWJ.js";
3
+ } from "./chunk-2DZBIELP.js";
4
4
 
5
5
  // src/ledger.ts
6
6
  import { appendFileSync, existsSync, mkdirSync, readFileSync, renameSync, rmSync, statSync } from "fs";
@@ -1,17 +1,17 @@
1
1
  import {
2
2
  compatibleConfigFile,
3
3
  hasCompatibleHooks
4
- } from "./chunk-7S7H7V5V.js";
4
+ } from "./chunk-SHLLDMPM.js";
5
5
  import {
6
6
  pusharyHookExecutable
7
- } from "./chunk-6OGDGQTT.js";
7
+ } from "./chunk-4NMDFPK7.js";
8
8
  import {
9
9
  isProtectedByScope,
10
10
  registerHookEntry
11
- } from "./chunk-UPRNSD2T.js";
11
+ } from "./chunk-K5X25GUV.js";
12
12
  import {
13
13
  isRecord
14
- } from "./chunk-7FQL5NWJ.js";
14
+ } from "./chunk-2DZBIELP.js";
15
15
 
16
16
  // src/cursor-config.ts
17
17
  var hookCommandOf = (entry) => {
@@ -4,10 +4,10 @@ import {
4
4
  keyPrefix,
5
5
  readConfigFileKey,
6
6
  readMacAppKeyPrefix
7
- } from "./chunk-DCBSD22V.js";
7
+ } from "./chunk-42FTY5II.js";
8
8
  import {
9
9
  NPX_LATEST_COMMAND
10
- } from "./chunk-45OXG3VR.js";
10
+ } from "./chunk-LL256PHP.js";
11
11
 
12
12
  // src/key-signed-out.ts
13
13
  var VERDICT_BY_CHECK = {
@@ -13,7 +13,7 @@ import {
13
13
  isReleaseVersion,
14
14
  ownPackageName,
15
15
  withHookHoldBudget
16
- } from "./chunk-7FQL5NWJ.js";
16
+ } from "./chunk-2DZBIELP.js";
17
17
 
18
18
  // src/setup/paths.ts
19
19
  import { homedir as homedir2 } from "os";
@@ -395,9 +395,9 @@ var installGlobally = (options) => {
395
395
  }
396
396
  const started = (async () => {
397
397
  if (!npmIsOnPath()) throw new NpmMissingError();
398
- const { withUpgradeLock } = await import("./global-upgrade-IZCB4WIE.js");
399
- const { installWithUpgradeLock, ownsUpgradeLock } = await import("./upgrade-lock-J5PIKSYV.js");
400
- const { autoUpdateLock: autoUpdateLock2 } = await import("./paths-4WAA57P5.js");
398
+ const { withUpgradeLock } = await import("./global-upgrade-EF6RZBPU.js");
399
+ const { installWithUpgradeLock, ownsUpgradeLock } = await import("./upgrade-lock-APUN7YKQ.js");
400
+ const { autoUpdateLock: autoUpdateLock2 } = await import("./paths-F645XTFZ.js");
401
401
  let result = "skipped";
402
402
  const install = async () => {
403
403
  const platform = process.platform;
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  parseSseMessages
3
- } from "./chunk-H52HBSOD.js";
3
+ } from "./chunk-BS64ZHTB.js";
4
4
  import {
5
5
  NPX_LATEST_COMMAND
6
- } from "./chunk-45OXG3VR.js";
6
+ } from "./chunk-LL256PHP.js";
7
7
 
8
8
  // src/mcp-stdio-bridge.ts
9
9
  var MCP_BRIDGE_BINARY = "pushary-mcp";