pushary 1.9.107 → 1.9.108
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 +4 -0
- package/data/cursor-plugin/README.md +9 -0
- package/dist/bin/pushary-login.js +1 -1
- package/dist/bin/pushary-setup.js +5 -1
- package/dist/bin/pushary-transcripts.js +1 -1
- package/dist/bin/pushary-upgrade.js +1 -1
- package/dist/{chunk-4OUPD4KA.js → chunk-7X55ZQS3.js} +5 -0
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 1.9.108
|
|
4
|
+
|
|
5
|
+
- After a successful `pushary setup` on the Agent or Agent Pro plan, setup prints one more line after the "Useful" list: "On a team? Send risky steps to a lead and see who approved: pushary.com/teams". It is not shown on Team, Partner, Enterprise or e-commerce plans, when setup could not check the plan, or when setup did not succeed. Nothing else in the CLI or the hooks changed.
|
|
6
|
+
|
|
3
7
|
## 1.9.107
|
|
4
8
|
|
|
5
9
|
- On Windows, the hook now reads Claude Code's managed settings from `C:\Program Files\ClaudeCode\managed-settings.json`, where Claude Code reads them. It read `C:\ProgramData\ClaudeCode\managed-settings.json`, which Claude Code no longer reads, so an organization's managed allow, ask and deny rules were missing when Pushary checked whether Claude Code's own rules already cover a tool call, and from the hook wiring report. macOS and Linux are unchanged. Nothing else in the CLI or the hooks changed.
|
|
@@ -83,6 +83,15 @@ The hooks register the supported execution boundaries; your dashboard policy dec
|
|
|
83
83
|
|
|
84
84
|
Timeout approvals apply only after the configured wait actually elapsed. Short editor hook budgets can end a wait earlier; cancellation is attempted before handoff. An uncertain cancellation denies the action. Local plugin installation does not install hooks into remote or cloud agent environments.
|
|
85
85
|
|
|
86
|
+
## For teams
|
|
87
|
+
|
|
88
|
+
On [Pushary for Teams](https://pushary.com/teams?utm_source=github&utm_medium=oss-adapter&utm_campaign=cursor-plugin&utm_content=readme-teams), each person installs the plugin and connects their own Cursor. Their agent's questions go to them. An owner or admin can send a chosen step to someone else with a routing rule in **Policies**, under **Approval routing**, such as `Bash(git push:*)` in the `infra` repository, routed to the Admins role. Cursor's shell commands match `Bash(...)` rules, so the same rule also covers teammates on Claude Code, Codex or Gemini CLI. Whoever answers in the phone app, Mac app or dashboard is recorded by name.
|
|
89
|
+
|
|
90
|
+
- Cursor gives a hook about 60 seconds, so a lead has to answer within that. If nobody does, the step goes back to Cursor, and a yes given there isn't recorded.
|
|
91
|
+
- The phone can only deny risky steps such as a force push or `rm -r`. Approve those in the dashboard.
|
|
92
|
+
|
|
93
|
+
Team is $59 a month for 5 people, plus $12 for each extra person.
|
|
94
|
+
|
|
86
95
|
## Commands
|
|
87
96
|
|
|
88
97
|
- `/pushary-test` sends a test push so you can confirm delivery.
|
|
@@ -34,8 +34,9 @@ import {
|
|
|
34
34
|
describeClosing,
|
|
35
35
|
phoneStartServiceState,
|
|
36
36
|
renderCommandSurface,
|
|
37
|
+
teamOfferLines,
|
|
37
38
|
unverifiedKeyClosingReason
|
|
38
|
-
} from "../chunk-
|
|
39
|
+
} from "../chunk-7X55ZQS3.js";
|
|
39
40
|
import {
|
|
40
41
|
coworkOutput,
|
|
41
42
|
coworkSelection
|
|
@@ -2865,6 +2866,9 @@ var main = async () => {
|
|
|
2865
2866
|
console.log();
|
|
2866
2867
|
console.log(` ${dim("Useful:")}`);
|
|
2867
2868
|
for (const line of renderCommandSurface(keyScope)) console.log(` ${dim(line)}`);
|
|
2869
|
+
const teamOffer = teamOfferLines(closing.ok, keyCheck?.kind === "ok" ? keyCheck.identity.plan : null);
|
|
2870
|
+
if (teamOffer.length > 0) console.log();
|
|
2871
|
+
for (const line of teamOffer) console.log(` ${line}`);
|
|
2868
2872
|
console.log();
|
|
2869
2873
|
const exitCode = closing.exitCode;
|
|
2870
2874
|
await reportSetupOutcome({
|
|
@@ -26,6 +26,10 @@ var sendAnotherTestLines = (appPlatforms) => {
|
|
|
26
26
|
var TRANSCRIPT_SYNC_NOTICE = `Transcripts sync redacted and encrypted. Your phone can decrypt them; authorized Pushary compliance admins can recover them for documented legal obligations. Turn off: ${NPX_LATEST_COMMAND} transcripts off`;
|
|
27
27
|
var PAIR_PHONE_APP_HINT = `${NPX_LATEST_COMMAND} setup --connect app pair the Pushary app on your phone`;
|
|
28
28
|
var RESTART_AGENTS_LINE = "Restart any open agent sessions so they pick up Pushary.";
|
|
29
|
+
var TEAM_OFFER_LINE = "On a team? Send risky steps to a lead and see who approved: pushary.com/teams";
|
|
30
|
+
var PLANS_THAT_CAN_MOVE_UP_TO_TEAM = ["agent", "agent_pro"];
|
|
31
|
+
var canMoveUpToTeam = (plan) => PLANS_THAT_CAN_MOVE_UP_TO_TEAM.some((candidate) => candidate === plan);
|
|
32
|
+
var teamOfferLines = (setupSucceeded, plan) => setupSucceeded && canMoveUpToTeam(plan) ? [TEAM_OFFER_LINE] : [];
|
|
29
33
|
var ANSWERING_DEVICES = {
|
|
30
34
|
mobile_app: "Your phone",
|
|
31
35
|
mobile_background: "Your phone",
|
|
@@ -267,6 +271,7 @@ var unverifiedKeyClosingReason = (facts) => {
|
|
|
267
271
|
|
|
268
272
|
export {
|
|
269
273
|
TRANSCRIPT_SYNC_NOTICE,
|
|
274
|
+
teamOfferLines,
|
|
270
275
|
renderCommandSurface,
|
|
271
276
|
phoneStartFellShortLine,
|
|
272
277
|
phoneStartServiceState,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pushary",
|
|
3
|
-
"version": "1.9.
|
|
3
|
+
"version": "1.9.108",
|
|
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",
|