pushary 1.9.123 → 1.9.125

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 +8 -0
  2. package/data/cursor-plugin/.cursor-plugin/plugin.json +1 -1
  3. package/data/cursor-plugin/CHANGELOG.md +4 -0
  4. package/data/cursor-plugin/scripts/pushary-gate.mjs +14 -6
  5. package/dist/bin/pushary-bell-hook.js +3 -3
  6. package/dist/bin/pushary-claude.js +2 -2
  7. package/dist/bin/pushary-clean.js +3 -3
  8. package/dist/bin/pushary-codex-hook.js +3 -3
  9. package/dist/bin/pushary-codex-session.js +2 -2
  10. package/dist/bin/pushary-daemon.js +3 -3
  11. package/dist/bin/pushary-display-hook.js +2 -2
  12. package/dist/bin/pushary-doctor.js +2 -2
  13. package/dist/bin/pushary-elicitation-hook.js +3 -3
  14. package/dist/bin/pushary-gemini-hook.js +3 -3
  15. package/dist/bin/pushary-hook.js +4 -4
  16. package/dist/bin/pushary-login.js +1 -1
  17. package/dist/bin/pushary-notification-hook.js +3 -3
  18. package/dist/bin/pushary-opencode-hook.js +3 -3
  19. package/dist/bin/pushary-permission-denied-hook.js +4 -4
  20. package/dist/bin/pushary-permission-hook.js +4 -4
  21. package/dist/bin/pushary-post-hook.js +3 -3
  22. package/dist/bin/pushary-prompt-hook.js +3 -3
  23. package/dist/bin/pushary-session-end-hook.js +3 -3
  24. package/dist/bin/pushary-session-start-hook.js +3 -3
  25. package/dist/bin/pushary-setup.js +3 -3
  26. package/dist/bin/pushary-status.js +2 -2
  27. package/dist/bin/pushary-stop-hook.js +3 -3
  28. package/dist/bin/pushary-stopfailure-hook.js +3 -3
  29. package/dist/bin/pushary-transcript-register.js +2 -2
  30. package/dist/bin/pushary-transcripts.js +2 -2
  31. package/dist/bin/pushary-upgrade.js +2 -2
  32. package/dist/{chunk-IICWR257.js → chunk-6DG7PKY5.js} +1 -1
  33. package/dist/{chunk-WP2AHPRO.js → chunk-GM26OJG6.js} +1 -1
  34. package/dist/{chunk-6YSUPE5Z.js → chunk-MFVKY6NV.js} +2 -2
  35. package/dist/{chunk-JNHDKTXI.js → chunk-QPS5STKF.js} +1 -1
  36. package/dist/{chunk-AHB2CUJZ.js → chunk-UXGGVCH5.js} +1 -0
  37. package/dist/{chunk-GLFY52O2.js → chunk-WCPLMERI.js} +1 -1
  38. package/dist/{chunk-SPEUUVMN.js → chunk-XUN23MM6.js} +1 -1
  39. package/dist/{codex-app-cards-switch-TGECJSVW.js → codex-app-cards-switch-4BHVMMAM.js} +3 -3
  40. package/dist/{codex-desktop-launch-F5SP75ED.js → codex-desktop-launch-45I4Y5PM.js} +1 -1
  41. package/dist/src/index.js +4 -4
  42. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,13 @@
1
1
  # Changelog
2
2
 
3
+ ## 1.9.125
4
+
5
+ - Linux: sessions started from your phone keep running when the background daemon stops or restarts, as they do on macOS. Before, systemd stopped them with the daemon on every restart and upgrade. The upgrade that installs this still restarts the daemon the old way, so sessions running at that moment stop once.
6
+
7
+ ## 1.9.124
8
+
9
+ - Cursor: the Pushary gate runs on Windows and from a plugin folder whose path has a space or a symlink. Before, it printed nothing there, so Cursor blocked every shell command, MCP call and file edit it gates. The Cursor Marketplace plugin updates through Cursor; run `npx pushary@latest setup --agents cursor` to update a copy that setup installed.
10
+
3
11
  ## 1.9.123
4
12
 
5
13
  - The background daemon keeps running after your computer wakes from sleep. Before, a transcript hook that ran in the first 30 seconds after a long sleep could stop it, and phone start, transcript upload and the Claude wake inbox stayed off until a later hook started it again.
@@ -2,7 +2,7 @@
2
2
  "name": "pushary",
3
3
  "displayName": "Pushary — Control Panel for AI Agents",
4
4
  "description": "Push notifications, human-in-the-loop questions, and permission gating for your AI coding agent. Get a push when a task finishes, answer the agent from your phone, and approve risky commands before they run.",
5
- "version": "0.2.10",
5
+ "version": "0.2.11",
6
6
  "minClientVersions": {
7
7
  "grokbot": "never",
8
8
  "sand": "never"
@@ -1,5 +1,9 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.2.11
4
+
5
+ - The gate runs on Windows and from a plugin folder whose path has a space or a symlink. Before, it printed nothing there, so Cursor blocked every shell command, MCP call and file edit the gate covers.
6
+
3
7
  ## 0.2.10
4
8
 
5
9
  - The bundled Pushary skill is 0.13.1. It gives the next step for each `status --json` exit code, lists every agent id setup accepts, and keeps the Mac app in charge of the agents it connected.
@@ -6,9 +6,9 @@ import { redactSecrets, redactSecretsDeep } from './redaction.mjs'
6
6
  export { redactSecrets } from './redaction.mjs'
7
7
  import { createHash, randomUUID } from 'node:crypto'
8
8
  import { homedir, hostname } from 'node:os'
9
- import { existsSync, readFileSync } from 'node:fs'
9
+ import { existsSync, readFileSync, realpathSync } from 'node:fs'
10
10
  import { basename, dirname, isAbsolute, join, posix, resolve } from 'node:path'
11
- import { fileURLToPath } from 'node:url'
11
+ import { fileURLToPath, pathToFileURL } from 'node:url'
12
12
 
13
13
  const BASE_URL = process.env.PUSHARY_BASE_URL?.trim() || 'https://pushary.com'
14
14
  const MCP_URL = `${BASE_URL}/api/mcp/mcp`
@@ -758,10 +758,18 @@ setTimeout(async () => {
758
758
  // executed directly, so importing this file for a test does not read stdin.
759
759
  export { normalizeRepoRemote, deriveRepoKey, repositoryScopeFor, describeRequest, handlePushOnly, handlePushFirst, withdraw, approvalModeWithoutLocalPrompt, timeoutActionWithoutLocalPrompt }
760
760
 
761
- const isDirectRun = process.argv[1] && import.meta.url === `file://${process.argv[1]}`
762
- if (!isDirectRun) {
763
- // imported for tests
764
- } else main().catch((error) => {
761
+ const isThisFile = (path) => pathToFileURL(path).href === import.meta.url
762
+
763
+ const ranAsTheScript = (scriptPath) => {
764
+ if (!scriptPath) return false
765
+ try {
766
+ return isThisFile(scriptPath) || isThisFile(realpathSync(scriptPath))
767
+ } catch {
768
+ return false
769
+ }
770
+ }
771
+
772
+ if (ranAsTheScript(process.argv[1])) main().catch((error) => {
765
773
  process.stderr.write(`[pushary-gate] fatal: ${error?.message ?? error}\n`)
766
774
  respond(ask())
767
775
  })
@@ -4,14 +4,14 @@ import {
4
4
  } from "../chunk-BVI2N7QA.js";
5
5
  import {
6
6
  readHookInput
7
- } from "../chunk-IICWR257.js";
7
+ } from "../chunk-6DG7PKY5.js";
8
8
  import "../chunk-C2L477NM.js";
9
- import "../chunk-JNHDKTXI.js";
9
+ import "../chunk-QPS5STKF.js";
10
10
  import "../chunk-HXBQTPKC.js";
11
11
  import "../chunk-G66WIAST.js";
12
12
  import "../chunk-ZAYXOSEP.js";
13
13
  import "../chunk-WLC3AX6F.js";
14
- import "../chunk-AHB2CUJZ.js";
14
+ import "../chunk-UXGGVCH5.js";
15
15
  import "../chunk-Q3KKA5IZ.js";
16
16
  import "../chunk-7OSBFMRV.js";
17
17
  import "../chunk-LS3CQ536.js";
@@ -24,7 +24,7 @@ import {
24
24
  registerTranscript,
25
25
  registeredTranscriptEnabled,
26
26
  startDraftPublisher
27
- } from "../chunk-JNHDKTXI.js";
27
+ } from "../chunk-QPS5STKF.js";
28
28
  import "../chunk-HXBQTPKC.js";
29
29
  import "../chunk-G66WIAST.js";
30
30
  import {
@@ -43,7 +43,7 @@ import {
43
43
  } from "../chunk-WLC3AX6F.js";
44
44
  import {
45
45
  ensureDaemonRunning
46
- } from "../chunk-AHB2CUJZ.js";
46
+ } from "../chunk-UXGGVCH5.js";
47
47
  import "../chunk-Q3KKA5IZ.js";
48
48
  import {
49
49
  UNNAMED_ACTION,
@@ -15,13 +15,13 @@ import {
15
15
  storedMacAppState,
16
16
  storedPusharyKeychainServices,
17
17
  waitForMacAppExit
18
- } from "../chunk-6YSUPE5Z.js";
18
+ } from "../chunk-MFVKY6NV.js";
19
19
  import {
20
20
  PUSHARY_SKILL_NAME,
21
21
  PUSHARY_SKILL_SOURCE,
22
22
  createGuards
23
23
  } from "../chunk-J42EAEX3.js";
24
- import "../chunk-SPEUUVMN.js";
24
+ import "../chunk-XUN23MM6.js";
25
25
  import "../chunk-XCEN33UP.js";
26
26
  import {
27
27
  describeCliKeyRevocation,
@@ -99,7 +99,7 @@ import {
99
99
  import "../chunk-WLC3AX6F.js";
100
100
  import {
101
101
  disableDaemonService
102
- } from "../chunk-AHB2CUJZ.js";
102
+ } from "../chunk-UXGGVCH5.js";
103
103
  import {
104
104
  hookOwnerOf,
105
105
  isHookTakeoverReceipt,
@@ -23,13 +23,13 @@ import {
23
23
  } from "../chunk-STGEWWFW.js";
24
24
  import {
25
25
  readHookInput
26
- } from "../chunk-IICWR257.js";
26
+ } from "../chunk-6DG7PKY5.js";
27
27
  import "../chunk-C2L477NM.js";
28
28
  import {
29
29
  announceSubscriptionRequired,
30
30
  isDeferAnswer
31
31
  } from "../chunk-OJPHNITI.js";
32
- import "../chunk-JNHDKTXI.js";
32
+ import "../chunk-QPS5STKF.js";
33
33
  import "../chunk-HXBQTPKC.js";
34
34
  import "../chunk-G66WIAST.js";
35
35
  import "../chunk-ZAYXOSEP.js";
@@ -65,7 +65,7 @@ import {
65
65
  toPolicyLookups,
66
66
  userScope
67
67
  } from "../chunk-WLC3AX6F.js";
68
- import "../chunk-AHB2CUJZ.js";
68
+ import "../chunk-UXGGVCH5.js";
69
69
  import "../chunk-Q3KKA5IZ.js";
70
70
  import {
71
71
  codexReviewerDenialsSince,
@@ -19,7 +19,7 @@ var desktopAccount = async () => {
19
19
  return null;
20
20
  }
21
21
  };
22
- var desktopLaunch = await import("../codex-desktop-launch-F5SP75ED.js").catch(() => null);
22
+ var desktopLaunch = await import("../codex-desktop-launch-45I4Y5PM.js").catch(() => null);
23
23
  if (desktopLaunch === null && appBehindTheProxy !== void 0) {
24
24
  process.exitCode = await letCodexRunWithoutPushary(appBehindTheProxy, args.slice(3));
25
25
  } else {
@@ -27,7 +27,7 @@ if (desktopLaunch === null && appBehindTheProxy !== void 0) {
27
27
  const stop = () => abort.abort();
28
28
  if (!args[0]?.startsWith("--desktop")) for (const signal of ["SIGINT", "SIGTERM", "SIGHUP"]) process.on(signal, stop);
29
29
  try {
30
- const { codexDesktopCommand } = desktopLaunch ?? await import("../codex-desktop-launch-F5SP75ED.js");
30
+ const { codexDesktopCommand } = desktopLaunch ?? await import("../codex-desktop-launch-45I4Y5PM.js");
31
31
  const desktop = await codexDesktopCommand(args, [process.execPath, ...process.execArgv, process.argv[1], "codex"], desktopAccount);
32
32
  if (desktop !== null) process.exitCode = desktop;
33
33
  else {
@@ -11,7 +11,7 @@ import "../chunk-EBJ5QUVE.js";
11
11
  import {
12
12
  HEARTBEAT_INTERVAL_MS,
13
13
  sendHeartbeat
14
- } from "../chunk-GLFY52O2.js";
14
+ } from "../chunk-WCPLMERI.js";
15
15
  import "../chunk-27FILS44.js";
16
16
  import {
17
17
  readSignedOutDiagnosis
@@ -56,7 +56,7 @@ import {
56
56
  import "../chunk-C2L477NM.js";
57
57
  import {
58
58
  startRegisteredTranscripts
59
- } from "../chunk-JNHDKTXI.js";
59
+ } from "../chunk-QPS5STKF.js";
60
60
  import "../chunk-HXBQTPKC.js";
61
61
  import "../chunk-G66WIAST.js";
62
62
  import "../chunk-ZAYXOSEP.js";
@@ -81,7 +81,7 @@ import {
81
81
  requestDaemonHandoff,
82
82
  stopDaemonRunning,
83
83
  writeDaemonNeedsLogin
84
- } from "../chunk-AHB2CUJZ.js";
84
+ } from "../chunk-UXGGVCH5.js";
85
85
  import {
86
86
  hookOwnerOf
87
87
  } from "../chunk-Q3KKA5IZ.js";
@@ -5,10 +5,10 @@ import {
5
5
  loadSessionKey,
6
6
  registeredTranscriptEnabled,
7
7
  sessionKeyDirectory
8
- } from "../chunk-JNHDKTXI.js";
8
+ } from "../chunk-QPS5STKF.js";
9
9
  import "../chunk-HXBQTPKC.js";
10
10
  import "../chunk-G66WIAST.js";
11
- import "../chunk-AHB2CUJZ.js";
11
+ import "../chunk-UXGGVCH5.js";
12
12
  import "../chunk-Q3KKA5IZ.js";
13
13
  import "../chunk-7OSBFMRV.js";
14
14
  import "../chunk-LS3CQ536.js";
@@ -35,7 +35,7 @@ import {
35
35
  import {
36
36
  readMachineReadiness,
37
37
  readManagedControlEvidence
38
- } from "../chunk-GLFY52O2.js";
38
+ } from "../chunk-WCPLMERI.js";
39
39
  import {
40
40
  assessCodexHookTrust,
41
41
  readCodexTrustForPusharyHooks
@@ -144,7 +144,7 @@ import {
144
144
  readDaemonNeedsLogin,
145
145
  readDaemonStatus,
146
146
  readInstalledDaemonService
147
- } from "../chunk-AHB2CUJZ.js";
147
+ } from "../chunk-UXGGVCH5.js";
148
148
  import {
149
149
  GEMINI_HOOK_BINARY,
150
150
  claudeOtherHolders,
@@ -1,18 +1,18 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  readHookInput
4
- } from "../chunk-IICWR257.js";
4
+ } from "../chunk-6DG7PKY5.js";
5
5
  import "../chunk-C2L477NM.js";
6
6
  import {
7
7
  announceSubscriptionRequired,
8
8
  isDeferAnswer
9
9
  } from "../chunk-OJPHNITI.js";
10
- import "../chunk-JNHDKTXI.js";
10
+ import "../chunk-QPS5STKF.js";
11
11
  import "../chunk-HXBQTPKC.js";
12
12
  import "../chunk-G66WIAST.js";
13
13
  import "../chunk-ZAYXOSEP.js";
14
14
  import "../chunk-WLC3AX6F.js";
15
- import "../chunk-AHB2CUJZ.js";
15
+ import "../chunk-UXGGVCH5.js";
16
16
  import "../chunk-Q3KKA5IZ.js";
17
17
  import "../chunk-7OSBFMRV.js";
18
18
  import "../chunk-LS3CQ536.js";
@@ -16,13 +16,13 @@ import {
16
16
  } from "../chunk-STGEWWFW.js";
17
17
  import {
18
18
  readHookInput
19
- } from "../chunk-IICWR257.js";
19
+ } from "../chunk-6DG7PKY5.js";
20
20
  import "../chunk-C2L477NM.js";
21
21
  import {
22
22
  announceSubscriptionRequired,
23
23
  isDeferAnswer
24
24
  } from "../chunk-OJPHNITI.js";
25
- import "../chunk-JNHDKTXI.js";
25
+ import "../chunk-QPS5STKF.js";
26
26
  import "../chunk-HXBQTPKC.js";
27
27
  import "../chunk-G66WIAST.js";
28
28
  import "../chunk-ZAYXOSEP.js";
@@ -39,7 +39,7 @@ import {
39
39
  readLastUserPrompt,
40
40
  reportEvent
41
41
  } from "../chunk-WLC3AX6F.js";
42
- import "../chunk-AHB2CUJZ.js";
42
+ import "../chunk-UXGGVCH5.js";
43
43
  import "../chunk-Q3KKA5IZ.js";
44
44
  import {
45
45
  deriveActionBody,
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  handlePreToolUse
4
- } from "../chunk-WP2AHPRO.js";
4
+ } from "../chunk-GM26OJG6.js";
5
5
  import "../chunk-PO6ECYXG.js";
6
6
  import {
7
7
  exitOnHelpFlag
@@ -11,10 +11,10 @@ import "../chunk-2WGP6QE7.js";
11
11
  import "../chunk-7EYXAM63.js";
12
12
  import {
13
13
  readToolHookCall
14
- } from "../chunk-IICWR257.js";
14
+ } from "../chunk-6DG7PKY5.js";
15
15
  import "../chunk-C2L477NM.js";
16
16
  import "../chunk-OJPHNITI.js";
17
- import "../chunk-JNHDKTXI.js";
17
+ import "../chunk-QPS5STKF.js";
18
18
  import "../chunk-HXBQTPKC.js";
19
19
  import "../chunk-G66WIAST.js";
20
20
  import {
@@ -23,7 +23,7 @@ import {
23
23
  profileFromArgv
24
24
  } from "../chunk-ZAYXOSEP.js";
25
25
  import "../chunk-WLC3AX6F.js";
26
- import "../chunk-AHB2CUJZ.js";
26
+ import "../chunk-UXGGVCH5.js";
27
27
  import "../chunk-Q3KKA5IZ.js";
28
28
  import {
29
29
  canonicalGateInputs
@@ -25,7 +25,7 @@ import {
25
25
  import "../chunk-G66WIAST.js";
26
26
  import {
27
27
  recoverDaemonAfterLogin
28
- } from "../chunk-AHB2CUJZ.js";
28
+ } from "../chunk-UXGGVCH5.js";
29
29
  import {
30
30
  parseFlags
31
31
  } from "../chunk-YPY4YCIZ.js";
@@ -1,9 +1,9 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  readHookInput
4
- } from "../chunk-IICWR257.js";
4
+ } from "../chunk-6DG7PKY5.js";
5
5
  import "../chunk-C2L477NM.js";
6
- import "../chunk-JNHDKTXI.js";
6
+ import "../chunk-QPS5STKF.js";
7
7
  import "../chunk-HXBQTPKC.js";
8
8
  import "../chunk-G66WIAST.js";
9
9
  import {
@@ -13,7 +13,7 @@ import {
13
13
  import {
14
14
  handleNotification
15
15
  } from "../chunk-WLC3AX6F.js";
16
- import "../chunk-AHB2CUJZ.js";
16
+ import "../chunk-UXGGVCH5.js";
17
17
  import "../chunk-Q3KKA5IZ.js";
18
18
  import "../chunk-7OSBFMRV.js";
19
19
  import "../chunk-LS3CQ536.js";
@@ -13,13 +13,13 @@ import {
13
13
  } from "../chunk-7EYXAM63.js";
14
14
  import {
15
15
  readHookInput
16
- } from "../chunk-IICWR257.js";
16
+ } from "../chunk-6DG7PKY5.js";
17
17
  import "../chunk-C2L477NM.js";
18
18
  import {
19
19
  announceSubscriptionRequired,
20
20
  isDeferAnswer
21
21
  } from "../chunk-OJPHNITI.js";
22
- import "../chunk-JNHDKTXI.js";
22
+ import "../chunk-QPS5STKF.js";
23
23
  import "../chunk-HXBQTPKC.js";
24
24
  import "../chunk-G66WIAST.js";
25
25
  import "../chunk-ZAYXOSEP.js";
@@ -33,7 +33,7 @@ import {
33
33
  policyRequestFor,
34
34
  readLastPrompt
35
35
  } from "../chunk-WLC3AX6F.js";
36
- import "../chunk-AHB2CUJZ.js";
36
+ import "../chunk-UXGGVCH5.js";
37
37
  import "../chunk-Q3KKA5IZ.js";
38
38
  import {
39
39
  HOOK_FALLBACK_MAX,
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  handlePermissionDenied
4
- } from "../chunk-WP2AHPRO.js";
4
+ } from "../chunk-GM26OJG6.js";
5
5
  import "../chunk-PO6ECYXG.js";
6
6
  import {
7
7
  takeHookHoldBudget
@@ -11,15 +11,15 @@ import "../chunk-2WGP6QE7.js";
11
11
  import "../chunk-7EYXAM63.js";
12
12
  import {
13
13
  readHookInput
14
- } from "../chunk-IICWR257.js";
14
+ } from "../chunk-6DG7PKY5.js";
15
15
  import "../chunk-C2L477NM.js";
16
16
  import "../chunk-OJPHNITI.js";
17
- import "../chunk-JNHDKTXI.js";
17
+ import "../chunk-QPS5STKF.js";
18
18
  import "../chunk-HXBQTPKC.js";
19
19
  import "../chunk-G66WIAST.js";
20
20
  import "../chunk-ZAYXOSEP.js";
21
21
  import "../chunk-WLC3AX6F.js";
22
- import "../chunk-AHB2CUJZ.js";
22
+ import "../chunk-UXGGVCH5.js";
23
23
  import "../chunk-Q3KKA5IZ.js";
24
24
  import "../chunk-7OSBFMRV.js";
25
25
  import "../chunk-LS3CQ536.js";
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  handlePermissionRequest
4
- } from "../chunk-WP2AHPRO.js";
4
+ } from "../chunk-GM26OJG6.js";
5
5
  import "../chunk-PO6ECYXG.js";
6
6
  import {
7
7
  takeHookHoldBudget
@@ -11,10 +11,10 @@ import "../chunk-2WGP6QE7.js";
11
11
  import "../chunk-7EYXAM63.js";
12
12
  import {
13
13
  readToolHookInput
14
- } from "../chunk-IICWR257.js";
14
+ } from "../chunk-6DG7PKY5.js";
15
15
  import "../chunk-C2L477NM.js";
16
16
  import "../chunk-OJPHNITI.js";
17
- import "../chunk-JNHDKTXI.js";
17
+ import "../chunk-QPS5STKF.js";
18
18
  import "../chunk-HXBQTPKC.js";
19
19
  import "../chunk-G66WIAST.js";
20
20
  import {
@@ -23,7 +23,7 @@ import {
23
23
  profileFromArgv
24
24
  } from "../chunk-ZAYXOSEP.js";
25
25
  import "../chunk-WLC3AX6F.js";
26
- import "../chunk-AHB2CUJZ.js";
26
+ import "../chunk-UXGGVCH5.js";
27
27
  import "../chunk-Q3KKA5IZ.js";
28
28
  import {
29
29
  canonicalGateInputs
@@ -1,9 +1,9 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  readHookInput
4
- } from "../chunk-IICWR257.js";
4
+ } from "../chunk-6DG7PKY5.js";
5
5
  import "../chunk-C2L477NM.js";
6
- import "../chunk-JNHDKTXI.js";
6
+ import "../chunk-QPS5STKF.js";
7
7
  import "../chunk-HXBQTPKC.js";
8
8
  import "../chunk-G66WIAST.js";
9
9
  import {
@@ -18,7 +18,7 @@ import {
18
18
  handlePostToolUse,
19
19
  isCompactionEvent
20
20
  } from "../chunk-WLC3AX6F.js";
21
- import "../chunk-AHB2CUJZ.js";
21
+ import "../chunk-UXGGVCH5.js";
22
22
  import "../chunk-Q3KKA5IZ.js";
23
23
  import "../chunk-7OSBFMRV.js";
24
24
  import "../chunk-LS3CQ536.js";
@@ -1,9 +1,9 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  readHookInput
4
- } from "../chunk-IICWR257.js";
4
+ } from "../chunk-6DG7PKY5.js";
5
5
  import "../chunk-C2L477NM.js";
6
- import "../chunk-JNHDKTXI.js";
6
+ import "../chunk-QPS5STKF.js";
7
7
  import "../chunk-HXBQTPKC.js";
8
8
  import "../chunk-G66WIAST.js";
9
9
  import {
@@ -14,7 +14,7 @@ import {
14
14
  emitHookOutput,
15
15
  handleUserPrompt
16
16
  } from "../chunk-WLC3AX6F.js";
17
- import "../chunk-AHB2CUJZ.js";
17
+ import "../chunk-UXGGVCH5.js";
18
18
  import "../chunk-Q3KKA5IZ.js";
19
19
  import "../chunk-7OSBFMRV.js";
20
20
  import "../chunk-LS3CQ536.js";
@@ -5,9 +5,9 @@ import {
5
5
  import "../chunk-ROVLRXBI.js";
6
6
  import {
7
7
  readHookInput
8
- } from "../chunk-IICWR257.js";
8
+ } from "../chunk-6DG7PKY5.js";
9
9
  import "../chunk-C2L477NM.js";
10
- import "../chunk-JNHDKTXI.js";
10
+ import "../chunk-QPS5STKF.js";
11
11
  import "../chunk-HXBQTPKC.js";
12
12
  import "../chunk-G66WIAST.js";
13
13
  import {
@@ -17,7 +17,7 @@ import {
17
17
  import {
18
18
  handleSessionEnd
19
19
  } from "../chunk-WLC3AX6F.js";
20
- import "../chunk-AHB2CUJZ.js";
20
+ import "../chunk-UXGGVCH5.js";
21
21
  import "../chunk-Q3KKA5IZ.js";
22
22
  import "../chunk-7OSBFMRV.js";
23
23
  import "../chunk-LS3CQ536.js";
@@ -15,9 +15,9 @@ import {
15
15
  } from "../chunk-STGEWWFW.js";
16
16
  import {
17
17
  readHookInput
18
- } from "../chunk-IICWR257.js";
18
+ } from "../chunk-6DG7PKY5.js";
19
19
  import "../chunk-C2L477NM.js";
20
- import "../chunk-JNHDKTXI.js";
20
+ import "../chunk-QPS5STKF.js";
21
21
  import "../chunk-HXBQTPKC.js";
22
22
  import "../chunk-G66WIAST.js";
23
23
  import {
@@ -28,7 +28,7 @@ import {
28
28
  CLAUDE_CODE_AGENT,
29
29
  handleSessionStart
30
30
  } from "../chunk-WLC3AX6F.js";
31
- import "../chunk-AHB2CUJZ.js";
31
+ import "../chunk-UXGGVCH5.js";
32
32
  import "../chunk-Q3KKA5IZ.js";
33
33
  import "../chunk-7OSBFMRV.js";
34
34
  import "../chunk-LS3CQ536.js";
@@ -94,7 +94,7 @@ import {
94
94
  import {
95
95
  readManagedControlEvidence,
96
96
  waitForMachineReadiness
97
- } from "../chunk-GLFY52O2.js";
97
+ } from "../chunk-WCPLMERI.js";
98
98
  import {
99
99
  ensureCodexTrustsPusharyHooks
100
100
  } from "../chunk-27FILS44.js";
@@ -105,7 +105,7 @@ import {
105
105
  } from "../chunk-J42EAEX3.js";
106
106
  import {
107
107
  codexEngineBehindLauncher
108
- } from "../chunk-SPEUUVMN.js";
108
+ } from "../chunk-XUN23MM6.js";
109
109
  import "../chunk-XCEN33UP.js";
110
110
  import {
111
111
  CURSOR_PLUGIN_BACKUP_INFIX,
@@ -257,7 +257,7 @@ import {
257
257
  serviceNodeFor,
258
258
  stopDaemonService,
259
259
  waitForDaemonRemoteProof
260
- } from "../chunk-AHB2CUJZ.js";
260
+ } from "../chunk-UXGGVCH5.js";
261
261
  import {
262
262
  GEMINI_HOOK_BINARY,
263
263
  GEMINI_HOOK_EVENTS,
@@ -13,7 +13,7 @@ import {
13
13
  import {
14
14
  describeLastSeen,
15
15
  listMachines
16
- } from "../chunk-GLFY52O2.js";
16
+ } from "../chunk-WCPLMERI.js";
17
17
  import {
18
18
  SIGNED_OUT_ON_MAC_MESSAGE,
19
19
  activeKeyVerdictOf,
@@ -39,7 +39,7 @@ import "../chunk-P2WA3YY2.js";
39
39
  import "../chunk-ROVLRXBI.js";
40
40
  import "../chunk-ZAYXOSEP.js";
41
41
  import "../chunk-WLC3AX6F.js";
42
- import "../chunk-AHB2CUJZ.js";
42
+ import "../chunk-UXGGVCH5.js";
43
43
  import "../chunk-Q3KKA5IZ.js";
44
44
  import "../chunk-7OSBFMRV.js";
45
45
  import "../chunk-LS3CQ536.js";
@@ -1,9 +1,9 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  readHookInput
4
- } from "../chunk-IICWR257.js";
4
+ } from "../chunk-6DG7PKY5.js";
5
5
  import "../chunk-C2L477NM.js";
6
- import "../chunk-JNHDKTXI.js";
6
+ import "../chunk-QPS5STKF.js";
7
7
  import "../chunk-HXBQTPKC.js";
8
8
  import "../chunk-G66WIAST.js";
9
9
  import {
@@ -16,7 +16,7 @@ import {
16
16
  handleSubagentStop,
17
17
  isSubagentStop
18
18
  } from "../chunk-WLC3AX6F.js";
19
- import "../chunk-AHB2CUJZ.js";
19
+ import "../chunk-UXGGVCH5.js";
20
20
  import "../chunk-Q3KKA5IZ.js";
21
21
  import "../chunk-7OSBFMRV.js";
22
22
  import "../chunk-LS3CQ536.js";
@@ -1,9 +1,9 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  readHookInput
4
- } from "../chunk-IICWR257.js";
4
+ } from "../chunk-6DG7PKY5.js";
5
5
  import "../chunk-C2L477NM.js";
6
- import "../chunk-JNHDKTXI.js";
6
+ import "../chunk-QPS5STKF.js";
7
7
  import "../chunk-HXBQTPKC.js";
8
8
  import "../chunk-G66WIAST.js";
9
9
  import {
@@ -13,7 +13,7 @@ import {
13
13
  import {
14
14
  handleStopFailure
15
15
  } from "../chunk-WLC3AX6F.js";
16
- import "../chunk-AHB2CUJZ.js";
16
+ import "../chunk-UXGGVCH5.js";
17
17
  import "../chunk-Q3KKA5IZ.js";
18
18
  import "../chunk-7OSBFMRV.js";
19
19
  import "../chunk-LS3CQ536.js";
@@ -5,10 +5,10 @@ import {
5
5
  } from "../chunk-P3VVRBBI.js";
6
6
  import {
7
7
  registerTranscript
8
- } from "../chunk-JNHDKTXI.js";
8
+ } from "../chunk-QPS5STKF.js";
9
9
  import "../chunk-HXBQTPKC.js";
10
10
  import "../chunk-G66WIAST.js";
11
- import "../chunk-AHB2CUJZ.js";
11
+ import "../chunk-UXGGVCH5.js";
12
12
  import "../chunk-Q3KKA5IZ.js";
13
13
  import "../chunk-7OSBFMRV.js";
14
14
  import "../chunk-LS3CQ536.js";
@@ -21,10 +21,10 @@ import {
21
21
  snapshotRecipientPinFile,
22
22
  trustPhoneRecipient,
23
23
  verifyTrustedRecipients
24
- } from "../chunk-JNHDKTXI.js";
24
+ } from "../chunk-QPS5STKF.js";
25
25
  import "../chunk-HXBQTPKC.js";
26
26
  import "../chunk-G66WIAST.js";
27
- import "../chunk-AHB2CUJZ.js";
27
+ import "../chunk-UXGGVCH5.js";
28
28
  import "../chunk-Q3KKA5IZ.js";
29
29
  import "../chunk-7OSBFMRV.js";
30
30
  import "../chunk-LS3CQ536.js";
@@ -36,7 +36,7 @@ import {
36
36
  import "../chunk-2FOCCDVV.js";
37
37
  import {
38
38
  waitForMachineReadiness
39
- } from "../chunk-GLFY52O2.js";
39
+ } from "../chunk-WCPLMERI.js";
40
40
  import "../chunk-27FILS44.js";
41
41
  import {
42
42
  readMacAppAgentKey
@@ -91,7 +91,7 @@ import {
91
91
  replaceDaemonService,
92
92
  stopDaemonService,
93
93
  waitForDaemonRemoteProof
94
- } from "../chunk-AHB2CUJZ.js";
94
+ } from "../chunk-UXGGVCH5.js";
95
95
  import "../chunk-Q3KKA5IZ.js";
96
96
  import "../chunk-7OSBFMRV.js";
97
97
  import "../chunk-LS3CQ536.js";
@@ -4,7 +4,7 @@ import {
4
4
  } from "./chunk-C2L477NM.js";
5
5
  import {
6
6
  registerTranscript
7
- } from "./chunk-JNHDKTXI.js";
7
+ } from "./chunk-QPS5STKF.js";
8
8
  import {
9
9
  namedEvent
10
10
  } from "./chunk-ZAYXOSEP.js";
@@ -18,7 +18,7 @@ import {
18
18
  import {
19
19
  isAdmitted,
20
20
  readAdmissionRules
21
- } from "./chunk-IICWR257.js";
21
+ } from "./chunk-6DG7PKY5.js";
22
22
  import {
23
23
  isDeferAnswer,
24
24
  oncePerSession
@@ -9,13 +9,13 @@ import {
9
9
  installedCodexApp,
10
10
  readCodexAppRuntime,
11
11
  shellQuoted
12
- } from "./chunk-SPEUUVMN.js";
12
+ } from "./chunk-XUN23MM6.js";
13
13
  import {
14
14
  writeHuman
15
15
  } from "./chunk-QCGNGEGE.js";
16
16
  import {
17
17
  xml
18
- } from "./chunk-AHB2CUJZ.js";
18
+ } from "./chunk-UXGGVCH5.js";
19
19
  import {
20
20
  writeFileAtomic
21
21
  } from "./chunk-T5I4PKOQ.js";
@@ -7,7 +7,7 @@ import {
7
7
  } from "./chunk-G66WIAST.js";
8
8
  import {
9
9
  ensureDaemonRunning
10
- } from "./chunk-AHB2CUJZ.js";
10
+ } from "./chunk-UXGGVCH5.js";
11
11
  import {
12
12
  hookOwnerOf
13
13
  } from "./chunk-Q3KKA5IZ.js";
@@ -188,6 +188,7 @@ ExecStart=${systemdQuote(input.execPath)} ${systemdQuote(input.daemonEntry)}
188
188
  Environment=${systemdQuote(`PATH=${input.pathEnv}`)}
189
189
  Restart=on-failure
190
190
  RestartSec=10
191
+ KillMode=process
191
192
 
192
193
  [Install]
193
194
  WantedBy=default.target
@@ -10,7 +10,7 @@ import {
10
10
  hasDaemonServiceDefinition,
11
11
  readDaemonNeedsLogin,
12
12
  readDaemonStatus
13
- } from "./chunk-AHB2CUJZ.js";
13
+ } from "./chunk-UXGGVCH5.js";
14
14
  import {
15
15
  getMachineId
16
16
  } from "./chunk-RBPPX663.js";
@@ -1085,7 +1085,7 @@ var codexDesktopCommand = async (args, entry, readAccount) => {
1085
1085
  return runCodexDesktopProxy(engine2, args.slice(3), readAccount, { watchesForCards: layoutIsKnown });
1086
1086
  }
1087
1087
  if (args[0] === APP_CARDS_FLAG) {
1088
- const { codexAppCardsCommandOnThisMac } = await import("./codex-app-cards-switch-TGECJSVW.js");
1088
+ const { codexAppCardsCommandOnThisMac } = await import("./codex-app-cards-switch-4BHVMMAM.js");
1089
1089
  return codexAppCardsCommandOnThisMac(args.slice(1), entry, readAccount);
1090
1090
  }
1091
1091
  if (args.length > 2) throw new Error("Usage: pushary codex --desktop [path/to/Codex.app]");
@@ -22,11 +22,11 @@ import {
22
22
  turnCodexAppCardsOff,
23
23
  turnCodexAppCardsOn,
24
24
  whyLaunchctlFailed
25
- } from "./chunk-6YSUPE5Z.js";
26
- import "./chunk-SPEUUVMN.js";
25
+ } from "./chunk-MFVKY6NV.js";
26
+ import "./chunk-XUN23MM6.js";
27
27
  import "./chunk-XCEN33UP.js";
28
28
  import "./chunk-QCGNGEGE.js";
29
- import "./chunk-AHB2CUJZ.js";
29
+ import "./chunk-UXGGVCH5.js";
30
30
  import "./chunk-XHKBHWLX.js";
31
31
  import "./chunk-RBPPX663.js";
32
32
  import "./chunk-SZV5SLSD.js";
@@ -11,7 +11,7 @@ import {
11
11
  installedCodexApp,
12
12
  shellQuoted,
13
13
  writeDesktopProxy
14
- } from "./chunk-SPEUUVMN.js";
14
+ } from "./chunk-XUN23MM6.js";
15
15
  import "./chunk-XCEN33UP.js";
16
16
  import {
17
17
  CODEX_APP_LAUNCH_VARIABLE
package/dist/src/index.js CHANGED
@@ -1,14 +1,14 @@
1
1
  import {
2
2
  handlePreToolUse
3
- } from "../chunk-WP2AHPRO.js";
3
+ } from "../chunk-GM26OJG6.js";
4
4
  import "../chunk-PO6ECYXG.js";
5
5
  import "../chunk-X6WYICTL.js";
6
6
  import "../chunk-2WGP6QE7.js";
7
7
  import "../chunk-7EYXAM63.js";
8
- import "../chunk-IICWR257.js";
8
+ import "../chunk-6DG7PKY5.js";
9
9
  import "../chunk-C2L477NM.js";
10
10
  import "../chunk-OJPHNITI.js";
11
- import "../chunk-JNHDKTXI.js";
11
+ import "../chunk-QPS5STKF.js";
12
12
  import "../chunk-HXBQTPKC.js";
13
13
  import "../chunk-G66WIAST.js";
14
14
  import "../chunk-ZAYXOSEP.js";
@@ -21,7 +21,7 @@ import {
21
21
  handleStop,
22
22
  reportEvent
23
23
  } from "../chunk-WLC3AX6F.js";
24
- import "../chunk-AHB2CUJZ.js";
24
+ import "../chunk-UXGGVCH5.js";
25
25
  import "../chunk-Q3KKA5IZ.js";
26
26
  import "../chunk-7OSBFMRV.js";
27
27
  import "../chunk-LS3CQ536.js";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pushary",
3
- "version": "1.9.123",
3
+ "version": "1.9.125",
4
4
  "description": "Human-in-the-loop (HITL) for AI agents: ask a person for approvals or answers by push notification. One command connects Claude Code, Codex, Cursor, Gemini CLI and more.",
5
5
  "keywords": [
6
6
  "pushary",