pushary 1.9.66 → 1.9.67

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 (127) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/data/SKILL.md +1 -1
  3. package/data/cursor-plugin/skills/pushary/SKILL.md +1 -1
  4. package/data/vscode-plugin/skills/pushary/SKILL.md +1 -1
  5. package/dist/{api-GDSVUTI2.js → api-3WIPD5GC.js} +10 -10
  6. package/dist/bin/pushary-bell-hook.js +25 -25
  7. package/dist/bin/pushary-bell.js +10 -10
  8. package/dist/bin/pushary-claude.js +26 -26
  9. package/dist/bin/pushary-clean.js +73 -74
  10. package/dist/bin/pushary-codex-bridge.js +21 -21
  11. package/dist/bin/pushary-codex-hook.js +30 -30
  12. package/dist/bin/pushary-codex-session.js +8 -8
  13. package/dist/bin/pushary-codex.js +13 -13
  14. package/dist/bin/pushary-connect.js +28 -27
  15. package/dist/bin/pushary-cowork.js +5 -5
  16. package/dist/bin/pushary-daemon.js +40 -39
  17. package/dist/bin/pushary-disconnect.js +25 -25
  18. package/dist/bin/pushary-doctor.js +115 -71
  19. package/dist/bin/pushary-elicitation-hook.js +25 -25
  20. package/dist/bin/pushary-gemini-bridge.js +15 -15
  21. package/dist/bin/pushary-gemini-hook.js +27 -27
  22. package/dist/bin/pushary-hook.js +29 -29
  23. package/dist/bin/pushary-login.js +20 -19
  24. package/dist/bin/pushary-logout.js +26 -27
  25. package/dist/bin/pushary-mcp.js +11 -11
  26. package/dist/bin/pushary-mode.js +16 -15
  27. package/dist/bin/pushary-notification-hook.js +24 -24
  28. package/dist/bin/pushary-opencode-hook.js +26 -26
  29. package/dist/bin/pushary-permission-denied-hook.js +29 -29
  30. package/dist/bin/pushary-permission-hook.js +29 -29
  31. package/dist/bin/pushary-post-hook.js +24 -24
  32. package/dist/bin/pushary-prompt-hook.js +24 -24
  33. package/dist/bin/pushary-session-end-hook.js +26 -26
  34. package/dist/bin/pushary-session-start-hook.js +34 -33
  35. package/dist/bin/pushary-setup.js +107 -93
  36. package/dist/bin/pushary-stats.js +5 -5
  37. package/dist/bin/pushary-status.js +37 -35
  38. package/dist/bin/pushary-stop-hook.js +24 -24
  39. package/dist/bin/pushary-stopfailure-hook.js +24 -24
  40. package/dist/bin/pushary-suggestions.js +15 -14
  41. package/dist/bin/pushary-transcript-register.js +16 -16
  42. package/dist/bin/pushary-transcripts.js +18 -17
  43. package/dist/bin/pushary-upgrade.js +45 -38
  44. package/dist/bin/pushary-wait.js +26 -20
  45. package/dist/bin/pushary.js +7 -7
  46. package/dist/{chunk-A47UKPC7.js → chunk-32OSSYGZ.js} +1 -1
  47. package/dist/{chunk-QR2QWGQI.js → chunk-3THDNNVL.js} +3 -3
  48. package/dist/{chunk-DPU6H4JY.js → chunk-564IPPBL.js} +3 -3
  49. package/dist/chunk-5MOJCOCF.js +25 -0
  50. package/dist/{chunk-V4EOFOB2.js → chunk-6H4E5UBA.js} +6 -6
  51. package/dist/{chunk-DKMVVBXO.js → chunk-6LXXKMV6.js} +38 -10
  52. package/dist/chunk-76SWHCAR.js +299 -0
  53. package/dist/{chunk-G6VJZ3RB.js → chunk-77L2TNJW.js} +1 -1
  54. package/dist/{chunk-6BGVSV2Q.js → chunk-7YJSDXLM.js} +1 -1
  55. package/dist/{chunk-AWGBL4P3.js → chunk-B3V2WOJX.js} +89 -41
  56. package/dist/{chunk-RJ6JEHCP.js → chunk-BBFGDYYI.js} +1 -1
  57. package/dist/{chunk-YQDCTID4.js → chunk-BFF3ABFV.js} +4 -4
  58. package/dist/{chunk-R7C2FS33.js → chunk-C4EDAHXI.js} +1 -1
  59. package/dist/{chunk-YB3HMDKE.js → chunk-CHYBOTQN.js} +2 -2
  60. package/dist/{chunk-26W46E46.js → chunk-CJZLIAJF.js} +27 -10
  61. package/dist/{chunk-ZJV7SFIJ.js → chunk-CPLQ5OHX.js} +1 -1
  62. package/dist/{chunk-ZAZUDYSF.js → chunk-D3U6CN7T.js} +5 -5
  63. package/dist/{chunk-MNNQEUQC.js → chunk-D7Z4USSB.js} +27 -8
  64. package/dist/{chunk-V3YBVOTZ.js → chunk-DP6LU6BB.js} +2 -2
  65. package/dist/{chunk-32ZT2ATY.js → chunk-DXCHIKAN.js} +8 -8
  66. package/dist/{chunk-QN25WBXL.js → chunk-EQR6JSFE.js} +7 -7
  67. package/dist/{chunk-IQ3GKPFM.js → chunk-FONWVVDD.js} +1 -1
  68. package/dist/{chunk-XXIJBYNW.js → chunk-GMHQYX3D.js} +1 -1
  69. package/dist/{chunk-3EZP5ZPS.js → chunk-ICQCQAUO.js} +4 -4
  70. package/dist/{chunk-5J7OZBJ4.js → chunk-IPG3RS23.js} +2 -2
  71. package/dist/{chunk-4APD2DPI.js → chunk-IRV2MNMA.js} +53 -3
  72. package/dist/{chunk-MDIGG3Q7.js → chunk-IVB5O6NY.js} +3 -3
  73. package/dist/{chunk-VURDLVAQ.js → chunk-IXTVUINH.js} +3 -3
  74. package/dist/{chunk-HUGVJBDN.js → chunk-JBRMIADM.js} +2 -2
  75. package/dist/{chunk-IGO3AGZK.js → chunk-JHB5SR5B.js} +4 -4
  76. package/dist/{chunk-CNJ7SI5V.js → chunk-JOBSKQ2Z.js} +4 -4
  77. package/dist/{chunk-5FJDODOA.js → chunk-JOD2325S.js} +3 -3
  78. package/dist/{chunk-376TUN72.js → chunk-JSPCGPSH.js} +3 -3
  79. package/dist/{chunk-T6YLXO6N.js → chunk-KE4TSJUD.js} +4 -4
  80. package/dist/{chunk-TQNFDNJA.js → chunk-KIXRHNCW.js} +6 -6
  81. package/dist/{chunk-Q5RNYE2L.js → chunk-KNUYUQBP.js} +4 -4
  82. package/dist/{chunk-3FQX74E4.js → chunk-KTLE7NIK.js} +23 -8
  83. package/dist/{chunk-57NTMVMI.js → chunk-LJHDUKBB.js} +6 -6
  84. package/dist/{chunk-CN6JFM62.js → chunk-LS42NV6E.js} +15 -6
  85. package/dist/{chunk-6ZXCWK27.js → chunk-LYTWK5TF.js} +5 -5
  86. package/dist/{chunk-XIJTXRWB.js → chunk-METUT7V4.js} +2 -2
  87. package/dist/{chunk-7LK3Y6ET.js → chunk-NSS2AIGI.js} +6 -6
  88. package/dist/{chunk-XEXF2OFZ.js → chunk-NWN6GGJL.js} +2 -2
  89. package/dist/{chunk-GECU7V44.js → chunk-P4RXSZDT.js} +3 -3
  90. package/dist/{chunk-IA5VWIHV.js → chunk-PIBWX3EF.js} +2 -2
  91. package/dist/{chunk-GWYCKTXS.js → chunk-PO2P3XDC.js} +5 -5
  92. package/dist/{chunk-DIUTSF6I.js → chunk-R2BZH2NK.js} +4 -4
  93. package/dist/{chunk-6RJZSBPD.js → chunk-RO2B4YBF.js} +1 -1
  94. package/dist/{chunk-EJR5JXMV.js → chunk-RQOT6QL3.js} +43 -5
  95. package/dist/{chunk-SVKCYUYP.js → chunk-SB6TYV4M.js} +9 -9
  96. package/dist/{chunk-GDLT32I4.js → chunk-TI4JYPGQ.js} +6 -2
  97. package/dist/{chunk-B6JC676X.js → chunk-UC2J5RR4.js} +1 -1
  98. package/dist/{chunk-XDDSURY3.js → chunk-UQIPWXBL.js} +3 -3
  99. package/dist/{chunk-EU2ZOZC3.js → chunk-UXN73YAE.js} +3 -3
  100. package/dist/{chunk-RSZQEEEW.js → chunk-VEYFXRZ6.js} +7 -6
  101. package/dist/{chunk-XFQAK35L.js → chunk-VHMZPN3N.js} +1 -1
  102. package/dist/{chunk-45KMS76L.js → chunk-VKZ3RJ5U.js} +1 -1
  103. package/dist/chunk-VVIQWGS7.js +2298 -0
  104. package/dist/{chunk-KS3O6O7E.js → chunk-WJLHZ6E6.js} +3 -3
  105. package/dist/{chunk-GO7YKPT3.js → chunk-X2MTVD4W.js} +1 -1
  106. package/dist/{chunk-2BL6KWN7.js → chunk-XFDWLDHG.js} +9 -9
  107. package/dist/{chunk-3ELJIG2R.js → chunk-XNUWKKGS.js} +3 -3
  108. package/dist/{chunk-QOIPUYUD.js → chunk-XZKSUJ55.js} +1 -1
  109. package/dist/{chunk-JL3SZJJP.js → chunk-Y4MRHAE5.js} +2 -2
  110. package/dist/{chunk-DBUHSUL7.js → chunk-Y6ZN454E.js} +1 -1
  111. package/dist/{chunk-XGFFNERF.js → chunk-YSD4SMHE.js} +1 -1
  112. package/dist/{chunk-UTAARXYQ.js → chunk-ZK5WYAMI.js} +1 -1
  113. package/dist/{chunk-AVWECJSN.js → chunk-ZPIYJLQ3.js} +2 -2
  114. package/dist/{codex-app-cards-switch-W7OLKOMO.js → codex-app-cards-switch-25TDTMUZ.js} +11 -11
  115. package/dist/{codex-desktop-launch-U6V3AXZF.js → codex-desktop-launch-JDKUCD2Y.js} +1 -1
  116. package/dist/{codex-session-launch-EFU46WBL.js → codex-session-launch-6N35AAEO.js} +18 -18
  117. package/dist/{config-UC4LMCNX.js → config-OBGYURFX.js} +3 -3
  118. package/dist/{global-upgrade-ABF5O3HU.js → global-upgrade-2QNQD5OM.js} +10 -10
  119. package/dist/{identity-3ZUZPHN6.js → identity-CUPX2U7Q.js} +4 -4
  120. package/dist/{live-capabilities-BXWXJARK.js → live-capabilities-CUEIWMSM.js} +5 -5
  121. package/dist/{paths-FO76CFRQ.js → paths-BHLBZ6FY.js} +7 -3
  122. package/dist/{reapply-3T3DFUAI.js → reapply-4GXLWZ5M.js} +27 -26
  123. package/dist/src/index.js +28 -28
  124. package/dist/{upgrade-lock-EZ5JIPJE.js → upgrade-lock-RDKTAHWR.js} +4 -4
  125. package/dist/{usage-Y6BL7RUD.js → usage-KX2HN47E.js} +3 -3
  126. package/package.json +1 -1
  127. package/dist/chunk-QBNICXMC.js +0 -615
@@ -242,10 +242,10 @@ var AGENTS = {
242
242
  label: "Hermes",
243
243
  policyAgent: "hermes",
244
244
  enforcement: "enforced",
245
- connectVia: "Native Python plugin + approval transport",
245
+ connectVia: "Native plugin in ~/.hermes/plugins + approval transport",
246
246
  setupCommand: PUSHARY_SETUP_COMMAND,
247
247
  enforcementDetail: "Hermes dangerous-command approvals when the Pushary transport is selected; optional PUSHARY_GATE_TOOLS gates named tools.",
248
- capabilityNote: "Uses the Python plugin, not a macOS bridge HookSource. CLI disconnect and managed-provider controls are not implemented for Hermes."
248
+ capabilityNote: "Uses the Pushary plugin in ~/.hermes/plugins/pushary, not a macOS bridge HookSource. CLI disconnect and managed-provider controls are not implemented for Hermes."
249
249
  },
250
250
  cursor: {
251
251
  ...defaults,
@@ -2602,6 +2602,16 @@ var shellCommandStringOf = (shell, args) => {
2602
2602
  return operand === void 0 || operand.expands ? UNREADABLE2 : { kind: "readable", script: operand.text };
2603
2603
  };
2604
2604
 
2605
+ // ../contracts/src/partner-developer-guide.ts
2606
+ var PARTNER_API_KEYS_URL = "https://pushary.com/dashboard/agent/settings";
2607
+ var PARTNER_INSTALL_COMMAND = "npm i @pushary/server";
2608
+ var PARTNER_DEVELOPER_STEPS = [
2609
+ `Install on our server: ${PARTNER_INSTALL_COMMAND}. Create the client with our Partner API key from ${PARTNER_API_KEYS_URL} and keep the key on the server.`,
2610
+ "For each customer, call pushary.enroll(customerId) and show the universalLink it returns as a button or QR code in our app. They open it in the free Pushary app and allow notifications. Installing the app does not carry the link over, so keep it available until they finish.",
2611
+ "Before a risky action, call pushary.authorize({ externalId: customerId, toolName, question }) and run the action only if approved is true.",
2612
+ "If the answer can come later than the request, create a decision with pushary.decisions.create, save its id, and resume from pushary.decisions.get or the webhook."
2613
+ ];
2614
+
2605
2615
  // ../contracts/src/degraded.ts
2606
2616
  var DEGRADED_PREFIX = "[degraded]";
2607
2617
  var degradedPayload = (subsystem, report) => ({
@@ -2614,6 +2624,16 @@ var degradedPayload = (subsystem, report) => ({
2614
2624
  });
2615
2625
  var degradedLine = (subsystem, report) => `${DEGRADED_PREFIX} ${JSON.stringify(degradedPayload(subsystem, report))}`;
2616
2626
 
2627
+ // ../contracts/src/key-scope.ts
2628
+ var KEY_SCOPES = ["full_access", "agent", "connector", "bound"];
2629
+ var KEY_SCOPE = {
2630
+ full_access: "full_access",
2631
+ agent: "agent",
2632
+ connector: "connector",
2633
+ bound: "bound"
2634
+ };
2635
+ var normalizeKeyScope = (value) => typeof value === "string" && KEY_SCOPES.includes(value) ? value : null;
2636
+
2617
2637
  // ../contracts/src/observability.ts
2618
2638
  var CLIENT_CONTEXT_HEADERS = {
2619
2639
  surface: "x-pushary-surface",
@@ -3072,10 +3092,26 @@ var compressTranscriptRecord = (raw, deflateRaw) => {
3072
3092
  };
3073
3093
 
3074
3094
  // ../contracts/src/index.ts
3075
- var KEY_SCOPES = ["full_access", "agent", "connector", "bound"];
3076
- var normalizeKeyScope = (value) => typeof value === "string" && KEY_SCOPES.includes(value) ? value : null;
3077
3095
  var APPROVAL_MODES = ["push_only", "terminal_only", "push_first", "notify_only"];
3078
3096
  var isApprovalMode = (value) => typeof value === "string" && APPROVAL_MODES.includes(value);
3097
+ var APPROVAL_MODE_META = {
3098
+ push_first: {
3099
+ label: "When away",
3100
+ description: "Ask in the notch. Alert my phone when I\u2019m away."
3101
+ },
3102
+ push_only: {
3103
+ label: "Always",
3104
+ description: "Ask in the notch and on my phone."
3105
+ },
3106
+ notify_only: {
3107
+ label: "Alert only",
3108
+ description: "Notify my phone. I answer in the agent."
3109
+ },
3110
+ terminal_only: {
3111
+ label: "In agent",
3112
+ description: "I answer in the agent. No approval alerts."
3113
+ }
3114
+ };
3079
3115
  var approvalWaitsAtTheAgentsPrompt = (mode) => {
3080
3116
  switch (mode) {
3081
3117
  case "push_first":
@@ -6355,6 +6391,8 @@ export {
6355
6391
  toolsCoveredByGateEntry,
6356
6392
  cursorGateOwnsToolCall,
6357
6393
  degradedLine,
6394
+ KEY_SCOPE,
6395
+ normalizeKeyScope,
6358
6396
  hookWritePath,
6359
6397
  MAX_HOOK_ACTIVATION_EVIDENCE_ROWS,
6360
6398
  isHookActivationReport,
@@ -6389,8 +6427,8 @@ export {
6389
6427
  parseCodexNativeApproval,
6390
6428
  codexNativeApprovalResponse,
6391
6429
  compressTranscriptRecord,
6392
- normalizeKeyScope,
6393
6430
  isApprovalMode,
6431
+ APPROVAL_MODE_META,
6394
6432
  approvalModeWithoutLocalPrompt,
6395
6433
  timeoutActionWithoutLocalPrompt,
6396
6434
  isTimeoutAction,
@@ -3,13 +3,13 @@ import {
3
3
  loadPin,
4
4
  savePin,
5
5
  verifyRecipients
6
- } from "./chunk-DBUHSUL7.js";
6
+ } from "./chunk-Y6ZN454E.js";
7
7
  import {
8
8
  ensureDaemonRunning
9
- } from "./chunk-57NTMVMI.js";
9
+ } from "./chunk-LJHDUKBB.js";
10
10
  import {
11
11
  hookOwnerOf
12
- } from "./chunk-YQDCTID4.js";
12
+ } from "./chunk-BFF3ABFV.js";
13
13
  import {
14
14
  buildTranscriptRecords,
15
15
  decodePublicKey,
@@ -18,26 +18,26 @@ import {
18
18
  recordSealerFor,
19
19
  uploadTranscriptRecords,
20
20
  wrapSessionKey
21
- } from "./chunk-XEXF2OFZ.js";
21
+ } from "./chunk-NWN6GGJL.js";
22
22
  import {
23
23
  transcriptEnvironmentPreference,
24
24
  transcriptsEnabled
25
- } from "./chunk-XGFFNERF.js";
25
+ } from "./chunk-YSD4SMHE.js";
26
26
  import {
27
27
  readTranscriptPreference
28
- } from "./chunk-CNJ7SI5V.js";
28
+ } from "./chunk-JOBSKQ2Z.js";
29
29
  import {
30
30
  claudeConfigDir,
31
31
  codexHome,
32
32
  pusharyDir
33
- } from "./chunk-GDLT32I4.js";
33
+ } from "./chunk-TI4JYPGQ.js";
34
34
  import {
35
35
  writeJsonAtomic
36
- } from "./chunk-KS3O6O7E.js";
36
+ } from "./chunk-WJLHZ6E6.js";
37
37
  import {
38
38
  getApiKey,
39
39
  getBaseUrl
40
- } from "./chunk-A47UKPC7.js";
40
+ } from "./chunk-32OSSYGZ.js";
41
41
 
42
42
  // src/transcript-registration.ts
43
43
  import { createHash } from "crypto";
@@ -4,7 +4,7 @@ import {
4
4
  quoteIfNeeded,
5
5
  shellDoubleQuoted,
6
6
  writeFileAtomic
7
- } from "./chunk-KS3O6O7E.js";
7
+ } from "./chunk-WJLHZ6E6.js";
8
8
  import {
9
9
  CLAUDE_PRETOOLUSE_MATCHER,
10
10
  CODEX_QUESTION_TOOLS,
@@ -12,7 +12,7 @@ import {
12
12
  HOOK_LOCATOR_BINARY,
13
13
  PRETOOLUSE_GATED_TOOLS,
14
14
  withHookHoldBudget
15
- } from "./chunk-EJR5JXMV.js";
15
+ } from "./chunk-RQOT6QL3.js";
16
16
 
17
17
  // src/setup/paths.ts
18
18
  import { createHash as createHash2 } from "crypto";
@@ -1049,6 +1049,8 @@ var clientReportClaims = () => join5(pusharyDir(), "client-reports");
1049
1049
  var claudeRegistrationReceipt = () => join5(claudeSetupDir(), "claude-registration.json");
1050
1050
  var hermesConfig = () => join5(homedir3(), ".hermes", "config.yaml");
1051
1051
  var hermesConfigReceipt = () => join5(pusharyDir(), "setup", "hermes-config.json");
1052
+ var hermesSetupReceipt = () => join5(pusharyDir(), "setup", "hermes-plugin.json");
1053
+ var hermesAppWiringRecord = () => join5(pusharyDir(), "setup", "hermes-wired-by-mac-app");
1052
1054
  var fxQuestionRuleReceipt = () => join5(pusharyDir(), "setup", "fx-question-rule.json");
1053
1055
  var hookTakeoverReceipt = (agent) => join5(agent === "claude_code" ? claudeSetupDir() : join5(pusharyDir(), "setup"), `hook-takeover-${agent}.json`);
1054
1056
  var codexSkillDir2 = () => join5(codexHome(), "skills", "pushary");
@@ -1185,6 +1187,8 @@ export {
1185
1187
  claudeRegistrationReceipt,
1186
1188
  hermesConfig,
1187
1189
  hermesConfigReceipt,
1190
+ hermesSetupReceipt,
1191
+ hermesAppWiringRecord,
1188
1192
  fxQuestionRuleReceipt,
1189
1193
  hookTakeoverReceipt,
1190
1194
  codexSkillDir2,
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  HOOK_HOLD_BUDGET_ENV,
3
3
  hookHoldBudgetProof
4
- } from "./chunk-EJR5JXMV.js";
4
+ } from "./chunk-RQOT6QL3.js";
5
5
 
6
6
  // src/hold-budget.ts
7
7
  var takeHookHoldBudget = (args = process.argv.slice(2), env = process.env) => {
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  pusharyDir
3
- } from "./chunk-GDLT32I4.js";
3
+ } from "./chunk-TI4JYPGQ.js";
4
4
  import {
5
5
  readJsonSafe,
6
6
  writeFileAtomic
7
- } from "./chunk-KS3O6O7E.js";
7
+ } from "./chunk-WJLHZ6E6.js";
8
8
  import {
9
9
  DECLINED_AGENTS_FILE,
10
10
  DISCONNECT_AGENT_IDS,
@@ -13,7 +13,7 @@ import {
13
13
  serializeDeclinedAgents,
14
14
  withDeclinedAgent,
15
15
  withoutDeclinedAgent
16
- } from "./chunk-EJR5JXMV.js";
16
+ } from "./chunk-RQOT6QL3.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
  SETUP_FLAGS
3
- } from "./chunk-UTAARXYQ.js";
3
+ } from "./chunk-ZK5WYAMI.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-GO7YKPT3.js";
12
+ } from "./chunk-X2MTVD4W.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-EJR5JXMV.js";
20
+ } from "./chunk-RQOT6QL3.js";
21
21
 
22
22
  // src/cli/cowork.ts
23
23
  import { readFileSync } from "fs";
@@ -3,10 +3,10 @@ import {
3
3
  forkFinishWithUpgradeLock,
4
4
  installWithUpgradeLock,
5
5
  releaseAutoUpdateLock
6
- } from "./chunk-V3YBVOTZ.js";
6
+ } from "./chunk-DP6LU6BB.js";
7
7
  import {
8
8
  phoneStartIsRequired
9
- } from "./chunk-T6YLXO6N.js";
9
+ } from "./chunk-KE4TSJUD.js";
10
10
  import {
11
11
  describeAutoUpdateCheck,
12
12
  globalInstallLocation,
@@ -18,7 +18,7 @@ import {
18
18
  readAutoUpdateState,
19
19
  updateAutoUpdateState,
20
20
  upgradeEntryFor
21
- } from "./chunk-VURDLVAQ.js";
21
+ } from "./chunk-IXTVUINH.js";
22
22
  import {
23
23
  EXIT
24
24
  } from "./chunk-KZERVKTD.js";
@@ -26,17 +26,17 @@ import {
26
26
  autoUpdateLock,
27
27
  autoUpdateLog,
28
28
  autoUpdateState
29
- } from "./chunk-GDLT32I4.js";
29
+ } from "./chunk-TI4JYPGQ.js";
30
30
  import {
31
31
  execNpm,
32
32
  fetchLatestPublishedVersion,
33
33
  npmErrorMessage,
34
34
  readGlobalCliInstallAt,
35
35
  readGlobalPrefix
36
- } from "./chunk-KS3O6O7E.js";
36
+ } from "./chunk-WJLHZ6E6.js";
37
37
  import {
38
38
  NPX_LATEST_COMMAND
39
- } from "./chunk-GO7YKPT3.js";
39
+ } from "./chunk-X2MTVD4W.js";
40
40
  import {
41
41
  commandsPackage,
42
42
  globalUpgradeEntry,
@@ -60,6 +60,7 @@ var refreshedPartsOf = (agent) => [
60
60
  ...agent.result.hooks ? ["hooks"] : [],
61
61
  ...agent.result.mcp ? ["MCP key"] : [],
62
62
  ...agent.result.approvalRules ? ["approval rules"] : [],
63
+ ...agent.result.pluginFiles ? ["plugin"] : [],
63
64
  ...agent.instructions?.outcome === "refreshed" ? ["instructions"] : []
64
65
  ];
65
66
  var wasRefreshed = (agent) => refreshedPartsOf(agent).length > 0;
@@ -7,7 +7,7 @@ import {
7
7
  } from "./chunk-KZERVKTD.js";
8
8
  import {
9
9
  redactSecretsFromContent
10
- } from "./chunk-EJR5JXMV.js";
10
+ } from "./chunk-RQOT6QL3.js";
11
11
 
12
12
  // src/cli/json.ts
13
13
  var writeStdoutFully = (text) => new Promise((resolve, reject) => {
@@ -2,7 +2,7 @@ import {
2
2
  isApprovalMode,
3
3
  isRecord,
4
4
  isTimeoutAction
5
- } from "./chunk-EJR5JXMV.js";
5
+ } from "./chunk-RQOT6QL3.js";
6
6
 
7
7
  // src/cli/settings-response.ts
8
8
  var isFiniteNumber = (value) => typeof value === "number" && Number.isFinite(value);