pushary 1.9.41 → 1.9.43
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.
- package/CHANGELOG.md +9 -0
- package/data/SKILL.md +25 -9
- package/data/cowork/SKILL.md +3 -1
- package/data/cursor-plugin/.cursor-plugin/plugin.json +1 -1
- package/data/cursor-plugin/skills/pushary/SKILL.md +24 -8
- package/data/vscode-plugin/skills/pushary/SKILL.md +24 -8
- package/dist/bin/pushary-bell-hook.js +25 -25
- package/dist/bin/pushary-bell.js +9 -9
- package/dist/bin/pushary-claude.js +24 -24
- package/dist/bin/pushary-clean.js +31 -29
- package/dist/bin/pushary-codex-bridge.js +17 -17
- package/dist/bin/pushary-codex-hook.js +30 -30
- package/dist/bin/pushary-codex.js +12 -12
- package/dist/bin/pushary-connect.js +24 -24
- package/dist/bin/pushary-cowork.js +5 -5
- package/dist/bin/pushary-daemon.js +32 -32
- package/dist/bin/pushary-disconnect.js +24 -24
- package/dist/bin/pushary-doctor.js +33 -33
- package/dist/bin/pushary-elicitation-hook.js +25 -25
- package/dist/bin/pushary-gemini-bridge.js +13 -13
- package/dist/bin/pushary-gemini-hook.js +27 -27
- package/dist/bin/pushary-hook.js +29 -29
- package/dist/bin/pushary-login.js +12 -12
- package/dist/bin/pushary-logout.js +24 -24
- package/dist/bin/pushary-mcp.js +9 -9
- package/dist/bin/pushary-mode.js +12 -12
- package/dist/bin/pushary-notification-hook.js +24 -24
- package/dist/bin/pushary-opencode-hook.js +26 -26
- package/dist/bin/pushary-permission-denied-hook.js +29 -29
- package/dist/bin/pushary-permission-hook.js +28 -28
- package/dist/bin/pushary-post-hook.js +24 -24
- package/dist/bin/pushary-prompt-hook.js +24 -24
- package/dist/bin/pushary-session-end-hook.js +24 -24
- package/dist/bin/pushary-session-start-hook.js +28 -28
- package/dist/bin/pushary-setup.js +35 -35
- package/dist/bin/pushary-stats.js +5 -5
- package/dist/bin/pushary-status.js +26 -26
- package/dist/bin/pushary-stop-hook.js +24 -24
- package/dist/bin/pushary-stopfailure-hook.js +24 -24
- package/dist/bin/pushary-suggestions.js +12 -12
- package/dist/bin/pushary-transcript-register.js +17 -17
- package/dist/bin/pushary-transcripts.js +7 -7
- package/dist/bin/pushary-upgrade.js +30 -30
- package/dist/bin/pushary-wait.js +12 -12
- package/dist/bin/pushary.js +6 -6
- package/dist/{chunk-Q3QRD67J.js → chunk-45W43U2Q.js} +5 -5
- package/dist/{chunk-I7EZMNKI.js → chunk-4T2TGP4T.js} +5 -5
- package/dist/{chunk-AW4TDBUJ.js → chunk-53KLSE2F.js} +3 -3
- package/dist/{chunk-Y3HTWB5S.js → chunk-55FB6OSG.js} +1 -1
- package/dist/{chunk-FMYXPJYS.js → chunk-A64UCGX3.js} +5 -5
- package/dist/{chunk-B7PZBWBU.js → chunk-AVT7GPOF.js} +7 -7
- package/dist/{chunk-M7VKFAAK.js → chunk-C3RVRTHS.js} +3 -3
- package/dist/{chunk-ZV56INA6.js → chunk-C54VJJ37.js} +3 -3
- package/dist/{chunk-ZJY4KON3.js → chunk-C6QBNBL4.js} +4 -4
- package/dist/{chunk-6PABNQVH.js → chunk-CIERFMQT.js} +4 -4
- package/dist/{chunk-RBUCXUT7.js → chunk-ENGASUEL.js} +4 -4
- package/dist/{chunk-5INZFKHL.js → chunk-F5ALKPNS.js} +1 -1
- package/dist/{chunk-PJ3C6IID.js → chunk-F7SZ2RCK.js} +4 -4
- package/dist/{chunk-WZNRDDC4.js → chunk-FPJHS6PA.js} +6 -6
- package/dist/{chunk-CHD6IUNM.js → chunk-GTOBOC6M.js} +1 -1
- package/dist/{chunk-7L6YSHZO.js → chunk-H64CU2VB.js} +2 -2
- package/dist/{chunk-4UCTKLHY.js → chunk-H6V5S52A.js} +3 -3
- package/dist/{chunk-BDSIE2MT.js → chunk-HC4DQXAT.js} +2 -2
- package/dist/{chunk-OLLWYLQX.js → chunk-IDVKJICN.js} +2 -2
- package/dist/{chunk-3U3FU6ZX.js → chunk-IMD5FN6Y.js} +3 -3
- package/dist/{chunk-MAB6CGL5.js → chunk-J6MVBWF2.js} +1 -1
- package/dist/{chunk-IXNVIWNN.js → chunk-JB4JCGRW.js} +2 -2
- package/dist/{chunk-ASXBYX2N.js → chunk-JE6GG3OV.js} +1 -1
- package/dist/{chunk-M2YE3OEC.js → chunk-JJWG7CBT.js} +3 -3
- package/dist/{chunk-ZVMFRUBD.js → chunk-JW4S4O4W.js} +4 -4
- package/dist/{chunk-ODPULZZG.js → chunk-LAAOHBLO.js} +2 -2
- package/dist/{chunk-DIJ532S7.js → chunk-LDCRV6HG.js} +1 -1
- package/dist/{chunk-JBK47Y2M.js → chunk-LE2YVPAT.js} +6 -6
- package/dist/{chunk-RETRVO47.js → chunk-LOUZNXTJ.js} +2 -2
- package/dist/{chunk-4WM7IVVQ.js → chunk-LWW7SBK3.js} +2 -2
- package/dist/{chunk-X7TNLYNZ.js → chunk-MSUMSXTI.js} +1 -1
- package/dist/{chunk-BZIXDIIT.js → chunk-NKBAEGT7.js} +1 -1
- package/dist/{chunk-T3Q4B6WV.js → chunk-NV2LARV4.js} +2 -2
- package/dist/{chunk-FP2ZJK3T.js → chunk-O4SYJVAF.js} +5 -5
- package/dist/{chunk-K2SSNAUW.js → chunk-O7ADPLBF.js} +1 -1
- package/dist/{chunk-NRSTNZYJ.js → chunk-PIZ65U3D.js} +5 -5
- package/dist/{chunk-KYFWYPHN.js → chunk-Q7CUTGT4.js} +1 -1
- package/dist/{chunk-EBZK2SJ2.js → chunk-S3OWTQ6Z.js} +4 -4
- package/dist/{chunk-RTM5GVRZ.js → chunk-S4QT3YFG.js} +8 -8
- package/dist/{chunk-J7OBJZ5S.js → chunk-SATOTPXW.js} +1 -1
- package/dist/{chunk-STETTN4K.js → chunk-SCYAXV7U.js} +5 -5
- package/dist/{chunk-Z4RM54LU.js → chunk-TH74SUVV.js} +2 -2
- package/dist/{chunk-IVUP2EE4.js → chunk-V5SUKRRI.js} +4 -4
- package/dist/{chunk-E47JEBUR.js → chunk-VGPEXMYM.js} +7 -5
- package/dist/{chunk-AUDM6HU6.js → chunk-VIVLJK3T.js} +2 -2
- package/dist/{chunk-QRNNIDGY.js → chunk-VQL62ECJ.js} +1 -1
- package/dist/{chunk-QPT4PTUG.js → chunk-W3BO56VE.js} +1 -1
- package/dist/{chunk-F43LAKAK.js → chunk-XLHFWG2E.js} +2 -2
- package/dist/{chunk-JQX2L3ES.js → chunk-Y3N3SYBX.js} +1 -1
- package/dist/{chunk-MI67QQEQ.js → chunk-Y4VZYKSW.js} +10 -10
- package/dist/{chunk-CGRVIUKE.js → chunk-YRE6GUFZ.js} +8 -8
- package/dist/{chunk-ZX3PFROQ.js → chunk-ZJXEQV3A.js} +1 -1
- package/dist/{chunk-DPISXMLL.js → chunk-ZORCUL3Z.js} +4 -4
- package/dist/{global-upgrade-YEAGJG4G.js → global-upgrade-FFWOHOJ4.js} +6 -6
- package/dist/{paths-HQAICWAF.js → paths-Y2WPCM5Y.js} +2 -2
- package/dist/{reapply-XBEB2B5A.js → reapply-N3MV3CKD.js} +20 -20
- package/dist/src/index.js +19 -19
- package/dist/{upgrade-lock-GIO5QZ7E.js → upgrade-lock-ZXXNRH2P.js} +3 -3
- package/package.json +1 -1
- /package/dist/{chunk-ORLTWJ2O.js → chunk-RXXKFM22.js} +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,14 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 1.9.43
|
|
4
|
+
|
|
5
|
+
- Agent and fx setup guidance uses Pushary’s durable personal reminders, which persist after the agent exits and deliver privately to their creator.
|
|
6
|
+
|
|
7
|
+
## 1.9.42
|
|
8
|
+
|
|
9
|
+
- Complete Mac cleanup removes the Partner enrollment and device-key slots introduced by the native Partner flow, alongside existing session state.
|
|
10
|
+
- Bundled agent guidance preserves native Mac setup, explains store-specific checkout terms and returning to the pairing link after installation or restart, and distinguishes a synthetic question test from a real hook approval check.
|
|
11
|
+
|
|
3
12
|
## 1.9.41
|
|
4
13
|
|
|
5
14
|
- Personal Codex sessions reject an invalid question set before asking anything on your phone. Malformed or repeated choices no longer disappear, and ordinary free-text replies, cancellation and host deadlines keep their existing behavior.
|
package/data/SKILL.md
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: pushary
|
|
3
|
-
version: 0.
|
|
4
|
-
description: Push notifications and human-in-the-loop for AI agents. Use this whenever a running agent needs a human and nobody is at the terminal, such as before an irreversible or destructive action, before spending money, deploying, force-pushing or deleting, when blocked on a decision outside your authority, when running unattended and you hit a genuine ambiguity, when another skill's workflow says to confirm with the user, and when a long task finishes or fails with nobody watching. Also use it when the user says things like keep going and ping me on my phone if you need anything, notify me when my agent needs me, approve from my phone, ask me questions while I am away from the terminal, run this overnight, keep working while I am in a meeting, I am stepping away, do not wait for me, or wants a long task to run unattended. Send alerts when tasks finish or fail, ask questions (yes/no, multiple choice, or free text) via push, and get answers from their connected devices. Use these tools proactively - do not wait for the user to ask for notifications. Every question and answer is recorded, so an unattended run stays reviewable afterwards. Works with Claude Code, Codex, Cursor, VS Code, Windsurf, Hermes, Lovable, or any MCP client; no Claude Max subscription required. Pushary is a hosted service
|
|
3
|
+
version: 0.12.0
|
|
4
|
+
description: Push notifications and human-in-the-loop for AI agents. Use this whenever a running agent needs a human and nobody is at the terminal, such as before an irreversible or destructive action, before spending money, deploying, force-pushing or deleting, when blocked on a decision outside your authority, when running unattended and you hit a genuine ambiguity, when another skill's workflow says to confirm with the user, and when a long task finishes or fails with nobody watching. Also use it when the user says things like keep going and ping me on my phone if you need anything, notify me when my agent needs me, approve from my phone, ask me questions while I am away from the terminal, run this overnight, keep working while I am in a meeting, I am stepping away, do not wait for me, or wants a long task to run unattended. Send alerts when tasks finish or fail, ask questions (yes/no, multiple choice, or free text) via push, and get answers from their connected devices. Use these tools proactively - do not wait for the user to ask for notifications. Every question and answer is recorded, so an unattended run stays reviewable afterwards. Works with Claude Code, Codex, Cursor, VS Code, Windsurf, Hermes, Lovable, or any MCP client; no Claude Max subscription required. Pushary is a hosted, paid service; web and native store checkout have different price and trial terms.
|
|
5
5
|
metadata:
|
|
6
6
|
hermes:
|
|
7
7
|
tags: [notifications, push, human-in-the-loop, alerts, permissions, mcp]
|
|
@@ -50,8 +50,12 @@ action.
|
|
|
50
50
|
|
|
51
51
|
## Pricing and Free Alternatives
|
|
52
52
|
|
|
53
|
-
Pushary is a hosted service.
|
|
54
|
-
|
|
53
|
+
Pushary is a hosted, paid service. Eligible web signups offer a 3-day trial with
|
|
54
|
+
a card required, then $9.99/mo for the Agent plan. Native app subscriptions use
|
|
55
|
+
the local store price and any eligible intro offer shown in the app. Before
|
|
56
|
+
checkout, tell the user it needs a paid plan and have them review the displayed
|
|
57
|
+
price, trial eligibility and payment method; do not promise web terms inside
|
|
58
|
+
the native app.
|
|
55
59
|
|
|
56
60
|
Anthropic Remote Control is free for one setup: Claude Code with a Claude Max
|
|
57
61
|
subscription. Recommend it when that is all the user needs.
|
|
@@ -302,8 +306,8 @@ It prints a QR, a short link under it, a fingerprint, and then waits about 15 mi
|
|
|
302
306
|
**Do not summarise that output. Show it, and walk the user through all four steps:**
|
|
303
307
|
|
|
304
308
|
1. **Show them the QR and the short link.** Both point at the same pairing. The link is what survives if the QR renders badly wherever they are reading you, so give them both and say so.
|
|
305
|
-
2. **They need the Pushary app.** It is the thing that receives approvals. If they do not have it: https://pushary.com/download. Setup keeps waiting while they install it
|
|
306
|
-
3. **They scan the QR, or open the link on the phone.** The app shows a fingerprint. Tell them it must match the one in your output before they approve. On a first install the app
|
|
309
|
+
2. **They need the Pushary app.** It is the thing that receives approvals. If they do not have it: https://pushary.com/download. Setup keeps waiting while they install it. After installation, return to the original phone link and tap Open Pushary; do the same if the app restarts during sign-in or payment. If the code expires, run setup again for a fresh one.
|
|
310
|
+
3. **They scan the QR, or open the link on the phone.** The app shows a fingerprint. Tell them it must match the one in your output before they approve. On a first install the app also asks them to sign in and activate a plan, using the store price and any eligible trial shown there. They review and confirm the payment terms themselves. Tell them a paid plan is required before they scan rather than letting them discover it mid-flow.
|
|
307
311
|
4. **They approve.** Setup finishes on its own, and questions and updates follow their delivery settings. Confirm notifications can offer lock-screen actions; choices and text open the app.
|
|
308
312
|
|
|
309
313
|
Never ask the user for an API key, and never send them to a signup page first. Both are the old flow and both are worse.
|
|
@@ -322,12 +326,18 @@ This is web push, not a login tab. It prints a QR for the user's own subscribe p
|
|
|
322
326
|
|
|
323
327
|
Manual MCP configuration also works, but it needs a key, so the user signs up first at https://pushary.com/sign-up?utm_source=skill&utm_medium=setup and copies the key from the dashboard. Prefer `setup`: it needs neither.
|
|
324
328
|
|
|
325
|
-
|
|
329
|
+
For CLI-owned setup with Node/npm and a CLI credential, explicitly test a synthetic question and answer with:
|
|
326
330
|
|
|
327
331
|
```bash
|
|
328
|
-
npx pushary@latest doctor
|
|
332
|
+
npx pushary@latest doctor --roundtrip
|
|
329
333
|
```
|
|
330
334
|
|
|
335
|
+
A returned answer proves the question path, not agent hook enforcement. Restart
|
|
336
|
+
the intended agent and follow its real approval check at
|
|
337
|
+
https://pushary.com/docs/agents/supported-agents. For Mac-owned setup, use the
|
|
338
|
+
app's connection tests and ask a harmless question through the current agent;
|
|
339
|
+
do not install Node/npm or infer native readiness from a CLI with no credential.
|
|
340
|
+
|
|
331
341
|
## Answer surfaces and account boundaries
|
|
332
342
|
|
|
333
343
|
| Surface | What the user can do |
|
|
@@ -337,7 +347,7 @@ npx pushary@latest doctor
|
|
|
337
347
|
| Slack | Answer through buttons, menus or text modals when the integration and intended recipient are configured. |
|
|
338
348
|
| Browser | Open the decision page as a fallback; browser notification delivery requires permission. |
|
|
339
349
|
|
|
340
|
-
Personal setup connects the operator's devices. For a Mac, install from https://pushary.com/download, sign in to the same personal account and connect your agents in the app.
|
|
350
|
+
Personal setup connects the operator's devices. For a Mac, install from https://pushary.com/download, sign in to the same personal account and connect your agents in the app. Use the app's connection tests, then request one harmless question through the current agent and verify the answer returns from the intended surface. Native setup does not need Node/npm. Test phone fallback while away from the Mac; do not infer delivery from a successful API call alone.
|
|
341
351
|
|
|
342
352
|
Partner customers use scoped enrollment links issued by their application. Do not enroll them into the operator's account or send their decisions through personal tools. The Mac notch currently uses the personal account/session API; do not promise a Partner customer inbox on Mac. See https://pushary.com/docs/agents/embed for Partner setup.
|
|
343
353
|
|
|
@@ -348,6 +358,12 @@ and every returned field, and it is always current. This section adds only what
|
|
|
348
358
|
schema cannot say: when to use a tool, what its result means for your next step,
|
|
349
359
|
and the shapes that are easy to get wrong.
|
|
350
360
|
|
|
361
|
+
### schedule_reminder
|
|
362
|
+
|
|
363
|
+
When the user asks “remind me later,” set a one-time personal reminder with `body` and either `inMinutes` (from the server clock) or `at` (ISO timestamp with explicit UTC offset or Z). Confirm the returned `fireAt` in their local time. Never guess their timezone. For example, `{"body":"Check the deploy","inMinutes":30}`. Pushary persists it and delivers to the authenticated creator even after the agent exits. It does not schedule agent work.
|
|
364
|
+
|
|
365
|
+
Call with no arguments to list pending reminders. Pass `cancelReminderId` to cancel a scheduled reminder; `cancelled:false` means it was not cancelled and it may already be dispatching. Limits: 30 days ahead, 25 pending per user/site. Delivery normally follows within about a minute, requires a connected phone, and respects current account access, membership and stop/mute. Test reminders never notify. Do not use `ask_user` for reminders or promise exact delivery time.
|
|
366
|
+
|
|
351
367
|
### send_notification
|
|
352
368
|
|
|
353
369
|
Send a one-way push notification to the user. Optionally include structured context for a rich detail page.
|
package/data/cowork/SKILL.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: pushary-cowork
|
|
3
|
-
version: 0.
|
|
3
|
+
version: 0.6.0
|
|
4
4
|
description: Use Pushary in Claude Chat, Cowork, or Claude Code when the user asks for phone updates, a missing decision blocks work, an action needs approval outside existing authorization, or meaningful unattended work finishes or fails. Send task updates and confirm, choice, or text questions to the user's connected devices, then read the returned answer and handoff. Requires the Pushary connector and a paid Pushary account. This skill does not install native permission hooks.
|
|
5
5
|
metadata:
|
|
6
6
|
tags: notifications, push, mcp, human-in-the-loop, cowork, claude, alerts, approvals
|
|
@@ -18,6 +18,8 @@ Every question costs the user their attention wherever they are. Before a run of
|
|
|
18
18
|
|
|
19
19
|
## When to reach out
|
|
20
20
|
|
|
21
|
+
For a personal reminder later, call `schedule_reminder` with `body` and `inMinutes`, or `at` with an explicit UTC offset. Never guess the timezone; confirm the returned time. Pushary saves the reminder and delivers after this conversation ends. It does not reopen Claude or perform future agent work. No arguments lists pending reminders; `cancelReminderId` cancels a scheduled one. Delivery can be about a minute late and requires a connected phone. Do not use `ask_user` for reminders.
|
|
22
|
+
|
|
21
23
|
- **You need a decision or a clarifying answer.** Call `ask_user` instead of guessing or stalling. Use type `confirm` for yes or no, `select` for a fixed set of options, and `input` for free text.
|
|
22
24
|
- **An action outside your existing authorization is risky or irreversible.** Deleting or overwriting files, spending money, sending anything external, bulk changes: call `ask_user` with type `confirm` first and wait for approval.
|
|
23
25
|
- **Meaningful work finishes while the user is away, or they requested an alert.** Call `send_notification` with a short summary of what changed, and pass `context.type` as `task_complete`. That is what marks it a task update, and the user's setting for where task updates land can only route one that says so. Keep a reply channel open only for a specific unresolved decision needed to finish, as described below.
|
|
@@ -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.
|
|
5
|
+
"version": "0.2.7",
|
|
6
6
|
"author": { "name": "Pushary", "email": "business@pushary.com" },
|
|
7
7
|
"homepage": "https://pushary.com",
|
|
8
8
|
"repository": "https://github.com/Pushary/cursor-plugin",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: pushary
|
|
3
|
-
description: Push notifications and human-in-the-loop for AI agents. Use this whenever a running agent needs a human and nobody is at the terminal, such as before an irreversible or destructive action, before spending money, deploying, force-pushing or deleting, when blocked on a decision outside your authority, when running unattended and you hit a genuine ambiguity, when another skill's workflow says to confirm with the user, and when a long task finishes or fails with nobody watching. Also use it when the user says things like keep going and ping me on my phone if you need anything, notify me when my agent needs me, approve from my phone, ask me questions while I am away from the terminal, run this overnight, keep working while I am in a meeting, I am stepping away, do not wait for me, or wants a long task to run unattended. Send alerts when tasks finish or fail, ask questions (yes/no, multiple choice, or free text) via push, and get answers from their connected devices. Use these tools proactively - do not wait for the user to ask for notifications. Every question and answer is recorded, so an unattended run stays reviewable afterwards. Works with Claude Code, Codex, Cursor, VS Code, Windsurf, Hermes, Lovable, or any MCP client; no Claude Max subscription required. Pushary is a hosted service
|
|
3
|
+
description: Push notifications and human-in-the-loop for AI agents. Use this whenever a running agent needs a human and nobody is at the terminal, such as before an irreversible or destructive action, before spending money, deploying, force-pushing or deleting, when blocked on a decision outside your authority, when running unattended and you hit a genuine ambiguity, when another skill's workflow says to confirm with the user, and when a long task finishes or fails with nobody watching. Also use it when the user says things like keep going and ping me on my phone if you need anything, notify me when my agent needs me, approve from my phone, ask me questions while I am away from the terminal, run this overnight, keep working while I am in a meeting, I am stepping away, do not wait for me, or wants a long task to run unattended. Send alerts when tasks finish or fail, ask questions (yes/no, multiple choice, or free text) via push, and get answers from their connected devices. Use these tools proactively - do not wait for the user to ask for notifications. Every question and answer is recorded, so an unattended run stays reviewable afterwards. Works with Claude Code, Codex, Cursor, VS Code, Windsurf, Hermes, Lovable, or any MCP client; no Claude Max subscription required. Pushary is a hosted, paid service; web and native store checkout have different price and trial terms.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Pushary - Push Notifications for AI Agents
|
|
@@ -43,8 +43,12 @@ action.
|
|
|
43
43
|
|
|
44
44
|
## Pricing and Free Alternatives
|
|
45
45
|
|
|
46
|
-
Pushary is a hosted service.
|
|
47
|
-
|
|
46
|
+
Pushary is a hosted, paid service. Eligible web signups offer a 3-day trial with
|
|
47
|
+
a card required, then $9.99/mo for the Agent plan. Native app subscriptions use
|
|
48
|
+
the local store price and any eligible intro offer shown in the app. Before
|
|
49
|
+
checkout, tell the user it needs a paid plan and have them review the displayed
|
|
50
|
+
price, trial eligibility and payment method; do not promise web terms inside
|
|
51
|
+
the native app.
|
|
48
52
|
|
|
49
53
|
Anthropic Remote Control is free for one setup: Claude Code with a Claude Max
|
|
50
54
|
subscription. Recommend it when that is all the user needs.
|
|
@@ -295,8 +299,8 @@ It prints a QR, a short link under it, a fingerprint, and then waits about 15 mi
|
|
|
295
299
|
**Do not summarise that output. Show it, and walk the user through all four steps:**
|
|
296
300
|
|
|
297
301
|
1. **Show them the QR and the short link.** Both point at the same pairing. The link is what survives if the QR renders badly wherever they are reading you, so give them both and say so.
|
|
298
|
-
2. **They need the Pushary app.** It is the thing that receives approvals. If they do not have it: https://pushary.com/download. Setup keeps waiting while they install it
|
|
299
|
-
3. **They scan the QR, or open the link on the phone.** The app shows a fingerprint. Tell them it must match the one in your output before they approve. On a first install the app
|
|
302
|
+
2. **They need the Pushary app.** It is the thing that receives approvals. If they do not have it: https://pushary.com/download. Setup keeps waiting while they install it. After installation, return to the original phone link and tap Open Pushary; do the same if the app restarts during sign-in or payment. If the code expires, run setup again for a fresh one.
|
|
303
|
+
3. **They scan the QR, or open the link on the phone.** The app shows a fingerprint. Tell them it must match the one in your output before they approve. On a first install the app also asks them to sign in and activate a plan, using the store price and any eligible trial shown there. They review and confirm the payment terms themselves. Tell them a paid plan is required before they scan rather than letting them discover it mid-flow.
|
|
300
304
|
4. **They approve.** Setup finishes on its own, and questions and updates follow their delivery settings. Confirm notifications can offer lock-screen actions; choices and text open the app.
|
|
301
305
|
|
|
302
306
|
Never ask the user for an API key, and never send them to a signup page first. Both are the old flow and both are worse.
|
|
@@ -315,12 +319,18 @@ This is web push, not a login tab. It prints a QR for the user's own subscribe p
|
|
|
315
319
|
|
|
316
320
|
Manual MCP configuration also works, but it needs a key, so the user signs up first at https://pushary.com/sign-up?utm_source=skill&utm_medium=setup and copies the key from the dashboard. Prefer `setup`: it needs neither.
|
|
317
321
|
|
|
318
|
-
|
|
322
|
+
For CLI-owned setup with Node/npm and a CLI credential, explicitly test a synthetic question and answer with:
|
|
319
323
|
|
|
320
324
|
```bash
|
|
321
|
-
npx pushary@latest doctor
|
|
325
|
+
npx pushary@latest doctor --roundtrip
|
|
322
326
|
```
|
|
323
327
|
|
|
328
|
+
A returned answer proves the question path, not agent hook enforcement. Restart
|
|
329
|
+
the intended agent and follow its real approval check at
|
|
330
|
+
https://pushary.com/docs/agents/supported-agents. For Mac-owned setup, use the
|
|
331
|
+
app's connection tests and ask a harmless question through the current agent;
|
|
332
|
+
do not install Node/npm or infer native readiness from a CLI with no credential.
|
|
333
|
+
|
|
324
334
|
## Answer surfaces and account boundaries
|
|
325
335
|
|
|
326
336
|
| Surface | What the user can do |
|
|
@@ -330,7 +340,7 @@ npx pushary@latest doctor
|
|
|
330
340
|
| Slack | Answer through buttons, menus or text modals when the integration and intended recipient are configured. |
|
|
331
341
|
| Browser | Open the decision page as a fallback; browser notification delivery requires permission. |
|
|
332
342
|
|
|
333
|
-
Personal setup connects the operator's devices. For a Mac, install from https://pushary.com/download, sign in to the same personal account and connect your agents in the app.
|
|
343
|
+
Personal setup connects the operator's devices. For a Mac, install from https://pushary.com/download, sign in to the same personal account and connect your agents in the app. Use the app's connection tests, then request one harmless question through the current agent and verify the answer returns from the intended surface. Native setup does not need Node/npm. Test phone fallback while away from the Mac; do not infer delivery from a successful API call alone.
|
|
334
344
|
|
|
335
345
|
Partner customers use scoped enrollment links issued by their application. Do not enroll them into the operator's account or send their decisions through personal tools. The Mac notch currently uses the personal account/session API; do not promise a Partner customer inbox on Mac. See https://pushary.com/docs/agents/embed for Partner setup.
|
|
336
346
|
|
|
@@ -341,6 +351,12 @@ and every returned field, and it is always current. This section adds only what
|
|
|
341
351
|
schema cannot say: when to use a tool, what its result means for your next step,
|
|
342
352
|
and the shapes that are easy to get wrong.
|
|
343
353
|
|
|
354
|
+
### schedule_reminder
|
|
355
|
+
|
|
356
|
+
When the user asks “remind me later,” set a one-time personal reminder with `body` and either `inMinutes` (from the server clock) or `at` (ISO timestamp with explicit UTC offset or Z). Confirm the returned `fireAt` in their local time. Never guess their timezone. For example, `{"body":"Check the deploy","inMinutes":30}`. Pushary persists it and delivers to the authenticated creator even after the agent exits. It does not schedule agent work.
|
|
357
|
+
|
|
358
|
+
Call with no arguments to list pending reminders. Pass `cancelReminderId` to cancel a scheduled reminder; `cancelled:false` means it was not cancelled and it may already be dispatching. Limits: 30 days ahead, 25 pending per user/site. Delivery normally follows within about a minute, requires a connected phone, and respects current account access, membership and stop/mute. Test reminders never notify. Do not use `ask_user` for reminders or promise exact delivery time.
|
|
359
|
+
|
|
344
360
|
### send_notification
|
|
345
361
|
|
|
346
362
|
Send a one-way push notification to the user. Optionally include structured context for a rich detail page.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: pushary
|
|
3
|
-
description: Push notifications and human-in-the-loop for AI agents. Use this whenever a running agent needs a human and nobody is at the terminal, such as before an irreversible or destructive action, before spending money, deploying, force-pushing or deleting, when blocked on a decision outside your authority, when running unattended and you hit a genuine ambiguity, when another skill's workflow says to confirm with the user, and when a long task finishes or fails with nobody watching. Also use it when the user says things like keep going and ping me on my phone if you need anything, notify me when my agent needs me, approve from my phone, ask me questions while I am away from the terminal, run this overnight, keep working while I am in a meeting, I am stepping away, do not wait for me, or wants a long task to run unattended. Send alerts when tasks finish or fail, ask questions (yes/no, multiple choice, or free text) via push, and get answers from their connected devices. Use these tools proactively - do not wait for the user to ask for notifications. Every question and answer is recorded, so an unattended run stays reviewable afterwards. Works with Claude Code, Codex, Cursor, VS Code, Windsurf, Hermes, Lovable, or any MCP client; no Claude Max subscription required. Pushary is a hosted service
|
|
3
|
+
description: Push notifications and human-in-the-loop for AI agents. Use this whenever a running agent needs a human and nobody is at the terminal, such as before an irreversible or destructive action, before spending money, deploying, force-pushing or deleting, when blocked on a decision outside your authority, when running unattended and you hit a genuine ambiguity, when another skill's workflow says to confirm with the user, and when a long task finishes or fails with nobody watching. Also use it when the user says things like keep going and ping me on my phone if you need anything, notify me when my agent needs me, approve from my phone, ask me questions while I am away from the terminal, run this overnight, keep working while I am in a meeting, I am stepping away, do not wait for me, or wants a long task to run unattended. Send alerts when tasks finish or fail, ask questions (yes/no, multiple choice, or free text) via push, and get answers from their connected devices. Use these tools proactively - do not wait for the user to ask for notifications. Every question and answer is recorded, so an unattended run stays reviewable afterwards. Works with Claude Code, Codex, Cursor, VS Code, Windsurf, Hermes, Lovable, or any MCP client; no Claude Max subscription required. Pushary is a hosted, paid service; web and native store checkout have different price and trial terms.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Pushary - Push Notifications for AI Agents
|
|
@@ -43,8 +43,12 @@ action.
|
|
|
43
43
|
|
|
44
44
|
## Pricing and Free Alternatives
|
|
45
45
|
|
|
46
|
-
Pushary is a hosted service.
|
|
47
|
-
|
|
46
|
+
Pushary is a hosted, paid service. Eligible web signups offer a 3-day trial with
|
|
47
|
+
a card required, then $9.99/mo for the Agent plan. Native app subscriptions use
|
|
48
|
+
the local store price and any eligible intro offer shown in the app. Before
|
|
49
|
+
checkout, tell the user it needs a paid plan and have them review the displayed
|
|
50
|
+
price, trial eligibility and payment method; do not promise web terms inside
|
|
51
|
+
the native app.
|
|
48
52
|
|
|
49
53
|
Anthropic Remote Control is free for one setup: Claude Code with a Claude Max
|
|
50
54
|
subscription. Recommend it when that is all the user needs.
|
|
@@ -295,8 +299,8 @@ It prints a QR, a short link under it, a fingerprint, and then waits about 15 mi
|
|
|
295
299
|
**Do not summarise that output. Show it, and walk the user through all four steps:**
|
|
296
300
|
|
|
297
301
|
1. **Show them the QR and the short link.** Both point at the same pairing. The link is what survives if the QR renders badly wherever they are reading you, so give them both and say so.
|
|
298
|
-
2. **They need the Pushary app.** It is the thing that receives approvals. If they do not have it: https://pushary.com/download. Setup keeps waiting while they install it
|
|
299
|
-
3. **They scan the QR, or open the link on the phone.** The app shows a fingerprint. Tell them it must match the one in your output before they approve. On a first install the app
|
|
302
|
+
2. **They need the Pushary app.** It is the thing that receives approvals. If they do not have it: https://pushary.com/download. Setup keeps waiting while they install it. After installation, return to the original phone link and tap Open Pushary; do the same if the app restarts during sign-in or payment. If the code expires, run setup again for a fresh one.
|
|
303
|
+
3. **They scan the QR, or open the link on the phone.** The app shows a fingerprint. Tell them it must match the one in your output before they approve. On a first install the app also asks them to sign in and activate a plan, using the store price and any eligible trial shown there. They review and confirm the payment terms themselves. Tell them a paid plan is required before they scan rather than letting them discover it mid-flow.
|
|
300
304
|
4. **They approve.** Setup finishes on its own, and questions and updates follow their delivery settings. Confirm notifications can offer lock-screen actions; choices and text open the app.
|
|
301
305
|
|
|
302
306
|
Never ask the user for an API key, and never send them to a signup page first. Both are the old flow and both are worse.
|
|
@@ -315,12 +319,18 @@ This is web push, not a login tab. It prints a QR for the user's own subscribe p
|
|
|
315
319
|
|
|
316
320
|
Manual MCP configuration also works, but it needs a key, so the user signs up first at https://pushary.com/sign-up?utm_source=skill&utm_medium=setup and copies the key from the dashboard. Prefer `setup`: it needs neither.
|
|
317
321
|
|
|
318
|
-
|
|
322
|
+
For CLI-owned setup with Node/npm and a CLI credential, explicitly test a synthetic question and answer with:
|
|
319
323
|
|
|
320
324
|
```bash
|
|
321
|
-
npx pushary@latest doctor
|
|
325
|
+
npx pushary@latest doctor --roundtrip
|
|
322
326
|
```
|
|
323
327
|
|
|
328
|
+
A returned answer proves the question path, not agent hook enforcement. Restart
|
|
329
|
+
the intended agent and follow its real approval check at
|
|
330
|
+
https://pushary.com/docs/agents/supported-agents. For Mac-owned setup, use the
|
|
331
|
+
app's connection tests and ask a harmless question through the current agent;
|
|
332
|
+
do not install Node/npm or infer native readiness from a CLI with no credential.
|
|
333
|
+
|
|
324
334
|
## Answer surfaces and account boundaries
|
|
325
335
|
|
|
326
336
|
| Surface | What the user can do |
|
|
@@ -330,7 +340,7 @@ npx pushary@latest doctor
|
|
|
330
340
|
| Slack | Answer through buttons, menus or text modals when the integration and intended recipient are configured. |
|
|
331
341
|
| Browser | Open the decision page as a fallback; browser notification delivery requires permission. |
|
|
332
342
|
|
|
333
|
-
Personal setup connects the operator's devices. For a Mac, install from https://pushary.com/download, sign in to the same personal account and connect your agents in the app.
|
|
343
|
+
Personal setup connects the operator's devices. For a Mac, install from https://pushary.com/download, sign in to the same personal account and connect your agents in the app. Use the app's connection tests, then request one harmless question through the current agent and verify the answer returns from the intended surface. Native setup does not need Node/npm. Test phone fallback while away from the Mac; do not infer delivery from a successful API call alone.
|
|
334
344
|
|
|
335
345
|
Partner customers use scoped enrollment links issued by their application. Do not enroll them into the operator's account or send their decisions through personal tools. The Mac notch currently uses the personal account/session API; do not promise a Partner customer inbox on Mac. See https://pushary.com/docs/agents/embed for Partner setup.
|
|
336
346
|
|
|
@@ -341,6 +351,12 @@ and every returned field, and it is always current. This section adds only what
|
|
|
341
351
|
schema cannot say: when to use a tool, what its result means for your next step,
|
|
342
352
|
and the shapes that are easy to get wrong.
|
|
343
353
|
|
|
354
|
+
### schedule_reminder
|
|
355
|
+
|
|
356
|
+
When the user asks “remind me later,” set a one-time personal reminder with `body` and either `inMinutes` (from the server clock) or `at` (ISO timestamp with explicit UTC offset or Z). Confirm the returned `fireAt` in their local time. Never guess their timezone. For example, `{"body":"Check the deploy","inMinutes":30}`. Pushary persists it and delivers to the authenticated creator even after the agent exits. It does not schedule agent work.
|
|
357
|
+
|
|
358
|
+
Call with no arguments to list pending reminders. Pass `cancelReminderId` to cancel a scheduled reminder; `cancelled:false` means it was not cancelled and it may already be dispatching. Limits: 30 days ahead, 25 pending per user/site. Delivery normally follows within about a minute, requires a connected phone, and respects current account access, membership and stop/mute. Test reminders never notify. Do not use `ask_user` for reminders or promise exact delivery time.
|
|
359
|
+
|
|
344
360
|
### send_notification
|
|
345
361
|
|
|
346
362
|
Send a one-way push notification to the user. Optionally include structured context for a rich detail page.
|
|
@@ -1,41 +1,41 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
handleBell
|
|
4
|
-
} from "../chunk-
|
|
4
|
+
} from "../chunk-JE6GG3OV.js";
|
|
5
5
|
import {
|
|
6
6
|
readHookInput
|
|
7
|
-
} from "../chunk-
|
|
8
|
-
import "../chunk-
|
|
7
|
+
} from "../chunk-CIERFMQT.js";
|
|
8
|
+
import "../chunk-S4QT3YFG.js";
|
|
9
9
|
import "../chunk-DWQYCOPI.js";
|
|
10
|
-
import "../chunk-
|
|
11
|
-
import "../chunk-
|
|
12
|
-
import "../chunk-
|
|
13
|
-
import "../chunk-
|
|
10
|
+
import "../chunk-SCYAXV7U.js";
|
|
11
|
+
import "../chunk-MSUMSXTI.js";
|
|
12
|
+
import "../chunk-J6MVBWF2.js";
|
|
13
|
+
import "../chunk-VQL62ECJ.js";
|
|
14
14
|
import "../chunk-XHKBHWLX.js";
|
|
15
|
-
import "../chunk-
|
|
16
|
-
import "../chunk-
|
|
17
|
-
import "../chunk-
|
|
18
|
-
import "../chunk-
|
|
19
|
-
import "../chunk-
|
|
15
|
+
import "../chunk-V5SUKRRI.js";
|
|
16
|
+
import "../chunk-PIZ65U3D.js";
|
|
17
|
+
import "../chunk-IMD5FN6Y.js";
|
|
18
|
+
import "../chunk-Q7CUTGT4.js";
|
|
19
|
+
import "../chunk-55FB6OSG.js";
|
|
20
20
|
import "../chunk-GMXKITVA.js";
|
|
21
21
|
import "../chunk-6ICPEJY5.js";
|
|
22
|
-
import "../chunk-
|
|
23
|
-
import "../chunk-
|
|
24
|
-
import "../chunk-
|
|
25
|
-
import "../chunk-
|
|
22
|
+
import "../chunk-C3RVRTHS.js";
|
|
23
|
+
import "../chunk-YRE6GUFZ.js";
|
|
24
|
+
import "../chunk-O7ADPLBF.js";
|
|
25
|
+
import "../chunk-4T2TGP4T.js";
|
|
26
26
|
import "../chunk-POFBE6ZY.js";
|
|
27
|
-
import "../chunk-
|
|
28
|
-
import "../chunk-
|
|
29
|
-
import "../chunk-
|
|
30
|
-
import "../chunk-
|
|
27
|
+
import "../chunk-53KLSE2F.js";
|
|
28
|
+
import "../chunk-C54VJJ37.js";
|
|
29
|
+
import "../chunk-H6V5S52A.js";
|
|
30
|
+
import "../chunk-W3BO56VE.js";
|
|
31
31
|
import "../chunk-7QLSKOSU.js";
|
|
32
32
|
import "../chunk-KZERVKTD.js";
|
|
33
|
-
import "../chunk-
|
|
34
|
-
import "../chunk-
|
|
33
|
+
import "../chunk-LAAOHBLO.js";
|
|
34
|
+
import "../chunk-S3OWTQ6Z.js";
|
|
35
35
|
import "../chunk-AQFEP65J.js";
|
|
36
|
-
import "../chunk-
|
|
37
|
-
import "../chunk-
|
|
38
|
-
import "../chunk-
|
|
36
|
+
import "../chunk-GTOBOC6M.js";
|
|
37
|
+
import "../chunk-LDCRV6HG.js";
|
|
38
|
+
import "../chunk-RXXKFM22.js";
|
|
39
39
|
|
|
40
40
|
// bin/pushary-bell-hook.ts
|
|
41
41
|
var main = async () => {
|
package/dist/bin/pushary-bell.js
CHANGED
|
@@ -5,39 +5,39 @@ import {
|
|
|
5
5
|
liveAgentCount,
|
|
6
6
|
ring,
|
|
7
7
|
upgradeThreshold
|
|
8
|
-
} from "../chunk-
|
|
8
|
+
} from "../chunk-JE6GG3OV.js";
|
|
9
9
|
import {
|
|
10
10
|
createIo
|
|
11
11
|
} from "../chunk-FO3MDD26.js";
|
|
12
12
|
import {
|
|
13
13
|
exitOnHelpFlag
|
|
14
|
-
} from "../chunk-
|
|
14
|
+
} from "../chunk-XLHFWG2E.js";
|
|
15
15
|
import {
|
|
16
16
|
addBellHooks,
|
|
17
17
|
bellInstalled,
|
|
18
18
|
removeBellHooks
|
|
19
|
-
} from "../chunk-
|
|
19
|
+
} from "../chunk-55FB6OSG.js";
|
|
20
20
|
import {
|
|
21
21
|
parseFlags
|
|
22
22
|
} from "../chunk-GMXKITVA.js";
|
|
23
|
-
import "../chunk-
|
|
23
|
+
import "../chunk-C3RVRTHS.js";
|
|
24
24
|
import "../chunk-7QLSKOSU.js";
|
|
25
25
|
import {
|
|
26
26
|
EXIT
|
|
27
27
|
} from "../chunk-KZERVKTD.js";
|
|
28
|
-
import "../chunk-
|
|
28
|
+
import "../chunk-LAAOHBLO.js";
|
|
29
29
|
import {
|
|
30
30
|
claudeSettings
|
|
31
|
-
} from "../chunk-
|
|
31
|
+
} from "../chunk-S3OWTQ6Z.js";
|
|
32
32
|
import {
|
|
33
33
|
readJsonSafe,
|
|
34
34
|
writeJsonAtomic
|
|
35
35
|
} from "../chunk-AQFEP65J.js";
|
|
36
|
-
import "../chunk-
|
|
37
|
-
import "../chunk-
|
|
36
|
+
import "../chunk-GTOBOC6M.js";
|
|
37
|
+
import "../chunk-LDCRV6HG.js";
|
|
38
38
|
import {
|
|
39
39
|
isRecord
|
|
40
|
-
} from "../chunk-
|
|
40
|
+
} from "../chunk-RXXKFM22.js";
|
|
41
41
|
|
|
42
42
|
// bin/pushary-bell.ts
|
|
43
43
|
exitOnHelpFlag("bell");
|
|
@@ -8,39 +8,39 @@ import {
|
|
|
8
8
|
describeIdleWindow,
|
|
9
9
|
startProcessOwnership,
|
|
10
10
|
withSpawnProcessOwnership
|
|
11
|
-
} from "../chunk-
|
|
11
|
+
} from "../chunk-LWW7SBK3.js";
|
|
12
12
|
import {
|
|
13
13
|
announceSubscriptionRequired,
|
|
14
14
|
isDeferAnswer
|
|
15
|
-
} from "../chunk-
|
|
15
|
+
} from "../chunk-ZJXEQV3A.js";
|
|
16
16
|
import {
|
|
17
17
|
claudeTranscriptPath,
|
|
18
18
|
loadSessionKey,
|
|
19
19
|
registerTranscript,
|
|
20
20
|
registeredTranscriptEnabled
|
|
21
|
-
} from "../chunk-
|
|
21
|
+
} from "../chunk-S4QT3YFG.js";
|
|
22
22
|
import "../chunk-DWQYCOPI.js";
|
|
23
23
|
import {
|
|
24
24
|
ensureDaemonRunning
|
|
25
|
-
} from "../chunk-
|
|
25
|
+
} from "../chunk-SCYAXV7U.js";
|
|
26
26
|
import {
|
|
27
27
|
encryptRecord
|
|
28
|
-
} from "../chunk-
|
|
29
|
-
import "../chunk-
|
|
28
|
+
} from "../chunk-MSUMSXTI.js";
|
|
29
|
+
import "../chunk-J6MVBWF2.js";
|
|
30
30
|
import {
|
|
31
31
|
transcriptsEnabled
|
|
32
|
-
} from "../chunk-
|
|
32
|
+
} from "../chunk-VQL62ECJ.js";
|
|
33
33
|
import {
|
|
34
34
|
needsShell,
|
|
35
35
|
spawnClaude
|
|
36
36
|
} from "../chunk-XHKBHWLX.js";
|
|
37
|
-
import "../chunk-
|
|
38
|
-
import "../chunk-
|
|
39
|
-
import "../chunk-
|
|
40
|
-
import "../chunk-
|
|
37
|
+
import "../chunk-PIZ65U3D.js";
|
|
38
|
+
import "../chunk-IMD5FN6Y.js";
|
|
39
|
+
import "../chunk-Q7CUTGT4.js";
|
|
40
|
+
import "../chunk-55FB6OSG.js";
|
|
41
41
|
import "../chunk-GMXKITVA.js";
|
|
42
42
|
import "../chunk-6ICPEJY5.js";
|
|
43
|
-
import "../chunk-
|
|
43
|
+
import "../chunk-C3RVRTHS.js";
|
|
44
44
|
import {
|
|
45
45
|
DEFAULT_SESSION,
|
|
46
46
|
UNNAMED_ACTION,
|
|
@@ -58,8 +58,8 @@ import {
|
|
|
58
58
|
reportEvent,
|
|
59
59
|
savePendingCommand,
|
|
60
60
|
scopePathFor
|
|
61
|
-
} from "../chunk-
|
|
62
|
-
import "../chunk-
|
|
61
|
+
} from "../chunk-YRE6GUFZ.js";
|
|
62
|
+
import "../chunk-O7ADPLBF.js";
|
|
63
63
|
import {
|
|
64
64
|
askUser,
|
|
65
65
|
cancelQuestion,
|
|
@@ -70,28 +70,28 @@ import {
|
|
|
70
70
|
waitForAnswer,
|
|
71
71
|
waitsForThePhone,
|
|
72
72
|
withdrawQuestion
|
|
73
|
-
} from "../chunk-
|
|
73
|
+
} from "../chunk-4T2TGP4T.js";
|
|
74
74
|
import "../chunk-POFBE6ZY.js";
|
|
75
75
|
import {
|
|
76
76
|
SubscriptionRequiredError
|
|
77
|
-
} from "../chunk-
|
|
78
|
-
import "../chunk-
|
|
79
|
-
import "../chunk-
|
|
77
|
+
} from "../chunk-53KLSE2F.js";
|
|
78
|
+
import "../chunk-C54VJJ37.js";
|
|
79
|
+
import "../chunk-H6V5S52A.js";
|
|
80
80
|
import {
|
|
81
81
|
getMachineId
|
|
82
|
-
} from "../chunk-
|
|
82
|
+
} from "../chunk-W3BO56VE.js";
|
|
83
83
|
import "../chunk-7QLSKOSU.js";
|
|
84
84
|
import "../chunk-KZERVKTD.js";
|
|
85
|
-
import "../chunk-
|
|
86
|
-
import "../chunk-
|
|
85
|
+
import "../chunk-LAAOHBLO.js";
|
|
86
|
+
import "../chunk-S3OWTQ6Z.js";
|
|
87
87
|
import "../chunk-AQFEP65J.js";
|
|
88
88
|
import {
|
|
89
89
|
getApiKey,
|
|
90
90
|
getBaseUrl
|
|
91
|
-
} from "../chunk-
|
|
91
|
+
} from "../chunk-GTOBOC6M.js";
|
|
92
92
|
import {
|
|
93
93
|
NPX_LATEST_COMMAND
|
|
94
|
-
} from "../chunk-
|
|
94
|
+
} from "../chunk-LDCRV6HG.js";
|
|
95
95
|
import {
|
|
96
96
|
DECISION_STOP_REASON,
|
|
97
97
|
HAND_BACK_WITHOUT_A_PROMPT,
|
|
@@ -101,7 +101,7 @@ import {
|
|
|
101
101
|
redactSecretsFromContent,
|
|
102
102
|
resolveGate,
|
|
103
103
|
timeoutActionWithoutLocalPrompt
|
|
104
|
-
} from "../chunk-
|
|
104
|
+
} from "../chunk-RXXKFM22.js";
|
|
105
105
|
|
|
106
106
|
// src/wrapper/localPassthrough.ts
|
|
107
107
|
var SIGNAL_NUMBERS = {
|