pushary 1.9.80 → 1.9.82

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 (132) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/README.md +4 -4
  3. package/data/SKILL.md +12 -16
  4. package/data/cursor-plugin/README.md +1 -1
  5. package/data/cursor-plugin/skills/pushary/SKILL.md +11 -15
  6. package/data/vscode-plugin/README.md +1 -1
  7. package/data/vscode-plugin/skills/pushary/SKILL.md +11 -15
  8. package/dist/{api-FPA2PPXY.js → api-TZO5ACOS.js} +11 -11
  9. package/dist/bin/pushary-bell-hook.js +26 -26
  10. package/dist/bin/pushary-bell.js +11 -11
  11. package/dist/bin/pushary-claude.js +27 -27
  12. package/dist/bin/pushary-clean.js +34 -34
  13. package/dist/bin/pushary-codex-bridge.js +22 -22
  14. package/dist/bin/pushary-codex-hook.js +31 -31
  15. package/dist/bin/pushary-codex-session.js +8 -8
  16. package/dist/bin/pushary-codex.js +14 -14
  17. package/dist/bin/pushary-connect.js +27 -27
  18. package/dist/bin/pushary-cowork.js +6 -6
  19. package/dist/bin/pushary-daemon.js +39 -39
  20. package/dist/bin/pushary-disconnect.js +26 -26
  21. package/dist/bin/pushary-display-hook.js +17 -17
  22. package/dist/bin/pushary-doctor.js +48 -44
  23. package/dist/bin/pushary-elicitation-hook.js +26 -26
  24. package/dist/bin/pushary-gemini-bridge.js +16 -16
  25. package/dist/bin/pushary-gemini-hook.js +28 -28
  26. package/dist/bin/pushary-hook.js +30 -30
  27. package/dist/bin/pushary-login.js +21 -21
  28. package/dist/bin/pushary-logout.js +25 -25
  29. package/dist/bin/pushary-mcp.js +12 -12
  30. package/dist/bin/pushary-mode.js +16 -16
  31. package/dist/bin/pushary-notification-hook.js +25 -25
  32. package/dist/bin/pushary-opencode-hook.js +27 -27
  33. package/dist/bin/pushary-permission-denied-hook.js +30 -30
  34. package/dist/bin/pushary-permission-hook.js +30 -30
  35. package/dist/bin/pushary-post-hook.js +25 -25
  36. package/dist/bin/pushary-prompt-hook.js +25 -25
  37. package/dist/bin/pushary-session-end-hook.js +27 -27
  38. package/dist/bin/pushary-session-start-hook.js +35 -35
  39. package/dist/bin/pushary-setup.js +54 -59
  40. package/dist/bin/pushary-stats.js +6 -6
  41. package/dist/bin/pushary-status.js +32 -32
  42. package/dist/bin/pushary-stop-hook.js +25 -25
  43. package/dist/bin/pushary-stopfailure-hook.js +25 -25
  44. package/dist/bin/pushary-suggestions.js +16 -16
  45. package/dist/bin/pushary-transcript-register.js +17 -17
  46. package/dist/bin/pushary-transcripts.js +19 -19
  47. package/dist/bin/pushary-upgrade.js +40 -40
  48. package/dist/bin/pushary-wait.js +16 -16
  49. package/dist/bin/pushary.js +8 -8
  50. package/dist/{chunk-IRE7HPNI.js → chunk-2BJZFA7X.js} +7 -5
  51. package/dist/{chunk-PJRXYNXG.js → chunk-2TEX3APZ.js} +5 -5
  52. package/dist/{chunk-OJS32QPK.js → chunk-3BFCJZBU.js} +1 -1
  53. package/dist/{chunk-N3DOT42Y.js → chunk-3UBYG4G7.js} +6 -6
  54. package/dist/{chunk-TSCACSAR.js → chunk-3V6G2GBJ.js} +6 -6
  55. package/dist/{chunk-DFW2JKHX.js → chunk-4S5XVFDV.js} +1 -1
  56. package/dist/{chunk-WJVQOAZY.js → chunk-4TR4G7A4.js} +1 -1
  57. package/dist/{chunk-3G2D5NAG.js → chunk-5LLZSX7I.js} +3 -3
  58. package/dist/{chunk-4OXYED6O.js → chunk-5TMGEQAC.js} +4 -4
  59. package/dist/{chunk-HJZDJS63.js → chunk-6224ENW3.js} +3 -3
  60. package/dist/{chunk-B67R6ZCW.js → chunk-6355HHSR.js} +2 -2
  61. package/dist/{chunk-FZJON3RK.js → chunk-6L2U3TP3.js} +20 -19
  62. package/dist/{chunk-YEPXSGFC.js → chunk-72CIQCBA.js} +9 -6
  63. package/dist/{chunk-Z4PNECON.js → chunk-AM3H6HWG.js} +1 -1
  64. package/dist/{chunk-7TIDWBXF.js → chunk-APSYBSMG.js} +14 -12
  65. package/dist/{chunk-BWE52JRG.js → chunk-AXE2ZOKS.js} +2 -2
  66. package/dist/{chunk-ZYFZAZCN.js → chunk-C6FQ4YST.js} +2 -2
  67. package/dist/{chunk-3LJU2L5S.js → chunk-CV56MBIZ.js} +9 -8
  68. package/dist/{chunk-3GZRNHH5.js → chunk-CXZAKS7S.js} +4 -4
  69. package/dist/{chunk-SNQ5HQHE.js → chunk-D3QGBMO3.js} +2 -2
  70. package/dist/{chunk-EU67IKIQ.js → chunk-DJILSCSU.js} +3 -3
  71. package/dist/{chunk-IYCYKG2B.js → chunk-DS5BR4K6.js} +2 -2
  72. package/dist/{chunk-YJGWHP2I.js → chunk-DX45XQ36.js} +3 -3
  73. package/dist/{chunk-IPIJY4TI.js → chunk-ER4UCECJ.js} +1 -1
  74. package/dist/{chunk-262U6MMI.js → chunk-ESRKYHWE.js} +2 -2
  75. package/dist/{chunk-FNBGGKRK.js → chunk-FHPSVTS5.js} +9 -9
  76. package/dist/{chunk-T2H6BCRY.js → chunk-FJZSJZCT.js} +3 -3
  77. package/dist/{chunk-L3VBP627.js → chunk-G5BYSS6C.js} +6 -6
  78. package/dist/{chunk-VP473NXT.js → chunk-GUI2NYCX.js} +5 -5
  79. package/dist/{chunk-SGG5GNVW.js → chunk-GUM3WG4B.js} +6 -6
  80. package/dist/{chunk-LN32FXTF.js → chunk-I4RNLK5G.js} +4 -4
  81. package/dist/{chunk-PE6JUMI2.js → chunk-IEAABGST.js} +7 -6
  82. package/dist/{chunk-TDW5LI6P.js → chunk-IXVMMDIG.js} +3 -3
  83. package/dist/{chunk-ITVTU4RZ.js → chunk-J4TQYGHU.js} +5 -5
  84. package/dist/{chunk-LK343VAG.js → chunk-JNCD2ZG3.js} +4 -4
  85. package/dist/{chunk-5HA42EV4.js → chunk-JTYZEP4Q.js} +1 -1
  86. package/dist/{chunk-ZJGIJDWP.js → chunk-JXE4UQFJ.js} +3 -3
  87. package/dist/{chunk-LIXHCI4G.js → chunk-L77YWBMK.js} +7 -7
  88. package/dist/{chunk-OSXIMNMJ.js → chunk-LGWTITVK.js} +1 -1
  89. package/dist/{chunk-S5MRKUSX.js → chunk-LNSCANYY.js} +3 -3
  90. package/dist/{chunk-7R5ZKOQ4.js → chunk-M5XNFUXN.js} +1 -1
  91. package/dist/{chunk-3KQM5AKY.js → chunk-N3C3D4AV.js} +4 -4
  92. package/dist/{chunk-3BPSCYOE.js → chunk-NEWGYFKC.js} +7 -7
  93. package/dist/{chunk-GXW43S4A.js → chunk-NPBPH7KI.js} +2 -2
  94. package/dist/{chunk-QNPIHZFM.js → chunk-O6T3CLWT.js} +3 -3
  95. package/dist/{chunk-UAADLSK5.js → chunk-OIW3JAWH.js} +5 -5
  96. package/dist/{chunk-AFCKBLEG.js → chunk-ONUAAXAW.js} +1 -1
  97. package/dist/{chunk-MJNZBNTN.js → chunk-OXKVR2FP.js} +16 -10
  98. package/dist/{chunk-WQNHWWVW.js → chunk-OXTRF7CP.js} +1 -1
  99. package/dist/{chunk-A2OAJ7CS.js → chunk-PJ26BODT.js} +1 -1
  100. package/dist/{chunk-6VLSVB2C.js → chunk-QJJJENT2.js} +5 -5
  101. package/dist/{chunk-KHLWYQK7.js → chunk-RL2KE6HG.js} +13 -13
  102. package/dist/{chunk-HMLURCXV.js → chunk-RRMRP62I.js} +6 -6
  103. package/dist/{chunk-UCZZX5JH.js → chunk-S2DLTWFG.js} +4 -4
  104. package/dist/{chunk-IWYGHJY6.js → chunk-TKFDPYXS.js} +4 -4
  105. package/dist/{chunk-J5BCHHCB.js → chunk-TO77OYLM.js} +1 -1
  106. package/dist/{chunk-35M6YE6T.js → chunk-TTTK44RK.js} +3 -5
  107. package/dist/{chunk-24FQPJOZ.js → chunk-UB7VUSSX.js} +3 -3
  108. package/dist/{chunk-7QYERUTD.js → chunk-UOUUTDWF.js} +85 -45
  109. package/dist/{chunk-RNAFUXEK.js → chunk-UYTPCZ4M.js} +4 -4
  110. package/dist/{chunk-NOQGCGOR.js → chunk-VHLRXIMC.js} +1 -1
  111. package/dist/{chunk-XU2FL4B6.js → chunk-W3VRQEL3.js} +2 -2
  112. package/dist/{chunk-HGCUZQUL.js → chunk-WG67W43Y.js} +0 -1
  113. package/dist/{chunk-4WCPDCKA.js → chunk-WLOVGZ7R.js} +2 -2
  114. package/dist/{chunk-DN6QYNNC.js → chunk-WUS2LFTM.js} +10 -10
  115. package/dist/{chunk-DLPFYJ7G.js → chunk-X2P3O4PX.js} +1 -1
  116. package/dist/{chunk-QBI4KSTQ.js → chunk-YAMNJXCD.js} +2 -2
  117. package/dist/{chunk-EUZ73S73.js → chunk-Z5HLACZT.js} +4 -4
  118. package/dist/{chunk-QTOLNRET.js → chunk-ZVU6WMMU.js} +10 -0
  119. package/dist/{codex-app-cards-switch-AT6X3X6U.js → codex-app-cards-switch-3FAIEEB2.js} +12 -12
  120. package/dist/{codex-desktop-launch-4ELF22QM.js → codex-desktop-launch-LHMHRVGF.js} +1 -1
  121. package/dist/{codex-session-launch-QEVWHTU7.js → codex-session-launch-MXUBSTL2.js} +19 -19
  122. package/dist/{config-PXISW4O5.js → config-MZDRETL2.js} +3 -3
  123. package/dist/{global-upgrade-H3S4KQ26.js → global-upgrade-ZDENZA42.js} +11 -11
  124. package/dist/{identity-FB7QFMEZ.js → identity-YZRDJOGY.js} +5 -5
  125. package/dist/{live-capabilities-27LDDOMC.js → live-capabilities-KSQDWVT6.js} +6 -6
  126. package/dist/{paths-URGGQMFD.js → paths-DYZZBVYI.js} +4 -4
  127. package/dist/{reapply-A6OKNS24.js → reapply-L3AI5KJH.js} +28 -28
  128. package/dist/src/index.js +29 -29
  129. package/dist/{upgrade-lock-65A4XSMV.js → upgrade-lock-X7F2OFYB.js} +5 -5
  130. package/dist/usage-TKZALYXF.js +11 -0
  131. package/package.json +1 -1
  132. package/dist/usage-FZTPRQRP.js +0 -11
@@ -4,7 +4,7 @@ import {
4
4
  postLiveSession,
5
5
  postLiveSessionUntilAccepted,
6
6
  startLiveSessionHeartbeat
7
- } from "./chunk-5HA42EV4.js";
7
+ } from "./chunk-JTYZEP4Q.js";
8
8
  import {
9
9
  CommandReceipts,
10
10
  controllerCommandSchema
@@ -14,24 +14,24 @@ import {
14
14
  describeIdleWindow,
15
15
  idleDeadlinePassed,
16
16
  startProcessOwnership
17
- } from "./chunk-EU67IKIQ.js";
17
+ } from "./chunk-DJILSCSU.js";
18
18
  import {
19
19
  spawnClaude
20
20
  } from "./chunk-XHKBHWLX.js";
21
21
  import {
22
22
  repoKeyFor
23
- } from "./chunk-7R5ZKOQ4.js";
23
+ } from "./chunk-M5XNFUXN.js";
24
24
  import {
25
25
  isAskUserResponse,
26
26
  isDecisionStopped,
27
27
  isWaitForAnswerResponse,
28
28
  withdrawQuestion,
29
29
  writeDegraded
30
- } from "./chunk-UAADLSK5.js";
30
+ } from "./chunk-OIW3JAWH.js";
31
31
  import {
32
32
  callMcpTool,
33
33
  isRetryable
34
- } from "./chunk-EUZ73S73.js";
34
+ } from "./chunk-Z5HLACZT.js";
35
35
  import {
36
36
  AGENT_QUESTION_DESCRIPTION_MAX,
37
37
  AGENT_QUESTION_HEADER_MAX,
@@ -52,7 +52,7 @@ import {
52
52
  parseCodexQuestions,
53
53
  planElicitationAsk,
54
54
  readElicitationFields
55
- } from "./chunk-HGCUZQUL.js";
55
+ } from "./chunk-WG67W43Y.js";
56
56
 
57
57
  // src/codex-question-owner.ts
58
58
  import { createHash } from "crypto";
@@ -5,19 +5,19 @@ import {
5
5
  hermesAppWiringRecord,
6
6
  hermesConfigReceipt,
7
7
  hermesSetupReceipt
8
- } from "./chunk-7QYERUTD.js";
8
+ } from "./chunk-UOUUTDWF.js";
9
9
  import {
10
10
  readJsonSafe,
11
11
  resolvePathBinary,
12
12
  writeJsonAtomic
13
- } from "./chunk-IRE7HPNI.js";
13
+ } from "./chunk-2BJZFA7X.js";
14
14
  import {
15
15
  isNewerVersion,
16
16
  isReleaseVersion
17
- } from "./chunk-QTOLNRET.js";
17
+ } from "./chunk-ZVU6WMMU.js";
18
18
  import {
19
19
  isRecord
20
- } from "./chunk-HGCUZQUL.js";
20
+ } from "./chunk-WG67W43Y.js";
21
21
 
22
22
  // src/hermes/plugin-payload.ts
23
23
  import { createHash } from "crypto";
@@ -1,24 +1,25 @@
1
1
  import {
2
2
  AGENT_CHOICES
3
- } from "./chunk-ZJGIJDWP.js";
3
+ } from "./chunk-JXE4UQFJ.js";
4
4
  import {
5
5
  BELL_HOOK_BINARY
6
- } from "./chunk-DFW2JKHX.js";
6
+ } from "./chunk-4S5XVFDV.js";
7
7
  import {
8
8
  CLAUDE_HOOK_EVENTS,
9
9
  CODEX_HOOK_EVENTS,
10
10
  HOOK_SHELL,
11
11
  hasCodexHooks,
12
12
  holdBudgetOf,
13
+ hookBinaryNameOf,
13
14
  isProtectedByScope,
14
15
  registerHookEntry
15
- } from "./chunk-7QYERUTD.js";
16
+ } from "./chunk-UOUUTDWF.js";
16
17
  import {
17
18
  CURSOR_GATE_EVENTS,
18
19
  HOOK_BUDGETS,
19
20
  HOOK_LOCATOR_BINARY,
20
21
  hookCommandHoldBudget
21
- } from "./chunk-HGCUZQUL.js";
22
+ } from "./chunk-WG67W43Y.js";
22
23
 
23
24
  // src/diagnostics/bridge.ts
24
25
  import { execFileSync } from "child_process";
@@ -204,7 +205,7 @@ var pusharyHookExecutable = (command) => {
204
205
  for (const raw of tokens.reverse()) {
205
206
  const unquoted = raw[0] === '"' && raw.at(-1) === '"' || raw[0] === "'" && raw.at(-1) === "'" ? raw.slice(1, -1) : raw;
206
207
  const token = command.startsWith(`${HOOK_SHELL} `) && raw[0] === '"' ? unquoted.replace(/\\(["\\$`])/g, "$1") : unquoted;
207
- const name = token.split(/[/\\]/).pop()?.replace(/\.(cmd|exe|mjs)$/i, "") ?? "";
208
+ const name = hookBinaryNameOf(token.split(/[/\\]/).pop() ?? "");
208
209
  if (name === HOOK_LOCATOR_BINARY || EXACT_HOOK_BINARY.test(name)) return token;
209
210
  }
210
211
  return null;
@@ -321,7 +322,7 @@ var commandsIn = (value) => {
321
322
  var isRecord = (value) => value !== null && typeof value === "object" && !Array.isArray(value);
322
323
  var hasPaidPusharyCommand = (value) => commandsIn(value).some((command) => {
323
324
  const executable = pusharyHookExecutable(command);
324
- const name = executable?.split(/[/\\]/).pop()?.replace(/\.(cmd|exe|mjs)$/i, "");
325
+ const name = executable === null ? void 0 : hookBinaryNameOf(executable.split(/[/\\]/).pop() ?? "");
325
326
  return executable !== null && !isBridgeLocator(executable) && name !== BELL_HOOK_BINARY;
326
327
  });
327
328
  var hasAppCommand = (value) => commandsIn(value).some((command) => {
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  SETUP_FLAGS
3
- } from "./chunk-ZJGIJDWP.js";
3
+ } from "./chunk-JXE4UQFJ.js";
4
4
  import {
5
5
  parseFlags
6
6
  } from "./chunk-NMUI3ZWG.js";
@@ -9,7 +9,7 @@ import {
9
9
  } from "./chunk-PPY5N2E6.js";
10
10
  import {
11
11
  NPX_LATEST_COMMAND
12
- } from "./chunk-35M6YE6T.js";
12
+ } from "./chunk-TTTK44RK.js";
13
13
  import {
14
14
  CLAUDE_CONNECTOR_GUIDE,
15
15
  CLAUDE_CONNECTOR_STEPS,
@@ -17,7 +17,7 @@ import {
17
17
  CLAUDE_CONNECTOR_URL,
18
18
  COWORK_CONNECTOR_LIMIT,
19
19
  COWORK_STANDING_INSTRUCTIONS
20
- } from "./chunk-HGCUZQUL.js";
20
+ } from "./chunk-WG67W43Y.js";
21
21
 
22
22
  // src/cli/cowork.ts
23
23
  import { readFileSync } from "fs";
@@ -1,19 +1,19 @@
1
1
  import {
2
2
  macAppBridgeAvailable
3
- } from "./chunk-3LJU2L5S.js";
3
+ } from "./chunk-CV56MBIZ.js";
4
4
  import {
5
5
  keyPrefix
6
- } from "./chunk-3GZRNHH5.js";
6
+ } from "./chunk-CXZAKS7S.js";
7
7
  import {
8
8
  bridgeAgentKey
9
- } from "./chunk-7QYERUTD.js";
9
+ } from "./chunk-UOUUTDWF.js";
10
10
  import {
11
11
  readJsonSafe
12
- } from "./chunk-IRE7HPNI.js";
12
+ } from "./chunk-2BJZFA7X.js";
13
13
  import {
14
14
  isRecord,
15
15
  isValidApiKey
16
- } from "./chunk-HGCUZQUL.js";
16
+ } from "./chunk-WG67W43Y.js";
17
17
 
18
18
  // src/shared-mcp-key.ts
19
19
  var asRecord = (value) => value !== null && typeof value === "object" && !Array.isArray(value) ? value : void 0;
@@ -1,19 +1,19 @@
1
1
  import {
2
2
  readExistingMachineId
3
- } from "./chunk-QBI4KSTQ.js";
3
+ } from "./chunk-YAMNJXCD.js";
4
4
  import {
5
5
  getBaseUrl
6
- } from "./chunk-AFCKBLEG.js";
6
+ } from "./chunk-ONUAAXAW.js";
7
7
  import {
8
8
  NetworkError
9
9
  } from "./chunk-PPY5N2E6.js";
10
10
  import {
11
11
  getPackageVersion
12
- } from "./chunk-QTOLNRET.js";
12
+ } from "./chunk-ZVU6WMMU.js";
13
13
  import {
14
14
  clientContextHeaders,
15
15
  redactSecretsFromContent
16
- } from "./chunk-HGCUZQUL.js";
16
+ } from "./chunk-WG67W43Y.js";
17
17
 
18
18
  // src/cli/net.ts
19
19
  import { createRequire } from "module";
@@ -7,7 +7,7 @@ import {
7
7
  recordSealerFor,
8
8
  uploadTranscriptRecords,
9
9
  wrapSessionKey
10
- } from "./chunk-XU2FL4B6.js";
10
+ } from "./chunk-W3VRQEL3.js";
11
11
 
12
12
  // src/live-session.ts
13
13
  var MAX_TRANSCRIPT_QUEUE = 100;
@@ -6,20 +6,20 @@ import {
6
6
  } from "./chunk-PPY5N2E6.js";
7
7
  import {
8
8
  SETUP_AGENT_CHOICES,
9
- SETUP_CONNECT_MODES,
10
9
  isSetupConnectMode,
11
10
  isValidApiKey,
12
11
  normalizeAgentId
13
- } from "./chunk-HGCUZQUL.js";
12
+ } from "./chunk-WG67W43Y.js";
14
13
 
15
14
  // src/setup/options.ts
16
15
  var AGENT_CHOICES = SETUP_AGENT_CHOICES;
17
16
  var CONNECT_ALIASES = { auto: "app", pwa: "web" };
17
+ var OFFERED_CONNECT_MODES = ["app", "none"];
18
18
  var parseConnectMode = (raw) => {
19
19
  const value = raw.trim().toLowerCase();
20
20
  if (Object.hasOwn(CONNECT_ALIASES, value)) return CONNECT_ALIASES[value];
21
21
  if (isSetupConnectMode(value)) return value;
22
- throw new UsageError(`--connect must be one of: ${SETUP_CONNECT_MODES.join(", ")} (got ${raw})`);
22
+ throw new UsageError(`Unknown --connect value ${JSON.stringify(raw)}. Use one of: ${OFFERED_CONNECT_MODES.join(", ")}`);
23
23
  };
24
24
  var VERIFY_MODES = ["roundtrip", "push", "none"];
25
25
  var parseVerifyMode = (raw) => {
@@ -3,10 +3,10 @@ import {
3
3
  forkFinishWithUpgradeLock,
4
4
  installWithUpgradeLock,
5
5
  releaseAutoUpdateLock
6
- } from "./chunk-262U6MMI.js";
6
+ } from "./chunk-ESRKYHWE.js";
7
7
  import {
8
8
  phoneStartIsRequired
9
- } from "./chunk-RNAFUXEK.js";
9
+ } from "./chunk-UYTPCZ4M.js";
10
10
  import {
11
11
  describeAutoUpdateCheck,
12
12
  globalInstallLocation,
@@ -18,25 +18,25 @@ import {
18
18
  readAutoUpdateState,
19
19
  updateAutoUpdateState,
20
20
  upgradeEntryFor
21
- } from "./chunk-UCZZX5JH.js";
21
+ } from "./chunk-S2DLTWFG.js";
22
22
  import {
23
23
  autoUpdateLock,
24
24
  autoUpdateLog,
25
25
  autoUpdateState
26
- } from "./chunk-7QYERUTD.js";
26
+ } from "./chunk-UOUUTDWF.js";
27
27
  import {
28
28
  execNpm,
29
29
  fetchLatestPublishedVersion,
30
30
  npmErrorMessage,
31
31
  readGlobalCliInstallAt,
32
32
  readGlobalPrefix
33
- } from "./chunk-IRE7HPNI.js";
33
+ } from "./chunk-2BJZFA7X.js";
34
34
  import {
35
35
  EXIT
36
36
  } from "./chunk-KZERVKTD.js";
37
37
  import {
38
38
  NPX_LATEST_COMMAND
39
- } from "./chunk-35M6YE6T.js";
39
+ } from "./chunk-TTTK44RK.js";
40
40
  import {
41
41
  commandsPackage,
42
42
  globalUpgradeEntry,
@@ -45,7 +45,7 @@ import {
45
45
  isSameMajorVersion,
46
46
  ownPackageRoot,
47
47
  packageVersionAt
48
- } from "./chunk-QTOLNRET.js";
48
+ } from "./chunk-ZVU6WMMU.js";
49
49
 
50
50
  // src/global-upgrade.ts
51
51
  import { existsSync } from "fs";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  readConfigFileKey
3
- } from "./chunk-3GZRNHH5.js";
3
+ } from "./chunk-CXZAKS7S.js";
4
4
 
5
5
  // src/bell/fleet.ts
6
6
  import { closeSync, constants, futimesSync, lstatSync, mkdirSync, openSync, readdirSync, unlinkSync } from "fs";
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  pusharyFetch
3
- } from "./chunk-LK343VAG.js";
3
+ } from "./chunk-JNCD2ZG3.js";
4
4
  import {
5
5
  getBaseUrl
6
- } from "./chunk-AFCKBLEG.js";
6
+ } from "./chunk-ONUAAXAW.js";
7
7
  import {
8
8
  NetworkError
9
9
  } from "./chunk-PPY5N2E6.js";
@@ -13,7 +13,7 @@ import {
13
13
  import {
14
14
  isValidApiKey,
15
15
  normalizeKeyScope
16
- } from "./chunk-HGCUZQUL.js";
16
+ } from "./chunk-WG67W43Y.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
  localRepoKey,
3
3
  normalizeRepoRemote
4
- } from "./chunk-HGCUZQUL.js";
4
+ } from "./chunk-WG67W43Y.js";
5
5
 
6
6
  // src/repo.ts
7
7
  import { existsSync, readFileSync, statSync } from "fs";
@@ -1,17 +1,17 @@
1
1
  import {
2
2
  compatibleConfigFile,
3
3
  hasCompatibleHooks
4
- } from "./chunk-4OXYED6O.js";
4
+ } from "./chunk-5TMGEQAC.js";
5
5
  import {
6
6
  pusharyHookExecutable
7
- } from "./chunk-PE6JUMI2.js";
7
+ } from "./chunk-IEAABGST.js";
8
8
  import {
9
9
  isProtectedByScope,
10
10
  registerHookEntry
11
- } from "./chunk-7QYERUTD.js";
11
+ } from "./chunk-UOUUTDWF.js";
12
12
  import {
13
13
  isRecord
14
- } from "./chunk-HGCUZQUL.js";
14
+ } from "./chunk-WG67W43Y.js";
15
15
 
16
16
  // src/cursor-config.ts
17
17
  var hookCommandOf = (entry) => {
@@ -1,25 +1,25 @@
1
1
  import {
2
2
  registerTranscript
3
- } from "./chunk-DN6QYNNC.js";
3
+ } from "./chunk-WUS2LFTM.js";
4
4
  import {
5
5
  namedEvent
6
- } from "./chunk-4OXYED6O.js";
6
+ } from "./chunk-5TMGEQAC.js";
7
7
  import {
8
8
  isBridgeLocator,
9
9
  liveBridgeProbe,
10
10
  pusharyHookExecutable,
11
11
  resolveBridgeStub
12
- } from "./chunk-PE6JUMI2.js";
12
+ } from "./chunk-IEAABGST.js";
13
13
  import {
14
14
  writeDegraded
15
- } from "./chunk-UAADLSK5.js";
15
+ } from "./chunk-OIW3JAWH.js";
16
16
  import {
17
17
  cursorUserHooks
18
- } from "./chunk-7QYERUTD.js";
18
+ } from "./chunk-UOUUTDWF.js";
19
19
  import {
20
20
  atLeast,
21
21
  parseVersion
22
- } from "./chunk-IRE7HPNI.js";
22
+ } from "./chunk-2BJZFA7X.js";
23
23
  import {
24
24
  CURSOR_GATE_COVERAGE,
25
25
  CURSOR_GATE_SCRIPT,
@@ -33,7 +33,7 @@ import {
33
33
  isGrokSessionEndStop,
34
34
  isRecord,
35
35
  toolsCoveredByGateEntry
36
- } from "./chunk-HGCUZQUL.js";
36
+ } from "./chunk-WG67W43Y.js";
37
37
 
38
38
  // src/tool-hook-input.ts
39
39
  var OPTIONAL_TEXT_FIELDS = ["hook_event_name", "session_id", "cwd", "transcript_path", "tool_use_id", "permission_mode", "cursor_version"];
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  configFilePath
3
- } from "./chunk-AFCKBLEG.js";
3
+ } from "./chunk-ONUAAXAW.js";
4
4
  import {
5
5
  normalizeInstallSource
6
- } from "./chunk-HGCUZQUL.js";
6
+ } from "./chunk-WG67W43Y.js";
7
7
 
8
8
  // src/install-source.ts
9
9
  import { readFileSync } from "fs";
@@ -7,13 +7,13 @@ import {
7
7
  codexHome,
8
8
  codexHooksJsonIn,
9
9
  isPusharyCodexCommand
10
- } from "./chunk-7QYERUTD.js";
10
+ } from "./chunk-UOUUTDWF.js";
11
11
  import {
12
12
  resolvePathBinary
13
- } from "./chunk-IRE7HPNI.js";
13
+ } from "./chunk-2BJZFA7X.js";
14
14
  import {
15
15
  getPackageVersion
16
- } from "./chunk-QTOLNRET.js";
16
+ } from "./chunk-ZVU6WMMU.js";
17
17
 
18
18
  // src/codex-app-server.ts
19
19
  import { existsSync, realpathSync } from "fs";
@@ -6,18 +6,18 @@ import {
6
6
  McpToolError,
7
7
  SubscriptionRequiredError,
8
8
  callMcpTool
9
- } from "./chunk-EUZ73S73.js";
9
+ } from "./chunk-Z5HLACZT.js";
10
10
  import {
11
11
  installNetworkDefaults,
12
12
  isNetworkFailure
13
- } from "./chunk-LK343VAG.js";
13
+ } from "./chunk-JNCD2ZG3.js";
14
14
  import {
15
15
  clientReportClaims
16
- } from "./chunk-7QYERUTD.js";
16
+ } from "./chunk-UOUUTDWF.js";
17
17
  import {
18
18
  getApiKey,
19
19
  getBaseUrl
20
- } from "./chunk-AFCKBLEG.js";
20
+ } from "./chunk-ONUAAXAW.js";
21
21
  import {
22
22
  ASK_AGENT_NAME_MAX,
23
23
  CLIENT_REPORT_PATH,
@@ -26,7 +26,7 @@ import {
26
26
  TOOL_FAILURE_CODES,
27
27
  degradedLine,
28
28
  truncateLine
29
- } from "./chunk-HGCUZQUL.js";
29
+ } from "./chunk-WG67W43Y.js";
30
30
 
31
31
  // src/api.ts
32
32
  import { randomUUID } from "crypto";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  NPX_LATEST_COMMAND
3
- } from "./chunk-35M6YE6T.js";
3
+ } from "./chunk-TTTK44RK.js";
4
4
 
5
5
  // src/config.ts
6
6
  import { readFileSync } from "fs";
@@ -12,7 +12,7 @@ import {
12
12
  reachVerdict,
13
13
  reachesYou,
14
14
  verifyDelivery
15
- } from "./chunk-HMLURCXV.js";
15
+ } from "./chunk-RRMRP62I.js";
16
16
  import {
17
17
  humanIsTty,
18
18
  writeHuman
@@ -24,14 +24,14 @@ import {
24
24
  } from "./chunk-FO3MDD26.js";
25
25
  import {
26
26
  reportedInstallSource
27
- } from "./chunk-GXW43S4A.js";
27
+ } from "./chunk-NPBPH7KI.js";
28
28
  import {
29
29
  NPX_LATEST_COMMAND
30
- } from "./chunk-35M6YE6T.js";
30
+ } from "./chunk-TTTK44RK.js";
31
31
  import {
32
32
  NO_PAIRING_COMPUTER,
33
33
  PAIR_TTL_SECONDS
34
- } from "./chunk-HGCUZQUL.js";
34
+ } from "./chunk-WG67W43Y.js";
35
35
 
36
36
  // src/onboarding.ts
37
37
  import qrcodeTerminal from "qrcode-terminal";
@@ -424,15 +424,11 @@ var PAIR_POLL_INTERVAL_MS = 2e3;
424
424
  var PAIR_STOP_BEFORE_EXPIRY_MS = 1e4;
425
425
  var PAIR_TIMEOUT_MS = PAIR_TTL_SECONDS * 1e3 - PAIR_STOP_BEFORE_EXPIRY_MS;
426
426
  var PAIR_HINT_AFTER_MS = 45e3;
427
- var PAIR_BROWSER_FALLBACK_AFTER_MS = 6e4;
428
- var BROWSER_CONNECT_COMMAND = `${NPX_LATEST_COMMAND} setup --connect browser`;
429
- var PAIR_BROWSER_FALLBACK_LINE = `Still waiting? Ctrl-C, then: ${BROWSER_CONNECT_COMMAND}`;
430
427
  var PAIR_INSTALL_HINT = "No app yet? Install it, sign in, then scan the QR above. Ctrl-C to stop.";
431
428
  var PAIR_WAITING_LABEL = "Waiting for the app to authorize";
432
429
  var PAIR_ADVICE_ROTATION_MS = 5e3;
433
430
  var PAIR_ADVICE = [
434
- { afterMs: PAIR_HINT_AFTER_MS, text: PAIR_INSTALL_HINT },
435
- { afterMs: PAIR_BROWSER_FALLBACK_AFTER_MS, text: PAIR_BROWSER_FALLBACK_LINE }
431
+ { afterMs: PAIR_HINT_AFTER_MS, text: PAIR_INSTALL_HINT }
436
432
  ];
437
433
  var adviceDueAt = (elapsedMs) => PAIR_ADVICE.filter((advice) => elapsedMs >= advice.afterMs);
438
434
  var pairAdviceDue = (elapsedMs) => adviceDueAt(elapsedMs).map((advice) => advice.text);
@@ -445,6 +441,16 @@ var pairWaitingLabel = (elapsedMs, minutesLeft) => {
445
441
  return labels[Math.floor((elapsedMs - newest.afterMs) / PAIR_ADVICE_ROTATION_MS) % labels.length] ?? PAIR_WAITING_LABEL;
446
442
  };
447
443
  var PAIR_GET_APP_LINE = "No app yet? Get it at pushary.com/download. Setup keeps waiting.";
444
+ var PAIRING_ESCAPE_APP_URL = "https://pushary.com/download";
445
+ var PAIRING_ESCAPE_KEY_COMMAND = `${NPX_LATEST_COMMAND} setup --key pk_...`;
446
+ var PAIRING_ESCAPE_KEY_PAGE = "pushary.com/dashboard/agent/settings";
447
+ var describePairingEscape = () => [
448
+ `${yellow("!")} No app yet? Get it at ${cyan(PAIRING_ESCAPE_APP_URL)}, then run setup again.`,
449
+ "",
450
+ ` ${dim("Already have a key? Use it instead:")}`,
451
+ ` ${cyan(PAIRING_ESCAPE_KEY_COMMAND)}`,
452
+ ` ${dim("Find it at")} ${cyan(PAIRING_ESCAPE_KEY_PAGE)}`
453
+ ];
448
454
  var describePairingScreen = (screen) => [
449
455
  bold("Connect your phone"),
450
456
  "Scan this with your phone's camera or the Pushary app.",
@@ -718,7 +724,7 @@ export {
718
724
  confirmAppConnection,
719
725
  connectExistingApp,
720
726
  printConnectInstructions,
721
- BROWSER_CONNECT_COMMAND,
727
+ describePairingEscape,
722
728
  pairingEscapeApplies,
723
729
  connectViaAppPairing,
724
730
  waitForYourPhone
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  readTranscriptPreference
3
- } from "./chunk-3GZRNHH5.js";
3
+ } from "./chunk-CXZAKS7S.js";
4
4
 
5
5
  // src/transcript-setting.ts
6
6
  var transcriptEnvironmentPreference = () => {
@@ -9,7 +9,7 @@ import {
9
9
  } from "./chunk-3EGEA4KH.js";
10
10
  import {
11
11
  getBaseUrl
12
- } from "./chunk-AFCKBLEG.js";
12
+ } from "./chunk-ONUAAXAW.js";
13
13
 
14
14
  // src/cli/login-ui.ts
15
15
  import { hostname } from "os";
@@ -1,20 +1,20 @@
1
1
  import {
2
2
  openCodeConfigDirFrom
3
- } from "./chunk-3LJU2L5S.js";
3
+ } from "./chunk-CV56MBIZ.js";
4
4
  import {
5
5
  nativeClaudeInstallPath
6
- } from "./chunk-J5BCHHCB.js";
6
+ } from "./chunk-TO77OYLM.js";
7
7
  import {
8
8
  grokHome
9
- } from "./chunk-4OXYED6O.js";
9
+ } from "./chunk-5TMGEQAC.js";
10
10
  import {
11
11
  claudeConfigDir,
12
12
  clineDataDirectory,
13
13
  codexHomeFrom
14
- } from "./chunk-7QYERUTD.js";
14
+ } from "./chunk-UOUUTDWF.js";
15
15
  import {
16
16
  HOOK_COMPATIBLE_PROFILES
17
- } from "./chunk-HGCUZQUL.js";
17
+ } from "./chunk-WG67W43Y.js";
18
18
 
19
19
  // src/vscode-config.ts
20
20
  import { homedir } from "os";
@@ -4,24 +4,24 @@ import {
4
4
  outcomeOfFailedAsk,
5
5
  reportMachineDenial,
6
6
  storedWaitDeadline
7
- } from "./chunk-N3DOT42Y.js";
7
+ } from "./chunk-3UBYG4G7.js";
8
8
  import {
9
9
  isGatingMoment,
10
10
  recordKeylessMoment
11
- } from "./chunk-DLPFYJ7G.js";
11
+ } from "./chunk-X2P3O4PX.js";
12
12
  import {
13
13
  isAdmitted,
14
14
  readAdmissionRules
15
- } from "./chunk-3BPSCYOE.js";
15
+ } from "./chunk-NEWGYFKC.js";
16
16
  import {
17
17
  isDeferAnswer,
18
18
  oncePerSession
19
- } from "./chunk-Z4PNECON.js";
19
+ } from "./chunk-AM3H6HWG.js";
20
20
  import {
21
21
  activeHookSource,
22
22
  activeIdentity,
23
23
  namedSource
24
- } from "./chunk-4OXYED6O.js";
24
+ } from "./chunk-5TMGEQAC.js";
25
25
  import {
26
26
  DEFAULT_SESSION,
27
27
  UNNAMED_ACTION,
@@ -45,10 +45,10 @@ import {
45
45
  reportEvent,
46
46
  scopePathFor,
47
47
  settleQuestionsForToolUse
48
- } from "./chunk-FNBGGKRK.js";
48
+ } from "./chunk-FHPSVTS5.js";
49
49
  import {
50
50
  repoKeyFor
51
- } from "./chunk-7R5ZKOQ4.js";
51
+ } from "./chunk-M5XNFUXN.js";
52
52
  import {
53
53
  askUser,
54
54
  cancelQuestion,
@@ -65,20 +65,20 @@ import {
65
65
  waitForQuestion,
66
66
  waitsForThePhone,
67
67
  withdrawQuestion
68
- } from "./chunk-UAADLSK5.js";
68
+ } from "./chunk-OIW3JAWH.js";
69
69
  import {
70
70
  getMachineId
71
- } from "./chunk-QBI4KSTQ.js";
71
+ } from "./chunk-YAMNJXCD.js";
72
72
  import {
73
73
  claudeConfigDir
74
- } from "./chunk-7QYERUTD.js";
74
+ } from "./chunk-UOUUTDWF.js";
75
75
  import {
76
76
  getApiKey,
77
77
  getBaseUrl
78
- } from "./chunk-AFCKBLEG.js";
78
+ } from "./chunk-ONUAAXAW.js";
79
79
  import {
80
80
  NPX_LATEST_COMMAND
81
- } from "./chunk-35M6YE6T.js";
81
+ } from "./chunk-TTTK44RK.js";
82
82
  import {
83
83
  AGENT_QUESTION_STRATEGY,
84
84
  AGENT_QUESTION_TOOL,
@@ -133,7 +133,7 @@ import {
133
133
  terminalStaysLiveForTheCall,
134
134
  timeoutActionWithoutLocalPrompt,
135
135
  unansweredRefusalReason
136
- } from "./chunk-HGCUZQUL.js";
136
+ } from "./chunk-WG67W43Y.js";
137
137
 
138
138
  // src/terminal-answer-watch.ts
139
139
  import { closeSync, openSync, readSync, statSync } from "fs";