pushary 1.9.119 → 1.9.121

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 (133) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/data/cursor-plugin/scripts/pushary-gate.mjs +13 -2
  3. package/data/vscode-plugin/scripts/pushary-gate.mjs +12 -1
  4. package/dist/{api-WWB7ZOLK.js → api-RI52IA65.js} +11 -11
  5. package/dist/bin/pushary-audit.js +3 -3
  6. package/dist/bin/pushary-bell-hook.js +27 -27
  7. package/dist/bin/pushary-bell.js +10 -10
  8. package/dist/bin/pushary-claude.js +25 -25
  9. package/dist/bin/pushary-clean.js +43 -43
  10. package/dist/bin/pushary-codex-bridge.js +21 -21
  11. package/dist/bin/pushary-codex-hook.js +36 -36
  12. package/dist/bin/pushary-codex-session.js +8 -8
  13. package/dist/bin/pushary-codex.js +15 -15
  14. package/dist/bin/pushary-connect.js +28 -28
  15. package/dist/bin/pushary-cowork.js +5 -5
  16. package/dist/bin/pushary-daemon.js +44 -44
  17. package/dist/bin/pushary-disconnect.js +27 -27
  18. package/dist/bin/pushary-display-hook.js +17 -17
  19. package/dist/bin/pushary-doctor.js +47 -47
  20. package/dist/bin/pushary-elicitation-hook.js +27 -27
  21. package/dist/bin/pushary-gemini-bridge.js +15 -15
  22. package/dist/bin/pushary-gemini-hook.js +33 -33
  23. package/dist/bin/pushary-hook.js +33 -33
  24. package/dist/bin/pushary-login.js +22 -22
  25. package/dist/bin/pushary-logout.js +26 -26
  26. package/dist/bin/pushary-mcp.js +12 -12
  27. package/dist/bin/pushary-mode.js +15 -15
  28. package/dist/bin/pushary-notification-hook.js +26 -26
  29. package/dist/bin/pushary-opencode-hook.js +30 -30
  30. package/dist/bin/pushary-permission-denied-hook.js +33 -33
  31. package/dist/bin/pushary-permission-hook.js +33 -33
  32. package/dist/bin/pushary-post-hook.js +26 -26
  33. package/dist/bin/pushary-prompt-hook.js +26 -26
  34. package/dist/bin/pushary-session-end-hook.js +26 -26
  35. package/dist/bin/pushary-session-start-hook.js +35 -35
  36. package/dist/bin/pushary-setup.js +90 -90
  37. package/dist/bin/pushary-stats.js +5 -5
  38. package/dist/bin/pushary-status.js +32 -32
  39. package/dist/bin/pushary-stop-hook.js +26 -26
  40. package/dist/bin/pushary-stopfailure-hook.js +26 -26
  41. package/dist/bin/pushary-suggestions.js +15 -15
  42. package/dist/bin/pushary-transcript-register.js +17 -17
  43. package/dist/bin/pushary-transcripts.js +25 -25
  44. package/dist/bin/pushary-upgrade.js +43 -43
  45. package/dist/bin/pushary-wait.js +17 -17
  46. package/dist/bin/pushary.js +7 -7
  47. package/dist/{chunk-Z3OG44Z4.js → chunk-2A4X4ETF.js} +4 -4
  48. package/dist/{chunk-R3RTISDD.js → chunk-2M7FELUY.js} +1 -1
  49. package/dist/{chunk-SE7P5BBK.js → chunk-2QWQCU7L.js} +1 -1
  50. package/dist/{chunk-NVV3YUTX.js → chunk-3HZ374VU.js} +2 -2
  51. package/dist/{chunk-TZYVXTLN.js → chunk-4LR27PGD.js} +1 -1
  52. package/dist/{chunk-EFFH2FYG.js → chunk-5CMNZXJV.js} +2 -2
  53. package/dist/{chunk-SQRS4IF2.js → chunk-5MITA7MU.js} +3 -3
  54. package/dist/{chunk-PJSFKKZ5.js → chunk-5S32WI3B.js} +1 -1
  55. package/dist/{chunk-XBH6OKHD.js → chunk-5UT5EFMH.js} +3 -3
  56. package/dist/{chunk-VRZOUCIK.js → chunk-6LP6G2NA.js} +2 -2
  57. package/dist/{chunk-YZESBU7F.js → chunk-6RME4X3J.js} +151 -6
  58. package/dist/{chunk-ISVHV2DP.js → chunk-7EYXAM63.js} +1 -1
  59. package/dist/{chunk-GBVTVTDF.js → chunk-7FDDOT2A.js} +1 -1
  60. package/dist/{chunk-KVDN4U6W.js → chunk-7FH6T4EN.js} +10 -10
  61. package/dist/{chunk-GW3PE52Q.js → chunk-7OSBFMRV.js} +1 -1
  62. package/dist/{chunk-TLCJCP5R.js → chunk-AH4NLZTT.js} +1 -1
  63. package/dist/{chunk-ZLUAXGAA.js → chunk-AXSAL7DK.js} +4 -4
  64. package/dist/{chunk-G5FQU2XF.js → chunk-B3KFHR43.js} +6 -6
  65. package/dist/{chunk-7CJ7W2RH.js → chunk-BMME65OT.js} +4 -4
  66. package/dist/{chunk-JKS4MN47.js → chunk-BPU6P3DS.js} +6 -6
  67. package/dist/{chunk-JJNF6QU4.js → chunk-BVI2N7QA.js} +1 -1
  68. package/dist/{chunk-DXJUASTS.js → chunk-D2LPVOG5.js} +2 -2
  69. package/dist/{chunk-ZTVBM3EZ.js → chunk-DLXYQE5G.js} +4 -4
  70. package/dist/{chunk-U32N5JZO.js → chunk-E5LU5MJ2.js} +1 -1
  71. package/dist/{chunk-6KX2H4I5.js → chunk-EVWF3A5D.js} +3 -3
  72. package/dist/{chunk-5HKU4VUL.js → chunk-F4K2A7DJ.js} +3 -3
  73. package/dist/{chunk-K5WTTEIQ.js → chunk-F5FMUDD7.js} +5 -5
  74. package/dist/{chunk-PNSIMPC7.js → chunk-FBJHC7HW.js} +6 -6
  75. package/dist/{chunk-2C45MJGK.js → chunk-FEJP2I44.js} +13 -6
  76. package/dist/{chunk-SNKC2IQZ.js → chunk-FG67GH5B.js} +2 -2
  77. package/dist/{chunk-CBLFIWPI.js → chunk-GZ3D46PV.js} +12 -6
  78. package/dist/{chunk-MYNLU6DV.js → chunk-H2OUB5S5.js} +2 -2
  79. package/dist/{chunk-TRDHHF3A.js → chunk-HI5YJFKW.js} +74 -10
  80. package/dist/{chunk-4HDX77ND.js → chunk-HINZZUOB.js} +3 -3
  81. package/dist/{chunk-GAOUWLYN.js → chunk-HLZWEGW3.js} +3 -3
  82. package/dist/{chunk-67I7QRQB.js → chunk-IA3E675D.js} +1 -1
  83. package/dist/{chunk-XNCKBVZX.js → chunk-IEZXEY7L.js} +5 -5
  84. package/dist/{chunk-KOZBVXXC.js → chunk-IGMI36FA.js} +3 -3
  85. package/dist/{chunk-V52J2THT.js → chunk-IZ7MIGO7.js} +1 -1
  86. package/dist/{chunk-FPG7X2GS.js → chunk-J7WPO2M2.js} +4 -4
  87. package/dist/{chunk-BQ673OOD.js → chunk-JK7GROFO.js} +2 -2
  88. package/dist/{chunk-YCCLWG7G.js → chunk-JY2DOJKN.js} +6 -6
  89. package/dist/{chunk-CXIYGD33.js → chunk-KRKH26TX.js} +2 -2
  90. package/dist/{chunk-HYTDNEXV.js → chunk-LIIIC27B.js} +1 -1
  91. package/dist/{chunk-2UE2NDCX.js → chunk-LS3CQ536.js} +1 -1
  92. package/dist/{chunk-VFZ2PE6U.js → chunk-N47MAVYX.js} +3 -3
  93. package/dist/{chunk-VMM6JCNQ.js → chunk-NCHNITQW.js} +2 -2
  94. package/dist/{chunk-PDAOZ2NF.js → chunk-NDOT226I.js} +10 -10
  95. package/dist/{chunk-UHAUC7EO.js → chunk-NLEHRQHL.js} +2 -2
  96. package/dist/{chunk-AGXOTZID.js → chunk-O7VVRTOR.js} +5 -5
  97. package/dist/{chunk-NASQPMXW.js → chunk-QK4I4CHR.js} +9 -9
  98. package/dist/{chunk-4SZM2HRA.js → chunk-RI5APNBY.js} +6 -6
  99. package/dist/{chunk-W5ZUDPKV.js → chunk-RK7QHQTY.js} +5 -5
  100. package/dist/{chunk-SSBETUYZ.js → chunk-S6TMCUU7.js} +3 -3
  101. package/dist/{chunk-EISUEJDT.js → chunk-SFMJMQJC.js} +6 -6
  102. package/dist/{chunk-W6LKC5YD.js → chunk-SQPAX33Q.js} +5 -5
  103. package/dist/{chunk-YZ7V2LVG.js → chunk-SZV5SLSD.js} +3 -3
  104. package/dist/{chunk-RIAELZYW.js → chunk-T2WDQ3NT.js} +2 -2
  105. package/dist/{chunk-KILSIJTF.js → chunk-TZHTLLXJ.js} +53 -16
  106. package/dist/{chunk-4D23TNCL.js → chunk-UI7XS3MN.js} +4 -4
  107. package/dist/{chunk-RGXFBS56.js → chunk-UIHY3ANL.js} +3 -3
  108. package/dist/{chunk-B7BOENW7.js → chunk-UV2JM3PZ.js} +1 -1
  109. package/dist/{chunk-6YLVNFQZ.js → chunk-VUNQZNKR.js} +3 -3
  110. package/dist/{chunk-3IESC326.js → chunk-W4OWC34V.js} +3 -3
  111. package/dist/{chunk-EP6I3MQY.js → chunk-WJUFRGJS.js} +4 -4
  112. package/dist/{chunk-R67NTMBY.js → chunk-WS37PSC5.js} +8 -8
  113. package/dist/{chunk-MEPYLTWF.js → chunk-WSYWK4I3.js} +10 -10
  114. package/dist/{chunk-3B7S2H4R.js → chunk-X2PN3XNW.js} +1 -1
  115. package/dist/{chunk-G4OVFWU4.js → chunk-X4CDZLUK.js} +46 -28
  116. package/dist/{chunk-COXNQUDP.js → chunk-XOYPF2BI.js} +4 -4
  117. package/dist/{chunk-5T5T4YXM.js → chunk-Z7FUHJKU.js} +1 -1
  118. package/dist/{chunk-L3MCQSES.js → chunk-ZQHT57AL.js} +5 -5
  119. package/dist/{codex-app-cards-switch-J6EULXO5.js → codex-app-cards-switch-MEVTS3QV.js} +12 -12
  120. package/dist/{codex-card-routing-XNJB6573.js → codex-card-routing-JTZ2PC24.js} +2 -2
  121. package/dist/{codex-desktop-launch-46ELENBQ.js → codex-desktop-launch-E5TZ72YZ.js} +1 -1
  122. package/dist/{codex-session-launch-R5FHFWAG.js → codex-session-launch-UMVQ7FJA.js} +18 -18
  123. package/dist/{config-RKWDMDRY.js → config-43UOHCK6.js} +3 -3
  124. package/dist/{global-upgrade-E65GJQS6.js → global-upgrade-KHVTFNAK.js} +9 -9
  125. package/dist/{identity-JRGY2KS6.js → identity-DAUTKB5X.js} +4 -4
  126. package/dist/{live-capabilities-SOO6PD7Y.js → live-capabilities-T2FOTXAH.js} +4 -4
  127. package/dist/{paths-G7NZODAY.js → paths-W5X4C6PA.js} +3 -3
  128. package/dist/{reapply-YKN5BKIP.js → reapply-WW4LJZUD.js} +28 -28
  129. package/dist/src/index.d.ts +1 -1
  130. package/dist/src/index.js +32 -32
  131. package/dist/{upgrade-lock-YKAZI3BH.js → upgrade-lock-TJBGZLH6.js} +4 -4
  132. package/dist/{usage-QWYNOIU6.js → usage-MUXR5SZ7.js} +3 -3
  133. package/package.json +1 -1
@@ -27,11 +27,11 @@ import {
27
27
  toolResultErrorText,
28
28
  transcriptTokensIn,
29
29
  transcriptUsageRequest
30
- } from "./chunk-GW3PE52Q.js";
30
+ } from "./chunk-7OSBFMRV.js";
31
31
  import {
32
32
  branchFor,
33
33
  repoKeyFor
34
- } from "./chunk-SE7P5BBK.js";
34
+ } from "./chunk-2QWQCU7L.js";
35
35
  import {
36
36
  cancelQuestion,
37
37
  clientErrorKindOf,
@@ -39,34 +39,35 @@ import {
39
39
  reportClientError,
40
40
  sendNotification,
41
41
  waitForAnswer
42
- } from "./chunk-NASQPMXW.js";
42
+ } from "./chunk-QK4I4CHR.js";
43
43
  import {
44
+ isRetryable,
44
45
  withRetry
45
- } from "./chunk-W6LKC5YD.js";
46
+ } from "./chunk-SQPAX33Q.js";
46
47
  import {
47
48
  fetchAsCredential
48
- } from "./chunk-U32N5JZO.js";
49
+ } from "./chunk-E5LU5MJ2.js";
49
50
  import {
50
51
  getMachineId
51
- } from "./chunk-TZYVXTLN.js";
52
+ } from "./chunk-4LR27PGD.js";
52
53
  import {
53
54
  reportedInstallSource
54
- } from "./chunk-VMM6JCNQ.js";
55
+ } from "./chunk-NCHNITQW.js";
55
56
  import {
56
57
  IDLE_PROMPT_NOTIFICATION,
57
58
  NOTIFICATION_PUSH_TYPES,
58
59
  POSTTOOLUSE_MIRROR_ONLY_TOOLS,
59
60
  canonicalJson,
60
61
  claudeConfigDir
61
- } from "./chunk-CBLFIWPI.js";
62
+ } from "./chunk-GZ3D46PV.js";
62
63
  import {
63
64
  compareVersion,
64
65
  parseVersion
65
- } from "./chunk-KOZBVXXC.js";
66
+ } from "./chunk-IGMI36FA.js";
66
67
  import {
67
68
  getApiKey,
68
69
  getBaseUrl
69
- } from "./chunk-R3RTISDD.js";
70
+ } from "./chunk-2M7FELUY.js";
70
71
  import {
71
72
  writeFileAtomic,
72
73
  writeJsonAtomicDurable
@@ -95,7 +96,7 @@ import {
95
96
  resolveAutoResolveOrigin,
96
97
  resolvePolicy,
97
98
  unansweredRefusalReason
98
- } from "./chunk-TRDHHF3A.js";
99
+ } from "./chunk-HI5YJFKW.js";
99
100
 
100
101
  // src/pending.ts
101
102
  import { join } from "path";
@@ -376,7 +377,7 @@ var policyCacheFile = (apiKey, agent, repoAware = false) => {
376
377
  return join2(tmpdir2(), `pushary-policy-${POLICY_CACHE_FORMAT}-${hash}.json`);
377
378
  };
378
379
  var POLICY_REQUEST_CAPABILITIES_VALUE = policyRequestCapabilitiesHeaderValue(CLI_POLICY_REQUEST_CAPABILITIES);
379
- var fetchPolicy = async (apiKey, agent, repoAware = false, sessionId) => {
380
+ var fetchPolicy = async (apiKey, agent, repoAware = false, sessionId, signal) => {
380
381
  return withRetry(async () => {
381
382
  const baseUrl = getBaseUrl();
382
383
  const params = new URLSearchParams();
@@ -389,7 +390,7 @@ var fetchPolicy = async (apiKey, agent, repoAware = false, sessionId) => {
389
390
  const url = query ? `${baseUrl}/api/mcp/policy?${query}` : `${baseUrl}/api/mcp/policy`;
390
391
  const response = await fetchAsCredential(apiKey, url, {
391
392
  headers: { "Authorization": `Bearer ${apiKey}`, [POLICY_REQUEST_CAPABILITIES_HEADER]: POLICY_REQUEST_CAPABILITIES_VALUE },
392
- signal: AbortSignal.timeout(1e4)
393
+ signal: AbortSignal.any([AbortSignal.timeout(1e4), ...signal ? [signal] : []])
393
394
  });
394
395
  if (!response.ok) {
395
396
  throw new Error(`Failed to fetch policy: ${response.status}`);
@@ -397,9 +398,9 @@ var fetchPolicy = async (apiKey, agent, repoAware = false, sessionId) => {
397
398
  const raw = await response.json();
398
399
  if (!isPolicyConfig(raw)) throw new Error("Invalid policy response");
399
400
  return raw;
400
- }, { maxAttempts: 2 });
401
+ }, { maxAttempts: 2, shouldRetry: (error) => signal?.aborted !== true && isRetryable(error) });
401
402
  };
402
- var getPolicy = async (apiKey, expectedVersion, agent, repoAware = false, sessionId) => {
403
+ var getPolicy = async (apiKey, expectedVersion, agent, repoAware = false, sessionId, signal) => {
403
404
  const path = policyCacheFile(apiKey, agent, repoAware);
404
405
  let staleCache = null;
405
406
  if (existsSync2(path)) {
@@ -419,7 +420,7 @@ var getPolicy = async (apiKey, expectedVersion, agent, repoAware = false, sessio
419
420
  }
420
421
  }
421
422
  try {
422
- const policy = await fetchPolicy(apiKey, agent, repoAware, sessionId);
423
+ const policy = await fetchPolicy(apiKey, agent, repoAware, sessionId, signal);
423
424
  try {
424
425
  writeFileSync2(path, JSON.stringify({ ...policy, _cachedAt: Date.now(), _policyVersion: expectedVersion ?? null, _sessionId: sessionId ?? null }), { encoding: "utf-8", mode: 384 });
425
426
  } catch {
@@ -430,6 +431,18 @@ var getPolicy = async (apiKey, expectedVersion, agent, repoAware = false, sessio
430
431
  throw new Error("Failed to fetch policy and no cached policy available");
431
432
  }
432
433
  };
434
+ var readFreshPolicyOfAnySession = (path, expectedVersion) => {
435
+ try {
436
+ const cached = JSON.parse(readFileSync2(path, "utf-8"));
437
+ if (!isRecord(cached) || typeof cached._cachedAt !== "number") return null;
438
+ if (Date.now() - cached._cachedAt >= CACHE_TTL_MS) return null;
439
+ if (expectedVersion != null && (cached._policyVersion ?? null) !== expectedVersion) return null;
440
+ return isPolicyConfig(cached) ? cached : null;
441
+ } catch {
442
+ return null;
443
+ }
444
+ };
445
+ var getPolicyForStandingDenies = async (apiKey, expectedVersion, agent, repoAware, sessionId, signal) => readFreshPolicyOfAnySession(policyCacheFile(apiKey, agent, repoAware), expectedVersion) ?? getPolicy(apiKey, expectedVersion, agent, repoAware, sessionId, signal);
433
446
  var readCachedPolicy = (apiKey, agent, repoAware = false) => {
434
447
  const path = policyCacheFile(apiKey, agent, repoAware);
435
448
  try {
@@ -446,6 +459,7 @@ var modeStateCacheFile = (apiKey) => {
446
459
  const hash = createHash2("sha256").update(`mode:${apiKey}`).digest("hex").slice(0, 12);
447
460
  return join2(tmpdir2(), `pushary-mode-${hash}.json`);
448
461
  };
462
+ var wasFetchedForSession = (cached, sessionId) => (cached.sessionId ?? null) === (sessionId ?? null);
449
463
  var readLastGoodMode = (apiKey) => {
450
464
  try {
451
465
  const path = modeStateCacheFile(apiKey);
@@ -473,25 +487,25 @@ var unknownMode = () => ({
473
487
  scope: null,
474
488
  degraded: true
475
489
  });
476
- var degradedFallback = (apiKey, authoritative = false) => {
490
+ var degradedFallback = (apiKey, sessionId, authoritative = false) => {
477
491
  if (authoritative) return unknownMode();
478
492
  const last = readLastGoodMode(apiKey);
479
- if (last && Date.now() - last.at < MODE_GRACE_MS) {
480
- return { ...last.state, degraded: false };
481
- }
482
- return unknownMode();
493
+ if (!last || Date.now() - last.at >= MODE_GRACE_MS) return unknownMode();
494
+ if (wasFetchedForSession(last, sessionId)) return { ...last.state, degraded: false };
495
+ return { ...unknownMode(), kill: last.state.kill === true };
483
496
  };
484
497
  var MODE_REUSE_MS = CACHE_TTL_MS;
485
498
  var readReusableMode = (apiKey, sessionId, maxAgeMs) => {
486
499
  const last = readLastGoodMode(apiKey);
487
- if (!last || (last.sessionId ?? null) !== (sessionId ?? null)) return null;
500
+ if (!last || !wasFetchedForSession(last, sessionId)) return null;
488
501
  if (Date.now() - last.at >= maxAgeMs) return null;
489
502
  return { ...last.state, degraded: false };
490
503
  };
491
- var fetchModeState = async (apiKey, sessionId, reuseWithinMs = 0, signal) => {
504
+ var unansweredModeRead = (state) => ({ state, answeredLive: false });
505
+ var readModeState = async (apiKey, sessionId, reuseWithinMs, signal) => {
492
506
  if (reuseWithinMs > 0) {
493
507
  const reusable = readReusableMode(apiKey, sessionId, reuseWithinMs);
494
- if (reusable) return reusable;
508
+ if (reusable) return unansweredModeRead(reusable);
495
509
  }
496
510
  try {
497
511
  const baseUrl = getBaseUrl();
@@ -502,21 +516,23 @@ var fetchModeState = async (apiKey, sessionId, reuseWithinMs = 0, signal) => {
502
516
  });
503
517
  if (!response.ok) {
504
518
  void reportClientError({ kind: "http_status", code: `mode_http_${response.status}` });
505
- return degradedFallback(apiKey, response.status === 401 || response.status === 403);
519
+ return unansweredModeRead(degradedFallback(apiKey, sessionId, response.status === 401 || response.status === 403));
506
520
  }
507
521
  const body = await response.json();
508
522
  if (!isProvenModeResponse(body)) {
509
523
  void reportClientError({ kind: "invalid_response", code: "mode_response_unproven" });
510
- return degradedFallback(apiKey);
524
+ return unansweredModeRead(degradedFallback(apiKey, sessionId));
511
525
  }
512
526
  const state = modeStateFromResponse(body);
513
527
  writeLastGoodMode(apiKey, state, sessionId);
514
- return state;
528
+ return { state, answeredLive: true };
515
529
  } catch (error) {
516
530
  void reportClientError({ kind: clientErrorKindOf(error), code: "mode_fetch_failed" });
517
- return degradedFallback(apiKey);
531
+ return unansweredModeRead(degradedFallback(apiKey, sessionId));
518
532
  }
519
533
  };
534
+ var fetchModeState = async (apiKey, sessionId, reuseWithinMs = 0, signal) => (await readModeState(apiKey, sessionId, reuseWithinMs, signal)).state;
535
+ var fetchLiveModeState = (apiKey, sessionId, signal) => readModeState(apiKey, sessionId, 0, signal);
520
536
  var fetchModeOverride = async (apiKey) => (await fetchModeState(apiKey)).mode;
521
537
 
522
538
  // src/usage.ts
@@ -1677,8 +1693,10 @@ export {
1677
1693
  releaseThrottle,
1678
1694
  policyRequestFor,
1679
1695
  getPolicy,
1696
+ getPolicyForStandingDenies,
1680
1697
  readCachedPolicy,
1681
1698
  fetchModeState,
1699
+ fetchLiveModeState,
1682
1700
  fetchModeOverride,
1683
1701
  readLastUserPrompt,
1684
1702
  CODEX_AGENT,
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  AGENT_CHOICES
3
- } from "./chunk-2UE2NDCX.js";
3
+ } from "./chunk-LS3CQ536.js";
4
4
  import {
5
5
  BELL_HOOK_BINARY
6
- } from "./chunk-V52J2THT.js";
6
+ } from "./chunk-IZ7MIGO7.js";
7
7
  import {
8
8
  CLAUDE_HOOK_EVENTS,
9
9
  CODEX_HOOK_EVENTS,
@@ -15,13 +15,13 @@ import {
15
15
  isBridgeLocator,
16
16
  isProtectedByScope,
17
17
  registerHookEntry
18
- } from "./chunk-CBLFIWPI.js";
18
+ } from "./chunk-GZ3D46PV.js";
19
19
  import {
20
20
  CURSOR_GATE_EVENTS,
21
21
  HOOK_BUDGETS,
22
22
  HOOK_LOCATOR_BINARY,
23
23
  hookCommandHoldBudget
24
- } from "./chunk-TRDHHF3A.js";
24
+ } from "./chunk-HI5YJFKW.js";
25
25
 
26
26
  // src/gemini-config.ts
27
27
  var GEMINI_HOOK_BINARY = "pushary-gemini-hook";
@@ -7,7 +7,7 @@ import {
7
7
  } from "./chunk-BG4HHB7E.js";
8
8
  import {
9
9
  redactSecretsFromContent
10
- } from "./chunk-TRDHHF3A.js";
10
+ } from "./chunk-HI5YJFKW.js";
11
11
 
12
12
  // src/cli/json.ts
13
13
  var writeStdoutFully = (text) => new Promise((resolve, reject) => {
@@ -3,24 +3,24 @@ import {
3
3
  expectedLaunchCapabilities,
4
4
  hasSpawnProvider,
5
5
  resolveControlPolicy
6
- } from "./chunk-SSBETUYZ.js";
6
+ } from "./chunk-S6TMCUU7.js";
7
7
  import {
8
8
  daemonHasRemoteProof,
9
9
  daemonServiceManagerAvailable,
10
10
  hasDaemonServiceDefinition,
11
11
  readDaemonNeedsLogin,
12
12
  readDaemonStatus
13
- } from "./chunk-EISUEJDT.js";
13
+ } from "./chunk-SFMJMQJC.js";
14
14
  import {
15
15
  getMachineId
16
- } from "./chunk-TZYVXTLN.js";
16
+ } from "./chunk-4LR27PGD.js";
17
17
  import {
18
18
  readControlMode,
19
19
  readKeySource
20
- } from "./chunk-YZ7V2LVG.js";
20
+ } from "./chunk-SZV5SLSD.js";
21
21
  import {
22
22
  getBaseUrl
23
- } from "./chunk-R3RTISDD.js";
23
+ } from "./chunk-2M7FELUY.js";
24
24
  import {
25
25
  getPackageVersion
26
26
  } from "./chunk-ZVU6WMMU.js";
@@ -22,23 +22,23 @@ import {
22
22
  turnCodexAppCardsOff,
23
23
  turnCodexAppCardsOn,
24
24
  whyLaunchctlFailed
25
- } from "./chunk-G5FQU2XF.js";
26
- import "./chunk-GAOUWLYN.js";
25
+ } from "./chunk-B3KFHR43.js";
26
+ import "./chunk-HLZWEGW3.js";
27
27
  import "./chunk-XCEN33UP.js";
28
- import "./chunk-E46NE7FB.js";
29
28
  import "./chunk-QCGNGEGE.js";
30
- import "./chunk-EISUEJDT.js";
29
+ import "./chunk-SFMJMQJC.js";
31
30
  import "./chunk-XHKBHWLX.js";
32
- import "./chunk-TZYVXTLN.js";
33
- import "./chunk-YZ7V2LVG.js";
34
- import "./chunk-VMM6JCNQ.js";
35
- import "./chunk-CBLFIWPI.js";
36
- import "./chunk-KOZBVXXC.js";
37
- import "./chunk-R3RTISDD.js";
31
+ import "./chunk-4LR27PGD.js";
32
+ import "./chunk-SZV5SLSD.js";
33
+ import "./chunk-NCHNITQW.js";
34
+ import "./chunk-GZ3D46PV.js";
35
+ import "./chunk-IGMI36FA.js";
36
+ import "./chunk-2M7FELUY.js";
38
37
  import "./chunk-T5I4PKOQ.js";
39
- import "./chunk-PJSFKKZ5.js";
38
+ import "./chunk-5S32WI3B.js";
40
39
  import "./chunk-ZVU6WMMU.js";
41
- import "./chunk-TRDHHF3A.js";
40
+ import "./chunk-HI5YJFKW.js";
41
+ import "./chunk-E46NE7FB.js";
42
42
  import "./chunk-MLKGABMK.js";
43
43
  export {
44
44
  CODEX_APP_CARDS_DIRECTORY,
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  deriveToolTarget
3
- } from "./chunk-GW3PE52Q.js";
3
+ } from "./chunk-7OSBFMRV.js";
4
4
  import {
5
5
  TOOL_NAME_MAX_LENGTH,
6
6
  codexElicitationToolName
7
- } from "./chunk-TRDHHF3A.js";
7
+ } from "./chunk-HI5YJFKW.js";
8
8
  import "./chunk-MLKGABMK.js";
9
9
 
10
10
  // src/codex-card-routing.ts
@@ -11,7 +11,7 @@ import {
11
11
  installedCodexApp,
12
12
  shellQuoted,
13
13
  writeDesktopProxy
14
- } from "./chunk-GAOUWLYN.js";
14
+ } from "./chunk-HLZWEGW3.js";
15
15
  import "./chunk-XCEN33UP.js";
16
16
  import {
17
17
  CODEX_APP_LAUNCH_VARIABLE
@@ -11,37 +11,37 @@ import {
11
11
  isCodexQuestionLeftWithTheLocalClient,
12
12
  planCodexElicitation,
13
13
  reportOwnedQuestion
14
- } from "./chunk-4SZM2HRA.js";
15
- import "./chunk-HYTDNEXV.js";
16
- import "./chunk-SSBETUYZ.js";
17
- import "./chunk-CXIYGD33.js";
14
+ } from "./chunk-RI5APNBY.js";
15
+ import "./chunk-LIIIC27B.js";
16
+ import "./chunk-S6TMCUU7.js";
17
+ import "./chunk-KRKH26TX.js";
18
18
  import "./chunk-N5P2FLOJ.js";
19
- import "./chunk-SNKC2IQZ.js";
19
+ import "./chunk-FG67GH5B.js";
20
20
  import "./chunk-ROVLRXBI.js";
21
- import "./chunk-SQRS4IF2.js";
21
+ import "./chunk-5MITA7MU.js";
22
22
  import "./chunk-XMSDA5WA.js";
23
- import "./chunk-SE7P5BBK.js";
23
+ import "./chunk-2QWQCU7L.js";
24
24
  import {
25
25
  writeDegraded
26
- } from "./chunk-NASQPMXW.js";
26
+ } from "./chunk-QK4I4CHR.js";
27
27
  import "./chunk-POFBE6ZY.js";
28
- import "./chunk-W6LKC5YD.js";
29
- import "./chunk-4HDX77ND.js";
30
- import "./chunk-RGXFBS56.js";
28
+ import "./chunk-SQPAX33Q.js";
29
+ import "./chunk-HINZZUOB.js";
30
+ import "./chunk-UIHY3ANL.js";
31
31
  import "./chunk-XHKBHWLX.js";
32
- import "./chunk-U32N5JZO.js";
33
- import "./chunk-TZYVXTLN.js";
34
- import "./chunk-CBLFIWPI.js";
35
- import "./chunk-KOZBVXXC.js";
36
- import "./chunk-R3RTISDD.js";
32
+ import "./chunk-E5LU5MJ2.js";
33
+ import "./chunk-4LR27PGD.js";
34
+ import "./chunk-GZ3D46PV.js";
35
+ import "./chunk-IGMI36FA.js";
36
+ import "./chunk-2M7FELUY.js";
37
37
  import "./chunk-YU2EUD7O.js";
38
38
  import "./chunk-T5I4PKOQ.js";
39
39
  import "./chunk-BG4HHB7E.js";
40
- import "./chunk-PJSFKKZ5.js";
40
+ import "./chunk-5S32WI3B.js";
41
41
  import "./chunk-ZVU6WMMU.js";
42
42
  import {
43
43
  canonicalJsonText
44
- } from "./chunk-TRDHHF3A.js";
44
+ } from "./chunk-HI5YJFKW.js";
45
45
  import "./chunk-MLKGABMK.js";
46
46
 
47
47
  // src/codex-session-launch.ts
@@ -3,9 +3,9 @@ import {
3
3
  getApiKey,
4
4
  getBaseUrl,
5
5
  resetKeyDriftWarning
6
- } from "./chunk-R3RTISDD.js";
7
- import "./chunk-PJSFKKZ5.js";
8
- import "./chunk-TRDHHF3A.js";
6
+ } from "./chunk-2M7FELUY.js";
7
+ import "./chunk-5S32WI3B.js";
8
+ import "./chunk-HI5YJFKW.js";
9
9
  import "./chunk-MLKGABMK.js";
10
10
  export {
11
11
  configFilePath,
@@ -7,20 +7,20 @@ import {
7
7
  recordUnfinishedUpgrade,
8
8
  upgradeInstalledPackage,
9
9
  withUpgradeLock
10
- } from "./chunk-JKS4MN47.js";
11
- import "./chunk-EFFH2FYG.js";
12
- import "./chunk-SSBETUYZ.js";
13
- import "./chunk-CXIYGD33.js";
10
+ } from "./chunk-BPU6P3DS.js";
11
+ import "./chunk-5CMNZXJV.js";
12
+ import "./chunk-S6TMCUU7.js";
13
+ import "./chunk-KRKH26TX.js";
14
14
  import "./chunk-ROVLRXBI.js";
15
- import "./chunk-MYNLU6DV.js";
15
+ import "./chunk-H2OUB5S5.js";
16
16
  import "./chunk-POFBE6ZY.js";
17
- import "./chunk-CBLFIWPI.js";
18
- import "./chunk-KOZBVXXC.js";
17
+ import "./chunk-GZ3D46PV.js";
18
+ import "./chunk-IGMI36FA.js";
19
19
  import "./chunk-T5I4PKOQ.js";
20
20
  import "./chunk-BG4HHB7E.js";
21
- import "./chunk-PJSFKKZ5.js";
21
+ import "./chunk-5S32WI3B.js";
22
22
  import "./chunk-ZVU6WMMU.js";
23
- import "./chunk-TRDHHF3A.js";
23
+ import "./chunk-HI5YJFKW.js";
24
24
  import "./chunk-MLKGABMK.js";
25
25
  export {
26
26
  finishGlobalUpgrade,
@@ -2,12 +2,12 @@ import {
2
2
  getMachineId,
3
3
  getOrCreateMachineId,
4
4
  readExistingMachineId
5
- } from "./chunk-TZYVXTLN.js";
6
- import "./chunk-CBLFIWPI.js";
7
- import "./chunk-KOZBVXXC.js";
5
+ } from "./chunk-4LR27PGD.js";
6
+ import "./chunk-GZ3D46PV.js";
7
+ import "./chunk-IGMI36FA.js";
8
8
  import "./chunk-T5I4PKOQ.js";
9
9
  import "./chunk-ZVU6WMMU.js";
10
- import "./chunk-TRDHHF3A.js";
10
+ import "./chunk-HI5YJFKW.js";
11
11
  import "./chunk-MLKGABMK.js";
12
12
  export {
13
13
  getMachineId,
@@ -22,13 +22,13 @@ import {
22
22
  resolveControlPolicy,
23
23
  resolveProviderBinary,
24
24
  trackProviderInventory
25
- } from "./chunk-SSBETUYZ.js";
26
- import "./chunk-CXIYGD33.js";
25
+ } from "./chunk-S6TMCUU7.js";
26
+ import "./chunk-KRKH26TX.js";
27
27
  import "./chunk-ROVLRXBI.js";
28
- import "./chunk-KOZBVXXC.js";
28
+ import "./chunk-IGMI36FA.js";
29
29
  import "./chunk-T5I4PKOQ.js";
30
30
  import "./chunk-ZVU6WMMU.js";
31
- import "./chunk-TRDHHF3A.js";
31
+ import "./chunk-HI5YJFKW.js";
32
32
  import "./chunk-MLKGABMK.js";
33
33
  export {
34
34
  CLAUDE_BRIDGE_CAPABILITY,
@@ -39,11 +39,11 @@ import {
39
39
  serviceOwedBackMark,
40
40
  vscodePluginDir,
41
41
  vscodePluginMcp
42
- } from "./chunk-CBLFIWPI.js";
43
- import "./chunk-KOZBVXXC.js";
42
+ } from "./chunk-GZ3D46PV.js";
43
+ import "./chunk-IGMI36FA.js";
44
44
  import "./chunk-T5I4PKOQ.js";
45
45
  import "./chunk-ZVU6WMMU.js";
46
- import "./chunk-TRDHHF3A.js";
46
+ import "./chunk-HI5YJFKW.js";
47
47
  import "./chunk-MLKGABMK.js";
48
48
  export {
49
49
  autoUpdateLock,
@@ -12,42 +12,42 @@ import {
12
12
  reapplyOpenCodePlugin,
13
13
  reapplyVsCodePlugin,
14
14
  repairCodexHolds
15
- } from "./chunk-KVDN4U6W.js";
16
- import "./chunk-NVV3YUTX.js";
17
- import "./chunk-5HKU4VUL.js";
18
- import "./chunk-K5WTTEIQ.js";
19
- import "./chunk-XBH6OKHD.js";
20
- import "./chunk-6KX2H4I5.js";
21
- import "./chunk-AGXOTZID.js";
22
- import "./chunk-CXIYGD33.js";
15
+ } from "./chunk-7FH6T4EN.js";
16
+ import "./chunk-3HZ374VU.js";
17
+ import "./chunk-F4K2A7DJ.js";
18
+ import "./chunk-F5FMUDD7.js";
19
+ import "./chunk-5UT5EFMH.js";
20
+ import "./chunk-EVWF3A5D.js";
21
+ import "./chunk-O7VVRTOR.js";
22
+ import "./chunk-KRKH26TX.js";
23
23
  import "./chunk-ROVLRXBI.js";
24
- import "./chunk-YZESBU7F.js";
25
- import "./chunk-G4OVFWU4.js";
26
- import "./chunk-COXNQUDP.js";
27
- import "./chunk-GW3PE52Q.js";
28
- import "./chunk-2UE2NDCX.js";
29
- import "./chunk-V52J2THT.js";
24
+ import "./chunk-6RME4X3J.js";
25
+ import "./chunk-X4CDZLUK.js";
26
+ import "./chunk-XOYPF2BI.js";
27
+ import "./chunk-7OSBFMRV.js";
28
+ import "./chunk-LS3CQ536.js";
29
+ import "./chunk-IZ7MIGO7.js";
30
30
  import "./chunk-YPY4YCIZ.js";
31
- import "./chunk-SE7P5BBK.js";
32
- import "./chunk-NASQPMXW.js";
31
+ import "./chunk-2QWQCU7L.js";
32
+ import "./chunk-QK4I4CHR.js";
33
33
  import "./chunk-POFBE6ZY.js";
34
- import "./chunk-W6LKC5YD.js";
35
- import "./chunk-4HDX77ND.js";
36
- import "./chunk-RGXFBS56.js";
34
+ import "./chunk-SQPAX33Q.js";
35
+ import "./chunk-HINZZUOB.js";
36
+ import "./chunk-UIHY3ANL.js";
37
37
  import "./chunk-XHKBHWLX.js";
38
- import "./chunk-U32N5JZO.js";
39
- import "./chunk-TZYVXTLN.js";
40
- import "./chunk-YZ7V2LVG.js";
41
- import "./chunk-VMM6JCNQ.js";
42
- import "./chunk-CBLFIWPI.js";
43
- import "./chunk-KOZBVXXC.js";
44
- import "./chunk-R3RTISDD.js";
38
+ import "./chunk-E5LU5MJ2.js";
39
+ import "./chunk-4LR27PGD.js";
40
+ import "./chunk-SZV5SLSD.js";
41
+ import "./chunk-NCHNITQW.js";
42
+ import "./chunk-GZ3D46PV.js";
43
+ import "./chunk-IGMI36FA.js";
44
+ import "./chunk-2M7FELUY.js";
45
45
  import "./chunk-YU2EUD7O.js";
46
46
  import "./chunk-T5I4PKOQ.js";
47
47
  import "./chunk-BG4HHB7E.js";
48
- import "./chunk-PJSFKKZ5.js";
48
+ import "./chunk-5S32WI3B.js";
49
49
  import "./chunk-ZVU6WMMU.js";
50
- import "./chunk-TRDHHF3A.js";
50
+ import "./chunk-HI5YJFKW.js";
51
51
  import "./chunk-MLKGABMK.js";
52
52
  export {
53
53
  ensureCodexTrustAfterReapply,
@@ -198,7 +198,7 @@ declare const cancelQuestion: (apiKey: string, correlationId: string, signal?: A
198
198
  handoffAction?: string;
199
199
  }>;
200
200
 
201
- declare const getPolicy: (apiKey: string, expectedVersion?: string | null, agent?: string, repoAware?: boolean, sessionId?: string) => Promise<PolicyConfig>;
201
+ declare const getPolicy: (apiKey: string, expectedVersion?: string | null, agent?: string, repoAware?: boolean, sessionId?: string, signal?: AbortSignal) => Promise<PolicyConfig>;
202
202
  declare const fetchModeState: (apiKey: string, sessionId?: string, reuseWithinMs?: number, signal?: AbortSignal) => Promise<ModeState>;
203
203
  declare const fetchModeOverride: (apiKey: string) => Promise<ApprovalMode | null>;
204
204