@pushary/agent-hooks 0.89.5 → 0.89.7

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 (42) hide show
  1. package/CHANGELOG.md +26 -0
  2. package/dist/bin/pushary-bell.js +1 -1
  3. package/dist/bin/pushary-claude.js +5 -5
  4. package/dist/bin/pushary-clean.js +128 -24
  5. package/dist/bin/pushary-codex-bridge.js +3 -3
  6. package/dist/bin/pushary-codex-hook.js +3 -3
  7. package/dist/bin/pushary-codex.js +3 -3
  8. package/dist/bin/pushary-daemon.js +47 -9
  9. package/dist/bin/pushary-disconnect.js +2 -2
  10. package/dist/bin/pushary-doctor.js +6 -6
  11. package/dist/bin/pushary-elicitation-hook.js +2 -2
  12. package/dist/bin/pushary-gemini-bridge.js +3 -3
  13. package/dist/bin/pushary-gemini-hook.js +3 -3
  14. package/dist/bin/pushary-hook.js +4 -4
  15. package/dist/bin/pushary-logout.js +1 -1
  16. package/dist/bin/pushary-notification-hook.js +3 -3
  17. package/dist/bin/pushary-opencode-hook.js +3 -3
  18. package/dist/bin/pushary-permission-denied-hook.js +4 -4
  19. package/dist/bin/pushary-permission-hook.js +4 -4
  20. package/dist/bin/pushary-post-hook.js +3 -3
  21. package/dist/bin/pushary-prompt-hook.js +3 -3
  22. package/dist/bin/pushary-session-end-hook.js +3 -3
  23. package/dist/bin/pushary-session-start-hook.js +3 -3
  24. package/dist/bin/pushary-setup.js +46 -16
  25. package/dist/bin/pushary-status.js +3 -3
  26. package/dist/bin/pushary-stop-hook.js +3 -3
  27. package/dist/bin/pushary-stopfailure-hook.js +3 -3
  28. package/dist/bin/pushary-upgrade.js +38 -198
  29. package/dist/{chunk-2HYPZLYY.js → chunk-2M66JVZM.js} +1 -1
  30. package/dist/chunk-2MEJBUOI.js +210 -0
  31. package/dist/{chunk-4ZHQNBDP.js → chunk-42TTFZLV.js} +1 -1
  32. package/dist/{chunk-MZBT2LXW.js → chunk-5YUVKPTS.js} +2 -2
  33. package/dist/{chunk-QH4AA7QV.js → chunk-A4O5ROZK.js} +1 -1
  34. package/dist/{chunk-OBI4YMCT.js → chunk-BAE45YLP.js} +2 -2
  35. package/dist/{chunk-NFI2K2ZQ.js → chunk-BPKMGE7L.js} +1 -1
  36. package/dist/{chunk-V37ZXMH3.js → chunk-GMI5QZLG.js} +15 -9
  37. package/dist/{chunk-475T3XIO.js → chunk-J2JZJZKB.js} +1 -1
  38. package/dist/{chunk-VP7SDXYG.js → chunk-TESGYWEM.js} +1 -1
  39. package/dist/{chunk-7TS2G4QG.js → chunk-VA7VUNRD.js} +22 -14
  40. package/dist/{chunk-TRQ46MXR.js → chunk-ZH7TWAYK.js} +8 -5
  41. package/dist/src/index.js +4 -4
  42. package/package.json +1 -1
@@ -1,18 +1,18 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  handlePreToolUse
4
- } from "../chunk-MZBT2LXW.js";
4
+ } from "../chunk-5YUVKPTS.js";
5
5
  import "../chunk-ATBKJNWS.js";
6
6
  import "../chunk-VZKXBFUA.js";
7
7
  import {
8
8
  readHookInput
9
9
  } from "../chunk-6CUUA7HO.js";
10
10
  import "../chunk-YHG74UFF.js";
11
- import "../chunk-NFI2K2ZQ.js";
11
+ import "../chunk-BPKMGE7L.js";
12
12
  import "../chunk-GKAKAOKC.js";
13
13
  import "../chunk-KOPUTJQC.js";
14
- import "../chunk-2HYPZLYY.js";
15
- import "../chunk-V37ZXMH3.js";
14
+ import "../chunk-2M66JVZM.js";
15
+ import "../chunk-GMI5QZLG.js";
16
16
  import {
17
17
  exitOnHelpFlag
18
18
  } from "../chunk-LURY4WNF.js";
@@ -4,7 +4,7 @@ import {
4
4
  codexConfigToml,
5
5
  cursorUserMcp,
6
6
  geminiSettings
7
- } from "../chunk-V37ZXMH3.js";
7
+ } from "../chunk-GMI5QZLG.js";
8
8
  import {
9
9
  createIo
10
10
  } from "../chunk-5RUIFDTP.js";
@@ -4,11 +4,11 @@ import {
4
4
  } from "../chunk-6CUUA7HO.js";
5
5
  import {
6
6
  handleNotification
7
- } from "../chunk-NFI2K2ZQ.js";
7
+ } from "../chunk-BPKMGE7L.js";
8
8
  import "../chunk-GKAKAOKC.js";
9
9
  import "../chunk-KOPUTJQC.js";
10
- import "../chunk-2HYPZLYY.js";
11
- import "../chunk-V37ZXMH3.js";
10
+ import "../chunk-2M66JVZM.js";
11
+ import "../chunk-GMI5QZLG.js";
12
12
  import "../chunk-BSZYIAZL.js";
13
13
  import "../chunk-SAF6HGAA.js";
14
14
  import "../chunk-OFRNZWC4.js";
@@ -19,7 +19,7 @@ import {
19
19
  policyRequestFor,
20
20
  readLastPrompt,
21
21
  repoKeyFor
22
- } from "../chunk-NFI2K2ZQ.js";
22
+ } from "../chunk-BPKMGE7L.js";
23
23
  import {
24
24
  DEFAULT_SESSION,
25
25
  askUser,
@@ -39,8 +39,8 @@ import {
39
39
  } from "../chunk-KOPUTJQC.js";
40
40
  import {
41
41
  getMachineId
42
- } from "../chunk-2HYPZLYY.js";
43
- import "../chunk-V37ZXMH3.js";
42
+ } from "../chunk-2M66JVZM.js";
43
+ import "../chunk-GMI5QZLG.js";
44
44
  import "../chunk-BSZYIAZL.js";
45
45
  import "../chunk-SAF6HGAA.js";
46
46
  import "../chunk-OFRNZWC4.js";
@@ -1,18 +1,18 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  handlePermissionDenied
4
- } from "../chunk-MZBT2LXW.js";
4
+ } from "../chunk-5YUVKPTS.js";
5
5
  import "../chunk-ATBKJNWS.js";
6
6
  import "../chunk-VZKXBFUA.js";
7
7
  import {
8
8
  readHookInput
9
9
  } from "../chunk-6CUUA7HO.js";
10
10
  import "../chunk-YHG74UFF.js";
11
- import "../chunk-NFI2K2ZQ.js";
11
+ import "../chunk-BPKMGE7L.js";
12
12
  import "../chunk-GKAKAOKC.js";
13
13
  import "../chunk-KOPUTJQC.js";
14
- import "../chunk-2HYPZLYY.js";
15
- import "../chunk-V37ZXMH3.js";
14
+ import "../chunk-2M66JVZM.js";
15
+ import "../chunk-GMI5QZLG.js";
16
16
  import "../chunk-BSZYIAZL.js";
17
17
  import "../chunk-SAF6HGAA.js";
18
18
  import "../chunk-OFRNZWC4.js";
@@ -1,18 +1,18 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  handlePermissionRequest
4
- } from "../chunk-MZBT2LXW.js";
4
+ } from "../chunk-5YUVKPTS.js";
5
5
  import "../chunk-ATBKJNWS.js";
6
6
  import "../chunk-VZKXBFUA.js";
7
7
  import {
8
8
  readHookInput
9
9
  } from "../chunk-6CUUA7HO.js";
10
10
  import "../chunk-YHG74UFF.js";
11
- import "../chunk-NFI2K2ZQ.js";
11
+ import "../chunk-BPKMGE7L.js";
12
12
  import "../chunk-GKAKAOKC.js";
13
13
  import "../chunk-KOPUTJQC.js";
14
- import "../chunk-2HYPZLYY.js";
15
- import "../chunk-V37ZXMH3.js";
14
+ import "../chunk-2M66JVZM.js";
15
+ import "../chunk-GMI5QZLG.js";
16
16
  import "../chunk-BSZYIAZL.js";
17
17
  import "../chunk-SAF6HGAA.js";
18
18
  import "../chunk-OFRNZWC4.js";
@@ -4,11 +4,11 @@ import {
4
4
  } from "../chunk-6CUUA7HO.js";
5
5
  import {
6
6
  handlePostToolUse
7
- } from "../chunk-NFI2K2ZQ.js";
7
+ } from "../chunk-BPKMGE7L.js";
8
8
  import "../chunk-GKAKAOKC.js";
9
9
  import "../chunk-KOPUTJQC.js";
10
- import "../chunk-2HYPZLYY.js";
11
- import "../chunk-V37ZXMH3.js";
10
+ import "../chunk-2M66JVZM.js";
11
+ import "../chunk-GMI5QZLG.js";
12
12
  import "../chunk-BSZYIAZL.js";
13
13
  import "../chunk-SAF6HGAA.js";
14
14
  import "../chunk-OFRNZWC4.js";
@@ -4,11 +4,11 @@ import {
4
4
  } from "../chunk-6CUUA7HO.js";
5
5
  import {
6
6
  handleUserPrompt
7
- } from "../chunk-NFI2K2ZQ.js";
7
+ } from "../chunk-BPKMGE7L.js";
8
8
  import "../chunk-GKAKAOKC.js";
9
9
  import "../chunk-KOPUTJQC.js";
10
- import "../chunk-2HYPZLYY.js";
11
- import "../chunk-V37ZXMH3.js";
10
+ import "../chunk-2M66JVZM.js";
11
+ import "../chunk-GMI5QZLG.js";
12
12
  import "../chunk-BSZYIAZL.js";
13
13
  import "../chunk-SAF6HGAA.js";
14
14
  import "../chunk-OFRNZWC4.js";
@@ -4,11 +4,11 @@ import {
4
4
  } from "../chunk-6CUUA7HO.js";
5
5
  import {
6
6
  handleSessionEnd
7
- } from "../chunk-NFI2K2ZQ.js";
7
+ } from "../chunk-BPKMGE7L.js";
8
8
  import "../chunk-GKAKAOKC.js";
9
9
  import "../chunk-KOPUTJQC.js";
10
- import "../chunk-2HYPZLYY.js";
11
- import "../chunk-V37ZXMH3.js";
10
+ import "../chunk-2M66JVZM.js";
11
+ import "../chunk-GMI5QZLG.js";
12
12
  import "../chunk-BSZYIAZL.js";
13
13
  import "../chunk-SAF6HGAA.js";
14
14
  import "../chunk-OFRNZWC4.js";
@@ -4,11 +4,11 @@ import {
4
4
  } from "../chunk-6CUUA7HO.js";
5
5
  import {
6
6
  handleSessionStart
7
- } from "../chunk-NFI2K2ZQ.js";
7
+ } from "../chunk-BPKMGE7L.js";
8
8
  import "../chunk-GKAKAOKC.js";
9
9
  import "../chunk-KOPUTJQC.js";
10
- import "../chunk-2HYPZLYY.js";
11
- import "../chunk-V37ZXMH3.js";
10
+ import "../chunk-2M66JVZM.js";
11
+ import "../chunk-GMI5QZLG.js";
12
12
  import "../chunk-BSZYIAZL.js";
13
13
  import "../chunk-SAF6HGAA.js";
14
14
  import "../chunk-OFRNZWC4.js";
@@ -1,12 +1,12 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  detectClaudeVersion
4
- } from "../chunk-475T3XIO.js";
4
+ } from "../chunk-J2JZJZKB.js";
5
5
  import {
6
6
  claudeWired,
7
7
  codexWired,
8
8
  geminiWired
9
- } from "../chunk-OBI4YMCT.js";
9
+ } from "../chunk-BAE45YLP.js";
10
10
  import {
11
11
  runBrowserLogin
12
12
  } from "../chunk-Z3Z4VK5F.js";
@@ -21,7 +21,7 @@ import {
21
21
  shortenHome,
22
22
  vscodeSettingsTargets,
23
23
  writeInstructionBlock
24
- } from "../chunk-QH4AA7QV.js";
24
+ } from "../chunk-A4O5ROZK.js";
25
25
  import {
26
26
  OPENCODE_HOOK_BINARY,
27
27
  addOpenCodeMcpServer,
@@ -42,7 +42,7 @@ import {
42
42
  addPusharyToolPermissions,
43
43
  compareVersion,
44
44
  parseVersion
45
- } from "../chunk-7TS2G4QG.js";
45
+ } from "../chunk-VA7VUNRD.js";
46
46
  import "../chunk-ATBKJNWS.js";
47
47
  import {
48
48
  guardBinary,
@@ -55,8 +55,9 @@ import {
55
55
  ensureDaemonRunning,
56
56
  hasDaemonServiceDefinition,
57
57
  readDaemonStatus,
58
- replaceDaemonService
59
- } from "../chunk-TRQ46MXR.js";
58
+ replaceDaemonService,
59
+ stopDaemonService
60
+ } from "../chunk-ZH7TWAYK.js";
60
61
  import {
61
62
  detectProviderLiveCapabilities,
62
63
  hasSpawnProvider,
@@ -71,10 +72,10 @@ import {
71
72
  } from "../chunk-PZA7G4CN.js";
72
73
  import {
73
74
  reportEvent
74
- } from "../chunk-NFI2K2ZQ.js";
75
+ } from "../chunk-BPKMGE7L.js";
75
76
  import "../chunk-GKAKAOKC.js";
76
77
  import "../chunk-KOPUTJQC.js";
77
- import "../chunk-2HYPZLYY.js";
78
+ import "../chunk-2M66JVZM.js";
78
79
  import {
79
80
  addCodexHookTrust,
80
81
  addCodexHooks,
@@ -94,7 +95,7 @@ import {
94
95
  geminiSettings,
95
96
  pusharyConfigFile,
96
97
  vscodePluginDir
97
- } from "../chunk-V37ZXMH3.js";
98
+ } from "../chunk-GMI5QZLG.js";
98
99
  import {
99
100
  confirmAppConnection,
100
101
  connectDevice,
@@ -1934,7 +1935,7 @@ var main = async () => {
1934
1935
  const failed = [];
1935
1936
  const completed = [];
1936
1937
  const skipped = [];
1937
- let controlDisableFailure = null;
1938
+ let controlLifecycleFailure = null;
1938
1939
  if (agents.length === 0) {
1939
1940
  console.log(`
1940
1941
  ${check} API key saved. No agents configured.`);
@@ -1977,8 +1978,8 @@ var main = async () => {
1977
1978
  markStep("control:disable");
1978
1979
  const disabled = await disableDaemonService();
1979
1980
  if (disabled.kind !== "ok") {
1980
- controlDisableFailure = disabled.detail;
1981
- console.log(` ${yellow("!")} Could not fully disable phone-start: ${controlDisableFailure}`);
1981
+ controlLifecycleFailure = disabled.detail;
1982
+ console.log(` ${yellow("!")} Could not fully disable phone-start: ${controlLifecycleFailure}`);
1982
1983
  } else {
1983
1984
  console.log(` ${check} Phone-start background service disabled.`);
1984
1985
  }
@@ -2045,7 +2046,7 @@ var main = async () => {
2045
2046
  keyCheck: "locked",
2046
2047
  rc: rc.kind,
2047
2048
  control: controlMode,
2048
- daemon: controlMode === "off" ? controlDisableFailure ? "unavailable" : "disabled" : "skipped",
2049
+ daemon: controlLifecycleFailure ? "unavailable" : "skipped",
2049
2050
  exitCode: report.exitCode
2050
2051
  });
2051
2052
  await reportSetupOutcome({
@@ -2074,12 +2075,41 @@ var main = async () => {
2074
2075
  const providerAvailable = hasSpawnProvider(controlCapabilities);
2075
2076
  const managerAvailable = daemonServiceManagerAvailable();
2076
2077
  const servicePresent = readDaemonStatus().kind !== "absent" || hasDaemonServiceDefinition();
2077
- const controlPolicy = resolveControlPolicy({
2078
+ let controlPolicy = resolveControlPolicy({
2078
2079
  mode: controlMode,
2079
2080
  providerAvailable,
2080
2081
  managerAvailable,
2081
2082
  servicePresent
2082
2083
  });
2084
+ if (controlPolicy === "legacy") {
2085
+ let legacyRuntimeFailure = null;
2086
+ try {
2087
+ await installGlobally2();
2088
+ const replaced = await replaceDaemonService();
2089
+ if (replaced.kind !== "ok") throw new Error(replaced.detail);
2090
+ } catch (err) {
2091
+ legacyRuntimeFailure = formatError(err);
2092
+ }
2093
+ let retired = legacyRuntimeFailure !== null;
2094
+ let stopped = retired ? await disableDaemonService() : await stopDaemonService();
2095
+ if (!retired && stopped.kind !== "ok") {
2096
+ legacyRuntimeFailure = stopped.detail;
2097
+ retired = true;
2098
+ stopped = await disableDaemonService();
2099
+ }
2100
+ if (stopped.kind !== "ok") {
2101
+ controlLifecycleFailure = [legacyRuntimeFailure, stopped.detail].filter(Boolean).join("; ");
2102
+ console.log(` ${yellow("!")} Could not make the legacy phone-start service safe: ${controlLifecycleFailure}`);
2103
+ } else if (retired) {
2104
+ controlPolicy = resolveControlPolicy({
2105
+ mode: controlMode,
2106
+ providerAvailable,
2107
+ managerAvailable,
2108
+ servicePresent: false
2109
+ });
2110
+ console.log(` ${yellow("!")} Retired the legacy phone-start service because it could not be safely repinned: ${legacyRuntimeFailure}`);
2111
+ }
2112
+ }
2083
2113
  if (controlMode === "on" && controlPolicy !== "enabled") {
2084
2114
  console.log(` ${yellow("!")} Phone-start was required, but this machine has no supported provider or native background-service manager.`);
2085
2115
  } else if (controlPolicy === "legacy") {
@@ -2102,7 +2132,7 @@ var main = async () => {
2102
2132
  failed,
2103
2133
  reachChecked,
2104
2134
  reachesYou,
2105
- daemonReady: controlDisableFailure ? false : daemon === null ? null : daemon.kind === "running" || daemon.kind === "started",
2135
+ daemonReady: controlLifecycleFailure ? false : daemon === null ? null : daemon.kind === "running" || daemon.kind === "started",
2106
2136
  // null when the check did not run, so it changes nothing. Only an outright
2107
2137
  // `false` is allowed to hold back "Setup complete.".
2108
2138
  roundTripAnswered: roundTrip === null ? null : roundTrip.kind === "answered" ? true : roundTrip.kind === "unanswered" ? false : null
@@ -2147,7 +2177,7 @@ var main = async () => {
2147
2177
  roundTrip: roundTrip === null ? "skipped" : roundTrip.kind,
2148
2178
  rc: rc.kind,
2149
2179
  rcPath: rc.path,
2150
- daemon: controlMode === "off" ? controlDisableFailure ? "unavailable" : "disabled" : controlPolicy === "unsupported" || controlPolicy === "preserve-absent" ? "unsupported" : daemon?.kind ?? "skipped",
2180
+ daemon: controlLifecycleFailure ? "unavailable" : daemon?.kind ?? "skipped",
2151
2181
  control: controlMode,
2152
2182
  controlPolicy,
2153
2183
  controlCapabilities,
@@ -2,9 +2,9 @@
2
2
  import {
3
3
  describeLastSeen,
4
4
  listMachines
5
- } from "../chunk-VP7SDXYG.js";
6
- import "../chunk-2HYPZLYY.js";
7
- import "../chunk-V37ZXMH3.js";
5
+ } from "../chunk-TESGYWEM.js";
6
+ import "../chunk-2M66JVZM.js";
7
+ import "../chunk-GMI5QZLG.js";
8
8
  import {
9
9
  describeReach,
10
10
  fetchChannels,
@@ -4,11 +4,11 @@ import {
4
4
  } from "../chunk-6CUUA7HO.js";
5
5
  import {
6
6
  handleStop
7
- } from "../chunk-NFI2K2ZQ.js";
7
+ } from "../chunk-BPKMGE7L.js";
8
8
  import "../chunk-GKAKAOKC.js";
9
9
  import "../chunk-KOPUTJQC.js";
10
- import "../chunk-2HYPZLYY.js";
11
- import "../chunk-V37ZXMH3.js";
10
+ import "../chunk-2M66JVZM.js";
11
+ import "../chunk-GMI5QZLG.js";
12
12
  import "../chunk-BSZYIAZL.js";
13
13
  import "../chunk-SAF6HGAA.js";
14
14
  import "../chunk-OFRNZWC4.js";
@@ -4,11 +4,11 @@ import {
4
4
  } from "../chunk-6CUUA7HO.js";
5
5
  import {
6
6
  handleStopFailure
7
- } from "../chunk-NFI2K2ZQ.js";
7
+ } from "../chunk-BPKMGE7L.js";
8
8
  import "../chunk-GKAKAOKC.js";
9
9
  import "../chunk-KOPUTJQC.js";
10
- import "../chunk-2HYPZLYY.js";
11
- import "../chunk-V37ZXMH3.js";
10
+ import "../chunk-2M66JVZM.js";
11
+ import "../chunk-GMI5QZLG.js";
12
12
  import "../chunk-BSZYIAZL.js";
13
13
  import "../chunk-SAF6HGAA.js";
14
14
  import "../chunk-OFRNZWC4.js";