pushary 1.9.127 → 1.9.128

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 (110) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/dist/{api-KE4OJ3NK.js → api-JRRKVMXE.js} +8 -8
  3. package/dist/bin/pushary-audit.js +2 -2
  4. package/dist/bin/pushary-bell-hook.js +17 -17
  5. package/dist/bin/pushary-bell.js +5 -5
  6. package/dist/bin/pushary-claude.js +18 -16
  7. package/dist/bin/pushary-clean.js +27 -27
  8. package/dist/bin/pushary-codex-bridge.js +13 -13
  9. package/dist/bin/pushary-codex-hook.js +23 -23
  10. package/dist/bin/pushary-codex-session.js +7 -7
  11. package/dist/bin/pushary-codex.js +9 -9
  12. package/dist/bin/pushary-connect.js +19 -19
  13. package/dist/bin/pushary-cowork.js +2 -2
  14. package/dist/bin/pushary-daemon.js +32 -32
  15. package/dist/bin/pushary-disconnect.js +19 -19
  16. package/dist/bin/pushary-display-hook.js +9 -9
  17. package/dist/bin/pushary-doctor.js +31 -31
  18. package/dist/bin/pushary-elicitation-hook.js +18 -18
  19. package/dist/bin/pushary-gemini-bridge.js +8 -8
  20. package/dist/bin/pushary-gemini-hook.js +21 -21
  21. package/dist/bin/pushary-hook.js +23 -23
  22. package/dist/bin/pushary-login.js +14 -14
  23. package/dist/bin/pushary-logout.js +17 -17
  24. package/dist/bin/pushary-mcp.js +9 -9
  25. package/dist/bin/pushary-mode.js +9 -9
  26. package/dist/bin/pushary-notification-hook.js +17 -17
  27. package/dist/bin/pushary-opencode-hook.js +20 -20
  28. package/dist/bin/pushary-permission-denied-hook.js +22 -22
  29. package/dist/bin/pushary-permission-hook.js +22 -22
  30. package/dist/bin/pushary-post-hook.js +17 -17
  31. package/dist/bin/pushary-prompt-hook.js +17 -17
  32. package/dist/bin/pushary-session-end-hook.js +17 -17
  33. package/dist/bin/pushary-session-start-hook.js +26 -26
  34. package/dist/bin/pushary-setup.js +37 -37
  35. package/dist/bin/pushary-stats.js +2 -2
  36. package/dist/bin/pushary-status.js +23 -23
  37. package/dist/bin/pushary-stop-hook.js +17 -17
  38. package/dist/bin/pushary-stopfailure-hook.js +17 -17
  39. package/dist/bin/pushary-suggestions.js +9 -9
  40. package/dist/bin/pushary-transcript-register.js +9 -9
  41. package/dist/bin/pushary-transcripts.js +17 -17
  42. package/dist/bin/pushary-upgrade.js +33 -33
  43. package/dist/bin/pushary-wait.js +9 -9
  44. package/dist/bin/pushary.js +5 -5
  45. package/dist/{chunk-UXGGVCH5.js → chunk-27GQFR5J.js} +5 -5
  46. package/dist/{chunk-MKUFVNZL.js → chunk-2FIS7KDD.js} +1 -1
  47. package/dist/{chunk-7LZQK7EB.js → chunk-2XTK53YK.js} +4 -4
  48. package/dist/{chunk-JW6JSBGS.js → chunk-44ONTVVI.js} +1 -1
  49. package/dist/{chunk-6IL3DQY6.js → chunk-4B3KU7O4.js} +9 -9
  50. package/dist/{chunk-MXUQJIQS.js → chunk-4CSFH736.js} +2 -2
  51. package/dist/{chunk-LRS26PXE.js → chunk-5QFC3NCU.js} +3 -3
  52. package/dist/{chunk-YT47T5TM.js → chunk-A5GLAQNK.js} +3 -3
  53. package/dist/{chunk-7M5M3CF5.js → chunk-ABMXITA2.js} +2 -2
  54. package/dist/{chunk-SO44USAF.js → chunk-ALRDG7SI.js} +2 -2
  55. package/dist/{chunk-27FILS44.js → chunk-BZUQXL43.js} +4 -4
  56. package/dist/{chunk-I2D23TBS.js → chunk-DPXOELLZ.js} +2 -2
  57. package/dist/{chunk-2M7ZV6NA.js → chunk-E27MPYOC.js} +2 -2
  58. package/dist/{chunk-FN77IVAI.js → chunk-E66FG2DC.js} +3 -3
  59. package/dist/{chunk-PO5Z73HT.js → chunk-FMUNFP4O.js} +1 -1
  60. package/dist/{chunk-YWA4Q42Z.js → chunk-FNLUSPM7.js} +1 -1
  61. package/dist/{chunk-DRYQ7RLF.js → chunk-FXLWWEVQ.js} +1 -1
  62. package/dist/{chunk-I365OPWV.js → chunk-GFCAZD2W.js} +5 -5
  63. package/dist/{chunk-6VMEUCKP.js → chunk-H6MBABPQ.js} +4 -4
  64. package/dist/{chunk-MBSM6GX5.js → chunk-HHI3MSJJ.js} +4 -4
  65. package/dist/{chunk-7ZTVBYPE.js → chunk-HVJIITL4.js} +3 -3
  66. package/dist/{chunk-2FOCCDVV.js → chunk-IRZNQAQO.js} +3 -3
  67. package/dist/{chunk-YANGE5FG.js → chunk-IYM3CXWZ.js} +6 -6
  68. package/dist/{chunk-B5OX2WCA.js → chunk-J35EMNLD.js} +1 -1
  69. package/dist/{chunk-S7QATB3I.js → chunk-K256TL7E.js} +4 -4
  70. package/dist/{chunk-BLBK7VV7.js → chunk-KEJFRU2Q.js} +3 -3
  71. package/dist/{chunk-WCPLMERI.js → chunk-LBROBXUC.js} +4 -4
  72. package/dist/{chunk-EUIDFLPM.js → chunk-LCFSGKQW.js} +2 -2
  73. package/dist/{chunk-4HDFEBPU.js → chunk-LG3B5BDP.js} +7 -7
  74. package/dist/{chunk-OPBPSPMU.js → chunk-LHDKVRIP.js} +3 -3
  75. package/dist/chunk-NKV5AALF.js +62 -0
  76. package/dist/{chunk-JLUMELYR.js → chunk-O55LZDLD.js} +1 -1
  77. package/dist/{chunk-SNF3OTPB.js → chunk-ODUAW2CX.js} +4 -4
  78. package/dist/{chunk-LAPXXS6K.js → chunk-OKCK7DNN.js} +2 -2
  79. package/dist/{chunk-6MFX5NIX.js → chunk-PWC4IK4J.js} +1 -1
  80. package/dist/{chunk-Q3KKA5IZ.js → chunk-PWTW7E5H.js} +2 -2
  81. package/dist/{chunk-MFVKY6NV.js → chunk-RK5VSHBW.js} +2 -2
  82. package/dist/{chunk-RBPPX663.js → chunk-TQBYF3W6.js} +1 -1
  83. package/dist/{chunk-P2WA3YY2.js → chunk-VIUANC2F.js} +1 -1
  84. package/dist/{chunk-STGEWWFW.js → chunk-VKIQR33O.js} +2 -2
  85. package/dist/{chunk-NZEFACKS.js → chunk-VQJT6X3B.js} +2 -2
  86. package/dist/{chunk-DK6R5IVR.js → chunk-VRUVMUHN.js} +1 -1
  87. package/dist/{chunk-ZVU6WMMU.js → chunk-WIIMW5YO.js} +31 -3
  88. package/dist/{chunk-KQKHSJOM.js → chunk-WJ4W33WN.js} +4 -4
  89. package/dist/{chunk-QPS5STKF.js → chunk-WVFKRWPE.js} +3 -3
  90. package/dist/{chunk-YZ74AFIU.js → chunk-X4MUM7JK.js} +3 -3
  91. package/dist/{chunk-EBJ5QUVE.js → chunk-XNKE67NJ.js} +1 -1
  92. package/dist/{chunk-RF66KSSY.js → chunk-XOYZK3XP.js} +2 -2
  93. package/dist/{chunk-XUN23MM6.js → chunk-XRJU7CZ2.js} +2 -2
  94. package/dist/{chunk-IA3E675D.js → chunk-XSG42MMY.js} +1 -1
  95. package/dist/{chunk-PO6ECYXG.js → chunk-YZHVM5LY.js} +1 -1
  96. package/dist/{chunk-C2L477NM.js → chunk-Z7RGHFAW.js} +3 -3
  97. package/dist/{chunk-5WF4NBHQ.js → chunk-ZLWWDEQB.js} +9 -9
  98. package/dist/{codex-app-cards-switch-4BHVMMAM.js → codex-app-cards-switch-SC3YKXBG.js} +8 -8
  99. package/dist/{codex-desktop-launch-45I4Y5PM.js → codex-desktop-launch-2ODSLA7V.js} +1 -1
  100. package/dist/{codex-session-launch-DANHY5JS.js → codex-session-launch-AD3AVJC4.js} +13 -13
  101. package/dist/{global-upgrade-SIAPPAFR.js → global-upgrade-LBL5RJV5.js} +8 -8
  102. package/dist/{identity-DCDWOISV.js → identity-RCT5QKWZ.js} +4 -4
  103. package/dist/{live-capabilities-VB7PM2DJ.js → live-capabilities-WZHU2A5C.js} +4 -4
  104. package/dist/{paths-346XNBFK.js → paths-JK4EFG5J.js} +3 -3
  105. package/dist/{reapply-6AMFTGQY.js → reapply-4V5AZJFZ.js} +21 -21
  106. package/dist/src/index.js +22 -22
  107. package/dist/{upgrade-lock-YT4O5QW6.js → upgrade-lock-MU5RYC57.js} +4 -4
  108. package/dist/{usage-MUXR5SZ7.js → usage-UO3T2VK7.js} +2 -2
  109. package/package.json +1 -1
  110. package/dist/chunk-XHKBHWLX.js +0 -14
@@ -3,10 +3,10 @@ import {
3
3
  forkFinishWithUpgradeLock,
4
4
  installWithUpgradeLock,
5
5
  releaseAutoUpdateLock
6
- } from "./chunk-I2D23TBS.js";
6
+ } from "./chunk-DPXOELLZ.js";
7
7
  import {
8
8
  phoneStartIsRequired
9
- } from "./chunk-MXUQJIQS.js";
9
+ } from "./chunk-4CSFH736.js";
10
10
  import {
11
11
  describeAutoUpdateCheck,
12
12
  globalInstallLocation,
@@ -18,19 +18,19 @@ import {
18
18
  readAutoUpdateState,
19
19
  updateAutoUpdateState,
20
20
  upgradeEntryFor
21
- } from "./chunk-STGEWWFW.js";
21
+ } from "./chunk-VKIQR33O.js";
22
22
  import {
23
23
  autoUpdateLock,
24
24
  autoUpdateLog,
25
25
  autoUpdateState
26
- } from "./chunk-EUIDFLPM.js";
26
+ } from "./chunk-LCFSGKQW.js";
27
27
  import {
28
28
  execNpm,
29
29
  fetchLatestPublishedVersion,
30
30
  npmErrorMessage,
31
31
  readGlobalCliInstallAt,
32
32
  readGlobalPrefix
33
- } from "./chunk-KQKHSJOM.js";
33
+ } from "./chunk-WJ4W33WN.js";
34
34
  import {
35
35
  EXIT
36
36
  } from "./chunk-BG4HHB7E.js";
@@ -45,7 +45,7 @@ import {
45
45
  isSameMajorVersion,
46
46
  ownPackageRoot,
47
47
  packageVersionAt
48
- } from "./chunk-ZVU6WMMU.js";
48
+ } from "./chunk-WIIMW5YO.js";
49
49
 
50
50
  // src/global-upgrade.ts
51
51
  import { existsSync } from "fs";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  pusharyFetch
3
- } from "./chunk-2M7ZV6NA.js";
3
+ } from "./chunk-E27MPYOC.js";
4
4
  import {
5
5
  getBaseUrl
6
6
  } from "./chunk-2M7FELUY.js";
@@ -1,19 +1,19 @@
1
1
  import {
2
2
  announceSubscriptionRequired,
3
3
  isDeferAnswer
4
- } from "./chunk-JW6JSBGS.js";
4
+ } from "./chunk-44ONTVVI.js";
5
5
  import {
6
6
  askUser,
7
7
  isDecisionStopped,
8
8
  isQuestionLimitRefusal,
9
9
  waitForQuestion
10
- } from "./chunk-7ZTVBYPE.js";
10
+ } from "./chunk-HVJIITL4.js";
11
11
  import {
12
12
  SubscriptionRequiredError
13
- } from "./chunk-SO44USAF.js";
13
+ } from "./chunk-ALRDG7SI.js";
14
14
  import {
15
15
  getMachineId
16
- } from "./chunk-RBPPX663.js";
16
+ } from "./chunk-TQBYF3W6.js";
17
17
  import {
18
18
  ASK_CONTEXT_MAX,
19
19
  agentQuestionContext,
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  CLAUDE_CODE_AGENT
3
- } from "./chunk-I365OPWV.js";
3
+ } from "./chunk-GFCAZD2W.js";
4
4
  import {
5
5
  addGeminiMcpServer,
6
6
  removeGeminiMcpServer
7
- } from "./chunk-Q3KKA5IZ.js";
7
+ } from "./chunk-PWTW7E5H.js";
8
8
  import {
9
9
  compatibleToolLookup
10
10
  } from "./chunk-7OSBFMRV.js";
@@ -19,7 +19,7 @@ import {
19
19
  isPusharyHook,
20
20
  registerHookEntry,
21
21
  removeClaudeMcpServers
22
- } from "./chunk-EUIDFLPM.js";
22
+ } from "./chunk-LCFSGKQW.js";
23
23
  import {
24
24
  HOOK_COMPATIBLE_PROFILES,
25
25
  PHONE_ANSWERED_TOOLS,
@@ -3,17 +3,17 @@ import {
3
3
  expectedLaunchCapabilities,
4
4
  hasSpawnProvider,
5
5
  resolveControlPolicy
6
- } from "./chunk-MXUQJIQS.js";
6
+ } from "./chunk-4CSFH736.js";
7
7
  import {
8
8
  daemonHasRemoteProof,
9
9
  daemonServiceManagerAvailable,
10
10
  hasDaemonServiceDefinition,
11
11
  readDaemonNeedsLogin,
12
12
  readDaemonStatus
13
- } from "./chunk-UXGGVCH5.js";
13
+ } from "./chunk-27GQFR5J.js";
14
14
  import {
15
15
  getMachineId
16
- } from "./chunk-RBPPX663.js";
16
+ } from "./chunk-TQBYF3W6.js";
17
17
  import {
18
18
  readControlMode,
19
19
  readKeySource
@@ -23,7 +23,7 @@ import {
23
23
  } from "./chunk-2M7FELUY.js";
24
24
  import {
25
25
  getPackageVersion
26
- } from "./chunk-ZVU6WMMU.js";
26
+ } from "./chunk-WIIMW5YO.js";
27
27
 
28
28
  // src/machines.ts
29
29
  import { hostname } from "os";
@@ -3,13 +3,13 @@ import {
3
3
  formatVersion,
4
4
  quoteIfNeeded,
5
5
  shellDoubleQuoted
6
- } from "./chunk-KQKHSJOM.js";
6
+ } from "./chunk-WJ4W33WN.js";
7
7
  import {
8
8
  writeFileAtomic
9
9
  } from "./chunk-T5I4PKOQ.js";
10
10
  import {
11
11
  cmdShimScriptOf
12
- } from "./chunk-ZVU6WMMU.js";
12
+ } from "./chunk-WIIMW5YO.js";
13
13
  import {
14
14
  CLAUDE_MCP_PRETOOLUSE_MATCHER,
15
15
  CLAUDE_PRETOOLUSE_MATCHER,
@@ -1,31 +1,31 @@
1
1
  import {
2
2
  MANAGED_CLAUDE_SETTINGS_BY_PLATFORM
3
- } from "./chunk-PO6ECYXG.js";
3
+ } from "./chunk-YZHVM5LY.js";
4
4
  import {
5
5
  declinedAgentsFile,
6
6
  readDeclinedAgents
7
- } from "./chunk-EBJ5QUVE.js";
7
+ } from "./chunk-XNKE67NJ.js";
8
8
  import {
9
9
  OPENCODE_HOOK_BINARY,
10
10
  openCodeConfigDir,
11
11
  openCodePluginArgv,
12
12
  openCodePluginFile
13
- } from "./chunk-YZ74AFIU.js";
13
+ } from "./chunk-X4MUM7JK.js";
14
14
  import {
15
15
  liveCursorGateCoverage
16
- } from "./chunk-C2L477NM.js";
16
+ } from "./chunk-Z7RGHFAW.js";
17
17
  import {
18
18
  compatibleConfigFile,
19
19
  compatibleHookEvents,
20
20
  grokHome,
21
21
  parseConfigDocument
22
- } from "./chunk-BLBK7VV7.js";
22
+ } from "./chunk-KEJFRU2Q.js";
23
23
  import {
24
24
  DEFAULT_HOOKS_KEY_PATH,
25
25
  GEMINI_HOOK_BINARY,
26
26
  GEMINI_HOOK_EVENTS,
27
27
  hooksAt
28
- } from "./chunk-Q3KKA5IZ.js";
28
+ } from "./chunk-PWTW7E5H.js";
29
29
  import {
30
30
  CODEX_EARLIER_APPROVAL_MATCHERS,
31
31
  CODEX_HOOK_BINARY,
@@ -53,7 +53,7 @@ import {
53
53
  parseHookArgv,
54
54
  parseHookCommand,
55
55
  supportedClaudeEvents
56
- } from "./chunk-EUIDFLPM.js";
56
+ } from "./chunk-LCFSGKQW.js";
57
57
  import {
58
58
  readRegularJsonFile,
59
59
  readRegularTextFile
@@ -1,14 +1,14 @@
1
1
  import {
2
2
  compatibleConfigFile,
3
3
  hasCompatibleHooks
4
- } from "./chunk-BLBK7VV7.js";
4
+ } from "./chunk-KEJFRU2Q.js";
5
5
  import {
6
6
  pusharyHookExecutable
7
- } from "./chunk-Q3KKA5IZ.js";
7
+ } from "./chunk-PWTW7E5H.js";
8
8
  import {
9
9
  isProtectedByScope,
10
10
  registerHookEntry
11
- } from "./chunk-EUIDFLPM.js";
11
+ } from "./chunk-LCFSGKQW.js";
12
12
  import {
13
13
  isRecord
14
14
  } from "./chunk-HI5YJFKW.js";
@@ -0,0 +1,62 @@
1
+ import {
2
+ isFile
3
+ } from "./chunk-T5I4PKOQ.js";
4
+ import {
5
+ cmdShimLaunchOf
6
+ } from "./chunk-WIIMW5YO.js";
7
+
8
+ // src/wrapper/spawnClaude.ts
9
+ import { spawn } from "child_process";
10
+ import { readFileSync } from "fs";
11
+ import { win32 } from "path";
12
+ var needsShell = (binary, platform = process.platform) => platform === "win32" && /\.(cmd|bat)$/i.test(binary);
13
+ var WINDOWS_NODE = "node.exe";
14
+ var WINDOWS_NODE_SHIMS = ["node.cmd", "node.bat"];
15
+ var SURROUNDING_QUOTES = /^"(.*)"$/;
16
+ var absolutePathEntries = (pathEnv) => pathEnv.split(";").map((entry) => entry.trim().replace(SURROUNDING_QUOTES, "$1")).filter((entry) => win32.isAbsolute(entry));
17
+ var firstNodeOnPath = (host) => {
18
+ for (const folder of absolutePathEntries(host.pathEnv)) {
19
+ const program = win32.join(folder, WINDOWS_NODE);
20
+ if (host.isFile(program)) return { kind: "program", path: program };
21
+ if (WINDOWS_NODE_SHIMS.some((shim) => host.isFile(win32.join(folder, shim)))) return { kind: "shim_comes_first" };
22
+ }
23
+ return { kind: "absent" };
24
+ };
25
+ var nodeTheShimWouldRun = (shim, host) => {
26
+ const besideShim = win32.join(win32.dirname(shim), WINDOWS_NODE);
27
+ if (host.isFile(besideShim)) return besideShim;
28
+ const onPath = firstNodeOnPath(host);
29
+ return onPath.kind === "program" ? onPath.path : host.execPath;
30
+ };
31
+ var pathOf = (env) => {
32
+ const key = Object.keys(env).find((name) => name.toUpperCase() === "PATH");
33
+ return key === void 0 ? "" : env[key] ?? "";
34
+ };
35
+ var processLaunchFor = (binary, args, host) => {
36
+ if (!needsShell(binary, host.platform)) return { kind: "direct", command: binary, args };
37
+ const shim = cmdShimLaunchOf(binary, host.readFile);
38
+ switch (shim.kind) {
39
+ case "node_script":
40
+ return { kind: "direct", command: nodeTheShimWouldRun(binary, host), args: [shim.script, ...args] };
41
+ case "executable":
42
+ return { kind: "direct", command: shim.executable, args };
43
+ case "unrecognised":
44
+ return { kind: "through_shell", command: `"${binary}"`, args };
45
+ }
46
+ };
47
+ var localShimHost = (env) => ({
48
+ platform: process.platform,
49
+ readFile: (path) => readFileSync(path, "utf8"),
50
+ isFile,
51
+ pathEnv: pathOf(env),
52
+ execPath: process.execPath
53
+ });
54
+ var spawnClaude = (binary, args, options) => {
55
+ const launch = processLaunchFor(binary, args, localShimHost(options.env ?? process.env));
56
+ return spawn(launch.command, [...launch.args], { ...options, shell: launch.kind === "through_shell" });
57
+ };
58
+
59
+ export {
60
+ needsShell,
61
+ spawnClaude
62
+ };
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  pusharyDir
3
- } from "./chunk-EUIDFLPM.js";
3
+ } from "./chunk-LCFSGKQW.js";
4
4
  import {
5
5
  readJsonSafe
6
6
  } from "./chunk-T5I4PKOQ.js";
@@ -4,10 +4,10 @@ import {
4
4
  configFailureKind,
5
5
  retryAgentCommand,
6
6
  writeSetupConfigFile
7
- } from "./chunk-MKUFVNZL.js";
7
+ } from "./chunk-2FIS7KDD.js";
8
8
  import {
9
9
  MCP_BRIDGE_BINARY
10
- } from "./chunk-PO5Z73HT.js";
10
+ } from "./chunk-FMUNFP4O.js";
11
11
  import {
12
12
  KEY_FILE_MODE
13
13
  } from "./chunk-SZV5SLSD.js";
@@ -32,10 +32,10 @@ import {
32
32
  withClinePusharyServer,
33
33
  withRefreshedClineKey,
34
34
  withoutClinePusharyServer
35
- } from "./chunk-EUIDFLPM.js";
35
+ } from "./chunk-LCFSGKQW.js";
36
36
  import {
37
37
  resolveGlobalBinary
38
- } from "./chunk-KQKHSJOM.js";
38
+ } from "./chunk-WJ4W33WN.js";
39
39
  import {
40
40
  readJsonSafe,
41
41
  writeFileAtomic,
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  macAppBridgeAvailable
3
- } from "./chunk-YZ74AFIU.js";
3
+ } from "./chunk-X4MUM7JK.js";
4
4
  import {
5
5
  keyPrefix
6
6
  } from "./chunk-SZV5SLSD.js";
7
7
  import {
8
8
  bridgeAgentKey
9
- } from "./chunk-EUIDFLPM.js";
9
+ } from "./chunk-LCFSGKQW.js";
10
10
  import {
11
11
  readJsonSafe
12
12
  } from "./chunk-T5I4PKOQ.js";
@@ -4,7 +4,7 @@ import {
4
4
  claimThrottle,
5
5
  releaseThrottle,
6
6
  reportEvent
7
- } from "./chunk-I365OPWV.js";
7
+ } from "./chunk-GFCAZD2W.js";
8
8
  import {
9
9
  deriveToolTarget,
10
10
  permissionDeniedAction
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-LS3CQ536.js";
4
4
  import {
5
5
  BELL_HOOK_BINARY
6
- } from "./chunk-DRYQ7RLF.js";
6
+ } from "./chunk-FXLWWEVQ.js";
7
7
  import {
8
8
  CLAUDE_HOOK_EVENTS,
9
9
  CODEX_HOOK_EVENTS,
@@ -15,7 +15,7 @@ import {
15
15
  isBridgeLocator,
16
16
  isProtectedByScope,
17
17
  registerHookEntry
18
- } from "./chunk-EUIDFLPM.js";
18
+ } from "./chunk-LCFSGKQW.js";
19
19
  import {
20
20
  CURSOR_GATE_EVENTS,
21
21
  HOOK_BUDGETS,
@@ -9,13 +9,13 @@ import {
9
9
  installedCodexApp,
10
10
  readCodexAppRuntime,
11
11
  shellQuoted
12
- } from "./chunk-XUN23MM6.js";
12
+ } from "./chunk-XRJU7CZ2.js";
13
13
  import {
14
14
  writeHuman
15
15
  } from "./chunk-QCGNGEGE.js";
16
16
  import {
17
17
  xml
18
- } from "./chunk-UXGGVCH5.js";
18
+ } from "./chunk-27GQFR5J.js";
19
19
  import {
20
20
  writeFileAtomic
21
21
  } from "./chunk-T5I4PKOQ.js";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  pusharyDir
3
- } from "./chunk-EUIDFLPM.js";
3
+ } from "./chunk-LCFSGKQW.js";
4
4
  import {
5
5
  writeFileAtomic
6
6
  } from "./chunk-T5I4PKOQ.js";
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-ROVLRXBI.js";
4
4
  import {
5
5
  parseVersion
6
- } from "./chunk-KQKHSJOM.js";
6
+ } from "./chunk-WJ4W33WN.js";
7
7
  import {
8
8
  isRecord
9
9
  } from "./chunk-HI5YJFKW.js";
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-POFBE6ZY.js";
4
4
  import {
5
5
  autoUpdateState
6
- } from "./chunk-EUIDFLPM.js";
6
+ } from "./chunk-LCFSGKQW.js";
7
7
  import {
8
8
  readJsonSafe,
9
9
  writeJsonAtomic
@@ -14,7 +14,7 @@ import {
14
14
  cliPackagePathSegments,
15
15
  globalUpgradeEntry,
16
16
  ownPackageRoot
17
- } from "./chunk-ZVU6WMMU.js";
17
+ } from "./chunk-WIIMW5YO.js";
18
18
  import {
19
19
  isAutoUpdateResult
20
20
  } from "./chunk-HI5YJFKW.js";
@@ -5,7 +5,7 @@ import {
5
5
  } from "./chunk-NLEHRQHL.js";
6
6
  import {
7
7
  APPROVAL_RULES_PATH
8
- } from "./chunk-DK6R5IVR.js";
8
+ } from "./chunk-VRUVMUHN.js";
9
9
  import {
10
10
  createIo
11
11
  } from "./chunk-FO3MDD26.js";
@@ -14,7 +14,7 @@ import {
14
14
  checkApiKey,
15
15
  describeKeyCheck,
16
16
  keyCheckFromResponse
17
- } from "./chunk-B5OX2WCA.js";
17
+ } from "./chunk-J35EMNLD.js";
18
18
  import {
19
19
  readKeySource
20
20
  } from "./chunk-SZV5SLSD.js";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  absoluteUrl
3
- } from "./chunk-B5OX2WCA.js";
3
+ } from "./chunk-J35EMNLD.js";
4
4
  import {
5
5
  KEY_SCOPE
6
6
  } from "./chunk-HI5YJFKW.js";
@@ -44,14 +44,41 @@ var cmdShimTarget = (shimDir, contents) => {
44
44
  return relativeTarget === void 0 ? void 0 : win32.resolve(shimDir, relativeTarget);
45
45
  };
46
46
  var CMD_SHIM = /\.cmd$/i;
47
- var cmdShimScriptOf = (shim, readFile) => {
48
- if (!CMD_SHIM.test(shim)) return void 0;
47
+ var readShim = (shim, readFile) => {
49
48
  try {
50
- return cmdShimTarget(win32.dirname(shim), readFile(shim));
49
+ return readFile(shim);
51
50
  } catch {
52
51
  return void 0;
53
52
  }
54
53
  };
54
+ var cmdShimScriptOf = (shim, readFile) => {
55
+ if (!CMD_SHIM.test(shim)) return void 0;
56
+ const contents = readShim(shim, readFile);
57
+ return contents === void 0 ? void 0 : cmdShimTarget(win32.dirname(shim), contents);
58
+ };
59
+ var UNRECOGNISED_SHIM = { kind: "unrecognised" };
60
+ var CMD_SHIM_NODE_LAUNCH = /"%_prog%"[ \t]+"%(?:~dp0|dp0%)\\([^"]+?)"[ \t]+%[*]/;
61
+ var CMD_SHIM_PROGRAM_IS_NODE = /^\s*SET "_prog=node"\s*$/im;
62
+ var CMD_SHIM_SETS_ANOTHER_VARIABLE = /^\s*@?SET\s+(?!"_prog=|PATHEXT=|dp0=)/im;
63
+ var CMD_SHIM_RUNS_A_PROGRAM = /%_prog%/i;
64
+ var CMD_SHIM_FORWARDED_ARGUMENTS = /%[*]/g;
65
+ var CMD_SHIM_EXECUTABLE_LAUNCH = /"%(?:~dp0|dp0%)\\([^"]+?\.exe)"[ \t]+%[*]/i;
66
+ var executableShimLaunch = (shimDir, contents) => {
67
+ const executable = CMD_SHIM_EXECUTABLE_LAUNCH.exec(contents)?.[1];
68
+ return executable === void 0 ? UNRECOGNISED_SHIM : { kind: "executable", executable: win32.resolve(shimDir, executable) };
69
+ };
70
+ var forwardsArgumentsOnce = (contents) => (contents.match(CMD_SHIM_FORWARDED_ARGUMENTS)?.length ?? 0) === 1;
71
+ var cmdShimLaunchOf = (shim, readFile) => {
72
+ if (!CMD_SHIM.test(shim)) return UNRECOGNISED_SHIM;
73
+ const contents = readShim(shim, readFile);
74
+ if (contents === void 0 || CMD_SHIM_SETS_ANOTHER_VARIABLE.test(contents) || !forwardsArgumentsOnce(contents)) return UNRECOGNISED_SHIM;
75
+ const shimDir = win32.dirname(shim);
76
+ const nodeTarget = CMD_SHIM_NODE_LAUNCH.exec(contents)?.[1];
77
+ if (nodeTarget !== void 0) {
78
+ return CMD_SHIM_PROGRAM_IS_NODE.test(contents) ? { kind: "node_script", script: win32.resolve(shimDir, nodeTarget) } : UNRECOGNISED_SHIM;
79
+ }
80
+ return CMD_SHIM_RUNS_A_PROGRAM.test(contents) ? UNRECOGNISED_SHIM : executableShimLaunch(shimDir, contents);
81
+ };
55
82
  var launchedPackage = (ownName) => ownName ?? LEGACY_PACKAGE;
56
83
  var globalInstallTarget = (owner, ownName) => {
57
84
  switch (owner.kind) {
@@ -163,6 +190,7 @@ export {
163
190
  decideCommandOwner,
164
191
  cmdShimTarget,
165
192
  cmdShimScriptOf,
193
+ cmdShimLaunchOf,
166
194
  launchedPackage,
167
195
  globalInstallTarget,
168
196
  classifyGlobalFolder,
@@ -10,7 +10,7 @@ import {
10
10
  globalRootFor,
11
11
  isReleaseVersion,
12
12
  ownPackageName
13
- } from "./chunk-ZVU6WMMU.js";
13
+ } from "./chunk-WIIMW5YO.js";
14
14
 
15
15
  // src/shell-quote.ts
16
16
  var shellDoubleQuoted = (text) => `"${text.replace(/(["\\$`])/g, "\\$1")}"`;
@@ -399,9 +399,9 @@ var installGlobally = (options) => {
399
399
  }
400
400
  const started = (async () => {
401
401
  if (!npmIsOnPath()) throw new NpmMissingError();
402
- const { withUpgradeLock } = await import("./global-upgrade-SIAPPAFR.js");
403
- const { installWithUpgradeLock, ownsUpgradeLock } = await import("./upgrade-lock-YT4O5QW6.js");
404
- const { autoUpdateLock } = await import("./paths-346XNBFK.js");
402
+ const { withUpgradeLock } = await import("./global-upgrade-LBL5RJV5.js");
403
+ const { installWithUpgradeLock, ownsUpgradeLock } = await import("./upgrade-lock-MU5RYC57.js");
404
+ const { autoUpdateLock } = await import("./paths-JK4EFG5J.js");
405
405
  let result = "skipped";
406
406
  const install = async () => {
407
407
  const platform = process.platform;
@@ -7,10 +7,10 @@ import {
7
7
  } from "./chunk-G66WIAST.js";
8
8
  import {
9
9
  ensureDaemonRunning
10
- } from "./chunk-UXGGVCH5.js";
10
+ } from "./chunk-27GQFR5J.js";
11
11
  import {
12
12
  hookOwnerOf
13
- } from "./chunk-Q3KKA5IZ.js";
13
+ } from "./chunk-PWTW7E5H.js";
14
14
  import {
15
15
  hookMeaning
16
16
  } from "./chunk-7OSBFMRV.js";
@@ -42,7 +42,7 @@ import {
42
42
  claudeConfigDir,
43
43
  codexHome,
44
44
  pusharyDir
45
- } from "./chunk-EUIDFLPM.js";
45
+ } from "./chunk-LCFSGKQW.js";
46
46
  import {
47
47
  getApiKey,
48
48
  getBaseUrl
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  compatibleConfigFile
3
- } from "./chunk-BLBK7VV7.js";
3
+ } from "./chunk-KEJFRU2Q.js";
4
4
  import {
5
5
  hookOwnerOf,
6
6
  hookOwnerOfCommands
7
- } from "./chunk-Q3KKA5IZ.js";
7
+ } from "./chunk-PWTW7E5H.js";
8
8
  import {
9
9
  AGENT_CHOICES
10
10
  } from "./chunk-LS3CQ536.js";
@@ -19,7 +19,7 @@ import {
19
19
  resolveBridgeStub,
20
20
  vscodePluginDir,
21
21
  windowsNodeLauncherFor
22
- } from "./chunk-EUIDFLPM.js";
22
+ } from "./chunk-LCFSGKQW.js";
23
23
  import {
24
24
  readJsonSafe
25
25
  } from "./chunk-T5I4PKOQ.js";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  pusharyDir
3
- } from "./chunk-EUIDFLPM.js";
3
+ } from "./chunk-LCFSGKQW.js";
4
4
  import {
5
5
  readRegularJsonFile,
6
6
  writeFileAtomic
@@ -7,10 +7,10 @@ import {
7
7
  isLocalQuestionHandoff,
8
8
  unavailableQuestionUnlessRefused,
9
9
  waitForQuestion
10
- } from "./chunk-7ZTVBYPE.js";
10
+ } from "./chunk-HVJIITL4.js";
11
11
  import {
12
12
  getMachineId
13
- } from "./chunk-RBPPX663.js";
13
+ } from "./chunk-TQBYF3W6.js";
14
14
  import {
15
15
  hookWaitClamped,
16
16
  hookWaitDeadline,
@@ -531,7 +531,7 @@ var loadedOnce = (load) => {
531
531
  };
532
532
 
533
533
  // src/codex-desktop-proxy.ts
534
- var loadThePhone = () => import("./api-KE4OJ3NK.js");
534
+ var loadThePhone = () => import("./api-JRRKVMXE.js");
535
535
  var loadTheCardRouting = () => import("./codex-card-routing-JTZ2PC24.js");
536
536
  var theFirstCardLoadsAgain = () => {
537
537
  };
@@ -1085,7 +1085,7 @@ var codexDesktopCommand = async (args, entry, readAccount) => {
1085
1085
  return runCodexDesktopProxy(engine2, args.slice(3), readAccount, { watchesForCards: layoutIsKnown });
1086
1086
  }
1087
1087
  if (args[0] === APP_CARDS_FLAG) {
1088
- const { codexAppCardsCommandOnThisMac } = await import("./codex-app-cards-switch-4BHVMMAM.js");
1088
+ const { codexAppCardsCommandOnThisMac } = await import("./codex-app-cards-switch-SC3YKXBG.js");
1089
1089
  return codexAppCardsCommandOnThisMac(args.slice(1), entry, readAccount);
1090
1090
  }
1091
1091
  if (args.length > 2) throw new Error("Usage: pushary codex --desktop [path/to/Codex.app]");
@@ -6,7 +6,7 @@ import {
6
6
  } from "./chunk-5S32WI3B.js";
7
7
  import {
8
8
  getPackageVersion
9
- } from "./chunk-ZVU6WMMU.js";
9
+ } from "./chunk-WIIMW5YO.js";
10
10
 
11
11
  // src/cli/usage.ts
12
12
  var exitOnHelpFlag = (command) => {
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  claudeConfigDir
3
- } from "./chunk-EUIDFLPM.js";
3
+ } from "./chunk-LCFSGKQW.js";
4
4
  import {
5
5
  claudePermissionRulesFromSettings
6
6
  } from "./chunk-HI5YJFKW.js";
@@ -1,17 +1,17 @@
1
1
  import {
2
2
  pusharyHookExecutable
3
- } from "./chunk-Q3KKA5IZ.js";
3
+ } from "./chunk-PWTW7E5H.js";
4
4
  import {
5
5
  bridgeResolvesToApp,
6
6
  cursorUserHooks,
7
7
  executableFileName,
8
8
  isBridgeLocator,
9
9
  liveBridgeProbe
10
- } from "./chunk-EUIDFLPM.js";
10
+ } from "./chunk-LCFSGKQW.js";
11
11
  import {
12
12
  atLeast,
13
13
  parseVersion
14
- } from "./chunk-KQKHSJOM.js";
14
+ } from "./chunk-WJ4W33WN.js";
15
15
  import {
16
16
  CURSOR_GATE_COVERAGE,
17
17
  CURSOR_GATE_SCRIPT,